From c5c94a9956a6505fcf38c0539fff3eda0b712a19 Mon Sep 17 00:00:00 2001 From: Lucas Rayan Date: Sun, 18 Oct 2026 15:34:01 -0300 Subject: [PATCH] =?UTF-8?q?feat:=20pr=C3=A9-visualiza=C3=A7=C3=A3o=20compl?= =?UTF-8?q?eta,=20tema,=20nova=20identidade=20e=20corre=C3=A7=C3=B5es=20(0?= =?UTF-8?q?.2.0)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - Preview de imagem, vídeo/MP4, áudio, PDF (pdf.js), texto, Office/ODF, ZIP e hex, lido sob demanda com Range; tela cheia com navegação por teclado. - Seletor de tema Auto/Claro/Escuro persistido (vale também como administrador). - Identidade verde-azulada com logo de pixels que formam um lobo. - Corrige reinício como administrador no AppImage (usa $APPIMAGE) e mostra o motivo. - Corrige barra inferior piscando (render idempotente, barra criada uma vez). - Corrige FAT32 em mídias pequenas não reconhecido. Co-Authored-By: Claude Sonnet 5.5 --- CHANGELOG.md | 13 ++ Cargo.lock | 4 +- Cargo.toml | 2 +- README.md | 6 +- apps/gui/src-tauri/Cargo.toml | 5 +- apps/gui/src-tauri/icons/128x128.png | Bin 4896 -> 14047 bytes apps/gui/src-tauri/icons/128x128@2x.png | Bin 9724 -> 29770 bytes apps/gui/src-tauri/icons/32x32.png | Bin 1276 -> 1987 bytes apps/gui/src-tauri/icons/icon.ico | Bin 109244 -> 129383 bytes apps/gui/src-tauri/icons/icon.png | Bin 69518 -> 426279 bytes apps/gui/src-tauri/icons/source.png | Bin 69518 -> 426279 bytes apps/gui/src-tauri/src/main.rs | 146 ++++++++++-- apps/gui/src-tauri/tauri.conf.json | 18 +- apps/gui/ui/app.css | 93 +++++++- apps/gui/ui/app.js | 234 ++++++++++++++----- apps/gui/ui/guara-logo.svg | 1 + apps/gui/ui/guara.svg | 18 +- apps/gui/ui/index.html | 3 +- apps/gui/ui/preview.js | 297 ++++++++++++++++++++++++ apps/gui/ui/vendor/PDFJS-LICENSE | 177 ++++++++++++++ apps/gui/ui/vendor/README.md | 3 + apps/gui/ui/vendor/pdf.min.mjs | 21 ++ apps/gui/ui/vendor/pdf.worker.min.mjs | 21 ++ crates/guara-cli/src/serve.rs | 197 +++++++++++----- crates/guara-core/src/lib.rs | 1 + crates/guara-core/src/partition.rs | 17 +- crates/guara-core/src/recover.rs | 39 ++++ crates/guara-core/src/service.rs | 225 +++++++++++++++--- crates/guara-core/src/settings.rs | 118 ++++++++++ crates/guara-core/tests/disk.rs | 71 ++++++ crates/guara-core/tests/recovery.rs | 55 +++++ scripts/make-logo.py | 108 +++++++++ 32 files changed, 1666 insertions(+), 227 deletions(-) create mode 100644 apps/gui/ui/guara-logo.svg create mode 100644 apps/gui/ui/preview.js create mode 100644 apps/gui/ui/vendor/PDFJS-LICENSE create mode 100644 apps/gui/ui/vendor/README.md create mode 100644 apps/gui/ui/vendor/pdf.min.mjs create mode 100644 apps/gui/ui/vendor/pdf.worker.min.mjs create mode 100644 crates/guara-core/src/settings.rs create mode 100644 scripts/make-logo.py diff --git a/CHANGELOG.md b/CHANGELOG.md index 23e4fc8..3df5f4e 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -2,6 +2,19 @@ Formato baseado em [Keep a Changelog](https://keepachangelog.com/pt-BR/1.1.0/); versões seguem SemVer. +## [0.2.0] - 2026-10-18 + +### Adicionado +- **Pré-visualização completa:** imagem (zoom), vídeo (MP4 e outros), áudio, PDF (pdf.js incluso, funciona offline), texto, Word/Excel/PowerPoint/OpenDocument, conteúdo de ZIP e hexadecimal; tela cheia com navegação por teclado (↑ ↓ ← → Espaço Esc). O conteúdo é lido sob demanda com suporte a Range, sem gravar em disco. +- Seletor de tema **Auto / Claro / Escuro**; a escolha é salva e vale também no app reiniciado como administrador. +- Nova identidade visual em verde-azulado, com logo de pixels que se juntam até formar um lobo-guará. + +### Corrigido +- Reiniciar como administrador no Linux: no AppImage o executável fica num ponto de montagem inacessível ao root; agora usa o próprio `.AppImage`, mostra o motivo se falhar e fecha o app antigo só quando o novo abre. +- Barra de ações inferior piscava a cada atualização; agora é criada uma vez e só atualiza o texto. O painel de progresso também deixou de ser recriado a cada ciclo. +- FAT32 em mídias pequenas (menos de 65 525 clusters) não era reconhecido. +- O tema não acompanhava a escolha ao abrir como root (o WebView do root usava outro tema do sistema). + ## [0.1.0] - 2026-10-18 ### Adicionado diff --git a/Cargo.lock b/Cargo.lock index 47262bf..d110d5a 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -248,7 +248,7 @@ dependencies = [ [[package]] name = "guara-cli" -version = "0.1.0" +version = "0.2.0" dependencies = [ "clap", "ctrlc", @@ -260,7 +260,7 @@ dependencies = [ [[package]] name = "guara-core" -version = "0.1.0" +version = "0.2.0" dependencies = [ "libc", "serde", diff --git a/Cargo.toml b/Cargo.toml index 5ebb7ce..4cc871c 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -3,7 +3,7 @@ resolver = "2" members = ["crates/guara-core", "crates/guara-cli"] [workspace.package] -version = "0.1.0" +version = "0.2.0" edition = "2021" license = "MIT OR Apache-2.0" repository = "https://github.com/lucasrguerra/guara" diff --git a/README.md b/README.md index c7074cb..cdb8857 100644 --- a/README.md +++ b/README.md @@ -1,4 +1,4 @@ -

Guará

+

Guará

Guará

Recuperação de arquivos livre e gratuita para HD, SSD e pendrive.
Terminal e interface gráfica · Windows, Linux e macOS · somente leitura na origem.

@@ -55,7 +55,9 @@ guara ui # interface no navegador (127.0.0.1 + t ## Interface gráfica -App desktop (Tauri) com barra lateral de dispositivos, mapa do disco, resultados ao vivo, filtros por tipo, busca, pré-visualização de imagens, confiança por arquivo, pausar/continuar e salvar sessão. Tema claro/escuro automático e layout responsivo. O mesmo front-end roda em `guara ui`. +App desktop (Tauri) com barra lateral de dispositivos, mapa do disco, resultados ao vivo, filtros por tipo, busca, confiança por arquivo, pausar/continuar e salvar sessão. Tema **Auto / Claro / Escuro** à sua escolha (lembrado também ao reiniciar como administrador) e layout responsivo. O mesmo front-end roda em `guara ui`. + +**Pré-visualização antes de recuperar** (lida direto do disco, sem gravar nada): imagens (com zoom), **vídeo (MP4/MOV/WebM)** e áudio com player, **PDF** (página a página), texto, documentos Word/Excel/PowerPoint/OpenDocument (texto extraído), conteúdo de ZIP e visão hexadecimal para o resto. Use ↑/↓ para percorrer a lista, Espaço/Enter ou duplo clique para abrir em tela cheia. Quando um arquivo não abre, o aviso ajuda a julgar se ele está danificado. A reprodução de vídeo depende dos codecs do seu sistema (no Linux, instale os plugins `gstreamer1.0-libav` e `gstreamer1.0-plugins-good`). ## Limites conhecidos (v0.1) diff --git a/apps/gui/src-tauri/Cargo.toml b/apps/gui/src-tauri/Cargo.toml index b59a2f1..ee04140 100644 --- a/apps/gui/src-tauri/Cargo.toml +++ b/apps/gui/src-tauri/Cargo.toml @@ -3,7 +3,7 @@ [package] name = "guara-gui" description = "Guará: interface gráfica de recuperação de arquivos" -version = "0.1.0" +version = "0.2.0" edition = "2021" license = "MIT OR Apache-2.0" repository = "https://github.com/lucasrguerra/guara" @@ -20,6 +20,9 @@ tauri-plugin-dialog = "2" serde_json = "1" guara-core = { path = "../../../crates/guara-core" } +[target.'cfg(unix)'.dependencies] +libc = "0.2" + [profile.release] lto = "thin" codegen-units = 1 diff --git a/apps/gui/src-tauri/icons/128x128.png b/apps/gui/src-tauri/icons/128x128.png index b5f30378712dbd3cd1a4322bf9581dd5ef6006c8..98e2dc65b7422ae3d927d29f064d2f1437454d99 100644 GIT binary patch literal 14047 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 diff --git a/apps/gui/src-tauri/icons/128x128@2x.png b/apps/gui/src-tauri/icons/128x128@2x.png index 21850a26e3d3631fcf20211606123fecc029f232..d1768e8289983bfbd7c6c35668166b66ac52aead 100644 GIT binary patch literal 29770 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%0A2K_Otz8H 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 literal 9724 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 diff --git a/apps/gui/src-tauri/icons/32x32.png b/apps/gui/src-tauri/icons/32x32.png index 0b3fe10dabb9693df9cb57ce2fa8725fe014f4b7..aae93ae638dcc4ec1badd0be56a8a955610a129c 100644 GIT binary patch delta 1942 zcmV;H2Wj~H3BwPN83+ad0047(di0SYE`I<9VoOIv0RI600RN!9r;`8x00(qQO+^Rl z3K9|?2c9g*lK=n*IY~r8R9M5Um&OVju6gr?)D}+RYS}A>yK9WXm8>co-sZv3SeA##pjXA#d~I*H^kst?@u@jf_vu2BJN z=bA9RgX!1G!g-fO@<QrJ(VtP)&KJ4h&BRHkb^rXjhv;<-Y_`XJiR+1nSv2)a%ryfO&)qm?)uw8Rr z_YouY`qpN42k-qp>JjzC`5h5sqLUTmMF4}kkJ!j^no-1KQ&Sus8SdLm+ky^e)jicS z_5uf~?qlbeXf|#YjfogXRupu)IbP82biqWslQCMWaeDuLEZ7!!F!nc_eE)&_iJjZF zbL|dZ1@DVIu&~@l!SLEjLw^WXrlHwnYOqD>J($?ca{hJgI-~VE4^B*!sW4$C4h#(N zgX71DoJVGR?|hr6y-b)H5spS2BW*<<;}}d67FOG2c>oCy%-&pPy_<1*|33US=cuAT z_Kws?cL6Vh^V>zY(aDJ9Z~`v~Md0e&2}u-j^56kRYIRmOJGeU(GT+;Mo);jo)ZQS=aw1Ao2m++m)9kV(0l{eS-_L*BEQmnQ9FZMSs3@N%c499L_m@^6&|q z;LX`NUcUGNE9)Ehs+#r!h#F5k@hlR~MCzkb$tLPiTv_qfs0WjjgF}P7_R&?2j*ao< z1N*?0px!xR=Xqyto10V~5p=O;k4;|;>`+ug{=yW-E;a$9|8cna9I>9}| zL)7EAtc((kIOf>IIIUVrJInazm02tp%`_>ipbP=va5y9=%m}D@4jxzH2nK2?tu!rN z;DBbDvYK!9yVmuk6^bHYK@21@hen3^e0i0_<0CZV7+DaMJi18U2Lvx`d%rU~7wV4~5)8<<2C zd16=6AF-tYkE0@$w`b>=UumPxlVg(;tgm;tzO+gx0+X#4uA(#c9`8Jc`hQfoUL=C&UwwnWzIBNRM<@(gnPykn z(92Y|R0#`#JTH)m_02BBjXHz1l-Y$ZxHPvwC(oH*T4SO$z=`Qe8fii|1cD4{i+YvC zfLGu9i1$C8$ASojRjlqP#q>MbNV7pLick<1jBYpQvl~muN+C`S5Ao@ZB`$xyNImk@ z;(rLMki9FZ2O-K1``UX~xO{!FbjYrA0mMihOm%0_>11UlReFA`)g%;w_GXtnE5MA0 z?ww*`WsPe$SHQ%5k56btZ>e+`n&(H?Dlb>3^ANQtzonF>&Pk4v4+yo!L1)TU_p2eCN3V zFkOi;okRKxCMOfcw(&eK3NUeFd5xklF3!%8I8Qx}=yr3?zjcY!M|f5C>wyT?);o6q zS7{^Zr5Mu-NM|vf-gSDdtmsSxiQL4xm36#b^^GlnTi?B1aJQY9E&_k@%EQN)et#n| zzt;@s`hk^~t14t~a`J$$CMj37 zG{Mdz5p`dGh1xg116gqy@BW6ghG`tr5K_G7Sy5ZGYnMUeHo z%+}Oax@>yfno~wgOV#2QD@B|MrQ(v1Hi882Ui&BZob%j1&*hiTbDrzuh!9gFJ0k#q zX;>&R3ig;?HAKLc_-paY-6SqFDja|u7XUZ~0BB)|BM0Cz7Jx-600ET%*rZgoMg{_) z??*m;mIOEak78|YjY6T2NTiL8O-M*cOiWBSV$z2 zo}Qiq2M)BgwMnH?J3BiB0wEL%AqWx(1jfe3hK7da<>exgC@(KhtJSjEY<+!w27|G_ zzFtyNLZMJ}I-NqH*n>oV;_Qsa;|TN}_V&*9_VR*UqgLO&dv{Bx ztEs6mFfdRmS4Ic>x>`kR>JOSV^{c0?lHTqQYISXG?c0AQqj5))P7}`gc}$KBH#Ik- z(P$Ehq*z|g`sSR^M}SEQQ!17l8=D%ce>!G`^0PqJR`A-}+s(|(j{5p`K5ei2xl+h4 z@9yjf3JP*|cFtn6b8>Ut-Q7EGuJprqK>?PRUaan@dQxq@TeP~4fRV|-C(rk7 zZsiQEynMaQdDiQIn<4(Cmo0e|PRbFTSAhT!9%E|B%C)F z-cLPm;F`>&UHp#s=CP=OM4=|G$mDx&XJw|Qj095z3-4sgX*4}I8@G{E?XkL+zUpUU zXkuiBHZ{&FD(WJeTPbAb7W-@*?(r&TWxT5V`yGKJot=({KRbBP+xXQhQ8yW6Jm8*) zU|z_>JM#3h4ic^=lyOg_hFy$~&L+W?J1#Z(i*|(*tvRT|YcFdW6DXe=`Fw33Bc0f9 z9}w`TeXFA04V$c7P^72G?_nhlZewMZ?1;2V`)Qf^^gNdC{sofn@^{T(<*`eesumi5 z%u3$(<1<0(banTsiW#z?g|S(D$K%U7-=VGt)CK&@~M2d4BKv z&-bww3(kUb?tS*X?`!XU?Q1|F6c8rpzb_OJ1L)2R1o{a49vb?8ui3CsK<3^ckc`a# zyOsliJ_n(I`1t9U$r!q32>j` z0*@w8d8?rP-(Uax#{O?<6VGyBO)sd5f~>Cp%5ir<>Z_q(*xlE$pPlz7-%r}zEI_CX zGNGb4#BXG{4TLMwh`O(8T&lZ1NiDP>6asu!C(p^41DK7>Rv%u~a(!)zPg5W*D34%~ zNdn=7x4jnK?ddEFyg%uv;upA1c*8MSd5{e}_Iu1t=>G3pTLl}NkZr0n2@K<(u|ao! zBn6qtQYaE({m^Qt>?^D=Ng3&3saGFl8lQAPi5m+)u5>WPaga(%CU~v$BpRzoEBm0u zg?Odt8W(7$(e+~ZV0VjZHs#~UZHu~$a!~{q8iobN2*qaCBTQwJ%Uw@SmSMaEe7Egf z!sL1hT1ngDeIyJG*TO_UXVYFoJ9phAw4mq1w@DI)<}tnOiT#pb`~V8T@u&4i8##nJpp24^mE^Cj;q{f8fTAIY&bL|=ztG{bo7PY?h6E-W z>^OvJLqv*>+P9F1cA7n(-r1Kn~YhfCn?@BMNoMxnG4r z?N{ATLB#&pBW0mObuG6e6QP3|gvg2e6k74pag2~a*yk_pws8+tVQ;YB-~~~P_+k0h zH3_1PN?*_j%eQagLE$OpGT}uGM4)_3BujE>y4pVWQFd{-oPQchTz9C&1b`u=bP)$&g z*dwQJf8n5b?%Ro6+t*nF78-;Q>G4`~RG30xSRv%1)Y2-F@Yb^ZpO6>3u++_)nOw9G zyxT6v1D%d^o4Ya*C5yHbJQ!JZcajKf z|FIaDJPxOeFo=cN1X;j=kbK?D*dc3YPGA3;0mMQy9P?mC~zMS5VmZ(njQ8 zBeX!gFz`2bBwIEvoE*;CVA;bisL1n(fY@}$beIt&yt%@VvC*h_l-!gK3&K|^xd^lx4AxN%fo~e!n*a01L85vbLE)_%0ycu_?{GG27)`3*q?4SbCA{;gapb!+yPn)M6$n?pXZA6|Yax;w!ZV8ov zd)}Y1ULKmF*Epe2*F*DBLP&3EoI)kx$_ZgUDBI)s$hgzfXm=!oDXISwQxb0pJy@iW9+msiSo}EAr2U~?nucLtzE?R@qU+kWyUtq1OzV*i*_1_EJAIj(JFh%b$0y$6Q zgOC_-FTg9=Xw^e^BJaUD;TKpAf}64^6q`Gj+wU^hxlpUj{^v$*5sb?7mr%PflmErz z`G-%r;A&B6()=?`R40;5+4E0;&E=Av9f}ruc+fqAp3qd%!b;%4Nb=47XUNb@+ahqw zykL@b%nub5B2-r9bDMv_Ej3mod;TcYcfYA*!ioP#ZHj~iOTuqN!J~Hj9>}Xd2-)oC z?zQ2!FZj|v9c|BjKXfM15-;+^V)sLVpguni19OM5tb_m9yMDabh&y$o6ML$J1m`II z9-f@kaZO4#PuD&%iVFiPOMs03h0z~`0q9{YrIv8vM!rkb;)DJ6}Jxe=&v{lNfqy9+qEXw@NR7xquNXB5*6x1M&HbIJRdRnnTgZJR#gHBL3rl&`)1{ zeI#P9XT$?)m%c~EA&^;%+nJHrK$CU?HBpuf-38|6>v@InY5+d+C;S!bzlU?VyX}X{ zZ425bx4@we!Tr1S;`YPKf|1ONf}1-L-!hWNF}nY`N?Ku-z~J;~4Cbh=9Gb86+l0e% zrt%jL=;gbRUI*Yk5Z*+HpD0sCsV{bKetug8A-vzt%Fdd`@6TeNiOBNZUgXEoX(I?_ z-iAgnfS;>$_}EFp{gh_65jj;5m!Z3EL5Cj*{NV`g!72`ygT z*}pd@Z-r0`=|U^mltbSs`YoV=?F1z!Ano^^4q}jue>$ba%Het^sC6lg}=BvD5%8oKQIO@-8I6N(%8cI>^!St6QUsoP8vh@H zKy6-t@1_Mef}U8CAV@TklLsv`6ZXvw3>h zy>D6i?OFP9*y*bE5-$8ytu@?9Z;7-0JvUjw)5$15U;W~P1E%E74FCUP+m&kR&U~^bQD>{DD0o{LKs+SR(tslO%a)b@QmQ zyzK4whNWzJerAeM153k=ACC6CANN_fm7DH~62JRno{Qao;NksnIAuPhCIbLqzBtWQ zO?1+mP;|xY4w>_?!&7I82*`gyB(#OtV0!bUxH!}6r<8D^906m$$<(IG)|!)jb=ui8 z(INnBT6hpWvZpGFiD32;2Ze&suw2)$QumAlw2*qyTKqK^ji#roy_d*6CtSFk zF$;9<3tRTZ1b=J5o#2(6WHxGPzJk)VulbV|--u7D5jCR$Sg_o^9cfYteC0x-{LZPDl(wg>cZYg;_{DXk09# zfMR#OVm}Jx#`e1b-j5lw+ziEBL$wLqOlV&SFMVt=Pu3O;xt)+`^Rdaa<2C(9v=Jim zr>7bVc?E2?T5{VWqhv6aKX7j?X2OR}eJ3miG)-9%q1(mi3kgMRSun?d7K{AGYnNl+ zHSS#tCog1rFsWDVJHom!nbnnC7(1@JmV5))C(p$NE}_Y?VWpD0YNKmHvFj#f+|PIW zt#Q{s;DCcFJ>#Xnsol1#B-U!gg&#Viydi8A=>om$wyniHI_PSwCPGHYM;y^UcR%!= z{hOENq%m@y?T-9d;+oy%ZcB>IBWO&7pq4pDOOBlyZ5%Ww2Un%$S9h#u_@8MGMWmy2sl{c|$08KO-TuVO)eHWT`|d1lhoXjy_rX5$rQu=n#Y@HthoFNNV^MzovAZZmz5-#8VDP%y!(nu9R&&*C7>0VACkjOv z`2s5^NM6;ZwU=K6Z8u}QJ(r!bf;L*3g`v){qRyoHj~CXF2eRg@JOIbl74A25msdoa zoKdUZP7y=Ah!Ijnz*hq2QKK$Z;mO)Og#}Y#ea3vv%uu~Pw6jAIa&xtvdhkMMOMeS- zqWPP&H2r{Jln`2m8L28?=1Tp27qIrQxA-4o{sp26wDKt&vif?U$+r7eXzD^o4VQGDFSD&_YM6TqweBh0{h5gjdtsFG07p3R+I*{DSM`Bh-0V}L#faMPY zq^+u*J=j|)>-kl|9;>cOdeV?*v|{;gFTD{glBq}?eKF=Fb$b^9UVg|A+0H2WPQ$E|R+m;ZTlX<}dP#1Sag4E`ZcP5jr&7O3;L~tTJeZ5{h=01e@`I_y`MnI-#!HCXd14RQ>zLP+|h&9nq(ooIUvN_ zY_aDr_vq|saJCpe^MGJnYStu9u_FJvR?)7Y@Y)OIr-OP9m`gViqJe@Ib z5!g{~(BcAx(ZpRCHQ9%^mANdskA*U^mY_X@HP3s6-~fjSzhri=bi}z{yIu-7EC5*hjbl&XEr)q!L@Z@?R%U zJ!Rva=Kvw@ffy-{VZ{O$qusAW@sw+cv4VlN;*}NBO}lyjxgs}5-vwU^Gex_qqBGOO zcqP@5V~N4rsor29LV9lhb&jR|o(_4+!AEEY9QxX4%+LmDTzw(zlUV$1y=K zLRatNf&=&KA-f?|b6U=7ise60N^vq$1*!CVRqNS_+>h0Ag#Rc?)=I<1$|HEDld-8B z&aS~xy1xKK^vl2-I5-GyCRoBgLJU={o~URK*vQUOjMGwarJUd`d6hDC3-5jG0`K|{ z(^LVuGg?+v2PfV1F<|gQOfxVgq9**J^|_y}u`w#b8zTf82jwvj2StEW5jQP6!AbSi zjuB`6CGF_l`Wc$tE+zXS?HoabT=l}>lC@VDtO6dtoQA{jnn{Y1*@hl+j}$Nc8r*Zu zKx(-1N9%tlp*g)G^n;dVR7ps;wF3H1FiwU~hl}5oZOPiz zr(ijE(@i>qyHc2D_w!+X84%DrQrtNKTuEZ2FD5Er+DFg(>)-Ndrjg7 zZ7~1wj zFz$A-*8a^`D^)L+-B+p;loV{Pq*mwV&cF}fJqeQNAL2SjGX0jNDxh>`_UJ8BvNkKGp^iI@iGOtVJZw#Pncm4F)84@Dcy|> zyCN z=yE^XK|6K5iBQqosh5ACIUN;w#E9G+J9@)wntd6ptBF}CSN(71yRo6O^hvt)sVgl{ z(qB@XLC+7Io^^E5TqTwI!M}#sJ85)|g3PdP7c0G+5`A8mY5=v~)_-wJ^2?`XUQF5$ z4_Z%Gd^Ei4Y#ivIe4fW$Yh!T?P{*Ohd zpTXg&h6b~PTf+}EMI2R-wLtAB;~W7h#NMOZrC}l6YjGe`nC^Bl<3b{%*%!T#z6$+` zd%HMxr~0paiBVo_*~jujrC1SzBQk{U1?PUG}*H0ROHD2yR8YWVC$eLKWPf zT+l*<(Gi=5s5P@K=GeXQLGgKL!EbQ}jN-^<8|NH$-Zu5*O21_xW-|pR5{+*@{n?W$BVqZLEl#@g`Jq`=-@Jvv}bJTi@yVl=x zs$uK$kA)p2MsaD568Z5bgXGd!s|kQF1%S#&Wj}OK0L;BEA)I(2v521jI%b=7iX631 zy>M^qdk!9AgGP%S^0hHFy$Wvkq9eb!r8_+EGx{uo&^%~2a);d?tv4aknW?uoi7`_8 z6({ME#L{Fu@;T{~-^)v&?_MUIq!T#M zp{NU-3^?QO-k4SGi-WHx*hwq@R8{SNa{iH>jqg&;ATZemwqYj>id`B%GFDY zgY<0*BW1>0`ri9SIQ>FGy2%%Par6$Bo%^r5iV}*?o`WM0bmQ`Tmq>rXJFhbSG{UX3 zyQ?=Ba-6ENg5B*Vcx(HOR-8NeRFA!J4yb~+liX|QB}tdSpu+35`zXSS)FgL zwEFf(yl*jm?J7{%d*k&@hnKy)#&gw*%gLJ%lw8<_1iy&IG10nC)Vj3dIC`=aF{e_qsZvj$)2(B2 zFLFKuO%>jIw^z3g8i2XE<{`es;=`HvKh!NV$_*b0J*54 z69N;#!VOpL?u7+C9V0G=UdUi?X@(K&*Tk4VE#R4Cn&Y-fxe3D?*`W!SO6ZOf!`1zF zdEfLu=Akbu6w!oq%mcK4Yr7ca!p=yq-ER@SH9qbZafISZN6T2oJp2k#Yf6DTY1TGu zp4TnYTuAm|;md`DAPsl#MlaG`h;KT>PB0^`2|IUh^sMzXfPP;gydX(SV=>?ypfmD~ zFF)ifO`3l5P>v4{^a$BC3Nj0={(UF8_$;~?kBWCTL-n-|+dZo{S;SKZ)7=uRo5FB5 zPz%!`=M636R_Oky;GFPZ-_~4MXQw?GoK^D;L!BqX!AJKhH^~fh&AMgiWGSk&NdjZy z=?YK^e|PF|IG?x_`hky~C;a-hwn~~NXe-ao=S$S-GcV*dote3V=JrRlr+ZW{4p+$u%$fW8<;RHv#!wJj{afWOTXcYDe(8Qeb6z#JJqubvBKJjGH2+{;sqyL$>$N;Qh~-}C+vwJ&yw zOb^HY^VRpk4~6FK{sSR=G>q?EktELic~eW$Zz4alkTj(4mS++@~(zHg-Lb> z9BoR$uCi+`<|J6#o0^VP{QsaNYWd$n&7?lvhPq)DVD|!cN2FCr`f}1EI$zUS!YO_l4F2L2txhA zQVp(?TGE|Z_roltg&lc7jr!o(B@!H$m=CZ}$}O-B!1QW?Y%PVnFDQy0$U^7n2ci=n zfM(pR=A50zgHmFFJ6q7U(U5_!e<#ZL^dL`7RpeZjq% z2P*RXZl1v=8c|3n(b2{T&7I`*tgdaO)nI5(EX0rN8U;eMJ;1!nsigHYO29kpUl_%=sKgkWmO55TMWVZu*^rjRL-jqT^_#!RnE6IijbsfritaU$WojSr4 ztUk>?Eeqo6Lp2<3j=6=_Eow{}UOjFEkcT@Bkha@|p9M|aByq%)FwMnfnyTSX<<_Sk z5;zfdHDI9Ze2S=aO`H)7cl@kcEL*X`P_ct}#3>hiHh0iLVK3}%UR|iua;zCiEXCMF zcD-KpzC8*6S8i@*XL;Ji;ZJnTj8J{jX7km9U? zZZ=={-hs@6PsypMGLE#&7QUI6>xxMUjcbXIhZV}|4s4TP0qr6JdFXa_KPOnZ&22Zi zd3VQ*sjWiEN%2IC@jO4<61E9Sc(JsrGm5jhp0$kqgtFqf>{#5JHeeec7Z-`1oI#oK zflY4@mT@`46-jLJ!Njsdt3bMWNaP!Cc*Ou}iW=t|fA@r1V~pNQ)g&Uil_8>@r)!yi zHii{*x9g|fgF6EhYG3?Qyh3*KsnwtpVJsy!jvgfyjq#%r%Ojz6CF9lVei4~o?bbPw z8K&XppH3UwOZGx9)Ns;1MP%1lt9~U8_mt#evAWFEuhe_74#}{#E3m;zQ=C;KPdddsAdjWeBydf!0 z<>bQ=r!<)~)Pz>eacql+N7&DD$&Ixt< zE;flrRnw$_&yh4nuBtAE9d$})(7H;FJYMV{%lQ)e6f$MWSK+f0vKqg-h_ZKnl zr0-uoyZEoTal@4Lc0FHsv01cEk9X0s9%lx-K)3cHYB9dCk@xiaZgAegh=MV)^NJ9+ zFL!UKu$}bvV)5V$#(aQ5$?P9&SuTz%hD@ObM3}pn|k0m~+|Y^+($;h&?Vn5`;J0WLGvm zw-C==8u6`gbY|D2s7B6*3YnIzOuf{L1b!||(dY^kiVxA&NvGlBYfViNIChZK&$f$+ z0nDJ2a^0OM*kq`xz@xTVIzrm({(0>?GavJ#`7}9(&A%&GR7Jh0&0F2BPH5l7eBx&t z@zQ0+1Z>lkB8CW0yoQ$Fbf{@gPP}|&U->5*-!IuYKo8^$`!j@vl$S&9{Fw zlRnMn4J|Ea5IJBwcJxYivMh;+5?69A&>qq6*@@=hR2;pKs{1@dcx=s(M_91|VBwF* zE$2bEy;oe5Q`xSG8qxCspOvE>@SpugNffZZ>K3kRZQOn70=meeqb*_!H*fJH+_nRc_OB!_2^c`iGucfLLP3828R~7tG zQ`U}hA$P^ij9R)M`UQZJjqWjcttW7;K{O}V@>4r;v9&qYf3<=-_;3W^!`X3F^c3~D zxP4W1-YWv z7~xHJ-zr2@uR2S_^UQ~O7hzte=K!3BZCbR9)33W@>B!LKG^WWsQM}L-^pdq-o3LRd zxrJj16cTW6T(kVsl{)o+U?Z!2Fu&XHH?u+H=5f`cVa=R>;HPxC>XVeROl?m`-|shZ z357YOwVEWjQI2s?s#-0aPyn4FBk{Tfy@_J`v z7C2P)@wNiu9}T{nR`z#)dLcqwCc}_~xV|yl4SNjqzl0-08HsbVOfA^5{tOQ%N~^aL zbER^Yx6pWNb?cYU^J$E}<}@^DrYpN=Dtgd=Mo{_MXFfXKk~+z8D7!{SMBS5wLvEe# zwR(iQ0#vJCu;LK&&fDM5f;t&|j%B{Z>DIN1|F%=F7oz$`2@CyfeeT;T_@yX>oq7B2 zx%5N5GSFY4wCQu5k(ob=&nuy6yw4dCa9NFvEGnqLjmQ!Ng25(8AXP;mQ6&Wj9iIX< zy1}8LPx}T#&z?rZ%NE2)QCMlU;(;0Ala9-0WLt)dq45>+PByMW$2~W<_+*xxyFrr# zRYNa(Nd4XG9|5x-A!SYD1a0Yd$an{!g%6%Y^nRrl1s#{z71&oHG(i^G(LGr2))Wk@UWZRam*HTi-UyAY2}zYy`H$e$PB zUyt93dT74}*8WQ4Mh_AH@wJUIhqi9$&W-C9Lw~Ky>*Cu_T_@03x@ygwDQdPB-?2+m z5w^s&g$@B5nsTT`ecx&3uSfgZj=)B$>-1O8RBw4`+>Ea z&z*iNV*ZpKj9xe9f;TT-$#i?1VQvT841Gw#MX~!wX;`6`WyD@rYj}=x@gvoQGnGpy zKUFFatccCwL&vTz5?Wy#Sukf`fNP1j_{O^V_)&vherpJ-y$g`e-b^NoeE5~onk-oi zdvmjV>fY;hQTfQC988LJhKf6~TTh|7J!D&AKod=%wFngezpJfufnTbP8Jv3hd*2AUHdzz zWgkD@-MT2t`2f?8jqKblvR3*tW=;yIT*cV;LX?m{4=OQ=Jl+>WL_a<_GaOLV(`tTA5W=J+>aG}&;9ZR-Jv(UOxQzK?W*P+ z1Mb3y(Sv3+3vVkp=vN?(J|m-O}7XPOaP`7*q9z7K2$)Dw2{%Gm6d6((DK7kD+ZDXRx8y8y>6*96FY z*n#;P1`>=I#u96>9>c}uK!-{BCBeWuZR_f7bYCepFIc6{`EHJ~>OA2%z02(wA!mn^ zNt%Wmp{2Wq0anal-u(eGr9_~^xASRt_czD^W+#L#gY1YQMzLR zraGyHDIYc7Yo(}q=ftGl3Rbek$Z5|`jn~C!sjAI8D9nikEA^oFWynhdqD{Xc7|!%c zSTVsm0Xi6vzHU=}iL7)#Tw-gDTg3~t!uUlj7uo&vW?Pp+)|^8{*m4S^ASkI)asyz16NjW@^|Gw-$YS{ZX47j zYYUygAQHNM_bYFr9nPUhN&gHkMZ;c&-EX!p#M?xgMAdnz+B>v2x8xs!ti9&~^1)j^ z=N0HuSB&WfFst^y@4d*W;F3=f#oNV*&F)jYv&%crED_#!7q|8Db}o zi0GEo#`#nfB5$MsQxYxPb5rXA3lgSHggsXVA1?51XOm{7Qpe#dB`Rj3ej{;7#NT1? z2OWxD@U6L2l-6TC0Y-R`@PO%qZ#d{BbjNG|)y>hWtphiznlew;UuEeaY3tzjsk1&l z=FuGv`F8bkO+cIzL1tjLolx<9vJo>^ddVgd-@*wHnM?&eTq>H02GXnxX47woUoGC> zbzlJ$xH-p2_k*uM@@U(SN+wYeiAe$0iC?YOBAbsV>I{W!u{&OuWjbLPGIdpugdlzu zZ34q3oW02(Z_6ul0w;|dM$juQ4Rg6v6{#=69Aj{eV#VL-5x zk!Y9b!c)t;>ld@I{2B5aB><`JSUKsbCZaxg@441)x8{rB%QP|hptrE5+1sWk21$w3 zviMNJ9s{RCNfjN}RhZ4I+*%3z{Z-HOr0)J+6>Ib6(V4=&smgATXV}sC7}GNZf?wcb zSA_*Zzn@`05o;QX5wMf?Y+ooas<6x?Wo9csAdMYQUDlAzD)`nSOmJJx3N*_8S2I7D z(Y@D^n{&-#=9ib7oSxc|53tY8<9-uJ*&JlFWruQ^h3PuqTApLMrbsz0=6)uhNe8>N zytkMmR4ebY90e_0v0uNNCR)Xw+4;ik*{9n(;y!J(gBCk03$D_px%&4XVz?*@WqByR zQ?WD8N4pLg;?FTw9ClpclfXi;0)}(7}VJ? zw@mqa`G)PjGnXL=UzQtrS$>FGhf4S^wxJk8l*pCAnVZ}7&&zM!aT5z~4G3ol(qOXl zgXeRGMIW@U3L=lEgLk4p&cwHC?C~qhVG)R8ax>4fRF{9>!5wK@5yFK|q z>FMAy0CR>tS(y-BH_|=GGdr@>6RZH8BAfNnb@X{5S|{>9RPrj}2ROOIoM(#I6XQJm z&0T%{pKl)g+nCS+K1#H~Ix_J31RrNnpF@vQmEt-9f5qC3KT@vww_Lq?`wD#BTCtSp z?B7mR(BCCX^2s75pzv1h`V^9!uzDX*Z6HLu%JOQG*@_GSvqy0?l#_;uWO%a^py|D(Y3XLK>>PAo}vF9`w%S-I9b8JQom$ip~dn#E`M zs=LBSfd0-xl&Xevo)#EbN2B^!>@SvB@~0Af#EOn~)t>jc4tsBv2IRf@JwD-2x5rd8qr23@KY}bf zN>XG0HT+Fc;Y_sSv#=MI-|(P5kCg|ZWi`>}@QKa@0ZCWi2SfUww;Y;BnQ)a9wC$T4W_P8*WS}L*L=m`yMNt~Mby|C zRHZ^~i~`;20f{kZ40zx_k&22pA)~SjZu#v{fSqpm8aY{QK(R1%npxh# zLn7E5Rf_+00JZ;1g;R6K=xuWgoz52*gO;uepGLD9;U@svnGEpr=7%^xbZM$j%sZ zd_Dx#(9TpjbH1T^92<%Ki8IJx_GR6N^*?_p1B266o6MHicEm*?I>1PsJ20`@0nox8 z{PFyv`KyJlYXOHE*ch$q)|_$;!VnsbKNJgD+8vN$>PWBgW$|yJ_KHo5R|BcS?YA9f z1`Dz(Y#rqXMri?gj?m$ZrR7Lr0{Z`{mlp646ZuTH1y0yX`_;sBEj|&@(|Dn}2nRjK zI84aX3~lVquB=hOElWl^iOc{Y!M`J1bw;*DT0#7XWx20As^h=$ZQQ!K!t^lK`5y1i za(lec^*^9WP`5SJjm`A|(0Lt*%OS_t-qhE=jPXLO0cOA&Y4NcgI#Sgb zw3iN$G1w?xQT%SEJ-@A6U*MLbSQhGTU42Ulx?N(-mw9KQa%e6E&QeaGJ72!WE6}Pw z`;(;>w71loSXrxEb@6Ba+Z)eO6bTN`#u{xm_<9PJKRo?W|6bsosk{iAt|Q|3^M>0h z*DWN?V8Z0j*rf?Hzfh=UV9E_)w;aRZeZvB>wuk0WBS0|lP<4>|lPm1AYi2Sl%s(SV zpz%$}C4bge z7ORiiAc*~UaCmQbVUy*lS@)n8PycHPL}n|%{k)2VSJ53e7}i*1Cf5hG)fiUI^5I8& zeF(3TFElDHJxo8~rjG8?FVlA8TLD0FkrvQ}DV=W#I}zlm7WZ1Pkol{GcNFTBFHld| zqDkxJ6EFSLvav*Qns(H*3D1v7 zkrEpKNcl3(6nR??ENZl@ns{kvc*Nc?!POOliHKR zzIUFVl@2@#k@6j7XwcZy{RSD zee)G<5v6(C6dZh=xJ&Y}SER4z_d2}gh@UZ!VGWSLC~SKG$I#NH(4c2WRK!y=d;9Qak{VaYwQA($X%hE89ba$uFUBQwvNrNLu@@4D!M`5bM4r;- z@fUSp)h|06PQiRE{<>f2Hej5_5bxn7Ko^#Sf~fvaG>|9%xK{7SN-7#+nd~$=FkyxN zOA2<-OaH6m%j2}h2T6Ad%RIc2ZnQ5=`go}|5iT{##p~(7=Lb+;#I17>Zws}XxvhL5 zEhhOQf*#}OoB}9MZY+fRt2=!eO8%~mJ)dm}tbaLRW(o$1N{&d1oAI9BRE;ZQ?U^Z! zd_ov|hsL((ndoOwn0u|zWX4QM+O@Db1yWbRvD6UHCF-N^xpy{X9^miM=^CDWS{c07E|O*63} zPVb^zGrN2}NC9#SKHqvfbLO{hH$^ZyaJ_?PK#fz59Tn=9C;rY<<`_v!0Th&iu;L4ZmmUvlNCvl%1%+pFQAEixH-YU^0W2G0@BNW|6?oK z)1hkt&<8|Eu$_zxyxt?#B()2*piQXjlLTox%l6UOo0}IaWVjE_x;5^ej_Fv0r&m?j z^>6TD9dE`Xl&?SQMgnN`CAN=>ccLNkmLu#Q=AHH z09_0wO}Egn{8lTLvTydId)4fCJSKbBZFEMUWo%*+0=r5Hgy4QlxO^(3*4$@sgc#&1 z7%w^d;G1_<4rT{q`y0rw<_wq;Q&Q>Q+Vuyi>jVN158tGUJKM1W2l%t^cY2EM&OxaX zz9;VOZ-I})oSuIFcOKph%FQv}JUZ$EGbX2_C2*iauH$yA=ZsO>qxXMaem^WtO?C45 zXb|)K`LoO5HwNkYnMOSDgcqIp#w>$DNfAyR6Tm0Fa#np~J?#C5hqxm{KNB4RnziRI zXbDj~U**WMg-`dGu)W`35A?HARWV;liJjxYQu@qCpu$3PeF&4Bn*@;PL#tC={+7w0 z(I%=7Swt|t%`EWJ?&~u2kN=U<{BTqZBZ#Va7DJwTq^|GF%D#tdw!hjVTEKj$-TE|g zhl~8Z-|hwu=FGm9sgX{5;1f?Y|Nd08RL)y>z<>BQ{ER{tD;3{#(OBA?o_H|5vJx?6 z-;?_i5jDksp*YiUD$LdZAvd!C{-CBeL#Rv~a)sHk|WSZBHSZ=Du#IM>ouXr_+TJH!|!1FP)8lMk!)QO_>kB&5@ zDm!p0!Hn&ke2=E|2~Bmxorku9$+-;k`IzmLuFzjXpo?GDFz(|@p_cX$Vp)ca$rc> zCJdFc77?hkcuO=H^!f3nJR(B*^uiVeS-ora(bJM0|XbLZ^wQjR?McOWV9PazOthAMS!Wahh?xEdgt*sU{iMHTN3=a;#T zWBxfW@Q=^w@uKX0%W-u9rn8svqEzZ3TuR)jUI30(?TO|}2*~kjXffxbPn1gDM-~{} zs7);D%rC}#>@oZ}F`;0yVl4VO;-RZ0lD<*%t>8Le#o_;9?@Pe3-1hd(gx4G)2^Eqw zkg=2oN`^=hGF4J$nF=p5&$A4XIm#3nGbJIJ=gjl$HBVvv*YnCg`}%mZQfp&V z7t+QnA>W*ukK#Rg+vieQ#=SO!5M>Q%B@Jl-&FekkZ*Wts1>!HE&KABWVQ$iC9h*vj z$#kM1EtrYw`#B{&b=R7MVwfA(ZpJvVGwZ>c-n`fHR%1S!AD?q4tYRc#c*ttR)+f7O zM-lVgd{k^U>y1-#`Wzdt=mz8&mX+-9lNlRYI4Bg!!n*fyWq(FJRsq6LhLA=X&rz^Z zqsxmMV^CpfXIQrVP^NDmofhtbU^Ln}y~wgag;Ud1&$(0EUEFS6#%FrpyfyVLW)Z%q zlIumi{T{ZL7DANyWHKLT_!3i0qi~14Ym|lgMLyvZuR1SH8OhY)8234xtQWl?|a#5lb5dMgN0TAWuHYAN?)gSPe{$) zyTZ@HDzzOQi>*f4eGiBZ@0ry@y@9cAks^cDTHEsj>F1;m$R`V~&AKm&8NV4pjT>b5 zp0HY|5UfrNh#`2L7$j!4Nk_xDFfxZOw|i@Tk0jej-_3+mH`2a({cs|E$k|4lI1yF+ zI!u1s3G&1cc1O=k6??rVj9U9weQrGU_6SeQ?oB*ZO@Ibv&xG#1X?lcuS$}p>%t%hg zti5;7LKt1sgYOchOV=C<4CNp1gU+xC-}Hh=j7fXc9@V{V(?bg%X-?N%?u`f=fdwYj zH=5MrE?3J>bxL@>L=M^2*>XIME|(j}&M+VBSCpR8z5TxKJZ;-vk`@MZIj z_-2hCY-~JslS3PgAE9 z7wdn?Q6ooJ&5vU2L@?1TjCjJjS602~I1TQa)s@_;^lE+H$A6gEl6>JJ>jzJ#ly|yT z_AzQ9`P%Nz3eKVR>an*|1;j}yS1ke_J{51`+8fE8>OA0j&Wa&!eLtR%@Y$NxIu#ST zW{Y99Bq0ZJT>i_(t5JK-<)JAH^kR>Gl#NW*c9cVL;U%W|f0SaR=$|Z3r{B0J?ZmA! zbxClwqI<|E2^umUqw^Cs?f#F>*LRBCWN1E8E3B^cQh%AeDJ*Z_m3@}H2P6$p4&it_ z(iznE?=>D$W34M`?6({h4s6(0J0|aZFiUtWj3KqV$iK7`Dn3tLpa(ao^%J9XR3o{T>c4bHH`p zJ0=}Alnk%j50oAyqHAqK5tNiRjVUvWgr}TP2@f~0tNY*$A{P8JW<2U+}#4b6UtmV*8(Md4-Cut=6085Qume^G4u(WN7ajiqxhZK zn6TcwC#_pAK>vu~deamp&sK?9#DzN_Httx9S3-=g7wBmpTpvwd%t?1-9qtn{@nPAr z7M)81)={G7QQP+dTq$PAte1-fguN3lKf{kIIwM!4HP;_gv@J|yY-i}dF5xceb71bx zhP^awd#m3WXjG+e8MQFg3iDi)7PFWtgN^c*K~miZqgK-$F@7mVu$m$ocv{S^OY1S4 z`4mAGEP1O%4#r_bnd*RY%G^SJjm@wRM+}v|^vF@Zm&KoGEe|Xwl;CrFK} z@c394vn?M`PfRg$|KQ7aO14qfRK{azEK5mEUZYuT$I(-3Tr}fyM=qKWtWcuXw3(ic zJ(Se&Q9H#L{*)FLO0McXYB3-m$$FUMa`3j`iyGsaPq*W3^bZD(j(^&xU{C$J_JP9w z9^nTpaboH6ntG>vu6waNIWj&J48CSsla?u^XLlxSct*N;bCY%Zz9MaZC-;Pld!oyG z3d5JNPG36`vR_CB5ydmlUDP)$eUCeIYk2c6Q+vG7mv<@nbE4vl)raD8Tp4a3JyFS7 z8WghK#+=aJc?)x3dJJthXDI!iQ0;~4uyp!|%lW;Ua3GHIK=%|8AvNBuqXNZi-@1ks zuF|A94xA*p;RJW&XmP!?IJ*|f?$lpeMWrW$ni?UTp2l$KNODn}TYh*>*WfwFF!@&4 z1MxDs9KK-omn2hDWna8QWghvP=LZQ`)@?rRsy$3QtS_LMaXj$)iIW|=D%;ja2}78S zwO`dg6?aIrxz_ylb%{@F)R>i~wbhD>>5Ed^Ju=Y$NeFs%#QDscD^mK6Cw4Nvwr#&f zYdSR^le#OPPsYs55B0qlN1h0wGjgHS7i#EeK|76{*{Cz`{Z;J<`iYj!hzR{greJXIQ zER+3mP-1#m1lu*#!#5XH2?@PxP#pzsKCkbbv0~|W^`nAwH(enV!XX*~4kq^_OEB z=3DzF3(EG28ph1tZnVw|cVIcvU9O(sN-KO>iSCU|#GB+;^?td=%QBqzpEE?88~1c& zaCThkCsrou7}_+DW{70fds#H*ad>+(mG&H)A8q$gy>Ce+3>l;QlhdX?hzeYU6#-v4 zaXAS^^}Sk|w=Pl}TUa>o6|bDx^Ih$@(}=yPc|P2U(sjdMOq=I&j9Pl2+@X)_oX*Aq z_}9*(#`oC^*N+x@x2djAalcdYCT6&ia*q8Tj$uS>KF8y8&N_pJQUvUM$EPYyX zW0hOB=9CalJ*yzBYif^!?UMUEj;+Ra`7EVqmPiev$o zruK5(c8BP?Fu|V6RflLkpzAM5q1GlVuC7p0E|figCb7y=Vj5g_J)DxrY*TB5=vd36 z?jp-jOqaYo!3w;*cX?lj2T50nl{`zAOdZIw zJiA$`yUlXs2Zvi#X2lEmZsy*8JGT_U$%v_UojmGI6gnCzBy^66hO&i8MA1xoKO-xu z8i%}jSg>SUz4+OJ;|MxqPZ@>*vW|YD;+)+ldGv7pO&D)Kbz`wzPgF0qS4b_hl-1BI zzI{cLuzpj6b=^LdG2_Tm_gAs#4_oxG`(8}g-}I3NbG`0_#<7!;HQ!EdzTGfQtuw9o zlAmk&@Zc*6rx8={uFsPBJ=H+hSDBt z1=aY;9yx(e`#|cd#t~=vyEx*rO?8tYbErH7GD>NwlNsuC)f)FFCmpGv3r zP*>P+_C7%fx&ke37hqIu_W7KGwMJa!L(aJc7D_RVx0fhS^G6;lj-cCYI3w7<5xrhy zv21YqyZ*s3Bh%^8%E2ySqVZGiPI8v&$%4l5HEq@hRtrzxZ}#d4x@BKgxH@Bsy7G4M zgAU>Nh_CD`>grGDS;2~;+=;f(i`Qzd&8?qiSPxD=TLT9+7Ij$BpH{DXu&+%rV={G( z?fuo-WJ*xXEv3avsq;~pa!?|%kxdf@hu~YAo4+-<$ zx%@)rh)%0(=RHS#Re@I=7RxCcHy0)jp?XTaa0>iFM4zsyW^Ti6UCgCV?ev-ERQJAQ z#H)B>Q530xLtBo&Gb$l^uO%ZQeEPfn1iY;o}Xp(z0OOPi0<^;sb=OT&QIP=L|Vf@ zFSGGR`9$Lbi;e}JtJOHMByBOL z#l0&g(~cigZ0E(~j%X*Ci=H&N%H1h==4OEG8>pzYgjGlwRhE1 z6C8gVv=4(>)T27icU;c%bgEZ(&z`-P2VPb)T58>(Lz9|Z)+3sr!;N`K+kKi; zXq0L#9Tc+ES`^VDj^4o6( ze{FvB=~M(umD!Ve3WAV^$(Lk`waV|An$TdudbdStZN^RzNqV!9Zq*UWkq@DGp^ zlNa&lR&`%%RNx&nTKwXeK(wjpw=Ei$|CD0>a-5f-`%1=_7~N!ELqs)HQs$4I0r zF$9VH3B$~osDbnk7cS1|TwK&ybjEp?Mgsd)_i>vJNaWv5y7}1Z^RV0s7pzVbXEFNt z_;$3RYv-e*)$bjQ80haXE}hxi`ypVUqwb_(*gn(<(bq$?!-`jVR@8C);;eZLUTCYb zJjF!pn~u{8m#QdvbHZ7(^cFs8%v!JK`4cZ{1Da?KIeCz`pzfbOv{y8TeOrXbBKG{E zSVXR2-?%2%i^TH{p|V-%Cskjncs9-RZ#vp>_QT`esyB2B9atUV9zYRQ)jHN9JuijA z_l7kLZL+T6bGp>~woTH{>syTRkxYqxSZ z*8DTAaoduzgfx?An3A0y9A1Chim$u+I_Km5XAexAp($Op9Db07KleBV?k~>oYXo;v z4m0cD=zZ|!miV2N&#zx#e6rf7yre zcrkfOm;Gc8t8fKhd~{yxX*Q8V+0{rX5fjhT*(=?uT_T4*B^HFP`LGRati2Xb^h)zp z@HVupW91-NqJ7IVwpxWtf!ROQ5oHo`ZEqBM?AZG&ahFvaXVw;R(xMhcM>16@Oko|4 z{vfikc(}e#40b~ruQ?cyg?R)swLax2NR|C8LrajxW7wdid}fGHDCC(-rJPuc_8S)Z zqNbdx(vl4CG9#sj>XffN>juYZQm!2ddv(XiiABj~)toq6wiH9+Yl&JhgVP@u!(}eK z*ZyImr}V7=IQm1*Ql2V^Whlu*hvGezIkcov-y}~-{B}4^ zHn&T4Ts^q=ty9Euf7-phI@ewwCI0MEeT0_ZppS6m&dbGi`UX@SqkdDftc22f%h}va zqkC1TeJLbmFcVi(<(_jFHJndgFTHbu!Ur{<+2zx5*ReL1q>NYe3Rh6d^mvVPnc}gm zXIA#xYDef!EWun9e}Ya=iHsMAb}J-F=Sr)@T_=uC@&c^@s%uiMf-kNH-lWTR6On8i zJYXqip8q7^Mi|-ILPfzdFLKF=@XV9rKZDhtcI)-&`@XhLm!vq+&u3j|ebGq{;yH9{ zap`(1H_W_6r}l5AcHNmeU2;z-`hH)>iIDZT67SnGa`Mkq-4#YVEAw41m~qk`NDWw& zBVU=9E5T3`y{mm#C~X)HHzWv0D=|o^6U!ac|(Qq?2 z3?maB^~iM7@JMx9^!tJb0(@(PyrT&bb#1l|uke`|*-g$F)9Mz^7(eKKSsH#!s;MbG ziS~|^T$JoX!xwXTIoG)xi^3eQH!JxP`X2AE;=8l|dBTXt{)8)LHjIN}gtepm>n_u; zM`DxM&uKoK5-E6-)#Y7Rp}RF@c$8p`knLSkD!W8TRX{c<&qL)P#Of?iNb}37e3mxzE#!mieDHuT|IIXfwOc!d6qVb*nU(8qVgk z@HgJ4e)FODzGoJ5DaS%#XDOx%=S*7GnVIwLYDK)>GMx4a+F=zEon~=!Q@!mO;&065 z&cr+jZR}JJ54a5vGk`gjgZ{VRjyE1~2FFb=qW7t~bE-uup~T*6QkTbH5ARQ}c!lqi zb?_*O1_|F-0dw5Jg9OHDm2Yr$B=kCL)3(ozp{dR1mF6dM;(8}!@a)D<2=*^qj+VS8 zQeY2zaL~~}AKhbOXS0twq(zbFT(LPGI{A+7BdxG9wa;hu_Yja(oPzY7rffoMq}GjX zF96DGrcg{R&zWBr5($ju7#)p@Vg*koxj+b(djUbS$1|HeuBkSeTVy)=O z^Y&)S{;u~NHwClQ;8@IPPR~F=XE4p8Gfgh$0A(v|!5~Gpj#-vsVOoidn<>Ty`Qv>H zl10rCB%2v*`M5=_T+{oi%qkt!VR8N$n`Wl`=vqEc?aixGIGGQ-El*yC*4@?CJtt|H zAx^MR_9R?8?t)TyRHmw2V0~goYhNX7e=N|6ojKdk9W`x5KA z_|TL~b*@~bj;U5>NyTb5heLwGUKyo4Ov3?}MV0nJ!x;HdCCo>LeTvN`G2CgVu2&Zk zTP#{0_#mp?aqG}GNuOz5P$h5AQJzYxGww0s&LD<&FMtXEPQZZvkx$h|J;E;T!C8DH zRTo9Cl=5F>G{%K<(fbm;-ZIbBoP1GxsSP!jHJk-!dtz)t2J~|nn@d$gYfc2!TzZE8 z07g8g`O8J$Z&2j$tv!$V-hNV0bHBIXQSYq=5`BHaT6%7-{?)^f_v$$VUY zOr{p5VK~Lo5q)(&m$e{5{o+xa52Fif@+kouE-e?t-+|gc-8!7x8Bk z9pf{#`jgh5szq-JG4x7VTznj!chWqYd0aEe!LoFX&?@zFOOC7s#dfb_L*iQrJ?lXG zlFO4gL1MSM=wp5ANmM%v);cS|AF);Zn4!GAVM^iN4|1 zSapNdhnTuJkGaY!UB8F|}uY*sUydyg=LsI5D5%Ouh(vn%SXZ)B;XOO^&B z$h+`_xDPKnp9;RyBSVDbN5~RL;ZClFi6FUfxC0Y59-SWr zmk-4W`MYM8fp60cY+hLy+eBDC`B+3EMz@p`6HpKe#ZF@lxzl(ep+ zqL}XTg#5!HU-r(DI~_N}L)Xz?yT!77CMlHkEAQU?#~`gCS3sF-zBiZ=&ae!qvpZA0 z4SI9Ej*rl>?&)@iOF!mSY5>t&oS`X{ogmeb{`jyxNq8`MzQ!!++S~76MQsXBXU?36E!lvM$&n+ zsn`5Aqbnza^4fsp>}5uQo{BPI7j7C0U-E`f8Q1esGKZ@lGBL`Ky(S^N7{)J9e!jKE zPlPY{+N(?Zj_qNC{mfxsu}rmq`oy*E3!}Tu?l|38Pd(ivd!9fk>Y{jpFhd7ro_spw7pP28hfxq zROFMxJT*_pky}zTY9iGVF?2kkRP5|`FGQRSQ#jQdJyxE}Vqv>#-aK4!nxPT(+|@|9 z^was%E8-vT9E`G?qEluF-9x~ZVZq^{c`)Kga&lCBoFm)en)63$;W;SVZCk7Z4L+lb zyviw?mFeR3#4DJ=5SF-oxW3{J2ScxR<`bPY_vp8Mc0}sU(XdPGht|5qPhINampby1 zX+-@ZKGpRoz0i3FF^+Zp_{zT9XrBR_Bkv5e#Vd`^F;Ad`f@%U}AAUWy*TA==^gCJI z{b|cKLK(WA(UHwM5F&6$vB%P4t8^vB9B;NSwab0_E|H->`Re_3R@S`d*H2Y-)6Mg@&p6OD?13sevKEiH!WBD{Z;*ofUhIetU-hxsRbMx+jde>Tq5K zJd0IRRguX!v#>6Wbu%S4!?KcU;vSy5U><+g`P7(P-@GnuJjZrAHmTP~_bAQh_qq76 zrqTplT4~?27SW}D`G(p+P;55+z5La0x=XJzP8qt@-RJ3iy_|lri`2NQxXO*Si)vFn z+x!N8osMuMH}f7l?!$XzMtq(ZGFIunZe#k&#{fH(c2DlQW^0geDLszNYWfvrFgp=hpW@$6v`Oo9})JS|w-geA|VFTZ_z!PD`IB&G;!& z6J{f_-d1YAw}m^1>nLwA)hsd@lX7uX8;yst+OQ@ro21R!^lWIQ9te?Ein5+Lt1LZc zTw%l_Ucr-ed?2IKB`r&yOOoVBmze7CzVQ93)Q)ggZu48T_>}bBJCDb`Rz^PNZ#XGo z?o3s5T;%c~xnJjRVeeUBc%o1tRy@$~3(gm%Ywru*99is5BB=<$?`Pr>&~2FiMjInC zwtmNYlREHmsUF`(aob%dljDtPTEWft;Q_>x>Ew|uehYXRB*R^nIXNFcxELDSJql4f za=9o*F}ZyRs-w94v=!G|2D+oIewRuNg8Gyk`?wRilV8Yu$E`$JV6ChCb zS0h^ad?uTsKQ~g3y!V{o#2bqB$lNgd*~%7mcIs7~;2U=wPOK3+!ZZFtRwK^(Lb5#* zNKxhe`LttO62gV*N?g;dEQ2dOL&ciGczLieg3)a=+M zPLwERZa8YLcgpWtp!CBWhL}&*1q1rwA7(m}tPE-K6v92&4s#2jCm#O( zFPf2cXXH|Wl8xmXx-7i|TW$t~ zGli$c(dz6w*=zsIh4|$4X41PfubHRnRXlIrlr1Yh_B?<5g9C@H$}tieNjfOzK&|i5w>{IfUTji=Q=Yj2+0qJ17p|Rq zvUE^yYWQkPPEv?7Z^9g;5XPaz@@BpkCuLfG{uq?I8he1VS)g;l+~ z7BdS)4C~P!V={rcv$Kif{rXEHG5%Q`M9Cf!$Ah!a%$(wXLMdeE$c_)Lv>M!)OUE4} zuEv|A5ej)5pjaBFgd!;z+kA(T=_YuR&3v19?%6{%=BJxuD|r@&=!umLL~&Z*E6hi` zvrK%@;b=(ySf{kUr(~sNRq()`bqhWy{l^{foj&{|JO``hJQJLqiB0+NR+oj)n|aJG zjoC4ww=TW1pmvsSWkPRn6nZU>^t>!r4NWhY|9;rm+RlA7F|G3yo-?cvs4c5EnAOi` z(3WZ^e}&`5H)CFLg|zg{%O6vkGHlteU~Rb&{#fgFN~=Fj zFB~wI+w6_LgLh`iP4ay&vX^63R%7^^>B)oR&)e(dPKDH%-m~HF7b7&%2!s0*SmDZ{ zCOvIoZbHaL;A-JTK!3ExEM1{pI8TRbm|H08X8i3`6DylTI3_RDxii($jIFd=1mo~v zl}F`RaB9K%2(pTId)Lf(uiJB!cvC$5z-KMM&)lwozvgp7#zSKxa#@{Xdm-IHlQJO5 zK_`{@j>fBX^cM;SCvQf@p#G!dsc=}L`r}9yp^f<&ZGYHOhq;SfB*B{$`Q*&oZ*QMI zbk@K=njPB!JuzT1v$J2d z$KW4lC|SyXaQ*xqMZBnT6&!fn?Iqe7)IJl%uFUUx-BnUeTZFeqt1GVYcDsmD@a%Kt zeK;rZx?kpb&vbekb4!Ajh5^xnF+GJKbqZyMW9*H%+o=_Gt=h>n;nJLQ8w$xZ!kl(r?Skmll-vyjvTo$L+PEr}49)tY#i? zDIm}hJRkUk9Iib(|3N zG*dwXLd`h1)7rG;nxd-mq^2*Foxz~lKC@q2LLXBs_0 z2bQ8~!-Fa~#m6|@$sh3$7~!F5`c!-u;Ttzx`QhQnCfnv?n>gr0R7O|28SmnR*o~f+ zQe=|a<_RDhsKdSiM)?AK1C3xo30WydDqdxCVN4>o(&>HZW_eR}u0!97#w_w~7mS}v z8}j-Vwn$dL65GP<7EzN9Z*wZ<%?b@do@))t_RrdyJ{o;@EHOJ__;@atG4KPm&ZEx0 z&t}^w+>&8)zi1*8VXGC(Yg3=j1k^~aKbBI7QHOuG18YNH9t^|xSr)QE9Ie2`ZPqtL$(aW z#`^NMhXYBXg3eDQKb)oHrN^;1MdKa1-`_W|kJy>0WeC2ni&gOq$5_dQu5Hxtro9;1 zrf57DgPAh+JweOpZN3Zxr@r$G(rq~(yRiRy;;NqTO(G`g1}b$LxaU0kg>b-(+(V_C z--0FuOJp}VqH%<9r}1Xri%fYTZyeEwf469#vb@xtW4Lpnmnn-bxs0aix1<_W_LuOb z-L#hOBE)&MQJZuXy+kWAM`X;WaKP=rJehK2;dW77c;*ZI7d$RhqAy+ivaF;`*DmA4dSL0^ z#_fxi((vU<85X!c;`s(!Q)<~UKu=|TNMIFCgt$H;)*A74eB*J4Jww% zCM66J;!MYtN}h9I|8(`(OzF`1Sm7wy(kgmFahB&Ms?Vd__+R=N>CW}ppGNOl6L#M; zQec;sGtXJJ{E|YClR@v$G9)L}FQkb>N!9>$4&OAUPVWZKtHF&d!P{h?izbxdGq;*u z4N>C5!Fg|VR%U}kZeMB5?LDcijt}e`*Ic_i`jd1{816yNv4U@bvZ&L*w`2U2j`v>H z*{-aq6%S{HeQu3bq>3Ta0*|tPKXDEU9$#B>7XEA>PMrpk-JWUyTNJ!&10vYJ%~#2& z2Iv0ES_YB_F40gd6(25>tJLg0RMjs3zTDBGf-2Kt)Bdlyrne_dx0(Wq59`!wSS&Cx~jBnyRxrAY_pzc2? z`_+LL7cMRMYNw%1XipB$q54_5UAEsQKYGWkhgMU`LgdmdD1{#9z)`*+hKhF(^^;L` z7%ew|rv(?4LMtT5JXRt*XLMqW4<8V&nNTHNh{?Nl7G3zxkb8(2wDNHr)*}#i8Xj{f zuXXLx-}z69@&!jmH%$c$)LGZ+@c=#db`{Oad&}vG#J3X^rK&0Q=Pr(B`c6Gco=?1< zQjb?&sukZN@d+L+I<#qm7`ndmbsB{0_xqzq#*DyI4$*dhWsThXJr+2!)!S2O$&dUv z{*qrx_Sg_vv6{SdfVRpIzGW&`bSzY=m*^bvf}FiVt3G^%hFKB=YTPzD%RZ z@VvZdm3IAT;%&i0g`0{QW&OSdmTw&U;Q6eYxtR1oN;Gd}_Ihc_g-A5%8p|PIG+&m* z@cpjP^?~H&p^e^mT4eT$MCjS9gYpU7y_B0=bKz{oOlFhRok3X2jW52alHugVgLvT}v}gC$&6oMP6sbAGv0OMK%F;>OUR zD_?GoEfE;q6zD%RXWn1$_u=@x*n`f;JvFuk&Rp!|C$rBb-)`Y!r}E$)rZ_~2f-3j;MSbIg9I{aol6+e#?r=(AOU#`t8!o+WazU);Y%NBuF_)1TltCwXjrAcTy za>09hva=u`cJBvt;1%L20_`8rf>#J@&7VO7-a}a3MeRTxULh(VR|C8JBiCP}fm=`qyHG*_GXytLs}NlfDNqC2 z5NxIjD11{z)Nf$y-~SaiTUs2~XOs|B#1Lm8LS3Iy^+FwNLjD032=}}AJvD&Xg5T2) z{C*lhbO0dtn-IN_`%s9pPzS__4vensyiEGvXZIg}f}0H$j+-qN9=x7$wV{fG++!dB z0?7Xk{?x$#mL1sD0HOl`dB;Hh;~>sJ;6eOj^8Ssd?r1FU2=@#Sju7Ke0|06O%l)4k z*og&x2Vd~F8UT>@aR^5U22%xc90dQ#KM40;j+8j=c2vS{c2p%0TabT%#h)7ZOHBCt z`+{9NfM{R~q69+NSPp97#(zcw?)FqT5Cl*I>JS4^0|4^BgFiKZ%?bW0FZg3MfaqWV zu77ot8{`E4t_D0DsBj>NJ?yD0pa$k4{{V|!{*mjS8u)M2z`W@Vlm+CU__t~R%e^BN z3A~~qR-gs|)W8n^hz|bLz(1}J{PA{R1!@2d0X6XJ;zCbHDjd(}R0JN5RMwFDRS1B^ zpBngeHKIRW1FO&HP0@Q%!6L}QO z3;wYk@N%L?);*4=6O|ae4nY8@0q~~={>@tPAFqKS$h{cC|3AtNy_{g4=S0N-Q3^Ex zu>Ak2f&Wau;E&e;k{iPMz%SbXFJ~$oZ#ODjc(sT8Z$p4THSizq8U3*u*oNGrP2|aN z|28M^a)s;O1q*)2{|E#?`2SM_KluN@*)#g3I^hV^06$^_%oNCeDiM0SP~&*JQWJW+ zP(?!>04)E%g9c#F=>PM6!7ucV|FeC=U(!GnZxH2{834Zyzf zAF2WS-PwUZtZ(?cYhVU)FNX9Ckw4yU)Hpuw)Oe8pP{=>P;!h3yJ~Jdg#RI>)20~#T zfM=#ij^pD-h2SuZ{rZ36AJM`8Q4KhnpnwAw6xbP}Uz{Vt&Ja<+`5`zffB1)f$%;IqTP>*-P8Wz7xT%{k!rxUlyg7Vu}y z4+Bq2ZY*5QIDm&a7x1v)25x4DVeN?ezexkzko)^s{ynIPp#6Uf0iXuJAFcsw3J~ai z806*Zf~<6P;E87ZnFc68fD0Fh3%>%w{RH7W85QK36QsY^1o08lAm+st(A}E>`Uc*E z+OI(%#QikLO*a9laT>t?IS(kxdkQ`lJqKy=8la^q5eyA~1pNa=prtVx3=dU;k>P64 z-I)*i`^vz?L=zYvZvaCB6<~6z1x!u1g0ZnWFgp4bOii^yw1DBkN-#OujQx6S6h0gI z@ocgceqJ@0oIswnfx-R?;QQ<(u>Nnd12<7`A^$|a9@IyCJg9rH{Qnndz}XrFB7@I> z&faLy(Ci0%oex6(DX`CvbddL}U}EMAXli@~Qeu_B_;dxB zn)?FUI}$)rXRY6Z*2KfBR70Z99*D3J1+ymrf=!1mF>tJZK5R6Wgfu^RHAkvgY6tnuKnG!9txfjN=Zb&7cwhzc zujK1V?FRV=2!5>wd|YWk9Bs_Rj34r3=jc64s0O8PZ&h{i-K@pVW3;!qwr7Bu*;X(R^2mOi#CCHGq7LaEzJTeKrMVW;)=rajgA7?)_{}V`D*NuKb_Q zmj7NFP(ryu{<9&l{Qp`F1b8umf?_q0{Q5lP|A!6uM|J?t4TSo0f|sEuf!A|-@H+l7 zT<5ny)C+#B4*psLyECPKsSjZJw`T^gW8}c=SF#|)ix0GQB!FS)54w8NK#)5xa4;pq z0*M0$h6=&#LK9r;NqgUWJW$ZH*TjU(JmO}Bux%}KDnH4Ww#x*(VR z*foxmPYG{+IQS)x@rCz+m;UYa8a_=OOF=DYE{NJqEiP z*v$!$>)-A#_#HHW>@V>3qHe|V{~I)btpBj!!yw3qWv5s0PkKh~_LLy?tqk~3`~dj7 z9{`^!%|UB-0LXfG8@NF`@b~8lcQoK^g#s^pPJrHlcc7;~1H?sK0pGgcLjV66^bh5N z5YH3Xya34!0$jMk;P3~?e>3z46<8ZEI8+M#{{U#HjfOVA5$l@~j%MdNvHWgq&w_>J zKCJymd_H315xx;!AV4&N_yFYl*k@Q9zjMD1;{+sD*nPHpk9^L;;vfie6oU4j6q_49 zgSp{i-S>kaZ#LlV!~pX0G{NU; zE0B^T1-bvhKb$AS`h;iDFZ=|Af0zqma|13=UF`+FRC|NSKw(hz*&VdB#$e;Y02fa1 z9Gf2^{2zt>J|E1?HG<*MQV<_51O2`SX#e5bUs&$PY6FSw5Po-k0rE8xH!dsKkYAovB2w?>)^{5Pw=6@ z6!6$7#pnx6XT6AUu*$IS&oo@XaoLuU$6@K-+}$zf#?^);9Fk;=~;LoQJIU_3fD-J|D*aSbIPJ)7sv(@juT65S|gwLXmh)Iosv&-nj$`-U(# zc;U|rK2_L)^75x3*ozDL0g9jYm^fRLgV;z3P*GtI3iAws7mNpyxDX4-y^{s32Rf#$|UY+Q%L`55T$=a)Jm_k%G1L)QFPEVl?x%WKHGAO6AP6x71l z&+ zfEwC5B5haKU z6@h*M`i87~@Lu$UDIgW8%9@TtTFba%f8J>9vWwJ8a7 zeaix)W0hcVuoN`a$3a`(0b~DetZx__`wH#(0M<^7jn!iFI3x~4d^+Ouk$Z%Dq$Y^y zW%n5pM`Ha3v>(&RvsL))hu=Wr48*n|@ndVV5))!I0PR3Qo<10!%mqUb`MHm_7j(|1Zvz{!SY3_ub+Dw`gFeUjTasyZrx)eM7J3G$1!m6?|<%gV-n`7z02% z0O4kb`XBKCcCXQoJtl}BD9DHWPvt>C{^5IDcWXol|2dft!R%rKn3=ByrA0QdzF!P5 zi>)vRXaJMbHPGgN!veF=j$N~ePewE_F=h8~4f|++6BF)g0LcsEqc4Gy;wMxgTN&1_og*2*&ydkh}n?`yn=eYN`qA6Bbwc zpiLNrI%$A5;~UmaBer`M^9^ewkb2`od9x= z)R1A~mEXz;B!0lZC?2d=i{&=w%} z0LBJ?yU*xHy%?ztc-qs0q*v15ZK4wF8Nyzx9X-f@ZwRU@JwZyG0{B$s3}e5KU|^sC zd@ObVU0oTlCQtz5fl$!al7fx55}Q=ABFc#*mw}h z3Fa4jp#AuHj@Jq82(%l}r!T?$56d~s0}vmNjT2yf2+0c&Z6LJ)q%ME}=@||Ue8%<& zd%KE&Kbjxrf^eqb@5KZEiy8<(`2VdMaHj;3;angqM;_{6-{0*WBlV$QtP%a#Tj1@y z7kntx2eoxxAUWY0NKTXj?=n?DRM;8F|1W3&sS!b65a@9PboZr!@tF$nCh;afdPNUTwomV70j=6!Z8ifDfssSGlDp)t513`YwaQ(w|4ChA>{FNPWrN-8X!$Y}X zjsWXKf2T&|3vGd)8|>|P9t5?G?x1Hl5#;7*V{HJ^FLJd-{Y{OK0{FYJgT|&X(AAp? z5?@^d?zVKGyv!c7wa0-h*eCv6?hbSRYUl&XKv@wQOwPcX&vHA~4vdafLynQy46fbP z5y%x1tIcEW^djs7?fPqMEda&^2>(cYh|~dhb3EkP28^-#U}M91tWSC2cK$E?Bj*zRj&>lxe~16yqygA7@bjXDwPVOVGCS~Ne&FXC@Nt8& zUcqfpRHg&`Jm~*!ozTO966XC}AU#zPG`9MI#x{SDk){M=0~+uuTnr?}NI`AD`YFr} zJYl3X>YX%Ss`$O@OS3z{hc@PzR4#ox1puIgA z`UMxz+WZ>Uhnk@er~?E2r9X1B8EoE$*nh;XBldq{vK~G|as$}^gZbg?Jhb`n9;pjV zPBp?ja0K!>0dvD1Y|Rg`0SNa<{M5%gRLJ45zw zpGox_>;RVk->3n9Z#s~cc^M?X5!>k>|Dpz{p^xAJ(UE+>XSYuL3pFAS2MWlyBIxRm z1)n}!!~F0N@NwA({9KtqLt`))7OIRB|2o1OBEA{{a*xgN;Qem?_qRFT((2HUyaDEZ&=(+|wX^<_xq-j*2C?;G$o0-M*i(XW zC6ad_HV270Ubvlu{FD75`-}nu;QB}S{|y@O_n`xC($0g#*Frn||IG}^t{w1lf&C$f ze>79-0cS`OV=sWuRW=|qLm9j05UCCMx-i1n&=It>MS+aeJD{U04vbEIfc?L>Ak^n5 z2=nIygQMB79t^+Nmk!rw1LU|FZ=P4fxmnKccmr&qVTqFn4jt zKPlLmEk))_cXGqs{BWmNfbTAQ`++Qq=1zkZOjQMwZb_1~f^99ECNN;Zt zOwY8!*u5LeJEDX6h29_Qe;&K0kyv3Ja);#j^Gh)Q`!P3w^on-u#*S`~TyfW?VC@F9 z2fOQkCx?XVe;d)>0EqOy0-TJQfV0Vd@Z5+I-ZMiW_sqc20Df(>A2=EA2lkKX|GH=N zAIJ*=19$lUcQo+NddL5=29Vj2UHp9CF}6lb0b|Gi*WP!)S6N>FW5>@{3Bx380R{J{ zMXl9pwc4q+T6gQjDsHU`%HAt`@4feAg&lT6*n96i6&275=l}hl=Y4PPO>ROG5Yaz= zK94uyCO7Z%ob#OdJ?D5!M)DseKkISHO8qPR#tsr6e!FC+J|Y=Of7aM=+4#2*2kIpe zem8*TzrnqK0ye;3B_rWssj3W>MGM1aPWcGvfN}8i*T4o?AzQah0S0h2zF#N1cF%{; zx605Oc{_e>==izP*I>hpZXln~e&k*L3Vh*=8)K}Pa-VX9{y+J_mMM%I(1!R1{>4}D zHMVb^4UFhqT^rX=!t+dnO)^uqY@VukRKB-!`vRFcaf}S=)#{w`fYSd$;(>ZFB#aR< zJ~U_cV3}1uK=VXPmxasj{nKR2wj%Jwlh6x=zyzg8@aQhU1_a3GUm>Qyd$!X2^RG6@ zu@jphBPu}a)$)zd$3t8PF+bjC`UCX+sJrd>AHTL`_1FJ1aUc60GwyHvKgfex{$I7e zw}0M#rS7+V2*noRd-{T08aF(B5WXpY27agY-f1}@tCr@;;5V)?^moo3H&qUxSEYmg z7YGj+9GQD8na|J`z>3`keLn?wpNWzjbC0ZC9VZ8l%#)paCre(&W3p&bAnb*a5;(Gx zEL;!-+HR5Ed*;IC9|>MqFUO8=1O{{gVgjo`Z(@4(Lk2^}Yu@e%etsux2Kx0zj?+K4 z>2KmU)pRv>g3;yF{j~3G8asc@-?wc@zR#ak+FF<*<0~2*5n~Z{Eczt>w>xFQgg>P5~rnEj?5IDwL zqQj883+`_4WX`$({vqif=6^M?A+M{wAMW2>%4d8kD^|vU?g5eoA2B=iQM^8^_dh-1 z&+rNQ$hgAS5GVYHELj{S%a+DzT#&iIBcH8>{9lgv?*!=bO)3ZW?5$9rkGh=pz&>C` z=m*jtr2j|RZSn?3U@NRKHXrmjfA%xj3dH*oFMRmOI_o{g6n1Ow(B>(=r}<&Tn20&0 zZ)o`DsD9@0uVG_=HyMwnZ^GaEpB$6*tH(=z(rZ$X+)MHjUX`pEV5ISNK~gWtjDA6K z<9p)$UXm04s*L`yJLup1j66X4JM%zvbbCojyHOGnyTLBJ;{5Rduw=0jH_Fl#0kUdc zB;tS1Nw80Q%N~FY=-UZ4U}x9>@Hw*oAycQk4cyqHQjqL@ZH1-G#iIGK? zY=9l1as)iaSCuj3H}D6)K1rVvI_v~~FD2v&l?7+&O&1AiGug5Gh; zRNmD?M^@tO=*#Vc4A`o+oUQ*gzOOzWu%F}u&FdNZ8~tBD{?pb6&abv#z<)D*#<-!O zKmQ(cNTfe)183b}{7b_(`gs~dwEjN6*4#5bhdyd*=#!xTFQFf(2i)lbQ)8m^w|F2d ztd%6EUMG`gJT3*LzX$z2#pr{^#Rr1?Tfrx^SKZih%^%x2Blv}ZV?DK&AT9YGNl!*h zX)G`xz?FyjcR`#tT=8D!3K;6V}_ z`fK=$x5)USUdRRgQ&M9e0v}8U-eZ=OPa6W;db0X4jKTCdO z?nrGy(ES*EO6H!(179J=NWEhJ9_xt65B#35UmmCY;j_SQ#os=zyaS&C&yp7Yj0}0R zjSPFcgADHFt@v_B?|Mg^5LnAd+<(&FmID!<5*g_&5fNU-CTK!@AT#rBnK0>T$alr*z561ZJm+hIxu#)`>D{GPf;>rJfRv1Dn|6D)Q+;9Gl${=T-LjQKP{O7&5 zKim0h<8K^MfATc&rW@ByQCUD;;9?J8mIdkWjt87=LiG(AAqR>}AC>u4y=BVumn1B> z4eH8TNOIDxQdIIV^2Gcevc5*F*hLOlI3mB1z;xw5iFn@>*}T0#;-hX8pJ5(|0X?Ak z;*z50Bs%m)#fi=XejqyJM&t=EmobBz!~bh9YgXrITxac?Jm7))BloukKHwVQLedlq z{=d^-sO&t78d3G}U`z2n^X?m6ihG9KkMRweyRSii{H*Q&lZMW8tm*&h=Ue>1pL6#A zT=IsR8!&Vw{ay4wc%hokM$c5!-}s@1Z!Fsoe~&SR4QnPT{rg+=cjkeJC`12q$phgb zZ6z`sbso6;Q4v>4PVRk@o&7s0o$wC{4QkV1Ip8;{g=D4w5wYE9U;_d`Yt;7pc7#m0 z9qSH>47x^=Vt*@T6W^4w32(@x@vm#mz=YCQB`5t6nKbSVrTe6DZ%Jz012VDn4d6rG zL!1D4CdB_(&vEqg4e$%bL+-AIJYBC?zyk-D!4BM^x|lct=6NWu$tRQ*qzPra)(Jqq zP!16L!FV9wqrRt)N7=*gzd(M$;6}}R#2wL&(3%q15X2ifeh;;R)a&|tunVY1`1$r{ zQYX+xWSm0l4}dXYttr3$@+g4z2z)|?@r~x~CY_S~rtWwv8O*yC&pAO7N1^mHT@CW|_Tu_i~-8NOGPw5M6V7c0K z^y&7YCXlw>@o#p4=9^USs_ex*rTs;Ht9MalgYm)my|MR<{l&AkeLlWN8;q~Kue|T1 zC%@)W+_+^o^53g}k9Hh&xUnhu9`g-~DT6(zJcF1Ja}LBJ*celOCjY+ud&WL6_9k`O z`qdN6{kQ4w!~>Dhxc{X8cfbP%TYQD;fZ%{D8dYQBE??v~!b1x39+zGFr^udz(`7-$ zaQJ^8sK0mM$O6>*Edlm(AyyUoK;)wrz+C*>Qp5)rNN)OLvKf9LZ7$-$_w1dIm_4&kB=YUdkO ze}KR2-*eV4{F*$#xBzXOjcdzf=v!?}PnsIBV$%P+=7Gl7n7HplLcbt0^+8#=CRSFj zO8^%5ZOPAm4EeuM=!am%2`mRzVA=9;SulTuY}ssKTx|9wkP!!aq9F%`Re$4_#9hj z=-69>-!`s_GT(kZD8Ib zFQ{*bpCfIl)5#C~J-%nKLFPU73ZVbSzrpv6{^xtfrXbDvwe1`7^SF*u|Lc4FyHMrKyy&N#LhQO3qI3l|b3FAcTH>M*uG)~eI?pLhu7bms@6Pk~E-v@Nufpg!9 zm@w_VHEJ7EcOE{v8gdnW9pdq{`xt}$A7c7Ojv9OiPlz5u8xYqyxpLd+L5oy8xKkDNt{kN-~MQp|y>94kd@w-Sv zSNb1R{-XZ1bGzni#GEZZkgxpv_0gYq+x~g=DZwx1dtity{m#$jUd-PypPwH2wDf-s zm?C@5WgVE(s94B<(%xQm*#n3V#V2-=nUycfyrsRQWYQlcDdk#;ifUIU4}=7@l9be2 zWcr*JBt7HT5*!E`HL>2%U3{QcpHkq5!ckX7zc9r2N{I`2@FP;Qe3MwZk6;``=3=4vbE1k0#TTFdB9J@I-4dKI>oQGGmh)@@!!Z?bZ#RbsH6D=-*Ht2#)}*!&`wD+96kXtFZ%|@B_9!aK@CH`jVEQKkk2%>Wt3J z1EhaU_>JiQRVGKjT!x+?@xT(cHTh#FEEzGS;r`bE1GEVKALK81fH*$NRObAckN*Pk z9<2>PE{(RF_I@K*8*uM!+<@`vDE|?sg#1Yf{|D%Nd97Zxj#68@+$(Ij&%fNPJU|*T4#<0F^zUcZ{WtoUykNga z`d7>iLC-o*8PnHGWdP;C=uf?5Wbam>e@~@5>92kqY*Mv9K!5U|!3`37Y;*wq1k#)S zfaa9&@3i%kLLZhvZ(VNntZmxN>*#pgf6~8^JWw-dRA0UzBD{@EobrsMrrlOe|8pz{ zXbS}Uv_-z)Da3*QgIvL{HFs>!uwdRWGxaa%Dfkq8#QTsN$WlGe9sujs=E4V90qpo1 zV8!Oh{zHo)0}%fO7GVFuB{*{v|K&{b9q zz*6u5YKIUn)EO4Q5U}Ue)*X{j|F==*&l|1s|6AzkZ`A%@hWpMu4{JWR!`?&gp8lTR zPy4>x@juFA-g)Y0+y8Tw|D+}3?zTPNIQySC6Y2uQbdY~e4EduBdgmADQH^_!HTa$C zW%^dPH2tfaIP==3zgr$~_6_Rr3p8)!lsm3Z4t&>m!tlV(kpJPp0vDr>^lvWoXKY~I z`fTJ0s*npF1ep*0um0a*#CVoL2Q#h)8IO7q_w;wB@tNuGY$w?I!hSV2qlpXfYub{w zZ>X{#cb|O%XqzU7{{=nD(bEt;tGR}1?{d7pXRUWF`ZsZYL39G{KUZCHpg}xP14D8) z_<<(Gh^jHAz$pcEgb&yS*dcG&f1X(0h!1*7h+ikkO8cwiWj!Woi4R!u-z|{0>wpU> z#w&8ezyL89bO_jB>ie&d8zMH$&T&9bb*qc8ie>rYRP`CDCsr(lA2+54XpWxt7X97vz>u@x0SEnm z;5>R)ENfD{)@ZMRSypgZ6XiEBwF|X2QCNLhbS)U zX6^mFd+$uiNcjVDyfZ<|?b-*jd}d$heqj7gZq^?0>;wJvY2fR>1;z?@Uv)a@p}8K| z+O{3%qT_MrjSpt%XmWF;Kd~RozgEYF&DV?#+RN||`Nqf-e1>)ZN&jJ(VKCxj_=#A< zKeE<`c(vAd#RH`O+3`SYzG$Sh`9fjtw>p7{ucO#@&&k&gpl9s{E8914gHl5Y#!k2cgO=V zNrwJS<$>t9w!-C%ANam_fOY_T5k`hw1zm6@`h&fRKB4}=h`g_TWfm`Co;XZv$2M*% z(t7Yc`{to%PzwCNHLw9T02hXyp{N6-9AIph_)pTE_u2G>BaYL=e~IHU@n8DpreB=> zp6MHl7$1I?e4=?|d`+HOgTSI1I3g6 zAjOj&ti}+0k8&VjY)fDQ-qO7P#0js$7l?#SNBb@xHDM#v_oEKjwYMC-UpGMh5>v4c zJ%Z+eE|kxZ|DX{UN1#vTaP%tW zOq-E?(8CVvyz&6z1F@vNy_%p4(z0(9E_e8WrpN&kA7re!2|cOMkEk3t@B@b{fEj*Q zmM#rPd~c0x*qEy|fyYjuf75Z)gYKK{ME||D=ucW1f9wm;n6;R!%`|y6J2qEMf5RvI zcW0VA+X;sL=I8i1ORD0l`_+EJo~4HN-vv$ zeEhYNlytL1gtu!n4-i)z6?PSRjodDgp;t*k?muMa^pDjim^$S>)QHZ6{XZMIfn?wS zCn@fWy@A)S&sQIf_nEn%b?fqF!-it~dy%X}zX0MxSueN|eM8velXT|KYQIm|113(p zL*sb-n(sN}Klq3Kgvx(>P5IB*@F?`Eb*%4^2WljT4y9sph-sf*+l-v_yX z9$^je3rPPt^FNYhtNbJ_{SMrJ(BGvu9dTs#s@by|Imz&D$mN#;^SeZGqRUrCBZiN@ zzF)2aCL{T`?b&>!jsT^mHQa84qL~P*lhbT4%yOwZ2@#(4QQ+& z2{Cc)Bsm@R+)=3O1O3lz4>Eluk$0InAJUz?W5OTz%(VKxc_1zo_n-84#{-G2C9~j0DJuIN>;tblc_1diz?+HK)OWEu>`JmaT}8)#w#9 zVLW1h5!Xs`0%}EKZA(l(z%GoCHES|~`$f+c%!FZoD8_P$@8s94GpjYv z2>6jOzpG^@dWkT1$DAN##c|M?@|`(6$`QqX@;zY6Y>X#ufk`Frq7Tu(r7-ISomFMe zwEEuUfR!&I{p;g_wA}8JQ*s;V?<50Ua zc)%@&1iBzI>vvMQWSErCeINBj9TiVzV@d=4T1a8RW5E6|g}h%aix&H7omqen>PW|2 z4jb@gjrV+k{x1g(qYoTtMS1Tm$5{`ycmG24p2JKLkRnW)c1@H#E1PBJ<5M+`W5%{aG7iNz3~8YMmGKHZ4yrFB|@!92$ zTS-h*Hz_K7Op1%1kksV64E@0almYpL7)vB3koE!V3gbfW zbfLdvp3(Qn1I!sY=wA;H&?m?(?IC&N?$lg?yI65lTx;M+VT0+bg(+SfxbY}bj zdrq_v>H^vW_Drh)AIt_oJn%4PL9y10m~i5KO|9=f)Q`TUy=g=IJKz<*-ssk*w!o?{ zsFnkeCzw|ej2UL^O*(CIZ^(Gsd+g(2`+rv60K7#VKs`Z>S$z0iGI{{+KWCX>j*-1M z*UWjw<@uHa@#&c1Y0H3mcpx^}6LBK=0%s8`R(l`@{Uu-*INOBhmIs{X*;sSU0)0KS zR*bbE$AI}`PZ-`y=HF-oOeuR0v+SCizSY2y)z_!g%(*3&xVh5bwjqrFR~FQ5&iaxXH73<^0Pz6yAz;5@oBjr)SzYs^@gAlB zQP6)2^#9$s`|M%f%4wd__s;|I8MyzXe*<}-$#Fu&2V&qGjw^daQZsI>roWSK_+9Y; z^}+aYFUda4{3Et=#mYn}L|=*G!e`M__!)_fyaBTd(4V+w@A`Upfb=gL|Bl-Dj0dnb zn|%Z|-w*#_HSne5iZG`NeQ1mGUPK?`D_#26Unp`w>E8$*h)Dt+by+!s#^j9X4``go z#E6U@FmWLhAFADp=Im@jqYFs?@|mA#UY~Ip&IV_$fPR5lEgik<8_EN|!#z+_*t`1v zGbdpAf2=E5SP^V`kql~X%`?F)D|?oSHP7fm;DH3v-d<;r197R|k~jViDVT7V#HV8J z%UR?NO}&|?#3gppIB{%zM~6*tuH^u2LgGRgqi4*2)v9DOw*WlQn0`dgGcFDN`#9)N zJ!1QRq<_`IP}m5x6QC$XwJZw^uK_4z@~pgcpyFvbv(s4BOZ7w?tdH2 z8=s9mkdV?vX}^AZge+X%Ph#RbKn4Iythpj!_EBr*+?TAex}bF2(^9o~4EoUhO^S*h z1MXw8_Jo-`ufORkTq{ZXcO6iM>GA0^h#@{Xs&IJHXt6Cd@szeM8cJ`czl>Z|D4o@nD~M z#*CRe)OCT%0i}NU3aMN;Lh0X_nb(efL{7cwrce18 z`rlyso&7)7`*7BP3;i!pIgpr*`%n6RPduQpV)_KS7#C_K`9;6SY|x=HZPqK`3G^bR zJ^-$;!MY&0mG&K*HvJtbpY@SUnfit##NQ+-$vq@B{sKz=*`1k0?hR?9yovQSkNDJ=N5k8LX`ugzbg*_gO!PuVXt!-AF%R88Y8Z!<}@nS z3-X{n?7=n;pP(`Q2}6Qg;?CcPyS`X^{_g_@ASLPG{6z>zCx5DysqP)tl0Nl*U`upnW; z10~4frGc11cP({#)uHVvvY@Mzz^7Y zLxUl4!jaTfciaRy5FOJIvtV-+=fT%q`zE31^9sC{NkYQ)O8;};e}J(YTATn@(mp_pkDky6KhQ17bc~4ldRl3;19qT ztd|GC8xg>obB0A!TPZ312e85~;Po-BEpYBhbuM{;v4QZQ&cF{%SO1T3p!su0gZ^fQ z1?hjG@_^Fc9S=Bc!iL2M8qEX1lg0v5d?su;v4rENJSNN5jzONNv!m9ire6>i(Nc2r z@0S&;!*qsFLLz!igMw(D+|f7%)UukJ4H=q6^0+ zOwRW_bv}83c0gQ;w@fa70)0W>kVeo~*Z>X88POIfEd3+uKi)=d8S_QXI3n9GsKygDIA3s<^9=)0cODf6{ePg+U`i1a zT)a38ctT*xNdF6$2UdgrX#ZHx?XqYKV= zFB(&KPW!I{^heE)pvHGmh%5asOdc4YQs_B0h4lX(d7x1k60I#kodIJ5c6{Lb<^kZy zB0@W(E@Zmm%83PAFn_e6e-Z0f2b^<87X%NO+H>{}WG;yL|HX?# z6;sR^r!I3&FB~~=9JR-!{k2$|vE(8TST)CuwFmq_|A=m=4XskzpOUX+$&v_QimP$O z7a$L81pT{%?w4W}DE%+;fX0a$8zc|+g{Vm1Fxa>uvseT zk97^`zYR++@<7vhz|6OV%=bm@sa0Fx4p)2u@W2+(z8mQensfaGJP@t)zsLi1&$3~B zsHric8uO07XC8>g{r?H-j+;%J)6SLw_kjnFoKGHzPis7Wz+LURyEtLPe8WayN*ikv zHUL{*-M9R_#)yuf_WVAqX3@_#)Bh|T@PDbro+YXS>|9_-zGGdm-DhyCdr*VktUmgaA(RJ-s0%z_ z!utFo5B%VH;B(OZCEpRPnvwnu`42P)A9(!?_P{6j`uIg2_`&kPanzoFg8luSuIvyZyz+N@* zgf@oc2O1wZh8mN8Siit(49RQ#ti=OA2km=e?YhVV7rY$U1sq9F(EaDAH>*X@ru>8Q zK&dBV1NUOh!aDV%@(pbnP!Epi2OtMdp~hqudRE^H+Ft@5XbP$8{2kDoK7kz{piQv* zA`e_J@qyjwO*RDdZ;RCoJ!+lbpo*EJwX4T zV4W>_8~pq54IvA>XcycK9*6`F5I=D0eBcKf)~~p!^@bO`O?V1@NVXwo6oGYjz?jxQ z$7(R$&h-z1_RJsu6stSv-wX85$0DBaJH?d#f5rpH1ASX>MvO2Ys~7Ud-9h`Gf)CC$ zIh*`>X~dBfDwc$J!fUXe!Wsiy`2?)Bs4X~*buu~cJE%9bdJnkmLBYBLd)4e!YxN#* ziy!!Ybipa~qdAGbWQWn4ZY_GzOu!lg4AE0q-2;7E{U7MxEZE;Qch_X1;TJ_dtN!(t zg8znAe}4(SJzf26vt~m?PC9?z#pTzVHNyv#JHP)^myc`K3?JzHHvYWJ$Kwxt>-zrv zHNSWH^Ua!dae8|GX3K4^zkg}X@5^1^|7p$dhq}Ih$(g=){qc+6T|9w{CvfouE}p>o zI)S0Cf9Q~WYsvp@uJ2!3^ZT0mrlvlssjq5&UsK=J)Q8UMSM_DN^8-Pjx;y~% zt;+*IAG`bk=xgT>q&|240Q~y(`1l8~hGJdPtSkPH{~pl)H|T$3`n7IG9O;<;Eic9E zoxqh2MqSAa%(L8uxyC0QGp#?yY-@X_J?7aD`!Ci9EoJEYSnpwB7SRyQBOCHg3mN=2 z7G_g(KKYPd8`;v$BebGZceF5uv5BcQZ zX7%}(hxB<4>sb%!{fx)S-cNh%`uJ&&86Q98G5F&rJ?{MI36D!ZdeWoWNB{I_(4Ord zB8~>@=fKoF2s~ZZnEtKyV*jTcGkh@P*PiXHbG^@S2KG#@I?n+6A6VBJaQ`o3|L)F! z`*%G9!5Ikle+p|a_MU|^co6I7SoZend?khecmn2=JK*aOoWW=ITqDOUBYVDSBhTQB zd~k*{=-2o&5b%KD431*&Ay^%F1|R*ix!e6Sm&RNw@@ltW|1)t8r*Q__&;Lho2B)$2 znYahHm@{zY1?CgDf5ex6h1bQ}*POEr?70S*Y49UB1Hs-G;|y-)8GPu(2aKsBzTOe9 zNJ0AQ*DsXCFP$ycuGw-2a0(ha)%x z^!746oEmlpnDOR3@AtgR#5#0i-Fm^6iAO;HKadAduW~73PMJ6ZGaK)0&H(%8yz82} zaX9RQVIO+HHfUkl2Q6S9z$SRtL)YMUJYXAm$e_2d-t>@xZ#0K(fc1KF*ac?w|4(z+ z2F;~kPrUZ@F!lj-W52rWgEO1~bVDZSe<|WFcOl-k4`*QJ!&&{D8pj7MWlaCp;xo`& zM)z&yat0&&fJZ*{mY`wR$k=`zWW>i;$jFa9WmNAr;@kf!@#}vzR(J91*IoPvTqpkh zxvm%ge%Fg%UoOln{{(ZZKgDaG>t*c6*Wz4SpZyuYKEN5=h5Zk~I_>Cz?aT+9kBj-J z_1^`|I_-~MY-78lZ~E&JFsu{KptTg`yeNqg_e);-b26duEuGCdbwVGRQu?Wsm3$~w z6=AYz<9OM=eWvW$T_rnr%$NQ9m+LxkV5J<`zrykL{(Z~kz=2ixx0SMO%WU!g^k$0> zs%^w3@WE-?iHN^VM+{cyMAbZlfYF{37H}o{y|%7>20Hr(G#_#WbR+t~4QnUy;dhA7 zAn-uH){>j{gd~RFhy6c;^{h;t__37c{zt~=zb)hP-jD@z{AJI+3ORgq4dz$v!HnuH z+GCKjj81%WP)>e>xl>cea(Aau=TVn2tE)F6UZC z`wZCEDA=csB*fkVxp0N{JGS}2Z#eo&$J{O%DG%uU9p53In0v{&_sw)1CZx zDb4RGt5&DT#FDpU*hiPi#Nzj4%hm}pYuYebvnodp9$KYyTEF^wH+t-E#s0C^Z?J#N zSv9lOt^MOXbpLpt`w!@Ui}daJ%i8`z!hY>sdOYeG z3`dXou^l8f{ANi_{2lBh)cTBQFGh1y&dM^aSkT*#Sky-{e77_ z`8~|UM4##Kdt~j}3|X=$Qu%-X!G&_@h~fJ~hgV_7@>ZO|7NxJ*Gk5@Zo@YQl;9cMh z2AelHe|7VwX^;aq%kcNwoBcQO3>5Z_KR zb;`Stg%3$=*e%cp@Re{MC=)}+cEc>$k1-?mUa4H*Cky8KV7By3*|5F<^QxzzuQcb? zZvf4AW0vq{IS$$P)yZAhFYh~N+HscYLA>rW_rW?3%Em9h+6Dc%LM9gtP#dYf_(7e% zGvX*NH4Zh;05TyWq$6tHJ#~gA`(DOIT_ym4zofb`GUytaGUZK~KK)$@_rFFW z18)%j;cX>&bQdWpcu8VIZkOWR7hn^-AaiGpl0}%Ivt`Q!>>qPHIIkJBKKA8yYyZ3P zx>xu9)yds>k9@yJb>H!m-~;MKi#OPlXU^0B82~$x`)|q_*t4hI@j+-%8%a&Q4Ku~O zU>|UUUwbd}u9e?SiQlZ6X?Ap4(@+>C!nRh7T2 zUX>zcUdGchuHbc^c?z(*$&P(d2EXBn^YCzuC#pIwlZde`3&)p(!v*H()c$plPnTFqlaUr%tx3P`;u(f zP$X;D<)Ei*1@8QMoiES*eSx{+x^LWZ+I(F6UguAPKRA1c`{t|t^~rBxCvr9o?g91V z*QX9BPi)^hM@GKiN#)|e*II%XuwHHH2#NE^Ad z_*sdKxLM^v20N6evn zMKV(Fhd$^C-S?hM!d&{LD}rU>xYr;9UqIimV9C#XO6HW0kcA6EVgHSneft)}?purb zk{hA_HYvSz@Bf3`haF_=JMz8y0ptVa3-AWypxy&ZH}bA56iH(JHU4YFIZ<_W-_ARCVK3%$GSUtz}ZSE$+yX*DgTnN;C9xGRpT?+{Vq&T z- z48c(kV9lU&Cl5GlG%mKgYO6Ydd{AvCwT2#ePsWuzFA34VmcqOz zWPIt%m?!zRq{Q8)bETIrOTY}#F|vGFtQ@Y9pURS@L9%pNIOcQDkv#`y$d>ITvSnL| zlusY1@_+w9>itf5dlp??X8>DS=Zv8*SZ$xli4PzXv(g`ug51X?EA3Cp z|1+k2D3ujHm{psH`Lgdr4h)AMR4xY&E!F)WBmd(LbKbb||7Z)+|2qJkXxl;Nd*uzw z7cjnou^&ix)uHM?LYGn|TKx0n@jZ}*sWK_QuMB;=twT3zoeXMZwC}#P|LB-@l3(&W ziBIS%p`nn6PW>^`(tj;6QC-ZeH8;A^z63HUSCD`kYuJH|$`_2m)Rmpde4 z}kWBPf^n7**fqyL8e!)KtbgdN0t!k?iZ z@%gc>>L1OW?k@x1ybSSVtX`LEY}t`_w$8wT5wv^CIPL=CKhy~|^g={9Vqyu`!cKxc zaKC=o@T;$R_j%X37qchB z+lHR|_b-(l+h^Xx{)hj2Y#r>M%~+e1mbR~J z@BietjDK2k9Q?pJTwFXC%7Vj3*6Dd{+eW{7yo3zDSq8s*8S)CvHMel4yt89o5zfKw zUCrw_kNZC*$KgvxiqC+K;?uvA`1I=tEJo`_VK5whx7_goRT=xC9#CDUvd-APYSU6C zSZAZWp?BjD=)P8#El!3kd{Ksf?18*W3mN_q7BDDW4aK3@J?fPYYMeoIoEPSkK;FlA zS+i>E;RAaHVa*r{e5PQ3Z<#UULzz2wu&i5`se9jdutI5n2mP!Qk8$S zZ&$5Mm+{4~$%JCY2R?-lhj_T!v9N8_4l;JIt?xH)Dihy9?M$xm6XYD5cn0>obDIxh zle``0P%RHQkAQYTJBdr|TuU!RMz)p0BFwu`y$F35*;z6(?}e|_2C zeP#QuNwRi*I$oz@@2ep9H!0uGoYqgq4EZHu>X&N_?ZClhN`Lix$Q$Gb*gE{4=e1#7 zsrU|Vr@2OVIoF0_vK-j@WX$YN_LTIzYcanGXQ1-1wZtcPl#;RsB_X-9V=ja7nOyIJ z`pvKtLxSKdrraiTD?Zh82=Z$o$%#E6?+T^3@F|Ilx)Jd(KiRow25jFYYWMJ7PoL5o z@e>b?p+p8)B$mxPR9(@RG#zPG){pJocZ` z5wnc`C;2CTgAt#O8OTnvE_ntqxC=3fxbJRc zB4-xGCUlU@+#W_Q+V)WmnOK*75Q6+GYB=8DZy*gDkZyAsLYRB3!6f34mzcD-Q5!C^_1B~?)<~*mlHut!+ zrk#Of_NC1SxCaRt?WAzhZzUnUy<>)reHUz7nX(`rGI7C@kELkbL$Hr9E26&m0qleL zxa%b+`$6Oe5dT>bC1FABwV$vZQ?-3(@`0c3AM}T;SGxyiP>}r$_7DH5PFz~!&%mAm zS(^{w|KTpwZ6EL+z?PrzM@h}RQBu;bm$GTk!C$s`p+*dadLcLWA(=DxQ_OAl!~Etr z2@k>k(PQ5o{=jdf2mGXmt-Vw49WwME(p>7tCpPX3?D^>Nn1>smf#t*p&U(SN4{GxP z=a;s^EW4|vpyUs@6K&ky11a1OcIKVv?W{RdSZ z(tid<^PHUl_n(yGErpYNNY3~hUC+Sk-CC0m;*w#{72GB<36KE}y`W%DLbJ&PY$j zOx#Ix|0KoJaOaf|AlH-+tUkuJZlqp7%^~MoCZu(Ood`Wx%Wvd4IGq9RL2PVijfJmX z7b~mQMk9vYt$Jp8oo4_$+7GjkFn@OL>|yE~6y-f9KEs>4U~$g&4D1=PDS7R5HgMhY zz_JglGl+(MjE={A4A@Ba8Q8ipKB-If89*;aN4M8mt(@UoSv3^AfcTN~%l@l zTnpRac9jY0H%GLRjI2A53ktyO!fV~f*6WEQ`H%6CnKM2G{f|m<{&Q+0HXf&1=NX)4 z?XJ!Rt1&0|OlOdo-a%$Bd`)soeq-^0YaA&iz8&mk*ul692}xJOKm5DI#CF8&#yau~ zb(}%KSm36n_c8R(e+DsS4~Lz24*1|CYM6I%K3e0?0P}Ox+DlxrcP%?HI^Ik23hz@p zk$xl3fO9O}#S`nY6K%Z^-~;;4`~)%1!%|%EoKP<~+lgm+2D>mDXu3Tktnp`1w|x*3 z?`>vzxy07%iYFqz?%adlNgf3HdPq6;&-h1i!Lz_(VgEJo2WN2x(^1Pl1ncy7aR$}8 z5xpnu7z%V_U4EmxGYEwLJax)Dz=^KXd=lk>JN!Wt&fqlU;$ZZ4xC{H=hvk?RcP{zh z?9YHR*sjFvm7COFCJx8s-fQDf8gmAyYuk&Orr)5y#idx8I0v1P(l|bFZy(g*l{H1c%sJEp%)tx zN2-lOagCukV=&y=iSQS`Mjgv;t!H9Q*VtCS!5LhN)hyVjrSsNYzP9=lh}F;Feyi<( z-G9gKyK`x|`K_N0HLrF*hD*%17yti#oxo7@haL1NH{btsn|Zy|YAeywrmIb7o9^rr zaU0evSdKms-SN#C{^Oh>+7RfC&;x$NNc4uNL>}@8YClhnv~tm``>d6VXFrH{-1ma0 ztB!>@U6A+Bk1{1iCVsqsP*rGnpV{Hy4JTlZw0!ay&X6&p$lFE zu#a7^gXs$)r{+|@TF)M|pM$$SIN{2i`&elIhMN5=s`p^`Y&ea2%w2f)0IV+93u@F| z_rV%{K0Epp+zb1qO8XNGM7@dT!Ay*&p?gp)KqK~`H6&-=gQ+im!lMd%xEK3z^xj~N zJ)a-?_ddLC#2z${aRKjPBld6~mi7vO4sC|j75k{d9yA931K0!U(3N|D&&)oe{u(=E z-A=uGFgcX(j+cPFZ#XacqfYxL&||klpYLS7K|}TcxukL5k)O7ZQHl>~VPS+&hpx5g z9;iVFM(n-jz>8tM4Se8R#0XvvyddglfEOI_`sKijVxgX?2RoNho0m{uIS{r(C@_Nq+eqNBt`au(CW-V#o+kN8$xeDw;sWoJ z)ToE0DDyuuvEW0QRM$wdZ4bSF?4v^qXM?k5zR9?;q`-jyd@&I ztL9U552$Gk^XnpMN%u-d@&j7et+EyM%;CN_0GrfHD(3r2gzv4Am-Za6e5q2kAVPNS zny>YX#Bj4_mv{{uyTrVmjak~bwoFEUc$Ex%tyQhMqMz=?8Vkhw%<}LZz|CHcST_k8^7u2PEByl0X0cNO`l;*uIJ9o_j zc5)VCiz~GbhuB$SZ4`3=46*&}c0I><4OS?VbzP9)f*3f~UYg$aAxnkoBbTsI8wi<-f{Hi4ph7%qau3mUi!6*3qs~ zEEUh6b;LFX+OGTHe)w<1PO;8Dbm*O0Cs(WAR6Tnj*0=T^n7j5uJi4{sX*=$el5nTQ zMcg9s5j}JdV+MNY^OqLAgql#)N>2DdmMx7%4d6`F!!D3RhgWDH0Aiqtg=Ws*)OQ#h zB=Ij?%z=OY#WpESeM5ZuT#NcHceT%`?Q$cR)Mu!<2S3E6!!XYpwa%1FtZNJ!>#e*L z9&i=n&Ht3b{3pOqz?Y)W0qZ%(750?e^e1HYjKQekNRmyPN>ImB0qilb=%`aLwF}t8 zH>QTw&Rvt2`240;WxteUzGtxbZtHey@4=BLaoR&@5OOck-83Ey{UA|cS4psMTigfJ z!zDlGQRI;Spm^)DiEjcw@ucKs{u4E*!;}Uyrw)|0YqC*?RfXr@sW?M}x8ZrCjz;T{ zteOk^`7KQ5xa<$4-+$190R2g{H%YBpL)SgH;9=}Nu%?Xlm8_%Ton~Ic)(^N7L1VEO z-sdsxQAhfy){?QVd|{=ZOd9u&siRz$sOL{y9C5UEJqXYG1Tf^p&gi-GxxxR6BLtRc z!@7y+Bj78ur}}CQZPe%o&}Zxy()X3iP#1^wGJ35z-3R)g;bERwUM5##@4<1WUE}h+ z(-A>eqc*S$Y^9bG6M743;@*(T%CYE+@TrU|`j0FEmTBF(Jk$X$0{(Z4)_^GgE9QyV zKT`)}^9}E>S;RvcEbQ07{u2*AZ+eI%1^r!;gCEE1<1*&MYp{>zj^1g^JH{t=wQBsV ze3QKg&>=JsJzA6w*avz)u%0b5?E%Tj{4;9YZ$R$p8Q^yZpr*4Ip1-e5EPX@Drwx)- zD>6{WGY2@vb-?p&GW>7xzT!2>H@dhN`}tX?WO&TJAFORwtPfs^cP&bLM~1x7)={&` zJV8XH7iu)yxYpQHa_ZBnTVRu@ujcG0_e4;pL-ebc*dgj)%S3kd@nf)`{HqU~LeIN3vrRr(t_!@aB zJ^L0(&$<7eWc!k*EY5GVCR`w%R`KAdeQ?jWfEvHcZ{rDnF5T?Lfqf2 zxWA}fBL9H@jqJ3}8gi6%KJ52$=rH=-SaogY4jA6zo~XMI9$c*}Gv;3^TkV*DYkUlt zg5<8)!>=R?*b-Bpg?M6ACp^D*ZA_7q&F43&g_IONi+YroBw!S10BG+OQXY3 zgQGP_s5!HEhPLRO8Dk}6=G0NpY$tq%Pb5F(Wl0GBlMF^oV9;C5O^;5eKAkqk$CVCs z-)Z;u5_Mclz028Ye@0F0Jz5vOW7iDu$3{F0>}Q<4v301s>}AzGK+c=G=FepNwsPzz zP8Q4#690i${cHEQQ0YtkVSH4Tbab0e4B?Sb_?*%^O^4)_GTpD61#=E&}S zv$c+i_K(_}7T@SSg&kq@k*R4qsI@C4*{`D~68hpaFh=IUA3EX9qT{?JG4-l?WUHxB zbGBOpeSptTyh||^%UOrCtrR%(MRFK*D13g_Q>*={`pJ^}_C0|7IR^VPBku3$YtzC2xTkubf9lbNlU&PxaqfL z&AL?Cx^t4&5zzKwKb4Y#7h&T)iTdg!@QHgqtxQ}l6SgMX|2h_p{#J#jwg7@3WM zWQ{~(dPl7hiHd^{lhgq;=&ChBQLz^G)7nE!46xCVNvshoDt=Uw5+NJ>i0614y^#ih z2EAp&rabrntOeQvJuq4OXp9;B3t>G7WlFWKCEu)(%6Y+v16&Uu4si{;*Iqq)uw#|g zISAsGIsmuSR-%C2OU=Gka*OY@Y8z-{K(}$(bg*h)|ABfsE%5=B?>zfuOXDOt=J!HB4!8%G+KGnj z!I9UpFu@rG*GWot*XlY6YY)VL#wB%<$uph>?hmpl5=Ic{OP#^TEj2?Iyo*zAV*_XDFdmx_C;Jd*;*h74p z7x)MmcMH#2tshYLkhc@Hf;qw0GPG?txhD%*@|O`K%9R;Ud)a#^0iH z$>GOYHeY(OdH!#J-Q;~9i@q?m<9vuyTCvLd=)nA9N?v791gakd}Fct(EqW9YTB2>N<}$|dJmWn*}W7~$l+Hdt-N1sm%IBTsyI46xy553Qje zu0}0=2P0b{m-6x-lqu7C%D4$nX|0&s*bID8+8QDL?bN@SHFKaY;FOrdmx>x82>NwWE#U``|ADKQ8lcqc`nOS$iZ)oA_1KIwx)Mucr z5d}L#<LfdM&BXH$P(RK&cHf9S907KqQn7^%+5>6^oaGW^YfJ)k1?rKj z{W$7s*x&W;0Wp}6PO@vyZ0*5iV`rPNhYDaoMqwEYNQ3rJ0~_q5Pxg9u;oerF9y?dxFmsCI0xrh4cz#7;<;y0~0pTnPS zST1WPa#^17kC`tx<124moz5KcAgg znyy$2e?WU!2wS5omNPz%vvN270QSHf`@PJ$L(eG$g7`K(H|cO6)}jk|4~rmM?;~c5 z&+q(SDzTbo4_&YaKkQ-GS;-~U56}^{`oGkFr)$RftlaJ{JhLC}Ll-_fUY#G^A?AlJyf<*KjeEJty52<9?jVYs;M8U?WO8kg9hAb<`j?OPBXVV3U|5(@Nz%Jy>@w4 zexvxIF3p;K#%};8+s4;Rn>8!v>rc&`832eb{@2J87|Nf=xs~%3=eUipI9L0e?QQa9wUM?n6rM6BS1_Q*hw5bej0IX(7_9>rsEE{`>n zhw)10c6A1iodbH_nz=*V)iWL^fVo-;T*C-pOS)nHjsxez`wHEB31rSAkef?^5j&-` zV{B{{`*hTJ20KQfvw`>w7LLk(1_yqM&tT)Gp0VcKJn69%&+zbnA8URI=lt;RBNzS% zUiaGeJ)XhD9M0ky9Qdc&&%hZod+`j95VM87cf-A3!hAfQ!Qro(XTWpt8SH)~Jckc4 z6XApEc?dcOfin;=|G>^Ia^`{dD|DuX>p2j2wS=_59Ug%@%$eb)PSoWYU|07?e^Q-O za0Q;l3o{AYi~pdmGUk)^m`BhRGYGD=<`AHVZ@(MFk8=k;xj}}%+v!ZtaEkl@IkHmi z8`w4h=o=p}%FE$15|2P!NQD0l5;(lGq(na?g_+MwS?T-Q7k^1r9OeMb)p-E>_bn6l z{kMDnkI()Xxjgi?3+izX9>L#c!KLBXjEtM z8`@3^vYtgx&gUc}{!v-EJQXoz#Gy3@Z^xibK8tbkB^9aS)B9TO8(7aX9A`Z#E%hj>u&I0GaXUIzblS~}n z6MgF6QW`9-3fK5EaRjCZsf~NEbEkIB+T=`4&I{*)yK(HxosysUx_tW5WhNJ)u~+aL z@B)l&goS|Tk)sawNBo}kdw7P3psrF>@DysBd&@HPgITg961nI?&Eq;SNScFS9*a4C z)BjlSgXU}*S3aP*|HFsZNoLf)!3&qGe@q{rJxS8CZb2U&o&|drvS+1rH!b-PFb2;U z*i|N!_C!9vm*xT4iE5*xF}!Q6_pUz6Rad3i8_I z`E37|&kzxT86t=oMk2Qt8q6Gq(=#9!78%kF{qUZaP~Xnz5$Lb`*S?0x!832f8~}4& zWhEb@=Y1K@`-t+#q6M+&dHt>o|G*nF^;$Y~w;fC7GicqhBbIOSyw380v+U9`*w8Aw^{astB;8|Se#Qo5X~jv zIgsyX9)UHDVS(+zgKuC?NV4Y97;n@(EM=fge?5o8_}kIIL0*mCZkHLoY1uH&_JgsD zL2oPm#vB>@x3O;-F(8qVn9~8AL3k))j1lPR6xvy)PJI`DA2=G!=3qarX=NX2uNC%Y zwsT0#jTPs-D#LqUW_pd)VZ+3+X9{{K#izE{{6uON`sF8fbjr~&hKarrQCCVr{0+ds zT_+R9zXWVRPwj`c|G;9EjbVOWaUaVZxsyeekrFWc%4&?d8#{{g7HuDaIg;2UoI@ge zbl~sd91JZGlViL^%`@1s>4bE|O0znf+ITB&!gI*X>4ErLTg0t!4&(=w58g6)axa-&_J+y_#uk{T zPmcX9Fe%#?xl#CDRLevPDM-l~0Scn+Z< z$S0=Vsj>XD)Zc0xpY{Xe-zo9;X#Qc@()hYBV_54XxMVV)w=RkXMSh|}w3~SBvvi~8A7exT0 z+1iagS=+9L4}08>(UKN6KQQN&o_C!jr6VVbxH5Araf#@&hF-gT2FCSmez0W}Yya6d zlDa`LmTqlYmuEPRIO|G0gCkCCKLc|Ob`IC%dT=+;qkw&!BBBr{wPUFkPx2WUx694` zEATp_RAs3dAEuz@KNl+RZam)52L!8d=R)D0srUn|4khJOuL;!mk2f z8k@GBXE=qsIRY_-Zg_?z8s}`nGdN-fPUm1`HEi1YpJ568O)EC@2wwL#^%>lqgNxo| z?9r7L^!4cTX`C*7oYy5dhevP@OB+lJD-Kj2Eu5dh@^R>AEv3H+|Lzk0eg4Nd8}0z( zJ69_|7@j<#_X2r5nTw+*L)>O*^5Nsne~xp11?PPj^-${55(~i|u=J$|zk_)&sNrDk25myE zA2Xl9*|>-K8L-9Is!RjE))zT(zoD2{GqStHhukMw@lQ%w(I=>%7${|h10O9daX6+#qcfX0ue7AGzN2ke7Z_}*l(mT>v_yJn524xSUlQqGbW7Ey*NF`x9n*^ z--L6vf-q+-CiEsrjQTC?&^Ph><6#4BSHF+;$3FPN;Un$=7O@rT;4ahWpk1pysEHp2 zemgv{i{zv~jCn&JYA;plP5MyAemNk!c2>yznPHM1@h=(D3w9}RPwdOZK9xGt0llU& zQ~#hC`_-$`6_0B$lEg+D>^yO{#OFnhykG6?n7H<^Z)soS4786M`iEln19O%1qi8!5 zv$A<(89r~DtXiHc>5)(B+$yzGX`=!kpcq8hA^eQ=lLe4w!;P3qxhzoKb2+mSgVNh(4xAu+3v} z&>?6d_h>n9# zo^~_(Wnu0dF;AE`GI9KC@Ygy+_oE&NxCh2>@EPACm$;VlL}dwV9i9hmUdj&24b`Ra z{fLzc@k87Jx|8+;KLdAe4dnAHkd22OpMmG#UYIXc`2$_V&(L1JjAsygXg=dG?`>MC s*U$MGc#d`Wj8l9L?nOTX_MY=|kk=ujPT|h21d78+x#{wVe4kSg1hOt*(c`p++-%rYa`&GVx~Px zYW%9m#h+qlC`i1`y5@6BdDE&*uXZOGY0rJ87V|~h=WVG=@Ob;%uHNCXE{~%6_37A0 z@39#-=TyG!*1QfoMXNNvtQVAqNd~B@Hrv(+|p*-3oV;usbCn8;hR_zkUdB& z)|f74(AR-|BKIlxPoV}}!x%=%R5@-FD9;|Wnb&?9T zw2;2T&`H&rdQ6L@Z#JMQws*2o`xG5;dzd$OpRt~k-8-dgaNF2hucLF*jnWMw4GX2p zhX}E0uuY-DxMxxmtew*pEceFl5N1|DI5wm7(+-UHMG8nC!Aj*El z`Y2r~Un%kO;?56)cwf4+KTx5s$E~1`elS`8>iDw*V6U_Pbi%=5qxH?95I~3*O`5g3MI?_nw?PJ z^bNLiK9SWrw}CC2o!Gc`n)m2j7n|Agb4Qw+lhw(qp6(g2Xu7=l*c|!wQp@cMsWTQ) zUD6MiOIl~UXBVYD620+dkeBf04sY78ACn=j{q<|!5`!T*CUjrxZ67{}vaQeCIy z`o#R;-TfkqpG3B!4%-ya2Uu@;x^kp6*I`;;ZTUyyHsLgV*+9c{>>6yQgS~j~cob2) z1V($G9^j;W)`-g^VuC{t8AqBF`<;#!c>_MHDoXFPin3m`-ZgW2exD$(eR@rTB8`nZAp5D(>TlSCzH#e8lr*e6`xNFj0qryHf3V*b^Xi(;RD z@vF#)xB;EEXzsL^AN6L(HI4N<-%kqK;MkQuDP4hxI@lNOwA(3S(7W`W>R7Ru_B(q} zVsud(kFDJDJMCO#^YgZ-_;HUK*U9!Y7ZrY#tXO|WlSgpN9=c|}`H3Q4!=3^wsae}y z3qy}Cv`ZhawdwKaQQ;ge5ANyoqR|g$EnHEkt7#{;R6CqwPQ-8!R)n)G^y?ZPty{mibOSc>i042mm@tz@aaJtS9&geQ{*nyn@_cQ zGQ`@8(8?lrX<70rQQLR}ZZAAm)Xq@#wYz%HZ5`D`+i?m}J=t~L+i%?|5VP3b-$?)L z;q7W)X%$@7viUwl;@o9j9)$^->e3mM-=}o1Z~WB4QOaK(%q^v_n)LN^Dek`Qsz|;( zC2}Ti^Yg)F7k3I+`g2|6IM|^`W?^*6=Jo91;?LE(N^5CESxcTN9Ei~;8nXu&)r9V7v$Doo>Ah35XDW71s~1bUe9^HE%;;^ql~0*mr}+;#{qW&~X}D^U!>N8NI;_2Qa*f}flP33LGYz$ZhOJk~y-!WCUO*{b z9-^!~c-_Z|_sbHp9UUAD3Qc$J3UeO3Te3V|TWQD;XVoLi$I(8r=ekl}JgV)*Uita? zEnl%BC1tnd$HF)h<*maW%H-wc6{ilc3c0uC>&44?v13hqW^sIY8{uv3{AipTu~#d# zJ90!sV#^1?&ix#@f^YQi-Fr`2cA%TempeNS%j-r(L>Lr0oLSn=!GwL#9-B{r!I!3c zEMK!`S?;^X#_@L!J=DCkW$z4IL$8flb0jt=(}aYDOY)<2SFBhuaO`GV0Bnag!$TQ&;q_e|*3#DLZ7yt4u>);j6Q5Yb z4;f@LX6Q8^frGsK{QTWiHu6PCmc?&MvWVZB9q=f4Ldod9&LcMT5g%%75Oa05^?k)| zs^&_MHg%tBtYO1nE_=wSI7gVCVrmMRysvJwbm`P-(;i-)aV1RRgq>qp*u?SU$KOdk zHn;Tt#*)0Hm#VKbxm4MBXjpO?uJbA=>+f4_!Y<>VibkhR-iAU2#->{P?l)8!wxC_eOf}mX}Ef z5*U@27U+8xi)SWj@r^6suy%TPiYMPI);NAk+NpReQZ6ee=d7wFNZZ%B-mAQPGoXV+Riv7g)D0(Poc^$=$nmj~qGTwdip>@7=v0LUkYImfYs>>Wcni zu_rUEB+v3{Xe5={m&(z1baCRzAG#{0?@;46^p}^Wbytmg92~qZJD|uc$)bpVHW56_ zOIP!pWza_`YxS4-yO+Tufduc^yupIB*?67|! zdm3GAr@l~@cF|d4S6KYFNgU?u?#^2odaPfc0RzJGb3<+CcrQC}`SRs<>6?1-YB4esb7aV3th8+-cKSH9G3znWDaM(#U*rBSv6_zQ#k z`NnJN=L0o(H?Hg?_sY5N0rddY_*(9DbQ#50{l=F3rkhT6eN-7`H zhtS1a)Pn|e%jhpl+q{dzdcovaE36NbV#=neXZW zb?7==%3Pi!#6h;hlGR}mgaw&cxuGa{rmX_4IUiw{JEUG z{O+q)`#L&0g4`N*YVzB+Z4YYL~*6)aP*(=r*t{#_4MJz(QXw--oBj^SmYg-wO?HMAjkvnB_To=blqM& z+|@qh*)y3QJ$Cr`__$9V<`J#4Zr$M3t5>_IY&!Tp*nVB!2b~TQBcJYSFAB-?rJviY z_q}RQa9EGh8Z4NO#aXc6#f3>Hq3B)nZf*2GrE|FF)Oqv5@=`-*-!|?7k;p43C>ZO% ze)LESM9kCB(8bS=^u9Xh*4`H{CV&3?xz~UJMx>%VGcn*K^a4({wzh^lM#(bTe{#-5 zE6q!td<|T?cI$uZ)~%HZejA=C?zdb#h;Q@(aplPgmxEv6WaAaVg^KOpY zK1IphT9-EY7POsPrYV|7U0k-k3cu;)H3ek%q`L`gra$SeOOx0**n&D1|MA7CD}DO( znW%F2S!n2twQFy%>22F~@5GQ*$IR1D?|%6u!GFf|>C=pLxB{`lc4 zN6dT_QkO@Q4IBHsdOzjatFsHmr97f9y>J0dbXmG8KeuDZ6yv?%@c+jsQN9dkF@>F&J4VK;$e>xehg3rMj1_JR4H zV>C6{reBzta$?oBlvNAMx|S7X8-W1)keZr%DtlY7j~_R1W4QaKu2QAI3?s`jy}u=M zt1GVNQ&m+}QdU0f?EGo#0c*1&*UaOm&kA-se%kwd(Yb7{)R4ro=|e8jlg>t@CD_7nr`{Ez#zv=pl#a@G)X?zc^g7hvf z-u&cXca{A1N487IufL@+x1W!)_1XCgQ&r{HN(QCz#%13cKc813;Z(!|tEI;rTzFU9 zbvVJk=aMELqSh_CaiEj<;e-SRX8vB(92>4(iS4hNiX*Iz$F$~|7c zLd{X$ZJ@!>)A1t&lzcLB&n*dZ;&pKKFyiejjUU~jg6w9l@JfpBe^H%(gGYYAeX|VV zXr3kJl06fXyn`9* zpL>4CG{0M}ma@DWNwQS2L5S=$bJq>aXcqcp&oRH!9b>FEb?!lXrf^f9V7^YstRHdGZz4bv8)3 zq7HdqC`5fTh+X1%$(zbpQ2yXy;NX3SsATR5&~b!0anAboc>u2l0hzvIsjy8l>8sKE z`g7Gs7fMY=2Rff;B;qE*Uh?4P9*vISece5eS<2BZ>3$UmuXtiz5SQ8x5<`c@7c22xOyA(;|3YFn1k4u+Plbh9|H z=KT;YUkNw9lWRDS%{bTIVa}D)DK7U9c;&oWC}eE|^&syp(OJl0|2B*57nWrxY#AnI z+o6B#;R3#(gvFO^CE0b@6cwTVmXv5or3(-4p*|>kwV3%>!?lpb{oDA&sL*RXA{J0q zFY?VE4s<%Oor8dPuT!8I~1hU7hROf6*$oBhy~G zTwjuOt-Ia~m$P|cD^7@ib{>>5$E&^{ z*S;@#_Bt@6ds3+cr?9-CQ}H%RVSmx1J;L`YN;5!ojJ-L`;B4#;u{~Y8c10Cw%a)Y6 zoioxuzZ+m>?wTf1HryyweQfVt{rYz}`8>wAi|r`wxTR`pW_I54>V~E9B}>xAF3%0; z5i^02A1Lo1U+FKr^)2gACmo7s+VttdoSd8@qN0nvcgY{UY4uusWYL@O6&F1}schjI z#K#__IOW;%$Kl~omUnk$>)VDnx3&HWmX;nlUJo}Pop!JA?W&tY zdvFL*nx^j_?eUtVT9g(4U^jP>Ve#5QTf}S+6yBbB+oU8(DQ0X@yXCubXX@!qnK^Up zrcIml>@AcIQ37nxBhQ{a`)RC^Z``CAkB9qpKWHty#MbcawF`ScKC!*n-M7<|D@WcH zyk3}Aocn&N%9qG-Y#Me4B~-iSrG>Bd?5F2Cy!*>&OMdpZ0~TJ$^VU7PF$@a!c%Nu* z1%;p#Q?0B!+C6wFY3PT~`1mND6Vfx%7k$oOFzULqS z*FjRPTU6Kl{II?k!u*aI%-O1New^fB+uq)3T3MT)OPH))-S7PQ^Xu2I*UECzR^X)! zBVuC4u2|8VpZ`I^>$is;pZ0U2#BAh6j>-%la^OY@=Twyi-oa%rRI*Kz={6U;XD{zb zlbTrgB_R|>oTB*^Uyt>d-xObLJ-OF;5g6?n%pMqfH!>^QC}#7?lP7!k>v#Uvts$3# zRptPV4}bi)?Afzt+bee8U0!lvTWUs zzkTnBy`atRjEpl0eEwhu_l~#9k*<%BH(w{@k2x}}*N}Y8F6Tx1AK$k>tZz(3GHuz5 zxnc#2hb+E#I&tNmDD8;K_%|A< zMsA-=OJmoGom{A~am|94*(J{exO zYH{+83uJ-z`<^;hsP0U$r_m43eBGGfEC%+vcfgC21&@0o&& z>ed)|94|!4e8~S4Z5(%-|9EJp(vy$91{=M|d8Tk(DByI%SQR(7q!|-|RpO z7ZiD6D}7^JS4%Bd4r`uv`auq}&Yerq)*DCJd6_El?HLo5(_@4zr8R3s}6hZqvsF*{4Ixkvlz^WIRMH zL%STz?mp#f66R&c}WFaOyQVyqLR?tDrdhyHvh(>C(WmDU0?( zo~~TJeCF!a{nxHtvo7j>_~@kR7X892-WlmxE;}`Tv`5f`jJXw}ORb6}Kj`-2`>YCT zQqT4mCQ8xh9C5xT9f8^U^*_j|EVAxfgqo}62kFU{#WtUO*@4kwOM}z4ROIr*cjw%f zo6)mVOoweQNj<(a#D`awa*{e?D?R=Cso-Lr*QUwWO>V3xXV0`)rJ~xiQ|QZ?^OJW? zvd?{YIPgrst)me8;jUU416C9pO7K!WdCnV-o4i2ntH~^y?WmF)J&flN;RTi{!{?mn zdUmL#Z|LJaMICQ^a(m`KdKCXpvU zQC6;Bzl+A-rnnsJuQpzF*`EQy~k=Cao!s@}v>I1?HdRpx2b6 zoV3`i_jDB(@7<@*J6rKJJn2hr$;*F@m6y!@lzaA#@$LH-Co?jJ-6kg6@*Wt*uMv&C zTO#Xm!B&LFZ-mP5k`!*^lJe}$pPc23({pI%ey83TuNAYk9JYMfi&*7 z`QE*IXS#la*?JgVzle_LwZ+&w_8P%Ov$KV|)9Zn*4d? zfeLryvd&!b zK79MwGC%)QVq#)L*@H4VFP1tl(#3gp-&q^q&v@`a6j*~_i0Vs+1QNGq7i@KV>9hW0 z|Jg76<9t&-f9jGaTi|+A;e2}La*wkC{8P#$+r2L9+I`r!Z$_s@gnQ~5e$Kp0>waD7 zn^%Vtu?V*9p4;bot>=uryT$T4m(slpc|+%RyFKjs^JN*wr{q8Ws+!hs{^ZFEEH&OA zvz3gIrqN}#uMit#8MOpB)#R;N^2>a_j{{~;-ln-dscaln_#w(b@PQIv$kS)b5(`4@ z_U+qeE-+<{^4<6Co$ne<)hN^X9!46%%=WtKG%$8}WJhZJz@pOgA3EmHL)><=ImfvRMp{daZC+L&(;cP^rrHeUg8~aexu*(Vy`n!}P*gPdUdHi5 zhmK~wR)e_TLfkONxCkaz_4M?L3rgd+=Y|DXuFx`}9htU2X4r8=jr5SuoCe%9Ap z@DJ~v!W?cJY88|(_^A}lfCIX^Ty1w%wr_&VvjUaAi4B*f_ER=`kz+1vYe-==E&kv@ zDQXtSDas0|vaww%KW;18V;_gLpp1j9bo*nS4j($&{n(gM<9o-iQC@fb>vcw6`U+8F z9Zsoiy16*GgWHwQ7Z#`-pBs4ln9o4xJM*r&8?m`kgSJL)*!Jn*5Vck0%9SfyavzIA zhInLjxw?)Tp`tQ;W2V^PWnl(yeO8Pfn&TrcH<;KiG7CQ7aXGIW=xr9G==#yR;Te$R zr7m5zeJUI>(knN~DR4=wS6R&K*WPR2kG*XiD-&v|Ex=3ln7DXx5BbS11~6?Q(y0^w zmT5iTW=%Y);)Wf2kjGFRFaoE5+*M*g71LnVQJi2gE?tz7}@&l66w)*<`Am0jXlN5B|VoX4s1TJVm#*_jsCR%S;)fKvoGBz<=I!xos*5WpMN`oo$k?D zY^SmG8sVN3r=b1fvZv>PH+zzzqt7N<6wSY7Ua+#0q@+pdz|hWMD08MHJ4?TP z4Ill2-^bVY3QX$bls!%?MceD%&f&He?Wf2S`|w_D*2Y_4cPQ{rDxZ8x&0@}m4I4@< zqWtIee-#nozA@|V`TIoy*_U7{KiXdV_ETf79F=4@fwPVYYmA=k?{anCUB{ye`Zr;^ z45~qA!h{}Rk-BqdSho(`-Me>(bl2s+8&jAW8|0sTKlD%!?TenCL&^lSKJ;Rr)$!XV zI@x`1k6>?A)l>2D^YXrabyiv-1QVRH^77LcF4WzyVaU;=N0pS6rs(Ty>+0Ia26Z~5 zzk*uGRl%`;@Kz;FyNl)tTzaQP*?FZGg>s5V*mYpjw0jfD>vD@$V4c6Fv&?NJnzpfq zXwL8eH{N#Ai!|9y6Qc#wcO(wrkzN!uHQ7;~+Qv0+&{i#oX$oDQzEqdG$l2kfY9DDW zy_f9VDdVR{bV%lrDtFl_R{nzKaoS2h*+Sz$Y!6{gt#}D@lac^-`t1C^8axBdhp=bU zR3p?WA1YhQm!`RYnH!sh?&|Kv1`Y{yPH*jAJMEk{S>M;5)RB*JqnVsk)s)uK(qmVl zj;FO}XV;L==~}8bif5o-Cc9dG#Y2N|u94PPc?A~vtl++VdYy#@m`ZQaL&xp$5;z+o zn0%c*aM;Uen@!0_dy8o9Up}8s7CYP|r`hOZlGV*O!7F2J>#QB+kEhTyP9L`6elBrW zKt}cyJ&-+(yKF+7qRIkl0o&U!H8yFjh(h-PA9vg=c~deZxu3Va29MwoE`z}f+FNnu zb)vdjr$r2>Nk4j;=SDvn6d?7&UilK+P3um@9mF(wR`ueR;Ot|&^^iJ^zU!Lg0*;A8 z(Wb0+i{1Y0U=mbV3Z`c3FH&!L;`z=wTY$0Eu)ND=p@ej!SruGV#Hk%w8f&e~c%{#z ziRBE=znb8oF?oroX*(xc*r2jry9D$vu@9yEza>aVC~Ofo6}r>G$)GT@opkB?Galtu z=X~Sr)wer8dwr&Ck0-~VFtwG^9PI*P$ZL&NQYu_q2Uy)M67R=7ElkZ^dQp4__nlIH zTR6q3_;l{}`P2j(S#K*g%|{oDtP9e^%h@}R9~#JAe6dLN8n@8%3LPH7#U0M-R=E3b z*hDrqusu3<;nf9JLg*Z*D#Jb){mb$8cIJ5;lF2dKh4Tb z(dC;!gS z-`#vy()B&`>Hab^UY@lcZ=gOxQjveQf|Qn&NU4k;E#RIq+GX~xpRurq`Dx7|irt@% zTE?zf9K~fkM!z6{f4%l+@iAwwzV@D(OgS99FXv$2Zr7a?nxb*#T{pLzA0>WlNz#-v zGhSbh*z;ghgfEw{^|o`5odhKK>7A1W*UP&VF5fnN@P+q7*X!DtuqSEAw@baP@#u1g z{FV2gr+0`yezxTK^O3ok=>=>V*4NqIPm-_~i2N{nWKni{Vc8I^&3@`)3NEI-)46(B zbp(eNyZEklkypA~yfYc4TQJ~^Xo=Iqb~JjAE>7I>yxY1YY@B#ZWM8Dl>FYUV5%%d7 ztFqlDspP6&6`@87fi3)`&0L$M>2W(ayt#X7SUA`$|l8Ty^m8)dIrHUz6#i)D1 z$7~m|Th5X{%pc z(oT`4^Uk)J3@Bu&b9=*k7Vx`Lk+r88!-)-_Fo?Y-dM z8ef1D6?$2H2O8Bug<{~37cFrCe=bS_P#4e+&>t`vundr}uwHdg0riv)_yq7M;C#T| zfINV06+|FolL4IoqX54GVmVkeZ+aaRK|Lk_UIa7%lmui0{M~>qn%x0S0fPYx0a^5J z**ZWu`Wg^rYkxp?z~2Gb-d6)g0)7Kz(YZL1Ej?>!CJQnEk};=TgN(&O6}-K)04XF#J-fT)`_ z7Yu@k9syQOi}l<#>m(UyH65@y#t6y~&kH~nt^ce#NCTS9Z6Xg0fbYXtwEtsyA9(=f zKx04}KB5D%+Wnth2T4Ff)CU>@9U$;&Ko;%)jyebdTB815A3(ivEno>Ci~fI49k>HM z+XL1G!yo|8E3s(*chv#T58xb8ZGiJfIL2qu{_m`VXrOIv{eV9FU%;aOU(Nq$FQ{%_ zKoH*FW6}Pvraj8_6hO2aR)rbx0`1H!+5h*~0osmH&u0Sqm0Sg6(f;441N0w|0%QWt z@23N@=>Koj0ow2k0GY5JZdkPcx9Z>`(3~3(=LCFM^#AAhAN>i@r?f9%G9at{|66r{ zy8e8?*?=s+&3}vb%(jlcNCTz$CD@0LjhGC11aOC247CBse&j*x1;RzJ2== zHa50@g%8koIQegG?XYRD*ko#^S8EnELZ#X?FsB-P0Gv5 zf6}tBsF>KzLd z;_2!6ANuWaIL&D5HPN2=o&#jVOoJ_?xVYq(I9|VgO=M(bSUk|ic|c1`i)3eK|3bU` z{6aEeh6zLNGwEE@75f6Yfm2CrT*@zTpdJBx#rfWt^dXo9!_u$>2KDZ{^YW$sHl*Pj9+y(B;qlbE7kV*HOT<%0~W2? zPRgpx72({`%9Sfw^lyVQfP;gB96NUGKW!HKaqQ2LrZv&K>U-1?`wiD8Deu$%6CWJp zL|{XC77w&B9>6jB`}gnvLoe*du|LOty(*n+d+yLpom}?`{7-zv#l>X){P`^Uw;}qY z-EQyRz5k&VzQBGQ`}5jpUEO~;M_{sP|1a}L%mn=X{fU5p0E-9O2oK;qePUuFlRQ7K z*neX`-VoW(kegXZ(}(<-Z~CI4}G1&z;BiT zW@cu;%=0tpgYz}mey*?G)pf4QP<5$7EKhIaHPmH`goBF~>c|Ai*Z2kf`8|7I5) zO2m8VkPQ}x$jg{`f;PaK0D0zp>L=oG>;maKY$ou|Fd`~DmOKXAL3NOsnMu^t)L8WY zO)_BFvSmQevg$}f{O&&`f|8?%>bRxk9zCR1x>t<=O~$WYCy;qdEkG8GWY`U>hG9OR zIB|mD+{2&Pe*WYxf0|yTLOFpB&UDkE% z*pcDGTN6QWp1!!Gw5Gos{2q0Nl3LTqZdj9l zN0W%wj32Z7Lt0J-)a2jMjO1&Us963XEyDvf`FB(%T29Va67@2UguRGi*ln>-ZVqTj zye$8a=BIyc{vAkPr1SlUp+sl;8irl3OHXa0thtc5o%jBaA9q9ep|SC@{6m_T2Ws-~ zVA3)q>?M&OJdLr2hq;CWZFfSFn#3J=ps~={cv=1-%}f89{5z1Y=;O24cn5>_OuIev ziadaFpgJF(x_F|g@v{6wnuiB!^Y1_!W_`&a!^aphY_&|fGp{HMurEM;prO#zcv=1- z%|rj1{5zQRL>nFYXkc4s(w%ul`r~>})Cn63%@HrlKcs0qP@8`Tlb)!fZ3e%c>U{ig zO)u(%NXv#obHvN?4`~|xYxD1@OwXj`RH8L`#ZR9t^xHw&qfUt9g2qB~#LMyzX&evK z<=;`2rbsK41K1a!K7cym)6nQ@{r9VWTibI}<7N4WG>-nY`FGSrFWm0|Wj*R{wfXtg z^nFe5n;I|6Kcrziz|YT5?%cUk6FL64_vjz;kL)GYEcT!N{ri*j^z=WD&NXEi?LzbB z&1;sr`IG!~8k^T?)24yH)vx<+)Ks_idH)Tz0V-^OJ6JKe6qi)*R$QOtstvPy_ih&b z>**)DZQHhL>#(seKjaV+_?D1(*czY!*s3P05YqeuY#kC5Pe{yvmwq=kdB%6RpCD_k zNZon>+Iex`w&sFTSnlySk&tV!gu^R}kbAL&M1U)AGA!#%%OxZomiD{{n!f~kKY(eX zo6+CH-hE9-UQu)90^)}?YPcU^V`bvM@*VEiiTkuR7hu~*nj-BHuOt581$>Wq{^kx%@ZQ3kMdz`A8W%DCp#{i?S8 zx@cbYf8>GYlmRRqux=h`F5RywZJ)^p%`F31I$-VeZ%*B>scpY951?+?9Kg~6Yo~v6 z>3%rg4@v&6$7362(y}pE95>*Y0mqF^1(pt2JN=tW_d~bOELa{EnF>1Gn@ak9J$M26 zg{d$4g4@V5*aq|?j1!TknhGo(uy*=4RrkZa0P^zkev%3KARpRoGAsiQdq>E9m;<`? z3i#p2co6B#q&2?tfo){`fnT12?1=kJNKPTpz0zb6`t=nRHEmLWr32Q?15MTaE?>UP z*puhz(W3-yF4*3ffV_b7y4gTeY|lwB{}cO(kT-ydnK17M^8}f&WjM|gmsg@W`hk4@ z{Fz+2a)sc!Q(Wg+TH1igWM&3_Tv<9`_4IG5?uX|z$ji$!=2tK-yvMViyuG~{XFWB< zo`8IVG=K2m0kN{OV$9p{^71m`#^z`%?=X>GYazH=;dGP|yeTj=B2?+@#Dk_RW>+9FAGxm`*Ffbs41`Q%e>*~&g z>(QeJdGh2*{fS;FBufXZp8k#1{cs-u+>^OFI#oAkjyeVd4hiTxJZBX6NS7xx{me9jP)#eZ_@aV{73 zBe>S5A;8iBf2Dszbw51g0mou3E#K=KKb{{P5fM>u7GUXsztX=Ux*x8u-neliVP|J= zGxSG389#n}y?qv0I^eJLZ;0;a>gvkS)$7|fTPqx%8EtB6TJQNmmJaxT9;mPGhx>g> zN=mk=c3+vla9ru+$~L{qZR=0Dugg~Wuj_!d z>3+4@^!^n3V?JxM75?iwU`@JTLv4C(ogZql75?iwV0F6R@3!f+6fae0EBx1W!0L3r z-)+-tDf-uBD{KQgU|CC*xvqGt>V9p-rdLd0qK!?*DO5=j7z% zKf%fWpy(a*j$(re3UC@U*7{0F;r z>(<(JQ33U02Pgyhx;5)aP*9LeojUcm`E9pmS?iM)u3hQbvuA75AKSbxAQ#|;`sA~@ z!l3USuC-{c`2O^Ga4h^A>LUv3O#%>MG2k~q7ES)0IyesWW(P!&155y9(f{A5gF>M7 zWI!e$A2KojK`_u-gh~7#R}Hvk0kU}D@2&$J>ze{r1s-^D9*{-9{6k90M7TWu1fSu&m3@n5RfGU{?0nM2ehr)?^hx};}++Go&&OY;P0vf zl)Np@#ojU6`-RKU_+oI z1U?1W>b5~hlf`q*R|k)vK5>4pF(3vXT?Ry35sM~&ULCvux(xzs3Uq^ykq20E;LoCe z7|=|)DTJ@|Ey@Ax3t0NVpTPqUfK~%4(XTmfQ6E5^kTou7yF5?=^f?141=te636V|# z#D0aP6SOTpcn36D3)lg$r9m1JI0(p^EB^gFPylqm@g4T{Y=Er=C=1j8(PqTz6I!1S z(1srXs1L{o_`3k@h8lqAKadEBHU`#Mv1RH2``k}}o`5p|1p(U%;G7}OGoUXS`V+ne zL?1)exUuoPfb_<8o(y;ka6KT7=Xn9!GN4bX4B#X{OF&#>g6oXp0kN-O$%y~*1hx}w zFUf#tqrU;T7jQOUU%>W&%?@zN$^YZ*h^tYo|Nl&bN94etUIf_#MB{_I5t`rzAQVATMt23R%FY&BqAC8jFR|B=u1U&H@L-Y5V1KX=vVs{Kio z{-xz z!H4|-4*@0tB1PI-nQO`q>YS;7rvQfm*4IA-f-(T-9ZUdI0BcI)PkE30Y7Hn1SRW9D zKv-`jfPYFE>&hqct`{JV-D-o*@aNy`7Z3pDtEmp!!GF$xZBe$>Mc;<}e;vwLU0YZV z@39kUNL+tnSd@*{fNX$F=m|HmfPZ3n8k6UAC@c00OxOW8jfv+^{sv_{C!iGIOTa(5 zERD%K>IbMJ83O(b?Y?Rqp`5n@JPTO$zklT!b>-;aQGPx?KE~b%y?gg&oX7b)@&IXO z0^*pV)##098qS(Ei*c4jdU`tJJle;PACqOvmi>7(%#2hBFZFC(bk_1%*Y7 zv%QxrS@KtvA8CK}>Qx4P-+f3Y3d%E~+`|Y@=MfC#?lhcq>ph-CMt?tBBq%88k31Wp zCSDpfY81)IfrHoqynN_{UtH~H*_m~K*JCc<>j=;Eo;`c^U%>;oCl<;zCYWs6PdJ2? z|5JVrA!Rai;bu}&^8F0@J9qBm2vN!ZX(qK4*L(Lo^l;EGyQ*PlRVqc znMG*w_1Ljv1Z7D}x7X&1UqV8H;GXZz1*xg2WWay{e@yvJOiX?`EAnf80i$2b&dIB@ zN@@zbXV0ELqWq$wq9iOV>}NUC(lg22CEJJu^lzx+GyC_S0V>_p78cKml$V!p^L4Oz z@#0_PoZGpZ1oeB=_t^!9lAZfbRVwkXw{?ZZbH|#ijkZKQc%B>X`&=2$U-l)uqACpi z4)wl$j%O?X{mXq_VPj%q+VnZG`uh5y*A)L!rZ3rf#LWC48K5$oELydleE9fX7yc#C zkB7R#R#a4wwQJY5Nglv`uknnR>Hz0@Q18Kcp1Po}uqazl#2>Ak-0>^1SNhBmG ztFEuV|G#?m>NZDz-1odLKpH zw_$jIyl@ln7Tn*5sn5t%LNW^p%mWv~JXpr%#_I+S=OWIE>>^ zhxw9QKyr#INEVb8F$d};JFkeu#mAG=r`-w8m7|>m$ILZBTatmb$v&LR#_=GwHu&U4&WMEa<_u|Ei7CG~wOP4Oh-{1e2 zD)`-cU{%?dmX=2F%!}rtd)0Ub4H`sZV`G2T!S9xVm1Q5c$CWErwpiJjb)l!HN4|W4 z0TaOQmVuRJpQEE=tDO6SJco1ZXiI1&8QAE(kETzb&d|~B-o4wZa}xag{N(J}@AGKQ zAOka)yw%XFwY4>Q`}XZ`nVXlAk|NKZJtHnIE=_53=nMR!q2=J zJ&rk6Y3R4j86M>!Vk6?jH6ggBt1IC1Mtt9xG~3cQNl<27*M_hOur1}SHS&V%+L&t~ zy2E|=KU4?FP}cr{l>z0zSHRY&``?)c>N}>D3;yFC*Fx9=wwgaMq}AH>fd0<7?gQ61 zRtFv65nG#2n=`$) zkbhj;hwB>~3fM1T--tSLgLNeMra8;ekhpN|?km8ZfO3Gimb?ON$dmw)R}be1rLgV27o{J ziIA=LJ`vb9Fp8~!!GO5WRZH@Db#doInqh#rh81->cEI`ou7O6`hVrp3$au^{GT?T= zE`YTG);aDQhhwg0F6Ll%1gi2K=92lDXpG2rjaV|~(&ggjO)gCM-S@dxCcSw1@C zwK6ZE-rp8^hMC{$uGk(>&PW4B0ah2LEx${GJP!ag25d_@Lw)NE+cU~mlsEPLrmcm; zJu2U~ME=pA0sS>}b#)oOsW>Ou0_k8Mhhvy#iyP+*XU?2SqNAf=U1k9T-@c6nzl_Dd zbxyawWi&7_Aeot&UNJ$jJ%_&Ab~luG0V zP9<#M7mmK+UFFA-@TgeucSs|Oii*uf>-yGdeZy_uyqRHtJa_3fX(y)gb1ftKxjP)Y z!1xdSms+STG^t*?b?Zi=qQKb>0R6GiCmr*Ri1$U2s zyubhOiS!;a1N`cT5fSOpq?3#mqYT~qOdv6D5*cBvtQgzUwV5(>>ePvZgoH5icFjAG z3|5~<4jev5o`gh^kg%8J=*i1usOCcAa>k1h=Jo5>1nqpSRkwAegEEJ?hV9nfN91J; zI5Jm(_{8_*I+TsMhHc%tb!{U5xTip1U?3y6xQ+n*>}vvCkBMOr(4Pf;PwJ|hmi{08 z9;*64)s+9r?~x8hMn=Ci|F|~7$H#|}E!_VgHSII`1Z$ydg3PQO@;>zw@X&YvPuw2_ zeN9@rj%$ivM@NTz{rZ)WU0lPAYgtBWFCmdH!I8HLBqV(xW2YLE-a}`Qt2Y7||DrGN z+_`gqOa8gJxqtCZ-(quwP#p#{`rDJIzss4*MY!%0$dIEH{~)q-_0FGv`T6-Z#m?U7 zva6}7{q*<2%shS?Nz`q^DDpp42DrSFMwG64SmIT)h;JOK1Pr*RA$2AqTts`p9zM!ga=+81hBX|e- z4}difH=)j%>p-wP{@~u22jJfk1jy?ZxtIdzJ> z1U)n9Qz1#ns9<2y=VB5AGU?p8^8|gvaC}x3?%liBDtlT~*LHC|1&&KlhM@0`l$0bH zqcs}*)aQ`}3+9t?+G7ch&CsU_WtTauO~AD)m7%rTaCL3h+uNInh=|mi{^%!&`$trU z)@s95+irApG*M7csCV9(G6nVjCr|$0k6~F_qYYPXySTP#!h{J8&O5UVBS(&8`06t0 z(9&(Va@)oA$hc;>sbg^*`!IFDmTtq9+b-%4?b@|#blo#)fNh$&9}Dg!(31Tyw%x3( zEJCN#8S9;xd1&et*F<@Fc@bO#+=za--u8R+X?^qN4H+_INR#WmYMGg9npUh>(a^Y) ztHxE+GtU3bnKP%M@z*;%$^zVrp#g0w7xL;=Q+_MI$F__7gX5OU@0;@;`##)Hr2)G1 z6G(q4Ao^9*nXd-aOPz7mlwJeUK)Wj1r^Nx$4$$Z{f77?IkS^ML5$a6?2-_CQiFJ=Q zb|#?T9r~xVg}l`#4?d7r^b@EI67X;bus+}a&M;_WXYx(u{Np{A0qIb$_6*@#vmEHl zgf@2c6Q~W4mzDsc??+oG2j)8(&;$_u1nLVYm#|%9|Bwt=?|vG>HkB@DQ$)MyZ9ue7 zO97&-{Xc*KDM^aT!E49w8Kt->ijL3Vabt~F_>ytOdluAM1J?L2v%cU;$7iU=WV}MX zGV7UH@7R!~05t%A`e_N&>8I5df^Pwg0Bp`Sf_@C>YiJD!Tv08kz}q0emh?Bl{v`x( zG+<>I0S|G2O>H0b{r(-KrS&5NVsO3RifJ?R_!QDaTC4>``Y_+O))nb&1&IAlYo%E= z9hAS=bgI6u^I1+#j-Xw88>}tu)2C0J;cG|(+Zg)GH0b-GLx+<4fe(n2>os!ZkeBuY9IC2ir7{82YPFl{`pF27xo?)|Vj=6`L z@}r`n0{$x5BrNUXao83F4F_dcjvj>bN3+_;euFaF>@%wMu|!G2W%JOFkF zcvlAZxEEm&(1r;+ckXPK^efLzGUG;D)Qk6ogu&L|&wpIeo>m!reSMo{P6X!`tL~|j z33fc(g9`UxL-dCG^zY{GpIN|tC(zfgv31V;uIjvgJnZ>&>8clb6#1TnBoqP`k;l=g zp z$b0B}791Shp!sK9-yRSUK;q)!>cfMm6IWYL=u?RMXJWroQ<$3Gqx=aC4Xw|&*)_$1 zd!RLCUKaI%DO0A@mUkR3J*X-D&Ye3qX^#?Y6Lsu88V+f%1jKyQmd}>>59c3ntS16^ z=QpJP5YoiC41~deI6iENa#j~7j`c;nAT3SbRs(P8!?8Pdji3YeB)%vJoH zr{Jh|o&sh&7;7qVoo0W}8#isKHh(qbiQy~jA3!IL zP8Z3c;}=Q5{U9PMD_ie4&~Ek#^lm(Z27RFMycX0IYf7*3do1_kC&6St`17W`OJnSF zz4y==@-*Zb5f>M)GY-^4&`-VS^;8`o^>xyH4Sy?$EE7z0Z|Be32=yy@uJ~!ysjC)^eg6>o` zZ>p-Q1kduR#)tMN|KQvMmcJ&O7M_Ds#TOmtT5#T*ksjI#Ys(-0SH+%)^CZ&%KQiNJ iz!lrvEI>9uj04w(qa6HC*{i(6FgOp1?H1d9li+_2k&wDezeciv~clcu*y!RGMy_ zZ*@poS{l0?^cdSE?Q8t1Na@ z`@I>-?wXuz)L|ac@Oa^Zd}ZQ$(JkP_$K~hYh*x^BeJ>z--EDfZi$*i!L0BIj+@+bI z3ec%?#TzcrOC;{*lvZ`C52eo z6oYtXf`==;9iB=cOhg)KGTifVTSlo0)fLXf`Nn~6wz)+qb@hmgYKHy@rwV^!xO&ku zJ{A@47GN0{Nj%n?-xg~Hk3}7|U6XNg9bTq@_ZHn5!oyPLr8MWns;94|u>yAMX47jG-gljb>kkb$Ds%)t z42CB@KSOz&P^(sBJ!Qa&aK_V@oG{0?Hg{XFyIhGX5#f|pt#HkLJBUrTYvHoCqFJT`{X|;SVF_>k5?;7hUL4rOHOHw^Ak7gJ!&tAd-t#L zv*oA)OTHfj$Y?PBikT(y*i_7=OPm`MOFAblvD5OXfD<;%YvrdUeH+0`?@~9&I99s1 z!bl}hCsq%M5D;f9hH$)k+=CzWs2Skh`;evX*}M}%2IQ2g{K z`^db8jmPORW$ly_1)P3aV@cF1sj;M}N=-{>rEAnE!hy2ey3NlJ5z4LuiKs7^^{~H% zv-}Naa0c;9Ym?*SI3~>wPr<#G+x$AT$+uK)St@d?LK9TxEVr>ri$SdN9$_-%q_>*d zWKz9fOb}NLmmJW+UeD zgCVwqqKkF(S!@LQTuK&mDBLbyR#z>JxE9?3)lr(})?i&%^R&Br6Va@*bvR~i_Ph~f z$D(($SY&0z^VF8xY_{GdoRJ%wE`-}6vIpotradd1*9`x>5T93RLin{pU1uCyFIKMQ z2?+GgQv^^87zI77&%L-9;CTCpLBN+sNDOEpj&Klk#8%!+PzL2cAxOCrb zvnd9*{tUHcGGw&?+;<7P5vp~7l)ET(!^+2Vs3N-7pFb$NsP1?zT_!h0E= z0@aXT=(w~Tnd?1p=0d3U^S!Ixw{Ms(CEL_erpuM_*i9gJDwPHbiLW9G85dh5nKryP@CP+xi`tbL9P6Ziw>@i zI+>xn6k~7+w;B3Dax=lmk2(4pxg4hHBT`QSTCq|o6&y%i4YrTb+-jJz(8MvH#7+q4 zO^hCRVR{ucr&O=-EvD8#P9B@S>DVA#J$lQ+W~Cym`O*552Gynra)dpbF0cGc*iOaW zuR{Bp+>vvcaS>?`yTxQWTHcv<(45|c4>O4TU)MHzj$2gin$X6ql4hfOR*49&sI(e}lBao?-ME>=SCf5?@!zcck_D;0%M@;C4KxjF^BsNphv>M*&R1hVMC zbe=Q3ype#DjbyDz&x9~bSbcV*%f%c=vPu4sr@G(oLS6Iln{HjJRMViH8x_raLZi}oX33JQP-PVUl zFypOwonA?7u`x}KNRJ~ys zGuuE?B625kUgd7r-sm=#%HdyQ)Me<&8)vS;t_2G^Y!d4WB^tu~>xrr?dE{CGPW*Ja zeiXFWRzKD0)9u|?X}ZE+#IvL||GCl(X;k9m67q^0T@>LiP*ouO>!>``*jDQbE%yC@_Mlr$ zpd^YRhkcP@+|#}_-VR#bx}sH(nOM>OU_tr8U>0YWJZC4t$9~T4)0jAhkL-RfrGr7N zcYn`3TKVjuy%Qn6!h~T2{ZY3mo+bd6sM(d&3W80V>L4Z8d&bMrmJDPY`KHBemz!^8 z=UH6xS~%QdQK*Mk%(cKK1(x!+_MNL2qgXjw8Q{ELZLhkgIb`eTCw%hARP@>JmJSqSX(V=Wm-#bvd-@&aGxN zO8N2%3-V2G+K^Zc%dT{57^2txip1vnm*Lk3- z<3sFh>7{z6{8m>Xo>k0wiTxQrJQB_Z6uaYhVZY6N20|aJwDB|PTRPkN<&~ODpp}Nneg84;W5WwyFI2<~lT63nE8=$P zuLX=~$};jyITQ;-6u>X3l>A`}!{q%$<19Tl@E8{*R`ODTxxU zb&Yd6N(|*LOk9FCSB|`Ir;@b)Sl+@_{2K1VK#n?$XGg@zIp_E#k z@R)gL=2&3JTlf~d956~cSU>tQ?esI@xj}-GA(&u?IUs)2E#&4%F|`<4ls59$uAN5A zXXNDzq=9V<%@<0IApI=tUz)afMA*34E*T9AEIq0Rqro>KAbyFok-A0=lx9A9!Rl?a z*?1>}WMv_Jw~TgKm70|N{`+HBr+bXBhSim2$AXwCU4XYyE2T%HyO5Ji=?Q*eR)>6BZwr|++S1EO!FG| zZYH^?z-#ex@Kz;tw|$pn8d&D2Y4B(eH2GY*QZhbB(uqQkzOuPnsMcE^iE<5bZ%_3c zszBnBFIYfYe327$E6anlfWm62d`L;OT5w^5t>l+z+4do{O0-%2aq{3vB#~&zx)R6Q zijQB?KyH3QvSStvrE$Yn?Z4|>V%vZR>BH6s;wdtyV@L4AHrxd(*Y}zyRuHZ%05iaa z+Vxqm)g^MTfN!U!;Q^x?jF|YFeq+1roQ;%s%pTjJ^x(*e#AQCJ=0sQaQb4`#TngUs zc@;4gu-QC6^~ZjOWUCtvp%??Mf6OPB9fu;}9@bBB3V6KRw4x{8Mac=Rb>`ei0*JQP|q&8M5HQon)pZ!r9XCf;%%4ly!F4enH z`{7E}Ou$`!`fam@=f^TeHou85S0&p|ZgI6TDZYX>doCm0;#_%IhmgT`CmAlGbW+rz6@~$RVS~ws zsNXel>5~L4CyHo`5GH%7HiaN&XSpZO(nbcJ+4Wlyxv*N743=zeo%;k8*NtgGcI_{i zlE=1Ggtk#@KGN=>qO)ht$NaNX=a^K{pY{`lXFf$yT<%rbQJKNA>nmj#<({CX!Yai6}ZVLEfMt}k@0HQZ!gZ}NaSRbyjQsf z7bLV?9$6xOyl`LJv7v%^n`S+Jg5^P;KH?(+NsFGU3r4fmd4Y)a|~I13fd~(~WyS#~m#2 zOV+iNPn_<2cdW7SUq*1=m8ON6Ko5_1BLuR8MsvMA+jaHRt)z&t5~8x@SFc-ZU<6n7 z4k4&DZo{wPV#RMO&ba_l*(=njynDAVaK)OkO0AnPq0}w3249M(x?hUjCos9x9aGb^ zB0z9Yh?7ASi9B^Tm*erSLuEn}G4cmB_j`?8Vk(*0oE6J~0~Vzs4}bd-lRux2lcVhNR};ui)vCEpj^Kd`V?GCrJmRNX z?Rs}ebY0`E)O56jqGA2j=5asR6L^ECF9OpYjd`DloBKJLZKsL|7v)*m%Om#oE+y;^ zeR`OdpWJO_~o5! z_!Sybg*EG}cFW^fKV00uVUp;l3C!Di*pS*?%T|t;hqA%T*MzpV_L0wpz|rk5Nr^U4 z)n%2PMy4XZ276Q{rhf$hx)@f+RPt<*TXNmwv)E`8uogDT+Q1dK7Ud0H&b0jH1n`9s zXCY3DFrGm%F~Xji96}~s-ypcf#ebAOa$Pgt`QGiu=}YVd*6W9T8Qqr)C%@a4$9)(Wx8bJSxedu(z}wnqk)%?VE3dfnbjN(%-DMWbzh2o_RZr- zec5Aew6q+wV#V0^z*G7v(tZ{OJPJn|I|Je1lwBBkQfpxI&;g_28%gx9n7t%}>zehY zUj7;{fA+w)eD9o9cuv-=ZN+zj!Z8)&)Uhv>k+gl9w)GVg8*`Wwx{!u-pJK(UZ=eUw z$3O_~vJbPDKY+)bdV`)C(MM|>o$*-LV*bO-!F z(43P&8szPjcXc|RfwRGNFZZXES07CY)sfFx%M=LI-}G@8>U~mY*QWlgc~+}7NNMct zQ{^04504s^xNfdPlIO&^F+6Bd#EFI%(2MmSnNwcR&ZPZBS+jo41l~3h%iC3E?PFS5 zQkhMy+HV$i3hXK-bUNi7G`x}QQ8N?VXeUoCa-n9aj6{5yIoAinx3q@hEFiI^+0bxl z1G$$nxHBjV)`X6W9}&l)saG>1Cji@KczM&sb=b;rUI9rQx60jhTpVM106BFm8XJp(2a zJ+zKFZ+6pyE&Ipu`aHVKSV&ar?O!YZYFnl~(rnpnD-wu3)js1xdjz(yf9f5gp;W|3 zX!I7sP9h^{s>kR$MdClWmLO>O$hmeK_RO+OesdbQY~&PTenU~hjKQegv9P?280n-s zv~r;sJ8RR~N2m{xQWRL38H3jE|o&Lacq?965#B z>XRH*`U2qC!8|-bpNhA-CAX@LeAcs?@vFk6D7KMXHOsx#k-cJ2xnKXZp*Qq~r)}EX zH;GY42k-6GzbB6!AYRd_@9{lb_E`|quKkTIug%h~RQ+kH!b8gx8|;I~2dtjBgEfNi zB&i3xR9W$&U%O)FLgYz16ao&FXqz0k+)cbv-?#WoKHv?17kulG4|)Q5DZo`Sq+lM+>^+} zQXljliqUhtAn2(*6Ik+OS?8OB%8A7WMl>}LZ9e9j5HK@ltoB?6CcLa5k*TKef@!+& zVqe}hh*VEXkoN`1^oF5_R&MijiKFV*RVjv$TBAJBaFS&k&bcXp45PgtXFk81ArK;< z(h{6%u*i4jVAqbA+oJ-S1=+F#6a~)u!S~?TxcO`0{;npesC8X(h_zYWnH?TA0|$g` z*}20%f)2UR+VS-!KDoYy)h|16O`2UnGI3$I13L7+(SmEk<^t1Z@fj` zkY|PcBhKl(A%Utt?u|3#PkV^1x+#f z=ik>0|bGtaC>a{^m&ho+KBx@~*Sja9CAL8Tf#GhARJje$p zZQUg_{D@i|rn#5Zo}|f)aSP4=leozGjTtL)UI8vnE^5&`gEBhkSQSHY(NTZME|)72 zAyP#6#Yr;c-g@^V7Q?8rNOJGDQ40#*65p;a%5b>^`RFgfLN1t=$d^*bhxs>Q6BvW014_80GJ*7<=|v z2Ff!-<8VKhu!cOFi_>R&OEpuq@{4bchgPMfk6n8EOd>9%jmU}*(zNNok0EQ_Z*<@V zyVVsrd3Fia?tLtC>@CRk6^3yKzK4r!nJJ)$I(OAK0Y{yZYfr@O*!3{6C45|FdC63e@@^$T5Jr}qiaT2376{J6IP)F||sZOel z{qPLGACSD;d6_EM$?w3v>+%FGTruJ}zCuAcp0QSxwS@1EaVd(ZX9{*dI!BreD#H_Zl%Lo zQWkS@`mZL^pNjsm8NTV`LwZ;?zanPO2LC76Bb{;*`_|RIqOszPVHK}JlY+%!7}fO# z10_T9u~j=0pdJQsv>4qZL~R4t;XW&&Bl#`M*hfgmegW!=;V&kvlgO#Q4F4GX%&LA5 zvP~6lu4{Gl_S=h3-=yJ_nECJ#wVvm%E@njqYL1Ciz+ZJI?UGzp?CGMtX%DHpIiD;D z^OJfj4jXQ7)ih9*0C3O)EuLHIetgiA4^`Y&*Rd4*TePzHkOO<@eU|U*v&kE$M$t>o zh8v2SuP;W>#H|=|9Rzb*t*fU7_e(z5SY~vzvQiRpRR%kL?WKj+r85uMvU#1jETz=0 zZ61udfw+ghsi`1=F7KjYBpyar++oC|+)SZjrZ5*>S|XrWhF3}anuitw#^S#C3U5-& zHNrnq!n#A#s~gT_mM-~zPQ-lz-|{+L?dX{{=t_~K7u*?bs(246kDndYkqEr9xsZr6 zi^=u&v0N%gM<;T+%?}-;W6qHt<3YMk2{?~yWRPpkU8vB-#pACAFtraTlCER@Nsp1V zHx%LxNTzH~KMO8D3yU91cc5MhwP`BIy%`0-0Gpw3-}l3NTJ` zS3>b1e5n6J))smaBqR0d3S#l5pfH#!Dbns3un0 z&W};tj*KuThVn|V`PQSCvNcciw~g+D%GDjC&ckzmTP!sS#C&Gj)oV86*10c2w)i)) zHm^=|?=pSdmcNE&N24Rx`9eges|MmqOd-4S?!CvS-b?1goXC?PD>f*$CC}lo`%>~` z2NH3WfdOx{Hd>8SyPjBeAPMU(&y;tP);Cxtsu?cW)tAUMt8MZ~jsgt+#R@hzNpHki zb7f$$j7deU3CH%V!Cw%U67QeYu5K+#5?-&k$w=Lmawu6V)X5wW8rw5vUlMS}pH)9I z31u&Yg8ZB-SB7=cK%9x^xVSP=0_cmYWwWh*Ze;}&WMlyQQU^|;JJ*R` z5G6StA&)gPH%H~CR8kvNKCkR2C^zHZDsuM4Ob*)vuL~{BXBoSt2agLF{wp%`;?EzbO z>@7wja92_f*V+0!k5H=Cb&TO{Mt*2jI=Jc%D%)fVxT%;!&{XDB!s?R6{8Wd=HIbdE zrx(i;IPH#g>ib>HET^XfU1dIk&uI?aVJtq5p$49_NW?kE^MTbqGnGr++P~%^Pwa@8w|>b-#D8zQoc8A&sz_q$C+(_eDtx?H zmWWfRd^@%fqtv@0FOiwRar4JhQpc0v)e>L22>-&&<{JxnN0(Ft5xAYE5JM7QcBKQ6 z(91Hy51&ivhp0*U_MC}lX7m(R!dx<$sNNt&q+}Gy5VupZR76O2m;QJH?ArL@LxjkO z$xYi@D4D}yN=bl*@)sSe;3)Q439~z++mwBza?GSuZ)DxwgmZ=v%pNqvKV~u=WjhA};6ZSIDp?I7!Zzf{sR1+%8VdFgG8Y$Bo`e!pk1k!W18 zQDxjDq`2lMT$a7otcBC97K zJLIkL2XS7n?@w8L4=g3X%988T)R!MzT8`v*fB8V|!{q?3`@YaX&oBQvQ?yYV)?fAUa%Dxw)jg+bOVvJ7F|A5WzFE|-H=V@Jt zoJ&wy4ffl5BrN;?-7}us9s9D;=7-#`M%UR;RfPncrlUUnw`IgxR~lPATo6dR+dy+a znNf;lw5IyS|0-XJkbrp(FTB_`jsjJa$uR#>Vbp31SaLJWpu5zr)r*m@Aox)^iK9)y z^BEkO%4WJ?iVo7-Iel;U%l^Rh4(cj!X2XXDcE)JR{E&+(uHHNLV#%R(s~lCF^GuO* zoY%&1Io}bZm0fkJq^SqZY{vzLj9rH>hMx*6GefP)=1@@2qU(s9Biho!2s&!TDhDu) zJGIrxmXo8M|FDh-mIEhYI*_?^ff{%anXj}peqlyyOqiCpvfAhvN?>$O2VzEoqO?MV zoZf?ZW6TggM6@UQe9yPi#QMejhal%cgJ=8^f^u~oDrQVPam>jeRnvU1&YEw}f zVMdKsC*taH!Bd%uII#~?f!kU>)W4L8FW#s;9B2fJ0l~5bZuc}$12F((*p(u~T_-Z`T6J5W7ZOX$H)WvKbLbZv zUvni8Sa#8oV}V!v!Y_|y{ns9ohpI6h3`#k%;KDvV7;rO=RT2inOd_!>=A$c;2AyST zKo2vkNU0G)`>kiK1vtmHA>l{xuTzNob)29J1Jnf0kBIjmP(zQ?->jxf*8C&TDNH&1 zL+uu{;pJoU(9u1%c$Q`;s4ZX(5z}N+I72ckzjQmuE z`-&`B`E=1~)zseK^?d){&@=aZ3p3|)MJM#`tW!%#3A9C6^=a})&qtS=ZUIJ9?Qcf2 z=1IL~_mgn%`G7l+JG-6cQlJ<0MP|1U)&1^>oc>a%NL5T(YCI%5bjWJdqjk{Neb;|p zE^hnHps=~dLce5R0oy2tvJoNTeNw`g!l{3^n^$g=7FHzkV=ysFq_ZWpj8eH+)|6xb zgUSg4F4%+Zrq4T|$pA0$Ka9Ryb9846 z#rzFZq=?reXj*IjKH`Yzui?IfzW+PZ>5PFlbgnL?K*O6uP@tcg`xH1S-od4(3qs`f zE?nrqza}^HmfB^&hTipV}lU| zFmt)J@(Is(@l2zRP`SP5C8h%stRKBc66FD0j&AqInusEjv$e0M| zmPn$hPw8P-d?e#F^qM6Iarakh0M#Zg6*KKL%IqXmdQ$hh4O^j4&*K|C)$RNywqmvx zunFuddzpBjp(R@P6A9z+ccIS<*4uD*$Y9ud<;cFd*_odrlwJnI87- z63gf|3={B)6oK7j5JLTR&+(M=LFo;`|&kC`_3+I2AYBwxk)(=NNYJ_A5VG}g3DRU-2&}Y4u z`ALo)_;Af2ytyK$m6TP>|6l;P*F)BPA!12Pk&lV9%stgRjC^D``?ziU2hA9gef=U9 zcRO&!r(vabnKZC?tVW)+U|8GwZHu2Ivn-~Ib~*5+IJyqPI8?~NflBRr>0EVCzqndr zE)Exl49sQ0XUAuK=bn zpsv=Hy;7{^2~1?68Dq2rT*@OkLSMkhFRS+u`P9vd_H0D?GB$0Cko!P#+Bi?dUD359C+m{XO)(aIm z9*Oq(ZQez)%N~J!EJhUGO(7;fM4u1yeWNdzNu-0Cwr)Ul-QrL(syI?@X}}Z&7C@~C z_yXvN?r(T%I2f?3zgWTiW#n&piD~W@w~-(SYxw~f*3EWK83k{?DQqj1amNd!@AAN@ z%IBFZ>d`KOal)zw#_JgoL^yyQc75uMh&h$m-*v0@^OuSQTv2O*1LE?!6gfl0o8g|y z%t%)}`)lh*=pp1Mup$GMw@74}U>OaiM-OZ;FX#`?PjOWP5zzJ3@t?siKFNG3$S2ug zIQs9)Ua7&qEqniaYA zQ?sXDgt#=^|5tjN2Mq`jzN8*ad4L+*T?5w7bSgG@(BS{Qe8oenz-DOk#>-Mg%|$Lg zeLloD$Y|Qh$YV2oc6SwD_P4FyJ+76y43^b!d>^{_K#}vCmXgo^jg~s+QY10WzpjsE z0d_ealyVJX(FEM?CJYa4pqh3NAnE7p$sSrVu$iv9!O#7s;NbQ+RqmM&_P^eWm~)Ztxl%A9#wl1?2J2PQs@|oT8yY0gxS-ZP%rs zzUf~tJO7U%-@kIq$8KJmBI)tehTW{lNxsm@SJO(5-o0O*>Tws%1-VUAm>CA~fe(%C ziD~9Ih#fGhGM7@GKdTG*gA@Ik39sK9s+|UIineD9PuHbU@J(XC@9+5=3azP!F7Ax3 zJDLFwBeI&aQH`(lbTt((2TbX#;g{gQi#OY%)UV|CoTXoi+DIQ=J1NQhDds}B&5o3g zJ>w<5I*Yue!1?qAGWTdfvr0Lk^1t!7e{iIx!y1Xs>`jDKqfQmKl3r{T)NwUTL%7)r zosV>?<5gDSO*v*kdN=GksL5)MHhHAJ^{7WBD-HFmr#}(*9iK2N(zFHyb6lKCM)Vn_ z?ys1Ok&-3p>&hR&HdV+oBPZm}t?_nA z-Bamc+3aDy6be{6>cX}wb@q28OXLql46cZP*3A5tXPN`*^;0V7-tKYv1}Bfn$`<^r z8F6Go5;%vXBg)znJ9Cm=Y8h93UU{88_4JLfw*UE7d5)UOBmertftSz0ij{t}w8%{m4kWNFKt5q zVtft%(9WKn`4gFPKCj*Dz$f(c|EaL?`yl*aL?fXdznU5WeIw^m^cw{9$T`1)?$hL2 zyyJpuw_Qgp?p4XlXA;3bXyInqchG%^dvskC2mrYsc547kKw}oA43pEcAf;+lx?=B( zBBl1(ZY08%T>`t1|@z31<~K2U7cj zZfs$1Fcv*(F#BiE{}8$Q(uy*=!4xQ@pm-k3HIRJ^qjy53$58ncRIl1owXWUYG%O}9 zDP;$tEk$8v`%(sDwjZJl@SrRKV)>?xr7RANLNBTPI!%D;s{;!O?PjsAFwC-uUcpF+ z><&`IIGZwhBo623uP<@U+1x2ozma${0z0p;=07{?Pa7Ip5t}FdlX7@TRuoE2f+w4Z#2~_VUPE-n_$BHiCM@SEZ zd0=-KLVlW$lLl67h4X>Vx<+nCM&CL&e_1WCWMp4f2m60uRU$!o?4MrOhT9i&LHMfN zTvQLY?B9uMk6Kso!}|aaR4c!>I7Kf`A>S>o_AKM;IeRB&N98Mt4wf+zEJ{9Tw+A;hWd>q zkja5EKmTUx(UEjPOw@35$g|n=Ebi1RCvgk~mw+wrmbbqso)vBL8v=oTX~V3V`}tMO znr8N`OEdHDl{hOrhRYGK6wqhk)@`n03TNf5>XUT4o_^HelJ@U7cMfr!k!Ex}GS}$D zN?v%%wL$th_@?xv2et$MoNJHS{MY%z_4?N}_)uO#1(^5kIKK52Px~{Du1^#>vOThV zrg6bXPa$3^a%?>g!N#4^+TDV4S`%{cP)98-H6iJP21d-lJe?IbDc$j7w{&s#+Lt=Lf1P}UZ zJR`-(4^ee8)ztSzk0jzw}H7!pr+GAH_7E@^WjsKWHNz0aM zn>q|TRKX5Qa`9htm@FS&iCY~VFQ0!DgVlQOkGH!=H&i~3+u;f zlyCz|I1{L6~38;8%^5MSP~D3T}#X#ss7!9>AwF z7L?x!oUzy=iyvVy)$2|J5i#4ewR`4+RuX5*o<^_(p1K|)-7Skg1oy??1~ieJPV?~8 zX8b~FA+JbnO=KEPpHF7G_@b{=8iVwS@u=y3R#N>7;Hbpb6T2Q8_E7@1jmRN2WmuJh zx24-VOJluy(U0~bBXwOswGDM~#-0&VjNEp?hy1x!%o%c*WEQPDaPk;?G`DDplOjjy zO)aU(maUid$v5D!T%8H54f!N6p+u>lrC+?lYihU%Q4&+odcN!bnv%6|DDp*RY-C&!0ajNo~ zmgNa-NhQ^mtx(7hkchjU@6y3dUtU4G*3$sHbTqJyBx=J>pM-g)brYe}*bW@s{VWiu za7D{E+mN9(@8pM$T6p;*0eebvD+iVHU~C=OKx)7$e(|B@^b9DQIVFmlw1uG{F}rB5 zRKh|wS>1gwC0%~rk2ZHGpDX3` zdO3ODFa~CNF85t-@Xh<)3Y>>8?-DU_H0>rMxdqCUCc{YI;a=Hh`Y`R4h=*$AtC?_H{kNAGX|j5HLP5#}P7lHTkvqjwAKxd1Dx{bO-(?EKO?a+0cUM zx*Vd&b3AUv6YqC%SuE~P@!Cp+<}jJoJl-4IiDnG?uF77*a^PMe)x89bbN{U$KH~lJ zn7D!NgpNpTz-SnLhRR-@OV1xVyRF6UCCNP<8Im}i@)pVV+g88^be6|Z#&eE8?ekXF zYFr}j)@C{_O%QVh2uuAF@)~Klet^I7GV5rqt~(qEiM}>u|FR`~^OYxcCa|ovq{>Lq zX9$+{9&%7zlr{khD5icYlZpFan);;g${jg!SOUnuTc~Wgz@YoGcKvG*Auo|LJ0)lu z{OF^XP)uf{I0lenq00NtS+w4l9{X=Tq#UY&jZ&vJ+U(ZN;*Rt0I=6QZI3YWe;qw(@eZo>$=|yJnbWK}LaQwN zdtQK?h%-ED2PREm^uu>1c$WV=?j>`I1tTHKPFA*G=btRw7nbEyQg>ZG$QJ}XsQ#I0 zlqL|8$T{R94rIKQIidhq{t6OOuRNu)GbS0D{EmW>fpGx~3bSANp4v!!qdeG3S^FrN*)&+8U2u<7Oa&Fi|}&u8CPWVjsit4X0O^!UAO-JGl4 zFZ8PfBCct;8`}l(fMLG79vUzABku#^@-}^;X@jYA`Ab5<0cO~F3Z6i|iRe9LZ6f`X zT4ReFP;i~&{e3nA9b!VdUB?R>l*pK`$IYp{F6l{CdiHYXMxTmPE;ECb#Pq+571G>H zEg!9f>86iDFQflcZs5OQz}gLHB_u$)?|;H$T{nX`>-DA88+OX?E1U(kOH-jJEX8+m z%I4eRVt5PQv{7p=B5A+KfTOjG5+|e`Cm8!ZB5BqWh!OBSoo(X>%tL4LjzMK|0w-Jj zl*M~`W^sfq`{wty|H*_+kq-Ae@CMomFSkyK!Mf}hpE}V=u;Y<6)b_Cm_5p3E>zC>| zOGk=im@#=4_d+U`KV?1NR}N?ikKU60pMbDz5P2gJr?FcwCcIGu$XFdcV6@EpoN1~b zCA(YV%#WjFi9aJ=iS=U5%5ik?c>qj5*54(|F5MAJwyghwnNkSYv}X%)_*2sD*-p<> zz#}X2oSY^RPwo6gUC4t#_$kEGFcyl-ppT%h$T5UOnF6uAJNo+Xi`r_sE=n$*s) zA0aYcYP}3?5kQ*+^=~i;6Xh$<>B;pZ%j4ar;GiNAH+S|Me+u2bbSsqXGJSg7zq=7LX$D|s0~KBNn* z1i(;KRoE@6d06C#{x3osSpUycC{9(XeE$r$M!)%e3dIKD$^Gr`Hd=o?LcBozcQ!$B zJDYHp);{o)fl!b*h<{rTR?1rp4_le!`Xqy1+lVIWSL%z=4pziK#QL7>AF~e7m^7NP zb1!Foo~oV^#2M!ewQf6+40|9HT(eE$;ISVhV_#V<$YVGDlbIfDO$q-gd;pz4>b8QNi}`no+_u1Vz~~i|0K!)r3Wm1*Ue)Prl7I!KnxH8+0yw|-k?B+W zaqU)T-nvxJe}jq-}4CQ(H3qEJE%6$a5;+-N%X_OU_~D z=lfsjK#t!{z)eU5a9Ml4^Lgzpws);U1vLZe!rlfbd77Eg79-{7u5W5cw1Q86AkmQxhYvh{m^aP8xd)PIs?KNlr> zS~|KBTq;R4CVTY8?+7FPJ6ZP2S8UViMDEzQOD|5sErjlYC9j;!mr|~i<2nGhhA$qs zLT4kLmb}Yo7dazO!lHA_-K;-0GaF3#hW}^c0f@3M zlipy`LD6|~_^w>0a@f(SH~2W(Nd-Uf&b~N!H8~}lxz-@z}Nh@^n>d^(hoyc zr!tvF;}|<7=3$OkKg$FW=M8KQ2JD)34y#Eu5wde1)d875x`@`lM|Zn`(>#hCs8HLw zo|^Uh3r*^zgu!GooBm9o&abJ})1(_rBH9!JfOX(sOm$;^l5FxP3QEvVAL3hF zeJi8Wgh8O46W0Vn3GHI0-)=d;c*~P~P=}i)?lY@(|mF-T_Fu z4J}HZ^TRDh?b?h3#G{&mU;lOxAxcwGiS9pO)Wdre$Un?&1fYSPhh&C8+T}pI5=yF} z$-E~sy8lTEv>*|eLSJm!l0eAUnDpm6ci^KTXBINl(tec;9*EiGmNG}22XdUXnz|sP z6}Jq5B^M-)$r|-p&t2TWesc~h+4k1CMM;48NM4G=OC1r?6|FvL9?>i@WVg)`Lk3g1 zs+|Gl9u%9^aQ0wcx{rzeUbI+S=upXrfr`qFA5=%{^&A@f!%WdjnGvHT>h;WyU-AKK zdE7Z*L4o5@Pe`l>p;bo(Z z%%fr+X(DTv!!9^;!$Cq%LUt^ADRas`ur^aRKPj`iO4Kcs9f>HA__k&Hl5Z5tjtxho z8G-bc4M?v~$EmIIT#z3-9I7N@9^=oztmTU!d(It|Wi~vscw@OP6@ntbN-v4RXMP2fBqO zWljGzMj`UV=>Iq5EVPhN+5S+|oc+_YDji}lqzkd2pjPf4g7ASI`SC9GZX{k&VO z6AMDXxa>mY-}h~|&+YFsa+>RLi!3#u#<%B3Ir{3vOJ!$G+Ly(v1_5}a@vnhwj#&pQ zsR>q)@ojT?k_4ZDqL2`wh3?FnFK>Jb1O^9}(U^KBp(( zUN3!x2Mhjt8pHIo!~JJf|H*kT({&RxL*VU*P8+uCLB%{a{yfQbWjnwdn$R~;Z|9>> znawIxY;IHJ#Ewhd4a`{gStqg;esD1+pY{Ky9vh9%x`XQABunai1V$c)~9NVa7&yaKTsxevlt1u8HQoQENIeFjzO@;8jCD%$IJOJU+dB_ zEu8(&|3ayQGd*w6tMeA`hy;4yb5$M5!svifLBOcj$2VdOutI%MeCbPtI-1SUR}}yDw(yEfE~)kO_W|KB&=hFGEK|(&MfyV-yVpDzD_3 z3yI=hZbxN%cqLr4B*%ZC_SO0dl}iP}pKd<-B*CiuwtqIzZOGmnAu}TKM1KdYSzUYN zHli>4u7;P|wg1K3oA^V$|L^}8OtPn%kRd5`DvB&ImR4Gj>ZG!aB9cAZSjQ5QEUiL} zs3>d6QubY0#=dVu_GM;_Z5T7(=TM!tbKbp|&+qp86FSGdo{z`lx~}_W;iE=P_ow1i zXoZLIsEWkF_m)<`E^H7nIRu5fChHkcWbRVl1(jZ6Zo0IS%23^Q-Oi@M0843H^5xb; zg#N=s?%!uLkS+w%GzU)MW3v6|Yc(npWFD(4t&tjTC5@=frc~Rvv1Z5y#<#z=Z{&I8 zvte(d=Lwelk~KLG+2psuhaZ!&zsZBM#|C|$2VZQ##m@82lco#nS6MH**1?Qgo|45r zkTwi8dh66Y$YE5W#+Yw_tQmHFe&ONZ(!)YFdy(D1DE$2}ev5chf#Gk5afe9yFz)^q zlf%|DutgZR0=jgqo32rGBDG_Kh4+ERgyoc$#lq+XOha>MhSJA)ve`6$8XLT}_agPB$ zashZMB*+vDJtG$f-vv7b`_K428S!&EG+`l$2VPIaLRnDI31~Q4NYSj5BeAT++%16X zTu(rj?@ZL?|AWbV`|)C-{c9_21QVSCo;mTIu*elr%NvX=8n8cDbi=L6a#LYJ=lc}< z!jYouHE7YeDO>*Nm)V)4hk)PP&+g4oLH-;Nj&Av1rQUTi$#Z&Nm-{h?Ghj*oNvgf) z7*ikHfX5k<@cVsB#W0Ixh_^xvu;z>~yy2SP@+WNJ<{$d%_l|mK020J&|AI-Of@3M2 zH^7WeY`6~e;{}+$7@3#X*;hsT&Qik&_8(8*HnW7?2t#o=!c0wXB{+Yh^<=N0{1Pch{N%<_k|eqjDorMak5+A9``cJA0xa-2ACq*W{6JNGZDxCCeEMXxsjy z_hZsF@HLY2*O%}3mt?^;T_7*RVNXAN_Z4ggk>i<1hxKns(=@n)1Ar%aWO16kI|6Md zesFGEtItG)O_$-_hYH-5k=+YTVRWmK;nQxnu{`9xBh)udH8ddiKG_ebR$2_E z=G3DzA3D3i!HZRkQ&XfQGkK_&ReDobTXn&X=5yE(pf7ziBFFRW9dCIdGk5)AcnUc+ zv&_epl{9nCyMz%8A;fTWOPCS|aQD%jA6$=!C6eo6IfPqUGF#VPr{0(E3D@wb{P(QM zGvPFlyeKJ=^0>?OIN>gl3-v-aT{?G{=RON zu!(x}e>0pv3cU;<0~MP^`Qf*VWSSVY|qQ?d&PI{_?86HeO zEsV|%n&f3}k8$+uwj13qbUV<2VaIaFO?(B&dlWfQa{jUYIlIYwhktWk4~C}_7)jZ& zW}M%9nYpDrTx{j&j1Pr9N?9B)>VI=!&+I!`{7I(bR+r&Jr%9L9`^vlr-+La8xWNM> zo+BD1dPA7nv1u0$1<&!k;>HwYs|9AU4D%G%XS_*$)7*7x>7Lsnn_k+ac1 z8l2@tr<`o5m8?P|Wy=ju??x7~6&}Wk6z3eU5>m1{Q5g-ptFkbWm5U<=?Jzh)zdHsv znvyUDDgj-s8;xAk^vbmQ3bWfnFZLqAgO6Sh_tV1d<5!+AfAJJ&mbXc-nH4cxdY7(9 z?hy}S0>QdM-s`%S>-cRkZ>)eKXwg2W-2BPX_1SH>p^b6jeaJ#{N@V|=3yv zBQ2uXLX8dBrD<&b+PnXGU|(=Llg&)Hsn93o0XDYst)3Ngz94Q$|8U1ct`ODzH?~;e z_Xxl=l(ynWIGt0?qHcDc-(e*5xCkOkYn7!;I#gQ?vfCHV6ottS9;gpvIJEe*OUC`_ zcL(tuZrTo?R_XFj*iWKtwVbqL6!?rGSsr0AIRRDx}aohd)dl&z9LstwVA&&$RzygIG$*i11!(C>A+iHrL-l5%q!q02b?^8@IEQTnoJXqi;NUf4TP55Qe)` zn-baJ^`=L7ll22w#1hjro_$Yhu&`djCy#sG%8Mg z{D~6ZF@%ntgUWF#G@f=zCkq=>%|p*=cAZO=9xvO-Cgp)*lD8AR)_cd4nmUza6Hp!( zs}Mof*(vENx+X*AB5og23;+oVw+^=6TXLW$>;zn0r4A&_ZqSEZumFPO-iyoz@gd@` zlGPA)8MLeTE7COiI|4fMfj2+>Urgr|C*LTD`RB_xk{*5rm+^SWx6?TcM|@w08j|*i zfn4$H?h_dENGK1t&)daPz|B0nerZ@(S=T^afE zTg=%GZ`zlBd_5s?Co^SEcjaE*Gy8Qu-vB=xI!iA3#kG7)#t0y)E+k6^H#~@t5*ish z)VR(38@Gv7yIpCivr`jn+et8-Yc7yA5oZ^efWFD?P`D3r7$KxrGV75IhhXnSDPg4> zy@pCtTb8wmKZtnyk&CN;{6oB+lJF96Wcza5x?ou^>6u;qifL{`^aRMVv~dW3 zNE;Y$G6Xtj6kKW|v%n?)fkt+DBbHL~_7Xw{Wko;50Mm*0Nqq7Xed56vS}I8IOT9OQ zs%CsJoo2$VZ6prlz>jY0-#(SgeRnD!il8MDr_t=C;|yFmWz7pl_Nt>zng1C08@Wn( zAaT4U)1a4;JE@|jDo?^$f8;7i$~u%6%$x$@sR!~!jlhCpB<)6ES8aNPI}8nClIkiS z(-$4>zPV0NvQpdH*%VALr_(m~-VkIZ;LDAkL$+&z#8#t^A9RrSe>C3C$;FHR&-udhH3nqh8=UB=YKykv z1#Tq6sEFc06^8;geNWtN8}e*4wiBMUX{p(e)kQM%`D8PrPvYbFdD0fRA4o7pL=^Nf zDJlDxUzMt3sj)+QDN9dw|Js|~JVe`XE5n#O?Pppd?Oc?EHgO(L&*~x62x=GXpuY~U zlt5eyADSdb1G@9M(m~BeaZlhZKFV>VkNNZwy%$=hErEOH3PCWxYUHVC2)2{aIkqG$L(|Y)andWHsyD{GO=DM4A5BMX+RvappsT+X%)Hc`rpz0LC z+7wtJjGVJTJk{M1u|5`Zg_7G5vHcYEju4tr%=6@{{38k?J;#I+7S`iAx!s4*z~e_q zyMufN*?!$P7ZUxlW`YC%k$q#nHb@=B*!$s*-%^XH73tkBco4x(Y1}}E&3od`#xn|x+$Qeg3LyUb?glZ0+`U#G8{{nz9$ zE)#-c&$9w=iP|o`bNui$st9^~2(3p_Nm%CZ8_%3zNXdKJGjJ>{b-&+m!l@-VBB$Kk zb9jWPA&-C}HDEAnMtRAWq)$^~kT+c3N`w z1Wpw=@Nk2fe-A2jZy@R`Uz2`!$?Lr-!CZ39nd{48JudsF!@B(7F#F^VguY5|fT@dW zoG*z1u_gavxjn(+mRvc|J$sVojhC^|QHC}TchhktfHfK|&~rz&M^3Fg+y;I zOm*yDA6E9JF%es0q0whtgD&pjicG*MUaUdSlKgfRy*-oTuhw*hD_0kAB7ci>0emWx zb3L(N1Bu`IRF)*Y7ba(W%0I$JJV&_`$k>fKyPY(UUl12LecB!d7)d3>3Fy5tBX5rv z|NV5{KI#e9?sbyV5v`BVK@}&Ur=IM63b{BS`kO{>(*!asP>liT1RLkg_3N-9{ZsR3l@Cg7H<=)AAG=7!+ z%kktpW4GXZ6y4Y@iI>HB3qE1Ou9G0tP03pdQzzfIZ>cswM3x_CSze3%%h=tQPJ6jj zGk(yl%Vd0+k>p6AI3O(~Q)(pF$roNMHxm(yzg6{qUJx~+P0C8Z*!?QR_}Rcxa({`; zh3K@^A9_L?vCHaNP*Ut2W9c?%Kr$c}n_LSJ!xSZr_1mwbZ5m^~NihzVYRoF68(08( z`WY<(f!Sv0NL@ZZmV)fQh+7w=cGLkxr_UJ79pSl-ep76euU>cA$W!fO>T5pLb5Qyj zT`7EX)8g$E#@+NA%H!Qksf`tU%`ID_)8=}+G_O(^L;R9$9SYRd;X0{9y`49mGW@aA zCcrajYEGvYZYw)j%%DXi5mJ{;Va43Yh2MTl9iz0SquriD6%08{8Gj^+>-7KD%2Jc_IbRdo;`B-X@FxqAelP}| zBJfjpA|y!InHYkgy=tc~aH-gZ)BLuAWdDtBm&%36YP1@dZbnd$MV=69?3xzWIu=HR zc9)j)WZ!U2@@eRU&hwr9mx=j1RDvC62At!s8@;YTB#v(k*^B5W7JBy));#Vg zcvymb_8@<$F@ILkBQ^Kt%CK(YI`gsu-Fo$eR^X>4fq;xP2^nWPXz`gHo4a1OO4DXM za1fO_a9v(&GW+YaWLB(ZM> z-sCdvh%;wjK=k#my$3;|uilp4J+8rz*{6-t;lZXcwkeR_CyOH=%eUSu>b|HU3}#+mzlw3yfp&mTa5?Xs zG7vSeC2x!Pdt4NcVrP{r{n7WZHHvFEIE1Xw1aLt{?OgL^FgF%E`={zVAO2=sPZl)( z+mPh(H<`1GT;Kb}qcS9RP~(8@V27=Dy!N^f@DJ>Rc_!>B@qf?5Vw@e+oO7fhhi#jz zL1OG~6^ zm5S*-iYwTTzj2MXFdh^-4XjJ{3>W>ELSM1F9eOAc%A&aTiLUA<>zfxEgQp0$)NALD z-xGErv~W zf1L?6$cgnco%Ze?cZDL&j(cd{Smch*o1H})4d^37C%4VA6q+Jtd$2jxSt=q9VBRBZ z9o3t9`+g-Gw58EX^LI=z7qeuOU+W}R+ppv+yQCk-$FJMWMX1~qLQAA=45?js*jDBq zF5-eZS!YG}!Fb%|xw?>+nVEO~Gzn8mOkrU>Fy#P#CZ|BU@4qv{)Dlv14RM0az*}&_ zbW`+A)U#2J=^7#yP>l-hi#X6$C2R_z&u|L=Xfc;N_zR1orYw#y6qf63?e>wNwO>G?D?=R5tEKUPdV2J43Ij)lhex8s`^JiBR zKo#zcp?g+NHHN~Xp7AaRmez?h02g`(bGFYsLIWe6~LWZX}L4(ivYuKS>c?$FI2 z(5XC`0J3eU%WtuiLiAE)g(QZCIr=FhsMJy9j@Il1hqAiVstp~>fXuoIwVC9ch0Cq* z?9{Gy%=fj+7(fteA*~w`MT7EVxU1i|WsHg^BRKh0^0Ff_OVuhu8PU3|aTauVeoUiR z1X;3m-kiGg3(zhuZfcIi0PK=V0L8mm$v~GNa#^gQ=c@|?`f*RbZ~ z-9KDBi|#UNarNosSlzC=(mvWed^vNwP0CO~Kd;Q4i-rpwY%TzF2L#m>bNUteH7Pvb zn$y_^#IENG^fp}hr^M!D-qC^B;9I$Ia-Z^EIIOe!LLs3Big>tg$&FJmT#PfP4z#9c zYz%a*DGnhaP%PjIBu;2gVbaWKyN9{5&edvGJqOe zxAPHMxRqija6phjyh8ENxyqzQ-y)XH#zoj?PLNF;*KYdneq3MhM%zKvf+Q8^Y)NiK zCD|92vULJ9t9&-x^IMC0iqP*^)KzXTl}LJ)cJ3x2#qE8aMDI8`8p-m`D=J+mC+(U# z8HT4NITb7oPOrNLE;3U@$MKf38YHcXcIE{6BqgA~++ewa4!N82RI2HYpWl9ezTIaR zJlm36-tCFVLJao^f%OdT8F4sI)MF9`hi%oEFGx zcR?5C3L$~Nl!xWhK+?rD=-tMuP~D*TxoYO@07+44RAMmP22fO77sWSt$f?J z-0c}t_^z?xE@V-lyj`KCBJt-$K(-{mRJuGl4y}MZ0Y2 zeZILqLr*~2AS%9}lhF;(ND1czfocmrwv2kLS{oU0?8IyXQp#$is32jM&$*T7Kk1Eb)M6D%BK zdDO$`Cuh5VU#G0{5OcI%Pox2f_GjAli8pPDN1t~?CpWcPyokXyeYLkId~a{>2oQTa zsTeG@FYkDhW6wy!s=@t-gZ(7QKWkUmcsd(ZU@~-}*8MHlTae9H5(*8LNNBy|;6;y! z%AYuU{iA(MBD+RdQnFlyr+6U@SHw7xGpLFqm9nS2eTv~m7=EO`1;wqpd%25&rKU1; zUo=bjvl7j3Stz^yLhpUYLYbS{e+E%iTtpeUrsBjW9{@!fI_2(j>DrD!E=>Se%?C?} zJpf-$g53vP!%m7-0`lS-rw&|eWxO$d>bGBG|@UQ28e4{9CT3nD&`~aaHGF9A;D0M^80UEoVXfOAeR11^?Uu1(B{7E4k5+f1evQ zwj7@o`rhxZXs&;nq6P+?)BVg^abob08bXmIgSM`pq|GS_w^yTI4)>dOKMu#O>;d5) z=%yOMkcV84FGOpm}hfdAnKR$K;A#Q<^ns ze9iVBSSvhwN(grDwg7gm4qhD)RS{b+xdH(stq8liX?G7(e_^=EqrSb#E%Btk`v5?# zD0tUJN{SEg)%FrmZWdQ71^|pncEXP0FX?F?8WjU#Pd6nB(~f3ST(HBIA-Z>lZNHRN zcozLx?L%=}+gi9)bD!o}5=<|qV)zc=?FmcPnZC%&dc1j-?Ps@523bWzPlF*f7uQZW zWsv6Tj_-?P?J3$iT`va1(5jPDX-k5<-RYA@=UEElv{Z-(U;zA4J0vVkyAVmg?I%WZ zPSgwuOHKaL8-EOw9bWBOyzMXWN>|6*a)V^4MnIy-1QNYrbo2=u`9i?vrKVDK5!(lJ z=B4;#Xe|Ew5sxqbWxu&1GpC(w?eFvuojHVh_g{rhu}vn9eolid?7e^4&ml02fuO1Sd^HG#W%FF6X{u8#{zc zAJms4VZt@&uS6odkkH=T^Z!g=0T}P1*KfI`XO_%$_)|Te!{*^#;+TL8S9Si=xU&17o^QvzzQ0 zT3vnP^$T7=%srGh741|(UIXcmMIhidLQWt)?EnY=(G3U6)4^Vlc>}7*S?HSHbAMJv z_!)#F%q73otFH>+W7O!;bK&+FNM1HlVgK#zj$t;;?1hgq+p#dhW-n`4G*|uuYVEF1 zFpo}}$9RjR#Ss)X1J(><5H4^l!@Nr;YaO$gDY|!y+j}*!nh7{R=G2RmA;l$xorvuv z{wrChWSCE4ho{;b1ra-tTGgvM9>>7Nh_JcYQTYI*R?pE>tDi*xbGIG{M=%HK217xI z!&$n=GF6#7UB*kH5t>>4T=wadaRC=b|Cwbu(mJJ?hWS8&o(JI^aG0|D zjNIb~Xc4v7Xg%OLI}h8>b$get-nxOc4*waE6MSWBUFy6mKY7V zHL=t&!saVb`)O`ZwCp|0mM_6(NO9T1_NojauP+YuDs+h9k8HwElv@C2mP^{LiewOF zjLk+)TQ9OWlQDN;+VqdV^;@-Q4+{72ZgflZ4y%c835PD$QqCA9I{J0av!sH}n|l%P zG`KOKR5IrPdL#JkhlIUuy^&{u6J}mcTgWur%Kg3NUT|1LGG)Qr)j5j|*44Kj^~lD{ z-?74MiC{gf@4wfTXdxiJVP+To%d?Ya;(^@M>w~2Nz(6YWxou?fJhZyA=og0j@gD2G zr%q;65R&`{!~Hx-2vwUe8ByBUxlxR~72EAHFh6m`UF$8Z48{`5Pvt*<&D#$7s^T<|`z0czjPK%w?<{!KmFl|j($|%tuT(27Q|_J8sf}K(qoA&BoLB3@lC@PU!MHGt5eS}? zlg$6WSQ+xiROcKgw+uj0nJtt~5hZBu_*Lq~AjvUrgWdqHN(Qa-sP)|B0;YSfFaYTl z#kDE*kp7OvShI#IimnR!atkHUli-WeOLf*+%|s!a76Wq4Z#}UL7@^;?OuexLEgYK^ z&E)-lcpUppnj!WowUY#}irZV0=aHhmg( z-(3(&s*Lh&l@k0PiT14Yx~!-JUdjP$JB09u4$Q<={$e?}isj`S?$$;=*o}M1CyyIe zB%Z>J?|BTx0fE5au0Lv{al`S0lE% z1P(&k1u9t_gQjLtD4qF4q@`e&Yg}F$*t;FZ`|rcZ{`a0?9r=}i5(?a^O$1`U@!da5 z{u|$Y)zxLDTUAMa7$R{WKm-;{&v&a8RwJmJ)|gw%;^IpqM1{Q>n(V(Qtv@ z=YQ=A&&f^^5$JsbN4kFj@BZJe33|5M3Vp&InjrUaha<;4ALdv2Q9KS^ z`IYItYVpY&*v<*4ki6?z@xZ-PmsBQE`p69Uepuj#JNQzNQmTCB?^uBYyEZa%Z?XJd$uuTr(4`@xoQ z8)6egNUK(vu1%WP{28%`C#sK>Pp~7?GPu@^c>+Z!22!ce<$q4UkMEVe*X}m$zAmO> z)Yj5Vc}lw1Y`o1FF8Az})|Yx8gI1#UA3NglVR^on<^$TJ*j>1z0GMVfBND(fgC8^q z9t<=~MYb*LEkjMH#M=Pj)$5ub02T5DXQpKUfr*dHKO)bp!;LM5a25N?P%f`_WtjP;`QQI+ofY{j(Cy|~N#1?tdKO_eAp;%sC)f6qhM zZnro(vTKy1pO*-I<%hA-DD2bQxBj7R7*J7u6*QoRz zc<}?a<~KBjv{Q{( zn|Ap~5Vn;bzN`av8&diBUkeLwgN3Jqljjp4R~Cl)JzlZ9xI=sNhpatDbbE;CN3d)3 zv5D$Pg7nTOHcT#gAWnK@c<>IKRZ{ffzDGwtqE9dR$oA0>PQWNdY6Px%4cL#HPiBk!#eQtDt1^6${0;1eD|*d8xrYRa zNhGWZmE23EhjIt9A{u=SH|@b5{6f1~|1<3-p5pdY$TxnR{&H~dAcn?)0(KMr#v=MI zF&Bzh;0BZI3Azk(JD@VhH?OLNk2!8jx_$)2Dnjrb%Dd%<2?a;d)kBAk96T@40%Iz!OS?*PgR9pa#OWe{Z!;OKo)+W zn*|SrU7-J5dK^hF#e25g>rIGvdG~vffm#*xvOuq+QLsrtv;Mx+Mvk zE!#>tdE4hEV|4#84!MLq0{ym~=LB>u#?vV|OVUKzE!v4~b1Rt7y{@5-?9K-b6Nd%p zko5)pTK2wupHsbPqOQ8qRhyfQ&6GsUE>IMc%D#G63Yhs5`X(z1u9_^_?2{Rtd3g;= z{ECC;^cU2m3*C+hL0rUXBRREhCMi~MWi>uMD9{)K}r|fK= zK#Ng4q>NSX-fsA1ROx^hOA(HDZwB≫TCii9l4l)B6|))m#laFX$FGApx~Dz-<{= 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�&g*@LDvvoaLcpjkK>^&<0jr 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�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�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%0ArmG_xJn}X4|brbQE`=`d~5kOt8tjDfA;zk|}3E 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ⅆG(&)?#edg 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 z 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 b-73t_a2g!vEq}0DD+wTW3T! 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 literal 69518 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 diff --git a/apps/gui/src-tauri/icons/source.png b/apps/gui/src-tauri/icons/source.png index ae2a8d43728977a076faadf4569bab08ec82b4b3..025426f7d47495490505002fa74792cd55d20e13 100644 GIT binary patch literal 426279 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≫TCii9l4l)B6|))m#laFX$FGApx~Dz-<{= z@|M{LS(-qfz?1mAMM;qVo$t+G<`%0me`W1;c6_JwFYQS!wMi?i_HXf(!#r-C42jxc)$OLz4% zD9k-xns#z(l=`90{DC&!#>gXC_Cgh^x&^k0bU*+m_U`EQeGL>vjhceT zwy{=hs3W*~HxN4W&h!Kzss#5tYGOV)=@H7S_=i@|S=tX=*_N-0$!;j8dXJbs5)6dzBi-MVkH}aGVZfO~tY(M0~cM7tG zSV+if?hiOyWkG3!Gjr@kG z$%Y3|YO=CBVy!Gw>$6));!A-_tgELie@f6dtaw?%(vamCo!hofIosy8({LdmW%Be} z78U(z0s0pzD86OS=&)<=3g)g@tOag}$3 zEePVwUy=z^vw1$&0t*L-r|xLg(niy*og3$^-TK=*lxQr4hgGH*Qa9Yi=f*w%S;%M# zz}(6{g{e(~=}ve7EcT=N!=3#N-_bOGRyH~hsxSgwEk9kbh;EK-1^UK2jre|jcBUKtKS>;qO4hBq zWB-ld!Ul8{_yH9a%e?}d^@G~I2sWa6Bmbw!0SxHJ^c?jDBDsj7p!9@8uJ;|Z+(5kZ zusw(ow0Alv?V+&C(maQO;SP}ILpjFXLqDVDnSX_vH`pZNVX<(UEeMy-K`jecx>K{h$qhs(4!l* z^$bD|LT&PNP#v@83TZ>bKDFm*yJ*3A;oSiXHGxWu=Q329=ji|K09)vtOSA#s zb276E;~i;_sgun2ol7No)8^EK)p2akg(_||?C?Cyz`gmYtkgECe&s*AT@*yx-b}i` z`p_wWng1Gv*k*Zgzhd4Z;?DA)?z~sb^{(@+W#g1_%f4uh)uIEX3i|3ZCIob@$p2sM zEMQM5SA4}jA%mL*%@L`L^nCo7DmYIe8MO7<``3l+Vw8ygFGCUB7x$(&GJ?P>gMrEZ z)IE6na{Oi)nuj}7$Y$JTT?+e6YfbK^y&oBL`m-sER<=a+@>bCD`4`%LF|849m6H5F6-WTomKfwA%uh#ZlPpNKiqyIuVAXiplbF_VUB|3 zXJ;(p(@NtL4@G@WA&vfo)a?F24vAltLt1ONF3dKWNWS!HM=^Zj@vi)#!$JdSWo{ZxBRZ6%o68?)4nXxjOIn zkf)sxOD%HCK~Zt`_Z+P~7zv;5bL*X0B<*}IsHbO`?v>Y00YP+!#;-wVaK~y;j^8bA zHOo-dMr4cO(!A6Q0BImaLEip%OUwFyV`))pp|qYV_%I`bcuY(!NzS*a7hiU0YY@XT zv=04tJJb&_P&;)W@kOReuu>fZ=JCfP08O!w>a8;vGejsKWvE&R?~DWVHvp&gNC8p2 zTnT!I-D3%{1|6Zw9!HnG_koY^+4p{`YuP{4ME!2m`EyCskpA;jA@FLTwa3M$QveKf zTWpE6J_*C790y&i6$%=$o)b6epO$~Z)s_u0r=Il$oY4PyisDDv?#+vU9oh5LJDq{M zc9x`p+Ky_aSDWs~pWohh4#jaW6D!=qC5dTa+;G!ku~YaOG?jmxsiN$A|R~ z4lF|AqAp9>tuMZ+e`90G2)Ag36}+KDI`8s_(0fgxpx5-b%vBo^5I5cOT|E~*UI_DE zdQM5kdUQrwSsrnGE*LvroJXg_5Vdv+0ZCv+LOgag~q+_yoM@01)H+@-LUW<3x z)FpE7-4H#5A0%H+#y2~p%g|yen*mnzeD;1CFw;nyJW2Q)G=I_y?(fk2&N^RvP`|6B z>S{}{4<)z021S%DUIK_nWm};gSjL{?x9wFqXk7%ss59US22|f5u1!jyp2~Lc_AZv} z1_l@%(+@#>RJzl7M4_%~VWsn_i86XU@&faqi&&U1QJ5!6?Ilpolv!EyCsV24LtkIXP zSAuB;i|4jQ)=&mEfU0OrHwt%94F`A{Dk*X0qY09{Tt&?#=>$(7o69u?Wz8EM%Zep3|U^83DTg~udbZOB3+8UcV69;*Ijj9jS>uBaMI1cTkuy8aUa?KeVF=k z;MXuUcEIqH>(?+fluTZq;-&WF3czYgW~+u^*@m$Al+UZ`L4+?IhS z2fi!9a_={hf~*ZY0upkAuPJBOJpR+XQNT6hBao(bI{S;1e4JhWD8ey>+#xO$ELs!W z?iaoZ+k)JlQ1jkHc}a@VoVssd6D@-#HHmq%`ug-XohLnI4;IA>>bc z9WJ(BGlI-(D({h^O^I374Rg;SjPt z^s@indv0tZkDMN=or1Y2fVD=u9QiK%!`l$R@X)$g@Lq;CRJR^TCacJeHWYFh(dK{p z3)ysTo9Z(V^N5^{0{xAMG?BOYjO$t_n63$_d=k>dYeP#3HD$}^0O^lQwk+;`sXIcp zwxVaWuz=hrSFpTm5Kgai4>priA+(tfIxe#DzPsqjFWd;0m~*0MJua{0wGRps>~&Ww zw@MO9j9VigzZ$om$lc|ge>v9D$XN8q5_<-F?OWrP%npe_ z<9Hp6KMuKEts^%97^sL?zkTc+7|sSu@O`2evTRih*PA}mh8#u?*8RnYH&##B7xouD?yR~qlrb1pyATyO)SHTrfmjJ? z7CRJ8*K}|~rzJ}t%1adF>*`UEv^DnsmPPB&7fQBjk)NVY_he|KWI|NWac?AMgWm?o z<%9mPGAKl-E;9g3K%TZLR*@6BJ-N2DAg2#X4d9$SVJ+7?UkZzV(CaV3^RHXG{IN)G zEP0sQoT^Jc!S}o-939?wvB?OuBCZBKP@DECjy*DQl%{tSbQIzv<)|i@=jJJ7pk?2 zk}iO3^7R`B=d3{NnCkzvsNxxm0TM_hje)7rlVfz0OXl{Oq=J)du3ZWK)Fns zh&+Pn#hm%rLa>v~g*fRYO&I7x%X%p>GAl%6g!5UihcA|hT>{NNfTqB$5Yr!Y`;RJ& z$4pDI&PRPZS9Na1ox*i@rd+B?;IY8&eVY^dTj|e())dHrgfBl5DkMVQCP!WT6|pHZ zDCB^%c$iva=Y-=9`(cmvTT~Diz9l}!s}q^Y5$ODcT%rBB5!Zp|+`pl$9QmrOoa4Fi zreL|g85$heyx4E9`EqBYSBk`b{WqCwZ}YB_RNI}ZqPK3Z&56t3ak2QUxJ~hQ!H--~ zZsP9BXG_j$@T_q!>+90(DUu#6nH+ib0}S+%u%g9jk?%^vl$3(jW8eG`{=NgxV!<*1 z?dP`KBdM0>3m%7i1_lolkltnGj|$4>*KC>2 z`MRQrSN+b4!f1`njDKl*+0wtjKpp&|+HV$KHdF zI+;<@c<~KT$#ojCtG9R!Jspbr_rw(pir(b-H>vOyafR?jToK>dz_^bRh!Q`(8yvu% z%Fu2*SuE<;s1!Z?tg4jQX*B^#-#2{+|7re1zg){wKueosy);2)C4L0)VbRQfVHZfN z&x8$bFkg&69i)%c4O=50mC>@7>0-7Mf5WRP59wqjD*+CtnvC!1vR}wdwddqhW ztvo1MncJ*p=PZhf*j_N+bS|m3|1jcBom~hN)OJf$YGkyGlvinBBsvZXg{diSHW6Bm zfEEyw3yw@(0aD8AJf-QT0hJx1$dt0KTMu_&UKyu{qjUSGKy9a>V(%|}E=Oo#_2|vjpo6$C6+>Z~#Hr1wN|ex{C&^*=iEP7o zd(_@WzwFouTIjq~5&dQPs~-WbW46*d=G-~3alm==9k;Lb2qX~|OtB2%*4aCaO%xW` z2=PD>g`D@W40oN{{NhXwtjGEi>?Yx~d~ZLU!{005v_7VOb`S=J)r-Qns~3t`(T56m zS)*hT_hAzTy^0GjyfA#&{)HJ2OY!L4WJ%@u7CHB_a>Yq2r%85C;C!R%ihT%E`|R@i zbNvnW7qvPh49CAPcD?<_l(-VxZdd;4tKJ<+)3H=*Rlg;3QEYUGy}46}H%uf*TYyu^!QK7K6;ns=$UxWJI4Quy$Z4Y9g_ddLhkry+Ef zobC9Ue2Y!1a;%0_q$3G{^miVnpkRnfw)ZTDa{2=tw;n6^TH9xk1{<@UclrVxE9GQP ztL0?7le=G7zaJ8wd>^f=ciyj`!?*>NAhA$g5Tv-5lxk6#*1Gr1)wfX+#*b4zn)iLN zdFe(S)Z6zZK;FAK;?P%Gs~|oR16|_zsMzKYSc3+&`OLTM83sJk^ZDr2fg5kO$f@>6 z=rgbg1(AO6dC`@Ver34eFaTwG-j>tr!Vf%@L@x;TlF2v1E`dX_<>b)W5L)&v%0|v- znwP&@J#;Y7t2$X4BZMcvjmDVXu^M?U9SVQ>#=q^+I8ROE{47U zLJePU@P(0KK_Q1M3>4J;j^a84>G&z{3ZAQq(IbxgxGjfh=Ku|D!PSLl>@(6exc^6_ z>yEKiq^te1n|Smn<2Lw>_0c@N6Suoo{a!XotU{+FKR7CN(pDK$!6UYMPw2 z?CRZ#nK9B{U_T*``Q=5>ZmTuzHSxlwAAFxo&O+7xNeV%2<~q*WJGa`!Afs7UAoF{> z2d}f5b)_qQM^EM<{_#Q%c-k`TAZ6|l9c2sxgq}Eu0ikA=xd^2m`r>gIoU$Zlj4xb; zGwLwuX+qbcK^wqFr7;sAH2SsDtyK2F@e~w0KO(=`X{T@!ky)nG-H-;whkd55sT|eq13{ep&WI4x@yW5G+N^Qxr-TnQv zMYR|Rkn@CkHf;7)(}W6uzu!0sPp<52mGU_9@PJz^WcO6-`xuOH*>Vho33W$b{LH9l zRNL_$wn6>QPuCS0j?8{<;o4hAe<2Fuz_vb+c^oA?rkY`nSR!NQYVg^+t}=irtEFR@ z;?z6)##EWur*c9R6C`oDH1VG0o-aLVeECI`U!!1wuj>M-_oGh44om8;UZ1S-xlJn| z5z0YU9`9v-Jb1V>p$E=vS8f#9*@MPu^9KMv*_oPm#Nf++V%_AO=(Ph;aa(i z<~2h|Q-Kq!-D%zXzcqV(8WV6j_2-h&!~*kasCcrqJTn~>>vrFS+RPjFdIQ}3LM(EV zx%;-_RZJ{?_V1Jv)KKpLn>np!vWZQkugX�&g*@LDvvoaLcpjkK>^&<0jr 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�W7nXpPCwiHA#GP=0um>`vD)M2iZA;uQ&mV9b@lXd_J}RuBBaE z_ZH*qXMeC!){1*-PnjdGXUm$~p=Jy#mO6x66O>-(es?F`f=BBUCF#=%mACOpte?n5 zKVG1lr38Z}zI?7#wqp^5G3d&8M++fJo2=J&GIiC$I5$q351FREcD`%r`p18wzm&=RUD4K7P0tt#>G`_GjHhQGRwk)RWhF{GlK-E(#GY%i8=D zUxZ)d&LSw8CEv7r96<3Po`-zFfJ#$z@QeVQ@ll2s4vGpC0M=V-_XnNmva{^rpCFz= zF~jFf?BLVFj|H9ba3E!NAUItf>hy5X{nD8L+Og{{G;A`lGbU5v2lO0rP$jZRt#9`O zIV`P>OwO@u|yRdUrAr_$KlO0v+KGQn&+Pbe8r_4-m1V(a02B0jl7rjo@*?EYa9JX_a z_T+f39_$CDQz7Y#x@BA*?u`E3m01?Pzd&$58r^pC$+k9^k+cRM4Fpk=$~zfeYXN)M z*_LYKTE6@}aMAgo@I0EXROZ=4Cf3kq=eP|H)*qd~`#p`j8UA+700q3^walj%Snl3p zyqO=nDp0EeW`XHAmr@E+90lgU=@(PW*Q7h?mKoxEXE3-nkns4-uK@(kG$LvJ#@7${ zur%!>36I-t7aAFKLZk}tZ{j#_dpxRV@>-s(jCo6915u5xH>93h z`>ZEb#;`8@Q!VH{(fbr1Z~g1Br%$cvBJp;q8O4p$dvDa?F~R zV~Nf~$og%>{(!awQEi0~jc=nWn81v9x%5qgP`gop9(e-m%)#eg_lBDUBrO73f*|T< zD%m?_lOU-zu={jRIZf~Tr`me*iV;k1^XbAx)6-rJH97A;T019PdW}4_tq@j+Ee*5TD_~j7dGMER7TnKT z;gxr!aFy&O2C#g=r{otz7|s8}#He@JzW)L2T_3`XQAK>?xkT4{3Rj9gLF}qZ>|(*6 zJUMx^KFcMS*0ruTtS&uKS9w(KaiXi(#Di!>>ty+cvyzR9icJb+gf!z~TS$@@uIshm zn{f&_MSr#Q%#RaS6VO4_OTyfOwb(}qmxRqP4I5u}7X+xn#T2a)kk~Mb`8Tgi4grjA zgciG)^d}`=?>B$ZUg&;$w&!!~Jo`)O3D>}zi=PGluAB1xcqaJ>|zEvLo11K zemQ-EWK=6v^7~#bPuvC1K-3Oqwp+r{H+cC#OXw2}LDImvdp!-s z&yac&|MJ@Rzah1(TIaI%l!~+JoMJo5MdeRG3l4zuw)bWqf@3er<_0jZ_aXpmyPHkB zOMac&wrc3omLn^5%XPK^afI}(e?L(xr1O^^3^I&1jVZQ9nb*L`BzE0FY$oOqk zpZRn5ckRz!_0}CX=?Uki85{6l?JcYiE_XUv^*#D4-lT&iecBJ8mafi(E{m}J0GlW5 zYr>rX#q&fKmTu~}q8F`102^%^SZof{7X1+D!Ug-o=J2*_3zDqyu_w5x_ zc2F@s>Z>KPMOm950HQ3cI@^i$Msin{I!xSZ2!_$)(p6MTudMAHw(ks5z<{&4x1_52H6_6;|?3jDWkg?u3Q_B>?Zr;7m;J~ra z3PQG(WxfstQU&5jaHX%2mqlbJBTj;^R61*1?s0Ujcc*&#-b)u>f7X2o!ptkZp%&=M z{v15YEcRZ}Z{|{YCvJdx0>&G#j9T4zt{Y%h&BaX>7G5n!*2oAj!FCb8M%VFYdId{OW+wPRaISpFQR za20V*HR6^VLT_={OW<{%#~I_J0n5Lk6!t$sdBF*o4>gtOcwtMzQ=kHW(5z+KCFu-M z#FANxZ{!{VR;e~FLx1W;b)oQOku%%h$=i1aDB^AJJ85SD;m(DosjEi8v?LhnU34Lz zc9UZ4>y?|(SQsMnZ|hUxyOJkT#_vEm9#)0DZzY>%+&YL|qcFh)F^}Nkf+2zw8 zEhYYRE-gc>yF#NRx;og`D12A+GnUdz0H{Jcc>vW~oZ!&>EMxqMoJ0?Q{6JS}MQI5% zgKH{TWGy~6X~GNzHSDx-O9amO2~n}pw=#j~KTgY2cR2+?0uYdZUDygLGB%(q`mFh0 z&)Jl;yWBD+&$8@tPC0!mUISv1o`R~8fHBZFSk`Udwl5pOZD*1S#5BpWpMV*w=ElTX zFyrWN?rAESno#5n;8wV-eNAr73bI74~jq-^XS+ zhiiYxGRin3jASAsm@iUjyXfURgLh2D;h+{-9RAK z;JSObC;nwTi|b86!RW%Cwn0jDd8=8%l~U~WWWXOcQFy!RN(h%;z^_N5TN(3&%kxDd z9NV9HTDoZ*3K2kr!d5@b7j#xp-s%~P22ERjV(7E=t6r-{cAV~6zQXa^C^b=nZoV0m zUkA7NCY@YIG|yFD@Sy!=O2n*PQHNB*hCxVxn+kW=1fS#kbg#6&&u`fg*LE#N$sI!o z(m>Na78FHU*<&L@@_xQx=VN*e%>Yh_yjN@4{6oXmz--0$PHlT%Efw7M2JY(T@*(}6 zL)uH^k8x=4WfLgoDqYmalY}SJcEFJ(_ekmSle6%aCWnBtVZ7k0SAkHQBf&?=jepAR zv9LI&@=AGpEK7!Wpl$D;tpu|hVmWP0{)v5m&V++ewRB-0Ol<3TkPH`1;%33 zSvR(rmeCU5yI?|>tZmo4yabGe>J)s_*C`6@oQALULbzr7y!g5gSRX`#drv_C>H7y zz+fQXZTrJcwD$ihv4+Ce`WdtSvdu&L*)}Pvb0;S1%DHV%4f3sxn5Uckb@ZTWAVpTr zGxG67PTUR|q;P4wCNM;yB@2f8e8GvrlLebpoWS#*A9R&7O0-sqxbY=L7>AsLqV|oQ zyH2OmhTf>ZUQFl3NEGA$sj+JOn&&l!zZfuJNEM4e(kPz4oTOD$ig;Q@FT8TT@w^zz z9PM%&s$}qb*kij-U&bq!%PstI0Wn{E7P}@zxk>Cp$iv!zwcx!?F^f9Eq_h%b`6_kT zKWzCJ-E`B%3it=?_}lK99WIn#SpGzYO2ByL18v173;^x!S9fZ=o6Hrf*^U>@YCz`1 zmt>T^S?hQ-69cTl`Q^p*v*a%4n0ZA5QF%rv)DW+RVjv5312Lo5z3CSXwBBe-N6GX( z$Mp@KtVLf#*S11v=xoQ1p+{zzY(#kb*z)=Rv*A@FX45!QKIGW~0X!Ze@(>i@@$_pU zvx=0%Wb*H8J*KahdL7>KHyZ)7C(#k%!0sF!b@L#$HA4%j4Iq#rNj7=9hg0$JC#CLG zk27WECYHOERcarxj1}vJS!GKTZ|XmuIh!x_ftUyAgR8I)-{;Y#Y#*HWfwP>t^UH@v z^+8^guIZEO3VQv(JqIFz>16Dex=H5*v_*n)T>n?VRS-FU5doHoc=-AB_!xu|I2f($E6 zJb#n&m-}?OF;}o^9061Ts3@Hs<>gUwpCM(SD>5G4LC44UMDSoW9PE4sCmw|1Lq~ES z|Lk-l2P(svr{Dam7od;5ezXN}`|yMe*5Iz7@Wa>f34Bj~LYG(Qr(NE;OgkZIxIP8! zflCG5_V}aBNsMhC0?Y96!oY4P?>;$L=g(2Ewn7tzzvNu=j4|MxLc&+BIBc?8_~y3&(&{(=wFe*6Kcqhd@Ez!!B@Nb=t3a5r_no?#fJcha z7spbb1_4R&QN7qTDt@z~;f%tM4QEU$Mi79iEPVHFX3Iw`#>H3-Y#|tR_qLXo+#AgV z_`E|*^Ypo%Jqc51M^=*wykpONG?ocCYe`8$bYOEP?E6_wM`k2rIT;ypPG^@%q-DHm z{@ljo57zf+sTK=Q&x4KVl=<&EL1@?Yakia?PgcAyUPXvYn_-1$3-++y04rP@aX{$E zPR_ji3+^M6a92NA$MAE>ocr+qe|3E_JP1u85lp8EQ*QIw0^{7lL-csLfFtL_rvb~X zxdsLD*_bPXR@Y{!E2-T>I-l>}9MCp65hcS_TF0g$;$?yPtSdoxN7gp)mP6b9nH$9^ z8t`6CqD}-r+BvXcT_6bQqz~Wm8%egIs|opXD@F*VeYb*BCKO-!}Q;!xQoe?!+os>kD#jj}GYVw+03)AvHubNZ0YS z&~+&rO}N~0|~TCQGT8G`j8jP5Gvkzm3a- zJSQqsm?m#T8%Z+a=rChzos|s-ukgPY-XHAQdKD|2-U9G)I#!6r&9BnSZ)+yIO7{Y0 z_6{uSXlw3L^&+4d;-a3QI#k{vpz{MD?rALsFZ8qrOq2@kG6I`=D(!0rb9mQL zKLLongLmy6;6k9grdv5rx1B|47s}YY`Q%-C@ZNHB+1(5)@oyz(md*!U4)OeG)H| zO;5<;hF0b!_H!E@kAg$+u5SRumQ_?9OAM!=IxH%xOt!Y*&&S6nZv54#u4x_RL3ATu zhb$vH@CHij8-#4cSpZ6llb8%*IR$wanXhhtl$;^=^JBH>$i$LkMiuL{2C!d1qyV}Q zkQWS+6Xs)ju)U=K)l*d}v+&)Zuz#H+<)$SS<*7bv<;o|4d0UP7?2LKAVu1O% z=2SZjPWou;13b&G8w78i1E`>S@F`Tt$d?DX=a>66$HtW4xaDcQqxa#=F@VqU$J%`g z^_e5Urv{6J@B(jEIS|+G{EQ7CR@(YdeowjXQ<8GEQ=*NM%>q%F#-+fS!(Yb|@$m1M zqd`-P9tc z+&KK{S}!33d$5mhCVJ!73bVYY7r&ijHSvuptcIS$y-@Y?y*5n{wGFVuLGpe2NNJdGm#TQY&l`>r}5O+um(8k2Q({zA?x2=I3{HEhd&{ znJ!$s9@sFceCzGCvwROe0eIaTfLvflGq=VDrT-NO;JG8nj8_X|##;U+r2u~xb#%Mt zjT1%A2tJ+`tBoo%VB})5vjY%t?&(Ve?zO%;-gk+#5dl!=An;Qi&qI6nIc!i>eU6$F z_F65hs*|CU3(G|_=N1=XL0520 zbgnbR-+E!wDM#*2xKV}n1o?W7#`}SmXd95bPV+JI`L6_g)7-05DCJp`;@%4U4{Bc1 zAz0i2wm|pxn~U3W@j7{b@AM39R|!VT3&LsT)98H}y_$BN!!QC4@At-DB*%ia5>TXa zOo#gx;;hvcCKk0{ThW!AxipLa_0{FT5x%z%V3fBzF|^SjoFg^cy91f0nH7l20H*!# zFrhjCqger4aRjIfjZoxi=n(RZk<+rEIs=W`o)0*I7W)rYXTkGmDmG}oGs~{72GG8Q zdL7YI^Y_D;HLa`w^*|%xHQx`X(tYxx7NBdSj0fT77sTt9+lYh}hohP0X$l-1_V!mb+YW-N_}HDimWqk@FCg!JR(Nup;qS9%1ehxD&Z%gFyOxDwL*@d3)_xo$*p*0TmZJ)fD5=@PrQS?RC1dlbh#$<=%7 z@9K2T$LsP4WX1Jb4owlIOT+_3=@pk|bAUv^`@;Pu@tZD$)f%Pvs3|l2p-QO(@UkV9 zr)I{WRs30HTa3O^M%Iv{=&23~qEflMl55W6>j~vve&{zQVv3L8vX`0E+ zgd?cll9EyK!hkfgt>@dfDz8Q>tFQDl9@AMb8Hgp+EX z=o_f;L02n*K~l$p_(2Afa4Vp0k32o!}hCPuQ zxnlOVr5_B5&$5Rq{@t>nl&u??Av-pK|LUGB$dC%%UA!2!OpPTpc$T+N{RSKkj?91- zCfO*z<$Wx>OL({tVA8nQbYuj7)C+yLwXZ0$W~c$DN36NSSuP=#RSk@`(OUV_0b}el z`@cu(meSBZvz<(p4Oi^Aa|0kDtJY!5kw!kg&)9U^+GCOJ?jm6)RP90*?xyb?i}){r zwd32-<{%a|UkadRp1(5#BXv$xdlFuJI&QAUm_$0?y%+E2I`1u(u7b|Obmh? zD$@GZLYl!rE8Sfo-aKVMplkjsH0)vUo%!#VRKICl)oc*^1se43deNMBQ*}bBRq{vd zN-^-cL;E2v=RCZ=KlSruOnUxF+)lln&c!N&w1{2hu@XvX%UV||Z!tJ+^{ek2PZcQt z`)zBK!5afIJ%jA8eJ5gKe=l{jB9!YmMS0suCty4J;K+8nqtc@6hk^_8usQXR&F^Ae zSBTl|-3Q#rxw>B$;DPW#gJfiHO8pO_eg{?MZQ?GO_+XN5OO**lS_`>Y>aca#fABnG zfuHn(f0Ou=xWCZoNc5e75wJZZC8HFa%l=%7WAmDyS{SgXO}p19jXJb1bz4yktUtgh z`sfs#BWl0>U@*Ul#k=XR45e+q*~McYOYolCzeAaO=GcNDuOp!8uCLFnsHVQ zpi%4WRUjC3XgZXWc1_Q(L(UG=5f%Lyt z50d=8-+uwE6EoJkxvlzJH+bF?_Uz^S5xw|W8NsarQe(U+GEAu)cv&? z8N1PBZ|!&)S-;|mgRgAN#PJELiImC8R`cnYEbk>MXp^{;-$Jf_s@mQg5R?R@k^s|4 zANnG`sOC;GT)c!{<`76-Y4<+*7KCk*Y#uoJ3!wQcP(b>?;2`ZBl`xI+Dg`?BjoELk zG&JB}Ij%ym6{}|FQsBuZSHRZpYW)5}h~cxlx(5EdIsHQbvBp+`lpryw^zAk}kmLV> zN&mHKKCxZDXV!=bf{(Anh6CPxT7TYP2i>SURse_hN6=!jP(D?pFj8g~R-tJj6X==J ze}v+#P=EI_Bxs<@hN>vk!LpV4Ye1A66b7VF+@#XY=Q@y_DSc#ZZTA(&gONgFDhH5V zzKY*ndS<)Rm_*uXLWlwkU*6`S7V)t6lM)*XM=rt5M{E(vzgK)S`;9hQe0Iz=X2tdP zIvn|K3uM?n`ZmJi8jD^nK#gCNfnAWY)e1_mh01UB0Z2O@um&Vp3R1uNlyZ%l`IZZL zW2fvocB!XXbad8g&y)qY0uUeC`+SDaebe7EY|Ksu>8z4#!u*er!xdG_{}+^KV?o4)TWlT0MY^LDW6SdmP~SWyZeR)7;mGr*Gu+*D0_|q>6BwJj+fx z$V+120a6v^<&6a|H*^wL9QW>qVRD-}HHV!YT>8~`~&;rlu8brMb=Ub%OF};&{z+UoX(2) zVS&KU8yBXVP!uI4=brCz2jz9c;7hfk7sLphjS?Q~GVhuulqV|c?8VblFVQ;74SlEiW*(muooiJR_2Ly0zFR(jZUvhs5dUU&?M{nDCtut z-ye|sm}-W!d=59HNJ+Q@Ht(MRjNEx&q-WY$ib-E?nEyH;(Ex(~?SP(6(l<)EXJmrC zJVXz>K8mqyV0n7$@oFV6Q;XB2N?A0p7HaKYS6Z+sP0eyL*BC><{cDVr%k% zs`?}FVGm+I5kUy3XyYOOH5QB*=Q6RhF8?sD!e{_3kXx05GhL@zNj&fdwRNr2ERxFp zZrlC=qt_;?{Z@)l4^RzNS9)j*5k_6V_j3b_;=Jo>Yt0O%eyYltuf{Rta#`ZqmX%&& z0tjCECpw{9ztp2Tp^<{qohQ>dneK8hz1ApRUmuzCc_N+%D~ii=mi#ht#P^s8ug=dv zGR&Fh9Ujl!%;8zR+I=Aczyu6;6eaz;pDGUpalkpAViIFHOW8%vW=ZTnbk1pG?HWGQ zt?Ml*udkL``6S~E%acPNWzBM8g-LF%Wwt+8k=s|_SAEuYW4w(x@%gg;oFHfZUEHK z8mbOq5%;l%Z~!NWSslubw0Em)MHBZIb!uD$vaa$Vc-jp#2?@DM{u zbSiL*vDBRe0rs%oXJV+{bI+d@&vr39h|~R9b6H*l{AxE?{W#}-+jak-zW%>%F^Z&U zj8?ZHPW)Xj7?J%fE)b|-ff?%O-NiE~R?7CLaB^jpgi7dMB6t0GN$7ju)6s*RgvV6jM=L;mArI?q5P~pmQF&x zrQ0_getBd;KQ13>#RSO}(mXlb$v~Ro*Brnzy`>Od@zr>gsIajD4f#_}_?Lc8Q7jo7 z)cwx(!Q{y9CjNOCKodHi;|bqr_%gkd8_sJkf)Y+-kP&*wwbsmg##fopfuhq5D&-M= z@Z&@yz(~K7c*{RXtD?*j;>hbx6<6mIK7wPyPQtqS#+zW5Yv7k4n=9+5eF076eZ=1h zXxIVk{+lA^c<&R)a}v&wG)sg9)8j+OUG?JXe7~Iv+8mzDoBS~^1foQ?&yL~WXkZ$& zgSITJC)}()AS52-z@E$?d$*U73IcrQUlb}D8=IRQR3-u7O2znMb#<{C`)+5ZDEkR$ zE8l{gaP?$RX!s;x!neRwa4URA7j}7cYnio+>aZUCb`s<$e_B3;LsujBE}7^ur1THp zR!vuezg@V88oB*qebVbWm<5p&=Y5(Gec$1CH^U7AUH5uB?03ox3cQ7`gjWQ&EVo&Q zuS0c7hDofqQMg&@I^W(B8^ zt^|L?_dPaGOhx{I}mj{aTmHKf0Ntl95;3K~|Z1dKa)M7pdA3f8_V-g0VXq6= zCM4xuqrrlF^uYemPct(`E^lWoUR@@!&6x)e$+=Tmn-_x- z3#5pH^Tg0S&2C_zNO!14gg*!q5XX`fk@p2}H`8_Eu=Ka3YQkpD_>w^{&^G!H*0g~O z^aSOeto)*LMCIW0`RNDT`%{KBb<9Qmo1%WVOx(&1iw)y)`eJ)L&-X-{b*YVKBc`4! zdw4GZT%f}FxZ~+v)A$L4jKhycc@;Kc@7R4FY2ERaJbn_&j)_d{`G6?MCE;4n4S5;5 zuk14PqYnx~uPl@yj1MFKWb!yZF6aVn(7$;%8EgE#AhO)CJ5o8b=WN#2z5bk&85h`h z&an7F^%7J{83DW`Hxp;nng>Zp`u(dJv^%wNtp+xQI-jyacuQO77{<& z$y=a)Ekpp%;tDLRXGGLDH|-!_?y~>2>ag>0wjt~l2}6o}B12cj7tDDkwUTPB=d!HG zRy7cicn-{)yBnH>on*wgppM-Q;Ek0|8a24<{)jT%rEZkz10uDkEB{Hr@+9#E8Y{GxR zT#2O_>Umk4UzZg3XaV!PpGA0bMcyzqVA z*d!C)t9HA-S96<0mHil&ILO8p|oOb;~i*4WmK3k2bnliP!M2 z$j9dr=$DuavYfPxlQCwGx3dwKJ<>#FfcWd-7+jM(m92aOx|c^92SjnVIG+NdxK}mT z(rv1MTUhb`K9S`9_7nst%t>mgAbDVXWAsQI?vB&#bUB6;aWW;&r7%Ugmx^22ofd@< zy*~@707)7cP+?(a0s~&d>LJH!qHV0|fkv7|QYnB}*<(Wqc4g_+j^G=i?$nI>Q(V|{ zOn|9F4?URXn{hH2(%kJ%c$zp;3D0O;$kI=Ha`^DOfVyEe{hWD!OdGfh51bLY2kJ?5 z6VEDlJkB=LwYHnSdt+7hpJPJ9Hf1oexRWgV?kSPFGx++vXv*qc6Dxa+5S@GP3gd z9nQeOkqJmM2hLxb&_&TJLpj$g6IJ%QmQ2wVlE(@1XAv&G44MEp+lz~2KPLKAb5rFw z+2Tsh(Id$1;gzMj0Ugqhj9J{u@|An2jPczw#-_lFUjS>llE}&i$>r*TVbyf=;F#FqvW})p0v3yCjVaxd>-3~IF5VuwsE+$7aPv;D>#N>2a zJ9S)}SfMdt|EwQLd0Il$0h+#^>Px}`#iyaNB0mh*pIj1>ns`1Gg+Vb#A6%CW}T7 zh2nt(on)+T1bRWAqquMY0jT`|C0KFi37q>Ui%I~a^|#T+6@%wiGHjtRn z(2kAetaDs!}W?yW*?FUcA2j4 zRbyi-;e6ic4%G-B#EP1(kg@Gkrdvht|E!1&P>M&s9@p>=Rf=y(TqY$t7~X%=Zbjr1 zLv8SI_i+tpVY$F&HpW)?$mjT~#}!@yXPQiTucj;FJ_k-nS?S-QoHdtazkrFr0)5;C zE*tGFX7x9sbs~nZ3QaEF{{^ArFPr@|I_~h056s~^a}@gP>kYpflI>2z33Teq$BK}b z#pF3oX#IK(p@|ZIlQ893fq(HqR~Qn;jUucKUUEVFnT@r@aJyhmVHmy2O z)4qTAa=Bd5x63Z&eCki-)a#FE)%(bWOhI%#ewwL;e&Vg)JfnP8qup{Pw2a!{H~t5E`m>Y0wZ2tf-f|fzT5$W#NM?EXB~QGx2Nk14TKui0qJegGQS)zq@TdT%cEY3p;sHgj5MAwW+8HeH zkA?BPEKXg?a_7&GvM{-p!S^RXFds40qb7RQGh$SWDl7~tAU0vw=fwevpB)`Bg~Pn^ zi@`h#zfPfvl0<8#i^k;Z-i=h!cYWf$qV?SJYLV~n_g7^0#_?Jxup8gY5Oul9!B*>hI&!#KKYLNg!ZaK6;6WHg{pz(g(# z3ulaWD(`BKHcDT#U$NtODS z%}08{FfT%y*x-c(JzM1sH{28EJ(l|r z+ojrfnmWeq*cihZ7*6Cro;!M2k3>Q(Uu_E+@;+)Lj*zg2v%= zNt^&G_dFC*P-ka{?=M_rNJ5hKI~y6eqfYZRjsK=i9Db}be3y9rt5SS17jv%j`@7fu z9w1N&YNF5hndAWZa9kg*Cm4trk85nRg#RA*Hlt)loe(+l*AwMMu|*-`sLGbIuEE@GAPDx zO8djysrp?yt!{PVF?tp^y;384W9o(nD7|XB^Oa(6NJ7;nL#OWiP8U+0OY!T96qVPF zvxp%*#2din*dO;HB-qbJsOb2k#Cr`7gi=_A!54%*devGs{2?5$CZPm|rGy5qh%UNE zBSN}G9y}d%&s8?tbiZm9aJbgZPcmehGID+HzH>qR&PF13O|S_y1dkTo4w|zh!f(N! za_6cH>ODKxvPuw>l$S7Ry0yaseCDFXax$L~l&0L|l+|T;+t)b;b{XV#x-<4iG@gI< zy8%B97rxHLDfxPzwd%oO*#}GLF!)*VgmCN`*i7MX-b?nsUoB*) zv~pcOGHw@t3wk&te3@p*%@q6wQ6IS4Xy}pia!PfT>11Fc!4C$LzD$9jqgw`?sMZ$U zK3_JjGe3=t)y$|o=`=}aIW4)n`_IZmMmR-YJ0=K<-$0rk{Q@A6ZC;Vo*l;o%@{(`e}0z zjIT*wa(1gRUolp`C&QZ;DS;As%d9G*moXCrJtOttH#p9P2^zTyf$B0w)jY40yyRgi zSD~LCAiT(AGndbu_q@+ZqHi88?okODh>;mF;hPrusYA?<1eElE-mLfBV0`D` zGn*ROM3METC3otqP29ryZMh-*&u@%ZKWdFnhU^DRN`xVN~~lLY(`F zg4#Ze{c$~~hfZG1@cUxJcIJZv^7ePAP|`m#lL5rU?`G?C^Gt9F<@GL$L0*b9`d3w<4jy`z`9D`(%9a z3_NQYG4+HGMsMnH%`I;9X4ECRDe5T(CRix+5pZ^bowYxVJ~Q^kJQy}VCf z?gpw;5LBCHhr9szK%pXKnxJa8n9GPQK^WQk(((%kJ={G5@ZWw=om=UNoY@O0?bw&4gpgb;t zH=Nu^qy*j$amwqjwDFxNiXj!3Z|`;EIgjro>A@? zOTz|TgyqCD&^6c8y&Cb(iLYVKwpHv)xkI^_$+N_I7*|K z_WhQPXI=wdyBDvyWnIKRUrn#LPK`Uo_ej-9Rqc@oHEJXgB_ZVd>ifR$ z&-ea*e#i0q&kY4N==z+$89?N)tAvwDNIRR9j1C%)qtJ&PBjZp8rRJ_VtazU`BekUz(c4mNv-aMN9 z+Up-VQ6lLft3~SfRDnt-w~h-YK4g2)x&jP3sN7PaA_Rm)`94sEU?-IlMv6D9-d0%Z zkJW7Zv)}vUT4HVYg~j}oW-9XvJ)Ho!sWWDn4=gsHb|}Y=d$-=18nY;b?q?4Te z?Q^=)&7Jismlu94qxuhpi%mLGn6EMX;<|l?PYipCR;=q$J|9)MD4iBaBx6gs#~&Ap z4j#>H4&KsmBF9X{x5h9L5sxXiydK?~z=U(fa6~D+@h1SCU{q3SL%S_l) z7^$Df%`)6)gBwu9ciU?cUzp?(_fqoG!)oAXGgCB}dZj~Lx|Xk$qwRCc`g-*{?&?fz;;bajKt#VoT=JFHo+3(Kgee_R^)Zd(wUv;nJm+Wsxtip0{ zq)DGFh~fkE!miUm{Gn2`=^^`~Sw{k1Qa52Nlsoc5Sfd#9n22ZunEeM{QCoz)WGF{H zCK1iqy4H6-Vs|k?QSm4I;+67xQqOU^vpdRSj71_K8g}yx-%2t!f2`3;KmiJ zJn%!uU$QTBXsABjJjS2*W$Z8beM&u%Pm2&4TCx6(MNtx>Mpc3M;H(Yq(VTdZrFt>d z+t`@%`I@Qn#4mE(&%|aX44SB~|Dz>wbs`>P;ghu%2>po?)Fr~=XvIRVi9h@)H2k5o zZc44TA`yH(K<}e|d8#S5=*Ox8pO5>RXIdAe{r*)5=tEt*DH44y{bx_-oJ12OY=(YW zZ>gO%k{EWtUX&k{8s(lDbp~~jR_bItKi5|e1YUd^S2hTZd1&>sYtH7zFs~H@v1mHp zqv0!$uxC>#`vtfdo=&vXz!&2h&3i5<)`H#IH(Q z+97Q%N7^C6VDs1I-cZo=Ba))LJ+!liurFNUt4rhPjvBj$oSO(#g^SddS`)NI`RcA3 z9xi?78E+{Xqf03{V37T=BNXRSXeAvyhS@asc&GknHu0DISF{+4J(R-G#Q5>bu^b@&bc2Ti z^e|(@-~Ql?rsB$RhbhK9x`)CXX5cg6>$9}q^MvC)Br85Xohu`oZOnS!;7NA|%+LSkvU|N`>RjtB7&qK$zIc0dUd;0ox9nbOXc~fN zDsAblndo6?$+Eht#e9NtPSod_w%nD5RwgOiQLE{?66T@hCEPT(JLhPB;|%DrQHI3n z7f~G;_>1CmoR$%K=y>B;ZhnX?p3c8KZRn8^Mw79&;Hj+4Azh^yo2K35vWvloFa1zY z^u7XtKPEwW=CR%PhuWJyynH{fdS59>{-~PaD-q}688OnH@n58vY|$XU!XITR>C8~J z47W}1H0fy?$4d|nXnW+bb!Q+u1YHeI_d`FGj^8V87c$=x{+W)Oe})WYnb8hurJgw& zydUmQ337NWECxT*^@8jkAePAdz2(Y0uD%H(53l-2t^Tu3`^-zl2u`2p(bk@) z_obh)b47D@gYbkKulwQ`!UN`N^DhXngLdE{D!yTd&EE#*B3ER5!+t;gHlVGe7_Fc~ zqPy{j{f_#ohUi?hK9BlcU-bG~Wy#NR%LLur?*-S4K=rKOZh!7Dm}iLAE_`e+{qHg$oj`&s ze%{<#EcVuTpK{yx_VeM+aE2Z!&GNq3RXkiSC+bH8eoA5_=FR3vo-(J3l$qZ1nl-$V zFf>FsJYBe#FdjJ_zNZ=TN4UGN&}Diekghd6&3S6+?R4M@e~5_glZAwI%+iRqKlYC3 zddRK3Gb-9zF?;N#t0`)D%fa$-@N>!Er^fMLwa4&b!d%Eur-4$YoSzF%P3{-usCEc( zwQ9A??EyRbxukR!Bf?cFRp5Xb3^wckv7t|Y^3rkKU@TB%2`16btGA$)Y`x9j8pzEA z&@P2GV?i(7wm5yOhOcxBMu>#hEx z$Tg&OrHW_xjFE<^5S1g>ZWk)_XcUkQtVAH?mTipI13H|<&JiXOrk0oFwEY)8x#cMO+IcSD zV~(KgfbnD6JIgyVYj-kOoG?TFdv$wK4#nL5FR=+P*sck~y*Js0i*)Hfua3z301=!ra5DG+}iovcN z>I%wjQGrPNDEu^A?qnU`q1^0j@bn*&aNxq%;L}~Ngwmf>$=JzAjV7| z(BE1dtmT|h2x0TBg#yeQ5yQiZf=^OWo%`kVP0sx~>yIG4V_fggMrB=! zv4G~?IOe^%OPT-lmDu*}F@n|1NCh$fA&@ z1Bw|t$Lk|zYW<;YnqqaU2T_FfIeb;9PPCV$yn$7?kk{^Dq3hem`T!hazBNpn;dd}U zzc4i5RMhUaEqz>N@#Ros8LiIOK^M7Dh2O)NQ)PZa9DLuaTeW8Jsk+vl&|L(QtZJS?}=E=hkpzU6w zjxqT~kJ)Oa(vSwsYj0}b>LBOJlpgdj73s?dL&AA$kC^thpH`M#CP(H_9v zIaCFH#oVZKe9BR-aIsdD`Un}>^x&8B^`hwloEB^O+m09-XtfJ_2Vwg52iug&ef74b z61Ap?nX|+B%1PXpOlpL8J`DbJ?E>Ok7HtB4`F#;GT>}cftpfj(_o~TvLiu8zI(=Ez z9kc$yeSMv#z-7Q@t$y$SsWZ(_w+ZqGkrKEzawXi>mM)Z7L&S5=*9UN^?_RXQY17M6w`SZY-3FI~IN5c*ZK z0w{&1FJcn>+qx6@uz$Wk-rGNT^B}sY8P00|c=XoAJS83joNmLU^IS}C)6oVWz5pme zqAQl&K4&fQcv)e$npG@>cKD7j4EdO&Eas1fA4F`QNc(@Pa%j`-ZG&w(;5=6&g(IK8 zqi=9p6FMK(S-*4ylSHYHQ;*-OAC$Ad*MC7!%qKfO=Ij$vu6BB>P+*6ui&@bpQ}QH< zUurP&JInc@*yj7;-Mo>%iC$MuKSunH<9qsfLr4ie^oq~uN{-JwQ-%kSOXNjvTM1^;*f2K09i=zT@XO|i_@ zg@7pEkR7RN%xjp=_SN6l29A)pg`_{)`$QauK)o4|4kPQIUv#xw$2$B*A0U5M}8#QM}mA z)roRF(E;osp>tIG2wq6M#M6(jGzIsyHN3q=&Lgb2iA9+6v7UZXHw*}*waJ%gH64eu z@(+obWXj9Ya2q@0XS9QlxC6TQ_i;N?aOdGDXr)Ym82Gjr;U=|8Al97nV>94{()@8u zXVRG%5W$%C1sE&z#Nlu_J7DXlCqFG^)Ko#Co&=7rbsy;}YTp%X`xEHUPlfkSyyK;U z6g%G1M)@D#C5;WN5z>a_FSY}Jnbsh9f(wVQ4T!Lzn9)!iIDZn;9Xi!o*-=*myv$Rl(Z|V#q$<@Ps^ou zSaBshks8Zm#h=T^1n91}EgZe1(pR5{c;1$NI~98He3)@U3lb34h=Aj|6bo>}op=pp zb3?Jy-o41|hUD1kt+_uwiKYYepWdOXJ(YVNW-|W+gk&jBTfi~~#zPQ@I zTfYC;QjPV~)yX>~3dnK0r1_QF9gySxN|JSJQ;Ykw{pTg&-KqVF3PrkPKf_(XU34gFj<*l}sbN8xEp7TYt!iq7qx`S>Z)^$icX_aQd>HE0IE7O&|bS0Vn>&Zr6`Y(2F7h##aGo&~iHcRhaCEV*E8Qem> zre`=jB{?eoATFg`H;xy6#}?5wpqkUkYQ`}&iknu(=asuN<{xv(mTtT`mKD;q{_&55 zg4D|`%t4PizvMnRY&@18A0(^?M32^3h~AC{3#Siuy^Wj$zVONGjMyg*cb96!5!@t^ z1wwZyUW}E!cAOyAlIqEoND`^{6pl`%?Zds3!$$9ErJ*#KQ&03v>@sAP*L@ifYpNff zeYjYlBw~=v%6svP_ke1G*Tc|ehqJG~_KgOBSfs4F2BeigdfAOiaQ7RBSMaKbUdu{O z5Q?Gs{Hg?{?rsuZVfmYH+4G0S&4o^^;+Y??o1&hK@2=H;@oE|n-eZWd9d)(vK~v}-&izxR4? zOki>NT6Y^-Jjs=s&xudD|lntQ}1 zFj=bUiKAgXQM-jLF{GbIAdOU@Fj?yJstIIIxjaT^UK~58YA5kioi?2Zex;MP_nnSZ zl^P&F#%dBpT_^=Ny8q*$&OTG1$d6FhFHB`s{b@R7malvP^0AiC*QS&!dQ!tI#o^Zq zm-E%~;~CA<<>`IZD;*v%q@sX{4V_Q1|5bEb=u5v;)kEo`5SI(Dl2ewGk+fGyekP_i z%D>%$8v6#4W%`veURY)NoYe3eB~LCQ%LN>J=#sI{a1QPg!(Ofxa$lO=;u<+g9jnd& zyE)zn`|A8mIimC{7mLug@l}DSp1ScHanzoRHk1IUA@}q0X@fYz?c_r`K6lcK*B0um zS60!|xbyB0nIMx_9lbt~ykpf2xDB7F-4h-!EEkvHWi_r|6KJ@zihc;VHrJcp+yI)t z{IwXp#{vR}qlWLr1rmJJ3u8(d#W)PYX=-R?GJ~h?EQw}ZPMj%iy5{@+G?eCb@zPfU z>4sQ=b*7Nj%{?Z&%fe!tKbBk!iU839nB6?yp=pQ-P3)r|BL*Pe_CKxDv;^ihilNw$5|Br3TwFUYj%+3vsLB}iuZ^*K_flG`R%n0Gfyc^Kkg#7kq2kL(f`|J_aD2M3m!sGF zIB$Jr1Y5$R)gna%OA%_sq&k~)XFr!3P2kezES?!Q!T9g?Gp|Ox-jG)B@AV#|DZMV( zug^i(a7O4Sn^>($wS?|XKq()iiIb_clfHSiiXYHbuK`1B{X2>33Quy;O4@)tewdHE zJqlpm7tbLdTMK{Bp#o>9Kt70dgi+Qryte)%+4wd2AOvUtgRXlO5W_HyPd%ob=L-1s zqknyCUC;jG)FvFhdBc0Y)uE3bu}Yo4^y~FKhfB7vk6tm`Cwl&5qvQZM-0h0gliyAC zw8em}W@2jZeI?mNk9!;w)_LtQty47{HSpQb@iUtLZC7raaHXfOPRWaMz^`X?S=d30 z!aMvDvgYOtb~ker@aOV23@gV=eNX>WTy_W3r72VN6cHOuS82WaibRpLxZY&5*H3-d zE?;#=i&ZovhAJtf+ZTcprh|#gCjTlUT~Pm&k+VUnHEGJnO%`U!q~T!uC8)t z-d}UuvqJVpMEw1fHa}i`dzz6KMvRbCu-asBT|2f}`r)y_`I**Z(a+}rf@4JbRa?2` zLT(h-Lt`@m-EPYGV4^bODzl+njxBP_B;R+=iodh&oXtaH5$t(8I%3uD((zw*;5erP zFKagnf3LKf8;OqSmqE*iq>V9kKVe!1e>9ki=2^oC-h?E2zv)*H4LQa0*A7glLGlEF zdXYQze}vdcAC;~gF>*?Az`uwmf`zRf2!pz5;sT;)2T5n;zp7AyJvLmpT7_DpG!$Iw zk#HA#r8M>eK5itAA2O?Y4*pfEu?HszG=`+4tKWa&CbG`ji%AyIesS z@(mxx+7J@Kd1salBtw#cti#VOuMs?lVScBZ4cI!Gj82AOSEN+}pkKQrKeHPcP!Re}bp=O9H4iq4Q7--t}pYcf7u5< zG>smA`DK|Bem9mP8T<3S(muCV=+QguG9+WA(Jf7)0>OVEU1i&eD@Mhuoat=xb8O^g z%v<=^h=6!=tf|Y%v&MTWhN_t?4irKG6Gw_hU$1~J0bC+@U{GaO>`jwcdG~60N$l@4 zjF2Wu^fOOQ8NUda>QMaW@+3KH3ej<4^4K;6i!Bx`he5+~`ta;3vmOvRE@h!%tn zfFkq;XdaGhf&{>cXjAPP+7IU~0IT$aq{)}A#05|UPbDMQAp8gV)2mM@6TefIEw{&B zWTk%j*IK^3^7BI&LN&k$|K#pClaSO+F&nu!9o?ceucwX-M8D#>)W8)uybx%yL+c9G zQ})c*$GDx6TUB*E;W86Yv)SWZ<>aLyqF&4l0DV=PrsbJ$?LD&9CgSp042sC_52pvm zpB{BrXSQRV##fo!%=n&J=HGgt;7CgJNqmqZES{!n_XErW&<9W0l^Jen2^7;al_jhY z01dUJ3hj{PV9&~CbYma;bm53zezxScYPXvzv~SLZ<*eIueVQ1I)>Yr9ltJO7*yD-x z_ii7-N*+6PTJzQ1C=JBEz)?JkBGhlmANBq=-V-o80GO#XWLYC@6)iLS*e<5bOn}Gy zFgJ=7h3^BO{!G3K)Gw4P*~NGo_I8PBH^SLS9*{>Z{W95sxU#F=u@^NH(%|8RJxLugX^-vi+3QMOeH&9Z2$s zMVaRo4Ih~nDKt*IG}xB798Y0e#)Eb4JI%fbrZ#a+gd~~Ytrb2^52rHCI=aKQbbOZQ>? zzr0u+IYHcOK*_Oga?fOcql1RBKK5QIEF#-av6-xqTo9Dnb8fZ^gQ;HD@7yPWMAF?U zEPq52(mlUXgdS$z5bA$BLzmtud&5(5Dxr%uL;!m(Bg8uO_Sy&#*k#oJl|~)MWreRg z1c4GJy#S*OpK+u3gEEwe3V7E~)8Oa)ja+8E^Ab4|yWnjC%ff{yRdoSmUVZC^`}GQiz` zUZq`v{Uy0T`C)^oK1nIcacRv+%tvmo`Iq3AUE6YmrR^^xQ=6Vr=SIJJjA0DjFl_!P zr-(eY%WkpdrA>3Shg)$Q`xH`0HuA{4g5-!$?Yw~pqTXqUEP-^@8nNaOesk~I10&_R z(=mA|7D8;}*#mX%SPMMQQ`x2)f)Ek(#tA}L^Kl!$p=#JyZuSf=D;`w(@*6Lex@8gQ z-L)c;zuqh&iESM7NBKlI^JBUq^&{$Y`P$U?Ak}5$vxm3(+$)Kv*FK7`c3y_Q)9E~m z^>>+VuVoG+j%T;lhz(uG)q!6tL5@^1$1QiVBxUcK{HlNWr$69N|G)M?!&^3TO%`IT zzsTR1)t6B}d*02oNXX$D)vXX+yNymODfL)@rN62F@Ee|KwdjW7OTb81eAqp&^}u`< z*hvOR?Hp@2232szKU0Z-@UbA@DQ#O61ht$&gCb~C&h!Z`OXK~4gewLq29{3) zpUNJk+>SSYIJ0z1YStY7K|GkU8`tt|lOGZXPwnCg0vSXwAEW#$4vSdT2(TtceO2y? zk^f{&e<3R6p?@GM0RXR(gKODA(mzc!adfMwI&r5%!0Ty68J=q=3EtFk%hoO~4_@|* zQ!ME}X8`k_#ax+Ec|D2#r)nK%(-Ai%(xxv= zY$6^SoHv(xCUf>)wKiQLQMHhK-%?P~}d7gG&Ig_5alf z>uNjv;WE8zYSXg>gA6YU2lO>TqQQlN;WdRfSYh6%_tT1``~6sl=kS_|H-7Er8~a*B z2A}#*_GO+dw;Q;){m9_CtZrN^{}bs^O8C_nxhJ>B-A`QLbn^ct2ex_qLV$s@ajCSY zfiY(*>|0&jdpeXYsa5ruMJZ%#0F?t|9{i4L1jLKk;8*t zUgeJXs&fQ{Fj1Ru;M}b~LTTN6u6gIxoza(f9fYkMPS+*>>mseEaeT=r(G0SDU8^W- ztm;IBimn{%?gfg$-z2!7yeq(5_GoPrmgi(7#_~f*En=+c<*@iIn_GA20mY3V0*dPv z>^qxmF@R6PzETDvy+Pq~IEY^K{6MaV`-voEloU{=<9*iu!85hXFUw3WEUzWgH1+o; z^RTklpNA+ryk5#A0l3$)Pql=23zvAX`>8%GE8%9B;YrNFwRH3Q|72l2JUh@BHpmC( zA@=E<_}Q@KrgOw9az3MtYvd7|L|3xvxqd$P=~$^7T@)d=NqxIvl!wx_-5Wvc#Li%$w^pNmGuC=?*C zP;syk0vRTKl?U2GFGpU?rDDv=d3y%eJPND0pZp_@u^Z=?X`C_#ID=g^Ih1G(nGN*G z;H|`ek}#9iYT!6IlYGO_6Ylo;$x+IYRIhOXIlJk~ssoIO;@6esqiL)7)#v@(O_6%a z3K*U6UrdoJOHq(AK8gMHtJBr>)|W*u-ct1%JD-P97KC88#e1cXQTU}qv;~7QVpX&x ztT#Z(3{R)kWY$~%WatwdS~;vj^`&g7?6VdDdvJx~$&L4z@xMqX9mIHhz;AcB^FJt& z1%U- zQZ7u%7^o->W552sRHCwobmFsbOS*R|wHT9$lmJ&r5dSOR`tYaW?j8plxgbg{H}#|1 z=~ihAJ7q&N-l$)%$>#n6@d_p_ZsU5|oB8K(cMHi=c(|}Qu}WpTd=Q(n?`p#DHfC*6 z2ds}}?Ip$oFGs5y{Uy5UTf*hh$GsR#2c(~JlRLnS0v|lS)K6{NTk2)MxGun-} zj**U*aJB?)P+DrN2bKfcgR=(e%WiB8eUvbrIR_tHIHPG7=oBuRIleNilfvv7pr;MI z@`-Ei(|?@;I8%2U=zFtz-lyf<(6s@Y8t;M;0-ZMKB9fNg921HGB5>2)%56G+8*_Hw zMcs0`twO#AI`|Xc048icU#S4LHqk>G_GQT_VJdxEnJx8}KvHe<1Zs6X5+QN6V#C`c z_QxSx^qAPm(}zEH5m};Q*D?PVuRvXE(12U4IDHPxDBmuuNkPb*H2kjrF`e~9Xqpnf6Y4s{*tr}~ ze5gWQ9MuJC4?|`7?;zRZG?I>w&DcLHm-iu7+8o>NKoYF9YvC{07O9KB@v23nOJXi$ zX=CB2-NAIV^XdbnhIH8Y&m-};f8}C^?TEgt0LQv(USK^_!B>+(4W*Yow?X`JB~#+M zFp#@Z9o^`0o_k-e`xY3y+K?y8@^F-5D+x31c2U85gmrek!uTBY*Em+vR`_J{nW(0o zgoXwC7eL|M5e7@AD>LKYcatx;7XDkr(q~lemm0+;hi<%jqCBKQScop?0N+`P6hdXuu zQ=CfYpDrg}caO}Ae{02svcspe3HMZdetu)*4g@Y183aN?{GW?O`3!Z|*z{Y5^#Z7m zh=@xX_uovbYePTxGag~LKCy&%tiy1fw0ep>F=eR|8^(76R?!>LOKiJv`=4T#nUM8FJ0{S@ow*i~^zCVpF8Y`u?ISzqkdj7G-6x{H)9VzU&F~Kvim~yoj-WKNh&_>bCr6udpY^1t}}!=RZ9DDh;@2gNc{mQ4N}RX|DIKvAEF>LEepZZEaQscX3h}jQsg-q&7$niFpLgE4XA`dg zhTu}QAZABWcXx?U5h&s4`YKuiJKPylAFSTdm)V>tR^xlFa2~N%_9iCy{{N35{Q;f) zpn{k0*0DSxkQ1C5Q*rcLz56XPrmm@^kA}YJCpU_{2m#S}UCUx6cmI}No{|h|8y0Q8 zaG=P1Zm?}~led#1itcKWO!@L~hb8rMJtr)P`C1=6JM2qB*_%##Br}+8X=hFSZI$mr z;NfJZ5aHWh+0(6!IT7TsKcMJ8t@}>hKL_8XgF)syv(F61rIzz*vw`nuymjBXw=%LR zVx#2RfOZ7-+zz^qwaU7_?F9jZ8FklK3id*M^lm#ULdSm|)dh~^&3+QVJ@v8H3FR$& zhO2aKW7XbwJXm_$v!0 zx4&H*pp9-VTuim9xSwRRp*_Ix>$#b>{|;p)N8Kqxa#^P>O#1N=!>OuRa+HxOc|c}&JVld$qCgWntLZ3%?3SJ z8BpkpWr1RMJ9-DSp2TlFLQ#fRX|LEqG3&Wh7U;`>bh1dklmuni1L3|vd5TD21P&NR zKauW2dO_3DmAC$#nEsDLouo+piF@IEw+}di#rQu4wX!;5=065CBP`|ce$DVxbTc1A zKR^!dd4`i9@^heyKS&i#uYGWx9(+1p#gXA9Of#s4PhpF1Fdnb% zCAYKC#&h61d!cfw*aM#GfR64DorJ|6Bh4{tpHTzfa#i9fa%eY|C_lM|1L1BFl+Qru zq#qrK(kZ$S6Lwq5d7HBPVvs8`lC&;zu$-#{{?fYUR9*n%o65F}hPJ!IPIkj#1BDVu z!i!&~UmlI7-a={vupo?l$R2mwH0I?`g^JDjp~DtMQJH$ByBMqBjZE5ns-j@kL*ybiBqq4wrJNcB|}V75jmlX*%@wp z;`Bu8oVb~${QLLEo1N2)&(A0uDS!0M+AwvQRS9^R_*bYX6i#(rB3>2v+D5$FPjvB; z1A0Br51rMHT}pWgT`QMgC-&^c*IEMGKJ~-r>MS-cjis~} z&85y2&9E@1q}d1|mS<)C2TRE7TOOwAe9F43-;Hj(?x{dQ(-m~_arxUj@2j?khCYnYxcee^ety zyPlG)SDTK&h;{hm-ohj1Elc6`e_G+ z1Lj5OK9QtKWhmm9KwqA`b!n>kSV5Z1DtP?M3(zn7zcBUD;3B zIIsOF&(4VUk5=JqHMpo{TX#z2#aw1S&|1}c%8Pf@pn{~BTmVkT$R6mXg{%9Xas=*x7%xkO-WlQpC%bT4LoxjZ zG*jgIv^NVMpYbEz&SB{cjU-iH>RN<{Q1%HRLjpvZI)v6!b#*yFotbHwO96er&<_rk`>{LKrmcF8O3D+FHh z{GQK4H=Rxf+!tl&C0IsaWSZCKCAGDJSmG+Gd+$l3E!)q{=|>n2-v!dC!rA6V@hDG^ zjz^;?$rN79lc#}-)wL>-ffBAy3=e5$A$N006PQJ* z3fFhG`qmc753XV)NFrG5$vTyIT#1U6yq7%S@dd;B4@ z)v~!msLzHrTUyahueR>K!SyY{g!InMk#(6j_pZ7X`x3MrNK)$CI?>d_ipEzvTp&D3 z1N|%=jez-{EFU;8zBGB4eozlC>cd4X&5^zxEvA{uYFbt!jv(`-6LTyM{a9krew8Q;TJbL_LtQKYElmt_p;<2Z@T9>Fl=j_QJSZn}?I>{`4AXj{t8`;HhsfDE>x zV(#aBzf`#wPH}KJ=IjWda*>vbjs+jwxDd+628#FvK!pdeKW3`OPy7xeg|`J&@AK7v z7GazrPib-V{x&|>cs4UY?vi=;ZGPI1+~5m9!qy{T5f&whG3n-W`Hk9Bp_a=`y_TD# zNmZ{nYgTbFACsg+UCa(%g)y5exzB6>XAUiLH=*=ag-v$=*9v>n0-pD}3fQ)sY(hgv z%iK!Imr6G$ovlzx!n$E+lcncyXJC8*dUH%1&uBdZ43cP1cMNBvGmhP>A}>|ibd)Y- zJKHzA5>B-dN{ILbhhtsHY>j>rvu{jFlODxx_G3Ul*ydprw!*J#LU#1Rwk{23-(7vF zol0P(4A0(u#|O}Ykr5h;!N2-*W)|+7ycwTZOhdQsOTryD_pc>Kf#3(PvN6`UjlVxP zEzSRePrc%^`b+uk-c!NvWZR{N+J#w2E|27BLU3UllBE7%zPpbK!+V<8D67Gnijh5} zA1P5FkIw>>?$7q|$VOacpEL+FRcV{>c){}T^9U*Euy2NLef&##{AE4271~SxVu`EQ zbK^oC!Y?g`Ex5f()p!#qj99*FwKU&cYpQTUQ~b7qwex89b9KPf;y-T_?d1?Jz%}sC zTg#uiAI*+9koR5;=a@ax{3pe}wrGyVnH7@LcfQBl!*+3?FN3126E~A|_MAW$KZdB& z7^N^hpj|Y)_4c{*9EY|vWYhZvMesRgXyrAAU{XJ&2>r;G^!V+ZzThc#mh-3P|G<^D zA(qa)%d|mIrW-6g;(rBKJxl;hda%h9tCo*3DFvFJl<=EZiUPwm+pZE&3Pqqh-mo{n z3dw8zQCJwa`Hl(|17DdDJqT20eM99mOTM=nIt&rCB8mLII2Lud-@PeN-iD5ytG0mA$*aN?&(Ky zNmS!b2?Q>yIg$3V9Vnf4SUqQQ;Tie1H2X1^YPD|xkzd)LGNmIOUi}9+?(J|dC8=Qf zn%v39dHmu%U{w@p`EI#=Z>#pg(IYjGb)&b5TfY*> z?u!Sc%<8A&spwy|?sv3`?u%^02WKYw#;#WCx_bgVVf}9THDqfb}nQF2X_v z$SnNmAcbplVpUSwAi+!8H^s&wl0mol8%q4?r%a@Cf+FaZOU6dcXyB*2`w1EGubhzr zy8qZHUDnUPPt&Q#N&m-0!LDV8i|}-ens631kD}^;!E@%cO^ZQ9-qHVZ)|xW z;{qnWSo#htvmwiX<_sbeiw;J?PuZfsStG9wgr2^Ps{NP$w|5f` z-J#_W6=Mlk97FW*tUCNA{bC9hno@!?64r-d8=&OqrQEHRns~1Xs`rN^YBgJN*Sm*W zIy8lprd=g!AC9(QxaOIz6fQL0>mRv*&;5|LV&Exb;Txv6@IBxp8R8>r9910O>E>(d zFW{#9#d|X7Nx~+&|f!J?5%1I^@QXy~cZN_H+>;1#@i^W5FvlYWGpbse7il2h;i z--lBOn|%ui{(Wyf!zK;gc4OJ>8OB8;7XMc7mv?dfNWAOLxx{jzr1zSu4)>-El&DN; z$~pTFuy?rAqkPTC_s5B9aH?AbQS;U4eu(-KH*%K#*D=v|@X`zbc|Sh-Cg1{Kw>i@@ z-Po%eS0?G_m=yOmiEF6-qsrz}eDXOd`{Dx{_YRW!wyxr!kGWyiRAF5>vfVM@O-pOg z;8oMpFDHX|FIF)5n7BAwulSfKDYqOeir)=hb(mu+UOBEbjV=Sq$d=1hUdv%o6>Wf% zV)$a-e-*6~|I$P44J#mE!~bzpf>uR?UYyCF$TMub>}@rF#py%>{=tl(hs?ypjS>7; zVNSxAYk#cYpz~0NN^J1yys2Y^0G(vj`z3r@5(UN~SfIO2K-hp?Yf(5R)iczLY3!^@ zPk0a@bNr>P{SJqt7z*n|Ky^*U1$wK0*_P3(k2>|^$k_pU-JIRO2EhIL0wI4-mpdF5 zxSr$|nan9+1&QXz@=Oh9**vsqWFQYR2|NQ$ECk=d%87!27u$EP*tK|c$ez%+x$E`a*rS+a;&+1iSPOn}pV-etJ_HQoi=Jlg-9Pfa zXQ@h6h=AO_uJ7x=A|EhS_E3Zl*V;B*BMVWx2%$-FsSo;zB8t>Dl4zT+@?vo%d7Jdy z`KM&_HNx)~uKj?eVxAoNLiV9Ka;2qoZe}(l5-^=08B$Ms->PxFNVxpM?=z2t?mcj> z0&K&OTf4-141Y5pD^4^Zh;>OfhWbNCAB^z#@;zTlc{Wo#XCcPxmzZ!$eV0Ar&o<#H zGsu}H@vcxy5&m*jEcny(F0Fc5cb*hWI>G#U#}#YTlfOu_Pj3jqJ%`#|aUc#mbCSjV ze%P{1AM1=TOtH8%Pi)dVX6su;AeTY?&(l))dP_XaySajNc{*K2;>6@hcX{N67G0MR zMxhaS5vXx*?-qyo4E8u{fIi*jj`2Hf&>5c|e^)TI9`v3hl(gyTp9C z^H=|Um!+08E()A;5&uGN$;vEd96H^#cI1k9(pL1MO3G+a;p^SPHPas#F8V!uZSmHi z$Q45W7h~aHHd1vt346Ad!ju=swaWg2Ks1Ygu0>P`csd;QFSc0j6g*#EutNRabqOco z8Rz2ucYQ8@4V6=?us+%tX_ACZT83$ zXB4BC8hA3WR?1Yw*rm1Ty09rR()-F?MQXJ@=-tbE6NAz}0o(YA^cSYuLQM53bCA)^ zP^G_l?Rpf4nQ$8NO7+Ha3A_tJt8j{59_SA{%ZFs7unk)R{>kLrMfuYHn2f)jtNvr3 zq%lc_%VLTnYt!{ilNwUY&8-C^;O( z|KrA0iZ&4COXnel5{)Jb4B*YgVM5+*2xJx0E%EsM*Qq?*&E=JKu(WCy0Id ztVu*os@`ks;f9?p?u=q=agVEgUdC`(tHp~=t= z6{=z1(^M5|<(dUByOtNMIslVnvu1<=b}F3_*66aZ%-V2g%{NmX9PgeRH*bZ)jU+X8 zS;6~#(lhht4b#8>^NCZlvyAFWl>}IUdjQ8^)GYc<_5YA{-tknw|NlRtB&#ALdnY8a zvP)K0X_z5<6|#$&slog_E*?W_WWA7Z!5h0x82#4dG-*tMwKi~EHr(3t?dA-i- zbzRTv`FuR?4>e&v^VWoS*VYDM)>uKv5LPMP^pXR?E>4rxJ3G8E6SqdQ0@Tlu?Uy8p zVEFY&P5az>?x^#Fe?}IYLm+Sx3@mPu#O}%v4B6D=c?PlK&i3NZ@s|Gq@g#s@z2a3Y zy}wD9G~>{F*^flbDs3OB{?OQ9hn83(W(QR;$EreA86LeBj6Jv5&qMd1IkM6jk5RWN z;3MJp75&-2f!jw?-ZGc%8md1tyl{eK+EvxG_F9f|_Vlhd1*D}{XhBCE(-(qwU4m-= z=Oso5BHms~d_OfEO}88PkxT&YwmR7M7zU}i3V0xYUuh1JDH~nOM-GIWt+r!qO4xFh zK&XPTR9ps*QY6(f!-1d#fi!exqYzY9qbNs@P^4x7`t?M(B9AC$3fmjVZgXS2>? z;hbr<+^0FGUNibAuObq-6tHk>n-QDWj9d9?Ur1D~D|!@sc;$Ar4-v_@H4m~=^e)jO ztF(4U>BP}hov$Ttaz~mTt>MSKm9@8MCylHaPO@Kc@+%jN<@!9&Gct0xfWp=_}2 zt0vo+j(^Gkt?m3NAWID*Tk$WM zrla!A(Zr{}+E=5YbXcQnG1O>)Rz_TZ6>-NENqm%>G^8`SpnGe61Yn0B%}AXKsR37* z^G>2d)iQSU2)v^z*?celxkk(6!WBX(9BZ=Z)+OIf;eED}l}g>gq_`@@LpzImOQj3E7Uasnb3n^6T<$iFhqTwl3H2C( z>1@N)@X;~S0w}cC2Z4Zc`3iWny7MG}9(aWg!pV#;I+r$dHXCP@>M_gf%UhqFrs5T9 zje3uR)woaW5VSPs>r;n{FVw@qVl?<>v`y90+yi(Jrvg)X@)qddN_PG{ULk0LPuZom zyGcPQkmmy8q`5kWRi%Aa5wffr8{mKY=e6ubn>3tVdbXd)sF$wMDfhKUHDFWZPh6OK^nY!@pT~04Zv{|jClz{8U_lSsanaqp zs9@Y?%wyDB%){hTLf>1`1%6YuL7)NhcIMpw2BhEx;dqyUTHB99Jp0()$ZPiu<#vk% z4MX#Sr#0l~dTT%xviMU=*98~?-c>XGim@yTVyJol+3wqw12yeA`60y2hVSoLM%pWW z!Q{YTsF<7e3F-_kR@1tQ?oP7TKtZU_l&tn*u_Cs786yYu8xC``{FDwsal46^Z(`lL zbJ6uzI7j#=%9&na_!uvCpjS>;DGO!q{e(& z0%h|w``e)pGj!ah_|e?N9+EO)3-d;7Y|DZjL6*qG5?70#Iw-!0s^%hP zQR0PnQ>oSYJWfHB?T(4g2+g-`Cl)m2^G^qU?RW9FojJdX3&(rx5OcPp97CEBU>_3K zvXh1v@=q*L&Xc~8x*sjF?yFqg8nGBuzt=|Fj-IqIXR@}H3}2QFxMjWKek?bK@m&@D zKT|l682XsNj|?5;Bz3Rd92|(zZLRwQd(fW;+r}8ICfQ-_i43L_>BO>lpXT2SKUq|s zn>%yQ%zH8(C|8+WCrT)~LjyI>`%{j%D>f2u9de0BG!RGixy8#&lGv^jZz5G`(k4Cp zU{&8ht~wH8GZ*9mKZzG*TlQ6?dk9-a%q!FV=XO}}%1nw@JdV+K6?-}aXWVo0WtjX< zm$UJ_dV|btEEzA!)CwFiJ$HY)wJ~>X)(U*#t-p7D6>+4P{S$bX)xcMs+>D0pl%*Ov zJYYMAg?|&xQTkrtVk-F}w|;dlI$z}lhfm8HpdXM@ln8V>kTo}d8OlzVbsON}${eNN z>qXldH4lJV7U3tP%s!IlG&&#~*b>`T*dz8WP$=6{-a+v3U}ie&*;Rw=*g~J}j*m7% zS7E{Fn}t$}`B8B5wMWRS9$68W3dd4C4-X!-c9&GZ1N)=Y_&VbX%Zr;oW1X+~c*~mp z2?1^wzA@7rF(+M9y$P^3X9bAzS;kJz#!dXdp(nsXyW`c49(`8#W?kngek}PH<0?Wx zTSAe}=rVTapCWoq-pqhG#!M=@02D`M!d2Jm68=k@`G3#%+EaXKLKDx-`_SCoc>p45 zP?}_QPiVg5O94$lF70SF`4#ss@AVUs-g|Kh#M6)lmU!ine$n|~Hpp8sj-(@g2VG9o z|JYx-b=xM+bP^M{{!;Efm)&)Z2(rJc!EW7n`{5w*j$%~KHA5pFzKY6R;9k0CO1;-3 zeo59%^I$73G4{ENt`8)f*xfX8D@$A|X9af->lVc!?A94*>1+Wr{t!qB5vzTYl)I z0)PR7!O_qhmyu;aaZHCk+%s|VRIH|Y zSj&%z6i3_;6M0=D#2b2BhIqA=OTPu&UZFv}2u4&#(`9fmPe5v8$BJ3A4qW&phh)LwYK53j$GSiUkqf&K+@M^?! zNd>H`+?sgk8jmDnL1n)bdPWKPc>{Pf|ERo-#Ic#}keIh2FZo`^^hw3x>aJe)hze}q`b3hy(zT-UYYm5twCs4|5yi#Y~#0I94 z%58~T9JgIHZjX9Y%PX)l^Ji-)wmsf>W*qZgKxHL1TYUGW+krtv*otDj-y0vW3*wvQ zs;o|Hjo4~BtFS)SjdrZazY!cRL6c5A%jw(|WjjOxJ-_tVn9>s;{!2f6B9qE$QcE>I zhDr*Y*JqLcoY%uAi&mBI--Z_`TKy!)Oud`)Kmm1N+ea1-uZ6SZEWaU3P^iRbVDLfI z*M4lHQj9>7St5AA9sBoyei@tnk{kefd?6uAHtL2IuF#ZM$A5h&{$T5Qml;nvYNu;? zu6w6whO8Zpd+hnDkp4x~&_})QGJ?iS8yik3p5gC|bDzW!E_>^9VCNkB%abljg z%$vOG!6tP1XU~`U`U0*Iy1w(I1A6UNe)W~zJ7m3w5*(Y5g6jk?huc6u_&mi6f06xy zqRdMX>|k40Qc!Q}GB~MJUg|}xGX`EJ)y<%F_~Q^v2L3Vr(uM(@(Di_^aE-@SYG41L zpT30GQz=$O_iM=Q-aE)pe8f6t(^6QE09-bDz}8|T{!wu!;BT@_FRrS5?nwAXeN2yB zdYy7hQO>`p@mSFd$qzUi#Pb4NM$5kG zZtlfDu`PO|A<1i`ZPai)Fnet}Y#LKv(r#0#-eejcc0KqSE<$TqIOSQrSc+diI{l0{ z8pi@AP=lM&uZ28YBSM8vb9JlHxPFyeXZ43Oe(*A5j2j%j(fYgd{GE>d1#YU^k}FA1 zIQrU?)t!#-DcNLLyc+!v6z)`qfU_DwPUzbhXUVo@OwFgpX@0!n*6*q8vESW4ek}Q&D}TR!;-Z&3P+yj7C3Q%8Do3!SC|lR7wpl;`(lz zeO%2*XRk304ei}Onlcb(n5j$V;yeAp_laAv)=C#)M!9V%ciE=ngg?g(-qt&_5&o6L5 zKcmj-+Nyr3{gA7IJB!%?N9UvB)W?z*L{*Li*SYvf>S7lrl?LzW5#pz5o=;OXrzd8& zz~;uH(u?=Jm*K}R^9v4oID$k;RzWB@rj$zr-+Kq^I1JU5c{(+#4>=9YF95iAo#<*7 z)yhEjUJuQ02y%_?#|lj+ECF{|oU;SXyZc~@WCvus&lfb*y%yRr6dbCJ()=j=q{!1~X-!;-i=!*> zR`&1BzP@cg$bs7;X9BrkEV;qdfyn$a&>5Q^s>qLIRgo6)>$v=C4>$eQ7UL z{(%gM&@1<&lCOZ=z;@Tf`u3BdA3As`koLc_bUACES`Lxel#?4fjPVwNpaqVyCr005i-%b5sR<4>V_ zpP!O|X;Qa`spZ=4poHNW1~VmDRRTsg#`+Y-0?rZrkAr6X4$l&n9*Khyd26WrBC)IK z`m;c0<=uT*DQ$Ks!5tzYbEd*Y+~UQ)$*+woeTXlCyTiwr*YjNMam-mUCIZ`cbyoT| zv%4tWTG`55m)J`(%z{xn4NAwDWv<0AJ5T$iw`=9#GpPaLQV)8Kd*X2zt)y$09cSLO zb{9jJ5jU30TqrKo^}GR3y&UIlE#cZ)Pi_IF0TrNit<3#YN#%MLbWpJN5xsaJ|395K z>+SzUo0Bc8Z2O-DpV}}uELuJ3d~;2t3m)l(XoqkDCJuO6wt`!&zT1+dViGn;XfkojMC3VW$_3qJ`jhTQI7Q%F$ThB6s(0!n4qAU*-o*K-KE4%nU=1*f! zsErVM*(~^FT);lrb?Ee?w7-ZhLnDWjWqtzX)G5-_v$hjNLBiAZvNZc|-ECe*N{7Yq zjl1HbUw0%iv>bLYuwf=Cv%|^UN0V_-cum^VjYG`mOO+3F+iwQ%N^veWa}Zw)v|K;) zPS#tJaMplcluq8eSI)U0x2jkn^5Yd2I7Cuae?_sli?e{1 z0U+1_yiQZjXG4l6M5S?EzT~|M+Ycv~>V9vjd*!J1N`}KGw;$14l>SyvF`KgHuLe@Z zyTi+d?XSgFd)tb+FC9_^?$=U+b=r)Kx|#4*8u~-Mm@;N1_ZY(T3y86H6syS){_aYU z7?H=K9SY?wG~+^XTH?S?+FItr;Z^m9#g;94|imrM6Ra@=9Gs2NNFiN zLQf1U9X6H!h$b@=FDSFyNz&NZw%*|TlXI9x zFSoM%J0o54Q2jL=zkeH!5Pv7{cZKdsY}i4CRp_Yg1d4R+i z@##jvB^kmtk%+V5N~r-g?X5h(dHgFe0@ z3M>yeXA@QEy2PPzFL3oBjs zX#$rx%EdF2+Jd)cKLcXNQy_Xfs)Jo%FvPAc4~Ps~Qa!kF*c)Vkbb%cXyt~=3@Z{>v ziMf<4+ zCtHej{o_gZ-Vv+y1MYKNyktpXaJh9E`BeQr9~60zrucJ|)Lt5`7QcHd*$37V(jYW^ z$?hl&9&jfECtFcF+-sl=+nsR2|9TylwD}5p@yFz7!~~mQV{sMv{$YPkEz6Yu<#?ii z+;^+Flx*3TBGG*+bp@-!r!DWto_Wi{x#r;H!87?+*VN83(^xK;V#Q@cSpReUjDxFf zt>gMN0LYqp^%h!oi}@ccK7ld^6y- zCZ+O8t*rIY;Wm=_S_p=N!`OG~wt2NXXBly%(0y`D9eM(^PO<7gfo8k|fI+N#GFabc z^jkJr(Gm70r;%A}b#F+D781GakKVM+Xl4o!88I|0FI<8iH&TlT6UeM^zgeLNU|Hn= zdbeZ@=}Gl9_r9>`F)8p@MD^61G8p@F^Lj&5@g7hw%{iZeq2Cu{e$_q!zx}%TpiyK5 zA$!jsKsf$?!BbQ9e*{mKt@|&U*M6oMNiK#DdmPpnnZKT-UVZ$PqwTNWsnMmvV{LIP zhInW3ps`pY2nobh;OBuqPaiJ%Zg;N+QHJ4Fouw_mJ(|9X^NGjTeBpp(!IuWxs!W7B z!)5aIlX=j$Kn<1-)-^xc_k8kaVyFI@&NJTn|EKeZkP&{Fub>L01&4peTYy2@y^tv!_y%U_hl38sL9wtjpGXf(ofE1Y7bD@lpW3pdcDOe-F^=aOr7dF#mC6U z5aR}S8JQiW^Amry1AzbC4RC3W>0KKx(mREEl)rjf2R2LLW^-&Cs@*KL%aRFBx&axE z-|hLSeNgzp`O_F2uX=G5xyPz<8)AK~ z3C10F2;*1AtZGLiQdSK$OCvn(;nogW>TvGugFEySn@~bK51_0*%0|!@8!Z`G`uJVj zal2DD?QAUV%S6EUZekX)$e~Y(w^(c{a(M0OAWZrnVz+BIE>5R2G>$5jHDZ8N>S=HI zM)Xa{JByAqTEp}Q9n1~)(@ift$kdvIyY+@+SS-iV3VLmwPg{Cv*qQctn)Wce8>Zi^ zw9fuq@st8GE*Pt6rcOjcAk}q~S8a$4>GB_&#g8U!!Cx)ec7$p+@xd>D=F|DiHP4_C zcY|oE-*5&m8-6IADXE@_{+rL==v)p z(AxTf)64g zW<N(}o|3o8c}bt2x??HitcM&9Ruy=R|X>2p^yTnJqQb{wPvq}uw`V8U4f zCf+h^&_iuAlc6R~VymYVyWo%;8B-Wqf3LUcrrW~cep5GGoqfdT)E$(nsrh|m$V>6z zi7K|$l*GOro8Yty%(>ZIM_83WoDQ`Zfo!QXEhAya4ax*~=XTIWg)_75&4a-={H@o3 z66=w6@|%aUR>h`b<{Exm65rk2Z1Z2pmiV-9s87${RhkE*O}gkC z3EgK-8anagE0%(5BP`10w>(z}(qU@P zvP;G?&yKjh>=U~^eHB>k&>>GE_(v0KwZ5~Wn2}V;fzgzl%;m4*tdFVm6tKiq9k}@K z0Y{nN3vpbE7~ODO!ZHtsY=`RQ$9r0FQA1QCD@Tn)RwOK+{G02x+rpW3irv0bOpIr* z6{B_u_8xN}O1gWxuv(%hG_Z!VgRTky^E!3s&l)BY1k-Jqxf< z_Pi|fd$F(2;CVUKGwfU^@#@>VByK`Or`?-r&OH1+Bvv)W<_-N!v?M?Tz2tzfd{u9~ zc>TW)rp);^b0)+@+<{y-T}TFv+4!IhQ%bu2_4UK=zY@k~hGk8)f?lfBOi?U!vH~#pOZ{9e*=_i{on2KaH=pi9fd?EQ3@<2(qQ;C0ALgC(S3vihL~g z#$Lo&f0E7ym+3l37sB19GsX~yGw64th8L@uyHcutL*GY6N(Kr4E3f>!>cmPCIsdLY z0S~)wBH^DMeCz*)%H8hT&KP`i4b8dU%2G&iaTrV3>i3P=s z0~nFoFb>rVrO4G+pmYNh-h($z1v_2Xvu{=fyo z9`++BcZWeq4D0Vfy);v8d@_t$Ip~)^p8O3->~kr)$UyIqr`CJhL-Bn!;#XTs>KpFK zrW50{QkQfl*_J7Een6iTugrH1TUPlTM*LA#IGyChd5X<2V3lWckho;qlMZ8fzra7p zTq+&+JZ$C~>&s5OCP_aS8ZXpAm4{j$gmt1rZS^pu1t>h$7UMwZ;XRXXd>W*TL=9BM zrhSV~IAfL+E%?$WSM|#{kGy(2HI6VQb^H@}v z=D|Tdoq4_EHPEC@Ih5#={aA&Ay^I@1f&L88>|sIn2SYDe>yU~qp%@hCv$JaokasZQ zIT;tT9ig|uV2WK{rg3}{N5)G1>5)r1lL!!I=BZxw!SiSP;Lbtb0?7#+%i{w%JTe_R zX6;Yx#WS!yUb&F^>1l|1oDa9Er<8-s{GUJ8bF%bueAcm3ch2|6zGJkAJ+%FSpvd&< zJT!I|(yf0PImc*VT}=NPi2{qY+y^B_IQrHS)o)vgM88uMbP;f3`!^NzWL=-od-{@r zk4ho#IEDWvT$~Y)j%HMg(L>Pe_Lv$5CT-0#Ch+JLuB>sJ>QX*@rUuh-4?X-)O~v`0 zn^LBk*gwhbfw4Ab+^YT}=uVM&w`a%r22T`q@S|4)5wa%r2ppY|s>gY=zq(7R0h)=O zUx!6vNLAjHbA&o?Az$DAZF@&%fyXiAir1X%$|sQ*W2pDwIC+Bzu?NOj*{|e~3(q2+ zr7<$wNX``(j|RhRRC{kbO_~<;-2H={^?&(FrzhT^-~R4@&vgJF)-QAGo47Rm0J_4w zufUG>yFWDPpa1Kp&o}&d$A1JMJmdP95NFwS65REHUV3lHGM^7k!hQGrW!^{0(J}bj zbK7CD%Y3>D0qESDs?wGO!dLt*zJphNoSp^fFF%Fr_TBOSmt>*l-XoRCndfMKX^V%rd_jD4T}O~?FKf*EaTzpw+e7?x#@!IT#H%mU7e zXXoyR+7IceV=b%~cD`TaVs1y~3*VbxS_`DS_sGz${OKLrY6OBM@v+lnvc@O>I=9pB zJ3m?Xt@*Wf;vYyp&NnjucSytI9rd{i<)_@I4##^Ma(u3=I+x3EVJ5LB=sPRLy@&)~ z-atdX_jDwH&o|pMdK4WMH_V<+Bzv5!jIDgXLa+TF9VV)_Bf99GWbpIjW`Jf*Ejj-G z6(XrMyHqtu^3)|N*UpkOUSViSH3#aOhlIWOtI+(|wkkWy#HG<_6VQ*XTB+93=VY*( z8J7=Li~>TuIC35m^tNB}fqM@)zR|lxj1*`C{pGX9db?qiDrP_w`46-Lp7!`BDD$Z` zrRXEYw-soO+0mhs(U*AAVLBe4z-*%VT(>hc23}67VzA3|-(i5G^(u<~y-}pXMduEm zgB)X{cQBpg=N%QFy!j(Q7%(93B=-SGiI<@^Hbf5yX1G#6HYk9O$_*kJO2~&-wd#Uk zX%EniF?{gfH+F3N{Wc2%H;l7Ru@xDJu24d3JcT?#>zZ<`6x}d)(29Z|MW}!)PGiw(L`0o*LZ^lmj7;gDR1orCMt=`hwwvV=V9w zNfKY|F2!8x+q271lHn|@16oZ3rVITY%IAf@wQ+$JH7&Gv7+4YEAzbo&0 z;^QUZ8aYor_E8U=Xq{0HY9Gki)$FNzx01AD?sYf{L0@F!9BTWXzCbSbxPw%&3-zb| zDmJ+nLQzJK>RpReu;nGYyv!`ryDuD0QE*=U**0D+2k9Zkygw^I7bRp>1LijSYq!i3 zTVlTYo9gs;ju>VV{+>@A!bP(@DsQ+Pee;_ldxZSzw3BzRCIe2J!qqAe?fra;!W}=GQOP z`?vOyCMhyP0qcSCRKhW&o6^`wO}E;d;~}M!D}MKg74eN$OYt1J6GhgG+xDPBm~CFJ zf2dd3rzIAxe8qH$Y8X#Vig%?1>j2FSTJ-^Bb`LoSRrC(4e~F@TCP_Kzdv?a~2_?G^ zPEJT+GOtQ2xLlz?-|DIu?42rhmpuoQbDe@WhqsKpz%q`SUHQ^%)0F@r$TN$cPTRaW z`?;^IPvWZoJ_Syb@?tl;{<!7+!Y)=xTLp9FSZlO-M_TC86HlTfN}BO zw^IJWd2-MroM(S|qGK(EKVl}IAqlq=#QZu^hVODGLz_ySp7cxjGlzuP=l5~Br)}}J zr}ApATu#q)2yBq&g-YqcA0P8}TEZnNw39TLZs_Va-I0wiWqU0Y6r}FfhWRt`hA4p2 zR@5uo`OGC7CDQQ`S>$jGYL?5b1*@+I=|c<%D?AIw_{SyhlsL{vUwqiLO3n-4nrMf} zY|lon?Q?2jx=1Ig>t|}Wi|6@&rBxDY>cYD7sKoA8!QdZESQ=G)@j{oG7fy{mlegIQ zb4qI=hXgA1AB$@a2%1Qb&5?~HN7&tY*N|Gx-v;hb?5QvH3PZlDPJk&yNuvPM>yO+t z@vhBssEeH6LpfXkMv^d3E(gMsck@RC8JuPdDx?m?lNGV_fj zJCW*5xMxZM=23rJReD9FQ`27`$<*izm4kNHsx1Iqy?lehz_CIDP5O*r?oPZ`kHDA$YWJ(#&-@e%E(2^0c#kA`2N!;&l3pZJ z5>x5nCazf&*&}0vcUnw%1AGw)UjRO~W0L_yd`@wx`G{=|swCf{HR%0wWB==G)jFjS zUiFYucO+95XnstovM}jvg;N=k>OQjc@Fkx6fiFG?^pU$O>M{t5bui5ITXSP6&a%_| zm7KO0T}-g~MV4H2_bEP^^1P>D@vo)OtFR2wFkEnRZp5C^ z?#(Bn2Mnt&*;kl_i|p%&wy12a0sP-cpMA?C4i`ZRkB;&p_t_}!Ui@&lhiV)NarPH{ zuRR`l^nbzk2{H`lEbvc#KWBK%(4xVTQ{Rm|b>hho!G|ID$>4Rkk+;5{Cug`_3k?YO zfjpFbsG|`BcA(f-V?{qB|1Da?eLn6yRTZx?C*0bY1zkrMb2^t(#!2?HbJBne#pRk$ zGI4;7QF4os{w_f$Z`c0y{+uWsk=M@lD@Py!ijFQ7(0d zeSCel3&46pmEi%tI#0vn7!5|7a>vFI-Gn%dsDs?b7$&G2I zN+-Tw;{lSsjq~>%`mlj_ zoD?2isp@robzi6VPl`^8P@W<`?)(i>{2e>Jed<`Yd;VgBrANewWA)by7+#an?MX%UgqYL4Ulwd7Guu<9$} zo_wvY%O~+jDj$e(JmtBp_MLVxc=IT}H&2y#k@8$h4x3u=V$RIN4={&Q3FJ#)yI`m7Xe=TpejehIx^ODapGwwQE_BmyU6+uk9@pM<}R1(V~ z$z2j=GbRb5(X|DJ$W^q#gv&T$b(;>5*3K%%{zHi$Nxoz8N(=Cd|B|+b%v3-!ufwAY zir2DUUG5R=(Qij%n9`SvA2KQ=k6sO3wq}0#jz~c%as*Af;>@sS9_AD3K^=k z@AG2~V2e5L9)6G!c?)*-3VYp`LiMdvcX+5{rB!qoi8FpFyip9V=9<44y^Vc^ED{iZ zPAYE(=wse)tX2J?h)Hu+vdkAR5#GV#NsH3siYVX=w9kK+d_X-GvjaKnk;DO!{F0E3 zOYq@WrMwV!wcB%<)B%g81TL6qwYsq6Sff({enITfTK&xxZ@Z>|r94p$BVs zf}TevIS@+Q86<Ti zUU5G79n!ZSPeVqHQaufB66UiW*M{#Y%k#{?4#$`jLIGWzl&`(l!6a<$aNBR^9&*~0 zlx)oqN1mI0k)4<`G<#9~h$q9c_z|KHsD4` zoJzO=wY|3pk`_Tu;9P9^3)V(-L}rsmV|liei`=zGi<_iLr8q7LGabg2onz5bww#;gGEqF^KscS%>_G6NeY6L%7j(~GcB(Ilrar|?!O6_1 zUUkQAE(|Gd^7!rr`%jr*3p`5aksHI)jqS*B))lEsaCL`vPerdt-f1YSVX}lll>okj z+544!tx4@^{R4Us>^Sc+-OG&BZL1~|xOQcTq4Gwjq~?->D}gZ8H0t@aZbbMPPo6+x zVDVq0As|rmzF%=s;gbcw@2E6BORLJBtKx!hi4@#V5u{AWZdZc4bv=W-UJWX_vprK! zWw0{`4EUSA+Z_>40z}y8Ng9>nF%0KIa|`(KGqjmf_F3P0Xefy5tgxZant$-)@(&;| zk@@}kc^p8FKtCfLpg?FL!m;yFZ*mc#CjMI$)?zUWO>moi{X;#`;ilbusM<`$GXua- z1Hvn<9yq$cv`Ox@E*8(dlg59KbCt_IUv73it!dZ?ryQ6C4n12Y4g`jgjAaqv7pdex zQKmKjZ;sWIq%#QQ$Jp$d*N~xz zl>i+>BNsjRNRhHTD<+bt!7hc{t;s~0vBi|=(#uajb_IIsgJ?w#kQPh(D%P=<<9|7L z41W$31XI|{dEHN5irQ-bdfwHd~sZXwKN*d(HcdM#CX5d;k$qQwrZ z2owE>v!r~s#iYdthtq&eGz@r!l;y!D>!?4p6Bq*5!fPi~6DG;G`PQz;r*Fq?FrlfP znJ^K!#mlnz{jt8|2@ZPXgE~Y4o47o4mEhYp4H$l<>TrpEySEr_`3lTW0ocm3=>Vk$ zL~kUJOYt?iLO__|Pzj|!S-Qrq>~XOTyOEZvYyqTK%7-US6}GEVflHa?^ox1wF*QtF zhf`ZKUw5uwQwfleKNqaxxH}5;bZ`WQ`+2h$Z9%NK%5xa;BP}!#Yn7M%bCz@#AE*C& z7DpfPe>)al7ufhMcT?P5@AzBfGp~7=JB{jd=GC6y#^HL4EX)lLsxvR-pwYeRF&k$& zjou^+hUI*RycAjM9xtNqf3e(CQGhj12;@fXtXof)p;(uAjFZ-WMiwJ+KmQr4)*Es? z*!8{Xem}4pXGBq^v051I=e*i*sW~fu+9NRE@sfw?Mnj4alGu!y{KYvf@jGn>8$iDV zZwvN3jM2cWT+D`I`FnP>J^ObkMzSr75NZ2(tp~#6JM~$BHlbs$OKm|&-+VF|)+Ai} zTO~HHP~UFpDl%wt39q%4%zQ)9Tn$>_<-L3aFic;om~vaDWOU8VNpo8NY30C8kRtgH z@CvqJi{F?`L*ZX}j*KpjdSUrj4?t*bPbphgAMhO5FA|1-z`nkv z4uATKmXXkE@J3+&xL?Xt(Ok#~g04m36*y7}6|sQDm&Pg0L$GpQaT*TcbQ2R2>% zEf7(QMrYPwOi@gQ*YMsO>Gx9;27d7A&6(;0ZUSmM(gQyJ0pe2Wk1=n?&J9%9k1AGA z#u9M9VrbGsy}{)i_8M^Y)p42AQ^%YhFF-2Enuor{I@p*8VB#Xx`t+9w4zp1w}pz3`!F=G&OC_>Vh#@EGJ{k*hsxY{}Jio_sMXTfOg-A}kw| z(jD~qV@@Pjg~<~lia+~(|AXh{%E3P9#8R`WUEqJRrZ=MoHLgr~Av@YMr0cJ47%%uz zZ~p;3*MskCDJoXM<+>$q(LYTn^-6@OI!53BIN#D9Vk}?zgnKJX))?r^=^OV>F(=4Ml7GNYdt{bCDd1SZjOzBr<;45^t_r&KYAy9UcedP*NaArE7s}IDDT=rgSKi)K*1)(`^YVl6ouf_fK*De& zdfKvqbq6{taF{pU*1VUgfe2U;#xEAOg?fvmEx7^O7D#e6-+Lpf(FJ>tWVsQt`z+h$qy=-dPU&v-%&Gx%q zx_U7MbIt*Mvs(WwZS|F{df5&M0w%MvzzdMuxv-LXFM5L%Khm=j6^^BAXn8|w>lg$er#b;~=8yK{GYH^K6-XaKvEP54>&P!gn} zPJwT|%@12F@oA;=YEs+LQ3ARw?a9k3d;N0TX7R-X7EmZ4rJ3K%=iFV%a*#pw10A)? zbZN0|vyze~<^a(`4m;411!&d&R^{fMam&88wz@{?qhjKbK;Vj!ThWTvX$ZcDxh>(q z9CkYOVYP;e&wxRt|1!IIjkA*g>IZgDP_f~e?Ba2>^VBcETXNsZ4ze9NkGu87d#eIF zExF-(+VWi4zB?QFZCapp= z0_QT!yNAF8`iu2AKPnfx0PmM-H}#O-tv|~-m(Mbl4g+YHXEX^z34Q0=Jcq?yi)=jF z552eiO`l0*-<3vtx_7H%< zbNGO+@HBdVK>P|R+V%7ULDUZ7@T&PAdamLXQCW!YZ}v#Gsgm}dm^CBtJd|YIU=TO) zcx;E#+urURFv@;13*D-@9K4?^{WgvgQmzEEv+GfTG#}v~y}d+)pp&cMow2V`0MPX# zTHu}Wa^P^fB$cd%c^sTv)mM`;xFDA$TvxqGKfNWlMg4zq6d%Ynz&ZkY{T5Bw+9LWvO|Zg|uSszbS*DAL94|FO)O{CsBG z!s4t3gYfXeZhC`gvk*YE@3uM3DT1abrJAd8hLll>$lw9BgBKtgKl#s!%uZLxjQrF-aa+h9;TybmS( zx+LD?Vw4^CI`?+Ty< zZ1gWrAKp*1|J3rht7JKY`0Td5K~Wi$;$D9m?e1}L*?CCFIzy8Phg)wqP|vmdeqDK6 z`@SPXcv89R3#vGC{A!FQ1Wen zDmSr(dOj(ioqbd8c?Xn6+#D~kS|fDv{G0mHf&aj$c;U>8UtbpsY9w*5-g1Q;LiAdH z-Wk|P+_17o{+GAdhJuq19UjXynqU9oGH7?OA)Gt`q37Qgh-`e{Idj0z1F>4LWfW%a zED=R0V8St`VO1;!DH?B?XW?XpJwjx(Zx<+C+5U<*Fxxt1kYl2FzK6Gq&pWD+Cy9^- zu_yF>aE{bDJQzvX+mC=IpUw^y5+$_Iy$gQYMtC_{k9p}?>1Zn9z*Wa77we`}ONIyv zi@ub}8tHFCT~?{mMYk9A8-lPPcQelw!a{A*S>;6aPjmge z;o_#M+X$eCnay>y^~u8gEQ(qhtyZ)VH!|^b2>7|C#2dVdXrGg3vqWkuZGQNg#h>v%)b`V=Pnf|B4c11oRJyV$6P8*(s&y# zYE^&FtDQ*n;OREfFdgs@muO4CWlC)82Kt-3Q=gqOHLvu#KqBY9l#^yRQM9=leEd_q zV=7DuYJI#tSfBVyI}=s$Vn6mUfFBoNr?jQw!)`{$soz4VkFTBRTP(?%m}Ffl)-B=` zPjA03mPa@v^0xB&2b+)mAS+FZcWMLII%v5&U2~V?`ft3n09TpAveVb$;r8h)T~3F? zZ~JH7KU6pqyXyXzP{s%}dCRklGy7B|DuLITdq@Bp34}Oa9C)W`xZvXR_17<6MxcXM z78qF&kJ7_veYj@bTOA1`nVRNV-qnhHPVcS(GLWk>cQq@yFvgKXmV?xa=>5j}<>Y9e zhHHmnl>}o^2rWkP+~T3+EH8}~FJ-s_Ox_M-KCyBF(KT{b9M}GXb)@_=sLkL`$ZY^Y z@dkRk$+%6WACa21zwf~NEw)K{eBw-Y=I4W%{xs2WU%tK`DMe=-uPJB$(YpGT0jJ|? zIx$~>u4hL}h@*RFI7=yI(f#Asz$q`q${?cGm!9e3?S2Um?9UjVpETokNrKt6m1kknkWjKWfH zmIaHEdW;%ZpsKsaD{J|~Am8~{Pg^Z{NN8HmsWEw8iGu2OI&F83F&=;qh`ZZKMJ ze4!X_@TMW{|IziP@le0-|2HAZo-Ja?n(X^F_Fa~!>{+4^LRm&J*0S$qU$R%q5+U2z zhwP-q&e$T%kYyO=I;YR)`}=>d-}S%lbVKUlan9TMKF;%a9nYt>EcYNh{a`zki;`O4 z8gd^tUT|>u5yfA{a8e)g8P2fTkg$} zJ2E+EWs7*qced-U8Y<$Wyb_vX{7W$)K^&ic<`{M<@U>SHjQUa2g00~|;P%8+M~KzJ z;s+)4h-w>)uF1i5A4l(&`ug4Ry$gA$>2?^iE-)pu2~aH=53k zb3U7}mhHchW2&uF)Wr6GSr&nS-Q^Dbr>SXJv8J6Oj97&&vjzoQ`=>x|a>YZ%q0=HB=M@4JKGP zfh_vIooTzp6ax0TF=FXh1YZYN9LUOa`ChE#f^c1El7P;Qm;rrB+2wQiW{0sB{xfBV zh<@+_sr7~gD)63_FN`h``$ElJ+V!e7atpLT(idN?R!AA*3V&dd8`@w8cidi5#lpbm z4KB$#0Sq)no@~jhKbSe>%HtxL-hvHq3ncD-Ps09Bz3bHN)qv_byu!Pe;xp|#!7d>s zp!KVUk=Urn`_Fz?GrA1ynrtbZ!#K@{**lwqhzdQRmW9;z5j%zn=&#Xku8|E#I z&gOAsnzRMabQU#Kae|9hwRyF>!oF?jq+EH{-Y|-M55x^zE|U1pu36LT@3)rJyzR*@ zc&bn(%+LM|JE*t*;!%c`5WgQ({w&UPl{0YF{l_8ClBP#6i$a;YuX2B&kYV%Omp-6C zo=lWK|L%V;2ED;tnIztoYeZDIN|eHc%D&bw1+a`1=^eD*`}OBlfgE2&JSPa)h{L($ zG&A>k`&mI&EHW~+l4lT6D0?5LpZX5S^K5)yUb-58%_#Piux*LkFrun?Hz_f121C?7 zMYyEkh#6kz{yd0h^Gab22YW+8d$As(xNumRxz>bpK9{vRaeT;&G_{Q@cOvk{aN4#f(3Plo!3H`X>5c>UY^%s2Y?dwuB zcc`eEloY!WQSU{9lG1traB4KYijXXRl(nWORr}_yzw#M5743;ym`3cAsb9mHMqcD_ zs-{qAkXj5SA4LL*u&6gwdntKPHG!mm%N;b*>i0B%dVEluQS{XJ0j(JB|K6rX%Jn&j zim0(l=zBS9lifOi0NihaF3JX7DQ1`lRZ?@Cc@$TBS7yk=a&df2W#9u2Vf~L#0pIjqR^;XV5Bj<`A|DrGm!-MM zOWVHVOlJOEPkGz9Th}aH*&Te;4PC-Co66YS{Zk(B?TSRb@HoCy^%OXB43a@w$E>&0 zBk?&u&=`(KM=pyl^g|5H0&T=<_429tc3k|z9rvT@{i5k%R6VbLut6TUe7#!qlWv*Z zEMgT4xEsUKFQ(ycHANEmHYs{Z{MCv4O^@J-scS$Yb1q4p#@4rnnw9tSvVINzpW05O z^KWhUFyVTFM54}vj@bX1jx=S}936<|ru@GYcLD&QjRtUE&ZE0aCE)2pV7ToS5*{pRLuh2(4IxGbG;8S*xTmG)ANmG|R$dm4n0H9O>|Z{Lw6uOYf| z!K>n<^D9{!r@@dh*n4Jj+)14A6Gv;=op;&xibEoTH?5_tOX8pZWT!Mr1h^#nMM4;` z7N=%X3urQ9b!VfyaEer_wl-sLiI1Y@ga%gsiF%#s?kQt$!5WrX#$qCjrc;TI>SgBF zh1KQyKH;*vInIYSOJ}2*wI8-01wvo<6xfSgMCqnFQ^JFRCB>XS3tz2Q)-PA1Ex{&< zSIk#SyVom~1ieyENC7U&QWURZEW@rBtB}T9a|Q1DO^5YJsw7EcqXaQSMg( zGtL-SQc)f>Y_))QM-L;nrkYLYtAo(DOUP}JSn^oSp8I!f=^9~&Kp4eV$AydK zbH=^E|c4hHt|eVAfS%e))hC<*z@X88oDM|fPDe0Tf z1g2z*i0)I&C>iJ^#pbo&!AN_r7PwU`O=O1bgjkc0vM`0se}1hV`-Y1~8bs3IrusK$ zT@!Qpe(x+Ls$qy?3$zJK@==~29_1iENjtG^0)`Ri)o<#UZ=Plzb6{IN%%V>y{m)gO zO!yPM%B|-I?E26@N&)j^F}=793)Ax0&wR(a|gSi(Z&p%}cq$bTy zz4;R3*Qx@3B10CI`3az*E_u43EerAy)OH0wE<=)Wb3RT4dgHom$9+fBw9ow4C{lkj z!NF2I+NH12%-eq!iWrYn((Rxgs? ztRO1qjBe<)oQPbMfcI+lCb??H@;fGVXN6Q!LifBFrxhyNHCJPp7E4I3Vf6k^h90Vx zGPr7}Qf3%QxSUzBCmX$eP*Ll^QIQCw#tWuf>ol)#sx}7NEO)FnBckd(4&h}-9Gf&u zB0A@2dURMsqjGG;U>6f){j!-@Sk!Qp*g3PxUuiy}Kh%O0q#u$GDgO7m{LMh!=*{O{ zzCN-u0m#FO-6{6TfhuBU9N5xTZ2ruB(5KDl>X)`Yc#duB*36*>pe8j}&4;h^Jf*5* znbY1DXrr}l!8^oaEqtk-t|Vn(i&f1a5hq)L)<9i+c-3G z|G8XYZn(me=yJl4z}`4AnEfA)j4hLI z*1#6B<^qMsJnr@M?_c*`^t&-Y;We}!SBG`t5TnM(iP2*N6^{1;L;Y;F^R5qCC%Emb z=7*L*ZD5veq}_O%{L%Fd7u^>)c*fCRCj9~&KLakb{YTE&eY87@7jF4=q)O|jwKGAU zB*Sw(_eM_g7-R0f6StKVC91bO@AN3rejv}YOXNUC5GsKKh93O#3$V>I7 zQ(LV$vV$Qiz$Crr!xb*%y`a;B&G982+PQ>JfwL@`f@Eq}>i-_H61|zapSdu2;MC^8 z9z>TDJXbPR8jV&8D2P$L+O5#CSl38|S5eQOWS#nD-8KW5G}y6JDGQJn1ft3s0nvi< zfR1nd&jsE4tO79WFx{Humhxf2=lk~!I#L+>XF<;dteiofk+c}C$dtB`wdkH#=d!jF z7cJYuxK%a6IMToQj#n~kHaWAi>P znE#eo>WJ;8KtR+xq6f{_pj{gjs~r=(ZR1(^$7}uCn~Tm;CDF!v%{pswc5|_dOG=@! z7$qYwrLR))`WH(Fo_jv?w8i@P?&SD& zRqMyAeG$2IDyjew+>+g`rt3G75Ecer+gUx$rR7Z z=Ys)j5KF>q2qhuid2&-ua*li8@z@MD-XF{D3>_<3A!(P$DJH}|=_@95?l9s9Hops) z>=&*%i}42pVEoEIY+jw6{+`q<+ZHN9PJ03i^@U!a;G|lsP^vI_P3vIIAl9{02dnnO zJ9^A~;#?cd$@1!yT&_$ITev+RD(Te%D;HN^C<79DJg+RK`Q!72m<gRpC#aUX>9@9ofIN+$lfG3uYu zr*n!X%Qwq97^JaFFVhYp-fRZV8_zW(lD)6eqN*kdU(R@t)%ZS%gIa-r-@O7mPq~yu zOOEd@t#Q*_Cb2o3EOAQY0RbC4Y#@ zQiuu88(9cpSM_6KP(+5c?+-TB_19Jtfr-dX&-=LR-K{fVKRz_`HTqB#DLc@)e>Vt2 zyAx6xRIZ+Q;`xfR$G}~Y@>Oi-VDy*E>ptLqgZjdXVUghpXlT3)YJ3#zGkbHcz|=)9 zT&z*`Ifyk*1z$=tEb{5U+xPDX=UXF1dLoktmmSk>?K`^aoY*@)j!OYE=a1_^mx<`+ z5gk#q-d=;qJJsKn;I?*pvEXB<*x^K4)Gix@104OoblQa~9SZACwei1u$A^0Y-glt9 z*OuE+pYCAX1`&s+269Mc{(TT>sKfA zeWKK^%IOdc?**NR;%|2kQ>3kFJb!=wsEo!H#8pHIhLFQ`iNSnnpC3-1%CP7jzMb#P z(=-PTXUqBzf27xYE*t{F+446Rg7q~Fpv-TwQcfuRTg+(0S@#}IK(7b}s`43`fhR5E zyMX#!K|F2hywYxWa+CThmPqJ~OeKBI-LKvnxA$~9%St?>?*XIaHx% zNmWfcx%+OuHc-%F_x%p%`w(WY<|U1hu&gu5+L|oJF;oZB&>a(z=+K9|1(hX93W=TCl@Nrr6qJGps*!~A3Fmo4^dsaV4`?h% zX1{Vd_-#SZaRL$B#QV2B5Ldcu9-@edXmSn8Ls~5x^cXDpu6Z^U;1KF#l;q|0Ya@>l zJ9QZ%i+?Dfy$f9dGf^YT=xgSKxf0T|b327F<6Vg1?^fL;r|H6cho&G~qWq~=+A3V1 zOZCG8D#P`S!TBye*rmG-el68_ahiO2^(FP)fI9{$;6LBh>iy#^z`PV~yh3;CD##905@BHV9bCnx1#cmAo7yFs{gGN31n4w{F6*}X5#i(EY=uCc77%ancr^EDVY1rvN>#L_7g_CeK5{<`j#oLdkyzXYa&ow&&CV;@@yc13@Re|(c-GzLuzir~jy+_Ys;k*S) zVaT2fg2g}J8UxCEBXM~398^CT4irz;S#VS$N;Qe&PE{5SkCGL90c>N1`Zv`R zl1H^t2VwK{h=2iGf(~=^IiF_}$u+^U&&9G&SM5a(N*l>ag>k}&CvYv)IW?A5u#Vmx zo!CqTx1g)>dSC+<`>hnJTfY_gfp+P0$b>m=n&WWs(^^$$k=v~osubrb-*_oE5u5z} zA+mH1qvUe(fDd0u?MY7e8VN@5)jX5$Q)q#MKj^bQOiNuTR0>tWq(!02;=Vb|E$?0o z2T7AC&RJ@Jg@b=5fnnd>&s1z{t^?}Stl1OHEV7_Cm;s5R25p+w1=cqg)$P>BWUNr$`IWV)3GD7 zSgtu=tTo`M0goF&@3(|JM3vnb>FOT#0r^9amcX5esP+t)i}dU&tjHyv-|!1Mu0I)l zL}ll<2pD)Ip(C>xqHn_4afh~u%2Z6-Zklcld=n%(n(giTVREV;=}(f_4+9$3i ztdfM2lJ}QSO5vqP%KekQT>U7{LF2LI^}PGevw6kC-}Zub_uM$ol11>s8j6@nx?4)Z zw(PW5`xupm(Qg%LyI7zJubYzW+7|yQZ^7Jp&VyJ5a1Xn5^Zq3QS!etS~ zp*kB??*F?3cu-{t#o7a->}Wjp#TD-rkUp?GCj@)yKm@9iF4a@?Bb@7LZKixBNeHl- zF20a)q1}wOG6eA?kGTLkJaz(!u9@D}v>96XZV%^!JI<0>N;_>-x7lbhxQA_#)1q={ zKOo85LIlolFslai5YTlN4%pmZ0N^Ktg9HG0$Xye!PWzDk2kcwQ&oe$)$IgdreUcAY z^zf}`LFmvH$j6-I&xRv#^w+HF8hGh5T$|%`TzBLaeLh(zkWB z)U31M5!E^fSBbQb!1TEPdjBKFwZ#=kE9ShZymVDUFTaI%sd(t=z@E zyqHM+Ju3UYI$aq@NS>?~z|;IQQ@{YD`bXRS9}7lUiFN4UBgWpOhk6`{7I%fK+DP;@ zsuFrwd^=B9#Eu7FhK#M|*h}>r(!Uz{hL|inj*wvHn#T`C=qwTZ9~VAAA;W0Xa+H$i zM^@Fh>bXkf5Ngf}`p*a%fTO^2emn)O^hZD05|P(@+N~>DA#ZEJM2=&<%}sc|2A+ZV zJuzYerA|s0nw8e;WXv#cX%FJjJ4&Gwr+zO+DA;?6st{;f-@5PYwy^@yB=kyUBR1kJ z6|2L&X-WsAXKQFZj&2g~JlV>4&|2^7!7)I;8Bi~V1ThKcDS*7`{z@aP|D56W#-OPA z6<}e_?>^1(UvLVTO%gew?Yg|+Y|nYXuKeQp1i#Z`8pS~YTJ0C+g?ofMJHNSEWT%* zK!abpOu75qic?c}HA`J3#NV(+l-8DY5oIa_asyJ*E9t2PSnp*}l+rUOAq!hSP(LX% z^hF2-K}p&H2q_Us0B1hlWn>=CjcuyAEUuy{YIfdXOretFNtsb+N?t4Yx!I=T!)hWb z@7C3IICM7pSc*Gc2MC_7j|x%%Jn4|op>_dPXs!t$oJ&>{)$r*@z%$HxmxDt+@#afj zci+W2K_cPA0>uPX+)TsykSu2OlNi?lp*!{QufDfKF5U$VNBEBL9E~d{ zIVUq2MW_1{Z=Y`O1#3?nYYv<&&TkICs7iXXwYOWx-|+9DG!+`RdO{DSbE_~*Z)ypd zic)os+evPpcOFgY>xjPy)t6MB0^@wp?6PU|;QC)xEaHb3yE5Du{===yfJp{i()yOr zee3!Jv7$v$puN^=t2x5K|B*??B~Y z#z7A>FM4r82JAP{`XU%tF$;H*v-MXNPO~4ijS##hw0}^XUf2uU^DW9t0TCgGZx36@ zZZ$XO<^7SRLfGD_CqsAGYcX&h~YaCAXY(dlzGXETW!HN$Rj6FjFN$Vrr&nxz({eQ!&_(PC9jYI6!0|EQQ6Gp^Q zq1Zxm$nl&(B0InZH~#WEeV4USEKmSQ}q-M~r#QlOjUj9kFc0~{-xtaVjkh^h8 z0Y#210j&XnTcP*TXh_%D{0ns3kFeI3PG<}+XoFIuR#SM#vZ+J)2o2J@{(Zs1H8>bX z1J-o<|FNdOFJ6fw{o6UXzeijs0`dL>oO6)jqkbCpEC|mhdz1V{R9^cG7)$$mW^X~I zKS#R%+d+6LAdZ&nTj9nTQ5tmbd?AQIir~5!302CaaCGgPe};nJJc^L#I-Qy&LXyPj z_6XqSBVl#J$KY4A@t#{+51y_C*dAfOVtX1x_GGsMhH1(1+ud&`fWvbLl6gVw`^&BG z74f&waIvlE`OlmD`V1UkhIakN*vZdlRZWaLf&F}%HLgdyKS0QQRt!!qaB@5|nf$SI2>dT0jaLaK0uqVM^$`14&mMN{BPLsNk)Oa6$nwt-ECn@ z6FLUkPuLJyMYXTLpS$l?(P!A^9hN(?bGd?PXrb@+ruyJJ3DL!sV<916*;}~7k{gl3 z8JxX*#XOMsGDd~@dHA9iqqSkzN(T1`|8weEZ56s7bu<^y?cd2HpubN=H|Y|SRwvIM z1^V2W5J`6dKx2T$v(~DG&X3rnnoJyb_o73W4-=`xc|%eHRoY`i!je|7)_EfRGG;CU z@;xZpjV)fpyD)#QnI$^yi#gDq7ka(RLqfDeUzU?paJ>4wuuOhKw!0pKFYHT1<)Yd< z&{l0n+GZoUJr*MO{Pkt}%ykW#JeWk#Z~l8WI!%UR(~4I+uCUAMQcLQRu%JfFRxH06 zbc~W_jGHOSN)p)$3#R>0Y>W-1Bk>>tn9oSs^_j*iO;_-B5+&R{TE5&L{^C& zOxSI-72#71?M0;k1gD@V&nNFWM(9IR`maGR7E|FF0F<u;h3NkX@MIG)Si{8;ix#Dg%#2L{39 zeOnqng7e^Q`;bypp1fbvIL7$UA}FL4Xk+7r)_aHR%Dl_PC%gxPjI7QL+StIPOHgrDbHVbd__#xw_5g&x_b^dN-p1>e^vf1btt))<-!t*At<-YZqn9*DX}KF822GRPKk_Y` z9go^pWbjVoRQaz-^VBtqxXvRVmnH3LBuUMB(J*&zoL4O|QrFv5OMRE~wiokn!MMM0 z9EIj;eVK*oeRH(@F>_RPKImE? zpmngMx`^AVIg?59lAFGa^9y?M<$h1}I~m2d!m}-sRMRvDb|YQaufvIi?5eKj1ay!*HwQp2dXkS-s?tbYMlbb`_;UKWb*{J*-R5umA+e!S7f#4B?$cD`7ytKK?K*BrG9olSC>wMa} zt|>ahbbl6lYT>l9iOMe4sTY`0@ba0tC!1}Q+hg?9fGs^ZqVU^z1K8#M^tN6Li`Zm-=m0m{btAp1u^3l3J6qb*lXlV)2~kC3MZcJ0q`-1mi{j1Qh0vSJGESL-=9Iy7_Y*X&GIDBQ+Z zFcaLL)ZGF~`(5V&#)Sm|FaV7!OvP&Bmp(g!(kl?LdnWg`>s5-yz=-BDxx!|jB$|ub zo&ijUY!rs0OBUYU&%;^}&Zf+H(P|Skk(*k2Myx8IgGm*D42!PuuRom-^p4J`F0pgO zy?OB!Gq7iFto85VG#nVAblYlQ*?#k;*6wIHz8kQ9!#MSq{CEz=J%b++S7nG#Gc^PXFL=oN$T!5|mAp$4?dj83y@3 zJg88%6bY4C2zUyOCQ8K+G3usW+UmU-vImRb#oUG&{VM4)$s%@`6-RtH`Lc53Ya<=I zJI|mRMnegwMY7_)f_)`e3><2iZy>s#!3x2?icO5cBT}iNnM6bT8s6Vdf|f zkPl+tlO{1mpR-{Uyp*I$`7-f8K_RmVw+r_&_hm)SNb_y~XX5>St4N%`X5LHr*7jQ< z2x3pV4&(BSz2QFBxKHhkFCNNpw(6HxOaD+CT+_cq)PcecuEWkDBK{~PB0oGd)gt%d zsv#4-oJh_FiG(@drpdg)C-e%AWQONMLKA+ZY$x;WG4+y3drsRTSj392Lc5eRLY92( zf0S^;kxOceR(v5|(qG>TSz7SD+97)Lw1xgHMEBXJTOa<}{x)*hi%-wrKa}mO=-A-S zFW+mK`U$=IcxTp`Xjq>uFfeuP26Xw5)SfEo>!l%m=Hz z`~_CvBKqi-d?!i^urxo;r7!DIZ+GQlEk?K-^`jcJMSsT$p-YndxZmdlO@%A&4dY0{ z(z4`%G3c+os$ht<4BRn$1xoP637JuC!0Hln5`nua^o>#E!KNVVd}^Tk`XJ(t$CBYy z$o6e37%!M!|J%$fjpm|i-VTXHygggXq5633`Y|XP$X-O?a*wU(SR((46?N{A%CHf} z(6`V31G`?t^LH1oM1PE-m!?m?s#EiGe_aDq6?atU;yoXq+DV7J#N^QLAhYNDA6SfO zqzZ+$evSBLAnu<}T#C;Z?OOI(MvGPJCZVon4@bJ}yp&+NQUV_QyN+ z>v->d(M%iU+0jZaG4$mvQld8t;8zp2^Q8Z;x;ou0by&&P)_MPGU3>A=?tk=GjJ;y( zjaH*~0L6UdwNII{pua0J0kzokdKfpr7E1sT<$WN{c*4doMZiEk3j%T|5MF9^4!!|R z1=(ontcSJ5LH2gA;g8!aw0Fhue zpk>rNYDa~e*0)26m_@F6VwkjdoCF5`9?Jn^ zzvj^LgJVMsjLZ>%kKk*ixD{jzbVkemzn{R%3yjg`Z@uY0hBMn1(fI5r+;jh5buMT6 z;u5yibV4HkQOaR+I}c)OUK}d1I**b#XCbWYJE6V1;mX0CO>JE>vWwHp+uCEvS}Xtl z^VsKn5=r{nsmzx*WP`=8;)v$HJ-%1pCz*-wmes1&t|T-Ta}9d5;a5F(64DnhK2Ww~ z(g46}>1ijsa`$86V%P8iS6FldxyZ#aSKuoxv;x8j&z8m;vC@hEyP>!XnuWDH51}Aw z4oPx8%QNy}eH-|MhdRl6BF2u<>(P;)=m_rQK@8v~B5v%dHhuZDA{3|mjx1m83b+~6 zt3n;&n(8~cF=~J@IJ=W7PdC!wCRg;VBHSU3vy*`lcO799ewmmf42dA*_raQ)^saS81k6|p zj4D(t*0)OlO=b+IBor+VE?JpXQ!${xt{?vOG1Vtj*an7pqFU~w27pLzT5&Q%|00lV zr!UaOk&x0-A&Yy7BVpl1vrIcQbmvlrh-*eQ5Ce3dgi2f&10acWP}WKg_fGUMTs^)e zj?zF1jB4}*k*nbn_hC1U7+xE&5+2`GdydO1lg5+ExnNx{ll)y?bvvVZu_pX5Ntt*}A2p~d3?SH6c9%?dUxCuvq zjP2LwmA2BSs)ktviSPR`dgz?Zj zh=Jtxlx2-V>o^jFi4r24$vOqbj*0lb2j+C-mT7K{muP>tk(k(REcrOQQFT=s=$z0H zxmR#_-P8&EbPKa}=WoIP#YU$XfBvo=bze*NPwRXWPqTH{vzt%A`4N~KC$2+s!URNi zSis4*Yu7`jieJ`j7hWH%k^qi3?M_axnf*_Sq{R8Ird1O7l0+~%^S9(=F*-*975_*x z7J&Pv)}d5p;smiuG)`4W?os2cUsqGJ;e8>--Nj-9Lc<^2KEj@h5Zzd{H!7|>WvaBK zH79>!cW|jXmWE$kvQPp_f$46$FV(?N$6uFd^YMsktd8OaGf%XLKR4-M$bWL~nGB=c zUzsY@Mu}g_c65!LOIfl6F5ktl#3)HP$RLT)sG&>pK8)-lUI17Y=4!+(xb0Uw%*SOP zWaY?!-Z52)feU@pH11{sc8ylHd|rKDX^bOWQGF0oG8`ws9r&(`5n5DJB^MC;O=tag z^B~_w!|5$Vx&K6Q$!wOZY_8s?hd_c0V4$@pb#U;?S&BuHwl@lJxuomCq*PWw1Zeub;RPRg1E&n`cQV57P|4ce+ zNngoU+B5mhHIf7-V0SKSEazP6{!6rMzr!b2DLPAMR!QQZLK1W-W1c94RDB>?8b!bwd& zQY9zodOgzGg@5ZN{z*({DBHpz%!Z`{q3n;AX}m^`XS1@FrcC*)AmCjSTMRpA6w5mQ z2E~w#A5^tWAsqQl9pbo4e@WrZJCMvw{~(=;U}~Hs9qQ<1#ee1nM%%sHl{7BI zb0P`#Z8;BYTq(Rn{~i;9#C{$~$X&!rs{@OVIZEbzppWicSqdOEp#x!n|5MQpUldY! z{YR-E_XJU#hf_ZRnxHZJsx(T;hIscdm#*Ppc9YPNrfFwH()#=P%^_}ja>M9y1=A&> z?tzpe8>dt}O_%&lV~h!>Sa9BLKJY+(0Ix4HRKoV6j&rx^oFv;7?l)L)O(nEPl6)xW zsgX9IpR;m>E>NZW8{{n?VXV1+K`|&>dlxX5%KbDfle+PD#J;pl{Gtm~1^OfE z}Mn-keE}oTmH~G5iT(k5zx{Xm1|{B#yfgLESOEV7pvQ{;DK>H|XBc!dLC`{l&S&fw1qZ|fG zMM%_y4)TB3z6KZr=BISzCH5!p(iX$Ii*JVTjf z2mJ#TW+-Ky�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%0ArmG_xJn}X4|brbQE`=`d~5kOt8tjDfA;zk|}3E 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ⅆG(&)?#edg zxdVxCrm|g;uKY*Cr593ilLo+g_6MYVzTRbCsU}L0uo}p{4}UPfDm-*$i|e;0K<-Kcn#c&+Y|(TQ3aX@kQ5TiEp?%N=-; z%7`P0+09%-64ZVt!V;$%3>^%>!EkAWT5kqt0yYcRj;)_=Z3Mhp2-RWGq{jrhHa4Cy z-cXXCQ;JE#uoAd~Z@Hj}@Xy#g(|EBk3M=wkYTK?3C?bg3V8U-T#SSffj-qdsHge*D ze^1%G0@=r{wbX0%x5#V!xjOXSsC66YH3H))xv7;7Ei*YYIS%o&hixm{FLS6$ymkCd zzK76}+jNCwd(AiWi#gQ)^#2)>{b@=1MwB}eRdBfH#hwzF4Ojn^Zhd+(G#iH`nf^X%K~*L~h~fH?d%cy!#8GK6Xn5p91vVwSV#1>P15(QYP> zaUEm;CjWI;uEr0^^{WMi*ExFayDkbn{B_&H`=wOa2Oa?(o3X(!!<1!KHx8+4|L@jF z;?n3}TM-p@8w}_FNuguso7IQ1NVZs4A;kL(0S_U~@ubp4t_6v?*u+Fj3Mz1#_qN#> zAz(Vc9eK*Ld-a`l-YPjMyrtFd?fHRY4?rA&H$!<358Ggc@MyI{lRrA%z;SeUUNcSA+VY%8r~Q0{j+A+l{Jd9S^jWZ!mnEx3b<5FnYYv zeY(5$V8F~h^MbtQYs*Sx47M~GH`+3BbW*cfnubhLp%dK;jM!+tGDYvn?879$%?0<~ zkLzvsI6g^OV92nFWVCj9nS%QBOW|Oc?r<$7+hs7h`w%zPN-x&>8~V1+-F0ZvdW9hk z2?+8Rbhm!RA@DPwurvt@agmX_zQ>P!-Nv51MfeKYe9wWA=NXT7K{3CKS>-*LBQJ>^ z>jp%ALi~1YA(UOrl#n$)_e<@}H$nJAP{W-4g}}fBf3)10ym0Qg4E)EV-6Xkkj~1>+ zBM8eRFyzWsPoF^vwz>TF{LF5|=Qv*kiQV_{+PI{`P>_MKSPFIbaMEioM865)cC1`7B)Av zFj zpN%-Y75`RR5~nfSL1g|TRKW#4gm0T`{l#XfNNe?digEHMKS7ZSDk`e>?k~UGH}5yg zV)Dyse!Fp2E7jCPnB{~ir$NPA+Yy33IPcJY5`F|@I%1ndPfk+cSiWBN&*%~HpSjxy zO!QUfnE89{h8si8JJ4TlvvoMnV~jjmlNao3%kErBokG{%mUZ-3%ys?m{{ z$2r~XAcP)lNL|M?9ynyZ+>2a4lVO@1eEeJ{*NDy+z+`PhCpV=_X=Y*##L%--H>4A) zPvD3L*NZj48zp;draL5jA>DlOCrI{+rsSu-b$GIPsG?F~R!h5b{h@3k4&)OIZO%oU zs3njP!A=ueFN*ziQO>JS}(bB5{ zW)~f=--jAd4F2}7jCdK+Ygtm*$#xOZ&*$C9TT-C6Z^t{o^kqNA9NycIaVI@bL}{0> zAYa`|2C%p78)kJg3A(eG=mr4y_dO}K!-hrV5<>v$jE}IyVjV>CmmsT;&xobWfRi|6U@J^C9 zg`KFfS8$dh%e~-axof=3iT(x;*tAecVFnE7{YbM|-uuznlF*L3%kX0W&EirAm z+}u)SY4Nq)u$K(A0`%xKTZc=z?PaQ+v)@m8Kg|X!Hm$Q9T3ZvY5VkV>nRk!y zn=uWW%P~{v2@{K0snbCqXAIb92Ty|i`;#w=?{+cEEL9!l{^*dyw%2nY(nR)G$B%tr zVmg?0A)7mr3y3~wUB2>{g#9C8y@uMkaqHDUwtO_mby+}uS&zHBNdvL+n>bftRZF{l zJdokCF)s9Lcd^b!Uci6;(2ZyN1~lI>Y_SMH$h`f<)?cH2sJ;-SuzwQ@rM6fL$l>xX zR`RM)K3~5TRlKhU%zRP9pxYoLg6c8hjkm(F_0kJ&nn$y!6LaTJyVicrhO*AY?c$P} zgvUpjd$%W_9QlG+C667&e5bR?+ugrqYvDxS-iyP9pBW!8-ef*ol(~-tTtk7Vw9r@) z7Rl9B|7j*JjNzZux0Rz~?msT@r>1DgYrhF{Y0%8DZHN@Ghqkx#xYNSFRn%2smFD#{ zUOdXd-`6(%qsaSq(a&Zfls$-Y$Smm7+^gBecq8W*Apga><@6@B#UWd;`@-D?X{Dpi zhn~{T5W%4u|7XE;7)<)6S%$09YR9%s&l9v#jSsgNH`vY?C*FU1C!R#}EUHW+H)e6< z&~jA5VZ@HGzd*bSD7uS;U5p+p=T;BcEJcO(Ue~{HrggvhOKWAQTT99!Qc|lJZVR#{ zItw0pq6jMuYu$`=Cxmek=MLSL4L%a2Ow~-#69LSzmoLT8_H;Emoag4FlXqz%7!l;L zFdn2G$fnu>QxPbX=Z?Q+V+;b00$it_uwcay2S#^wfy&(|!#Xxw)GFbib)g4v*Nw8J zUehBE<*R|k0?y$BLIw_6*Pg}pO7ATq92u*vf&vKP88q^^>KXiW0c_jpCHvXW&=ULO z)1(&Iq%JN8&^wHsePe^7opTiY$l*Pqg=y6dpn#AfGwriDzyR!}XOVZSwt~3gXdEMz z4uC_d;5^JvqcV4$2vL9S`k1WE1Cqe(fNt%7!z`XH`^f&fx}D zg}KcEq-u<+LEQgs~ne5PLZ}3}rjd;Tjr#Hz00IXd_0NV6Kimv3+o_RNi%hS;Z0eh9EH@tML z8_XSZ1AbHB2TQi~VWQTbnH51%LOw(D32d+yOc19Z4~r0owkItIoaK{+L(D{Tgm>%V zN4`d{*Dso&s(PgsM%|1(MmZoBHLrv~Ob@VoidufY4CJ$06$mpPqN!ZPLuBE5rztq1 zYK%~|-H0fks@~jV#7VuaySy9W68mm^@*409Q!b<0MxK1_-hJz<)P=gIV6})FB>pKI zxZkt;aEU1S;PraI3onpAH>mUZ(_A`+O7_&=w>2GhuBSX3?tB3jE*l`fL&*Q0yA3yI z?7o;po(X2rr{A0*ZAo+N;T0{Vt+qlXoXWZdw)^A549e#%jUhremj4qumnHo2mB9V4 zf<--NkupI~x51MW9ooBfnB-n8(67|M>2)--@n3rTx33``WZ>)HOF-m*9eJT8=NQ3k zn1&SYT~~7N&hj9W5y3=G=^Hli12(eS*_YZHd1yg^e>0vbQB0Fx;Z&1F0rGw-Xk<8+ z0(4jtVW$5m4$bB~C(gBC!~0#gYKyMsNM7ZB4Z>8i4>o%3wgTv_0~XA7K0hjoBA0Z9 z3@4)@ecNBQc7g;>A((I{vEEa{w=X|j=UqCyCcJ0y`hUQqW%~Jf6o=YTqJ8O5mLz3) z1itf$(L=;@3fh}{9IsMdjI=amN{(6vxY;GxjL<%>YZxNJ!PW_~N0NkbYc*#n!x!!J zQ|(qiH ztflZKZIu#C|JAh=pQpsigOV~rzRA==lnkOKXNty7e)G1!1MoEZShcb&xYpCMI!06< ze1CQ=xKf*-qHk&zn5_~`Azqy?V2LI|5ur4i-hc)(HQld}O(xN5}PWJdZ5>rP$#)bdY(1h%X=X8q?Xt`oQtp!0yHEmBO0v1D@Tr zR95o1Ge60$203Z<6@5Nz*TK`#>zLo~lnvPR+tgr}w@tbk7fznJ8GilNnkH$adR2|F zWrp61l)Y#yRLi1=h77(KFicQ$AbSyPHn+XZ)m6!au0ov6uGnC$&ma96pANsmi>^An6BP7uhJ+D=+jk2@*9Bt1BE1f2H2I*L zOCH*>&575ZZ~7CAB1}E0yLZoJb}_(t`O5lvUDp+B`kOI!gl>0DMb>AdK6{HA42;e9 z$)Df6+Bx}o&{KA(Y7h>Ph~Mky-e@O3nS84My$_)&npB}REZ<8-?FR2asu>JnD(*)!o+Zts~cY2G)Z!& zw2if=dhqMNM2`RJ@bfX5(wt)F{T0NMbBxFtfL%0Z8Ha<4!-85zb)xx zYV75z(NFJx-?goW47b0-B4wd+Q*Og%M7`Oh{tPs~!hLCe;XQYxdPsfgmYzMvjXOESoe zA5|e$LL<~#vLGOK7e27d<{O1{LiBqF4;|y~lb(l;#!+pX)X(h@9^rM5Ss16OhHg7U zAPdhfl*cnfpG>Ns!76Labza>Pb?((wPckgpBGtG*sx_(kzvQU_c3Js|uA3F?I-~x* zN-c|^r(97km`0(zKHP6p5)h`Qq45xPKa}1#KZZl|%yIY0`!6bmeH$6rP8Fos3?Yk$ z$Ja(M^0)VFp!0=DO@?vS(kB)`^f*t7_7WD!s^muw2*6maWYs?%NHk$S<|hBMzokh9^|s|_P8?(fOd7l@ za$Pkw`PU8h~vCqDJQ``??*#8)Y{U44gzA1G_z?u{$1C&&K1+Wa8T-h}Qgv`P-p z(HC@hADmg$X!H-W_{=v&1abmt5IRfqDBks)?t4;peB{mdtT!TMhcyDn*YZJvk=K=dCj=x{YCldzV7OJdvJGP zzkuRPUCtT8r%2iz_MGtQPsD^_(mvI4{0EUQyWDD1|J;K5XlEs3OSk0va*6e6_AoW` zANqm(mOF$!yXyB!(4S~rJBmaz7r;|YKkr(H{4a4-edM%{lg$GUiTL`I71&TjSemqm zws|4`eevlk;AH|4CEzr`hD6ca0%lPjX`koq$Lrwv1YAORv{_*t(z`_wm(#l|sfa@U z_zFdi%tA@anmb^cjkIGdkPC5Xvg_`9k3if=mcZB+-cH~)SG0{8+RR$dwLitg(xh%T zH};~rS9n23L97mcu8Dix@Qzp9A= zuD`CK5Vgytr+`Fg#wZ;u!HTah;!Z8wa6+VD9WeKKj2KQArC7I!rI{PUvM;FgEyiTU^mKtcX`LdzTzRMYwE-SnR z`V8WoyJcv_nUbnL$$74tn1epPV^Fc{#e@z=zj}zM*N-LM2_xdVf$DwYsAZ# z-PfT@yIELA5SF27I3)(ww!6*Q16ulGIW-R)47y3GS{%m4WwW$4;{!S*N;5Emv+Zf<#wzi{xM!bKavi_rfZEYUaI^%v4Pdd(P^Zm?H&I zDXO&Ot9i3`=l3N%x5J!K2d6b{Z}Pk!DJ7bi}~y{DEODngT>OBsTrl zgi{rVu?0-ZLp7^=NkYgk=mw-IWx3xrA?Ctf^=&f0gr{IgYil<0QTi_F{z|2~ORI65 z8o|P-)J=``SSkGle$~Lj#S@=&LWKda=9RCWMf1DwMHHVQ+&u9U)I?(9ce9lEzTadP z5T*CR>+O8LV;aGG{q6_-iN$ORyLVy18~fY$51jqll^%ZTP6c5M&&*5pF3&plA|IND z=<;Z)P{+G}$`d*+pT-UiNt~ew8YyUYWNCn=Zs9m>3+r3jnKXx1R(xiqD})Oj=Gi55 z#3N8ASsaH5Z1q06AVxS-dw!u5AB3CM8nfY6}4iJ-n zIF8M)E!!A>8cM6=9V`4G>UAVck%MnfQn5-)CA%6`viv>tM_?~}eS z5P@2)mu`hp7>;T!Kg>DF80{iDd{x`aWnSv|jb=zm zdwD8p3TYaBt0hoXi)Y{|JCd=s9?iiD4K_J$eAl_FyzZRWFW4vE@+SFXD9;ZM_IP*p zI_kf&aSzEi2FwCL0B>9Wt%{DKgGl1aPEg+e<_?kBYep zM!d8;ora8yQu)8Cji8GA7gDvsG|g+Th)Fgob&W_#J;|gu;D-fGBusE>NE{+v}{N=yCLlP z9UKgOxl}Wu$|bPMWZWIBZZ}bc;jM0> zr78N1bC2E>rI(xz@R#R{d>QM7N~ortJqyfIIpf9}fybR*zs5WGTdO9~d#Y+veQ^sD z7OAv-8Us?n3%Ck{Zu`s4wsp(g=XhZgkYPLh%>VNj&*nux_4 zlg=GH_cr-8qyR-zD~LSkEV)gQcc@?iWg>sK%uxnIw?uJnLbKJ3VuKR(-aMJ)6E)PQ zkI-hn<1c`_hdCL%Qd#);(zfoWOVHeXefD=d+(}mf2fi)R!#}CZg^YVSI=$7QmD66N zM%FtmoSvypr|cc8HhDt(3Yms|L9+Ba{>sa`>~ILf&-qnu2Qt2o!R`WfoX`g1^VZ~T zZk1nU&c?_{Tm&^S1G~}cw?cNz_wFsc$ygQkH*e%#S>(H5TRCtW%t~w%Qk29r4ErAb zF+Xw24&ya4ms($RHqT&CiX&%-E8CG&A)`1uyJ^r~-f!J45((!jV}fqxe-o)Xf7dBS z?F&(xDo2yFI%^d&Z2Zd~In+U|DIYqptWXPT@TMlXYScw@EsDy86>`ir(;c)ZB`z8{ zg$*B1meFp?6!&1w`JJP%oOQiypdQ?yGJa6qB+vCB3TVlfI*N&Jtt)%<8WDdwoCnf4 zZ6hhF`uXgffSN%KLoON$X6wzYfbm`b@8uKdvO=lqZCRn~gf+y%#C2GJd4k)kAC&C< z$C7aKIk6)38M>j2W)v=dYsZ&YVHPiPdPl1JN{rf$V+KILE28_LKUJ*J`%Fsxy)60J6VcJkh$F8Qbp`wlEY5u zmJ!6LmQjM*IU>Quo8ePgK)Dm}10s(G0%|V>tRUw#lvUN!7U}w=Gy;1H0!|DJXS(7! z=Ck{mKuq6l>o_2ZqTo1BV|!X*z*ln?u4F}apB5^T`6lo%PXS&-R5r=WD=)GsaCv1sA%{6_+P)ve=p{ zahlRu6vJurHhIwX5p9C0z0E}^&-MD$-v(lyKQ!d({(d^lC*E$<4+K6y4`MQ~<*V?1?4_(i=yqZ(~z+fH%-L->p_S#jLxWZBDoE^%{o< zED^94)v*4;3b%F$7b22rp~(D*GJ6m`6N2FcZA15NSbR7%G+Lw56A(fKS6iYUxkqx- zHYJQuxZLnJ>8+kVo!1SFCV6*%&eJdfz9C`i@Gd;jf+&@yL^${k7lfrFRCz)oo=ULqNLI#F2py5U&zaqo;zFG4x&3gP zKR;;s(eT(UronGp8T#2x_x7GC4~uIM=3^uYaY-Dd_>Xjae6S>|!yKe6hTIUUkIm~K z;m9!Wve)A|HHfjH*)>A8sHd;k{jejvuozbDdfc#hU?*r2cb)HOJciA4v?Gh<$Jq<& zjlGU|qJo%u+Q;_gD;k=u+v>%Z%Js$ zHa1x`q2ut@V6N|%$Y4oSpK4{YRaOD)q?oxH`&QK$CLGul{L>{sb51y7bGy^+ z^B>tMgKJpki>${Zj~4E5QAe7lqv|6`;w@cI_dQiT4V_G`Z}>!ezAWSTSb3+%=gY?T zZJ(>TD&nw~NYaZRmbl}tcX&+y_#R&AHCEOr0V*Jx7sbzRg%;zYM|+oKxl>5TzqR-q z=Z-axM6XC;Lt^`Pg0LMvLx*d)a5Lxgx+g~_g>w5X2y3fZevlrBtlFWq^R@7mU)Bg| z3u(r#-J}u1IQ9>{f%!b0eakqG_3ty;<4@{8emLLPEiLf!0rV_ph-L%@ba(85M&i{GWG0_bI90n)i6+w33mZBIp z6WCqUN7h)$m&*zQxsFfV*7XXj zQJP9}@BHZ8-~$n>%9J?A*-+DMTeTpU(pz^hcKyeEt@`ZA*qcKphe~*kJIq#b7Q5Q( zuZyjLp9zFJ4&D_3LZW6qMA( zJ&Ig`y{}vzsxZVz2Zwp+lt~PExr2D`%jVs?Nv;=;8$jRt6#ih~uDXwFi2Xw38@}(s zFH#emSzj0h4L=fb7UwMvm6>f7m*pB;BrjLv3K^GdeUBkMSiNeJ2(uOcRw%<%ddo)d zQZQ#Xu`Vq-$cyWN81x(IMEB3sRJE>s1?yKXTqa|aC!7p49L`d^6#GdvWW5`qePjLWqZ#?0 z_`KCJ){jdb-Z7oKfD6x37OhENiJ9vbj4hhaVbP6=LRmu1IY0bx#0E|Fe7X`9XMCP5>p?Yz)v|gx4;125T#+(vm zyy2(ZTNlm?iI{6<$Ze#B>JaADxvMp!dktYw3kL6(XA#|%jmjwff|sx4!F#SyyCI~& z4I8Nbnj$xX{37sKYLBKLF>0h{kZKCOn3i~=dFTG+t8AneHwlejJgT7gSb#b3nFmu{gQC8H&Rh5x3Vp>zRsLH&QJ|sAv{nY0HIMh)E%FzbEJOO5Nw`hHt~4X z7Kw&;av}eCSlnHpNC0F08SK=U#-Sr<%XBZqzpY3U4iv_f50qYL?nsw$;DL58>YjVi zK@wIz3KC@CwzG5DkdC%S^=Bf%K551$oeM$&+Z43g66dVZUN)ROX2jcgwGM`E=`3lb z8~0fQLj)Q+pCBQ_Fn8$tc{htZU_OXbL%80Jp}^&sv6A$Xjo0hDRHvkq%}CEDMi)!x z;oqQ>eP=(^?pi$m)nca@K5_;oO*t_3_c~|(+jP5FRS^!#P~$0CugI?3rCG_F7M(I`!$d;IKxW|Q%UNjzhv*GvN|~EGf`c? z`<&hA=D9of9OBI~8Xsurv5I@E_ZVD+?bOX5=Ug|}=;WTu1$C*ydJ$A*Nmcl!a4(Uq z1*gUNw)1A*n&Iw=mo&~BamMOcF`QTZT9>&k7OebJ;*=?YmFm9irVhvUVax?iarVEP z1%^U%zNWL~1=B!Q0MoU|0TboGWg#&EE+C!t+d zKral+YwsJrLLLVw)o#>FJN`itDWilzkdc^#g>=!(pgy!%qf3`g^rH*q!Dxg9zWrNt z=*-1zN8oZdc>V!)?ryLg1QH0*P*FDIt@iXr^zTZ*2g*0I&tu$sw~Kw3L12w{+iS&L zUDBVtsZF2tz79r@1V77-{qkOmsw49f^vjkcgQm@;HH7s+Go@mV|Ftp~$yw)UnC<0+ zAAvwkYtXS2JC%o_dOW;IB{$eROksH&ke?5`6;B_&t$TiHQq;;K zo<=i0cdcvnCg9dG_Uh!^hBZG2N_Z?dTv*`=D3sACxO!>P3t#^A9NVw*4^2e?d zO-|u+91v)on^^o?=&Xh{#AW^mcJN5n$$Uk!06aZQ^xiQ<%u5~!vLWY>a|S!yQgq`- z$aFiJSVa0Hn%(=f&D%o}TShHf)l z`i8LPm3e8b;Llh=GXiXYxilN0o4d_0DlHRl?Lsi);W23n|K2{1-2jM_o zKKRv-ix={e&r<7C;Z&3qG#B#(A78=W*VuHHIZ`)+7>eUtUGlGFu#mqCOG4lITKn5e zPfJ?=(9#VWnC@sQ48^!c@iuqRQJftLHbSD>djSB8c1ubu`J)&yE7S+tOOm>v)c&jG z^SLH8sKg2z6MIW{K5ZV;JOSu=0?(Dn`r`D3wnAUW6}Ts(&WE@-HK0EA^xXnNSfCJ@ zf?c(ao70l>S)hN3IK9-et7?L7-d~|QVM3hzGUmMJi+@OiLc))m^AA3~0H|gs^fPFq zH%ry(`*~1qu>Ekw(7tSj`3V60tslT8$B4;R*Acd68=1sD?{xrW`=rDWy7=O3+{!2T zbZm@Cb=O}K_XF^&rY$ZCqVjf6L9zhUE%*Rk+AjWZQ|s|58qb zjW%bvnwq0APUnTZTNjRlCOsx4;k+@v2tIa!(+6@VK{#bAlN4$$dFJBit)R)reFtoF zVmpZo{BKaWYfczm3)*$LT|z9SGWwgZBI9bmFA{Ykd23?lBvwsp;rOzyB>{!Hyw&O8 z&fAtG2C-~AH~sZsHukHB6AKN$OC0^scpdxxBcsWrR)tlgH{+xsdSC8cPp%NQPX$(M z8k)sLWi4=bbdR9-t9lCd%1$9+5kq*!fTf4Ywld8Xo!Ps0MnyHCDC`hkPBoM>I3`Bz z+{GXPU0t1L=M#jZzuI0WQ%m}lwOB1)BK-Tp!{x#_Oy;7lsE+bHEiBK)$fpOyR8+|E zeP^cO)yZP*52A<7qk_6S%fn#()9!O|1tL7@l^l+|NpTP zGBUFc*&`z(>sU!P6|$WMS;^+$aEy?>l4Mq76+)49>_fIfM%J-M$8oH~ar~Zoz22Yi z=esVy@1I?wOXob#c|0EX$L)5z-a7fS11#@d4Y+dWg+Uru>($HO0m>x>C#CmD=T$oy zx{E3nOA=k|!gPikbAkTiE!ckC75|eS)kE|!mgz6tgSfGI_;@-zvP`$<*<`uo^a5Jg z6VttlO;+E#d!B?jBYLPMI~{IuZs05Vq^i|27h3GM}t=XijKzLXPSo02295 zW8GZrVaTy$ji~g;gW&uoQ)f*HGI-AY%FSaLd!0SEuC!GqjLD`~!({+cq53H}^%cL- zQk)ZU;CK*La1?Go7q#atyn>hcW)?^(jOaWOjomuzN7yF|4#g~vB{o6zD=&i1ukwHs zBGC(OUJAH?K$XLT ztdG{JLdCspG?OK+c^^u2R8b#x@3*3R%OXcNo6XVdC1V5o<_II@1-Sl}vRk!F{c zmx*$i+2UH5eSbN}PWi;AwwaL;f9}0;G9ZhU}^s zeYC5-f;~T$Gk)pFT*lUL>U%-Il&9}>+!qMER%v2+kqUFC_k^ZiP(U?rO(HIhbY%SP+d1j z0}CK2Rer;5eX(}8zEs!JB8bU^Q6B*(X=5QGbx zdSc)W%$t3U`wOHIaCNm#r;qZUwtva zp%%w;sDdC?QA8C}2EUQ1;DB710AfEp5aZ8Y`t=v&jlbX&AhzZ)+i@jKJ>%Ex!}j|! zAKt$>jtSmTe^rb!M&m;$Kc5U=-d~OKS(zX86Tj}{P}}liT!zjJU9&m-5YiY7jkDk< zfz1Iq4Ufi!vNmDmcfUi=-X9@|yZ-$gR7V)~Q^}^q>iFmh_Apf4c02M|J--vE%LDNB zXO{rZw&G7BXx`)x;lk|Uq!ju98YCrY-Tdf0Wb;-S`vXC^3*Unh$nAsHDYP({b?!#& z${dl2Ff|QL&WGiBOw z-CI^2s{Yb9)RGX`x5?;(6YwW1MUBmtVVfPoSFg9e`2-=$^@DdW?AJ|~V-vAW18CYj zslgn4zH7^PAI$GMVk%J|7PqO2HwrSXbqclrGPQ9>_DpA=6Er&}l9S5D$D zN{s>9BmAyQ+Ba6){jqS81s(9H#UYVrUOAAEp!QA28tNrR|v0VI6JR6FFCyMXnjJusta1G+!q`mP6$J3lNuaVtLmE>|>f1aR_&;a*8} zA@BpKyxkbN9!6^G)K@vX?Eez`9chk?o$wKF~ zEok>ALGuz)4b*c%{xqxu`3ieWJfI58I*zkH+a9fT`I9qxfJ+k-vOk~*UvxOfyTgaR zWG)Cp{T`qH;i+XKwfgBB8!WoA;d46izNGbw{Dy5-!q0LKt{~tS0V{2rR1=oPviia7 za5@6?8i;}XT~JO!lI57{fpkB2(#xjzW(jhTxrZ9As)LFG?kWF{^{Wp0m75<;4u(bp z`;~2XzZ@kPpi{HKrb@W;c@Z+Kd=0OLBf6?S`*lkeP|n}Q6v3~4!Z_Ndz{KpBV>DpA zj*FB%L9|90u$P7q=$atJ4<8d_P@f!cKnUO83Q(pWAyTUDgk_Xc{hn=!#;nrZPQPwZ z@Z5{P_9q3k4T-NYdtD!Qx!+-_kYh_2^7%^K`DoYT%!jWu zI1U!MaLuL`WRZhprGGjz12&mMn=h2I=Xc}Xl8epWifU=8atx$I{HA@h z+mPLReHvTW*JX5|iJV4O^?>P5^&YtUO{d*%(RFoW}tlfHYS>8>HEQA&0fGB|X5k@n^^!|F4onGC_54 zYA>QIFomQv^`N{`iz0PNO_MBb%B|TN4 z9H5!`%4bK9x=g%@2E$3D%16}xygkJubbNfEIY?uh;t$DrifuJ`U;j-)1q$Swa4zl=S z#fR(+hBX%|#li`Z{Eo;zbRqih?eQf;>8c1B!kzf?1V9etT}+P_-+T8TH87&KL^0)0 zG1lSUEg+sJu~WdFoJhlwJd4c?jk%5Ndm@zPz7W7-Y&5DU=@5J$SVw?*nyyT2i6SpL z(o*g*`K%ZE3+y*T`q}p`d&GWpEIE8M#ooUcFJ#42YyZVYAtzZ}}MpR6W%U=$%Q!`+Row3h3nmUCULd`#~I+wE4M>8_1t?L5Qmuc9#=@FOg8R=!^Dj?`CoPY?QG5bGFufkz{TS(0AK_R$Wn^2>qk(lh!9s@tC>L^N ztU=^zz!dH{4`m>ftak_t<($nQf6Son9D~{o1umi{g^xf64pv4nqqM*cbml5Q)};>@ zX*ndQ&H#IjxCjXf(IMI{N}tP*P1d_)z2yMvsoIa`rW-7@o6L{XYKD*dE_>n1DQogF z9^59`NisT#xxHuFv!s2WVaeE0zMfp~v+Ss8)Gdzu6hMIlM_sx%0X+HZqwIYeu#XkM zh1~o7tpt`NjU_XpbhOYUczvul^0-n}0Ia*qw3K0f`OJ+U>F-sG1rHfuBW>pnM=m{u)MkekRHuOf8t&>+P<(m7Gg#@l|7%_?EN;iuv6y<-_KU z@a>J~kMR*XJC|yXKp=6}epCcqda@%8+pF@+KMK2Ci0~iCTneVOYtzOBKhbY%gufq% zoR~tObBg!5OP0hBJ=P;phgqv+aTtpRfD=Ne6O>%+yLcM6N|T#zp4G3Phrx#G&zhc< zbVMcq!LYbPQ>^Bv!!i+|am7HuexP=^0##eOaIPV5@1EoFG8RWGjy=7}f@^ksG8ih9Pfq z@-ZX)@p;M#)jOUE1D z`mPQ#Pty3VI^IL|g3YG@52F5uuFn6iWFE*D0ZQf@Dsx27JtcC3Bc>uk1*pW~$OvW& za37bu!<`>4)$>NW_hLjWJ5u+AZeAggwEo7G`N<|~vgS>w#GFSkJ$IMZkOvAF54VjQ zflGGaQUfXa%8RQ6*C=P#7E8$ylPU&o)z_a5j-!m*;>G)H<{}vIkC8MD^U;^2G|`1dx?qQFr3t!wpry)5`5#O3lsJGvLG=^wMJr>K*qq55C1hAAJF5$)jK5xzzD$c7V##+~5p z$VV5p1kWZtblK|n@|z#xlPus}>jo~ZbvljM@-dvx9_Hw~6SpSo2{~gh-#$8) zTaw zF<@KiCP~Tr&AYa4s8|3T#zl~Ss$;|Yniba9uo$O`UV#TeU)TR#%u2|H@0c&l)g#;$EewX@6#CsJ8bb$HFvA*47kcR z2ra;+#QnMQS3VsL0{9x|@~MulJ>tjSEl0XE3r=ot)j{n*^4#P#$gTO*hE6iTc{wKm z&R=y?QAaxw7uIA}Fk-SK|!`;qT1f5S-cy;1jFr#&%ICYZ))V^E55YWAvIbr2(g${g+ZT~xWj z#jcXozr9I__O~c_ZLGrV&t(r0W>4+*q8741*<@@?jhv+ZpED(?zt;uf zm*$1(v^l_>!bv}mBJqIhkG*&$(QO%j9_%=kLPfEL7VBz@f^YHb=-lq9c;MKZq?=?i z_<*}&bWr^S>fuBbM@CBZViK6^Z6Qv4@ibWk0JJpV#^t0%>lAdpl#Lxr`r--C{N%0m z^z?fae%||ps;U(Vkr;M->A-Gp)N9?|cIVP*#AP*Di* z&+iB#GL)iznxy3zeix`o0gCcGcQh8t_JBHFfSGkD6ecY#nKl_$AX!{Oe27&vzna?_ z^zx6I?K7t~@-hK!*+pAI;UkgD zw*sG7|EaQ2NUELx;XaTT0jR5Cedq~byfNGbPTVb@I&kvf6X=i?#I;!cUNuef>WN-6 z_&`@KIsO9puMtyp=htI$3V58yMaa9J$8i^HmEQR}IW=$8jehZ?_*@Y=?stBU7ZZ)s z5~A;grNCnNIOu@(@X}X@#nTt_hJr-t?*^voCwz>|bR`k`Oio{jM!a&eI87#ZXW83n z!sUxU6N^n#x{x{wkk+-wZ%N-4&UK+KR7596SRK&oJIOs@cO)on*?y<8PnDMk>Rnp%uL=IA2%Jnm#^>{TQo z$+DzG=M4Gc0ot2Zq$|-^Mv++BvF`Kw${V$9$SB>9hoC5$uS9M^*1f&%pqU16X)FT4 zdB<62(TelkQN1SyFe*xBFaucIJ8RE>${Qs4>9_knX7)Yh*uB>5vPk^LjS0{?KO(>WdW2ou=YGWQ4t%+8xI0`gt@aqF z$b0%bVwfW@AFJ{Ew$NB1zgXnfem~Nr>I-s&Jd(2ZpsuB}b9xS>8)=a8;^}l;K?$VF zFkRTUlC&hP`L)+;>VoC3_FWRG_ul`S1;?*+2ab?}zc8IOU3k7s;OKABu&!+>Cmu_u3yAdOmKBwdYGe^NXIlK=0S; zF*@0{l=An_G<6x#awxfkw=Jd*^>0Xx^p*!QTi>oa|XGIJ>F+ZK<`# zFZ{VD2PYIUay3q4>Go~m*0v+yfSh?jj5bV&m;dr;L!JJ$O`&=^An?L8$D`RwWq0}G z1q+2nTqUYi#WY_?n6_co#Uw4gg^|iPT8ts@nke39=gTyH=ydwK&Hm9|kcYRw((2xn zG*@pgvVEDE{za{ir1PeFMK7zL-fkPPP3LUgEgArbFb>v+IfW(?H=EEFF!yY+mwvEc z6E7wGr`~7X*^jxFp;fgf^nwjTT9CGI7!l(@{p2|+k!+;>-yP*{RW$#)(eq>29a-a$ zTHShmfLLqb^)_m*Xni+{{$*TTy|^5p3Ve2Zcuwp*`&13Sv)EoFKgR(z-d#F%)!MD{EP?GifFU^u1P0)=fu=h?fn5Db!l+caRxCifHD z6PtJCuK*giHRGH`m%v`MLH*rPDj>SB+o(J{*K_Fh!g}H04TjA@A}_}Sb;Ts1^Gb4G z;Z4)m52RU#2nLL=BXk2-dD5B!dwBqtw{S?FkOlf~&=>;bt6en!u+HxS7?kLl{=lm) znY|PX*g24hAiZ%~_>)-HAn(wukG<3nin5m~8z6-zLhM#`l>t6L&;|Q82k(^6bm5h6 zdj^}1ewir#nKI5}P)ub;&^mHx^eF%1S|4w&S6K~_)WR%U!%Krc{d~t(52`mDy+4Jg z?2610psU7ufB>PD-_y1P+ju1eNQw?FCg0?mr+NrdO-PP0NacOF`UGIJHm3RZD)MgG zvbB_!h@-SPP+P0OtlKTl|swAY(DN4#QwAfL z)Z@avx=x(y?la+`uUOC(s)eH$e{uqdH9+sB{>qh?hQO;W|DJvEcAD>0uA0$1!MuJy zvaTDW6tOoNJk>#73iJ%ZHVTJ7UlCC(W)HfgSjBk)I~&K z15h=TJn#LO#ak$v*@m@?KMd+!(8w+;^x+B{du;aO%?B%^bkl1udp}z*`PsgB9-|kz zKCBqph}H9Q8Lc>0!O{Qh0%nngyIvEbyFg682x_2S?s>6!`W30=V~o@ia}jP)8^zs{ z5-%%j0=prfWw?|92B@4;D+Xdx*Wv}+_Tgn;55Q6oRoZPzWz79&N9|#gf2g4 zk5m)~_{=5^3aSl_(ag8^a-1M(&*PS6=gvowZ)hFZ40QpRj)z_@Z#WD!jg34Xi9q2) zHMym0V@z~Q{p!L7d|5u?VPfnb<8*Hp6YZKUNqh?}NPeE%G+S9+-er$BQx|aYR_bX5 z#8C!)5zp}1Wx5@yBVbX@D8-{SsX5ksvFvR@alJ+thv@t6E^VGHIn$4vH`C)~flWF0 zLxxT>M{?_Eyn(Up#pf|l&RT!LOW%4cmP}(3=p!1qLsZ z{NFCRl;!#%{?_X9;EaUZ|2~f)J$tAVaXE@Gllmp9@1v0{zd2jV}-tqcGQ-$w_id8*5#VTe?&D zA?-RCT!5ELK_#^6wYjF0pj8AR(8197(SyHXt{3gEb@jbPv9Nl^zzWn4*oykTN#$Wg z_YI|(6wktc1`b|FS~Zh*C}f|>3^gx{9Y{w%n=a|49*;p*LZF_*gUN*A!3iLIDr~06 zVnN=^@Tn%~9_h{-nLS2uV)?UZEs~i3i(xaYO}^(oaJUN1M3d6KSJ;R%d%38&u&>TS zDfdkew>){b)YUZT&yt7#YW`_uo$T55xw&*kA+`{6t`}-x7PfixMiZ5cH1Gfflaf?& zh=MumXV0Cqeag#~s1_#DNJQ*uUjZS-BKdW_o8Pt4G|OU(7sFouE9=Ns0Bd-)Pt{dk(kq$?C_!p-66VO)>HGts22R8uydxh^ zoI-$&B5*fLPT#v!S9tx_g=WAYS_~v-u5%e1v-DnoGtL1nwK?oW6j!?iKakU}$z(ov zX=W4r%j&7JR~&%N+3!5JB@@Ve@N*&yQ7XRr+>6oX^3UZodw?_`fz}IF82Han;Uty& zrSf>9D=|SUN+?3~)VM3^PP=*c!#Pk&y#_Wc?Ut@>q`_BUU!KJ5N-Kw=v=zTOt8_gd zcOqt)nfYtsoM;=ne1ui%RL-^noPc#x$m84VBK{1-rB9ne*gbh}sTbpcvG37z#UWIy z*F^5+avN2Y>po8pAR4F;Q(56%C-R@}!W$ZlfMzFDWpgefYiSG{8e$W(>IR90mM@v0 z*?$7BeCv^&j{TfCM0=Lrvc-fk&4c_rymb`a${z>$@IoW|h7pkJ4;8nwv0&J2u$(i0 zHdTe=QME&B0# zt3!{#hFOp69mJ27ovSsL2DkRGNyzhyuDjRi@{B7>^<~6$1H3P^%f6O9ld;@!Yw}Y$ z8`dmnH>FT@;e40&-t)f^x3LxL@!?`P?d#H9^dvm1a$(uttC5TkqJXUY ziWdQw)B|WPjTEwPy5h*1_)Iq)38faXX8<5AZ~MPZ3-+nPsnrQOskY3%Nn}pf5`SPT zQR^_x+I6#jMb7*o3FV<$HcO_i+ch})a+OO`|7E#sThs+a6i1laLK*rrN9$V?bbg_* z7Abq?IUX>JPgebJmdoZhbVcz^?-$E&3)}z3Wg$Kjryj+30h@y5EM}LGAY6$#Fd~OF z0I&@k2I~%-EVu-i;V`>I$b2(kGo=E62cCP;5EUkX#oK%&eO(fz!`Cf;yF2HCUW)ju z|75l-Xu;KHSHJUUY0EI_J+VVC-5q6J@6O-5x(9=twU5J#q-$#piFVa7{_7T&BtDJb8uAnGqzDWywU|}zPXKzU>-@05nFUy3L}4tz>8 z_WlkM_K>g)W=gouCi+{{97_OEb1C^$Qt^qs(}C@tA6oO461ae(B0O8y&EU-+_l8Wx z4=1>RCK72Qj_s{=ht3O&ISxj;8GAoRIbxt%J*}H6f^MZ}=i9{pYoIGc&~2@3`Gh_B zRp+5OWBjZq6={|)KyOKx{MQiqUjqbv;KkKRG4L%ep2X{5;B6GBUSAJnj98md?HHW% zNLx=`qGPXSdXXz+L8+7xSuC8j5`hgI9A62g%d_8M!IF0><^dGLuXeDY&B1n<66_c( zWwj@gV1g#}PQ;5?GUb(NS$!T0a!gv>&vtF<_F=VJC@&XnCAVa3s6~;%8%K24Q>pZGL|;;u&%X(kbs3%n}g@^P&+Q^PWkD;sHckv5|DRV zp~jNFjd{38?mzN{xnR2)c}+rT@LiHy-Tcp-{2t!Ats{@B<||2OM*>`JHB}Tx{>NH8 ztV#CFdl%T5bZs80ntyj#5J{o^&fTKNO_7TgvAaKYEl=PJUI20j*17t<$6lobFj#aEKZu!;aoH-S z|0Q5VX?0PEG;uuXHa}>5x(eFKb*g*Bu)TMr*n-<)T@Fx^)L8Jwn&rm>#kuy95#Q+@ zwUKc&O2(72Aqh^>h1QGSXpqd{JucAtB<)R^8fHq+azH8}DFFO3-&~Ok884^lrGfro z%9JFZYnmr}$2u#pC0y;ngo)y|PVI?MI(_pU0kB<&$vXbR8@7wYr-8`fu74zpd@qW2 z!9YMr*X^~kH(3s{{e=8>E?Lm1sv4Qe_0OlnBD&JY$4Jjlry3QwG@cjx3P$ueGSI~q zIzZrf2ZCJ*7do)_=`ULeb(i#as7Sq@V(1C#o3P9op;LEgTO zNx3%vcG?Zm7i+47VZ~otoqTYX{--hx!OI5*z8ue13#WvNil~PR#Pp3Hb~2kC|Guk5 z4=W>b+eWs_7GXJf^TPX~+zg1)7I3h=y8bW{bQ30m3(XW z8GOFFu1K}LN#i+`Mz~(yi;)n4Oy#v4&8I7dx?bWOujt&e;_vdhe$Th|u;)5_bA8oo z@#mGU*mEx(uh@x^3>tr&KD0O>)#A--wW4aGrqTtw<8eU7UCd$Yayi3))-Qdm)Me%? zkMfKaw2_{tD~$rD9MZCG+mr=sbvb+f0~r;)Z!ehthQ}GqD;a4IH3v(Z=l!}eG(DW( zhU*G%j+J({T~TWu?$q2#{ED}hLXUM3T;ABWKZb>dLlppK)yjJB-PH0+BA0t-VTg`H z1AqiV6kc^dalZKQ#KCX`=smZ3M}4bY_6)eD@f&1hf0=4aV%VD<*=IHb|Br<5bC~i~ zb-hN0dOP}T3h4{h8UGj0KyT?yA+2OkQN_E@B6nnnB@(0c<1AtyA;E8 z59}eOfP|nZD!wYAOVw)ES@c&$@auJVZe{uzW{EVY62e|VnEvZNlRI~x4d0_RiK3*Q zSYQ(NLY*cX(bWj4d{BHxv`=bQk{sR%44`dGCi{N&PRg7sEJKLS0SKO9E^|TrNiA~g zo>cFQ1gm(tUP^v88IFMM=*g>X10l#zN@&^~yJ*}UF}kXkFjr5#YB4Y0sh5#{6JIgv zKdqocn5h^Qp6M6)fnx&z2Y&Uv3Hn!Qdi_GXkIFh`VL;`a>s-ISxSzX62|9G2ierQN z+B=>8ZuFA1_n*|x-9P-4IE3#0>$bn~tXr_$;?dyRM*te{fTO!+qe!2bSJRMA^am>@ zNCY1g?!re=o^l=#>tf=#F#_a>d$r%(98tw?$VdXZU!fn+MZiH{$V?Dj zr!yLR!v4{)$?!jpG6voMnmv5wNrL8!=GYgn`UanHv<%g6>@p;Z!(e8+m4s&}B76t3 zv95>@B1dx`AAj+3Ix-tmzQBAbsi!S#&scevnR@`n?me&E@Ms10kV;k<&~u=gcQ2}< z7M%%C*ca0+6ky%{Bb7F}cW5sb!Ja}(?ceGu4m&;0ANQ#m$q0-Hry z6t|!2>KN{NOX-%}o|@W85?4oY%RYlzU?nfRX=`NOq8SxWCvIOI@$I!aI>ygS<6~?i z9k-^1JBrxRdj~w-!fBD;_#r)%XS#(3ahR)vt*LBg@rlXVfnyhhy>^bMX7+#GCTu2$ zUQj1iv!TEHOgtF;*me-?{q$0@$8=Qk432w-2>e>lS8mu3T8l?r?G#!eEr25)=qhN5 zh{>By;;F}ST+3A_DA23H4@1uB-reW0?Quyvxjkab!BWl9=@6W%@|!DJMdO3t!za^C zhalp74YXUSj}7gvV5hQ2q~lf(KO^ERADy&B9u?I!Jy|>~O{ig(MO}~9#&{iLUik7=IN-_f zOJ&=aK|~J4zX?3PmA#vFHV*HYkQidq3mog0ycZ8C0QhSYKJQ`Dj0Z8x$P*%hy7TPS zvA0cB^^Tm_8#5l2UX#B24R+(@Z4Xr~p8ZUM-U8>mDHh#e0gu)UT*gzdH>O1iMEdBw zNwWU^>p{0^rH+^C=00pgxQb%_ovIQW4DqK(-d_O(iELF6gpggSl!X|7I=#~!Zl<}c zn8GH`O}X)B!pW8wazk=>aed94k}Q^t^g&edal{Fk!eUY)>;p5~rPkTJszkie*9p5X zBxjh$mO6=Q(JxSZxe5A@umZ_t*s>$rLZte^jf8}~L;u^;{y|SKo$U>&g$Dy)wdgP6 zI|tbn9W0yoA0LD@K1Y|@bp@Q>po5iLLzWA1~* zQRL8UB0w5{EC5o+Ze;Hq19aH$f{{{7Im+_U7)Tup&vCmd3}^xXwH_ju#F|c5HmgFH ztHTc!Zm2~I*KK#75n_UOT5G03AgN{oU(@FJrYG^cm`Mok>I{Cz zlqp~S7&_o?10A2wa#v8*56IsQG7Jnej3~p{(a44nigL zbWu+alDS>#(1daFHlXjJGi!cuEIK-xGxv%m7 z09~5RS5j>~OL5biP24J8j4Je8;FR2nOE%g1yRD~{p&X5MIRBL*l-q0c&&Wv=(b+Fu z+74x{+_Ql|k!@<`EZ`oN+V*IB=4^Ao-3oQWdAr zphx`R*=pI-hwDw>>bG*t0Wa{tpBFCxOLt8K+0k>q=5bryv{yVinp+QY{=f4R~~QEwRBEgeg}t zVl}4z6-(@grDAtCQ$|y$M-6W7k+F5>#(jsTmrv`wHo#uy^qqykGrsZjN{kZXlW=`o z?1#~f3sq1^WVgHsgbsM|^%pCf7rYaUy%aWgJ~JK7LF*|`=y{ahqs=gf#$2zPn!Z*| z$M3N=H$38`jxP;R$Kt1o;;}#~u0znx;sD}6(rP+=I8Q^b8oNzN_eSx~dLQc`Dj4d= zWDg$+BokZ%wtzMZFyaCa@q37(U(iQN6%Q9miEUSap?tJ%@%uS|xbAA2jGVSpg#pi$ z@ar~wwg^d4t^| z*D=6a5PE<-gAyw9&vecY49FdIVENzsqY&U-ND2x)eV^YIZ0|!OXKK8#vD2wlo}!UTPizo0 z52-dKz2zd()R0fPE+gd{>(m-}mkZ^lgEC3>ps%4GG&Q}uNPVj@_wik?^1Qc}4}E&} z3&d<$z(b7of6qqm>*F*ydURa(wS9%{yNU zMUz8Gh`Bqk*`NQOZOH7D@iAGL`1q%Gpb@0LhWKhQKW4fD{3rWDbz)M&{I&x0hZO>J zUb?V$4Nn=S(7aYQn1%qs@GR*Ei=BeW(w}*7RL82gfRVaQ3hCHB0bKSYupEy>|o1a%h zy)k+rs>WQIS{Z#8poUmO^e(sq?Rg@QMIXnX=Ohw`&W{$x_o;e!#qBHuqjX+NDY28^ zp@fbhTCup1KWk_AWNWOXq+d(U~hbCNBC9n z$HS}m^phoIh9_R`RKl9~C_0^-x1>I0=wopdo%iy>y9c1nuuE`#C$$Ghny=crv=zB* z`*G|RytZkFZuW^UbC&nbDo|s`*(VcCP+`s3RZgJL@V^04{yO|lH`E!y4C+1p?*r9W z-?U9!-K%Z+>prJS{wWAPf(cX}>>NR$(}C*-T*)x!Kz`1mlH>Dr#E9@Cn<%>qNB5+;a+_Vzo@lByfim5ig7#e#Pwq zYM8R)27b8bC1U1d-HjVyFT&4K;}eMYqC?%#6_m<$<;jgBmbJ!;F-F_Bhph^(6Tunq z@B6=IXZ?!<_$aG=X8wPMY6Y={>kwpXW%lfj1kTqVK6Iu;SG#md7EALDJ5e~tV^!~b z*7E^+wvWEP__yYh(si zwgumL7O?*3vWMRPK37|@k1Tbv|1X&?opZ*?q+ZECb2Ua(m#W|vb=p63^}5-=b2X&QGW}P5_0;RHz02t!wUE9*1RFib78*=Q<_@IoBAu$?dwC{DU=j;7va^o z>~qsan=5K6fSV&nd`t3QK@GaSN4Y{7XlJDSoLR1)-M_8eYN-Ba7G#& zI>1nIDahFa+HuHkVF!NaMM0k&OGA49I`}!$5fm8;CkNdoJqUC8yy+JGQ%g3&YrgI4>@?CI@5kkT|ldJ=)sI>Hk{#HVBf( zL8UK*PZQ%2Vswgy??mZDka@@OQa)y??K?|LfxChK`6Vi&{S(>Gtv zbDbfX{}4Y;Ut11*x2TpHrreEZ-DNWEowjTJ?3P~taX(gnYcMaQo?N@DyJwmUu51Ct~IX*85iXnUU@OtoD|a*iSakd^z+$_~ zuZRiC#Ph(4@cL4~8=hO`nY#=bY^9w&%J5Rw2aHNP8p=eA!5SaHFaeN*mQU3r+sY5g zTGtA39+d4v0`^TM0G{q-Z< zwNrYU1Wul;@+e<4gO#;qeoc+A{mL?^stG(RU&dQOj!(sOzjgpu^M3jVid4@nxhyS= zd40>s?{mM&MU4L-r_RaY5-%>hHqu5GACn%CZU)nfmWRo|^>ZRh+18MHwBR{_jxQVQ zTP>mYcsMyx9YfDL*f7C{tKjxCnHGnXUFcfaPax9R&4Q$SwL zq4nIG>#J-vR$kA7ujwM0LZ#x((aQB)LqWhv%+?k|Q8 zzMZK*7Z`ni1Jb3iEI4d2QVDY7&jhT&3z?%mYLAACW-HF6{#N9X&jaV-*-k1Yz5?|m z75?Z@g+UM46!F>ItuSF4$Uw8Tw+9-2nf~=r0o!5xl64mkYjPq#Iatm%luy`E{ZD0} zKTU!5-AGtC;nOat;~}JzQnV<5thI>jD0_hC(eAk+Mf|%~wmhm{*-X=uHqC0hGRAv# z&X;h}mEU6XQ# zG~h6J?yQUw_Qd|DT@j+l$BX)H<$L`; z@~+K+s_szg)?H#ZZ=2r!PDKxRjrs-xV9D&n=BlR*lH{{|RInhNWX0?PsKD%{ao?JQXiz zW$qlu&NzS<6)UPR-DDgl%!hS-j;a>6_3VnwAn)#h-++T}5AY=32RZHtKXEbJ@T0k# zmC^=ar&Z3jiC=f`=VjPqJ`GAv&-{PZscYz zJ}PI9LXan~U_XTx%|K(2?v9oZ4yp2v(D3n6GtmSm7wN%g3!=I}&0^+!svc6LjG5~i zG{162jG#88)7am-6vG;uSjp)>joy za4QhtzwP_AW%Dq2Fpgg2qMuhdjKnp%LCrmBg|@&n`LR+S+>=hySl;;4FnkI{=DER# z(tcTDtWrS~zCa0Qeq+`Hwr7Y1%<>P}B_FPu z3!SUN*Mq#yq-T@)-W=^J&(g0@1nTlZqA3ev_SMyqgFOmlE3{$r*CH|rn*A(kCG{Ek zeY_QHOT7=Ol=}=IatJ2`x&q*zqwxQ9~e%_==4&62C}o$y14MW-IpQP zQphIKqo(Tcorcc}l!c6!U~@GGw7eOHi~HS1P~dFs8Q2pv&7H#xqq&rj?5;zXPdy@rOD)CXNT?3)xPy$CtU z!A~5053SqlSD$CG8Fpa*0A{_j`k{GH-C2DcOY9vYL@x8vzisOACx!r@&QOcr7UI6d zes#0FPk{wjWn`AGUe1d^-!oPqi$Rir@E5{@Xm1JyYX?gEy#M$#QvWi6)luAveB}14 zZV%-%+95S3V&sIsW}6zt83U|oN%Pl>jQ@|ZH;;$9?ce_gNfA>C*@lokiiC_U2`Qr_ zDN$KQn|&GEj4iT`B}vwzD59v4W$YSjSCZYB8BErhF&M)v-?!_!@6Y{Net-P__n5~# zyytzM=W!m#@qCFSB+ObZ?+2LLqQ+_B=#0R_U5Ld?*bJ*p<*|(Gio4VHa&w;<7K@lY z_TUD`R+aVF7)5sRbP)+Lg^g+^Cu1^2?9R`;j{j_FfByca7pqFbHb#?`Mh%$lH%mjs zVDnLf$T5reMW7NzJTU? zrmq5>fCqBU-ooSpY{@F616F(97=iO1=plnEcB~T-nSJ~!2>IuS;uB2yoAqj$ zyV0~S`7XP0M=i0jtI2#k(14JY;1iK{G=R!kTUSr8GAf9ccR6eU@`=kG$!C-n*$;&F z+n2(yKcAMTUzCqa+jv+%1pusgpg#~lLFkcx#~Wc|LP|>2yGTkuT=iD!GX9F64EO+` z*xzz1&)xgQ4gSNfl)4Ve2R4#LUXfh6TP1gOPlSoIT=6;acgu=5i1LHKtVGE%+%W?B zgx%HothkX2gb%K`j_fJ>Q=+=lMlQLO+t&<)+eS8^&VGoy{W+-mifT($!2Rpy2}^## zHy$Bb(84*>Z#8oV;wkVM_+1VrAnxe$+6eNEd|K6Hu6)*Kyvrn(a|9zTy6jIr(6Q-D zEX=?^`F(dV$ko=W&vdg*{Q0m^1=Xn|2bEI3Qp}6KctN|H^^0L~gzg_MO92TPr6<#n z;DQJ!FfE|$p9+-#5NNF4$w8^a5ZP|E)-hEh3^8BSe4Q~uxHVzN0?yVk5+@DuDGNXD z*FEz?S(eDU{CzBkb$)<5SbEsksZ+qmC&ZgsjhTD9x7r)a184l~H&FpOCFQO-%Kn)J z4_s<3e;F8MwkP=YVN>lw1{?}J&JFhZ*~g9#b;9ydFWsy2rE-$^{8j<`^G+miCWVgd zBq>}R@bS1mgw3&EyKlf*b>t+*lTH;BRORp&+27gVuH2V#>?VA}V}FZe&kuR1MD}I& zL|;C#Kqp%dX<3+(Xp@d0=iRQu%*VH;%Iju8Qm4ld-RBj7w=~1pq*8{01Y|hw( znK?=sOzEvi!#Lrk5C@L%*9Uno>>IiAAGzh^Da2Ev2QdDB?+dIaNx%z4`BnEau`L!} zrOinlxBvN&7?HYjD;@tDD7b1&Flu)xlzx>vCtohdz8hEP14g$_J9L)V>=L{@mI#M2 zck0I)2F%`@zJCI+w>t#Rea$9!>?D_G$9pART=!LEhzj}0{l?3A10q# z@!KJp2z-Heol%DhBA!>oS8b08)vVn*4qJ;H7w*kU;5(qXj+hU?#xK#kzhRz= z+Zfp7OS!PTL3wP3jUliVKN?hFO;6xPy7*4+RI0!1DZ)9CFA?ub^=`Tu-Bt#cV+@=)+cFCgto1YW0s3@QZ8Ir?q88nG-_86ZSDB5Az^$`-KDa$; z7e2T-a`o~5-FA9ERHNRM9Iu1;QUttBZin6xtX9^zVNYP}kr@Rw?E*tSd?HK3{;0jE zNDt7?CC{`TMbGi3>?TIfs1c$Tbu+{yAS&cjM<8vbeGiGrwu+E4EpBJ!I7MWhRK3^p zNT*1N1IxFWi^=CDFHeM{PiiPIj3>7`=ndn$tA4rrK8%<_3W4`ft?F0`cz|><>>iGG zHXOiX(+b7Wb4tP_;Y#PpD&m9uXHw)oRC}g4*o4|D1(Bpbgih7D40!sd(B3>Egj)m= z!+#;hyBJo>BsoSF;u7R1<$K*t?_BJFPO2B;rqfi$;@3ih>K41Md2No@q$Yt&1a$)% zR2X#ThM)Y+J0H)XfqtNe1Ug|yus?u+)cASY08{T&B?{6wKItS@sQUOTx3b4OYmqSDA8=Cr0IC6qF^UKS zBTNUVZq+9Nl!G8FVE#rwqEL$qCi!9Zla?^a?LFSe@44D^EkruOg?hs;VP5Q{4f6~|$ul!M2Wa=9E%ztyj;$zAH$B}FK5dtLOvmkemN_uv9+IJ#9H+#`A zcydnk{&2GEU>~0>@Z5@;VY$VWhAx4o{>}64UV7aPD0FG6zD+pBg1xszo_JTg?$38< znv}DaG-iG@FL!jncrefDFDD`pdS7HY8qLh;C)0U_3Iq!(C}lP%!dB5rx&3o1gC}<{ ztmssFI4Z6cAy-hOC}YYh4q7zYYani`r z9H9~!+Hp#ks^pyYx{5Xo#`J#EV$mTR7%rb}Qka_*e0`H{6E5ri2N6l+QIJF{Lo8n; z>)vx>vGgoGEPOfRb)f*)o{qDdJC=%c3KyW27*dK#tDb~d9&~US&EZ^)ZTYqp$s^Q7 z?6(U6bsaqNwg{Z0BKKkv_Y_~w#m>fy1XWxbwG@bsQE#4~lZ z$D*+O%&(6n%{EmZ&7JKpE79(NKNiYNUQ1G6by>Gdc`15&giqP#E%gKtct6oA};_6g)r`T(^Q#!UkWZ7Q>DC|9#2A+mTJd(j*CJlbW%xW&|u z^{cv=cK?etB8?eblg#N`zGN0%fRpL9V(ha4XNO8B0T4VJ67Je_h4;Hk@{8!6@l=T} z9MG~#ey9n}=O2MKOH*WjjyNM?VZyi9;T2tWao#XFgw55j+QDqW37f$+#{J|Yr0Yjq zn|z-Pe31S6NXN-I=Y0Pn>x*}zIA&+y7Ue!*S!=wpwkz+W-KI~+@N)d16wqfhx)hZE#@KxOXXC*g{~K8H zHh%ww>^o>}H%e%=@7ko^llAaM-)#dUEy$|;_@FB?qjObM26PE^N_ww!^JVJ2fczW^ z932s1S{m_`__VGs@Of-PScjy%lN{{j?-7;XFz>-b1wNSIjPZ8}S$;h??t^=^1c)iE zBog9Pif7Ze5EE}!+Mp4kpu4GAO5+1>5XAO(F}oc8|}?ei?oS4FQ%ueJa(6u z1JvilJryjo&RmR(d^Dm;RZkMQ#*l}yU3Rhuh<(!G5Xb?_$%GjA&1Ja}@d2mgvgIq# z@}nWP+`_nJUHCN z&OA4_$xxEv))O4l@Js3g(`7CCFn5&MJ1pU6R(MKzFo0VC&j0TQhe9tJft5ME>ixrMWPn9}<*MKAiWS`8Alml|p~ERNnq(|3cu|fQy2zjQRtFYd@^24_qy; z(QEx+xp>XiDSv41ATL@b+~0g)KR~sA_soQEE+`IN6$6O#EU6FxY*zZ+PVrW!CI13{ z?tuD3=-G>;G3%@E2|ImZu3gy%kq zFdGZ@-@LTlvuoYF-zUG^(28wdCfv6o>_f{%M44^75bNANv@7^WuLDH?jNHU7_Yl)Z zsR<#kNWo*-#c~Dfx*BX1h);ClA+Rzgh_cT~b>H78hMT8-EnU`3ypV6t07ElGbM|Wg z?uipCIerNIu@9QY3${JvNQ;c0wKNM-{oafsO_3)yu46dUx4;kdea{HxL2pIOdV`=^ zkTYh-&7Gm3Pv|oq{SRD^JFbvzsR1d*>%8Y1@y8$To@}w&J7HJv!t$r|T!14n;NvVH zj1OsKEw?4nSS8M7x0jbfIV;_)$Q1g0QN;48Xi#CI?w*2g7z6V?4^ovKMSb_d(!bbe zZGrCn_TD4+5PHI>h>(UgtBW~7*e=-}*F(AH*vXKRaZ|G!ZjlPh+S;R$@O|$%fZPpE zIP!8qAV;cW``D3!ONd94Rle?RMA9))bZGIK({*_AhD&x2ylTj_unhFPFlk1tP5euR zLApO`1tXsS0o0bARAYDeky`YTzTP{y0QM`ZqM1W(YMEi~+HGGSkud7-yNWYqGkCGy zhBTbp#my4CU;2F2nNIw0Y}>nIl+(qE^%_MjSnMZ1)f6}|%hir+J=*gj<$-BDoQ;)} zsQ)y%>?kTZIh)`Ph9y!I#9$NGP7BG$BePWxtOU1_-9KGi0|sSjgIjv4%XHgfPCe&TKR(O`y=Q$v<%A|li|axK;c%Uyh=npI}4!iPsv)Erb!_?LW`lJPWh5G#Fc@)+@7J__OgzmJmt zkB{=(ms3O|>pcF&o>+Fma>D?jA@dNp13qK)r;{ZIvGv7tx)Q^q_yn^Hzgy`)-7z)%OOE zoP*~2U`y`8p|^a}1s^)G>Cf!896Y;R)KdHrqqWZ}RD-Ur_CX5FwGBeZR58Mi)EJ;|59oncIgr~z-5=t_gOD3y$HQ|XLFs!VRq>f%P}*K@?;l7 z&ZOk@qp1tj=zXc?X?U!42>!PkoiIvNhc}Wc8)Tne!ZYX?_QaMqh7-gDE?AF*cN7~x z>XaU+@?Xkopf0-XJf7T$+Tms!u@SO`_<=BTI}s8wWwja%Jko;ZdCKkskrt*}gvD3` z;{UTqyl(eXvEn85V{qB zW#b=j_M1)C6()*1Poh3IiX!q$H0(ij0sUi=v@wP?*Oxo;s*$f-uBaWh9$@a|qh9de z$-R~4`TOFvJ^mUZhNs$d4A&~^Bp|_?6mx_Se(=>nd4cgm~5uj;++<}S&qUP4qAa=T_$m|-n9;`Z?M&ZiSgc{`Q@eJUwV$Y@bE_JPOTxs|5A!z{#8(wTsswN zu-Zs6V*WOmj?vtnCF01y4}mIOJ0nO&fScEcj28aTc_MGEHb(0l9@{iW1*#$9Ntspn z4Pc}uIy^ikKN7o(b-5;OOe0AX&YKUy8Kelsf{kBF_)jA%BlXQo z)8Lsv?+7s@6T|v8_oNg0V@4Mc{DVB4WfEJBy!lP72j-FhWByT+T0sU!%osIp;aE~$^)!AqxsW3gK1V`{7BIKadgH7C02ZOSmB5M3 z#i1md7X^%#%IK=ZFW#YQ?6JW{Q5QC!k@Seux6iET7;5DNxx<+8&ZWZvISrqQlOMMh zmkFOSWy(~sd7(6{ObR@LnTbXkgSIei;^n%%Err{8E1Z>;KE#-2^FWt?mXS{gmo(%D z^(i4L7K>;fI4-bE?l#pjNZc9e8orX3f@Q4$ExBSDF3@F4k*0_A{UJ+#)FC4mWyhgq*FuS~F?zoD%K$Hm)?h zWoo%YWT){Sm%5hrAo+ssi;v|SLDTJ-(UO;rQXq)BZxYjYjul8#3^&Jnx6B5a=fiut zp@*`o>OV90N*gxOz8X-IfX6f)w6wBFblI|kb&4T>c9-9qgAnQ7^&(Y_4P0vz9p~a} zxcIVnO8`X~qLvyjh`;Yj}=g1ejPp-eMC5Uh~bSYnNdGmn6$7%|qFx&CQ-gNlG z+Cju%z60fU6+&RC#3;T&pI+%;yn!=AqH!al z7B3D%%CWOClx}Le40SZ7Y1v?4V8DlDNXI|nY{IF%-bjOjtwZR}U}mTB6EupjQ5W8? zBfQ-z=Zw`S7VNBc)0^foGdfiqY3SxR3%tGyqnlb$id3&`2qGY@Ee7i7G2j^-Yf+K{ zbMY4rpPnQ$;>3J(2M(bd&~G-0*puhJ=f8G;(&=m5&6mH#hhBK%_%5c~y3Ntrt|3J% zJD3=Qt#cvl2lkm8Q4uv#=dXnjxU!R9<%8Al^bF_{a@t0cYJ%H{5;GZ3Ur_S8PhcWO zdR@v?i?dI}F}q^d`|7ysJ{QMP>5cqF{5>jITy(cDdu}VJCC1Vv3_tetAunX}SV|S| z;5Tkh(v^5`3_9F$tnJL_^w*t59H?{+ zVDlmJ?hzH8!WP~&AOSR4o#VI{A90+aCLNwd_q7r*mFfN{aBSwoi zox)ah^cwa|77qR~9Xvaz6dkKwUX`321_=kzr%|X*f0nCE3W+&poTwSnHAJPt>P(dm z7$h64vOvv?V5DL*y%foX@uN+or%?hqQ)2i*Nb|B&XVknJfN@ii4 zb+@V>sE!mvCt^60uyzi^4ikx?@EHrcti3CYT+(ovM&j?}%_U>PCrE^B958ie0Umys zO(~6#t3>q`ql1h=bu?fdB;hC?z>g3GW&eU33&Wb(z7|cm;>xCE2M+LK*t|tP$t+32 zX?rvEd~=y>ja_vu{%yk8d2;1)Y?E)!lKPnF=2P7Zb>|CCf2gvnD4Z^khvJbi$sd0N zae79|#kZtiqB&w6d{a=9Kkt%v)pbkHM#Ho9C62k-gGoxXm@(LLa6zqK>Aa#LJ6f)3 zU~Xb#@2Sa?zjLj=jdZ47Q5TQEghv`6AC*X5qpMww`E+_K|GiH>_u#CU=r~C(e5eJM z0DpxHm6_1$bEPv2VqU!nga6X&$8$TNoZHo|r~DPzV_Zigdj*~P1i8<8o3m0^cdzqt z_m}K~Hn}_EQz^crjfV&$x^O`>YI}su2c5q%;??L0U2WoUF;h_6et*BrGRPH|mTc5& zsmzMA`(!BHa7!LVmcb8lqF~+r973V~HVZW4UKL@;Zue#iv9TQHuu?sai~~*>WDJM5 zarPmGsXz~#Sw6riBy&c#qN+GAGbh0yHj2Z{+Tueo1_{)1HfVm0y24o;-a?@kNW=vh zRyyz@U=FitM&EdyxYXSE60De!{sE!*M}7MqCvc9T{FaUMb+R#MIA@#=Y#Kupr|ip~ zBC`S~?uoiKNK}}RTYo2a20=Uvl73r!r5%HSN1Q`n-o!XV2s0PAo;Nsez9wPS^npon z4oWlnb|SS+KskVxVY71%nncOkSxJWb^Hs-`_DoREi+n31I>hZLMuPO-gZxM+Kp;){ z1z5JJR@`c}%gr95`Wt)C&OdW!N#wPY9H*bc9Z91#3oZ?b;aRFgX-CN{sS&PT1+-Imhlpb8Y~89jv2RCU7MnUJ1R)k@Gzy|7C$hM;5+VtDDV$p0%X1cHuZq7QJB2vi7QEHI!LFN&z z?M@B=-jy{h5OCd!hOrTM>ST)Bd2G62&far59M;+HM$Dsx^5WSrKU5NB`FXrvf2*xa z>Gz~9MrvefjJH&2A-W&VE+q=OeDyW*{^&zUNPyn)%^SpdBVG@nviTG#>Y+TKZ0ByK zdr$)yqlnq;;aN~W?sQHgX`*EjvnJ?%E%4M|mTG^s|C(7Z;c;hot$Dy;(QMiBSu?;sY%luctcexA&@NwNR zFM$%PqS2akL#RqyrV~`_0U=jDklXsn zP4={y(bLBZ&IlO0=7bdWbRNhND~Z{U5nHPbpDS#UVf-QBy8o&)=T4cK1vR7{Rq+V->lc3UYnkv5HZYLM7x3a6@(GhwE%Hi zx@UK}=0b<92O^jWYylGxqDK(jtyK7j0h%c`B7EAaC^cGe15W$ER}DaYf`E+J3A%af z$U!|S&2YulCY#CAVpo7LWNyubSAJI7G_3b6x%lIphKuq}?kM9l>@Q>$;X#T;YuQfK zBrfpkPs06U#rRC$z^o=cl;UdD&M9T17wxV@WJ;+dy;uBkrEl}I%X#GQUU_H<*o2;O z0>Z3|j~k6OlYlf~idg_w-WS7Ze^S$n+TU2SXXz71sH^ZJ9zbm^hvNz^b(lh-I z(v!k}cQMAv`~~NCuTZ2+j&s_fCE*2xhuM7NgM({xHJl44A92mBpmw}*VeJCWYfJj1 z!RhHMxyxI_OR>B;b0UqG>l%e-Z4hVd_ZU2>I3d!NwJW@VK#76&@!Iym+?;$T|F%1( zI|$E$@_j#vmU`mrJ6TI#Jz0vs6f^%MwFTmXjNr~UU3P$TX7iRm@N(6Du%>?jH80s4 zKXD0LYDoQzG}mlyKCSt5W{bioMg9`BxXk97L5Ghk5iHof!jv6y{TJAthlsA4J@I_b zlrJu+gCX19D{Iigo&B&@6bCpvyRb53I!**TzoXZOt31YRbs+izvwa66=!LV+?s;?C zlY!(2r6v;a2x4GcWkeR354svQ6P0O%1O6mPklalEycEny*kAyGfqwGkaFChysTC=C z=j3KwaV;=GCp=#qD%9-y=bhqI%|z>|HM!=2jE@`7mP%{QrXl*PBpZ~s%+yzz?rfLv zrdCpXe&|KE=E*A7l$tT~HT@LI9Cd~CcHB`-dl@>yh<^wATF;x{@!`DrN8a3faoS}75yUWlExAM7*LNcCG9@qbg8*)2Y;iKiI=7aB&WFlu{ z25}3V3QjZ(`E5`D0z{o6ldNf6FPH1?iaSaoI%&@&A(&q6)UHejnRVzS5%Ku9Wa?au z`u+>o#dFO>8rV-QTxxHvxpd9-j?7pWF!o1_t!*Y5#de!Rr|6+(- zINce>NAiUl%h!{RgoB8TwoH*J#@*+_NSQswGEVC+BJY(*9q*qjbxAWQ@u+F;}>GH#}X(BCc)a9wtD<&sdbntxV<9{?TEUOzKo7~mDTblFg zdViLqax5DI0mfteZ949%-Nyh8nOgRuaon$RU{3r-ZFDfgh#}#O8It)9fy7jy<5v=> z6<X=Q-GWf!f*bib^A1Si+G!To2)ede$k+hFQm$_jDQd=@AUxR*LHyF`*0*Mt z^^P1YC=V_XKs1&&l&pQ%8@S_aau7URF&iKr%uX{)HK8Ya`BXoI&a}D0- zJMiWlysgNQkilC?fH7Px2!5O6x+Dko+b5AJNr~ zJfbnokw~t-vQcu`s29G)qE99Q=k&0_E7nkmX3Ud?XZ^ChcOu_rSO>3}8X!zZW>8y= zgKgR2Jwsw*3eyqYx3|(qnuRbM1GnCDH9&nTNM$3KZ$rc3fyUGF#P{N_iKRSFgeSkp z)LiV$8>=x1`L-e|!)y(N$)3n3Vi_GgWvmtEw>jj&orXztFLK1E0tkE&d6b<_O#i@s zXvjg2~A}-B56J$k_&x;48ssj{9dEx^wT85OwTSbi* z1|$Br|5!nYQ3k)#Z`rjUN4WKL{$oF0MMSPW0;7|w-t3;Y<^@1xjNe=^phSq%*;hje zb;WyQv*Mk3557D?NSyteI{uA+P6%;u0k9+`eLu9=#oh80P>T$j7b>|su~4s9qurJ0 zubQ};*;>Bun@Gp=4{=M~BAB6y!s}vH6NCYdhZ9?CyN=1IF~$=q4(tZa10xT+D%r#( zlo)3-8yRuO`LSJL>lb@i*nGf4U)C#lxLjrZ{M8#5@i{0kh=Yb9$3wVUHg@cUaFFJi z1(|s7?ID!ghP^S7Xe8mXf#C??$n@J6cA)Rgd^S?ccNQSx4udl++yptl?(%U{gW$Ab zBgy54D^m4h1;;8OsqzG^5y!)dHuJ}FeG;JevEQU4SOG7j@TYbn4!WSHDJjJD`QQ&d zk+LR^N9kZATt822LC@3Q<+*&z&B!`>4;;F=fyi;!z;yZ(Q{ej-#N6gO3}`^Z3>fy9 zm|F%~yLr68-8V`V726FA5BeFBS06Lj9>WD0!V>|va@g_alm5QWr$S%7<|ln}>h&C+ z0trQkC3LThJ?H~>Zl?;3#g_e`H_-FSL z%C@qKBHi_9__$#lBCg9Fc<*cI*#}#OKf{@6*KTnW_w%yAvmm3*+!~kySON zP8oh}*Mk7l-;nd#y0a?2aY-G#r!s0{ieV(~oekCm~6(IR6 zwOL6!c>8kXb?6;9J~(i+H<%F7HQZ}^c z6bQFPeGVF{CZ8MDg1uEOW zst4m1pUe*^8JZ@`Wl%H4q%~gmP`{6&%1Zd|N&e)@o5s0^%Vt(SkC^w|+rifG5Me8b zu>Vld8P*~s|Fu#g>pbFGwSeXTJ##zSx_kJ)49U1jTxKT`Z%5swKdJ!q$Nodd0T&vt zvUXQo$bT&Un1=?zR@id>mzWLyH zxGXu&ZEnvwp#7tD)BTsi2=5U+ef{e;yq20bLg#VUKuxLF{uXCIt4S%zbGFN`2A*?S z^8H$(GNj-L-bw=k5Ihlw@%MYZGH z0Rr}3LgzH&{uXDzFmBa}0nSz*s*rE9FEk+itKqBk96nEjq|Nc>OSz@bG-a1QnRY_> zTBfCQmf4@U6kuO9}Rc`wpvQM?>Vw)+tCi3ZpTpb48O16j21u#MRebO3EaC7fx z9q(6cmx}{YBUTIF03hUM@G6sJzN<*60Ys#JQb|)6`{^P1s3B@`kDEY-z&;F3^O3DV!hux#jH(#VA*#|p zm8_DVWwOQCJ_TJtU{=;KhYV4~v&rru(aa3};ShDijo+sC=o@}HZcju^mL7WXe$-G_ z`(^d>bi;i|vS{KXCzGOHS6;}ss1;^S1@&m69JEO&OrDexe%v4o;1gz^mH%QgQA-Ne zaXjv{jj*=v(E+UC&lMGcO_yAuD`$hI=9e$#rW|;wuBivLojXD~C+|(;yLKDm>Cp_g zDaC;z+w9%Zd>ynf?YC}Y_w_u_CT!>pf0Vo&RU03D0xZR%o=*#2T&8w-gTgJ7Egq;k zbQZmQUn5gnGB}Vxh_UGg7tIQ-_={Nh-5*>nm9WUD({s$iRwS0^0~Hf`A`e6wK3?G7 z*s86&p-5myoAn>`ZJsK)Hj2G0s5@XWWdTHAI~k$ItMkXIU#Jt7y+|?==$HArhmsFm z*`vC7Acg1e0N=TzbUUc6U?k7$#61r%Njwv5ZaPJedQTCWLpkq@YM7K=g+mUq#kyGU z_w$~(71+q?iAUA#@PVSH4@F`ay5x3oWY8o-v+Hdp|GO|6AE)PLxlZXw9KP=#GGt`* z<_S0(s9)+``Z<3**bk6SUoRv2fT+`7ww;dw7R7O3D%KAFXPY+{??A0%e1imFrhZ2& zZ#<3n7+QemP+qt_-8CrlUmwWJu`2Xgxc8S{!ccDHCH9{U9ToqpYP#l8aG*}8r4$ct zyeGp{3rRe=Szv>!R?=6{1qR$yYaSSvK+{OC|<3EY>8T(fQOVeM; z=?fLvUJOs9A1`p;4c$k%W&xCW7>oOlz@xNw1V%V&Pxc5Ec~bMc*vpeneH-inemj=U4VDJ%`xUj+$fUr_`9m4kZYS4@=M1X7LZN6}*H)K9z``aAID+#yoM3AyFM|RjEZLF7JoM zbYcrf`#gv2u^(o++JpnyI$$@KAV$j=v)q)TvHw&%x89%qYa>N7k<{HV%;6xfvz#xU zgtX>auDhfi-5X8)Z}1@egVu*y4vreu&OdUOtvGu@440&}AiJv66Yp=LbDF;njH_6T z<4pKqA=|!wU!2cp5z{|$$|h`6Lrj*t-SJZ+pYj>Z9h>UXHknZ27Hhfv4rP{%Vh|`2 zWOd&3nxa%Ulveepwu@owyK!|4(c^E_vg%;Q4s zkf-6oXu^XwK7iqA=Pp93eJxz%dkT^nZ|m%4z%hbom)A*DSgx6+(!zX=cW#@xx%HS` z2WnwLMsp}`*bl}?Zn%Z0 z*U%DE*XtGk9je+J$bH;vz2j%>Hw|u&!GVgYpa#Li)5#HEjd&q8sS7%v-aTnMUjOV( z;jwyTEvwJ?2a)Sz4F{=CG)5 z)5(!C;9t3Tw)t!MpDLCbq-^axNv3V^{7E7$@+9moJ1k{Po8un!8p9Q7a)D0I5L@>M z`&OZJNXD{YoV<4SMn>mzqG9&u;-M7a3}z;$%T6ovbDC?Pi1SoxeyYt0z4d6vv-MTR z75l#VEt3w0;wov&WTtFOdDY?W^JHBFVC(Mwn_u1IeqHzSt5TGO$cafknLruo0!Fr$ z-YRS_`o#G9S&rQ5pcI|YTTaiH^QRBfr9=$hj!dPT|0#L&Z7pc|h9{zLS;L4Y&I`x9aTX894$LH);>hjvE%y8 zU*X&$V%qN&J?9614sx2PI5X}MV?nIOqH>2o==sBop9PMV`2=JPv&@oxJgP>8uY+P< zr(6Z&@iqqD5a-F1i^P85lUN@08oiL>h++OnpJ;xUIT&|XM7XMee@*Ca}xR96``Z59p!Y_^AO6R;D{BPx~ zz2vG7M-O{tYjF;SJXPK6+o(zXJ5j0Xu>+`sJ~0*Wq2U9cDA%OYY68@s_AdT+(Q;_Y z(C&5Gu4oB05Frbow5iPlW@qvk-bh^pOXjEuXn;&zTs-oY_J?oKeSztunki^|^;Mqk zD$_!m6M7r$!Ux`qP}N@}n2VTXJ<2jyDNz$m$<%EVRz&^u+y_2VDVO>0{NxY75jfH^ z$#4msclnb1MkmwsI**;!aUHF(LjyATpET(t!UfUo43XNsN;}m_7R~I*?qW;aktqJ! zzjF6EA6Ck|tSO$AEAFkhTiU(UCt!%_ZI%+DmSB9Tut&(3%ch%0M$_drfM_|gcCHUo zxlGnS4LPV`3C$3jELYE(;Aub!%w99&HS?q49Qrp$J64CK0?j(Dl_ZpI>yEPi93jr? z#Fw*>GW=%8FTa;iCh+709B;Sw0JO+z0NZh%l}~vwfVs#HxDp0b<#@BFNB-KRM=K@o za7mJf)G5pU^SJgQAK4+~V5el8o!etYcbT{s^-s0`FyXM@2wS3%h^L-!b86u?UsO}_ zQ<`Jyzj+qdt_hq>kh+on8*C5w0a~jLNFXm$=R&+0F^@~y$>Q9H0=1%SYr+DPj&e^H z0FAtHfXk9m^DY_Yag}u&XE{F-K)nImv{R4}|VLd40I|-$Q``WQA}<$X_@9x7b*4k9*%Jml&^Pj>t&rzP?8X@D|3a zhaP&gHRtwaAyFob&-WSAqW!bxw7kE@k`(0m8b6}^yf{7twt3v!ucGP&L3x{TO0ce| zOfh>%NOSp}vRNy8p0X`07Cl7e3D63z^U1g0D$X4Jiq1G-C?>Tuz-%AG)zfgTynNXS zJ1RB{oh(05tFZrG-wFi=R4oVZ4ygKGH=eRHrH8@a-)V>t<|8UW=6)Xt;H2)u5nrKi+TDI|$B2XiJ%j$rTUX8#bBt)@PS(%CjIN>nnsN@8${T~q z$q1b0y_0eOii^YaG1G=Lm%@+$QLb?-H=l}(aG|xPk;oh=<(z|C|D`<6V)c4*P=MY1 zT0n~z&x4O@H155&KN+Z5{fh$8<9V(6g1hjETMwU<%j#WbDhZH2x(w>Gyv!W9tV25TqeA}ikim}x$e%_dvB7P zSvJe3rhS*BPl2!LTJ_)lF|Xz1{O5a#V}o_i##yW-m*#Q+XL0b}z|Cps=&MA;MV%f# zqq!*!Imf1_uiNDZ=@bYAT&8~|{Kvu;*R#o25kh%VSFftontrLW^E;sAXitr_X?sj^ zQ6h_2bXxdg#tU4X-qH&HOJ}@AHOK&Q#ez3N|z`manGd#JvrsZTaL_G z<3@1IDRq!kSNT-pt@`_c_tGEa{99S{7TppRY#eJB!yoF=u@a1Zlp%L244a>a?<;sL z4AHiRK01BPcLG?Qu&;mRMeyD%y?Xp)K~~nyrHvyB@%Y3ie^<4h??+o9_n}c;M#?=c zIXUb5vo%CJ^}X!S@fM0vg0KP8|Di5k-z)6q3(eeI+0S0i5fS;1x;RBk9mCA);$n9o z2+*yrd^!>Yn4Gw!nRA)aQ1`mVAL&*#gy<{Je3$W$*#^^?twSA`On=Y6dTrtBqEhG? zZV9wKla$Zqt#fHgwAkxGArwSZ=IJV;5C5Gl9*{F9()wKCTOpq>pn)!l?A{_-pR^1~KE@-@T;CFVtaOF4xga1prbLTKjlSA>rj)$lJ zPpwhL`+u}XQ{Bt|t~JgI{-iM?XdMg`s18bd6|T}G0cYs{O;MN)e|y$<+ncWlT^e6y(EHk=s8AJ6H949R&)4=eyk5Ng!27Egzr#=DR){G4 zC7$=K`4Yt6|4di6Ht~w7*QcgMspcqbzrZ=;Ij*%F1dFeg#9Loi9p62(M7$ez4_dyg z^2!KzIBXm@kUwi|Q777G2o2<#0i|K5BPYHR78a9!r-U53Zp@+TBE^h36W(1)$aP^K zmD`KYK2}U9fPi`mvT?4dmazONn$NRJgE)fQwwVl?gX{))e5d>_uo*aH%>_jk+s*Om z4A)u%E@bdTZY7hgMxWViFut=~w$1wOrhgM*Li@G9TOO!GDhD^d_og4y=|E1Rb(fdB z1P<=(Et)%7A+fxav`Lp8=$d7B`F@{AxPF$QuOI0&7i#`buWLeA-@-Tal$|#RO+X&& z)sse)HJ56`f>CE#b$M)g~% zegA28tweWU1KBm8v|q;oPBs78H%@sKqIK)5F8MZi;R}}qZc^R;9(Kidn_(@A7RysE zb=Y!y^MUIOe3=*WtEXNTSf>23!2bQ3qTAiUl>kkQ(5`83hlq^}ndf=FY;j8}xnBWpG zbN+`gfwB9CFmcEssZe+3%xb)HTRN_FOF9o=B4svn09%g-s?|K7GbC%Mh6?LlG2Z@} zd+O9%eo!5?3ruKmS$8$r{lWs^x^^I_L)T7{okDrGXq;s8U_%<~9>m z1LW|Uz-ZKZpi=$Z2ZCUdoe|02uyT{sQ1l7b_#LN-G#Z5=I5;(=G+`01C#T^L1n>#p z5U%2t=OzS3R{j7kKWQJV4(Fedg8jQ9RwTL_X3!z2IDoDyHsDZ018I>{Bi{ERA@|?! zfcpTcp2DygjI7EOx%g(g!+&YZ-SJR>YUIC4U=-EpQ$Pz0=)S-!{~vL09uD=t_m9t* zgv4l(Br{r&h(Zx#tE3gBl58!ON`-7A%-EvrTecWlwOJxr!q}HAqmW2u#$b|VW{hRV zY`>TKoX3v%Lolv{wwER&*Q^f%k z3cTt@_OMw z669xJ=Z7EJi(WD#2DkUCO_Fe9F=a!yRS|)f?yH(^%en_r1AtnV zR!c=qUs;wqqrc^sQ5K1Qs)n?6Ik%HI(ArKKUIOSpkbcFSYI1fNDLRKS*JD5gzECRm zGh_N$j7~L&hi*w|@2^|g7Jr}V|D3*iXJtRnpjr5SUh7u>737etNy8W={Y$Sho%vg4 zr8aw1Flv5_3bqD&d){{}vcn(ozgM7Stcoz+=+PR~?NGChrd0qOm!67ni(9IxqK{?| zuCXZN=?)CUF8Uxo|31ZG^hU{gEQUAq;zB%RE=u*bxm3KSh_vpH z+@Y=%rxT<)h=rn=11h6eWj5vLIh&XRHQa3eYtAlYros247H=nv4T#;+x~_JI-9&(co|;hDLQXMMa`XDb1$jkvEO% zziL__W|2dG?pIybM!SO?p6got!d@iuFenx&V=Lvts3^B!Ra3bQA!Go9S#W_4xuihx9C^p>ez&7)O(dryVvkGWXV^EdZcP$DEYLP7Ad7q+6^3; z!E;8BqzvEZqJy0W_HRKH)nzw7@rOb+v{8b&Jgk@>ak1{n&so@_Q81R9`7q&heQY5Y zj%Mzn8U5tVaBG8Dan}6x!(LSBs;N@EZ*KrdjP0*MXndIPUi>g|(!I%uGx3m48W=b_ zv-pQB|DngX?~7TZm_H@?Rs3Bvy*42D%n`Iaq|+Q1o0GrOoCRana6u9(VKqEm7O?CM zFf}G$atFe)$?*s4!pP^7YCr^bY`x#1qd|4g7Jc6Fs!5_0Ol>nqTO75p(InWSNlqw! z$Mf{9LVL|p)S`95^I9XvbUU1hVZ+3}_eW1EWJI3X3=D}cJR`eS-OMUnB>p{XRY;aN zXOCN}TeS6>(KvYNI}a6d3&?Lh@y%oVtd!_Zsgsxj&k5ZerwY5Z@$KU5n)Wnx!D=P5 zOr8S7PQaBB7z^=_J=geHntHn@;{{8lVo?uX%};22oSWa2lEvmoSU9Gd*WX53_&LQu z-6R(AB;K92jl;J@PywWG;Z)Hj&6VRp3IiH98nqUT7@2D`@n>&u#k4$>GPqr^a<%!z@#e2Gn(Q+Ox0HnTS^lPRa1p$93`T08nzgY{8 z1}^j%Z2&_m@+KY{`+>$$7^W{Ql4$tZJo=w`C-wQH&d}c4R$?@w;FpGw9R(X?Xf4T}_?>ZHsG>bF{i@&l zFXGU(idQsH_WHzot`{C<>jtReq=;`?yy$&fD@x=X8X>ymYtn?I+U?ZGZVKa+5AoUev~%T z2I=^`<$jji#8UqIyqd~)cg(L@tSdLaPW2iujmACq*tMH;GEgTvI`riZU&w{GVR{E~ zRY;92EH^oan~3fxjo-AUZiKyTb$B?;GnDCH4=*CR56h&^Xc^24w=s`SU0d0I@T5gR zvz%G2SMNOY`zA}+^bBKVF;xNuRY-I7`7!eOSei@NIi_aijFyB7MG9VXC+L#malDc3Uvh^)bOoSEQef|+mvZuZ#ugW2eS>7kG2uPw?OJ(< zUP(XQ!q}X$9Tp&ZCm7F{qdx6{@+0vD;O52sMvJq&g1s7U%Ti5)iq^Lz1 z+ig$mM0aT%EU8TvBapAm^E2q$C9Qn5DO)9hG<;LsA@o#+Kp}n6DGi=fUjj~w1Xz;m zW|UCc>ZRl&uknx#+ocgwCCiLdtc+xTEZVp&6>f(QYl77a-#24~QX(pBGRK8SLe%K% zF{fFZB*XGHs*_(vb%P~YUK{swQONqaoYVCASxW3Us2Uf zKaVK#62!PSJQ6?(QsnW;oR=5Ah~c-{83IPR14gIQ-%}_mzPJa(3CToq$ad~Y1|%iB zZ2CS0HWD&oG3s~o3;a0&VT(WRR6hPjqv`Q|kk5tefNjPexf_7qF&tb+xwSonm?(J7 z>m`T0nf`#f$S7+TpPlUx*Btgh1CC7CF}!6qwD}6UmU4HrW9P8K0NvzsNxR5Rqnp=7 zxsu%|($aSYz>IyXOIew`^Vtpna(6WGS{ubj{gmKa z@X4Ng!NChk{#2Fl?BRJtaMP7psgKe3SO-up=REhGPn6VX2u|Lwg!9ED0gQ?^ZVLQp=U)09zHy^vM^sP z_x7jCVm3y6=MsoHx{Zv_JAdC*^!zU2phugu+H6(ZU7*SgI&5{0y9(~^k|$#|J^xeM zp4~K<7=Nj$pW+Db+jcq13-50FiitcbP~CFs!=-PBv`|KfI?0^DK*uV?4v&1m1t!JW zIP7kJSH&b!rNu8MX82=tD(i$kTtHQ#PkV%QNh~%d2dC%lBMk@>^>{n5HpX%%p9k&J zM=4Al<;XEjVpKzd9dZsUV`LNflR|2mK@2$67>vnF%UC9#l z^%Ea44X`7h_qTdD!Q+!S=!C;JE#lyyAYBQ6o=SJx3(mU(dyn zCfC^)f0uX^^f14=fzI8PKn!tmkis1H+KT92MZM8ShT^j0Uk{Y9?xk(U&FTqa3&Zhe zVZM5kT;0n=O|Yn%oLQ*Tx+k+8(L&sud2*FS$>KQnK6*<9KTkiX@<$)na^y4mbnx+| zocdF|^OT>nkbw$^h4l{=$xv;LE&9bLB5F17$!tc{ZnXGD$jBSzn=k*HGc<}$aEGr7 z(9ScH-acU~pZ-Y6o!`~Y;)Rv}wu&F$prkfs4lmLqyg*TJ2L z!T8b#wus=m{z-0hxzTY4DLw&3YUKTlT_Fpv9r@&G7!1Wh zqE*ig`2w%swL+aWzIA;KC8U-5sko15eX#;?hm{?~Ju*gG&$%x7#A zs9$cMS>#vV+!M{vlRTHZc+su-9Ky0ZsysQ{g1qT`$Z7J!~wEd_HTrS4@(O1|0@ZjcgBM(< z{nUXvavi6N3_V}b0@J<{oX4U7zMgS#2crAiskeU9ep}!>_G4g2Hf$S(HKQP^TJTmL z4qQ~uAV{pRR}C{6*u8qFT4)wSe^#p$dvezJI)8jNm@Hg@*GI3Vm{4RFbST(O!1W$4 z(~IdsCB$~fFT5(ur4;H5PD_mXMabMibw_ie1;TAc_i(!sPx5rVuR^Rs1Ke!o!%QQ>0 z<}dJ7y3~P}SyVObMuYfr^|VIHZ0HOZIg?X(lx6Z}RMOXQJz6%g$?}Pys%JWu$?pg-~4eeCbLH`urH5N)O&`Nm=ZEeZAK(w{WA( zw7?%HVwXSPq1j!WdJPX4ztT~$ZKyRhO;D(6)@apdOPz22!S1R!L`^<=;Yn7{J8IeeU|$~tL|NIK89dZd z_;dH~0%`m%$-hBCn~6@(dp z-ykS|()qT>(aoh+ByVoIh!k5s<80!k&KrW|o2&oD1yEz%Zw_Mw|3u9`6qWqVxrO7_ z!?j@`=RSKS*{}DKmc@@vn#+&X#myEQ&(AtHh<_AXA9n(M8-iyX5KFo%Fw|T4_Dc<2<1INGa8MjO8cu3xK&H*J9 z$O?@E41F`;)405BbS*t}hO@>x4}*Y9Q%sH5?dh zK8oB1dF~=8W6uSUg!%4oa@>`1r%PI35i;A6S9LTsq2|rBJDynAE4!hQCFGWno7j*5 zbe4pc9HJZjxEybPOKMRI{zCUssEFpfsTT)1jv6(-Xwnc415q`*z-a*IJ>uS_yAAaN=qUMGH_JM$}QD&;Qz5_J1 zP8hkyJ?94R4%!?vhK%Fo9WyAQbdZ;UiGE);e?auK=f}g^)fdV>G7JF zUvDa-yAo$w-g^4OoePEh`KkfW^nA4Mc_Td2$nV=tj%N|^^~g6nDpm!VLT(?%;2SD$ zI^g4o@`}UfnF@Iw(MpUgHH{0Q)U97Ez6$`FQVQz$EZ`T$_y8zXP8lHZc`LX>+zf1b z*AvW1saHJ?VRzM{L?9PTEw&>gk?E^)dl**orCZx21CGW?q9HaGdPCN2n?PZKi>;?V z;Gi#U7lv;)KQ&k?ZE~~YIDz|6E4b@cvM^#tAe;VG_H+nf>xH*n%FA)yJSrMrXNE3r z^!j=tX_r!kD}Re>sD!#TWRjP1=eAXHtrnOoK1;6!+Ni+iU(`UN`tX~x&Ncrg5Z7o)-`?1oY1{w?cpt_)# zfU%yk*}uVul`gZ1yPz9{!cd7LVg&x{b}@v9|0D8SAjCIhI{F85HAX^S-5P=5%^asV+!3Q*Q>0u!7OKtaWVrhx1_*k~#Aq4n?>TxW`Sk zQNhhJvyc|#8F^mty2_-O9G20AZw#v;LNi6|@a^Z$aRQXtG#|b*qPqcnsN_h#K@5PjJ0rJEBQkD3T0q3e#|W$c1$_TgOi3a313`PcPx` z$m3^wf0i0&go`TtJucE+#zikPYb;|kM)Mzx?Tp@WeI?wemd;KEdl*uN03mJ)l7%r1 z6G(-Qfd>3}OM|V?jnyC8ukCkhyZj{F_uw|_*Q(QS5u^MH^T~IwFB%I^)V%3ct3Zos zq&r_2X49Ba!bPneD7@VFiy`*A5cVjQauaGqz{pYK4l6nORH%D4CIzpS8>@8ONW;WK z6D-r14p`hB(X@7WS4a8a{J4K`>4sgL_bg-l28kmTfi(@VbdvCE4tQwj6zoHQ9qwNJ>77<%Erq_FQqGd-}UW=vU0& zzHEWnJEX^O6mby8@JQ*eI_)Nh9w;L`+BOcdYlWUq1#ZKs1XfFUDWeLYaekv)aKhTx zFvzKfY0jv7t8wMrv*n#G$38DX0(=!~ebNXHsfn~1AO5o*@B<)UcX1$SfzjTV5>LQT2eK*3rwPCXT|Q$g2=!J@0rMC@ORhZ!8_RI2JtDUC;CaFB_6&PKHExh?#W;8t5D20xmJ)Aqls|6S}uK7}F?OEpr*v;kqUaCJB zSRU)^tCnXFCUhJYt?^I}eD@lt-e1_B-Q16Kuu%=1qR2LiuZ^epNp>pT%^L_{;ty3N z*a>>%@ewUm(D0|dH!fS&EAnW%uKY)HqnUrfJX72-XDNWig7@Iw=V)29{bdTZxI;3g zPmjDT?k9_LyXc_-Cd5w-v9QaR6p`L&NE?ZwbIbeF~HSIqqkDF>43i3xvd}@^fH^;yBZ(`zGPuWt9cAv;$HA)rBkTQjR zMnQO{P6tRJs#3Tpn+cTg4&ca_I}$F2kn%L5ZkckwvoPWYHourf2YVBNl$cVq1k z51yAJ7j}eQ*ytL(<9+fT!uaM&~jhjP7!|bp-CkjtNv&rcVMyuEBiaQf>c^ z>|fWs>yZ{+Lh#Kf0G*ce0#e8|VhInyDxI4zdd%$^r(xt%zReyT<1Y#;5WA=iS6rW+ z_ZrWM{eA|r7xA487QTTrdz9wUDaxq_yhbLO!9E$@JCh>@x8C6jlvF6lT5>dy$x!|i z#2JB(^-Cf`j{9*h<3E7U863uvAP0h1bA0Io3Yc#kAg-pmpd{;nL&nwtoCe+>EK$JE`{b-mx4LxNwiXC6^o$fK$q9(XaWJTG1j9 zQon7wDnpE6JP#n*_b%*$Qw!}-)g%8$U`7?H%q)Vv@jyc4i>g+s90KfW`R0S`yhoPN zzeL*n!5zTy@mH;)H1g^nT18L)I$yre(5ESV$I3a_SKZHF#38lwgn&m7sJt^*J|n` zuX=p!l8LFNdryPGa_z3~$W%W1KwydfZ4pA0NAAaif^Fb+gY9CKsul(^sBf%J$UP)N zba#+N&a@C-LtIW>TPKfy)$m5#bXmU+9A;!y^m+9*vj&(yHudG&joEDLVr%G|b4{xr zoZFd&KR0_M_1VQE`yneTQRhgHi6hr?2PS zDsJxKxd}u9GWRp%ol1A5sWvKl_L_(EFxFv|J^cZ6vXPek(gDQjMzzTzE*dm<^cFTM zS1+Ec6xsmmJ9*km=8UFb8ZG-Mjp!Jbq4>4#kTv6UanH*fB9*Dg?p zCuGZ@KGIMn>p`KHiqrD7Yl7uNzZe6$^N0Y_tOiHpY;a_N>)m?fT-acSv6lF>XGMSs zcHzBS>VA(X^u?9%wuM*)!R#e;11fiXlnJ3NzGBiC5N%{PMFpFTIf-7-V-l(^)*rfi zkPaaq3vZ_zYs|=?5o=xf*OvWIFUcvMzGX}c)H9cO@biuscHeSx63U7p&X4fBcV`DT z4A3dH@A0(;sIG_%3HVjisUf1e&OJ_s$eFC&buifrzP+b-62?XV%+!wE4PVWL_-?$$ zQ4DUWW;I!qj~iC)+GZ3Hwpy0r-)5#Qv#aYYq(N2tNff5qY3|lKOfECrma*FNX6;}2 zp(MWb5PjpqQv~)oQ$xKhjHtM%H+Ki?hp=;(KsXd^3e+}@(-R!5c9)Hw3VdWRb=g`@ z{+ge`Df$}5LK`S9qs~nNS?)K+gQE!JNSUH0!Hyq(Jg{2*K?`|nhEFxYj<3hx{C>uA z@~rK9*7u!u-XT{=HsR4~C9m`5e>xH#;x3(rRBj+hPReAn;qUaR*xGP`2&Z~y4FJb! zvnH}NQ`3w3Z@!JsPqMzB8j0Ntzx}c5>RLkE>|;f=`ej}#?Iyy5wzuElCuN3}M)+`Z zTT;+4h^KNFOxq^T!tVmtuJ@;Fg>?t=cSI>ra>FhO1L5h*xC@ESkp}IdpV>wi3?@7r z72Qy!Lg_b~rgymV?p!=mbdQDs)4dClbg$u#G|G}SOMa{MR0teGRvoT4 zH){Vo9tgZ;51v~gXIB9E!cmzYeXbM&iYScELN4iH9zU^n&ac6EIF2`Zoksf_G2_Sk z)e#}8Q>;XyeMg2Mj#xJWC5JXXLDzX6{51Qy$`~Z`BIXZ=-rkP1*kdO+E4onim6pr+ z@zIcD|JHTvd@uRRAAAoh8yl^R;uNYYFFz6yEwjPdpb`&=8Sx1sqB*MyB#ze zM7E8bs*(a^k0EeO@;beHqd?@a|2Lejp#owD{}86%g?F*C!Ih_;NCqz{7stWB;ogX<)mo(a>v7JIJzn!%ceI5wKXTK*>_67EG--e^)?~3_W^yWLCK-|>{r*0*1y|{^@gaTK7wa1CE z#}y;Tpat5sW7W`ZAl&gklEu#BowuzRgKiA0?!w>Wl#B|K1syQ+AtOCtK5Wy?F*J@F z)DwhUT542|NT`PNtG(D3>3SKTyhznEM*ub-TEx zrMpL)Vdme;_!6HV=^2jYOb!uiSY6gNtmm=!etw+>Pk;IRek@gKlsow4+L7O!jHT-K z{2t3zDi;QtjH0y3-o0IdQz?$L*G{o{zN}F-dTkx-?(5cN4W8`GLr8_q$*sbJQMvEV zRT`-wu8WmcK#QZ*=vV*bXl_hB7ka_?A(>+h?fBOu4e8v9k~1=Ax8JRJnTz9T>@S%s z8{IA_1x0)Ecp#>8)Kcdi4xM2&Vf^+0p)@;NS!c6?T>^T&#u4$Yh}~5QKv=*Z9|7I( z5k0qBaWWkFOnWnVJiP<^U@xLew)eX#VKvyHTKIj~STm-O5Xfy?4I1njpcb-a&rfcd zGga~_bNpobQ)--`t)$wVN(=)1z0k}xpSqGg;%GVd{=6~s}<0~)D--8!Fn8aM*Y8>H8_0WU=^I&fbDP@O>?&K@#+-{KCEH&_Xyb4nzc;Xo>gF^{d{GC^E{6bHq`h)@}wRtKYqG9;6u{ zj_mTU7qtj?_cX4JQrcgr-P`GlAbpFk@85 zM7{mr)E?9+%EqSdMJ$+<37vO&RbCo}Ae|km2Yrc0vlB0LPkkV%EPQvOzR^$=v@Czf zYbUM|v;-gDM6Gsn0pkHlYJ-)eE$UPy1R^Z6%`of0k?g0^%Zljk8{XrK8@WjSY#1KbnZlFzUg6k8-EF?)f4m(WV(gjyt5V>8ITs`z|U|FTm{+J%-C`hb` zd|5ZRgl)sWj%dYD9lCR>r!$=;v$i7A>kbwNZEMAYn%&*Ndc{W7a;krF15l7o5d-`( zXz>MRQ}iRVhR4h!8fUd)=G}#&X#1PqPruI}sxxc+rfiEx z;Cc!Hq3PaYt>h1pcc|SUc#=z;=SaeJ+l`{zOIIBO^AUaV{zzH=!&TSW(6Xif28i*q z;>%1ezGCg`XFGlrab^{l5otxY9`+Yf{LJp_d_lFUFdrX9DYr+bk}B@aZ^Khj!I}Dz zmut(0=A&c`+_!0J`C`G-j|l92h6TyN-lnHk$co6X2JJB|7CyaEYWkp0BBe|4=%;Ol zb8Ox@NJ)OVJkXZyP6`EewpLjn(yzH{t^>axc4S$@2F}K+%^6#yuXb^*cCYnavS~Jn zqi+lhS3Zu4?A$(ZIVoTq3A6;H+rmY|7B7``_KKmjT={2(r6ModlHR&rUw0%3V~OnS z695GpXwcNg&y1XI1BDKb$j;P*tLfasvq#wdM;ZnG?2 z11TIA6ryy_`+_zs_#Id)c;ts780B(DNPeS&>qb6k0&?x*~hlDiO<>OWZ?6Q$M zsBvD7C2fEqG`72*W2|h8fV+T_+jzC84}9g3Yuk<^EHSNr&@(0455??SKf-we;ipY~ zPqYLPA}MG0Xc$jDS--e#od!roLWOh9oBP7yApRte{b)fyP2?gY9Th&i^&5MUk#5t} zchOX@N?~ykOchMOlx)Uq0vIR1Rcq_K`F*#Kg45y($p%=p4rae0|2WVW;`XW%$A$EuMFK|0j><cQQL80wXxvd2PHYs`f&3Y7pq5Q43Q@oI)}?@Bql1{x^Wkhio=siLrI* z*e{*Ze-^5l0-;*%i$CMUFZ~fG{%!ZKIB~QYV#LNcd3>>fm(I=qsM+NnXZz62m4yQ% z=o9fm-aEeTM>z<@gRN#@1YLZbAm!6*ju|(atdNeWl0>%cWlL#(Cq8Icm8%6bXfD!g zi@u^H9WAAe&;JQu%v2J54=!|hp$15wZl6QOtKRCXI1_2nA%bcL#Nr={v^=uPLJ)ty z&8KymiX7$rOh@N}DK|UNg!DT1NjktSAgd&YZ5H{D zlyi_ey5{^!1~|`cq+H|dXQnK(|I4ScAnwY90d+;(&H(wETH0!ja+x{#@81d@WX<;n z{GmA0J1+lE5X&n(>)|Z*9{iWWu#>h47ulGB{U?$#@KxHB6T_THb%zKNy6Q0ujzU9n}9$7`r!7GTa+`L{_L$KTz$t>t5Ir<0g1(*Lmcws-a{e1^-^ zQ6KLRJhj(&8+j5P7wo2CFg>qSuU>u!y-zvS4b1gt(4+E6|8sV%l;+9o8q(iYR$jYlwH~kitS!?p6I=N)_h`_fzkbrCEWw8 zBh?)`nnlYOesU%>4mOd(&V33ZHB2)-^sZ9{SLdHL1U<;w!swOE$rApngj%H`Xq|D& zt+T?GB$eO_CLRo*>uaDVJ#V+3E>4Q}bon<)7j9JUUm%M^Mk0pNJUyqV%r2BhD@?K0 zsFyCD!MlLan9uU~uQc#cW4Gd&qY;i^3#N1p8}NOld#?!t2pTh_v~x78~yTB~@qeDYRccglgi%_Q-=&aD;y zLSptO{qmsNA7h4jzEF4+A>}??{#&;xiEBi6qa%2otejsOY2nfwEx6M*ugL13(MdPH zvm+U0&m|X(Dhj; zjwmPH>&arLwbk8danB&e4jt1-p613AxN!Q7k-IqglPGeGt(q(XSFJZ~OTY2CA3_*j zx)7$!TI!~q2g~QOTwzVrs(LzEvi#Tov zHlqYoj)93#Dc|~c&;(PkGxUaZJ=;w&-pNKNA_evzQsIi=mD07ER!#Y5=OBe68_q!< zocI~jdm4Anhjso7x)M7rxM-2LoFsJv{L%5MwaDeYAVUDfp>_xOV;jVQ>Z;FwRAj+ge>5DP*)gLMBCc$L0+BC} zAl_vh`tyw&IO(p38^8F}{Yvule1<>_>{$2+*KZlv`ml|JB`v|IAI@f#K`GCw^;JVZ z8O--dP{9m5)p-26U+khj;6@PMLkHR&BICJ|iNp$-Ial`&E*Y@Adm=9Mgd0TBSq)@_ zP6zC|xgng6Dby1n;Koc70_~}z9R9fB@=?tjol81h)&1mBo0cJt?v8y?ex;i&GfuvH z_seQ-7e0=eA+uvSD30?sR_6`zntwO@A1cMJrkjJ}UY6&@Z;m7c!nL6zLPQ$}GKsQ% zL^-~TesP>f-2C=G2$p4VvdHZk6P|Y8H)8?uXaPmxLF#d+&kM(6TEN3kKAza4lOp%t zv`pTJe@JVA)PMXiZ68_WG`A@q9Z?RH`f{KH)7Rbzi2iS(R|lMqH|k-_q&+#=tHm)b zsfg=m#}BXgVee{yn~i^#EqF9s7GvsL(~a#de&15 zz1pxoSrOOZl5}HFn*kGUv*w0Jh0u9gUT^Zl%oVr{Ex{|Hdk2el(Z6byiaj+nDvuxE z?lN0uPvAab`^cmn1NB#<56d^v>8dOx1U3{_1I5W%}SfsNv~ zv3}@_8)S-S4+^l*Yo7BUON;z3{501vFL+&J(DNuI_@k;;Uw+U(^wT(jSHTp?Do}yG zA{$!@9HAq^Aq{k6TC8InJe*j@T8eWktXNRgtvm8fV~@@)^h`7^O$%q$8#tvU__;X1 z4&{W9#QV~Z4qvb-D8BdDh5q**nnudc_J=KW_CF?AHr2VJcK-0CcL4P){y4o8GkWe$ zMyenG`=rlQ;D2SG!P^4+OezM!%ANpPb?<^4DmvJ;`AL{J23E@msF?|W81t@xcmD5H zVk)LT6h1^rdH;9lmEWl3w1|b3sv@t*6oTnc**A~QZ5IdL$i{VmDJ$B_aoK;d7sUuZ z-rU_KlDgZOD#tiMp1hf^Pxh4XsM-c+sO27Ia>$qyC`)Hqs!q$<;=|aa86%I!z(k`! z^qcS(E4SARdR;5*icL}58S)r*U(?l~EHn|Ee=3xa2cC02+&&NW2D0Px81;e8x0$+u zCV+=@E)>#D?)$>gLOe4bl&JRTIR}w-{1>pKZjMcLGPP(;nQ{c%d9zkOdyyL#8h6=c zjD0tI8Fa`aq{b)GgR0%Nt&KKdlzA6OuZqbb?{^<3aG6zt46N>|OAfo^lvg_*&PdIx z>cUb~$?km~*+zMr||+jeAc;|EEMs_A^O6fu>S?y?TVDER$lA@cvS9L(>|22U)3W(O_}hYNH=bwbU*@RY^( z^UKM|D*D5axgnr7JsriHA0dA~Y+twtMG~+5V+~mGh^x`E2CV(0H@W9!#y*N~wIa|} z-$}j@S761j%f|AXo3hwB?R<^pg=pa z1<$|%D_ZnwRPw>pqz85}TEC1f{|0Gdz2aHri>)dhCxz!f#yA1YE)@TbQK%{9%N0!< z3?TXOK^#lTFYf*jhT0|}A_^Q`P2!(J?*VM=6e*L5uK>3r9QmDGF|`R3>C%6yMFRz( zeQc!HN}t7#S}@c`%3JKbBjr<7aInlKaAE33S7`}`JY)0(HwP+U6IK3KlDxmM%lOn4 zya(`$V+eS6jA+`BJA@}>i&uo$qM9_s(+ zo$GL<$eD$4wmdsy5U=EKT;)&s*Y=id!7Ghf{hxGMtlQ6vf@F?fTeF~5;E#v16`CKU zl0u0gjB(;S1LN?IQpr z%SCp1bLR;UGW9V!w^gf8yk{B#$gB!#z5?x?(3Nf2LfiBFn=`P*uNtdc z4S$-7g8rcV5__Hhw4M4OqH>@M7HA6+L~k~gl+^&gwS>1KZjAF5*m&kUj9kzr8yK4h zj`Od{KKFgt#M#3LmUF*B0i?+==RoGWe`IEn{QBF>@|0*})65Plcl@sLCucHV>G>H9 z2-17O{D4u?>B?(hN6~aW1yw7thI;EKh}fJRy!clKOFQALX~LTWdcUcW+W#Ik^0DWY zB(i;z#bO~3IW+-3%MaOD>GhVbwXFZ-TZxcKBEViTTS0~=%JTd6y?$%%oJMu8&O)2` zZVD%!itI!^a%=4nmq!G9qUvC6X%ZSc#4U9-$!$<>v$*1p4SZy02dvkozbcop0}*Wb z|1}*BgG>RB>yYF$~|sZb*@psx4rF~bxl#b!y=tH zhZC^u-Bp(mmR_^|!HWTXAdV1{3BLnI+91n*)*o^o4RnmcX(M+L631~2z}%;gDrRFZ zAso(M?X0D7VUqCjW%Kf7qxX!6dHr2*y?>J+k-S8l;dgl&rQm)16%Mw?>AlK3LSI<+Qlr$nD3Y2$O}&5T4%q|mQAH>Ieehw=s5Sq0z(@9vYwFLAJ9<-9 z9aw|0tupb+_~n6snIu-IKn2IFhe_VOho0qkWH@_%DN{mTE_l5|UvPQDgM1)e`mN=% zz1H?p^t#q^Abu9q`{RBaQb@gZjMl-O-9RRBaXUzvUJYq`4H<_Z$!%*1m$WVg=B`p8 zJZBPILk4+TRvvh!$%kcEWMnYGaSFS34tw&QYkTS;2iB zeS{w}enlDCkL?!+)t0QAkbddB#EMI&%;9KWkZ%nMqrm!CdM-sq`O@t8p1^-(O8Jxh zkVg#wcP?N z5vHoQuBZ1{aSJR=2Wqzqcv68F@L;=*T|A&^>x*~SxTnGncLJZX)9UHKi(*#3HERg# zYlb5#)*<>KE&8)kzb*SSEse0Vsh$`wJ4F!-7^z02z@H?GL=P<1_++0hixu}@=Hvxm z-0vL!IPolY{UJrmGe<1P-%!u(p4AK7zHCe>{rqJ^TPu)RW>l}b$gXhmYVD-Zh0j96 zA5^a*oj7MpBcM}+uIbFxpR|QK1=<9m3d+w?Psd z6d1Y~YWI!P=*((s{K2h8-dwOIY{K1i<-hES92dm2Y!`%^`SFF}XEy&0J(A!WVDo=L zkJvKYR=CDLASO;Rf>Y|WvdZ;H(5Mofoc|MH*F8=EhB_M>qjS4y4Sr28{b@{^!6fDncU+J6 zXycvz7~as@*YyZ(>~7XHTuQwAe}qeB=x>R8eToEaLD^0e?5LoMD2E6pz+$d!kOAl5 z=DuZPq~NyWHEQRHdm^ul-0+jW{1Rn-jPi&?Cs;NuF(*Co%Rb^z)S;0}TjS6WiL^QW zZ$7g?>=+W!zO-dM?!clK1nVI<~%I5>wmwC-WO< zUQ6$zPk{O3C8NWi$JdN65rf)KicK(Qr~IDo8%uWL*N*;IWQcR}jvV+-%+~w5O&Nmb zM_TgOE&Bf-ac3S5_5T0;u{BB=B_zy{q7X%8n+&Pwv}i-h(jp@&B#dolkd(cR6hmpH z5DHnwKGvZk5ylw%I%Bd7W9EL3I_K0mo#p$zf4}>_=D)7%)OF4I%=`U$y`InK<2fW} zK4sHtOQ47n~qEJEr`b8>jF>iS{N%jtXw=I>iMbZqy0Cqh@g|8gG^kq#Qtn%2ZiujSu1F3)_emS zEoHKm`B!4eIa^2U6Yu}oL1kJG8#iw@5pd?Kkt=hE?!gnWvMC!3O8+-ClQ$q0$}s#m zXKSIA;t%u2caH!dE|u!!Fnqz}IQ%l_`qL)x;82CCp=}Z2`|!6I`L^wd)lbA-b!4!z zpQfa8LrATgvZ#C!yjGarMQ$i2K2%%@^T#n|`VbgXTm*G7aAfV^u(}?on|k}n4e%+b zd-?o~r;UG|QK%l0kzy^2kiN7wkp@ZYK0RIt#nlVRp3zFcx#_m;R2@`n)Jrw7LqB06 z{BSVqZp2>wpJh;}ohRRq^Dr%cQb|gNIo>y+n@U7(9dEh#!!Y0EQxpr6IK8N`QYQ$c3ICL*FDXsjX(p8*wXwu~ z`LGGL!5gyG%iav#eJ(F1UPxK~XiD{N4==X7f;x!0hMb`ccF4jNx1DyD0P z#b1X`L|4Z$^rbDu4aDGLgualraqF*OvFpkLJN*>Cb?<}#uYPCPT2nFK{=(!==)sg}`togFCbj2<$eJ6++4(KQ zpIAQ_wDz5gPs>q+pIP;8nPm4@px9q3B4aad{gi3qdRA0+d%w{9@h$Sb6D(2K$v`Q` zf$>{URz4`h6|cMc_CFp_D!Eq=-N_&Ew{_IXj<1*$Ho@24k^38~mbi5L$?vRMn4|@( zR%%b{)4hYL<31H(*vkol(+F4`Z}&CD?Y)m(smr~ql94B8aMO80q38HH=P>)84E_Od zzhtnjGj)6V+-3q(Af+|7Las`wFQ?JSUjnjae5g-eLNtqhfQQ9^D99b>UKz=#LuO@1 z0tcB5Lf}qm<=rXaBvpRHF3=?x*88PSb=H|HZ~d0mGUDggho~7>IrlK`to_tv(L3w; zV>1a~oC8v8u0q>N)j+WblLL<5^;f)0bO@XLq|YAzjS^Po!J~vZV$br7wIk0MOS^@x zlNkCT4!24_j1t0OM!&4VOKt8I)? zK^Glg91QtqLRhEg%bpj+P8#3ZpeRc2JFB52rpB3x^#uw@Det~STGURSH+Vew%;EV8 zN~oQpj_(V0qB5T*nxiBVa9W{eFB)k!`E<0i#6R zRM5G|??bWKb&%KcL3|D+`TO~Q3;_zs2bCiSUiS<(jR^JgH+*U3%2%QN2&)yXdlBud zeiv(y!P}E>dm09aNPI1}K5fJMukbctYPlr`a%VvQQ16UCzRkCwwWE3()&H7H;GQAa zVSbF7v?vtl3T`Htd+z#s!&W6WCtRwEA_3cCd#^75u73E$71Hk@uq_ndjIC!>Ve74T zwO5m$x-L`eUgdL7iL)N2+d2Dca#JL*Kr}ljwQDb4RN&gn*UmjRT{M9x@~3?m(Ssl6 zK_p&MX1zLNR&e-IZe}I$K^_VynC`K7W03&rl^WxZcJWa++}Sq92EoSk<2!Y#koFs_ zs=-}DIPR_L@LUfIrEQZij4<(<0oM(v`i$DQVh(fkEQ;ZW@xzKMyq-gsmPynA1%3$( zLR_=Hd6z_SPqgvNo?3ZIoDf`GaJ}>e@T%-*u;<+WxD+w=>MNYZ35AAN?d~Jvnx$BBUNfJ@@97n2U)0Qw z>%&X&@A4~Lp8*W#0iFLtl=HQGA z7lZ8Sgg_wddZM@8fx%(({|947RDGC!q&zq(d7rA)me4?E%_5ql=G2L~d_kBE;q1CbSS}Ra9IvOH029{ zw$FD^`GQj8UgpSsZ`OK5$d-|ggDBIy3Ug6g_9=I{Ze#0YNGuUqxti*>t?oR=kaoSB zrOmy{=c>X#iJ>tw zrZ#`dz^_na@A-21o%g#HNU2xYp6Ph#L3fj>%Swc+{r!~58YvvJQdzGJ<5NqkkxFKZDC%lFdTpL|X@BSy5Iigs2s82EWL41aoB>^&!Rf2eWyz|n zjk&%14|KmH_C@j{hJ4=~S*0`2x*Z%ou==wMM*-^i*^Wt6Ci0<4>+DdZqxWO; zXEg@j%Om;A6f_y^Ybtj!$|T4R8e)dV0i97R@_?83Ut6#FWgLXEHf zbodC`^}P!VWa?X~U`iNRCO=(Ayd+aeyD0zPhTdl%v^Q9712KNXIVbiavDF~IcnZTO zY7k&N^MFglXXpA{?xWE0nJRrk*Zhyp_;*m&frN+=P4j2`t~CsM{56g8GY%4#K@x*J z{@x$kKP#ZT_D{>&bqquGpyE@Qr0Gfx60~$Yb=HBcuE6R|(t`o@`*GbK>+EG+y zddSf7%|e%2M{ed4kaM?E#aohsdq?iK2pfPVrJNwr{m(Qx(sTDY|R5=t69; zeH5!Ha)eY|T)$Vcj9Nx&MRJ(3koG{ks~M6Lc#-r&L|YR#M?67fgS1x;x&P%_U*t))#-m-@ z>`>d>lf)B#eW>Ezn#ct=*3szz&uep1v{S~PbYXFxx8ihsm6127%RIj^yHM?5`<0?b zWB29$VoSdq;^sw;EgGmvwVja}zU_aH5sl?3BXe(v^TQB=00zx}Hn{%Aw`|CSdv#y* zeG*k9gxW z7M6?OI`+%eX&m9t`P}SO zD*Bs2!#(nK*I?7W&BwqZjpfzA_GxjWPc~JzsB*i=C_5_HzL>R5uJHW?dM|RP-hZ%l zSu+xt8iFoa=2=>S=4@3bjSDn&()P1(Tii1ep`574?9-M+XNlWOH|QS2k7b^p$`_^9 zD_mo|$W;BOSo?z8cR~07LSb$V%z>38u^;nYxE=oPpTg~_+qCv>e#YIx_|Vs4?cKY# z=sfL6f<3Z_0$ESHcbS#`XkT zOzuFNIAn~h?SvkdwrnROa4_4MlrWV)fv=!g^X!n*UQn~sNJnHD$AN7|+l=gD1hzHA zK{IdUG3_RIVM%fZQ~6Is$0P2)m`@uUFQRNjF*Ptr-6C|uxa6?@_5+I63pf>x=~&Os zx+|EZ*{rGji~T6yOq$o4&PE^@#=6MFX!CyJ#v?smy_}WPl$i89_G`>t-fruujJ99DNRg6VDNK7H zG~wludQoYa{1zGP$?#uU!`}r#vid#^gm1ql=+wyX2>4sFxr)e$+7lr*7dT^TrcW-C zEefqq!sG7Ssvj_D3kH;-;1TMot|5){4UtNO^OYN8!qd9N`{;6fe;H~IMv8U4t1f*; zBXP950yfw>?%CzNsq8C`>uzx~;?eU)vgPU_2YnbYXMHHkkywbAglIS3!NiP{-ZF7b zTHL!-A*(ufu<;1z?w^sV6@?89i-DX%;;T4lOsn^}$hr4F#c`edisQP4MFaOPteX>z zab0ZZ-z%Yktz|{XtWg-7>)=h&qjXj?2JiF4VAYFzRWpZt!Nc%?Xhiu zkKYEaO8?f{8RFmg5)u=qa`ELuC`KYD<114*W+FSKjFjpAG4>`mOovGs1-U^(3#HHV zqgHdD3LF|{0LCm4G^>HDp&&BRTinP4&e|^+0!_L9s879AZmY%?)Q7LJklc#W??}RQ z!v&J?ir-1Xp?@L?JDNiWXY06vJjYd8)@U7yYQ(!D4w0hfUv^)r+x!KUPD|uB5aU_4 z+QwHR_IL498{HWo?_UO->B?|?Wl-b^M}VxqK~b2{pAO`VTxd~qei-ikH>9mEJn$qV zAHcU(FaYy-iF$>|_SG>+8jZnrX^q28p(eD~4U6WNubaQfh{IuW@3s1Tz7YdW07a=^ zBkN7KJQWqi0bD0dYC4413`)L=fWFyrDqx4=@6@eyyl_P8H3)9}Zw&uQX{9?Y!bXF13NP z1Ct=ub;aE06yynVQ9B!_ba{OW9IB$S8!T`+ucgC!<{i-e*yi~}l zbhg`BwxI;@h*cG4_^uo_1bzCrp%P*We(I1t zJB^M~22WPe@q^DK=B{Qk-)vuOOUKAxpDQadE_wKUMtz9>Y6OHnD1#%fLPENitwN41 z`Y-swxH844l3eWiY4;c?RvTFLBcM8*O$GQ>2r6Gau;HA@=8%G4&m- zE644v_s{U&9`7NX!1fga^r6_&TYPJZ#G>NNt(RFm;{9epbMc7RvKu!xz^wfHQ2H|~ z5yD8oir5%iE|9krkb?s{Wr(r}VPg8weMWwJ&y_hud8;L={U!(w(#tNk(`_`^!@6Ky zJyfe{vFP&UejKD;wnl8C>#yexO((IAH01_P&rtbR$5XocL-+6vnB)8UX^g%%J`V-f zH~Y>AOZAxaJ&9E{py>nAUd^|^GOVtSnGYn6PtD!$DsBbJT)vpA{AbbQi58YXiHk%q z4f|)kBcT`vq@GTHB*Kg1&;4M8ebG^L{#Mk`^d7+gIoY(4yp78$A8dInydBf{Gtnb* z^c9cecxnDGTv?Ue9mg-1rRxIGqed!(w>3{2S)a)>WqB-i2}m%>IT0SR>;d}sAjtKl zE*U=wf=mQHJ%iNkPbW^K#QIV69@~vzJ{9sEth_*(-A@U*jTNJ-EKq@K8`j-7z6cM| zc(z3T#cxz#fnX>c?ji6O&a0Zgc3#m4EU8-QxY!q_JG$3j8r`yG&O*-g7tUyF=i0!a zK9`hI1UTBeMb`?)4k3lD&B<2O8-IproxOd|yJncJU9^H@v8-kA1(TMm z%V1*a6;LN|cM0?65I%K0ua)8+@86W~UVAB7FwBI+`oedq=_3oa^n(xP%=9N8?~5t0#rDSheB6t>}TSO z&9P$C4ME<;-^(A0Z~s~TaM;s1XC`iNVJjdxTf%eaU^Eh!v0WySURqf;1q@l3{s`^P zpxZ@DOmhV26hX1aC(QZO?(8vN9mqUUt{GP9Qji{C_%Kg9xV zBU#_iR%jEbwlq4W>><959Y09gTM!(s@ka3X@mD=~zMt>}u zatEsRPsJx+lObOnSQwXf`%y0s-1uAvXbvdhDId@p*?e$+*t7Kjp1lLd#GZWc=Jdo3F-e)Rwm&U^oHTGh=+;<(rFzN_#!nYty#n$X~eJN6g#f zG`6Pw5W`T*wOgq5oEVn0Q4;$JEMUB!jD^o7o6a!%yb2cgcWNAF z2h;UbNt@~COU|Y#4&o}7d6CM##m|qW=&|@;X8C;a01Ts&X{m0Npn4OjlY=i1H~Q8r zFn-yBx!}R{4&uSFNSNNJJ$wsm= z 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 b-73t_a2g!vEq}0DD+wTW3T! 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 literal 69518 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 diff --git a/apps/gui/src-tauri/src/main.rs b/apps/gui/src-tauri/src/main.rs index 1b39114..63b8219 100644 --- a/apps/gui/src-tauri/src/main.rs +++ b/apps/gui/src-tauri/src/main.rs @@ -16,40 +16,144 @@ async fn rpc(state: tauri::State<'_, State>, method: String, params: serde_json: } /// Reabre o app com privilégios de administrador (Linux/macOS). No Windows o -/// manifesto já exige elevação. +/// manifesto já exige elevação. O app novo encerra este quando abre; se a +/// autorização falhar, a janela continua aqui e a interface mostra o motivo. #[tauri::command] -fn relaunch_elevated() -> Result<(), String> { - let exe = std::env::current_exe().map_err(|e| e.to_string())?; - #[cfg(target_os = "linux")] +fn relaunch_elevated(app: tauri::AppHandle) -> Result<(), String> { + #[cfg(any(target_os = "linux", target_os = "macos"))] { - let mut cmd = std::process::Command::new("pkexec"); - cmd.arg("env"); - for k in ["DISPLAY", "WAYLAND_DISPLAY", "XAUTHORITY", "XDG_RUNTIME_DIR", "DBUS_SESSION_BUS_ADDRESS"] { - if let Ok(v) = std::env::var(k) { - cmd.arg(format!("{k}={v}")); + use tauri::Emitter; + let exe = elevated_exe()?; + let cfg = guara_core::settings::config_dir(); + let log = std::env::temp_dir().join(format!("guara-elevate-{}.log", std::process::id())); + let _ = std::fs::write(&log, b""); + let out = std::fs::OpenOptions::new().append(true).open(&log).map_err(|e| e.to_string())?; + let err = out.try_clone().map_err(|e| e.to_string())?; + let pid = std::process::id().to_string(); + + #[cfg(target_os = "linux")] + let mut cmd = { + let mut c = std::process::Command::new("pkexec"); + c.arg("/usr/bin/env"); + for k in ["DISPLAY", "WAYLAND_DISPLAY", "XAUTHORITY", "XDG_RUNTIME_DIR", "DBUS_SESSION_BUS_ADDRESS", "GDK_BACKEND"] { + if let Ok(v) = std::env::var(k) { + c.arg(format!("{k}={v}")); + } } - } - cmd.arg(exe); - cmd.spawn().map_err(|e| format!("pkexec indisponível: {e}"))?; - std::process::exit(0); - } - #[cfg(target_os = "macos")] - { - let script = format!("do shell script \"'{}' &> /dev/null &\" with administrator privileges", exe.display()); - std::process::Command::new("osascript").args(["-e", &script]).spawn().map_err(|e| e.to_string())?; - std::process::exit(0); + c.arg(format!("GUARA_CONFIG_DIR={}", cfg.display())); + c.arg(format!("GUARA_REPLACE_PID={pid}")); + c.arg(&exe); + c + }; + #[cfg(target_os = "macos")] + let mut cmd = { + let shell = format!( + "GUARA_CONFIG_DIR='{}' GUARA_REPLACE_PID={} '{}' >/dev/null 2>&1 &", + cfg.display(), + pid, + exe.display() + ); + let script = format!("do shell script \"{}\" with administrator privileges", shell.replace('\\', "\\\\").replace('"', "\\\"")); + let mut c = std::process::Command::new("osascript"); + c.args(["-e", &script]); + c + }; + cmd.stdout(out).stderr(err); + let mut child = cmd.spawn().map_err(|e| format!("não foi possível pedir privilégios: {e}"))?; + std::thread::spawn(move || { + // No Linux o pkexec só termina com sucesso quando o app elevado é fechado (e o app + // elevado já terá encerrado este processo). Qualquer falha antes disso vira aviso. + let status = child.wait(); + if matches!(&status, Ok(s) if s.success()) { + let _ = std::fs::remove_file(&log); + return; + } + let detail = std::fs::read_to_string(&log).unwrap_or_default(); + let msg = match status.ok().and_then(|s| s.code()) { + Some(126) => "Autorização cancelada.".to_string(), + Some(127) => "Não foi possível autenticar como administrador.".to_string(), + _ => format!("Não foi possível reiniciar como administrador. {}", detail.lines().last().unwrap_or("").trim()), + }; + let _ = app.emit("elevate-failed", msg); + let _ = std::fs::remove_file(&log); + }); + Ok(()) } #[cfg(windows)] { - let _ = exe; + let _ = app; Err("o Guará já roda como administrador no Windows".into()) } } +/// Caminho que o root consegue executar. No AppImage, `current_exe` aponta para +/// dentro de um ponto de montagem FUSE do usuário, inacessível ao root: usa o +/// próprio arquivo `.AppImage` (variável `APPIMAGE`). +#[cfg(any(target_os = "linux", target_os = "macos"))] +fn elevated_exe() -> Result { + if let Some(p) = std::env::var_os("APPIMAGE").map(std::path::PathBuf::from).filter(|p| p.is_file()) { + return Ok(p); + } + std::env::current_exe().map_err(|e| e.to_string()) +} + +/// Serve os arquivos recuperados para pré-visualização (`guara://localhost/file//`), +/// com suporte a Range para vídeo/áudio/PDF, lendo direto da origem. +fn serve_file(eng: &Engine, req: &tauri::http::Request>) -> tauri::http::Response> { + use tauri::http::Response; + const CAP: u64 = 8 * 1024 * 1024; + let mut it = req.uri().path().trim_start_matches("/file/").split('/'); + let (job, id) = (it.next().unwrap_or(""), it.next().and_then(|s| s.parse::().ok())); + let err = |code: u16| Response::builder().status(code).header("Access-Control-Allow-Origin", "*").body(Vec::new()).unwrap(); + let Some(id) = id else { return err(400) }; + let range = req.headers().get("range").and_then(|v| v.to_str().ok()); + let slice = match eng.file_slice(job, id, range) { + Ok(s) => s, + Err(code) => return err(code), + }; + let total = slice.total; + let start = slice.start; + let want = slice.len(); + let mut headers = slice.headers(); + let partial = slice.partial || want > CAP; + let Ok(data) = slice.read_all(CAP) else { return err(500) }; + let mut b = Response::builder().status(if partial { 206 } else { 200 }); + headers.retain(|(k, _)| *k != "Content-Range"); + for (k, v) in &headers { + b = b.header(*k, v); + } + if partial && !data.is_empty() { + b = b.header("Content-Range", format!("bytes {}-{}/{}", start, start + data.len() as u64 - 1, total)); + } + b.body(data).unwrap_or_else(|_| err(500)) +} + fn main() { + let engine = Arc::new(Engine::new()); + let for_protocol = engine.clone(); tauri::Builder::default() .plugin(tauri_plugin_dialog::init()) - .manage(State(Arc::new(Engine::new()))) + .manage(State(engine)) + .register_asynchronous_uri_scheme_protocol("guara", move |_ctx, request, responder| { + let eng = for_protocol.clone(); + std::thread::spawn(move || responder.respond(serve_file(&eng, &request))); + }) + .setup(|_app| { + // Quando abrimos elevados a pedido do app normal, ele fecha o app antigo. + #[cfg(unix)] + if let Some(pid) = std::env::var("GUARA_REPLACE_PID").ok().and_then(|p| p.parse::().ok()) { + std::thread::spawn(move || { + std::thread::sleep(std::time::Duration::from_millis(1200)); + // SAFETY: só envia SIGTERM ao processo anterior do próprio usuário. + unsafe { + if libc::geteuid() == 0 { + libc::kill(pid, libc::SIGTERM); + } + } + }); + } + Ok(()) + }) .invoke_handler(tauri::generate_handler![rpc, relaunch_elevated]) .run(tauri::generate_context!()) .expect("erro ao iniciar o Guará"); diff --git a/apps/gui/src-tauri/tauri.conf.json b/apps/gui/src-tauri/tauri.conf.json index f8365a5..d828477 100644 --- a/apps/gui/src-tauri/tauri.conf.json +++ b/apps/gui/src-tauri/tauri.conf.json @@ -1,9 +1,11 @@ { "$schema": "https://schema.tauri.app/config/2", "productName": "Guara", - "version": "0.1.0", + "version": "0.2.0", "identifier": "dev.guara.app", - "build": { "frontendDist": "../ui" }, + "build": { + "frontendDist": "../ui" + }, "app": { "withGlobalTauri": true, "windows": [ @@ -16,7 +18,9 @@ "resizable": true } ], - "security": { "csp": "default-src 'self'; img-src 'self' data:; style-src 'self' 'unsafe-inline'; script-src 'self'" } + "security": { + "csp": "default-src 'self'; img-src 'self' data: blob: guara: http://guara.localhost; media-src 'self' blob: guara: http://guara.localhost; connect-src 'self' ipc: http://ipc.localhost guara: http://guara.localhost; style-src 'self' 'unsafe-inline'; script-src 'self'; worker-src 'self' blob:; frame-src 'none'; object-src 'none'" + } }, "bundle": { "active": true, @@ -24,6 +28,12 @@ "category": "Utility", "shortDescription": "Recuperação de arquivos", "longDescription": "Guará recupera arquivos apagados e partições perdidas de HD, SSD e pendrive, sempre em modo somente leitura na origem.", - "icon": ["icons/32x32.png", "icons/128x128.png", "icons/128x128@2x.png", "icons/icon.icns", "icons/icon.ico"] + "icon": [ + "icons/32x32.png", + "icons/128x128.png", + "icons/128x128@2x.png", + "icons/icon.icns", + "icons/icon.ico" + ] } } diff --git a/apps/gui/ui/app.css b/apps/gui/ui/app.css index 70f6d37..cf17ae3 100644 --- a/apps/gui/ui/app.css +++ b/apps/gui/ui/app.css @@ -7,10 +7,10 @@ --text-2: #6e6e73; --text-3: #8e8e93; --line: rgba(0, 0, 0, 0.09); - --accent: #d9541e; - --accent-2: #ff8a3d; + --accent: #0f766e; + --accent-2: #14b8a6; --accent-ink: #ffffff; - --accent-soft: rgba(217, 84, 30, 0.1); + --accent-soft: rgba(15, 118, 110, 0.11); --ok: #1a8f3c; --warn: #b26a00; --bad: #d12b2b; @@ -34,10 +34,10 @@ --text-2: #a1a1a6; --text-3: #7d7d82; --line: rgba(255, 255, 255, 0.1); - --accent: #ff7a3d; - --accent-2: #ff9d5c; - --accent-ink: #1a0b03; - --accent-soft: rgba(255, 122, 61, 0.15); + --accent: #2dd4bf; + --accent-2: #5eead4; + --accent-ink: #042f2e; + --accent-soft: rgba(45, 212, 191, 0.15); --ok: #32d74b; --warn: #ffb340; --bad: #ff6961; @@ -48,6 +48,32 @@ } } +:root[data-theme="dark"] { + --bg: #000000; + --surface: #1c1c1e; + --surface-2: #232326; + --side: rgba(28, 28, 30, 0.8); + --text: #f5f5f7; + --text-2: #a1a1a6; + --text-3: #7d7d82; + --line: rgba(255, 255, 255, 0.1); + --accent: #2dd4bf; + --accent-2: #5eead4; + --accent-ink: #042f2e; + --accent-soft: rgba(45, 212, 191, 0.15); + --ok: #32d74b; + --warn: #ffb340; + --bad: #ff6961; + --ok-soft: rgba(50, 215, 75, 0.15); + --warn-soft: rgba(255, 179, 64, 0.15); + --bad-soft: rgba(255, 105, 97, 0.15); + --shadow: 0 1px 2px rgba(0, 0, 0, 0.4), 0 8px 24px rgba(0, 0, 0, 0.4); +} + +:root { color-scheme: light dark; } +:root[data-theme="light"] { color-scheme: light; } +:root[data-theme="dark"] { color-scheme: dark; } + * { box-sizing: border-box; } html, body { height: 100%; } body { @@ -211,7 +237,8 @@ input[type="checkbox"] { accent-color: var(--accent); width: 17px; height: 17px; .kv { display: grid; grid-template-columns: auto 1fr; gap: 6px 14px; font-size: 13.5px; } .kv dt { color: var(--text-3); } .kv dd { margin: 0; overflow-wrap: anywhere; } -.actionbar { position: fixed; left: var(--side-w); right: 0; bottom: 0; padding: 14px 24px calc(14px + env(safe-area-inset-bottom)); display: flex; gap: 12px; align-items: center; justify-content: center; background: var(--side); backdrop-filter: saturate(180%) blur(24px); -webkit-backdrop-filter: saturate(180%) blur(24px); border-top: 1px solid var(--line); z-index: 5; animation: rise .3s; } +.actionbar { position: fixed; left: var(--side-w); right: 0; bottom: 0; padding: 14px 24px calc(14px + env(safe-area-inset-bottom)); display: flex; gap: 12px; align-items: center; justify-content: center; background: var(--side); backdrop-filter: saturate(180%) blur(24px); -webkit-backdrop-filter: saturate(180%) blur(24px); border-top: 1px solid var(--line); z-index: 5; } +.actionbar.enter { animation: rise .3s; } .actionbar .info { color: var(--text-2); font-size: 14px; } dialog { border: 0; border-radius: 22px; padding: 26px; width: min(520px, calc(100vw - 32px)); background: var(--surface); color: var(--text); box-shadow: 0 30px 80px rgba(0, 0, 0, .35); } @@ -255,3 +282,53 @@ code, .mono { overflow-wrap: anywhere; font-family: var(--mono); font-size: .92e @media (prefers-reduced-motion: reduce) { * { animation: none !important; transition: none !important; } } + +/* ------------------------------------------------------------ tema */ +.theme-switch { display: inline-flex; padding: 2px; border-radius: 999px; background: color-mix(in srgb, var(--text) 8%, transparent); } +.theme-switch button { border: 0; background: transparent; cursor: pointer; padding: 4px 10px; border-radius: 999px; font-size: 12px; color: var(--text-2); } +.theme-switch button[aria-pressed="true"] { background: var(--surface); color: var(--text); box-shadow: 0 1px 3px rgba(0, 0, 0, .18); font-weight: 600; } + +/* ------------------------------------------------------------ pré-visualização */ +.viewer { position: relative; min-height: 160px; max-height: 52vh; overflow: auto; border-radius: 12px; background: var(--surface-2); box-shadow: inset 0 0 0 1px var(--line); display: flex; flex-direction: column; align-items: center; } +.viewer.large { max-height: none; height: 100%; min-height: 0; } +.viewer > * { max-width: 100%; } +.pv-img { display: block; max-width: 100%; max-height: 46vh; object-fit: contain; margin: auto; } +.viewer.large .pv-img { max-height: 100%; } +.viewer.zoomable .pv-img { cursor: zoom-in; } +.viewer.actual .pv-img { max-width: none; max-height: none; cursor: zoom-out; } +.viewer.actual { align-items: flex-start; } +.pv-video { width: 100%; max-height: 46vh; background: #000; border-radius: 12px; } +.viewer.large .pv-video { max-height: 100%; height: 100%; } +.pv-audio { width: calc(100% - 24px); margin: auto 12px; } +.pv-note { width: 100%; padding: 8px 12px; font-size: 12.5px; color: var(--text-2); text-align: center; } +.pv-note.bad { text-align: left; color: var(--text); background: var(--warn-soft); border-radius: 10px; margin: 8px; width: calc(100% - 16px); font-size: 13.5px; } +.pv-loading { height: 160px; display: grid; place-items: center; width: 100%; } +.pv-loading i { width: 26px; height: 26px; border-radius: 50%; border: 3px solid var(--line); border-top-color: var(--accent); animation: spin .8s linear infinite; } +@keyframes spin { to { transform: rotate(360deg); } } +.pv-text, .pv-hex { margin: 0; padding: 12px 14px; width: 100%; font: 12.5px/1.5 var(--mono); white-space: pre-wrap; overflow-wrap: anywhere; color: var(--text); text-align: left; } +.pv-hex { white-space: pre; overflow-x: auto; overflow-wrap: normal; font-size: 12px; } +.pv-hex .o { color: var(--text-3); } .pv-hex .a { color: var(--accent); } +.pv-page { width: 100%; background: var(--surface); padding: 18px 22px; font-family: Georgia, "Times New Roman", serif; font-size: 14px; line-height: 1.6; text-align: left; } +.pv-page p { margin: 0 0 .8em; white-space: pre-wrap; } .pv-page h4 { margin: 1em 0 .4em; font-family: var(--font); font-size: 16px; } +.pv-sheet { width: 100%; overflow: auto; text-align: left; } +.pv-sheet table { border-collapse: collapse; font-size: 12.5px; min-width: 100%; } +.pv-sheet th, .pv-sheet td { border: 1px solid var(--line); padding: 4px 8px; white-space: nowrap; max-width: 240px; overflow: hidden; text-overflow: ellipsis; } +.pv-sheet th { background: var(--surface); color: var(--text-3); font-weight: 500; position: sticky; top: 0; } +.pv-slide { width: calc(100% - 20px); margin: 10px; padding: 14px 16px; background: var(--surface); border-radius: 10px; box-shadow: 0 0 0 1px var(--line); text-align: left; } +.pv-slide small { color: var(--text-3); } .pv-slide h4 { margin: 4px 0 6px; font-size: 16px; } .pv-slide p { margin: 0 0 4px; font-size: 13.5px; } +.pv-zip { list-style: none; margin: 0; padding: 4px 0; width: 100%; text-align: left; font-size: 13px; } +.pv-zip li { display: flex; justify-content: space-between; gap: 12px; padding: 5px 14px; border-bottom: 1px solid var(--line); } +.pv-zip li span { overflow-wrap: anywhere; } .pv-zip small { color: var(--text-3); flex: none; } +.pv-pdfbar { position: sticky; top: 0; z-index: 2; display: flex; gap: 10px; align-items: center; justify-content: center; padding: 6px; width: 100%; background: var(--side); backdrop-filter: blur(12px); -webkit-backdrop-filter: blur(12px); } +.pv-pdfbar .pg { font-size: 13px; color: var(--text-2); min-width: 110px; text-align: center; } +.pv-pdfwrap { padding: 8px; } .pv-canvas { display: block; background: #fff; box-shadow: 0 2px 14px rgba(0, 0, 0, .25); } + +dialog.lightbox { width: min(1180px, 96vw); height: min(90vh, 920px); padding: 0; display: none; grid-template-rows: auto minmax(0, 1fr) auto; overflow: hidden; } +dialog.lightbox[open] { display: grid; } +.lb-head, .lb-foot { display: flex; gap: 12px; align-items: center; padding: 12px 16px; } +.lb-head { border-bottom: 1px solid var(--line); } .lb-foot { border-top: 1px solid var(--line); flex-wrap: wrap; justify-content: space-between; } +.lb-head .ttl { flex: 1; min-width: 0; } .lb-head .ttl b { display: block; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; } .lb-head .ttl small { color: var(--text-2); } +.lb-body { padding: 12px; min-height: 0; } + +.hero-logo { width: min(440px, 80%); height: auto; display: block; margin: 0 0 22px -4px; } +.pill.accent { background: var(--accent-soft); color: var(--accent); } diff --git a/apps/gui/ui/app.js b/apps/gui/ui/app.js index 00b26b7..71ab29a 100644 --- a/apps/gui/ui/app.js +++ b/apps/gui/ui/app.js @@ -1,6 +1,8 @@ // Guará — interface. Fala com o núcleo por `rpc(método, parâmetros)`: // • app Tauri: invoke('rpc') • modo `guara ui`: POST /rpc/ com token. +import { renderPreview, kindOf, KIND_LABEL } from './preview.js'; + const tauri = window.__TAURI__; const params = new URLSearchParams(location.search); let token = params.get('token'); @@ -21,6 +23,32 @@ async function rpc(method, p = {}) { return body; } +const isWin = /Windows/i.test(navigator.userAgent); +const fileBase = tauri ? (isWin ? 'http://guara.localhost' : 'guara://localhost') : ''; +const fileUrl = (job, id) => `${fileBase}/file/${job}/${id}` + (tauri ? '' : `?t=${encodeURIComponent(token || '')}`); + +// Atualiza o HTML só quando mudou (evita piscar e perder o foco/hover). +function setHTML(el, html) { + if (!el || el._h === html) return false; + el._h = html; + el.innerHTML = html; + return true; +} + +// ------------------------------------------------------------------ tema +function applyTheme(t) { + const root = document.documentElement; + if (t === 'light' || t === 'dark') root.dataset.theme = t; else delete root.dataset.theme; + document.querySelectorAll('[data-theme-pick]').forEach((b) => b.setAttribute('aria-pressed', String(b.dataset.themePick === (t || 'auto')))); +} +try { applyTheme(localStorage.getItem('guara-theme') || 'auto'); } catch { applyTheme('auto'); } +document.querySelectorAll('[data-theme-pick]').forEach((b) => (b.onclick = async () => { + const t = b.dataset.themePick; + applyTheme(t); + try { localStorage.setItem('guara-theme', t); } catch { /* sem armazenamento */ } + try { await rpc('settings_set', { theme: t }); } catch { /* segue só com o armazenamento local */ } +})); + // ------------------------------------------------------------------ utilidades const $ = (s, el = document) => el.querySelector(s); const esc = (s) => String(s ?? '').replace(/[&<>"']/g, (c) => ({ '&': '&', '<': '<', '>': '>', '"': '"', "'": ''' }[c])); @@ -173,7 +201,7 @@ function renderHome() { S.device = null; S.job = null; renderSide(); main.innerHTML = `
-

Encontre o que você achou que tinha perdido.

+

Encontre o que você achou que tinha perdido.

Escolha um disco, SSD ou pendrive ao lado. O Guará lê tudo — arquivos apagados, partições perdidas e espaço não particionado — sem escrever nada no disco de origem.

Uma varredura, tudo junto

Metadados do sistema de arquivos e busca por assinatura na mesma passada, sem duplicatas.

@@ -348,10 +376,13 @@ function renderScan() {
`; $('#backBtn').onclick = () => (S.device ? openDevice(S.device) : renderHome()); + $('#progressArea').onclick = onProgressClick; + $('#chips').onclick = (e) => { const c = e.target.closest('.chip'); if (c) { S.filters.category = c.dataset.c || null; resetSel(); tick(); } }; let t; $('#q').oninput = (e) => { clearTimeout(t); t = setTimeout(() => { S.filters.query = e.target.value; resetSel(); tick(); }, 250); }; $('#conf').onchange = (e) => { S.filters.minConfidence = e.target.value || null; resetSel(); tick(); }; $('#sort').onchange = (e) => { S.filters.sort = e.target.value; tick(); }; + wireTable(); paintPreview(); } const resetSel = () => { S.selected = new Set(); S.allFiltered = false; }; @@ -366,10 +397,10 @@ function paintStatus() { $('#scanSub').innerHTML = `${esc(st.target)}`; const rate = p.total && st.elapsed > 1 && p.done ? p.done / st.elapsed : 0; const eta = rate && running ? dur((p.total - p.done) / rate) : null; - $('#progressArea').innerHTML = `
+ setHTML($('#progressArea'), `
${esc(p.phase || (running ? 'Iniciando' : ''))}${pct != null ? ` · ${pct}%` : ''}
-
${running ? '' : st.status === 'paused' ? '' : ''} - ${!running && st.found ? '' : ''}
+
${running ? '' : st.status === 'paused' ? '' : ''} + ${!running && st.found ? '' : ''}
${st.found.toLocaleString('pt-BR')}arquivos encontrados
@@ -377,86 +408,151 @@ function paintStatus() {
${st.confidence.high}confiança alta
${st.confidence.medium}média
${st.confidence.low}baixa
-
`; - $('#pauseBtn')?.addEventListener('click', async () => { await rpc('scan_pause', { job: S.job }); toast('Pausando…'); }); - $('#stopBtn')?.addEventListener('click', async () => { await rpc('scan_stop', { job: S.job }); }); - $('#resumeBtn')?.addEventListener('click', async () => { await rpc('scan_resume', { job: S.job }); stopPoll(); S.poll = setInterval(tick, 500); tick(); }); - $('#saveBtn')?.addEventListener('click', async () => { - const path = await ask({ title: 'Salvar sessão', text: 'Guarda os resultados para recuperar depois, sem varrer de novo.', value: (S.defaults.home || '') + (S.defaults.sep || '/') + 'guara-sessao.json', ok: 'Salvar' }); - if (path) { try { await rpc('session_save', { job: S.job, path }); toast('Sessão salva'); } catch (e) { toast(e.message); } } - }); - $('#warnArea').innerHTML = (st.warnings || []).map((w) => `
${warnSvg}
${esc(w)}
`).join('') - + (st.error ? `
${warnSvg}
${esc(st.error)}
` : ''); +
`); + setHTML($('#warnArea'), (st.warnings || []).map((w) => `
${warnSvg}
${esc(w)}
`).join('') + + (st.error ? `
${warnSvg}
${esc(st.error)}
` : '')); // chips const total = st.found; - $('#chips').innerHTML = [``] - .concat(CATS.filter(([k]) => st.categories[k]).map(([k, n]) => ``)).join(''); - $('#chips').querySelectorAll('.chip').forEach((c) => (c.onclick = () => { S.filters.category = c.dataset.c || null; resetSel(); tick(); })); + setHTML($('#chips'), [``] + .concat(CATS.filter(([k]) => st.categories[k]).map(([k, n]) => ``)).join('')); const sel = $('#conf'); if (sel && sel.value !== (S.filters.minConfidence || '')) sel.value = S.filters.minConfidence || ''; paintBar(); } +async function onProgressClick(e) { + const act = e.target.closest('[data-act]')?.dataset.act; + if (!act) return; + if (act === 'pause') { await rpc('scan_pause', { job: S.job }); toast('Pausando…'); } + else if (act === 'stop') await rpc('scan_stop', { job: S.job }); + else if (act === 'resume') { await rpc('scan_resume', { job: S.job }); stopPoll(); S.poll = setInterval(tick, 500); tick(); } + else if (act === 'save') { + const path = await ask({ title: 'Salvar sessão', text: 'Guarda os resultados para recuperar depois, sem varrer de novo.', value: (S.defaults.home || '') + (S.defaults.sep || '/') + 'guara-sessao.json', ok: 'Salvar' }); + if (path) { try { await rpc('session_save', { job: S.job, path }); toast('Sessão salva'); } catch (err) { toast(err.message); } } + } +} + +function rowHtml(i) { + const [cl, cc] = CONF[i.confidence]; + const on = S.allFiltered || S.selected.has(i.id); + return `
+ +
${esc(i.name)}${esc(i.dir || (i.origin === 'carved' ? 'Encontrado por assinatura' : '—'))}
+
${human(i.size)}
${i.origin === 'carved' ? 'assinatura' : esc(i.origin)}
+
${cl}
`; +} + function paintList() { const el = $('#table'); if (!el) return; const st = S.status; if (!S.items.length) { - el.innerHTML = `

${st && st.status === 'running' ? 'Procurando…' : 'Nada por aqui'}

${st && st.status === 'running' ? 'Os arquivos aparecem aqui assim que são encontrados.' : (S.filters.category || S.filters.query || S.filters.minConfidence) ? 'Nenhum arquivo combina com os filtros.' : 'Não encontramos arquivos recuperáveis neste disco.'}

`; + setHTML(el, `

${st && st.status === 'running' ? 'Procurando…' : 'Nada por aqui'}

${st && st.status === 'running' ? 'Os arquivos aparecem aqui assim que são encontrados.' : (S.filters.category || S.filters.query || S.filters.minConfidence) ? 'Nenhum arquivo combina com os filtros.' : 'Não encontramos arquivos recuperáveis neste disco.'}

`); + paintBar(); return; } const allSel = S.items.every((i) => S.selected.has(i.id)) || S.allFiltered; - el.innerHTML = `
NomeTamanhoOrigemConfiança
` - + S.items.map((i) => { - const [cl, cc] = CONF[i.confidence]; - const on = S.allFiltered || S.selected.has(i.id); - return `
- -
${esc(i.name)}${esc(i.dir || (i.origin === 'carved' ? 'Encontrado por assinatura' : '—'))}
-
${human(i.size)}
${i.origin === 'carved' ? 'assinatura' : esc(i.origin)}
-
${cl}
`; - }).join('') - + (S.items.length < S.total ? `
` : ''); - $('#selAll').onchange = (e) => { - if (e.target.checked) S.items.forEach((i) => S.selected.add(i.id)); else resetSel(); - paintList(); paintBar(); - }; - el.querySelectorAll('.tr').forEach((row) => { - const id = +row.dataset.id; - const cb = $('input', row); - cb.onclick = (e) => { e.stopPropagation(); if (S.allFiltered) { S.allFiltered = false; S.items.forEach((i) => S.selected.add(i.id)); } cb.checked ? S.selected.add(id) : S.selected.delete(id); paintBar(); row.setAttribute('aria-selected', cb.checked); }; - row.onclick = () => focusItem(S.items.find((i) => i.id === id)); - row.onkeydown = (e) => { if (e.key === 'Enter' || e.key === ' ') { e.preventDefault(); focusItem(S.items.find((i) => i.id === id)); } }; - }); - $('#moreBtn')?.addEventListener('click', () => loadResults(false)); + setHTML(el, `
NomeTamanhoOrigemConfiança
` + + S.items.map(rowHtml).join('') + + (S.items.length < S.total ? `
` : '')); paintBar(); } -async function focusItem(item) { +// Eventos da tabela por delegação (o HTML é recriado, o listener não). +function wireTable() { + const el = $('#table'); + el.addEventListener('click', (e) => { + if (e.target.id === 'moreBtn') return loadResults(false); + const row = e.target.closest('.tr'); + if (e.target.id === 'selAll') { + if (e.target.checked) S.items.forEach((i) => S.selected.add(i.id)); else resetSel(); + el._h = null; paintList(); + return; + } + if (!row) return; + const id = +row.dataset.id; + if (e.target.matches('input[type=checkbox]')) { + if (S.allFiltered) { S.allFiltered = false; S.items.forEach((i) => S.selected.add(i.id)); } + e.target.checked ? S.selected.add(id) : S.selected.delete(id); + row.setAttribute('aria-selected', e.target.checked); + el._h = null; + paintBar(); + return; + } + focusItem(S.items.find((i) => i.id === id)); + }); + el.addEventListener('dblclick', (e) => { if (e.target.closest('.tr')) openLightbox(); }); +} + +let stopPv = null; +function focusItem(item, { scroll = false } = {}) { + if (!item) return; S.current = item; - document.querySelectorAll('.tr').forEach((r) => r.setAttribute('aria-selected', (+r.dataset.id === item.id) || S.selected.has(+r.dataset.id) || S.allFiltered)); + document.querySelectorAll('.tr').forEach((r) => { + const on = +r.dataset.id === item.id || S.selected.has(+r.dataset.id) || S.allFiltered; + r.setAttribute('aria-selected', on); + if (scroll && +r.dataset.id === item.id) r.scrollIntoView({ block: 'nearest' }); + }); paintPreview(); - if (['jpg', 'jpeg', 'png', 'gif', 'webp', 'bmp'].includes(item.ext) && item.size < 8 * 1024 * 1024) { - try { - const p = await rpc('preview', { job: S.job, id: item.id }); - if (S.current?.id === item.id && p.mime) $('.thumb', $('#preview')).innerHTML = `Pré-visualização de ${esc(item.name)}`; - } catch { /* sem prévia */ } - } +} + +function detailsHtml(i) { + const [cl, cc] = CONF[i.confidence]; + return `
Nome
${esc(i.name)}
Pasta
${esc(i.dir || '—')}
Tamanho
${human(i.size)}
+
Modificado
${date(i.modified)}
Origem
${i.origin === 'carved' ? 'Assinatura de formato' : esc(i.origin.toUpperCase())}
+
Confiança
${cl}
${i.note ? `
Aviso
${esc(i.note)}
` : ''}
`; } function paintPreview() { const el = $('#preview'); if (!el) return; + stopPv?.(); stopPv = null; const i = S.current; - if (!i) { el.innerHTML = `
Selecione um arquivo para ver os detalhes
`; return; } - const [cl, cc] = CONF[i.confidence]; - el.innerHTML = `
${esc(i.ext ? i.ext.toUpperCase() : 'ARQUIVO')}
-
Nome
${esc(i.name)}
Pasta
${esc(i.dir || '—')}
Tamanho
${human(i.size)}
-
Modificado
${date(i.modified)}
Origem
${i.origin === 'carved' ? 'Assinatura de formato' : esc(i.origin.toUpperCase())}
-
Confiança
${cl}
${i.note ? `
Aviso
${esc(i.note)}
` : ''}
-
`; + if (!i) { el.innerHTML = '
Selecione um arquivo para pré-visualizar
'; return; } + el.innerHTML = `
${esc(KIND_LABEL[kindOf(i)])}
${detailsHtml(i)} +
`; + stopPv = renderPreview($('#pvHost'), i, { url: fileUrl(S.job, i.id) }); + $('#pvFull').onclick = openLightbox; $('#recOne').onclick = () => recover({ ids: [i.id] }); } +// ------------------------------------------------------------------ tela cheia +let stopLb = null; +function openLightbox() { + const i = S.current; + if (!i) return; + const d = $('#lightbox'); + const idx = S.items.findIndex((x) => x.id === i.id); + d.innerHTML = `
+
${esc(i.name)}${esc(KIND_LABEL[kindOf(i)])} · ${human(i.size)} · confiança ${CONF[i.confidence][0]}
+
+
+
${i.note ? esc(i.note) : '← → para navegar · Esc para fechar'}
`; + stopLb?.(); + stopLb = renderPreview($('#lbHost', d), i, { url: fileUrl(S.job, i.id), large: true }); + const go = (n) => { const t = S.items[idx + n]; if (t) { focusItem(t, { scroll: true }); openLightbox(); } }; + $('#lbPrev', d).onclick = () => go(-1); + $('#lbNext', d).onclick = () => go(1); + $('#lbClose', d).onclick = () => d.close(); + $('#lbRec', d).onclick = () => { d.close(); recover({ ids: [i.id] }); }; + d.onclose = () => { stopLb?.(); stopLb = null; }; + d.onkeydown = (e) => { if (e.key === 'ArrowLeft') go(-1); else if (e.key === 'ArrowRight') go(1); }; + if (!d.open) d.showModal(); +} + +// Teclado: ↑/↓ percorre a lista; Espaço/Enter abre a tela cheia. +document.addEventListener('keydown', (e) => { + if (!S.job || document.querySelector('dialog[open]') || /^(INPUT|SELECT|TEXTAREA)$/.test(document.activeElement?.tagName) && document.activeElement.type !== 'checkbox') return; + const idx = S.items.findIndex((x) => x.id === S.current?.id); + if (e.key === 'ArrowDown' || e.key === 'ArrowUp') { + e.preventDefault(); + const t = S.items[Math.min(S.items.length - 1, Math.max(0, idx + (e.key === 'ArrowDown' ? 1 : -1)))]; + focusItem(t, { scroll: true }); + } else if ((e.key === ' ' || e.key === 'Enter') && S.current && !e.target.closest?.('button')) { + e.preventDefault(); + openLightbox(); + } +}); + function selCount() { return S.allFiltered ? S.total : S.selected.size; } function paintBar() { @@ -465,14 +561,24 @@ function paintBar() { const st = S.status; const n = selCount(); const canAll = st && st.found > 0 && st.status !== 'error'; - if (!n && !canAll) { host.innerHTML = ''; return; } + if (!n && !canAll) { host.innerHTML = ''; host._h = null; return; } const moreOffer = !S.allFiltered && S.selected.size > 0 && S.selected.size < S.total && S.items.length === S.selected.size - ? `` : ''; - host.innerHTML = `
${n ? `${n.toLocaleString('pt-BR')} selecionado(s)` : `${S.total.toLocaleString('pt-BR')} arquivo(s) na lista`}${moreOffer} - ${n ? '' : ''}
`; - $('#selFiltered')?.addEventListener('click', () => { S.allFiltered = true; paintList(); }); - $('#recSel')?.addEventListener('click', () => recover(S.allFiltered ? { filter: currentFilter() } : { ids: [...S.selected] })); - $('#recAll')?.addEventListener('click', () => recover({ filter: currentFilter() })); + ? '' : ''; + const inner = `${n ? `${n.toLocaleString('pt-BR')} selecionado(s)` : `${S.total.toLocaleString('pt-BR')} arquivo(s) na lista`}${moreOffer} + ${n ? '' : ''}`; + let bar = host.firstElementChild; + if (!bar) { + // A barra é criada uma vez (com animação de entrada) e depois só tem o texto atualizado. + host.innerHTML = '
'; + bar = host.firstElementChild; + bar.onclick = (e) => { + const act = e.target.closest('[data-bar]')?.dataset.bar; + if (act === 'all') { S.allFiltered = true; $('#table')._h = null; paintList(); } + else if (act === 'sel') recover(S.allFiltered ? { filter: currentFilter() } : { ids: [...S.selected] }); + else if (act === 'rec') recover({ filter: currentFilter() }); + }; + } + setHTML(bar, inner); } function currentFilter() { @@ -540,6 +646,8 @@ async function openJobFromList(s) { openJob(s); } const v = await rpc('version'); $('#versionTag').textContent = `v${v.version}`; S.defaults = await rpc('defaults'); + try { const st = await rpc('settings_get'); if (st?.theme) { applyTheme(st.theme); try { localStorage.setItem('guara-theme', st.theme); } catch { /* */ } } } catch { /* usa o local */ } + tauri?.event?.listen?.('elevate-failed', (e) => { toast(String(e.payload || 'Não foi possível reiniciar como administrador')); }); } catch (e) { main.innerHTML = `
${warnSvg}
Não foi possível falar com o núcleo do Guará: ${esc(e.message)}. Se abriu esta página manualmente, use o endereço completo exibido pelo comando guara ui (ele inclui o token).
`; return; diff --git a/apps/gui/ui/guara-logo.svg b/apps/gui/ui/guara-logo.svg new file mode 100644 index 0000000..258babd --- /dev/null +++ b/apps/gui/ui/guara-logo.svg @@ -0,0 +1 @@ + diff --git a/apps/gui/ui/guara.svg b/apps/gui/ui/guara.svg index a49fc40..382878a 100644 --- a/apps/gui/ui/guara.svg +++ b/apps/gui/ui/guara.svg @@ -1,17 +1 @@ - - - - - - - - - - - - - - - - - + diff --git a/apps/gui/ui/index.html b/apps/gui/ui/index.html index 93a20ea..df1cdee 100644 --- a/apps/gui/ui/index.html +++ b/apps/gui/ui/index.html @@ -26,13 +26,14 @@
    -
    Somente leitura na origem
    +
    Somente leitura na origem
    +
    diff --git a/apps/gui/ui/preview.js b/apps/gui/ui/preview.js new file mode 100644 index 0000000..25de0f8 --- /dev/null +++ b/apps/gui/ui/preview.js @@ -0,0 +1,297 @@ +// Pré-visualização de arquivos recuperados. +// O conteúdo é lido em streaming do núcleo (com Range) pela URL `url`; nada é +// gravado em disco. Tipos: imagem, vídeo, áudio, PDF (pdf.js), texto, documentos +// Office/OpenDocument (texto extraído), listagem de ZIP e visão hexadecimal. + +const IMG = new Set(['jpg', 'jpeg', 'png', 'gif', 'webp', 'bmp', 'avif', 'ico']); +const VID = new Set(['mp4', 'm4v', 'mov', 'webm', 'mkv', 'ogv']); +const AUD = new Set(['mp3', 'wav', 'ogg', 'opus', 'm4a', 'aac', 'flac']); +const TXT = new Set(['txt', 'md', 'csv', 'tsv', 'json', 'xml', 'html', 'htm', 'log', 'ini', 'yml', 'yaml', 'js', 'css', 'c', 'h', 'cpp', 'py', 'rs', 'sh', 'bat', 'sql', 'toml', 'cfg', 'conf', 'srt', 'tex', 'svg']); +const OFFICE = new Set(['docx', 'xlsx', 'pptx', 'odt', 'ods', 'odp']); +const ZIPS = new Set(['zip', 'jar', 'apk', 'epub']); + +export function kindOf(item) { + const e = (item.ext || '').toLowerCase(); + if (IMG.has(e)) return 'image'; + if (VID.has(e)) return 'video'; + if (AUD.has(e)) return 'audio'; + if (e === 'pdf') return 'pdf'; + if (OFFICE.has(e)) return 'office'; + if (ZIPS.has(e)) return 'zip'; + if (TXT.has(e)) return 'text'; + return 'hex'; +} + +export const KIND_LABEL = { + image: 'Imagem', video: 'Vídeo', audio: 'Áudio', pdf: 'PDF', office: 'Documento (texto extraído)', + zip: 'Conteúdo do arquivo compactado', text: 'Texto', hex: 'Dados brutos (hexadecimal)', +}; + +const esc = (s) => String(s ?? '').replace(/[&<>"']/g, (c) => ({ '&': '&', '<': '<', '>': '>', '"': '"', "'": ''' }[c])); +const human = (n) => { + const u = ['B', 'KB', 'MB', 'GB']; + let i = 0, v = n; + while (v >= 1024 && i < 3) { v /= 1024; i++; } + return i ? `${v.toFixed(1)} ${u[i]}` : `${n} B`; +}; + +async function fetchRange(url, a, b) { + const r = await fetch(url, { headers: { Range: `bytes=${a}-${b}` } }); + if (!r.ok) throw new Error(`leitura falhou (${r.status})`); + return new Uint8Array(await r.arrayBuffer()); +} + +// ------------------------------------------------------------------ ZIP mínimo +async function zipDir(url, size) { + const tailLen = Math.min(size, 66000); + const tail = await fetchRange(url, size - tailLen, size - 1); + const dv = new DataView(tail.buffer); + let e = -1; + for (let i = tail.length - 22; i >= 0; i--) if (dv.getUint32(i, true) === 0x06054b50) { e = i; break; } + if (e < 0) throw new Error('diretório do ZIP não encontrado (arquivo possivelmente incompleto)'); + const n = dv.getUint16(e + 10, true); + const cdSize = dv.getUint32(e + 12, true); + const cdOff = dv.getUint32(e + 16, true); + if (cdOff + cdSize > size) throw new Error('diretório do ZIP inconsistente'); + const cd = await fetchRange(url, cdOff, cdOff + cdSize - 1); + const cv = new DataView(cd.buffer); + const out = []; + let p = 0; + for (let i = 0; i < n && p + 46 <= cd.length; i++) { + if (cv.getUint32(p, true) !== 0x02014b50) break; + const nl = cv.getUint16(p + 28, true), xl = cv.getUint16(p + 30, true), cl = cv.getUint16(p + 32, true); + out.push({ + method: cv.getUint16(p + 10, true), csize: cv.getUint32(p + 20, true), usize: cv.getUint32(p + 24, true), + off: cv.getUint32(p + 42, true), name: new TextDecoder().decode(cd.subarray(p + 46, p + 46 + nl)), + }); + p += 46 + nl + xl + cl; + } + return out; +} + +async function zipRead(url, e, cap = 8 << 20) { + if (e.usize > cap) throw new Error('parte grande demais'); + const lh = await fetchRange(url, e.off, e.off + 29); + const dv = new DataView(lh.buffer); + const start = e.off + 30 + dv.getUint16(26, true) + dv.getUint16(28, true); + const data = e.csize ? await fetchRange(url, start, start + e.csize - 1) : new Uint8Array(0); + if (e.method === 0) return data; + if (e.method !== 8) throw new Error('compressão não suportada'); + const stream = new Blob([data]).stream().pipeThrough(new DecompressionStream('deflate-raw')); + return new Uint8Array(await new Response(stream).arrayBuffer()); +} + +const xml = (bytes) => new DOMParser().parseFromString(new TextDecoder().decode(bytes), 'application/xml'); + +// ------------------------------------------------------------------ renderizadores +function note(host, html, cls = '') { + host.insertAdjacentHTML('beforeend', `
    ${html}
    `); +} + +function failure(host, item, err, withHex) { + host.innerHTML = ''; + note(host, `Não foi possível pré-visualizar.
    ${esc(err?.message || err || '')} O arquivo pode estar danificado, incompleto ou parcialmente sobrescrito — isso também indica que a chance de recuperação é menor.`, 'bad'); + return withHex ? hex(host, item, host.dataset.url, false) : null; +} + +async function hex(host, item, url, large) { + const n = Math.min(item.size, large ? 4096 : 1024); + if (!n) { note(host, 'Arquivo vazio.'); return; } + const b = await fetchRange(url, 0, n - 1); + const lines = []; + for (let i = 0; i < b.length; i += 16) { + const row = [...b.subarray(i, i + 16)]; + const h = row.map((x) => x.toString(16).padStart(2, '0')).join(' ').padEnd(47); + const a = row.map((x) => (x >= 32 && x < 127 ? String.fromCharCode(x) : '·')).join(''); + lines.push(`${i.toString(16).padStart(6, '0')} ${h} ${esc(a)}`); + } + host.insertAdjacentHTML('beforeend', `
    ${lines.join('\n')}
    `); + if (item.size > n) note(host, `Mostrando os primeiros ${human(n)} de ${human(item.size)}.`); +} + +async function text(host, item, url, large) { + const cap = large ? 262144 : 24576; + const b = await fetchRange(url, 0, Math.min(item.size, cap) - 1); + const sample = b.subarray(0, 2048); + const bin = sample.filter((x) => x === 0 || (x < 9) ).length; + if (bin > sample.length * 0.02) { note(host, 'Este arquivo não parece ser texto.'); return hex(host, item, url, large); } + let s = new TextDecoder('utf-8', { fatal: false }).decode(b); + if ((s.match(/�/g) || []).length > s.length * 0.02) s = new TextDecoder('windows-1252').decode(b); + host.insertAdjacentHTML('beforeend', `
    ${esc(s)}
    `); + if (item.size > b.length) note(host, `Mostrando o início (${human(b.length)} de ${human(item.size)}).`); +} + +async function image(host, item, url, state) { + await new Promise((resolve) => { + const img = new Image(); + img.alt = `Pré-visualização de ${item.name}`; + img.className = 'pv-img'; + img.decoding = 'async'; + img.onload = () => { + if (state.dead) return resolve(); + host.innerHTML = ''; + host.appendChild(img); + host.classList.add('zoomable'); + img.onclick = () => host.classList.toggle('actual'); + note(host, `${img.naturalWidth} × ${img.naturalHeight} px — clique para alternar entre ajustar e tamanho real.`); + resolve(); + }; + img.onerror = () => { if (!state.dead) failure(host, item, 'A imagem não pôde ser decodificada.', true); resolve(); }; + img.src = url; + }); +} + +function media(host, item, url, tag, state) { + const el = document.createElement(tag); + el.controls = true; + el.preload = 'metadata'; + el.className = `pv-${tag}`; + if (tag === 'video') el.playsInline = true; + el.onerror = () => { if (!state.dead) failure(host, item, `Não foi possível reproduzir este ${tag === 'video' ? 'vídeo' : 'áudio'}.`, true); }; + el.src = url; + host.innerHTML = ''; + host.appendChild(el); + state.cleanup.push(() => { el.pause?.(); el.removeAttribute('src'); el.load?.(); }); +} + +let pdfjsPromise; +function loadPdfjs() { + pdfjsPromise ??= import('./vendor/pdf.min.mjs').then((m) => { + m.GlobalWorkerOptions.workerSrc = new URL('./vendor/pdf.worker.min.mjs', import.meta.url).href; + return m; + }); + return pdfjsPromise; +} + +async function pdf(host, item, url, state, large) { + const pdfjs = await loadPdfjs(); + const task = pdfjs.getDocument({ url, disableAutoFetch: true, isEvalSupported: false }); + state.cleanup.push(() => task.destroy()); + const doc = await task.promise; + if (state.dead) return; + host.innerHTML = '
    '; + const canvas = host.querySelector('canvas'); + const label = host.querySelector('.pg'); + let n = 1, busy = false; + async function draw() { + if (busy || state.dead) return; + busy = true; + try { + const page = await doc.getPage(n); + const base = page.getViewport({ scale: 1 }); + const width = Math.max(240, (host.clientWidth || 320) - 16); + const scale = (width / base.width) * (large ? 1 : 1); + const dpr = window.devicePixelRatio || 1; + const vp = page.getViewport({ scale: scale * dpr }); + canvas.width = vp.width; canvas.height = vp.height; + canvas.style.width = `${vp.width / dpr}px`; + await page.render({ canvasContext: canvas.getContext('2d'), viewport: vp }).promise; + label.textContent = `Página ${n} de ${doc.numPages}`; + } catch (e) { + if (!state.dead) { host.innerHTML = ''; failure(host, item, e, true); } + } + busy = false; + } + host.querySelectorAll('[data-d]').forEach((b) => (b.onclick = () => { n = Math.min(doc.numPages, Math.max(1, n + +b.dataset.d)); draw(); })); + await draw(); +} + +const colIndex = (ref) => [...ref.replace(/\d+/g, '')].reduce((a, c) => a * 26 + c.charCodeAt(0) - 64, 0) - 1; +const colName = (i) => { let s = ''; i++; while (i > 0) { s = String.fromCharCode(65 + ((i - 1) % 26)) + s; i = Math.floor((i - 1) / 26); } return s; }; + +async function office(host, item, url, state) { + const ents = await zipDir(url, item.size); + const find = (n) => ents.find((e) => e.name === n); + const ext = item.ext.toLowerCase(); + let html = ''; + if (ext === 'docx') { + const d = xml(await zipRead(url, find('word/document.xml'))); + const paras = [...d.getElementsByTagName('w:p')].slice(0, 400).map((p) => { + let t = ''; + p.querySelectorAll('t, tab, br').forEach((n) => { t += n.localName === 't' ? n.textContent : n.localName === 'tab' ? '\t' : '\n'; }); + const h = p.querySelector('pStyle')?.getAttribute('w:val') || ''; + const tag = /^(Heading|Ttulo|Title)/i.test(h) ? 'h4' : 'p'; + return t.trim() ? `<${tag}>${esc(t)}` : ''; + }); + html = `
    ${paras.join('') || '

    Sem texto.

    '}
    `; + } else if (ext === 'odt') { + const d = xml(await zipRead(url, find('content.xml'))); + const els = [...d.getElementsByTagName('text:p'), ...[]].slice(0, 400); + html = `
    ${els.map((p) => (p.textContent.trim() ? `

    ${esc(p.textContent)}

    ` : '')).join('') || '

    Sem texto.

    '}
    `; + } else if (ext === 'xlsx') { + const ss = find('xl/sharedStrings.xml'); + const strings = ss ? [...xml(await zipRead(url, ss)).getElementsByTagName('si')].map((si) => si.textContent) : []; + const sheet = ents.filter((e) => /^xl\/worksheets\/sheet\d+\.xml$/.test(e.name)).sort((a, b) => a.name.localeCompare(b.name, undefined, { numeric: true }))[0]; + const d = xml(await zipRead(url, sheet)); + const rows = [...d.getElementsByTagName('row')].slice(0, 80); + let maxc = 0; + const grid = rows.map((r) => { + const cells = {}; + [...r.getElementsByTagName('c')].forEach((c) => { + const i = colIndex(c.getAttribute('r') || 'A1'); + const v = c.getElementsByTagName('v')[0]?.textContent ?? c.getElementsByTagName('t')[0]?.textContent ?? ''; + cells[i] = c.getAttribute('t') === 's' ? strings[+v] ?? '' : v; + maxc = Math.max(maxc, i + 1); + }); + return [r.getAttribute('r'), cells]; + }); + maxc = Math.min(maxc, 16); + html = `
    ${Array.from({ length: maxc }, (_, i) => ``).join('')}${grid + .map(([n, cells]) => `${Array.from({ length: maxc }, (_, i) => ``).join('')}`).join('')}
    ${colName(i)}
    ${esc(n)}${esc(cells[i] ?? '')}
    `; + } else if (ext === 'ods') { + const d = xml(await zipRead(url, find('content.xml'))); + const rows = [...d.getElementsByTagName('table:table-row')].slice(0, 80); + html = `
    ${rows.map((r) => `${[...r.getElementsByTagName('table:table-cell')].slice(0, 16).map((c) => ``).join('')}`).join('')}
    ${esc(c.textContent)}
    `; + } else { + // pptx / odp: texto por slide + let slides; + if (ext === 'pptx') { + const files = ents.filter((e) => /^ppt\/slides\/slide\d+\.xml$/.test(e.name)).sort((a, b) => a.name.localeCompare(b.name, undefined, { numeric: true })).slice(0, 60); + slides = []; + for (const f of files) { + const d = xml(await zipRead(url, f)); + slides.push([...d.getElementsByTagName('a:p')].map((p) => p.textContent).filter((t) => t.trim())); + } + } else { + const d = xml(await zipRead(url, find('content.xml'))); + slides = [...d.getElementsByTagName('draw:page')].slice(0, 60).map((pg) => [...pg.getElementsByTagName('text:p')].map((p) => p.textContent).filter((t) => t.trim())); + } + html = slides.map((s, i) => `
    Slide ${i + 1}${s.map((t, j) => (j === 0 ? `

    ${esc(t)}

    ` : `

    ${esc(t)}

    `)).join('') || '

    Sem texto.

    '}
    `).join(''); + } + if (state.dead) return; + host.innerHTML = html; + note(host, 'Texto extraído do documento. A formatação, as imagens e os gráficos originais não são exibidos.'); +} + +async function zip(host, item, url, state) { + const ents = await zipDir(url, item.size); + if (state.dead) return; + host.innerHTML = `
      ${ents.slice(0, 400).map((e) => `
    • ${esc(e.name)}${e.name.endsWith('/') ? 'pasta' : human(e.usize)}
    • `).join('')}
    `; + note(host, `${ents.length} item(ns) no arquivo compactado.`); +} + +// ------------------------------------------------------------------ API +/** Desenha a pré-visualização de `item` dentro de `host`. Devolve uma função de limpeza. */ +export function renderPreview(host, item, { url, large = false }) { + const state = { dead: false, cleanup: [] }; + host.dataset.url = url; + host.classList.remove('zoomable', 'actual'); + host.innerHTML = '
    '; + const kind = kindOf(item); + (async () => { + try { + if (!item.size) { host.innerHTML = ''; note(host, 'Arquivo vazio.'); return; } + if (kind === 'image') await image(host, item, url, state); + else if (kind === 'video') media(host, item, url, 'video', state); + else if (kind === 'audio') media(host, item, url, 'audio', state); + else if (kind === 'pdf') await pdf(host, item, url, state, large); + else if (kind === 'office') await office(host, item, url, state); + else if (kind === 'zip') await zip(host, item, url, state); + else if (kind === 'text') { host.innerHTML = ''; await text(host, item, url, large); } + else { host.innerHTML = ''; await hex(host, item, url, large); } + } catch (e) { + if (!state.dead) await failure(host, item, e, kind !== 'hex' && kind !== 'text'); + } + })(); + return () => { state.dead = true; state.cleanup.forEach((f) => { try { f(); } catch { /* ignora */ } }); }; +} diff --git a/apps/gui/ui/vendor/PDFJS-LICENSE b/apps/gui/ui/vendor/PDFJS-LICENSE new file mode 100644 index 0000000..f433b1a --- /dev/null +++ b/apps/gui/ui/vendor/PDFJS-LICENSE @@ -0,0 +1,177 @@ + + Apache License + Version 2.0, January 2004 + http://www.apache.org/licenses/ + + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + + 1. Definitions. + + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. + + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. + + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. + + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. + + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. + + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). + + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. + + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." + + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. + + 2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. + + 3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. + + 4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: + + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and + + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and + + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and + + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. + + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. + + 5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. + + 6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. + + 7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. + + 8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. + + 9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. + + END OF TERMS AND CONDITIONS diff --git a/apps/gui/ui/vendor/README.md b/apps/gui/ui/vendor/README.md new file mode 100644 index 0000000..d3c65c3 --- /dev/null +++ b/apps/gui/ui/vendor/README.md @@ -0,0 +1,3 @@ +# Bibliotecas de terceiros + +- **pdf.js** 4.10.38 (build "legacy"), © Mozilla, licença Apache-2.0 (`PDFJS-LICENSE`). Usada só para pré-visualizar PDFs, localmente e sem internet. Origem: https://github.com/mozilla/pdf.js diff --git a/apps/gui/ui/vendor/pdf.min.mjs b/apps/gui/ui/vendor/pdf.min.mjs new file mode 100644 index 0000000..5bafcc3 --- /dev/null +++ b/apps/gui/ui/vendor/pdf.min.mjs @@ -0,0 +1,21 @@ +/** + * @licstart The following is the entire license notice for the + * JavaScript code in this page + * + * Copyright 2024 Mozilla Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + * @licend The above is the entire license notice for the + * JavaScript code in this page + */var t={9306:(t,e,i)=>{var s=i(4901),n=i(6823),r=TypeError;t.exports=function(t){if(s(t))return t;throw new r(n(t)+" is not a function")}},3506:(t,e,i)=>{var s=i(3925),n=String,r=TypeError;t.exports=function(t){if(s(t))return t;throw new r("Can't set "+n(t)+" as a prototype")}},7080:(t,e,i)=>{var s=i(4402).has;t.exports=function(t){s(t);return t}},679:(t,e,i)=>{var s=i(1625),n=TypeError;t.exports=function(t,e){if(s(e,t))return t;throw new n("Incorrect invocation")}},8551:(t,e,i)=>{var s=i(34),n=String,r=TypeError;t.exports=function(t){if(s(t))return t;throw new r(n(t)+" is not an object")}},7811:t=>{t.exports="undefined"!=typeof ArrayBuffer&&"undefined"!=typeof DataView},7394:(t,e,i)=>{var s=i(4576),n=i(6706),r=i(2195),a=s.ArrayBuffer,o=s.TypeError;t.exports=a&&n(a.prototype,"byteLength","get")||function(t){if("ArrayBuffer"!==r(t))throw new o("ArrayBuffer expected");return t.byteLength}},3238:(t,e,i)=>{var s=i(4576),n=i(7476),r=i(7394),a=s.ArrayBuffer,o=a&&a.prototype,l=o&&n(o.slice);t.exports=function(t){if(0!==r(t))return!1;if(!l)return!1;try{l(t,0,0);return!1}catch(t){return!0}}},5169:(t,e,i)=>{var s=i(3238),n=TypeError;t.exports=function(t){if(s(t))throw new n("ArrayBuffer is detached");return t}},5636:(t,e,i)=>{var s=i(4576),n=i(9504),r=i(6706),a=i(7696),o=i(5169),l=i(7394),h=i(4483),c=i(1548),d=s.structuredClone,u=s.ArrayBuffer,p=s.DataView,g=Math.min,f=u.prototype,m=p.prototype,b=n(f.slice),v=r(f,"resizable","get"),y=r(f,"maxByteLength","get"),w=n(m.getInt8),A=n(m.setInt8);t.exports=(c||h)&&function(t,e,i){var s,n=l(t),r=void 0===e?n:a(e),f=!v||!v(t);o(t);if(c){t=d(t,{transfer:[t]});if(n===r&&(i||f))return t}if(n>=r&&(!i||f))s=b(t,0,r);else{var m=i&&!f&&y?{maxByteLength:y(t)}:void 0;s=new u(r,m);for(var x=new p(t),_=new p(s),E=g(r,n),S=0;S{var s,n,r,a=i(7811),o=i(3724),l=i(4576),h=i(4901),c=i(34),d=i(9297),u=i(6955),p=i(6823),g=i(6699),f=i(6840),m=i(2106),b=i(1625),v=i(2787),y=i(2967),w=i(8227),A=i(3392),x=i(1181),_=x.enforce,E=x.get,S=l.Int8Array,C=S&&S.prototype,T=l.Uint8ClampedArray,M=T&&T.prototype,P=S&&v(S),D=C&&v(C),k=Object.prototype,R=l.TypeError,I=w("toStringTag"),L=A("TYPED_ARRAY_TAG"),O="TypedArrayConstructor",N=a&&!!y&&"Opera"!==u(l.opera),B=!1,H={Int8Array:1,Uint8Array:1,Uint8ClampedArray:1,Int16Array:2,Uint16Array:2,Int32Array:4,Uint32Array:4,Float32Array:4,Float64Array:8},U={BigInt64Array:8,BigUint64Array:8},getTypedArrayConstructor=function(t){var e=v(t);if(c(e)){var i=E(e);return i&&d(i,O)?i[O]:getTypedArrayConstructor(e)}},isTypedArray=function(t){if(!c(t))return!1;var e=u(t);return d(H,e)||d(U,e)};for(s in H)(r=(n=l[s])&&n.prototype)?_(r)[O]=n:N=!1;for(s in U)(r=(n=l[s])&&n.prototype)&&(_(r)[O]=n);if(!N||!h(P)||P===Function.prototype){P=function TypedArray(){throw new R("Incorrect invocation")};if(N)for(s in H)l[s]&&y(l[s],P)}if(!N||!D||D===k){D=P.prototype;if(N)for(s in H)l[s]&&y(l[s].prototype,D)}N&&v(M)!==D&&y(M,D);if(o&&!d(D,I)){B=!0;m(D,I,{configurable:!0,get:function(){return c(this)?this[L]:void 0}});for(s in H)l[s]&&g(l[s],L,s)}t.exports={NATIVE_ARRAY_BUFFER_VIEWS:N,TYPED_ARRAY_TAG:B&&L,aTypedArray:function(t){if(isTypedArray(t))return t;throw new R("Target is not a typed array")},aTypedArrayConstructor:function(t){if(h(t)&&(!y||b(P,t)))return t;throw new R(p(t)+" is not a typed array constructor")},exportTypedArrayMethod:function(t,e,i,s){if(o){if(i)for(var n in H){var r=l[n];if(r&&d(r.prototype,t))try{delete r.prototype[t]}catch(i){try{r.prototype[t]=e}catch(t){}}}D[t]&&!i||f(D,t,i?e:N&&C[t]||e,s)}},exportTypedArrayStaticMethod:function(t,e,i){var s,n;if(o){if(y){if(i)for(s in H)if((n=l[s])&&d(n,t))try{delete n[t]}catch(t){}if(P[t]&&!i)return;try{return f(P,t,i?e:N&&P[t]||e)}catch(t){}}for(s in H)!(n=l[s])||n[t]&&!i||f(n,t,e)}},getTypedArrayConstructor,isView:function isView(t){if(!c(t))return!1;var e=u(t);return"DataView"===e||d(H,e)||d(U,e)},isTypedArray,TypedArray:P,TypedArrayPrototype:D}},5370:(t,e,i)=>{var s=i(6198);t.exports=function(t,e,i){for(var n=0,r=arguments.length>2?i:s(e),a=new t(r);r>n;)a[n]=e[n++];return a}},9617:(t,e,i)=>{var s=i(5397),n=i(5610),r=i(6198),createMethod=function(t){return function(e,i,a){var o=s(e),l=r(o);if(0===l)return!t&&-1;var h,c=n(a,l);if(t&&i!=i){for(;l>c;)if((h=o[c++])!=h)return!0}else for(;l>c;c++)if((t||c in o)&&o[c]===i)return t||c||0;return!t&&-1}};t.exports={includes:createMethod(!0),indexOf:createMethod(!1)}},4527:(t,e,i)=>{var s=i(3724),n=i(4376),r=TypeError,a=Object.getOwnPropertyDescriptor,o=s&&!function(){if(void 0!==this)return!0;try{Object.defineProperty([],"length",{writable:!1}).length=1}catch(t){return t instanceof TypeError}}();t.exports=o?function(t,e){if(n(t)&&!a(t,"length").writable)throw new r("Cannot set read only .length");return t.length=e}:function(t,e){return t.length=e}},7680:(t,e,i)=>{var s=i(9504);t.exports=s([].slice)},7628:(t,e,i)=>{var s=i(6198);t.exports=function(t,e){for(var i=s(t),n=new e(i),r=0;r{var s=i(6198),n=i(1291),r=RangeError;t.exports=function(t,e,i,a){var o=s(t),l=n(i),h=l<0?o+l:l;if(h>=o||h<0)throw new r("Incorrect index");for(var c=new e(o),d=0;d{var s=i(8551),n=i(9539);t.exports=function(t,e,i,r){try{return r?e(s(i)[0],i[1]):e(i)}catch(e){n(t,"throw",e)}}},2195:(t,e,i)=>{var s=i(9504),n=s({}.toString),r=s("".slice);t.exports=function(t){return r(n(t),8,-1)}},6955:(t,e,i)=>{var s=i(2140),n=i(4901),r=i(2195),a=i(8227)("toStringTag"),o=Object,l="Arguments"===r(function(){return arguments}());t.exports=s?r:function(t){var e,i,s;return void 0===t?"Undefined":null===t?"Null":"string"==typeof(i=function(t,e){try{return t[e]}catch(t){}}(e=o(t),a))?i:l?r(e):"Object"===(s=r(e))&&n(e.callee)?"Arguments":s}},7740:(t,e,i)=>{var s=i(9297),n=i(5031),r=i(7347),a=i(4913);t.exports=function(t,e,i){for(var o=n(e),l=a.f,h=r.f,c=0;c{var s=i(9039);t.exports=!s((function(){function F(){}F.prototype.constructor=null;return Object.getPrototypeOf(new F)!==F.prototype}))},2529:t=>{t.exports=function(t,e){return{value:t,done:e}}},6699:(t,e,i)=>{var s=i(3724),n=i(4913),r=i(6980);t.exports=s?function(t,e,i){return n.f(t,e,r(1,i))}:function(t,e,i){t[e]=i;return t}},6980:t=>{t.exports=function(t,e){return{enumerable:!(1&t),configurable:!(2&t),writable:!(4&t),value:e}}},4659:(t,e,i)=>{var s=i(3724),n=i(4913),r=i(6980);t.exports=function(t,e,i){s?n.f(t,e,r(0,i)):t[e]=i}},2106:(t,e,i)=>{var s=i(283),n=i(4913);t.exports=function(t,e,i){i.get&&s(i.get,e,{getter:!0});i.set&&s(i.set,e,{setter:!0});return n.f(t,e,i)}},6840:(t,e,i)=>{var s=i(4901),n=i(4913),r=i(283),a=i(9433);t.exports=function(t,e,i,o){o||(o={});var l=o.enumerable,h=void 0!==o.name?o.name:e;s(i)&&r(i,h,o);if(o.global)l?t[e]=i:a(e,i);else{try{o.unsafe?t[e]&&(l=!0):delete t[e]}catch(t){}l?t[e]=i:n.f(t,e,{value:i,enumerable:!1,configurable:!o.nonConfigurable,writable:!o.nonWritable})}return t}},6279:(t,e,i)=>{var s=i(6840);t.exports=function(t,e,i){for(var n in e)s(t,n,e[n],i);return t}},9433:(t,e,i)=>{var s=i(4576),n=Object.defineProperty;t.exports=function(t,e){try{n(s,t,{value:e,configurable:!0,writable:!0})}catch(i){s[t]=e}return e}},3724:(t,e,i)=>{var s=i(9039);t.exports=!s((function(){return 7!==Object.defineProperty({},1,{get:function(){return 7}})[1]}))},4483:(t,e,i)=>{var s,n,r,a,o=i(4576),l=i(9429),h=i(1548),c=o.structuredClone,d=o.ArrayBuffer,u=o.MessageChannel,p=!1;if(h)p=function(t){c(t,{transfer:[t]})};else if(d)try{u||(s=l("worker_threads"))&&(u=s.MessageChannel);if(u){n=new u;r=new d(2);a=function(t){n.port1.postMessage(null,[t])};if(2===r.byteLength){a(r);0===r.byteLength&&(p=a)}}}catch(t){}t.exports=p},4055:(t,e,i)=>{var s=i(4576),n=i(34),r=s.document,a=n(r)&&n(r.createElement);t.exports=function(t){return a?r.createElement(t):{}}},6837:t=>{var e=TypeError;t.exports=function(t){if(t>9007199254740991)throw e("Maximum allowed index exceeded");return t}},5002:t=>{t.exports={IndexSizeError:{s:"INDEX_SIZE_ERR",c:1,m:1},DOMStringSizeError:{s:"DOMSTRING_SIZE_ERR",c:2,m:0},HierarchyRequestError:{s:"HIERARCHY_REQUEST_ERR",c:3,m:1},WrongDocumentError:{s:"WRONG_DOCUMENT_ERR",c:4,m:1},InvalidCharacterError:{s:"INVALID_CHARACTER_ERR",c:5,m:1},NoDataAllowedError:{s:"NO_DATA_ALLOWED_ERR",c:6,m:0},NoModificationAllowedError:{s:"NO_MODIFICATION_ALLOWED_ERR",c:7,m:1},NotFoundError:{s:"NOT_FOUND_ERR",c:8,m:1},NotSupportedError:{s:"NOT_SUPPORTED_ERR",c:9,m:1},InUseAttributeError:{s:"INUSE_ATTRIBUTE_ERR",c:10,m:1},InvalidStateError:{s:"INVALID_STATE_ERR",c:11,m:1},SyntaxError:{s:"SYNTAX_ERR",c:12,m:1},InvalidModificationError:{s:"INVALID_MODIFICATION_ERR",c:13,m:1},NamespaceError:{s:"NAMESPACE_ERR",c:14,m:1},InvalidAccessError:{s:"INVALID_ACCESS_ERR",c:15,m:1},ValidationError:{s:"VALIDATION_ERR",c:16,m:0},TypeMismatchError:{s:"TYPE_MISMATCH_ERR",c:17,m:1},SecurityError:{s:"SECURITY_ERR",c:18,m:1},NetworkError:{s:"NETWORK_ERR",c:19,m:1},AbortError:{s:"ABORT_ERR",c:20,m:1},URLMismatchError:{s:"URL_MISMATCH_ERR",c:21,m:1},QuotaExceededError:{s:"QUOTA_EXCEEDED_ERR",c:22,m:1},TimeoutError:{s:"TIMEOUT_ERR",c:23,m:1},InvalidNodeTypeError:{s:"INVALID_NODE_TYPE_ERR",c:24,m:1},DataCloneError:{s:"DATA_CLONE_ERR",c:25,m:1}}},8727:t=>{t.exports=["constructor","hasOwnProperty","isPrototypeOf","propertyIsEnumerable","toLocaleString","toString","valueOf"]},6193:(t,e,i)=>{var s=i(4215);t.exports="NODE"===s},2839:(t,e,i)=>{var s=i(4576).navigator,n=s&&s.userAgent;t.exports=n?String(n):""},9519:(t,e,i)=>{var s,n,r=i(4576),a=i(2839),o=r.process,l=r.Deno,h=o&&o.versions||l&&l.version,c=h&&h.v8;c&&(n=(s=c.split("."))[0]>0&&s[0]<4?1:+(s[0]+s[1]));!n&&a&&(!(s=a.match(/Edge\/(\d+)/))||s[1]>=74)&&(s=a.match(/Chrome\/(\d+)/))&&(n=+s[1]);t.exports=n},4215:(t,e,i)=>{var s=i(4576),n=i(2839),r=i(2195),userAgentStartsWith=function(t){return n.slice(0,t.length)===t};t.exports=userAgentStartsWith("Bun/")?"BUN":userAgentStartsWith("Cloudflare-Workers")?"CLOUDFLARE":userAgentStartsWith("Deno/")?"DENO":userAgentStartsWith("Node.js/")?"NODE":s.Bun&&"string"==typeof Bun.version?"BUN":s.Deno&&"object"==typeof Deno.version?"DENO":"process"===r(s.process)?"NODE":s.window&&s.document?"BROWSER":"REST"},8574:(t,e,i)=>{var s=i(9504),n=Error,r=s("".replace),a=String(new n("zxcasd").stack),o=/\n\s*at [^:]*:[^\n]*/,l=o.test(a);t.exports=function(t,e){if(l&&"string"==typeof t&&!n.prepareStackTrace)for(;e--;)t=r(t,o,"");return t}},6518:(t,e,i)=>{var s=i(4576),n=i(7347).f,r=i(6699),a=i(6840),o=i(9433),l=i(7740),h=i(2796);t.exports=function(t,e){var i,c,d,u,p,g=t.target,f=t.global,m=t.stat;if(i=f?s:m?s[g]||o(g,{}):s[g]&&s[g].prototype)for(c in e){u=e[c];d=t.dontCallGetSet?(p=n(i,c))&&p.value:i[c];if(!h(f?c:g+(m?".":"#")+c,t.forced)&&void 0!==d){if(typeof u==typeof d)continue;l(u,d)}(t.sham||d&&d.sham)&&r(u,"sham",!0);a(i,c,u,t)}}},9039:t=>{t.exports=function(t){try{return!!t()}catch(t){return!0}}},8745:(t,e,i)=>{var s=i(616),n=Function.prototype,r=n.apply,a=n.call;t.exports="object"==typeof Reflect&&Reflect.apply||(s?a.bind(r):function(){return a.apply(r,arguments)})},6080:(t,e,i)=>{var s=i(7476),n=i(9306),r=i(616),a=s(s.bind);t.exports=function(t,e){n(t);return void 0===e?t:r?a(t,e):function(){return t.apply(e,arguments)}}},616:(t,e,i)=>{var s=i(9039);t.exports=!s((function(){var t=function(){}.bind();return"function"!=typeof t||t.hasOwnProperty("prototype")}))},9565:(t,e,i)=>{var s=i(616),n=Function.prototype.call;t.exports=s?n.bind(n):function(){return n.apply(n,arguments)}},350:(t,e,i)=>{var s=i(3724),n=i(9297),r=Function.prototype,a=s&&Object.getOwnPropertyDescriptor,o=n(r,"name"),l=o&&"something"===function something(){}.name,h=o&&(!s||s&&a(r,"name").configurable);t.exports={EXISTS:o,PROPER:l,CONFIGURABLE:h}},6706:(t,e,i)=>{var s=i(9504),n=i(9306);t.exports=function(t,e,i){try{return s(n(Object.getOwnPropertyDescriptor(t,e)[i]))}catch(t){}}},7476:(t,e,i)=>{var s=i(2195),n=i(9504);t.exports=function(t){if("Function"===s(t))return n(t)}},9504:(t,e,i)=>{var s=i(616),n=Function.prototype,r=n.call,a=s&&n.bind.bind(r,r);t.exports=s?a:function(t){return function(){return r.apply(t,arguments)}}},9429:(t,e,i)=>{var s=i(4576),n=i(6193);t.exports=function(t){if(n){try{return s.process.getBuiltinModule(t)}catch(t){}try{return Function('return require("'+t+'")')()}catch(t){}}}},7751:(t,e,i)=>{var s=i(4576),n=i(4901);t.exports=function(t,e){return arguments.length<2?(i=s[t],n(i)?i:void 0):s[t]&&s[t][e];var i}},1767:t=>{t.exports=function(t){return{iterator:t,next:t.next,done:!1}}},8646:(t,e,i)=>{var s=i(9565),n=i(8551),r=i(1767),a=i(851);t.exports=function(t,e){e&&"string"==typeof t||n(t);var i=a(t);return r(n(void 0!==i?s(i,t):t))}},851:(t,e,i)=>{var s=i(6955),n=i(5966),r=i(4117),a=i(6269),o=i(8227)("iterator");t.exports=function(t){if(!r(t))return n(t,o)||n(t,"@@iterator")||a[s(t)]}},81:(t,e,i)=>{var s=i(9565),n=i(9306),r=i(8551),a=i(6823),o=i(851),l=TypeError;t.exports=function(t,e){var i=arguments.length<2?o(t):e;if(n(i))return r(s(i,t));throw new l(a(t)+" is not iterable")}},5966:(t,e,i)=>{var s=i(9306),n=i(4117);t.exports=function(t,e){var i=t[e];return n(i)?void 0:s(i)}},3789:(t,e,i)=>{var s=i(9306),n=i(8551),r=i(9565),a=i(1291),o=i(1767),l="Invalid size",h=RangeError,c=TypeError,d=Math.max,SetRecord=function(t,e){this.set=t;this.size=d(e,0);this.has=s(t.has);this.keys=s(t.keys)};SetRecord.prototype={getIterator:function(){return o(n(r(this.keys,this.set)))},includes:function(t){return r(this.has,this.set,t)}};t.exports=function(t){n(t);var e=+t.size;if(e!=e)throw new c(l);var i=a(e);if(i<0)throw new h(l);return new SetRecord(t,i)}},4576:function(t){var check=function(t){return t&&t.Math===Math&&t};t.exports=check("object"==typeof globalThis&&globalThis)||check("object"==typeof window&&window)||check("object"==typeof self&&self)||check("object"==typeof global&&global)||check("object"==typeof this&&this)||function(){return this}()||Function("return this")()},9297:(t,e,i)=>{var s=i(9504),n=i(8981),r=s({}.hasOwnProperty);t.exports=Object.hasOwn||function hasOwn(t,e){return r(n(t),e)}},421:t=>{t.exports={}},397:(t,e,i)=>{var s=i(7751);t.exports=s("document","documentElement")},5917:(t,e,i)=>{var s=i(3724),n=i(9039),r=i(4055);t.exports=!s&&!n((function(){return 7!==Object.defineProperty(r("div"),"a",{get:function(){return 7}}).a}))},7055:(t,e,i)=>{var s=i(9504),n=i(9039),r=i(2195),a=Object,o=s("".split);t.exports=n((function(){return!a("z").propertyIsEnumerable(0)}))?function(t){return"String"===r(t)?o(t,""):a(t)}:a},3167:(t,e,i)=>{var s=i(4901),n=i(34),r=i(2967);t.exports=function(t,e,i){var a,o;r&&s(a=e.constructor)&&a!==i&&n(o=a.prototype)&&o!==i.prototype&&r(t,o);return t}},3706:(t,e,i)=>{var s=i(9504),n=i(4901),r=i(7629),a=s(Function.toString);n(r.inspectSource)||(r.inspectSource=function(t){return a(t)});t.exports=r.inspectSource},1181:(t,e,i)=>{var s,n,r,a=i(8622),o=i(4576),l=i(34),h=i(6699),c=i(9297),d=i(7629),u=i(6119),p=i(421),g="Object already initialized",f=o.TypeError,m=o.WeakMap;if(a||d.state){var b=d.state||(d.state=new m);b.get=b.get;b.has=b.has;b.set=b.set;s=function(t,e){if(b.has(t))throw new f(g);e.facade=t;b.set(t,e);return e};n=function(t){return b.get(t)||{}};r=function(t){return b.has(t)}}else{var v=u("state");p[v]=!0;s=function(t,e){if(c(t,v))throw new f(g);e.facade=t;h(t,v,e);return e};n=function(t){return c(t,v)?t[v]:{}};r=function(t){return c(t,v)}}t.exports={set:s,get:n,has:r,enforce:function(t){return r(t)?n(t):s(t,{})},getterFor:function(t){return function(e){var i;if(!l(e)||(i=n(e)).type!==t)throw new f("Incompatible receiver, "+t+" required");return i}}}},4209:(t,e,i)=>{var s=i(8227),n=i(6269),r=s("iterator"),a=Array.prototype;t.exports=function(t){return void 0!==t&&(n.Array===t||a[r]===t)}},4376:(t,e,i)=>{var s=i(2195);t.exports=Array.isArray||function isArray(t){return"Array"===s(t)}},1108:(t,e,i)=>{var s=i(6955);t.exports=function(t){var e=s(t);return"BigInt64Array"===e||"BigUint64Array"===e}},4901:t=>{var e="object"==typeof document&&document.all;t.exports=void 0===e&&void 0!==e?function(t){return"function"==typeof t||t===e}:function(t){return"function"==typeof t}},2796:(t,e,i)=>{var s=i(9039),n=i(4901),r=/#|\.prototype\./,isForced=function(t,e){var i=o[a(t)];return i===h||i!==l&&(n(e)?s(e):!!e)},a=isForced.normalize=function(t){return String(t).replace(r,".").toLowerCase()},o=isForced.data={},l=isForced.NATIVE="N",h=isForced.POLYFILL="P";t.exports=isForced},4117:t=>{t.exports=function(t){return null==t}},34:(t,e,i)=>{var s=i(4901);t.exports=function(t){return"object"==typeof t?null!==t:s(t)}},3925:(t,e,i)=>{var s=i(34);t.exports=function(t){return s(t)||null===t}},6395:t=>{t.exports=!1},757:(t,e,i)=>{var s=i(7751),n=i(4901),r=i(1625),a=i(7040),o=Object;t.exports=a?function(t){return"symbol"==typeof t}:function(t){var e=s("Symbol");return n(e)&&r(e.prototype,o(t))}},507:(t,e,i)=>{var s=i(9565);t.exports=function(t,e,i){for(var n,r,a=i?t:t.iterator,o=t.next;!(n=s(o,a)).done;)if(void 0!==(r=e(n.value)))return r}},2652:(t,e,i)=>{var s=i(6080),n=i(9565),r=i(8551),a=i(6823),o=i(4209),l=i(6198),h=i(1625),c=i(81),d=i(851),u=i(9539),p=TypeError,Result=function(t,e){this.stopped=t;this.result=e},g=Result.prototype;t.exports=function(t,e,i){var f,m,b,v,y,w,A,x=i&&i.that,_=!(!i||!i.AS_ENTRIES),E=!(!i||!i.IS_RECORD),S=!(!i||!i.IS_ITERATOR),C=!(!i||!i.INTERRUPTED),T=s(e,x),stop=function(t){f&&u(f,"normal",t);return new Result(!0,t)},callFn=function(t){if(_){r(t);return C?T(t[0],t[1],stop):T(t[0],t[1])}return C?T(t,stop):T(t)};if(E)f=t.iterator;else if(S)f=t;else{if(!(m=d(t)))throw new p(a(t)+" is not iterable");if(o(m)){for(b=0,v=l(t);v>b;b++)if((y=callFn(t[b]))&&h(g,y))return y;return new Result(!1)}f=c(t,m)}w=E?t.next:f.next;for(;!(A=n(w,f)).done;){try{y=callFn(A.value)}catch(t){u(f,"throw",t)}if("object"==typeof y&&y&&h(g,y))return y}return new Result(!1)}},9539:(t,e,i)=>{var s=i(9565),n=i(8551),r=i(5966);t.exports=function(t,e,i){var a,o;n(t);try{if(!(a=r(t,"return"))){if("throw"===e)throw i;return i}a=s(a,t)}catch(t){o=!0;a=t}if("throw"===e)throw i;if(o)throw a;n(a);return i}},9462:(t,e,i)=>{var s=i(9565),n=i(2360),r=i(6699),a=i(6279),o=i(8227),l=i(1181),h=i(5966),c=i(7657).IteratorPrototype,d=i(2529),u=i(9539),p=o("toStringTag"),g="IteratorHelper",f="WrapForValidIterator",m=l.set,createIteratorProxyPrototype=function(t){var e=l.getterFor(t?f:g);return a(n(c),{next:function next(){var i=e(this);if(t)return i.nextHandler();try{var s=i.done?void 0:i.nextHandler();return d(s,i.done)}catch(t){i.done=!0;throw t}},return:function(){var i=e(this),n=i.iterator;i.done=!0;if(t){var r=h(n,"return");return r?s(r,n):d(void 0,!0)}if(i.inner)try{u(i.inner.iterator,"normal")}catch(t){return u(n,"throw",t)}n&&u(n,"normal");return d(void 0,!0)}})},b=createIteratorProxyPrototype(!0),v=createIteratorProxyPrototype(!1);r(v,p,"Iterator Helper");t.exports=function(t,e){var i=function Iterator(i,s){if(s){s.iterator=i.iterator;s.next=i.next}else s=i;s.type=e?f:g;s.nextHandler=t;s.counter=0;s.done=!1;m(this,s)};i.prototype=e?b:v;return i}},713:(t,e,i)=>{var s=i(9565),n=i(9306),r=i(8551),a=i(1767),o=i(9462),l=i(6319),h=o((function(){var t=this.iterator,e=r(s(this.next,t));if(!(this.done=!!e.done))return l(t,this.mapper,[e.value,this.counter++],!0)}));t.exports=function map(t){r(this);n(t);return new h(a(this),{mapper:t})}},7657:(t,e,i)=>{var s,n,r,a=i(9039),o=i(4901),l=i(34),h=i(2360),c=i(2787),d=i(6840),u=i(8227),p=i(6395),g=u("iterator"),f=!1;[].keys&&("next"in(r=[].keys())?(n=c(c(r)))!==Object.prototype&&(s=n):f=!0);!l(s)||a((function(){var t={};return s[g].call(t)!==t}))?s={}:p&&(s=h(s));o(s[g])||d(s,g,(function(){return this}));t.exports={IteratorPrototype:s,BUGGY_SAFARI_ITERATORS:f}},6269:t=>{t.exports={}},6198:(t,e,i)=>{var s=i(8014);t.exports=function(t){return s(t.length)}},283:(t,e,i)=>{var s=i(9504),n=i(9039),r=i(4901),a=i(9297),o=i(3724),l=i(350).CONFIGURABLE,h=i(3706),c=i(1181),d=c.enforce,u=c.get,p=String,g=Object.defineProperty,f=s("".slice),m=s("".replace),b=s([].join),v=o&&!n((function(){return 8!==g((function(){}),"length",{value:8}).length})),y=String(String).split("String"),w=t.exports=function(t,e,i){"Symbol("===f(p(e),0,7)&&(e="["+m(p(e),/^Symbol\(([^)]*)\).*$/,"$1")+"]");i&&i.getter&&(e="get "+e);i&&i.setter&&(e="set "+e);(!a(t,"name")||l&&t.name!==e)&&(o?g(t,"name",{value:e,configurable:!0}):t.name=e);v&&i&&a(i,"arity")&&t.length!==i.arity&&g(t,"length",{value:i.arity});try{i&&a(i,"constructor")&&i.constructor?o&&g(t,"prototype",{writable:!1}):t.prototype&&(t.prototype=void 0)}catch(t){}var s=d(t);a(s,"source")||(s.source=b(y,"string"==typeof e?e:""));return t};Function.prototype.toString=w((function toString(){return r(this)&&u(this).source||h(this)}),"toString")},741:t=>{var e=Math.ceil,i=Math.floor;t.exports=Math.trunc||function trunc(t){var s=+t;return(s>0?i:e)(s)}},6043:(t,e,i)=>{var s=i(9306),n=TypeError,PromiseCapability=function(t){var e,i;this.promise=new t((function(t,s){if(void 0!==e||void 0!==i)throw new n("Bad Promise constructor");e=t;i=s}));this.resolve=s(e);this.reject=s(i)};t.exports.f=function(t){return new PromiseCapability(t)}},2603:(t,e,i)=>{var s=i(655);t.exports=function(t,e){return void 0===t?arguments.length<2?"":e:s(t)}},4149:t=>{var e=RangeError;t.exports=function(t){if(t==t)return t;throw new e("NaN is not allowed")}},2360:(t,e,i)=>{var s,n=i(8551),r=i(6801),a=i(8727),o=i(421),l=i(397),h=i(4055),c=i(6119),d="prototype",u="script",p=c("IE_PROTO"),EmptyConstructor=function(){},scriptTag=function(t){return"<"+u+">"+t+""},NullProtoObjectViaActiveX=function(t){t.write(scriptTag(""));t.close();var e=t.parentWindow.Object;t=null;return e},NullProtoObject=function(){try{s=new ActiveXObject("htmlfile")}catch(t){}NullProtoObject="undefined"!=typeof document?document.domain&&s?NullProtoObjectViaActiveX(s):function(){var t,e=h("iframe"),i="java"+u+":";e.style.display="none";l.appendChild(e);e.src=String(i);(t=e.contentWindow.document).open();t.write(scriptTag("document.F=Object"));t.close();return t.F}():NullProtoObjectViaActiveX(s);for(var t=a.length;t--;)delete NullProtoObject[d][a[t]];return NullProtoObject()};o[p]=!0;t.exports=Object.create||function create(t,e){var i;if(null!==t){EmptyConstructor[d]=n(t);i=new EmptyConstructor;EmptyConstructor[d]=null;i[p]=t}else i=NullProtoObject();return void 0===e?i:r.f(i,e)}},6801:(t,e,i)=>{var s=i(3724),n=i(8686),r=i(4913),a=i(8551),o=i(5397),l=i(1072);e.f=s&&!n?Object.defineProperties:function defineProperties(t,e){a(t);for(var i,s=o(e),n=l(e),h=n.length,c=0;h>c;)r.f(t,i=n[c++],s[i]);return t}},4913:(t,e,i)=>{var s=i(3724),n=i(5917),r=i(8686),a=i(8551),o=i(6969),l=TypeError,h=Object.defineProperty,c=Object.getOwnPropertyDescriptor,d="enumerable",u="configurable",p="writable";e.f=s?r?function defineProperty(t,e,i){a(t);e=o(e);a(i);if("function"==typeof t&&"prototype"===e&&"value"in i&&p in i&&!i[p]){var s=c(t,e);if(s&&s[p]){t[e]=i.value;i={configurable:u in i?i[u]:s[u],enumerable:d in i?i[d]:s[d],writable:!1}}}return h(t,e,i)}:h:function defineProperty(t,e,i){a(t);e=o(e);a(i);if(n)try{return h(t,e,i)}catch(t){}if("get"in i||"set"in i)throw new l("Accessors not supported");"value"in i&&(t[e]=i.value);return t}},7347:(t,e,i)=>{var s=i(3724),n=i(9565),r=i(8773),a=i(6980),o=i(5397),l=i(6969),h=i(9297),c=i(5917),d=Object.getOwnPropertyDescriptor;e.f=s?d:function getOwnPropertyDescriptor(t,e){t=o(t);e=l(e);if(c)try{return d(t,e)}catch(t){}if(h(t,e))return a(!n(r.f,t,e),t[e])}},8480:(t,e,i)=>{var s=i(1828),n=i(8727).concat("length","prototype");e.f=Object.getOwnPropertyNames||function getOwnPropertyNames(t){return s(t,n)}},3717:(t,e)=>{e.f=Object.getOwnPropertySymbols},2787:(t,e,i)=>{var s=i(9297),n=i(4901),r=i(8981),a=i(6119),o=i(2211),l=a("IE_PROTO"),h=Object,c=h.prototype;t.exports=o?h.getPrototypeOf:function(t){var e=r(t);if(s(e,l))return e[l];var i=e.constructor;return n(i)&&e instanceof i?i.prototype:e instanceof h?c:null}},1625:(t,e,i)=>{var s=i(9504);t.exports=s({}.isPrototypeOf)},1828:(t,e,i)=>{var s=i(9504),n=i(9297),r=i(5397),a=i(9617).indexOf,o=i(421),l=s([].push);t.exports=function(t,e){var i,s=r(t),h=0,c=[];for(i in s)!n(o,i)&&n(s,i)&&l(c,i);for(;e.length>h;)n(s,i=e[h++])&&(~a(c,i)||l(c,i));return c}},1072:(t,e,i)=>{var s=i(1828),n=i(8727);t.exports=Object.keys||function keys(t){return s(t,n)}},8773:(t,e)=>{var i={}.propertyIsEnumerable,s=Object.getOwnPropertyDescriptor,n=s&&!i.call({1:2},1);e.f=n?function propertyIsEnumerable(t){var e=s(this,t);return!!e&&e.enumerable}:i},2967:(t,e,i)=>{var s=i(6706),n=i(34),r=i(7750),a=i(3506);t.exports=Object.setPrototypeOf||("__proto__"in{}?function(){var t,e=!1,i={};try{(t=s(Object.prototype,"__proto__","set"))(i,[]);e=i instanceof Array}catch(t){}return function setPrototypeOf(i,s){r(i);a(s);if(!n(i))return i;e?t(i,s):i.__proto__=s;return i}}():void 0)},4270:(t,e,i)=>{var s=i(9565),n=i(4901),r=i(34),a=TypeError;t.exports=function(t,e){var i,o;if("string"===e&&n(i=t.toString)&&!r(o=s(i,t)))return o;if(n(i=t.valueOf)&&!r(o=s(i,t)))return o;if("string"!==e&&n(i=t.toString)&&!r(o=s(i,t)))return o;throw new a("Can't convert object to primitive value")}},5031:(t,e,i)=>{var s=i(7751),n=i(9504),r=i(8480),a=i(3717),o=i(8551),l=n([].concat);t.exports=s("Reflect","ownKeys")||function ownKeys(t){var e=r.f(o(t)),i=a.f;return i?l(e,i(t)):e}},8235:(t,e,i)=>{var s=i(9504),n=i(9297),r=SyntaxError,a=parseInt,o=String.fromCharCode,l=s("".charAt),h=s("".slice),c=s(/./.exec),d={'\\"':'"',"\\\\":"\\","\\/":"/","\\b":"\b","\\f":"\f","\\n":"\n","\\r":"\r","\\t":"\t"},u=/^[\da-f]{4}$/i,p=/^[\u0000-\u001F]$/;t.exports=function(t,e){for(var i=!0,s="";e{t.exports=function(t){try{return{error:!1,value:t()}}catch(t){return{error:!0,value:t}}}},7750:(t,e,i)=>{var s=i(4117),n=TypeError;t.exports=function(t){if(s(t))throw new n("Can't call method on "+t);return t}},9286:(t,e,i)=>{var s=i(4402),n=i(8469),r=s.Set,a=s.add;t.exports=function(t){var e=new r;n(t,(function(t){a(e,t)}));return e}},3440:(t,e,i)=>{var s=i(7080),n=i(4402),r=i(9286),a=i(5170),o=i(3789),l=i(8469),h=i(507),c=n.has,d=n.remove;t.exports=function difference(t){var e=s(this),i=o(t),n=r(e);a(e)<=i.size?l(e,(function(t){i.includes(t)&&d(n,t)})):h(i.getIterator(),(function(t){c(e,t)&&d(n,t)}));return n}},4402:(t,e,i)=>{var s=i(9504),n=Set.prototype;t.exports={Set,add:s(n.add),has:s(n.has),remove:s(n.delete),proto:n}},8750:(t,e,i)=>{var s=i(7080),n=i(4402),r=i(5170),a=i(3789),o=i(8469),l=i(507),h=n.Set,c=n.add,d=n.has;t.exports=function intersection(t){var e=s(this),i=a(t),n=new h;r(e)>i.size?l(i.getIterator(),(function(t){d(e,t)&&c(n,t)})):o(e,(function(t){i.includes(t)&&c(n,t)}));return n}},4449:(t,e,i)=>{var s=i(7080),n=i(4402).has,r=i(5170),a=i(3789),o=i(8469),l=i(507),h=i(9539);t.exports=function isDisjointFrom(t){var e=s(this),i=a(t);if(r(e)<=i.size)return!1!==o(e,(function(t){if(i.includes(t))return!1}),!0);var c=i.getIterator();return!1!==l(c,(function(t){if(n(e,t))return h(c,"normal",!1)}))}},3838:(t,e,i)=>{var s=i(7080),n=i(5170),r=i(8469),a=i(3789);t.exports=function isSubsetOf(t){var e=s(this),i=a(t);return!(n(e)>i.size)&&!1!==r(e,(function(t){if(!i.includes(t))return!1}),!0)}},8527:(t,e,i)=>{var s=i(7080),n=i(4402).has,r=i(5170),a=i(3789),o=i(507),l=i(9539);t.exports=function isSupersetOf(t){var e=s(this),i=a(t);if(r(e){var s=i(9504),n=i(507),r=i(4402),a=r.Set,o=r.proto,l=s(o.forEach),h=s(o.keys),c=h(new a).next;t.exports=function(t,e,i){return i?n({iterator:h(t),next:c},e):l(t,e)}},4916:(t,e,i)=>{var s=i(7751),createSetLike=function(t){return{size:t,has:function(){return!1},keys:function(){return{next:function(){return{done:!0}}}}}};t.exports=function(t){var e=s("Set");try{(new e)[t](createSetLike(0));try{(new e)[t](createSetLike(-1));return!1}catch(t){return!0}}catch(t){return!1}}},5170:(t,e,i)=>{var s=i(6706),n=i(4402);t.exports=s(n.proto,"size","get")||function(t){return t.size}},3650:(t,e,i)=>{var s=i(7080),n=i(4402),r=i(9286),a=i(3789),o=i(507),l=n.add,h=n.has,c=n.remove;t.exports=function symmetricDifference(t){var e=s(this),i=a(t).getIterator(),n=r(e);o(i,(function(t){h(e,t)?c(n,t):l(n,t)}));return n}},4204:(t,e,i)=>{var s=i(7080),n=i(4402).add,r=i(9286),a=i(3789),o=i(507);t.exports=function union(t){var e=s(this),i=a(t).getIterator(),l=r(e);o(i,(function(t){n(l,t)}));return l}},6119:(t,e,i)=>{var s=i(5745),n=i(3392),r=s("keys");t.exports=function(t){return r[t]||(r[t]=n(t))}},7629:(t,e,i)=>{var s=i(6395),n=i(4576),r=i(9433),a="__core-js_shared__",o=t.exports=n[a]||r(a,{});(o.versions||(o.versions=[])).push({version:"3.39.0",mode:s?"pure":"global",copyright:"© 2014-2024 Denis Pushkarev (zloirock.ru)",license:"https://github.com/zloirock/core-js/blob/v3.39.0/LICENSE",source:"https://github.com/zloirock/core-js"})},5745:(t,e,i)=>{var s=i(7629);t.exports=function(t,e){return s[t]||(s[t]=e||{})}},1548:(t,e,i)=>{var s=i(4576),n=i(9039),r=i(9519),a=i(4215),o=s.structuredClone;t.exports=!!o&&!n((function(){if("DENO"===a&&r>92||"NODE"===a&&r>94||"BROWSER"===a&&r>97)return!1;var t=new ArrayBuffer(8),e=o(t,{transfer:[t]});return 0!==t.byteLength||8!==e.byteLength}))},4495:(t,e,i)=>{var s=i(9519),n=i(9039),r=i(4576).String;t.exports=!!Object.getOwnPropertySymbols&&!n((function(){var t=Symbol("symbol detection");return!r(t)||!(Object(t)instanceof Symbol)||!Symbol.sham&&s&&s<41}))},5610:(t,e,i)=>{var s=i(1291),n=Math.max,r=Math.min;t.exports=function(t,e){var i=s(t);return i<0?n(i+e,0):r(i,e)}},5854:(t,e,i)=>{var s=i(2777),n=TypeError;t.exports=function(t){var e=s(t,"number");if("number"==typeof e)throw new n("Can't convert number to bigint");return BigInt(e)}},7696:(t,e,i)=>{var s=i(1291),n=i(8014),r=RangeError;t.exports=function(t){if(void 0===t)return 0;var e=s(t),i=n(e);if(e!==i)throw new r("Wrong length or index");return i}},5397:(t,e,i)=>{var s=i(7055),n=i(7750);t.exports=function(t){return s(n(t))}},1291:(t,e,i)=>{var s=i(741);t.exports=function(t){var e=+t;return e!=e||0===e?0:s(e)}},8014:(t,e,i)=>{var s=i(1291),n=Math.min;t.exports=function(t){var e=s(t);return e>0?n(e,9007199254740991):0}},8981:(t,e,i)=>{var s=i(7750),n=Object;t.exports=function(t){return n(s(t))}},9590:(t,e,i)=>{var s=i(1291),n=RangeError;t.exports=function(t){var e=s(t);if(e<0)throw new n("The argument can't be less than 0");return e}},2777:(t,e,i)=>{var s=i(9565),n=i(34),r=i(757),a=i(5966),o=i(4270),l=i(8227),h=TypeError,c=l("toPrimitive");t.exports=function(t,e){if(!n(t)||r(t))return t;var i,l=a(t,c);if(l){void 0===e&&(e="default");i=s(l,t,e);if(!n(i)||r(i))return i;throw new h("Can't convert object to primitive value")}void 0===e&&(e="number");return o(t,e)}},6969:(t,e,i)=>{var s=i(2777),n=i(757);t.exports=function(t){var e=s(t,"string");return n(e)?e:e+""}},2140:(t,e,i)=>{var s={};s[i(8227)("toStringTag")]="z";t.exports="[object z]"===String(s)},655:(t,e,i)=>{var s=i(6955),n=String;t.exports=function(t){if("Symbol"===s(t))throw new TypeError("Cannot convert a Symbol value to a string");return n(t)}},6823:t=>{var e=String;t.exports=function(t){try{return e(t)}catch(t){return"Object"}}},3392:(t,e,i)=>{var s=i(9504),n=0,r=Math.random(),a=s(1..toString);t.exports=function(t){return"Symbol("+(void 0===t?"":t)+")_"+a(++n+r,36)}},7040:(t,e,i)=>{var s=i(4495);t.exports=s&&!Symbol.sham&&"symbol"==typeof Symbol.iterator},8686:(t,e,i)=>{var s=i(3724),n=i(9039);t.exports=s&&n((function(){return 42!==Object.defineProperty((function(){}),"prototype",{value:42,writable:!1}).prototype}))},2812:t=>{var e=TypeError;t.exports=function(t,i){if(t{var s=i(4576),n=i(4901),r=s.WeakMap;t.exports=n(r)&&/native code/.test(String(r))},8227:(t,e,i)=>{var s=i(4576),n=i(5745),r=i(9297),a=i(3392),o=i(4495),l=i(7040),h=s.Symbol,c=n("wks"),d=l?h.for||h:h&&h.withoutSetter||a;t.exports=function(t){r(c,t)||(c[t]=o&&r(h,t)?h[t]:d("Symbol."+t));return c[t]}},6573:(t,e,i)=>{var s=i(3724),n=i(2106),r=i(3238),a=ArrayBuffer.prototype;s&&!("detached"in a)&&n(a,"detached",{configurable:!0,get:function detached(){return r(this)}})},7936:(t,e,i)=>{var s=i(6518),n=i(5636);n&&s({target:"ArrayBuffer",proto:!0},{transferToFixedLength:function transferToFixedLength(){return n(this,arguments.length?arguments[0]:void 0,!1)}})},8100:(t,e,i)=>{var s=i(6518),n=i(5636);n&&s({target:"ArrayBuffer",proto:!0},{transfer:function transfer(){return n(this,arguments.length?arguments[0]:void 0,!0)}})},4114:(t,e,i)=>{var s=i(6518),n=i(8981),r=i(6198),a=i(4527),o=i(6837);s({target:"Array",proto:!0,arity:1,forced:i(9039)((function(){return 4294967297!==[].push.call({length:4294967296},1)}))||!function(){try{Object.defineProperty([],"length",{writable:!1}).push()}catch(t){return t instanceof TypeError}}()},{push:function push(t){var e=n(this),i=r(e),s=arguments.length;o(i+s);for(var l=0;l{var s=i(6518),n=i(4576),r=i(679),a=i(8551),o=i(4901),l=i(2787),h=i(2106),c=i(4659),d=i(9039),u=i(9297),p=i(8227),g=i(7657).IteratorPrototype,f=i(3724),m=i(6395),b="constructor",v="Iterator",y=p("toStringTag"),w=TypeError,A=n[v],x=m||!o(A)||A.prototype!==g||!d((function(){A({})})),_=function Iterator(){r(this,g);if(l(this)===g)throw new w("Abstract class Iterator not directly constructable")},defineIteratorPrototypeAccessor=function(t,e){f?h(g,t,{configurable:!0,get:function(){return e},set:function(e){a(this);if(this===g)throw new w("You can't redefine this property");u(this,t)?this[t]=e:c(this,t,e)}}):g[t]=e};u(g,y)||defineIteratorPrototypeAccessor(y,v);!x&&u(g,b)&&g[b]!==Object||defineIteratorPrototypeAccessor(b,_);_.prototype=g;s({global:!0,constructor:!0,forced:x},{Iterator:_})},9314:(t,e,i)=>{var s=i(6518),n=i(9565),r=i(8551),a=i(1767),o=i(4149),l=i(9590),h=i(9462),c=i(6395),d=h((function(){for(var t,e=this.iterator,i=this.next;this.remaining;){this.remaining--;t=r(n(i,e));if(this.done=!!t.done)return}t=r(n(i,e));if(!(this.done=!!t.done))return t.value}));s({target:"Iterator",proto:!0,real:!0,forced:c},{drop:function drop(t){r(this);var e=l(o(+t));return new d(a(this),{remaining:e})}})},1148:(t,e,i)=>{var s=i(6518),n=i(2652),r=i(9306),a=i(8551),o=i(1767);s({target:"Iterator",proto:!0,real:!0},{every:function every(t){a(this);r(t);var e=o(this),i=0;return!n(e,(function(e,s){if(!t(e,i++))return s()}),{IS_RECORD:!0,INTERRUPTED:!0}).stopped}})},2489:(t,e,i)=>{var s=i(6518),n=i(9565),r=i(9306),a=i(8551),o=i(1767),l=i(9462),h=i(6319),c=i(6395),d=l((function(){for(var t,e,i=this.iterator,s=this.predicate,r=this.next;;){t=a(n(r,i));if(this.done=!!t.done)return;e=t.value;if(h(i,s,[e,this.counter++],!0))return e}}));s({target:"Iterator",proto:!0,real:!0,forced:c},{filter:function filter(t){a(this);r(t);return new d(o(this),{predicate:t})}})},531:(t,e,i)=>{var s=i(6518),n=i(9565),r=i(9306),a=i(8551),o=i(1767),l=i(8646),h=i(9462),c=i(9539),d=i(6395),u=h((function(){for(var t,e,i=this.iterator,s=this.mapper;;){if(e=this.inner)try{if(!(t=a(n(e.next,e.iterator))).done)return t.value;this.inner=null}catch(t){c(i,"throw",t)}t=a(n(this.next,i));if(this.done=!!t.done)return;try{this.inner=l(s(t.value,this.counter++),!1)}catch(t){c(i,"throw",t)}}}));s({target:"Iterator",proto:!0,real:!0,forced:d},{flatMap:function flatMap(t){a(this);r(t);return new u(o(this),{mapper:t,inner:null})}})},1701:(t,e,i)=>{var s=i(6518),n=i(713);s({target:"Iterator",proto:!0,real:!0,forced:i(6395)},{map:n})},3579:(t,e,i)=>{var s=i(6518),n=i(2652),r=i(9306),a=i(8551),o=i(1767);s({target:"Iterator",proto:!0,real:!0},{some:function some(t){a(this);r(t);var e=o(this),i=0;return n(e,(function(e,s){if(t(e,i++))return s()}),{IS_RECORD:!0,INTERRUPTED:!0}).stopped}})},1689:(t,e,i)=>{var s=i(6518),n=i(4576),r=i(8745),a=i(7680),o=i(6043),l=i(9306),h=i(1103),c=n.Promise,d=!1;s({target:"Promise",stat:!0,forced:!c||!c.try||h((function(){c.try((function(t){d=8===t}),8)})).error||!d},{try:function(t){var e=arguments.length>1?a(arguments,1):[],i=o.f(this),s=h((function(){return r(l(t),void 0,e)}));(s.error?i.reject:i.resolve)(s.value);return i.promise}})},4628:(t,e,i)=>{var s=i(6518),n=i(6043);s({target:"Promise",stat:!0},{withResolvers:function withResolvers(){var t=n.f(this);return{promise:t.promise,resolve:t.resolve,reject:t.reject}}})},7642:(t,e,i)=>{var s=i(6518),n=i(3440);s({target:"Set",proto:!0,real:!0,forced:!i(4916)("difference")},{difference:n})},8004:(t,e,i)=>{var s=i(6518),n=i(9039),r=i(8750);s({target:"Set",proto:!0,real:!0,forced:!i(4916)("intersection")||n((function(){return"3,2"!==String(Array.from(new Set([1,2,3]).intersection(new Set([3,2]))))}))},{intersection:r})},3853:(t,e,i)=>{var s=i(6518),n=i(4449);s({target:"Set",proto:!0,real:!0,forced:!i(4916)("isDisjointFrom")},{isDisjointFrom:n})},5876:(t,e,i)=>{var s=i(6518),n=i(3838);s({target:"Set",proto:!0,real:!0,forced:!i(4916)("isSubsetOf")},{isSubsetOf:n})},2475:(t,e,i)=>{var s=i(6518),n=i(8527);s({target:"Set",proto:!0,real:!0,forced:!i(4916)("isSupersetOf")},{isSupersetOf:n})},5024:(t,e,i)=>{var s=i(6518),n=i(3650);s({target:"Set",proto:!0,real:!0,forced:!i(4916)("symmetricDifference")},{symmetricDifference:n})},1698:(t,e,i)=>{var s=i(6518),n=i(4204);s({target:"Set",proto:!0,real:!0,forced:!i(4916)("union")},{union:n})},7467:(t,e,i)=>{var s=i(7628),n=i(4644),r=n.aTypedArray,a=n.exportTypedArrayMethod,o=n.getTypedArrayConstructor;a("toReversed",(function toReversed(){return s(r(this),o(this))}))},4732:(t,e,i)=>{var s=i(4644),n=i(9504),r=i(9306),a=i(5370),o=s.aTypedArray,l=s.getTypedArrayConstructor,h=s.exportTypedArrayMethod,c=n(s.TypedArrayPrototype.sort);h("toSorted",(function toSorted(t){void 0!==t&&r(t);var e=o(this),i=a(l(e),e);return c(i,t)}))},9577:(t,e,i)=>{var s=i(9928),n=i(4644),r=i(1108),a=i(1291),o=i(5854),l=n.aTypedArray,h=n.getTypedArrayConstructor,c=n.exportTypedArrayMethod,d=!!function(){try{new Int8Array(1).with(2,{valueOf:function(){throw 8}})}catch(t){return 8===t}}();c("with",{with:function(t,e){var i=l(this),n=a(t),c=r(i)?o(e):+e;return s(i,h(i),n,c)}}.with,!d)},8992:(t,e,i)=>{i(8111)},4743:(t,e,i)=>{i(9314)},3215:(t,e,i)=>{i(1148)},4520:(t,e,i)=>{i(2489)},670:(t,e,i)=>{i(531)},1454:(t,e,i)=>{i(1701)},7550:(t,e,i)=>{i(3579)},8335:(t,e,i)=>{var s=i(6518),n=i(3724),r=i(4576),a=i(7751),o=i(9504),l=i(9565),h=i(4901),c=i(34),d=i(4376),u=i(9297),p=i(655),g=i(6198),f=i(4659),m=i(9039),b=i(8235),v=i(4495),y=r.JSON,w=r.Number,A=r.SyntaxError,x=y&&y.parse,_=a("Object","keys"),E=Object.getOwnPropertyDescriptor,S=o("".charAt),C=o("".slice),T=o(/./.exec),M=o([].push),P=/^\d$/,D=/^[1-9]$/,k=/^[\d-]$/,R=/^[\t\n\r ]$/,internalize=function(t,e,i,s){var n,r,a,o,h,p=t[e],f=s&&p===s.value,m=f&&"string"==typeof s.source?{source:s.source}:{};if(c(p)){var b=d(p),v=f?s.nodes:b?[]:{};if(b){n=v.length;a=g(p);for(o=0;o{i(1689)},4979:(t,e,i)=>{var s=i(6518),n=i(4576),r=i(7751),a=i(6980),o=i(4913).f,l=i(9297),h=i(679),c=i(3167),d=i(2603),u=i(5002),p=i(8574),g=i(3724),f=i(6395),m="DOMException",b=r("Error"),v=r(m),y=function DOMException(){h(this,w);var t=arguments.length,e=d(t<1?void 0:arguments[0]),i=d(t<2?void 0:arguments[1],"Error"),s=new v(e,i),n=new b(e);n.name=m;o(s,"stack",a(1,p(n.stack,1)));c(s,this,y);return s},w=y.prototype=v.prototype,A="stack"in new b(m),x="stack"in new v(1,2),_=v&&g&&Object.getOwnPropertyDescriptor(n,m),E=!(!_||_.writable&&_.configurable),S=A&&!E&&!x;s({global:!0,constructor:!0,forced:f||S},{DOMException:S?y:v});var C=r(m),T=C.prototype;if(T.constructor!==C){f||o(T,"constructor",a(1,C));for(var M in u)if(l(u,M)){var P=u[M],D=P.s;l(C,D)||o(C,D,a(6,P.c))}}},4603:(t,e,i)=>{var s=i(6840),n=i(9504),r=i(655),a=i(2812),o=URLSearchParams,l=o.prototype,h=n(l.append),c=n(l.delete),d=n(l.forEach),u=n([].push),p=new o("a=1&a=2&b=3");p.delete("a",1);p.delete("b",void 0);p+""!="a=2"&&s(l,"delete",(function(t){var e=arguments.length,i=e<2?void 0:arguments[1];if(e&&void 0===i)return c(this,t);var s=[];d(this,(function(t,e){u(s,{key:e,value:t})}));a(e,1);for(var n,o=r(t),l=r(i),p=0,g=0,f=!1,m=s.length;p{var s=i(6840),n=i(9504),r=i(655),a=i(2812),o=URLSearchParams,l=o.prototype,h=n(l.getAll),c=n(l.has),d=new o("a=1");!d.has("a",2)&&d.has("a",void 0)||s(l,"has",(function has(t){var e=arguments.length,i=e<2?void 0:arguments[1];if(e&&void 0===i)return c(this,t);var s=h(this,t);a(e,1);for(var n=r(i),o=0;o{var s=i(3724),n=i(9504),r=i(2106),a=URLSearchParams.prototype,o=n(a.forEach);s&&!("size"in a)&&r(a,"size",{get:function size(){var t=0;o(this,(function(){t++}));return t},configurable:!0,enumerable:!0})}},e={};function __webpack_require__(i){var s=e[i];if(void 0!==s)return s.exports;var n=e[i]={exports:{}};t[i].call(n.exports,n,n.exports,__webpack_require__);return n.exports}__webpack_require__.d=(t,e)=>{for(var i in e)__webpack_require__.o(e,i)&&!__webpack_require__.o(t,i)&&Object.defineProperty(t,i,{enumerable:!0,get:e[i]})};__webpack_require__.o=(t,e)=>Object.prototype.hasOwnProperty.call(t,e);var __webpack_exports__ = globalThis.pdfjsLib = {};__webpack_require__.d(__webpack_exports__,{AbortException:()=>AbortException,AnnotationEditorLayer:()=>AnnotationEditorLayer,AnnotationEditorParamsType:()=>m,AnnotationEditorType:()=>f,AnnotationEditorUIManager:()=>AnnotationEditorUIManager,AnnotationLayer:()=>AnnotationLayer,AnnotationMode:()=>g,ColorPicker:()=>ColorPicker,DOMSVGFactory:()=>DOMSVGFactory,DrawLayer:()=>DrawLayer,FeatureTest:()=>util_FeatureTest,GlobalWorkerOptions:()=>GlobalWorkerOptions,ImageKind:()=>E,InvalidPDFException:()=>InvalidPDFException,MissingPDFException:()=>MissingPDFException,OPS:()=>K,OutputScale:()=>OutputScale,PDFDataRangeTransport:()=>PDFDataRangeTransport,PDFDateString:()=>PDFDateString,PDFWorker:()=>PDFWorker,PasswordResponses:()=>Q,PermissionFlag:()=>b,PixelsPerInch:()=>PixelsPerInch,RenderingCancelledException:()=>RenderingCancelledException,TextLayer:()=>TextLayer,TouchManager:()=>TouchManager,UnexpectedResponseException:()=>UnexpectedResponseException,Util:()=>Util,VerbosityLevel:()=>Y,XfaLayer:()=>XfaLayer,build:()=>Ht,createValidAbsoluteUrl:()=>createValidAbsoluteUrl,fetchData:()=>fetchData,getDocument:()=>getDocument,getFilenameFromUrl:()=>getFilenameFromUrl,getPdfFilenameFromUrl:()=>getPdfFilenameFromUrl,getXfaPageViewport:()=>getXfaPageViewport,isDataScheme:()=>isDataScheme,isPdfFile:()=>isPdfFile,noContextMenu:()=>noContextMenu,normalizeUnicode:()=>normalizeUnicode,setLayerDimensions:()=>setLayerDimensions,shadow:()=>shadow,stopEvent:()=>stopEvent,version:()=>Bt});__webpack_require__(4114),__webpack_require__(6573),__webpack_require__(8100),__webpack_require__(7936),__webpack_require__(7467),__webpack_require__(4732),__webpack_require__(9577),__webpack_require__(5247),__webpack_require__(4979),__webpack_require__(4603),__webpack_require__(7566),__webpack_require__(8721);const i=!("object"!=typeof process||process+""!="[object process]"||process.versions.nw||process.versions.electron&&process.type&&"browser"!==process.type),s=[1,0,0,1,0,0],n=[.001,0,0,.001,0,0],r=1.35,a=1,o=2,l=4,h=16,c=32,d=64,u=128,p=256,g={DISABLE:0,ENABLE:1,ENABLE_FORMS:2,ENABLE_STORAGE:3},f={DISABLE:-1,NONE:0,FREETEXT:3,HIGHLIGHT:9,STAMP:13,INK:15},m={RESIZE:1,CREATE:2,FREETEXT_SIZE:11,FREETEXT_COLOR:12,FREETEXT_OPACITY:13,INK_COLOR:21,INK_THICKNESS:22,INK_OPACITY:23,HIGHLIGHT_COLOR:31,HIGHLIGHT_DEFAULT_COLOR:32,HIGHLIGHT_THICKNESS:33,HIGHLIGHT_FREE:34,HIGHLIGHT_SHOW_ALL:35,DRAW_STEP:41},b={PRINT:4,MODIFY_CONTENTS:8,COPY:16,MODIFY_ANNOTATIONS:32,FILL_INTERACTIVE_FORMS:256,COPY_FOR_ACCESSIBILITY:512,ASSEMBLE:1024,PRINT_HIGH_QUALITY:2048},v=0,y=1,w=2,A=3,x=3,_=4,E={GRAYSCALE_1BPP:1,RGB_24BPP:2,RGBA_32BPP:3},S=1,C=2,T=3,M=4,P=5,D=6,k=7,R=8,I=9,L=10,O=11,N=12,B=13,H=14,U=15,z=16,j=17,G=20,V=1,$=2,W=3,q=4,X=5,Y={ERRORS:0,WARNINGS:1,INFOS:5},K={dependency:1,setLineWidth:2,setLineCap:3,setLineJoin:4,setMiterLimit:5,setDash:6,setRenderingIntent:7,setFlatness:8,setGState:9,save:10,restore:11,transform:12,moveTo:13,lineTo:14,curveTo:15,curveTo2:16,curveTo3:17,closePath:18,rectangle:19,stroke:20,closeStroke:21,fill:22,eoFill:23,fillStroke:24,eoFillStroke:25,closeFillStroke:26,closeEOFillStroke:27,endPath:28,clip:29,eoClip:30,beginText:31,endText:32,setCharSpacing:33,setWordSpacing:34,setHScale:35,setLeading:36,setFont:37,setTextRenderingMode:38,setTextRise:39,moveText:40,setLeadingMoveText:41,setTextMatrix:42,nextLine:43,showText:44,showSpacedText:45,nextLineShowText:46,nextLineSetSpacingShowText:47,setCharWidth:48,setCharWidthAndBounds:49,setStrokeColorSpace:50,setFillColorSpace:51,setStrokeColor:52,setStrokeColorN:53,setFillColor:54,setFillColorN:55,setStrokeGray:56,setFillGray:57,setStrokeRGBColor:58,setFillRGBColor:59,setStrokeCMYKColor:60,setFillCMYKColor:61,shadingFill:62,beginInlineImage:63,beginImageData:64,endInlineImage:65,paintXObject:66,markPoint:67,markPointProps:68,beginMarkedContent:69,beginMarkedContentProps:70,endMarkedContent:71,beginCompat:72,endCompat:73,paintFormXObjectBegin:74,paintFormXObjectEnd:75,beginGroup:76,endGroup:77,beginAnnotation:80,endAnnotation:81,paintImageMaskXObject:83,paintImageMaskXObjectGroup:84,paintImageXObject:85,paintInlineImageXObject:86,paintInlineImageXObjectGroup:87,paintImageXObjectRepeat:88,paintImageMaskXObjectRepeat:89,paintSolidColorImageMask:90,constructPath:91,setStrokeTransparent:92,setFillTransparent:93},Q={NEED_PASSWORD:1,INCORRECT_PASSWORD:2};let J=Y.WARNINGS;function setVerbosityLevel(t){Number.isInteger(t)&&(J=t)}function getVerbosityLevel(){return J}function info(t){J>=Y.INFOS&&console.log(`Info: ${t}`)}function warn(t){J>=Y.WARNINGS&&console.log(`Warning: ${t}`)}function unreachable(t){throw new Error(t)}function assert(t,e){t||unreachable(e)}function createValidAbsoluteUrl(t,e=null,i=null){if(!t)return null;try{if(i&&"string"==typeof t){if(i.addDefaultProtocol&&t.startsWith("www.")){const e=t.match(/\./g);e?.length>=2&&(t=`http://${t}`)}if(i.tryConvertEncoding)try{t=function stringToUTF8String(t){return decodeURIComponent(escape(t))}(t)}catch{}}const s=e?new URL(t,e):new URL(t);if(function _isValidProtocol(t){switch(t?.protocol){case"http:":case"https:":case"ftp:":case"mailto:":case"tel:":return!0;default:return!1}}(s))return s}catch{}return null}function shadow(t,e,i,s=!1){Object.defineProperty(t,e,{value:i,enumerable:!s,configurable:!0,writable:!1});return i}const Z=function BaseExceptionClosure(){function BaseException(t,e){this.message=t;this.name=e}BaseException.prototype=new Error;BaseException.constructor=BaseException;return BaseException}();class PasswordException extends Z{constructor(t,e){super(t,"PasswordException");this.code=e}}class UnknownErrorException extends Z{constructor(t,e){super(t,"UnknownErrorException");this.details=e}}class InvalidPDFException extends Z{constructor(t){super(t,"InvalidPDFException")}}class MissingPDFException extends Z{constructor(t){super(t,"MissingPDFException")}}class UnexpectedResponseException extends Z{constructor(t,e){super(t,"UnexpectedResponseException");this.status=e}}class FormatError extends Z{constructor(t){super(t,"FormatError")}}class AbortException extends Z{constructor(t){super(t,"AbortException")}}function bytesToString(t){"object"==typeof t&&void 0!==t?.length||unreachable("Invalid argument for bytesToString");const e=t.length,i=8192;if(et.toString(16).padStart(2,"0")));class Util{static makeHexColor(t,e,i){return`#${tt[t]}${tt[e]}${tt[i]}`}static scaleMinMax(t,e){let i;if(t[0]){if(t[0]<0){i=e[0];e[0]=e[2];e[2]=i}e[0]*=t[0];e[2]*=t[0];if(t[3]<0){i=e[1];e[1]=e[3];e[3]=i}e[1]*=t[3];e[3]*=t[3]}else{i=e[0];e[0]=e[1];e[1]=i;i=e[2];e[2]=e[3];e[3]=i;if(t[1]<0){i=e[1];e[1]=e[3];e[3]=i}e[1]*=t[1];e[3]*=t[1];if(t[2]<0){i=e[0];e[0]=e[2];e[2]=i}e[0]*=t[2];e[2]*=t[2]}e[0]+=t[4];e[1]+=t[5];e[2]+=t[4];e[3]+=t[5]}static transform(t,e){return[t[0]*e[0]+t[2]*e[1],t[1]*e[0]+t[3]*e[1],t[0]*e[2]+t[2]*e[3],t[1]*e[2]+t[3]*e[3],t[0]*e[4]+t[2]*e[5]+t[4],t[1]*e[4]+t[3]*e[5]+t[5]]}static applyTransform(t,e){return[t[0]*e[0]+t[1]*e[2]+e[4],t[0]*e[1]+t[1]*e[3]+e[5]]}static applyInverseTransform(t,e){const i=e[0]*e[3]-e[1]*e[2];return[(t[0]*e[3]-t[1]*e[2]+e[2]*e[5]-e[4]*e[3])/i,(-t[0]*e[1]+t[1]*e[0]+e[4]*e[1]-e[5]*e[0])/i]}static getAxialAlignedBoundingBox(t,e){const i=this.applyTransform(t,e),s=this.applyTransform(t.slice(2,4),e),n=this.applyTransform([t[0],t[3]],e),r=this.applyTransform([t[2],t[1]],e);return[Math.min(i[0],s[0],n[0],r[0]),Math.min(i[1],s[1],n[1],r[1]),Math.max(i[0],s[0],n[0],r[0]),Math.max(i[1],s[1],n[1],r[1])]}static inverseTransform(t){const e=t[0]*t[3]-t[1]*t[2];return[t[3]/e,-t[1]/e,-t[2]/e,t[0]/e,(t[2]*t[5]-t[4]*t[3])/e,(t[4]*t[1]-t[5]*t[0])/e]}static singularValueDecompose2dScale(t){const e=[t[0],t[2],t[1],t[3]],i=t[0]*e[0]+t[1]*e[2],s=t[0]*e[1]+t[1]*e[3],n=t[2]*e[0]+t[3]*e[2],r=t[2]*e[1]+t[3]*e[3],a=(i+r)/2,o=Math.sqrt((i+r)**2-4*(i*r-n*s))/2,l=a+o||1,h=a-o||1;return[Math.sqrt(l),Math.sqrt(h)]}static normalizeRect(t){const e=t.slice(0);if(t[0]>t[2]){e[0]=t[2];e[2]=t[0]}if(t[1]>t[3]){e[1]=t[3];e[3]=t[1]}return e}static intersect(t,e){const i=Math.max(Math.min(t[0],t[2]),Math.min(e[0],e[2])),s=Math.min(Math.max(t[0],t[2]),Math.max(e[0],e[2]));if(i>s)return null;const n=Math.max(Math.min(t[1],t[3]),Math.min(e[1],e[3])),r=Math.min(Math.max(t[1],t[3]),Math.max(e[1],e[3]));return n>r?null:[i,n,s,r]}static#t(t,e,i,s,n,r,a,o,l,h){if(l<=0||l>=1)return;const c=1-l,d=l*l,u=d*l,p=c*(c*(c*t+3*l*e)+3*d*i)+u*s,g=c*(c*(c*n+3*l*r)+3*d*a)+u*o;h[0]=Math.min(h[0],p);h[1]=Math.min(h[1],g);h[2]=Math.max(h[2],p);h[3]=Math.max(h[3],g)}static#e(t,e,i,s,n,r,a,o,l,h,c,d){if(Math.abs(l)<1e-12){Math.abs(h)>=1e-12&&this.#t(t,e,i,s,n,r,a,o,-c/h,d);return}const u=h**2-4*c*l;if(u<0)return;const p=Math.sqrt(u),g=2*l;this.#t(t,e,i,s,n,r,a,o,(-h+p)/g,d);this.#t(t,e,i,s,n,r,a,o,(-h-p)/g,d)}static bezierBoundingBox(t,e,i,s,n,r,a,o,l){if(l){l[0]=Math.min(l[0],t,a);l[1]=Math.min(l[1],e,o);l[2]=Math.max(l[2],t,a);l[3]=Math.max(l[3],e,o)}else l=[Math.min(t,a),Math.min(e,o),Math.max(t,a),Math.max(e,o)];this.#e(t,i,n,a,e,s,r,o,3*(3*(i-n)-t+a),6*(t-2*i+n),3*(i-t),l);this.#e(t,i,n,a,e,s,r,o,3*(3*(s-r)-e+o),6*(e-2*s+r),3*(s-e),l);return l}}let et=null,it=null;function normalizeUnicode(t){if(!et){et=/([\u00a0\u00b5\u037e\u0eb3\u2000-\u200a\u202f\u2126\ufb00-\ufb04\ufb06\ufb20-\ufb36\ufb38-\ufb3c\ufb3e\ufb40-\ufb41\ufb43-\ufb44\ufb46-\ufba1\ufba4-\ufba9\ufbae-\ufbb1\ufbd3-\ufbdc\ufbde-\ufbe7\ufbea-\ufbf8\ufbfc-\ufbfd\ufc00-\ufc5d\ufc64-\ufcf1\ufcf5-\ufd3d\ufd88\ufdf4\ufdfa-\ufdfb\ufe71\ufe77\ufe79\ufe7b\ufe7d]+)|(\ufb05+)/gu;it=new Map([["ſt","ſt"]])}return t.replaceAll(et,((t,e,i)=>e?e.normalize("NFKC"):it.get(i)))}const st="pdfjs_internal_id_";__webpack_require__(4628),__webpack_require__(7642),__webpack_require__(8004),__webpack_require__(3853),__webpack_require__(5876),__webpack_require__(2475),__webpack_require__(5024),__webpack_require__(1698),__webpack_require__(1454),__webpack_require__(8992),__webpack_require__(4743),__webpack_require__(3215),__webpack_require__(7550),__webpack_require__(8335);const nt="http://www.w3.org/2000/svg";class PixelsPerInch{static CSS=96;static PDF=72;static PDF_TO_CSS_UNITS=this.CSS/this.PDF}async function fetchData(t,e="text"){if(isValidFetchUrl(t,document.baseURI)){const i=await fetch(t);if(!i.ok)throw new Error(i.statusText);switch(e){case"arraybuffer":return i.arrayBuffer();case"blob":return i.blob();case"json":return i.json()}return i.text()}return new Promise(((i,s)=>{const n=new XMLHttpRequest;n.open("GET",t,!0);n.responseType=e;n.onreadystatechange=()=>{if(n.readyState===XMLHttpRequest.DONE)if(200!==n.status&&0!==n.status)s(new Error(n.statusText));else{switch(e){case"arraybuffer":case"blob":case"json":i(n.response);return}i(n.responseText)}};n.send(null)}))}class PageViewport{constructor({viewBox:t,userUnit:e,scale:i,rotation:s,offsetX:n=0,offsetY:r=0,dontFlip:a=!1}){this.viewBox=t;this.userUnit=e;this.scale=i;this.rotation=s;this.offsetX=n;this.offsetY=r;i*=e;const o=(t[2]+t[0])/2,l=(t[3]+t[1])/2;let h,c,d,u,p,g,f,m;(s%=360)<0&&(s+=360);switch(s){case 180:h=-1;c=0;d=0;u=1;break;case 90:h=0;c=1;d=1;u=0;break;case 270:h=0;c=-1;d=-1;u=0;break;case 0:h=1;c=0;d=0;u=-1;break;default:throw new Error("PageViewport: Invalid rotation, must be a multiple of 90 degrees.")}if(a){d=-d;u=-u}if(0===h){p=Math.abs(l-t[1])*i+n;g=Math.abs(o-t[0])*i+r;f=(t[3]-t[1])*i;m=(t[2]-t[0])*i}else{p=Math.abs(o-t[0])*i+n;g=Math.abs(l-t[1])*i+r;f=(t[2]-t[0])*i;m=(t[3]-t[1])*i}this.transform=[h*i,c*i,d*i,u*i,p-h*i*o-d*i*l,g-c*i*o-u*i*l];this.width=f;this.height=m}get rawDims(){const{userUnit:t,viewBox:e}=this,i=e.map((e=>e*t));return shadow(this,"rawDims",{pageWidth:i[2]-i[0],pageHeight:i[3]-i[1],pageX:i[0],pageY:i[1]})}clone({scale:t=this.scale,rotation:e=this.rotation,offsetX:i=this.offsetX,offsetY:s=this.offsetY,dontFlip:n=!1}={}){return new PageViewport({viewBox:this.viewBox.slice(),userUnit:this.userUnit,scale:t,rotation:e,offsetX:i,offsetY:s,dontFlip:n})}convertToViewportPoint(t,e){return Util.applyTransform([t,e],this.transform)}convertToViewportRectangle(t){const e=Util.applyTransform([t[0],t[1]],this.transform),i=Util.applyTransform([t[2],t[3]],this.transform);return[e[0],e[1],i[0],i[1]]}convertToPdfPoint(t,e){return Util.applyInverseTransform([t,e],this.transform)}}class RenderingCancelledException extends Z{constructor(t,e=0){super(t,"RenderingCancelledException");this.extraDelay=e}}function isDataScheme(t){const e=t.length;let i=0;for(;i=1&&s<=12?s-1:0;let n=parseInt(e[3],10);n=n>=1&&n<=31?n:1;let r=parseInt(e[4],10);r=r>=0&&r<=23?r:0;let a=parseInt(e[5],10);a=a>=0&&a<=59?a:0;let o=parseInt(e[6],10);o=o>=0&&o<=59?o:0;const l=e[7]||"Z";let h=parseInt(e[8],10);h=h>=0&&h<=23?h:0;let c=parseInt(e[9],10)||0;c=c>=0&&c<=59?c:0;if("-"===l){r+=h;a+=c}else if("+"===l){r-=h;a-=c}return new Date(Date.UTC(i,s,n,r,a,o))}}function getXfaPageViewport(t,{scale:e=1,rotation:i=0}){const{width:s,height:n}=t.attributes.style,r=[0,0,parseInt(s),parseInt(n)];return new PageViewport({viewBox:r,userUnit:1,scale:e,rotation:i})}function getRGB(t){if(t.startsWith("#")){const e=parseInt(t.slice(1),16);return[(16711680&e)>>16,(65280&e)>>8,255&e]}if(t.startsWith("rgb("))return t.slice(4,-1).split(",").map((t=>parseInt(t)));if(t.startsWith("rgba("))return t.slice(5,-1).split(",").map((t=>parseInt(t))).slice(0,3);warn(`Not a valid color format: "${t}"`);return[0,0,0]}function getCurrentTransform(t){const{a:e,b:i,c:s,d:n,e:r,f:a}=t.getTransform();return[e,i,s,n,r,a]}function getCurrentTransformInverse(t){const{a:e,b:i,c:s,d:n,e:r,f:a}=t.getTransform().invertSelf();return[e,i,s,n,r,a]}function setLayerDimensions(t,e,i=!1,s=!0){if(e instanceof PageViewport){const{pageWidth:s,pageHeight:n}=e.rawDims,{style:r}=t,a=util_FeatureTest.isCSSRoundSupported,o=`var(--scale-factor) * ${s}px`,l=`var(--scale-factor) * ${n}px`,h=a?`round(down, ${o}, var(--scale-round-x, 1px))`:`calc(${o})`,c=a?`round(down, ${l}, var(--scale-round-y, 1px))`:`calc(${l})`;if(i&&e.rotation%180!=0){r.width=c;r.height=h}else{r.width=h;r.height=c}}s&&t.setAttribute("data-main-rotation",e.rotation)}class OutputScale{constructor(){const t=window.devicePixelRatio||1;this.sx=t;this.sy=t}get scaled(){return 1!==this.sx||1!==this.sy}get symmetric(){return this.sx===this.sy}}class EditorToolbar{#s=null;#n=null;#r;#a=null;#o=null;static#l=null;constructor(t){this.#r=t;EditorToolbar.#l||=Object.freeze({freetext:"pdfjs-editor-remove-freetext-button",highlight:"pdfjs-editor-remove-highlight-button",ink:"pdfjs-editor-remove-ink-button",stamp:"pdfjs-editor-remove-stamp-button"})}render(){const t=this.#s=document.createElement("div");t.classList.add("editToolbar","hidden");t.setAttribute("role","toolbar");const e=this.#r._uiManager._signal;t.addEventListener("contextmenu",noContextMenu,{signal:e});t.addEventListener("pointerdown",EditorToolbar.#h,{signal:e});const i=this.#a=document.createElement("div");i.className="buttons";t.append(i);const s=this.#r.toolbarPosition;if(s){const{style:e}=t,i="ltr"===this.#r._uiManager.direction?1-s[0]:s[0];e.insetInlineEnd=100*i+"%";e.top=`calc(${100*s[1]}% + var(--editor-toolbar-vert-offset))`}this.#c();return t}get div(){return this.#s}static#h(t){t.stopPropagation()}#d(t){this.#r._focusEventsAllowed=!1;stopEvent(t)}#u(t){this.#r._focusEventsAllowed=!0;stopEvent(t)}#p(t){const e=this.#r._uiManager._signal;t.addEventListener("focusin",this.#d.bind(this),{capture:!0,signal:e});t.addEventListener("focusout",this.#u.bind(this),{capture:!0,signal:e});t.addEventListener("contextmenu",noContextMenu,{signal:e})}hide(){this.#s.classList.add("hidden");this.#n?.hideDropdown()}show(){this.#s.classList.remove("hidden");this.#o?.shown()}#c(){const{editorType:t,_uiManager:e}=this.#r,i=document.createElement("button");i.className="delete";i.tabIndex=0;i.setAttribute("data-l10n-id",EditorToolbar.#l[t]);this.#p(i);i.addEventListener("click",(t=>{e.delete()}),{signal:e._signal});this.#a.append(i)}get#g(){const t=document.createElement("div");t.className="divider";return t}async addAltText(t){const e=await t.render();this.#p(e);this.#a.prepend(e,this.#g);this.#o=t}addColorPicker(t){this.#n=t;const e=t.renderButton();this.#p(e);this.#a.prepend(e,this.#g)}remove(){this.#s.remove();this.#n?.destroy();this.#n=null}}class HighlightToolbar{#a=null;#s=null;#f;constructor(t){this.#f=t}#m(){const t=this.#s=document.createElement("div");t.className="editToolbar";t.setAttribute("role","toolbar");t.addEventListener("contextmenu",noContextMenu,{signal:this.#f._signal});const e=this.#a=document.createElement("div");e.className="buttons";t.append(e);this.#b();return t}#v(t,e){let i=0,s=0;for(const n of t){const t=n.y+n.height;if(ti){s=r;i=t}else e?r>s&&(s=r):r{this.#f.highlightSelection("floating_button")}),{signal:i});this.#a.append(t)}}function bindEvents(t,e,i){for(const s of i)e.addEventListener(s,t[s].bind(t))}class IdManager{#y=0;get id(){return"pdfjs_internal_editor_"+this.#y++}}class ImageManager{#w=function getUuid(){if("function"==typeof crypto.randomUUID)return crypto.randomUUID();const t=new Uint8Array(32);crypto.getRandomValues(t);return bytesToString(t)}();#y=0;#A=null;static get _isSVGFittingCanvas(){const t=new OffscreenCanvas(1,3).getContext("2d",{willReadFrequently:!0}),e=new Image;e.src='data:image/svg+xml;charset=UTF-8,';return shadow(this,"_isSVGFittingCanvas",e.decode().then((()=>{t.drawImage(e,0,0,1,1,0,0,1,3);return 0===new Uint32Array(t.getImageData(0,0,1,1).data.buffer)[0]})))}async#x(t,e){this.#A||=new Map;let i=this.#A.get(t);if(null===i)return null;if(i?.bitmap){i.refCounter+=1;return i}try{i||={bitmap:null,id:`image_${this.#w}_${this.#y++}`,refCounter:0,isSvg:!1};let t;if("string"==typeof e){i.url=e;t=await fetchData(e,"blob")}else e instanceof File?t=i.file=e:e instanceof Blob&&(t=e);if("image/svg+xml"===t.type){const e=ImageManager._isSVGFittingCanvas,s=new FileReader,n=new Image,r=new Promise(((t,r)=>{n.onload=()=>{i.bitmap=n;i.isSvg=!0;t()};s.onload=async()=>{const t=i.svgUrl=s.result;n.src=await e?`${t}#svgView(preserveAspectRatio(none))`:t};n.onerror=s.onerror=r}));s.readAsDataURL(t);await r}else i.bitmap=await createImageBitmap(t);i.refCounter=1}catch(t){warn(t);i=null}this.#A.set(t,i);i&&this.#A.set(i.id,i);return i}async getFromFile(t){const{lastModified:e,name:i,size:s,type:n}=t;return this.#x(`${e}_${i}_${s}_${n}`,t)}async getFromUrl(t){return this.#x(t,t)}async getFromBlob(t,e){const i=await e;return this.#x(t,i)}async getFromId(t){this.#A||=new Map;const e=this.#A.get(t);if(!e)return null;if(e.bitmap){e.refCounter+=1;return e}if(e.file)return this.getFromFile(e.file);if(e.blobPromise){const{blobPromise:t}=e;delete e.blobPromise;return this.getFromBlob(e.id,t)}return this.getFromUrl(e.url)}getFromCanvas(t,e){this.#A||=new Map;let i=this.#A.get(t);if(i?.bitmap){i.refCounter+=1;return i}const s=new OffscreenCanvas(e.width,e.height);s.getContext("2d").drawImage(e,0,0);i={bitmap:s.transferToImageBitmap(),id:`image_${this.#w}_${this.#y++}`,refCounter:1,isSvg:!1};this.#A.set(t,i);this.#A.set(i.id,i);return i}getSvgUrl(t){const e=this.#A.get(t);return e?.isSvg?e.svgUrl:null}deleteId(t){this.#A||=new Map;const e=this.#A.get(t);if(!e)return;e.refCounter-=1;if(0!==e.refCounter)return;const{bitmap:i}=e;if(!e.url&&!e.file){const t=new OffscreenCanvas(i.width,i.height);t.getContext("bitmaprenderer").transferFromImageBitmap(i);e.blobPromise=t.convertToBlob()}i.close?.();e.bitmap=null}isValidId(t){return t.startsWith(`image_${this.#w}_`)}}class CommandManager{#_=[];#E=!1;#S;#C=-1;constructor(t=128){this.#S=t}add({cmd:t,undo:e,post:i,mustExec:s,type:n=NaN,overwriteIfSameType:r=!1,keepUndo:a=!1}){s&&t();if(this.#E)return;const o={cmd:t,undo:e,post:i,type:n};if(-1===this.#C){this.#_.length>0&&(this.#_.length=0);this.#C=0;this.#_.push(o);return}if(r&&this.#_[this.#C].type===n){a&&(o.undo=this.#_[this.#C].undo);this.#_[this.#C]=o;return}const l=this.#C+1;if(l===this.#S)this.#_.splice(0,1);else{this.#C=l;l=0;e--)if(this.#_[e].type!==t){this.#_.splice(e+1,this.#C-e);this.#C=e;return}this.#_.length=0;this.#C=-1}}destroy(){this.#_=null}}class KeyboardManager{constructor(t){this.buffer=[];this.callbacks=new Map;this.allKeys=new Set;const{isMac:e}=util_FeatureTest.platform;for(const[i,s,n={}]of t)for(const t of i){const i=t.startsWith("mac+");if(e&&i){this.callbacks.set(t.slice(4),{callback:s,options:n});this.allKeys.add(t.split("+").at(-1))}else if(!e&&!i){this.callbacks.set(t,{callback:s,options:n});this.allKeys.add(t.split("+").at(-1))}}}#T(t){t.altKey&&this.buffer.push("alt");t.ctrlKey&&this.buffer.push("ctrl");t.metaKey&&this.buffer.push("meta");t.shiftKey&&this.buffer.push("shift");this.buffer.push(t.key);const e=this.buffer.join("+");this.buffer.length=0;return e}exec(t,e){if(!this.allKeys.has(e.key))return;const i=this.callbacks.get(this.#T(e));if(!i)return;const{callback:s,options:{bubbles:n=!1,args:r=[],checker:a=null}}=i;if(!a||a(t,e)){s.bind(t,...r,e)();n||stopEvent(e)}}}class ColorManager{static _colorsMapping=new Map([["CanvasText",[0,0,0]],["Canvas",[255,255,255]]]);get _colors(){const t=new Map([["CanvasText",null],["Canvas",null]]);!function getColorValues(t){const e=document.createElement("span");e.style.visibility="hidden";document.body.append(e);for(const i of t.keys()){e.style.color=i;const s=window.getComputedStyle(e).color;t.set(i,getRGB(s))}e.remove()}(t);return shadow(this,"_colors",t)}convert(t){const e=getRGB(t);if(!window.matchMedia("(forced-colors: active)").matches)return e;for(const[t,i]of this._colors)if(i.every(((t,i)=>t===e[i])))return ColorManager._colorsMapping.get(t);return e}getHexCode(t){const e=this._colors.get(t);return e?Util.makeHexColor(...e):t}}class AnnotationEditorUIManager{#M=new AbortController;#P=null;#D=new Map;#k=new Map;#R=null;#I=null;#F=null;#L=new CommandManager;#O=null;#N=null;#B=0;#H=new Set;#U=null;#z=null;#j=new Set;_editorUndoBar=null;#G=!1;#V=!1;#$=!1;#W=null;#q=null;#X=null;#Y=null;#K=!1;#Q=null;#J=new IdManager;#Z=!1;#tt=!1;#et=null;#it=null;#st=null;#nt=null;#rt=f.NONE;#at=new Set;#ot=null;#lt=null;#ht=null;#ct={isEditing:!1,isEmpty:!0,hasSomethingToUndo:!1,hasSomethingToRedo:!1,hasSelectedEditor:!1,hasSelectedText:!1};#dt=[0,0];#ut=null;#pt=null;#gt=null;#ft=null;static TRANSLATE_SMALL=1;static TRANSLATE_BIG=10;static get _keyboardManager(){const t=AnnotationEditorUIManager.prototype,arrowChecker=t=>t.#pt.contains(document.activeElement)&&"BUTTON"!==document.activeElement.tagName&&t.hasSomethingToControl(),textInputChecker=(t,{target:e})=>{if(e instanceof HTMLInputElement){const{type:t}=e;return"text"!==t&&"number"!==t}return!0},e=this.TRANSLATE_SMALL,i=this.TRANSLATE_BIG;return shadow(this,"_keyboardManager",new KeyboardManager([[["ctrl+a","mac+meta+a"],t.selectAll,{checker:textInputChecker}],[["ctrl+z","mac+meta+z"],t.undo,{checker:textInputChecker}],[["ctrl+y","ctrl+shift+z","mac+meta+shift+z","ctrl+shift+Z","mac+meta+shift+Z"],t.redo,{checker:textInputChecker}],[["Backspace","alt+Backspace","ctrl+Backspace","shift+Backspace","mac+Backspace","mac+alt+Backspace","mac+ctrl+Backspace","Delete","ctrl+Delete","shift+Delete","mac+Delete"],t.delete,{checker:textInputChecker}],[["Enter","mac+Enter"],t.addNewEditorFromKeyboard,{checker:(t,{target:e})=>!(e instanceof HTMLButtonElement)&&t.#pt.contains(e)&&!t.isEnterHandled}],[[" ","mac+ "],t.addNewEditorFromKeyboard,{checker:(t,{target:e})=>!(e instanceof HTMLButtonElement)&&t.#pt.contains(document.activeElement)}],[["Escape","mac+Escape"],t.unselectAll],[["ArrowLeft","mac+ArrowLeft"],t.translateSelectedEditors,{args:[-e,0],checker:arrowChecker}],[["ctrl+ArrowLeft","mac+shift+ArrowLeft"],t.translateSelectedEditors,{args:[-i,0],checker:arrowChecker}],[["ArrowRight","mac+ArrowRight"],t.translateSelectedEditors,{args:[e,0],checker:arrowChecker}],[["ctrl+ArrowRight","mac+shift+ArrowRight"],t.translateSelectedEditors,{args:[i,0],checker:arrowChecker}],[["ArrowUp","mac+ArrowUp"],t.translateSelectedEditors,{args:[0,-e],checker:arrowChecker}],[["ctrl+ArrowUp","mac+shift+ArrowUp"],t.translateSelectedEditors,{args:[0,-i],checker:arrowChecker}],[["ArrowDown","mac+ArrowDown"],t.translateSelectedEditors,{args:[0,e],checker:arrowChecker}],[["ctrl+ArrowDown","mac+shift+ArrowDown"],t.translateSelectedEditors,{args:[0,i],checker:arrowChecker}]]))}constructor(t,e,i,s,n,r,a,o,l,h,c,d,u){const p=this._signal=this.#M.signal;this.#pt=t;this.#gt=e;this.#R=i;this._eventBus=s;s._on("editingaction",this.onEditingAction.bind(this),{signal:p});s._on("pagechanging",this.onPageChanging.bind(this),{signal:p});s._on("scalechanging",this.onScaleChanging.bind(this),{signal:p});s._on("rotationchanging",this.onRotationChanging.bind(this),{signal:p});s._on("setpreference",this.onSetPreference.bind(this),{signal:p});s._on("switchannotationeditorparams",(t=>this.updateParams(t.type,t.value)),{signal:p});this.#mt();this.#bt();this.#vt();this.#I=n.annotationStorage;this.#W=n.filterFactory;this.#lt=r;this.#Y=a||null;this.#G=o;this.#V=l;this.#$=h;this.#nt=c||null;this.viewParameters={realScale:PixelsPerInch.PDF_TO_CSS_UNITS,rotation:0};this.isShiftKeyDown=!1;this._editorUndoBar=d||null;this._supportsPinchToZoom=!1!==u}destroy(){this.#ft?.resolve();this.#ft=null;this.#M?.abort();this.#M=null;this._signal=null;for(const t of this.#k.values())t.destroy();this.#k.clear();this.#D.clear();this.#j.clear();this.#P=null;this.#at.clear();this.#L.destroy();this.#R?.destroy();this.#Q?.hide();this.#Q=null;if(this.#q){clearTimeout(this.#q);this.#q=null}if(this.#ut){clearTimeout(this.#ut);this.#ut=null}this._editorUndoBar?.destroy()}combinedSignal(t){return AbortSignal.any([this._signal,t.signal])}get mlManager(){return this.#nt}get useNewAltTextFlow(){return this.#V}get useNewAltTextWhenAddingImage(){return this.#$}get hcmFilter(){return shadow(this,"hcmFilter",this.#lt?this.#W.addHCMFilter(this.#lt.foreground,this.#lt.background):"none")}get direction(){return shadow(this,"direction",getComputedStyle(this.#pt).direction)}get highlightColors(){return shadow(this,"highlightColors",this.#Y?new Map(this.#Y.split(",").map((t=>t.split("=").map((t=>t.trim()))))):null)}get highlightColorNames(){return shadow(this,"highlightColorNames",this.highlightColors?new Map(Array.from(this.highlightColors,(t=>t.reverse()))):null)}setCurrentDrawingSession(t){if(t){this.unselectAll();this.disableUserSelect(!0)}else this.disableUserSelect(!1);this.#N=t}setMainHighlightColorPicker(t){this.#st=t}editAltText(t,e=!1){this.#R?.editAltText(this,t,e)}switchToMode(t,e){this._eventBus.on("annotationeditormodechanged",e,{once:!0,signal:this._signal});this._eventBus.dispatch("showannotationeditorui",{source:this,mode:t})}setPreference(t,e){this._eventBus.dispatch("setpreference",{source:this,name:t,value:e})}onSetPreference({name:t,value:e}){if("enableNewAltTextWhenAddingImage"===t)this.#$=e}onPageChanging({pageNumber:t}){this.#B=t-1}focusMainContainer(){this.#pt.focus()}findParent(t,e){for(const i of this.#k.values()){const{x:s,y:n,width:r,height:a}=i.div.getBoundingClientRect();if(t>=s&&t<=s+r&&e>=n&&e<=n+a)return i}return null}disableUserSelect(t=!1){this.#gt.classList.toggle("noUserSelect",t)}addShouldRescale(t){this.#j.add(t)}removeShouldRescale(t){this.#j.delete(t)}onScaleChanging({scale:t}){this.commitOrRemove();this.viewParameters.realScale=t*PixelsPerInch.PDF_TO_CSS_UNITS;for(const t of this.#j)t.onScaleChanging();this.#N?.onScaleChanging()}onRotationChanging({pagesRotation:t}){this.commitOrRemove();this.viewParameters.rotation=t}#yt({anchorNode:t}){return t.nodeType===Node.TEXT_NODE?t.parentElement:t}#wt(t){const{currentLayer:e}=this;if(e.hasTextLayer(t))return e;for(const e of this.#k.values())if(e.hasTextLayer(t))return e;return null}highlightSelection(t=""){const e=document.getSelection();if(!e||e.isCollapsed)return;const{anchorNode:i,anchorOffset:s,focusNode:n,focusOffset:r}=e,a=e.toString(),o=this.#yt(e).closest(".textLayer"),l=this.getSelectionBoxes(o);if(!l)return;e.empty();const h=this.#wt(o),c=this.#rt===f.NONE,callback=()=>{h?.createAndAddNewEditor({x:0,y:0},!1,{methodOfCreation:t,boxes:l,anchorNode:i,anchorOffset:s,focusNode:n,focusOffset:r,text:a});c&&this.showAllEditors("highlight",!0,!0)};c?this.switchToMode(f.HIGHLIGHT,callback):callback()}#At(){const t=document.getSelection();if(!t||t.isCollapsed)return;const e=this.#yt(t).closest(".textLayer"),i=this.getSelectionBoxes(e);if(i){this.#Q||=new HighlightToolbar(this);this.#Q.show(e,i,"ltr"===this.direction)}}addToAnnotationStorage(t){t.isEmpty()||!this.#I||this.#I.has(t.id)||this.#I.setValue(t.id,t)}#xt(){const t=document.getSelection();if(!t||t.isCollapsed){if(this.#ot){this.#Q?.hide();this.#ot=null;this.#_t({hasSelectedText:!1})}return}const{anchorNode:e}=t;if(e===this.#ot)return;const i=this.#yt(t).closest(".textLayer");if(i){this.#Q?.hide();this.#ot=e;this.#_t({hasSelectedText:!0});if(this.#rt===f.HIGHLIGHT||this.#rt===f.NONE){this.#rt===f.HIGHLIGHT&&this.showAllEditors("highlight",!0,!0);this.#K=this.isShiftKeyDown;if(!this.isShiftKeyDown){const t=this.#rt===f.HIGHLIGHT?this.#wt(i):null;t?.toggleDrawing();const e=new AbortController,s=this.combinedSignal(e),pointerup=i=>{if("pointerup"!==i.type||0===i.button){e.abort();t?.toggleDrawing(!0);"pointerup"===i.type&&this.#Et("main_toolbar")}};window.addEventListener("pointerup",pointerup,{signal:s});window.addEventListener("blur",pointerup,{signal:s})}}}else if(this.#ot){this.#Q?.hide();this.#ot=null;this.#_t({hasSelectedText:!1})}}#Et(t=""){this.#rt===f.HIGHLIGHT?this.highlightSelection(t):this.#G&&this.#At()}#mt(){document.addEventListener("selectionchange",this.#xt.bind(this),{signal:this._signal})}#St(){if(this.#X)return;this.#X=new AbortController;const t=this.combinedSignal(this.#X);window.addEventListener("focus",this.focus.bind(this),{signal:t});window.addEventListener("blur",this.blur.bind(this),{signal:t})}#Ct(){this.#X?.abort();this.#X=null}blur(){this.isShiftKeyDown=!1;if(this.#K){this.#K=!1;this.#Et("main_toolbar")}if(!this.hasSelection)return;const{activeElement:t}=document;for(const e of this.#at)if(e.div.contains(t)){this.#it=[e,t];e._focusEventsAllowed=!1;break}}focus(){if(!this.#it)return;const[t,e]=this.#it;this.#it=null;e.addEventListener("focusin",(()=>{t._focusEventsAllowed=!0}),{once:!0,signal:this._signal});e.focus()}#vt(){if(this.#et)return;this.#et=new AbortController;const t=this.combinedSignal(this.#et);window.addEventListener("keydown",this.keydown.bind(this),{signal:t});window.addEventListener("keyup",this.keyup.bind(this),{signal:t})}#Tt(){this.#et?.abort();this.#et=null}#Mt(){if(this.#O)return;this.#O=new AbortController;const t=this.combinedSignal(this.#O);document.addEventListener("copy",this.copy.bind(this),{signal:t});document.addEventListener("cut",this.cut.bind(this),{signal:t});document.addEventListener("paste",this.paste.bind(this),{signal:t})}#Pt(){this.#O?.abort();this.#O=null}#bt(){const t=this._signal;document.addEventListener("dragover",this.dragOver.bind(this),{signal:t});document.addEventListener("drop",this.drop.bind(this),{signal:t})}addEditListeners(){this.#vt();this.#Mt()}removeEditListeners(){this.#Tt();this.#Pt()}dragOver(t){for(const{type:e}of t.dataTransfer.items)for(const i of this.#z)if(i.isHandlingMimeForPasting(e)){t.dataTransfer.dropEffect="copy";t.preventDefault();return}}drop(t){for(const e of t.dataTransfer.items)for(const i of this.#z)if(i.isHandlingMimeForPasting(e.type)){i.paste(e,this.currentLayer);t.preventDefault();return}}copy(t){t.preventDefault();this.#P?.commitOrRemove();if(!this.hasSelection)return;const e=[];for(const t of this.#at){const i=t.serialize(!0);i&&e.push(i)}0!==e.length&&t.clipboardData.setData("application/pdfjs",JSON.stringify(e))}cut(t){this.copy(t);this.delete()}async paste(t){t.preventDefault();const{clipboardData:e}=t;for(const t of e.items)for(const e of this.#z)if(e.isHandlingMimeForPasting(t.type)){e.paste(t,this.currentLayer);return}let i=e.getData("application/pdfjs");if(!i)return;try{i=JSON.parse(i)}catch(t){warn(`paste: "${t.message}".`);return}if(!Array.isArray(i))return;this.unselectAll();const s=this.currentLayer;try{const t=[];for(const e of i){const i=await s.deserialize(e);if(!i)return;t.push(i)}const cmd=()=>{for(const e of t)this.#Dt(e);this.#kt(t)},undo=()=>{for(const e of t)e.remove()};this.addCommands({cmd,undo,mustExec:!0})}catch(t){warn(`paste: "${t.message}".`)}}keydown(t){this.isShiftKeyDown||"Shift"!==t.key||(this.isShiftKeyDown=!0);this.#rt===f.NONE||this.isEditorHandlingKeyboard||AnnotationEditorUIManager._keyboardManager.exec(this,t)}keyup(t){if(this.isShiftKeyDown&&"Shift"===t.key){this.isShiftKeyDown=!1;if(this.#K){this.#K=!1;this.#Et("main_toolbar")}}}onEditingAction({name:t}){switch(t){case"undo":case"redo":case"delete":case"selectAll":this[t]();break;case"highlightSelection":this.highlightSelection("context_menu")}}#_t(t){if(Object.entries(t).some((([t,e])=>this.#ct[t]!==e))){this._eventBus.dispatch("annotationeditorstateschanged",{source:this,details:Object.assign(this.#ct,t)});this.#rt===f.HIGHLIGHT&&!1===t.hasSelectedEditor&&this.#Rt([[m.HIGHLIGHT_FREE,!0]])}}#Rt(t){this._eventBus.dispatch("annotationeditorparamschanged",{source:this,details:t})}setEditingState(t){if(t){this.#St();this.#Mt();this.#_t({isEditing:this.#rt!==f.NONE,isEmpty:this.#It(),hasSomethingToUndo:this.#L.hasSomethingToUndo(),hasSomethingToRedo:this.#L.hasSomethingToRedo(),hasSelectedEditor:!1})}else{this.#Ct();this.#Pt();this.#_t({isEditing:!1});this.disableUserSelect(!1)}}registerEditorTypes(t){if(!this.#z){this.#z=t;for(const t of this.#z)this.#Rt(t.defaultPropertiesToUpdate)}}getId(){return this.#J.id}get currentLayer(){return this.#k.get(this.#B)}getLayer(t){return this.#k.get(t)}get currentPageIndex(){return this.#B}addLayer(t){this.#k.set(t.pageIndex,t);this.#Z?t.enable():t.disable()}removeLayer(t){this.#k.delete(t.pageIndex)}async updateMode(t,e=null,i=!1){if(this.#rt!==t){if(this.#ft){await this.#ft.promise;if(!this.#ft)return}this.#ft=Promise.withResolvers();this.#rt=t;if(t!==f.NONE){this.setEditingState(!0);await this.#Ft();this.unselectAll();for(const e of this.#k.values())e.updateMode(t);if(e){for(const t of this.#D.values())if(t.annotationElementId===e){this.setSelected(t);t.enterInEditMode()}else t.unselect();this.#ft.resolve()}else{i&&this.addNewEditorFromKeyboard();this.#ft.resolve()}}else{this.setEditingState(!1);this.#Lt();this._editorUndoBar?.hide();this.#ft.resolve()}}}addNewEditorFromKeyboard(){this.currentLayer.canCreateNewEmptyEditor()&&this.currentLayer.addNewEditor()}updateToolbar(t){t!==this.#rt&&this._eventBus.dispatch("switchannotationeditormode",{source:this,mode:t})}updateParams(t,e){if(this.#z){switch(t){case m.CREATE:this.currentLayer.addNewEditor();return;case m.HIGHLIGHT_DEFAULT_COLOR:this.#st?.updateColor(e);break;case m.HIGHLIGHT_SHOW_ALL:this._eventBus.dispatch("reporttelemetry",{source:this,details:{type:"editing",data:{type:"highlight",action:"toggle_visibility"}}});(this.#ht||=new Map).set(t,e);this.showAllEditors("highlight",e)}for(const i of this.#at)i.updateParams(t,e);for(const i of this.#z)i.updateDefaultParams(t,e)}}showAllEditors(t,e,i=!1){for(const i of this.#D.values())i.editorType===t&&i.show(e);(this.#ht?.get(m.HIGHLIGHT_SHOW_ALL)??!0)!==e&&this.#Rt([[m.HIGHLIGHT_SHOW_ALL,e]])}enableWaiting(t=!1){if(this.#tt!==t){this.#tt=t;for(const e of this.#k.values()){t?e.disableClick():e.enableClick();e.div.classList.toggle("waiting",t)}}}async#Ft(){if(!this.#Z){this.#Z=!0;const t=[];for(const e of this.#k.values())t.push(e.enable());await Promise.all(t);for(const t of this.#D.values())t.enable()}}#Lt(){this.unselectAll();if(this.#Z){this.#Z=!1;for(const t of this.#k.values())t.disable();for(const t of this.#D.values())t.disable()}}getEditors(t){const e=[];for(const i of this.#D.values())i.pageIndex===t&&e.push(i);return e}getEditor(t){return this.#D.get(t)}addEditor(t){this.#D.set(t.id,t)}removeEditor(t){if(t.div.contains(document.activeElement)){this.#q&&clearTimeout(this.#q);this.#q=setTimeout((()=>{this.focusMainContainer();this.#q=null}),0)}this.#D.delete(t.id);this.unselect(t);t.annotationElementId&&this.#H.has(t.annotationElementId)||this.#I?.remove(t.id)}addDeletedAnnotationElement(t){this.#H.add(t.annotationElementId);this.addChangedExistingAnnotation(t);t.deleted=!0}isDeletedAnnotationElement(t){return this.#H.has(t)}removeDeletedAnnotationElement(t){this.#H.delete(t.annotationElementId);this.removeChangedExistingAnnotation(t);t.deleted=!1}#Dt(t){const e=this.#k.get(t.pageIndex);if(e)e.addOrRebuild(t);else{this.addEditor(t);this.addToAnnotationStorage(t)}}setActiveEditor(t){if(this.#P!==t){this.#P=t;t&&this.#Rt(t.propertiesToUpdate)}}get#Ot(){let t=null;for(t of this.#at);return t}updateUI(t){this.#Ot===t&&this.#Rt(t.propertiesToUpdate)}updateUIForDefaultProperties(t){this.#Rt(t.defaultPropertiesToUpdate)}toggleSelected(t){if(this.#at.has(t)){this.#at.delete(t);t.unselect();this.#_t({hasSelectedEditor:this.hasSelection})}else{this.#at.add(t);t.select();this.#Rt(t.propertiesToUpdate);this.#_t({hasSelectedEditor:!0})}}setSelected(t){this.#N?.commitOrRemove();for(const e of this.#at)e!==t&&e.unselect();this.#at.clear();this.#at.add(t);t.select();this.#Rt(t.propertiesToUpdate);this.#_t({hasSelectedEditor:!0})}isSelected(t){return this.#at.has(t)}get firstSelectedEditor(){return this.#at.values().next().value}unselect(t){t.unselect();this.#at.delete(t);this.#_t({hasSelectedEditor:this.hasSelection})}get hasSelection(){return 0!==this.#at.size}get isEnterHandled(){return 1===this.#at.size&&this.firstSelectedEditor.isEnterHandled}undo(){this.#L.undo();this.#_t({hasSomethingToUndo:this.#L.hasSomethingToUndo(),hasSomethingToRedo:!0,isEmpty:this.#It()});this._editorUndoBar?.hide()}redo(){this.#L.redo();this.#_t({hasSomethingToUndo:!0,hasSomethingToRedo:this.#L.hasSomethingToRedo(),isEmpty:this.#It()})}addCommands(t){this.#L.add(t);this.#_t({hasSomethingToUndo:!0,hasSomethingToRedo:!1,isEmpty:this.#It()})}cleanUndoStack(t){this.#L.cleanType(t)}#It(){if(0===this.#D.size)return!0;if(1===this.#D.size)for(const t of this.#D.values())return t.isEmpty();return!1}delete(){this.commitOrRemove();const t=this.currentLayer?.endDrawingSession(!0);if(!this.hasSelection&&!t)return;const e=t?[t]:[...this.#at],undo=()=>{for(const t of e)this.#Dt(t)};this.addCommands({cmd:()=>{this._editorUndoBar?.show(undo,1===e.length?e[0].editorType:e.length);for(const t of e)t.remove()},undo,mustExec:!0})}commitOrRemove(){this.#P?.commitOrRemove()}hasSomethingToControl(){return this.#P||this.hasSelection}#kt(t){for(const t of this.#at)t.unselect();this.#at.clear();for(const e of t)if(!e.isEmpty()){this.#at.add(e);e.select()}this.#_t({hasSelectedEditor:this.hasSelection})}selectAll(){for(const t of this.#at)t.commit();this.#kt(this.#D.values())}unselectAll(){if(this.#P){this.#P.commitOrRemove();if(this.#rt!==f.NONE)return}if(!this.#N?.commitOrRemove()&&this.hasSelection){for(const t of this.#at)t.unselect();this.#at.clear();this.#_t({hasSelectedEditor:!1})}}translateSelectedEditors(t,e,i=!1){i||this.commitOrRemove();if(!this.hasSelection)return;this.#dt[0]+=t;this.#dt[1]+=e;const[s,n]=this.#dt,r=[...this.#at];this.#ut&&clearTimeout(this.#ut);this.#ut=setTimeout((()=>{this.#ut=null;this.#dt[0]=this.#dt[1]=0;this.addCommands({cmd:()=>{for(const t of r)this.#D.has(t.id)&&t.translateInPage(s,n)},undo:()=>{for(const t of r)this.#D.has(t.id)&&t.translateInPage(-s,-n)},mustExec:!1})}),1e3);for(const i of r)i.translateInPage(t,e)}setUpDragSession(){if(this.hasSelection){this.disableUserSelect(!0);this.#U=new Map;for(const t of this.#at)this.#U.set(t,{savedX:t.x,savedY:t.y,savedPageIndex:t.pageIndex,newX:0,newY:0,newPageIndex:-1})}}endDragSession(){if(!this.#U)return!1;this.disableUserSelect(!1);const t=this.#U;this.#U=null;let e=!1;for(const[{x:i,y:s,pageIndex:n},r]of t){r.newX=i;r.newY=s;r.newPageIndex=n;e||=i!==r.savedX||s!==r.savedY||n!==r.savedPageIndex}if(!e)return!1;const move=(t,e,i,s)=>{if(this.#D.has(t.id)){const n=this.#k.get(s);if(n)t._setParentAndPosition(n,e,i);else{t.pageIndex=s;t.x=e;t.y=i}}};this.addCommands({cmd:()=>{for(const[e,{newX:i,newY:s,newPageIndex:n}]of t)move(e,i,s,n)},undo:()=>{for(const[e,{savedX:i,savedY:s,savedPageIndex:n}]of t)move(e,i,s,n)},mustExec:!0});return!0}dragSelectedEditors(t,e){if(this.#U)for(const i of this.#U.keys())i.drag(t,e)}rebuild(t){if(null===t.parent){const e=this.getLayer(t.pageIndex);if(e){e.changeParent(t);e.addOrRebuild(t)}else{this.addEditor(t);this.addToAnnotationStorage(t);t.rebuild()}}else t.parent.addOrRebuild(t)}get isEditorHandlingKeyboard(){return this.getActive()?.shouldGetKeyboardEvents()||1===this.#at.size&&this.firstSelectedEditor.shouldGetKeyboardEvents()}isActive(t){return this.#P===t}getActive(){return this.#P}getMode(){return this.#rt}get imageManager(){return shadow(this,"imageManager",new ImageManager)}getSelectionBoxes(t){if(!t)return null;const e=document.getSelection();for(let i=0,s=e.rangeCount;i({x:(e-s)/r,y:1-(t+a-i)/n,width:o/r,height:a/n});break;case"180":a=(t,e,a,o)=>({x:1-(t+a-i)/n,y:1-(e+o-s)/r,width:a/n,height:o/r});break;case"270":a=(t,e,a,o)=>({x:1-(e+o-s)/r,y:(t-i)/n,width:o/r,height:a/n});break;default:a=(t,e,a,o)=>({x:(t-i)/n,y:(e-s)/r,width:a/n,height:o/r})}const o=[];for(let t=0,i=e.rangeCount;tt.stopPropagation()),{signal:i});const onClick=t=>{t.preventDefault();this.#r._uiManager.editAltText(this.#r);this.#Wt&&this.#r._reportTelemetry({action:"pdfjs.image.alt_text.image_status_label_clicked",data:{label:this.#Xt}})};t.addEventListener("click",onClick,{capture:!0,signal:i});t.addEventListener("keydown",(e=>{if(e.target===t&&"Enter"===e.key){this.#jt=!0;onClick(e)}}),{signal:i});await this.#Yt();return t}get#Xt(){return(this.#o?"added":null===this.#o&&this.guessedText&&"review")||"missing"}finish(){if(this.#Bt){this.#Bt.focus({focusVisible:this.#jt});this.#jt=!1}}isEmpty(){return this.#Wt?null===this.#o:!this.#o&&!this.#Nt}hasData(){return this.#Wt?null!==this.#o||!!this.#Vt:this.isEmpty()}get guessedText(){return this.#Vt}async setGuessedText(t){if(null===this.#o){this.#Vt=t;this.#$t=await AltText._l10n.get("pdfjs-editor-new-alt-text-generated-alt-text-with-disclaimer",{generatedAltText:t});this.#Yt()}}toggleAltTextBadge(t=!1){if(this.#Wt&&!this.#o){if(!this.#Gt){const t=this.#Gt=document.createElement("div");t.className="noAltTextBadge";this.#r.div.append(t)}this.#Gt.classList.toggle("hidden",!t)}else{this.#Gt?.remove();this.#Gt=null}}serialize(t){let e=this.#o;t||this.#Vt!==e||(e=this.#$t);return{altText:e,decorative:this.#Nt,guessedText:this.#Vt,textWithDisclaimer:this.#$t}}get data(){return{altText:this.#o,decorative:this.#Nt}}set data({altText:t,decorative:e,guessedText:i,textWithDisclaimer:s,cancel:n=!1}){if(i){this.#Vt=i;this.#$t=s}if(this.#o!==t||this.#Nt!==e){if(!n){this.#o=t;this.#Nt=e}this.#Yt()}}toggle(t=!1){if(this.#Bt){if(!t&&this.#zt){clearTimeout(this.#zt);this.#zt=null}this.#Bt.disabled=!t}}shown(){this.#r._reportTelemetry({action:"pdfjs.image.alt_text.image_status_label_displayed",data:{label:this.#Xt}})}destroy(){this.#Bt?.remove();this.#Bt=null;this.#Ht=null;this.#Ut=null;this.#Gt?.remove();this.#Gt=null}async#Yt(){const t=this.#Bt;if(!t)return;if(this.#Wt){t.classList.toggle("done",!!this.#o);t.setAttribute("data-l10n-id",AltText.#qt[this.#Xt]);this.#Ht?.setAttribute("data-l10n-id",AltText.#qt[`${this.#Xt}-label`]);if(!this.#o){this.#Ut?.remove();return}}else{if(!this.#o&&!this.#Nt){t.classList.remove("done");this.#Ut?.remove();return}t.classList.add("done");t.setAttribute("data-l10n-id","pdfjs-editor-alt-text-edit-button")}let e=this.#Ut;if(!e){this.#Ut=e=document.createElement("span");e.className="tooltip";e.setAttribute("role","tooltip");e.id=`alt-text-tooltip-${this.#r.id}`;const i=100,s=this.#r._uiManager._signal;s.addEventListener("abort",(()=>{clearTimeout(this.#zt);this.#zt=null}),{once:!0});t.addEventListener("mouseenter",(()=>{this.#zt=setTimeout((()=>{this.#zt=null;this.#Ut.classList.add("show");this.#r._reportTelemetry({action:"alt_text_tooltip"})}),i)}),{signal:s});t.addEventListener("mouseleave",(()=>{if(this.#zt){clearTimeout(this.#zt);this.#zt=null}this.#Ut?.classList.remove("show")}),{signal:s})}if(this.#Nt)e.setAttribute("data-l10n-id","pdfjs-editor-alt-text-decorative-tooltip");else{e.removeAttribute("data-l10n-id");e.textContent=this.#o}e.parentNode||t.append(e);const i=this.#r.getImageForAltText();i?.setAttribute("aria-describedby",e.id)}}class TouchManager{#pt;#Kt=!1;#Qt=null;#Jt;#Zt;#te;#ee;#ie;#se=null;#ne;#re=null;constructor({container:t,isPinchingDisabled:e=null,isPinchingStopped:i=null,onPinchStart:s=null,onPinching:n=null,onPinchEnd:r=null,signal:a}){this.#pt=t;this.#Qt=i;this.#Jt=e;this.#Zt=s;this.#te=n;this.#ee=r;this.#ne=new AbortController;this.#ie=AbortSignal.any([a,this.#ne.signal]);t.addEventListener("touchstart",this.#ae.bind(this),{passive:!1,signal:this.#ie})}get MIN_TOUCH_DISTANCE_TO_PINCH(){return shadow(this,"MIN_TOUCH_DISTANCE_TO_PINCH",35/(window.devicePixelRatio||1))}#ae(t){if(this.#Jt?.()||t.touches.length<2)return;if(!this.#re){this.#re=new AbortController;const t=AbortSignal.any([this.#ie,this.#re.signal]),e=this.#pt,i={signal:t,passive:!1};e.addEventListener("touchmove",this.#oe.bind(this),i);e.addEventListener("touchend",this.#le.bind(this),i);e.addEventListener("touchcancel",this.#le.bind(this),i);this.#Zt?.()}stopEvent(t);if(2!==t.touches.length||this.#Qt?.()){this.#se=null;return}let[e,i]=t.touches;e.identifier>i.identifier&&([e,i]=[i,e]);this.#se={touch0X:e.screenX,touch0Y:e.screenY,touch1X:i.screenX,touch1Y:i.screenY}}#oe(t){if(!this.#se||2!==t.touches.length)return;let[e,i]=t.touches;e.identifier>i.identifier&&([e,i]=[i,e]);const{screenX:s,screenY:n}=e,{screenX:r,screenY:a}=i,o=this.#se,{touch0X:l,touch0Y:h,touch1X:c,touch1Y:d}=o,u=c-l,p=d-h,g=r-s,f=a-n,m=Math.hypot(g,f)||1,b=Math.hypot(u,p)||1;if(!this.#Kt&&Math.abs(b-m)<=TouchManager.MIN_TOUCH_DISTANCE_TO_PINCH)return;o.touch0X=s;o.touch0Y=n;o.touch1X=r;o.touch1Y=a;t.preventDefault();if(!this.#Kt){this.#Kt=!0;return}const v=[(s+r)/2,(n+a)/2];this.#te?.(v,b,m)}#le(t){this.#re.abort();this.#re=null;this.#ee?.();if(this.#se){t.preventDefault();this.#se=null;this.#Kt=!1}}destroy(){this.#ne?.abort();this.#ne=null}}class AnnotationEditor{#he=null;#ce=null;#o=null;#de=!1;#ue=null;#pe="";#ge=!1;#fe=null;#me=null;#be=null;#ve=null;#ye="";#we=!1;#Ae=null;#xe=!1;#_e=!1;#Ee=!1;#Se=null;#Ce=0;#Te=0;#Me=null;#Pe=null;_editToolbar=null;_initialOptions=Object.create(null);_initialData=null;_isVisible=!0;_uiManager=null;_focusEventsAllowed=!0;static _l10n=null;static _l10nResizer=null;#De=!1;#ke=AnnotationEditor._zIndex++;static _borderLineWidth=-1;static _colorManager=new ColorManager;static _zIndex=1;static _telemetryTimeout=1e3;static get _resizerKeyboardManager(){const t=AnnotationEditor.prototype._resizeWithKeyboard,e=AnnotationEditorUIManager.TRANSLATE_SMALL,i=AnnotationEditorUIManager.TRANSLATE_BIG;return shadow(this,"_resizerKeyboardManager",new KeyboardManager([[["ArrowLeft","mac+ArrowLeft"],t,{args:[-e,0]}],[["ctrl+ArrowLeft","mac+shift+ArrowLeft"],t,{args:[-i,0]}],[["ArrowRight","mac+ArrowRight"],t,{args:[e,0]}],[["ctrl+ArrowRight","mac+shift+ArrowRight"],t,{args:[i,0]}],[["ArrowUp","mac+ArrowUp"],t,{args:[0,-e]}],[["ctrl+ArrowUp","mac+shift+ArrowUp"],t,{args:[0,-i]}],[["ArrowDown","mac+ArrowDown"],t,{args:[0,e]}],[["ctrl+ArrowDown","mac+shift+ArrowDown"],t,{args:[0,i]}],[["Escape","mac+Escape"],AnnotationEditor.prototype._stopResizingWithKeyboard]]))}constructor(t){this.parent=t.parent;this.id=t.id;this.width=this.height=null;this.pageIndex=t.parent.pageIndex;this.name=t.name;this.div=null;this._uiManager=t.uiManager;this.annotationElementId=null;this._willKeepAspectRatio=!1;this._initialOptions.isCentered=t.isCentered;this._structTreeParentId=null;const{rotation:e,rawDims:{pageWidth:i,pageHeight:s,pageX:n,pageY:r}}=this.parent.viewport;this.rotation=e;this.pageRotation=(360+e-this._uiManager.viewParameters.rotation)%360;this.pageDimensions=[i,s];this.pageTranslation=[n,r];const[a,o]=this.parentDimensions;this.x=t.x/a;this.y=t.y/o;this.isAttachedToDOM=!1;this.deleted=!1}get editorType(){return Object.getPrototypeOf(this).constructor._type}static get isDrawer(){return!1}static get _defaultLineColor(){return shadow(this,"_defaultLineColor",this._colorManager.getHexCode("CanvasText"))}static deleteAnnotationElement(t){const e=new FakeEditor({id:t.parent.getNextId(),parent:t.parent,uiManager:t._uiManager});e.annotationElementId=t.annotationElementId;e.deleted=!0;e._uiManager.addToAnnotationStorage(e)}static initialize(t,e){AnnotationEditor._l10n??=t;AnnotationEditor._l10nResizer||=Object.freeze({topLeft:"pdfjs-editor-resizer-top-left",topMiddle:"pdfjs-editor-resizer-top-middle",topRight:"pdfjs-editor-resizer-top-right",middleRight:"pdfjs-editor-resizer-middle-right",bottomRight:"pdfjs-editor-resizer-bottom-right",bottomMiddle:"pdfjs-editor-resizer-bottom-middle",bottomLeft:"pdfjs-editor-resizer-bottom-left",middleLeft:"pdfjs-editor-resizer-middle-left"});if(-1!==AnnotationEditor._borderLineWidth)return;const i=getComputedStyle(document.documentElement);AnnotationEditor._borderLineWidth=parseFloat(i.getPropertyValue("--outline-width"))||0}static updateDefaultParams(t,e){}static get defaultPropertiesToUpdate(){return[]}static isHandlingMimeForPasting(t){return!1}static paste(t,e){unreachable("Not implemented")}get propertiesToUpdate(){return[]}get _isDraggable(){return this.#De}set _isDraggable(t){this.#De=t;this.div?.classList.toggle("draggable",t)}get isEnterHandled(){return!0}center(){const[t,e]=this.pageDimensions;switch(this.parentRotation){case 90:this.x-=this.height*e/(2*t);this.y+=this.width*t/(2*e);break;case 180:this.x+=this.width/2;this.y+=this.height/2;break;case 270:this.x+=this.height*e/(2*t);this.y-=this.width*t/(2*e);break;default:this.x-=this.width/2;this.y-=this.height/2}this.fixAndSetPosition()}addCommands(t){this._uiManager.addCommands(t)}get currentLayer(){return this._uiManager.currentLayer}setInBackground(){this.div.style.zIndex=0}setInForeground(){this.div.style.zIndex=this.#ke}setParent(t){if(null!==t){this.pageIndex=t.pageIndex;this.pageDimensions=t.pageDimensions}else this.#Re();this.parent=t}focusin(t){this._focusEventsAllowed&&(this.#we?this.#we=!1:this.parent.setSelected(this))}focusout(t){if(!this._focusEventsAllowed)return;if(!this.isAttachedToDOM)return;const e=t.relatedTarget;if(!e?.closest(`#${this.id}`)){t.preventDefault();this.parent?.isMultipleSelection||this.commitOrRemove()}}commitOrRemove(){this.isEmpty()?this.remove():this.commit()}commit(){this.addToAnnotationStorage()}addToAnnotationStorage(){this._uiManager.addToAnnotationStorage(this)}setAt(t,e,i,s){const[n,r]=this.parentDimensions;[i,s]=this.screenToPageTranslation(i,s);this.x=(t+i)/n;this.y=(e+s)/r;this.fixAndSetPosition()}#Ie([t,e],i,s){[i,s]=this.screenToPageTranslation(i,s);this.x+=i/t;this.y+=s/e;this._onTranslating(this.x,this.y);this.fixAndSetPosition()}translate(t,e){this.#Ie(this.parentDimensions,t,e)}translateInPage(t,e){this.#Ae||=[this.x,this.y,this.width,this.height];this.#Ie(this.pageDimensions,t,e);this.div.scrollIntoView({block:"nearest"})}drag(t,e){this.#Ae||=[this.x,this.y,this.width,this.height];const{div:i,parentDimensions:[s,n]}=this;this.x+=t/s;this.y+=e/n;if(this.parent&&(this.x<0||this.x>1||this.y<0||this.y>1)){const{x:t,y:e}=this.div.getBoundingClientRect();if(this.parent.findNewParent(this,t,e)){this.x-=Math.floor(this.x);this.y-=Math.floor(this.y)}}let{x:r,y:a}=this;const[o,l]=this.getBaseTranslation();r+=o;a+=l;const{style:h}=i;h.left=`${(100*r).toFixed(2)}%`;h.top=`${(100*a).toFixed(2)}%`;this._onTranslating(r,a);i.scrollIntoView({block:"nearest"})}_onTranslating(t,e){}_onTranslated(t,e){}get _hasBeenMoved(){return!!this.#Ae&&(this.#Ae[0]!==this.x||this.#Ae[1]!==this.y)}get _hasBeenResized(){return!!this.#Ae&&(this.#Ae[2]!==this.width||this.#Ae[3]!==this.height)}getBaseTranslation(){const[t,e]=this.parentDimensions,{_borderLineWidth:i}=AnnotationEditor,s=i/t,n=i/e;switch(this.rotation){case 90:return[-s,n];case 180:return[s,n];case 270:return[s,-n];default:return[-s,-n]}}get _mustFixPosition(){return!0}fixAndSetPosition(t=this.rotation){const{div:{style:e},pageDimensions:[i,s]}=this;let{x:n,y:r,width:a,height:o}=this;a*=i;o*=s;n*=i;r*=s;if(this._mustFixPosition)switch(t){case 0:n=Math.max(0,Math.min(i-a,n));r=Math.max(0,Math.min(s-o,r));break;case 90:n=Math.max(0,Math.min(i-o,n));r=Math.min(s,Math.max(a,r));break;case 180:n=Math.min(i,Math.max(a,n));r=Math.min(s,Math.max(o,r));break;case 270:n=Math.min(i,Math.max(o,n));r=Math.max(0,Math.min(s-a,r))}this.x=n/=i;this.y=r/=s;const[l,h]=this.getBaseTranslation();n+=l;r+=h;e.left=`${(100*n).toFixed(2)}%`;e.top=`${(100*r).toFixed(2)}%`;this.moveInDOM()}static#Fe(t,e,i){switch(i){case 90:return[e,-t];case 180:return[-t,-e];case 270:return[-e,t];default:return[t,e]}}screenToPageTranslation(t,e){return AnnotationEditor.#Fe(t,e,this.parentRotation)}pageTranslationToScreen(t,e){return AnnotationEditor.#Fe(t,e,360-this.parentRotation)}#Le(t){switch(t){case 90:{const[t,e]=this.pageDimensions;return[0,-t/e,e/t,0]}case 180:return[-1,0,0,-1];case 270:{const[t,e]=this.pageDimensions;return[0,t/e,-e/t,0]}default:return[1,0,0,1]}}get parentScale(){return this._uiManager.viewParameters.realScale}get parentRotation(){return(this._uiManager.viewParameters.rotation+this.pageRotation)%360}get parentDimensions(){const{parentScale:t,pageDimensions:[e,i]}=this;return[e*t,i*t]}setDims(t,e){const[i,s]=this.parentDimensions,{style:n}=this.div;n.width=`${(100*t/i).toFixed(2)}%`;this.#ge||(n.height=`${(100*e/s).toFixed(2)}%`)}fixDims(){const{style:t}=this.div,{height:e,width:i}=t,s=i.endsWith("%"),n=!this.#ge&&e.endsWith("%");if(s&&n)return;const[r,a]=this.parentDimensions;s||(t.width=`${(100*parseFloat(i)/r).toFixed(2)}%`);this.#ge||n||(t.height=`${(100*parseFloat(e)/a).toFixed(2)}%`)}getInitialTranslation(){return[0,0]}#Oe(){if(this.#fe)return;this.#fe=document.createElement("div");this.#fe.classList.add("resizers");const t=this._willKeepAspectRatio?["topLeft","topRight","bottomRight","bottomLeft"]:["topLeft","topMiddle","topRight","middleRight","bottomRight","bottomMiddle","bottomLeft","middleLeft"],e=this._uiManager._signal;for(const i of t){const t=document.createElement("div");this.#fe.append(t);t.classList.add("resizer",i);t.setAttribute("data-resizer-name",i);t.addEventListener("pointerdown",this.#Ne.bind(this,i),{signal:e});t.addEventListener("contextmenu",noContextMenu,{signal:e});t.tabIndex=-1}this.div.prepend(this.#fe)}#Ne(t,e){e.preventDefault();const{isMac:i}=util_FeatureTest.platform;if(0!==e.button||e.ctrlKey&&i)return;this.#o?.toggle(!1);const s=this._isDraggable;this._isDraggable=!1;this.#me=[e.screenX,e.screenY];const n=new AbortController,r=this._uiManager.combinedSignal(n);this.parent.togglePointerEvents(!1);window.addEventListener("pointermove",this.#Be.bind(this,t),{passive:!0,capture:!0,signal:r});window.addEventListener("touchmove",stopEvent,{passive:!1,signal:r});window.addEventListener("contextmenu",noContextMenu,{signal:r});this.#be={savedX:this.x,savedY:this.y,savedWidth:this.width,savedHeight:this.height};const a=this.parent.div.style.cursor,o=this.div.style.cursor;this.div.style.cursor=this.parent.div.style.cursor=window.getComputedStyle(e.target).cursor;const pointerUpCallback=()=>{n.abort();this.parent.togglePointerEvents(!0);this.#o?.toggle(!0);this._isDraggable=s;this.parent.div.style.cursor=a;this.div.style.cursor=o;this.#He()};window.addEventListener("pointerup",pointerUpCallback,{signal:r});window.addEventListener("blur",pointerUpCallback,{signal:r})}#Ue(t,e,i,s){this.width=i;this.height=s;this.x=t;this.y=e;const[n,r]=this.parentDimensions;this.setDims(n*i,r*s);this.fixAndSetPosition();this._onResized()}_onResized(){}#He(){if(!this.#be)return;const{savedX:t,savedY:e,savedWidth:i,savedHeight:s}=this.#be;this.#be=null;const n=this.x,r=this.y,a=this.width,o=this.height;n===t&&r===e&&a===i&&o===s||this.addCommands({cmd:this.#Ue.bind(this,n,r,a,o),undo:this.#Ue.bind(this,t,e,i,s),mustExec:!0})}static _round(t){return Math.round(1e4*t)/1e4}#Be(t,e){const[i,s]=this.parentDimensions,n=this.x,r=this.y,a=this.width,o=this.height,l=AnnotationEditor.MIN_SIZE/i,h=AnnotationEditor.MIN_SIZE/s,c=this.#Le(this.rotation),transf=(t,e)=>[c[0]*t+c[2]*e,c[1]*t+c[3]*e],d=this.#Le(360-this.rotation);let u,p,g=!1,f=!1;switch(t){case"topLeft":g=!0;u=(t,e)=>[0,0];p=(t,e)=>[t,e];break;case"topMiddle":u=(t,e)=>[t/2,0];p=(t,e)=>[t/2,e];break;case"topRight":g=!0;u=(t,e)=>[t,0];p=(t,e)=>[0,e];break;case"middleRight":f=!0;u=(t,e)=>[t,e/2];p=(t,e)=>[0,e/2];break;case"bottomRight":g=!0;u=(t,e)=>[t,e];p=(t,e)=>[0,0];break;case"bottomMiddle":u=(t,e)=>[t/2,e];p=(t,e)=>[t/2,0];break;case"bottomLeft":g=!0;u=(t,e)=>[0,e];p=(t,e)=>[t,0];break;case"middleLeft":f=!0;u=(t,e)=>[0,e/2];p=(t,e)=>[t,e/2]}const m=u(a,o),b=p(a,o);let v=transf(...b);const y=AnnotationEditor._round(n+v[0]),w=AnnotationEditor._round(r+v[1]);let A,x,_=1,E=1;if(e.fromKeyboard)({deltaX:A,deltaY:x}=e);else{const{screenX:t,screenY:i}=e,[s,n]=this.#me;[A,x]=this.screenToPageTranslation(t-s,i-n);this.#me[0]=t;this.#me[1]=i}[A,x]=(S=A/i,C=x/s,[d[0]*S+d[2]*C,d[1]*S+d[3]*C]);var S,C;if(g){const t=Math.hypot(a,o);_=E=Math.max(Math.min(Math.hypot(b[0]-m[0]-A,b[1]-m[1]-x)/t,1/a,1/o),l/a,h/o)}else f?_=Math.max(l,Math.min(1,Math.abs(b[0]-m[0]-A)))/a:E=Math.max(h,Math.min(1,Math.abs(b[1]-m[1]-x)))/o;const T=AnnotationEditor._round(a*_),M=AnnotationEditor._round(o*E);v=transf(...p(T,M));const P=y-v[0],D=w-v[1];this.#Ae||=[this.x,this.y,this.width,this.height];this.width=T;this.height=M;this.x=P;this.y=D;this.setDims(i*T,s*M);this.fixAndSetPosition();this._onResizing()}_onResizing(){}altTextFinish(){this.#o?.finish()}async addEditToolbar(){if(this._editToolbar||this.#_e)return this._editToolbar;this._editToolbar=new EditorToolbar(this);this.div.append(this._editToolbar.render());this.#o&&await this._editToolbar.addAltText(this.#o);return this._editToolbar}removeEditToolbar(){if(this._editToolbar){this._editToolbar.remove();this._editToolbar=null;this.#o?.destroy()}}addContainer(t){const e=this._editToolbar?.div;e?e.before(t):this.div.append(t)}getClientDimensions(){return this.div.getBoundingClientRect()}async addAltTextButton(){if(!this.#o){AltText.initialize(AnnotationEditor._l10n);this.#o=new AltText(this);if(this.#he){this.#o.data=this.#he;this.#he=null}await this.addEditToolbar()}}get altTextData(){return this.#o?.data}set altTextData(t){this.#o&&(this.#o.data=t)}get guessedAltText(){return this.#o?.guessedText}async setGuessedAltText(t){await(this.#o?.setGuessedText(t))}serializeAltText(t){return this.#o?.serialize(t)}hasAltText(){return!!this.#o&&!this.#o.isEmpty()}hasAltTextData(){return this.#o?.hasData()??!1}render(){this.div=document.createElement("div");this.div.setAttribute("data-editor-rotation",(360-this.rotation)%360);this.div.className=this.name;this.div.setAttribute("id",this.id);this.div.tabIndex=this.#de?-1:0;this._isVisible||this.div.classList.add("hidden");this.setInForeground();this.#ze();const[t,e]=this.parentDimensions;if(this.parentRotation%180!=0){this.div.style.maxWidth=`${(100*e/t).toFixed(2)}%`;this.div.style.maxHeight=`${(100*t/e).toFixed(2)}%`}const[i,s]=this.getInitialTranslation();this.translate(i,s);bindEvents(this,this.div,["pointerdown"]);this.isResizable&&this._uiManager._supportsPinchToZoom&&(this.#Pe||=new TouchManager({container:this.div,isPinchingDisabled:()=>!this.isSelected,onPinchStart:this.#je.bind(this),onPinching:this.#Ge.bind(this),onPinchEnd:this.#Ve.bind(this),signal:this._uiManager._signal}));this._uiManager._editorUndoBar?.hide();return this.div}#je(){this.#be={savedX:this.x,savedY:this.y,savedWidth:this.width,savedHeight:this.height};this.#o?.toggle(!1);this.parent.togglePointerEvents(!1)}#Ge(t,e,i){let s=i/e*.7+1-.7;if(1===s)return;const n=this.#Le(this.rotation),transf=(t,e)=>[n[0]*t+n[2]*e,n[1]*t+n[3]*e],[r,a]=this.parentDimensions,o=this.x,l=this.y,h=this.width,c=this.height,d=AnnotationEditor.MIN_SIZE/r,u=AnnotationEditor.MIN_SIZE/a;s=Math.max(Math.min(s,1/h,1/c),d/h,u/c);const p=AnnotationEditor._round(h*s),g=AnnotationEditor._round(c*s);if(p===h&&g===c)return;this.#Ae||=[o,l,h,c];const f=transf(h/2,c/2),m=AnnotationEditor._round(o+f[0]),b=AnnotationEditor._round(l+f[1]),v=transf(p/2,g/2);this.x=m-v[0];this.y=b-v[1];this.width=p;this.height=g;this.setDims(r*p,a*g);this.fixAndSetPosition();this._onResizing()}#Ve(){this.#o?.toggle(!0);this.parent.togglePointerEvents(!0);this.#He()}pointerdown(t){const{isMac:e}=util_FeatureTest.platform;if(0!==t.button||t.ctrlKey&&e)t.preventDefault();else{this.#we=!0;this._isDraggable?this.#$e(t):this.#We(t)}}get isSelected(){return this._uiManager.isSelected(this)}#We(t){const{isMac:e}=util_FeatureTest.platform;t.ctrlKey&&!e||t.shiftKey||t.metaKey&&e?this.parent.toggleSelected(this):this.parent.setSelected(this)}#$e(t){const{isSelected:e}=this;this._uiManager.setUpDragSession();let i=!1;const s=new AbortController,n=this._uiManager.combinedSignal(s),r={capture:!0,passive:!1,signal:n},cancelDrag=t=>{s.abort();this.#ue=null;this.#we=!1;this._uiManager.endDragSession()||this.#We(t);i&&this._onStopDragging()};if(e){this.#Ce=t.clientX;this.#Te=t.clientY;this.#ue=t.pointerId;this.#pe=t.pointerType;window.addEventListener("pointermove",(t=>{if(!i){i=!0;this._onStartDragging()}const{clientX:e,clientY:s,pointerId:n}=t;if(n!==this.#ue){stopEvent(t);return}const[r,a]=this.screenToPageTranslation(e-this.#Ce,s-this.#Te);this.#Ce=e;this.#Te=s;this._uiManager.dragSelectedEditors(r,a)}),r);window.addEventListener("touchmove",stopEvent,r);window.addEventListener("pointerdown",(t=>{t.pointerType===this.#pe&&(this.#Pe||t.isPrimary)&&cancelDrag(t);stopEvent(t)}),r)}const pointerUpCallback=t=>{this.#ue&&this.#ue!==t.pointerId?stopEvent(t):cancelDrag(t)};window.addEventListener("pointerup",pointerUpCallback,{signal:n});window.addEventListener("blur",pointerUpCallback,{signal:n})}_onStartDragging(){}_onStopDragging(){}moveInDOM(){this.#Se&&clearTimeout(this.#Se);this.#Se=setTimeout((()=>{this.#Se=null;this.parent?.moveEditorInDOM(this)}),0)}_setParentAndPosition(t,e,i){t.changeParent(this);this.x=e;this.y=i;this.fixAndSetPosition();this._onTranslated()}getRect(t,e,i=this.rotation){const s=this.parentScale,[n,r]=this.pageDimensions,[a,o]=this.pageTranslation,l=t/s,h=e/s,c=this.x*n,d=this.y*r,u=this.width*n,p=this.height*r;switch(i){case 0:return[c+l+a,r-d-h-p+o,c+l+u+a,r-d-h+o];case 90:return[c+h+a,r-d+l+o,c+h+p+a,r-d+l+u+o];case 180:return[c-l-u+a,r-d+h+o,c-l+a,r-d+h+p+o];case 270:return[c-h-p+a,r-d-l-u+o,c-h+a,r-d-l+o];default:throw new Error("Invalid rotation")}}getRectInCurrentCoords(t,e){const[i,s,n,r]=t,a=n-i,o=r-s;switch(this.rotation){case 0:return[i,e-r,a,o];case 90:return[i,e-s,o,a];case 180:return[n,e-s,a,o];case 270:return[n,e-r,o,a];default:throw new Error("Invalid rotation")}}onceAdded(t){}isEmpty(){return!1}enableEditMode(){this.#_e=!0}disableEditMode(){this.#_e=!1}isInEditMode(){return this.#_e}shouldGetKeyboardEvents(){return this.#Ee}needsToBeRebuilt(){return this.div&&!this.isAttachedToDOM}get isOnScreen(){const{top:t,left:e,bottom:i,right:s}=this.getClientDimensions(),{innerHeight:n,innerWidth:r}=window;return e0&&t0}#ze(){if(this.#ve||!this.div)return;this.#ve=new AbortController;const t=this._uiManager.combinedSignal(this.#ve);this.div.addEventListener("focusin",this.focusin.bind(this),{signal:t});this.div.addEventListener("focusout",this.focusout.bind(this),{signal:t})}rebuild(){this.#ze()}rotate(t){}resize(){}serializeDeleted(){return{id:this.annotationElementId,deleted:!0,pageIndex:this.pageIndex,popupRef:this._initialData?.popupRef||""}}serialize(t=!1,e=null){unreachable("An editor must be serializable")}static async deserialize(t,e,i){const s=new this.prototype.constructor({parent:e,id:e.getNextId(),uiManager:i});s.rotation=t.rotation;s.#he=t.accessibilityData;const[n,r]=s.pageDimensions,[a,o,l,h]=s.getRectInCurrentCoords(t.rect,r);s.x=a/n;s.y=o/r;s.width=l/n;s.height=h/r;return s}get hasBeenModified(){return!!this.annotationElementId&&(this.deleted||null!==this.serialize())}remove(){this.#ve?.abort();this.#ve=null;this.isEmpty()||this.commit();this.parent?this.parent.remove(this):this._uiManager.removeEditor(this);if(this.#Se){clearTimeout(this.#Se);this.#Se=null}this.#Re();this.removeEditToolbar();if(this.#Me){for(const t of this.#Me.values())clearTimeout(t);this.#Me=null}this.parent=null;this.#Pe?.destroy();this.#Pe=null}get isResizable(){return!1}makeResizable(){if(this.isResizable){this.#Oe();this.#fe.classList.remove("hidden");bindEvents(this,this.div,["keydown"])}}get toolbarPosition(){return null}keydown(t){if(!this.isResizable||t.target!==this.div||"Enter"!==t.key)return;this._uiManager.setSelected(this);this.#be={savedX:this.x,savedY:this.y,savedWidth:this.width,savedHeight:this.height};const e=this.#fe.children;if(!this.#ce){this.#ce=Array.from(e);const t=this.#qe.bind(this),i=this.#Xe.bind(this),s=this._uiManager._signal;for(const e of this.#ce){const n=e.getAttribute("data-resizer-name");e.setAttribute("role","spinbutton");e.addEventListener("keydown",t,{signal:s});e.addEventListener("blur",i,{signal:s});e.addEventListener("focus",this.#Ye.bind(this,n),{signal:s});e.setAttribute("data-l10n-id",AnnotationEditor._l10nResizer[n])}}const i=this.#ce[0];let s=0;for(const t of e){if(t===i)break;s++}const n=(360-this.rotation+this.parentRotation)%360/90*(this.#ce.length/4);if(n!==s){if(ns)for(let t=0;t{this.div?.classList.contains("selectedEditor")&&this._editToolbar?.show()}))}unselect(){this.#fe?.classList.add("hidden");this.div?.classList.remove("selectedEditor");this.div?.contains(document.activeElement)&&this._uiManager.currentLayer.div.focus({preventScroll:!0});this._editToolbar?.hide();this.#o?.toggleAltTextBadge(!0)}updateParams(t,e){}disableEditing(){}enableEditing(){}enterInEditMode(){}getImageForAltText(){return null}get contentDiv(){return this.div}get isEditing(){return this.#xe}set isEditing(t){this.#xe=t;if(this.parent)if(t){this.parent.setSelected(this);this.parent.setActiveEditor(this)}else this.parent.setActiveEditor(null)}setAspectRatio(t,e){this.#ge=!0;const i=t/e,{style:s}=this.div;s.aspectRatio=i;s.height="auto"}static get MIN_SIZE(){return 16}static canCreateNewEmptyEditor(){return!0}get telemetryInitialData(){return{action:"added"}}get telemetryFinalData(){return null}_reportTelemetry(t,e=!1){if(e){this.#Me||=new Map;const{action:e}=t;let i=this.#Me.get(e);i&&clearTimeout(i);i=setTimeout((()=>{this._reportTelemetry(t);this.#Me.delete(e);0===this.#Me.size&&(this.#Me=null)}),AnnotationEditor._telemetryTimeout);this.#Me.set(e,i)}else{t.type||=this.editorType;this._uiManager._eventBus.dispatch("reporttelemetry",{source:this,details:{type:"editing",data:t}})}}show(t=this._isVisible){this.div.classList.toggle("hidden",!t);this._isVisible=t}enable(){this.div&&(this.div.tabIndex=0);this.#de=!1}disable(){this.div&&(this.div.tabIndex=-1);this.#de=!0}renderAnnotationElement(t){let e=t.container.querySelector(".annotationContent");if(e){if("CANVAS"===e.nodeName){const t=e;e=document.createElement("div");e.classList.add("annotationContent",this.editorType);t.before(e)}}else{e=document.createElement("div");e.classList.add("annotationContent",this.editorType);t.container.prepend(e)}return e}resetAnnotationElement(t){const{firstChild:e}=t.container;"DIV"===e?.nodeName&&e.classList.contains("annotationContent")&&e.remove()}}class FakeEditor extends AnnotationEditor{constructor(t){super(t);this.annotationElementId=t.annotationElementId;this.deleted=!0}serialize(){return this.serializeDeleted()}}const rt=3285377520,at=4294901760,ot=65535;class MurmurHash3_64{constructor(t){this.h1=t?4294967295&t:rt;this.h2=t?4294967295&t:rt}update(t){let e,i;if("string"==typeof t){e=new Uint8Array(2*t.length);i=0;for(let s=0,n=t.length;s>>8;e[i++]=255&n}}}else{if(!ArrayBuffer.isView(t))throw new Error("Invalid data format, must be a string or TypedArray.");e=t.slice();i=e.byteLength}const s=i>>2,n=i-4*s,r=new Uint32Array(e.buffer,0,s);let a=0,o=0,l=this.h1,h=this.h2;const c=3432918353,d=461845907,u=11601,p=13715;for(let t=0;t>>17;a=a*d&at|a*p&ot;l^=a;l=l<<13|l>>>19;l=5*l+3864292196}else{o=r[t];o=o*c&at|o*u&ot;o=o<<15|o>>>17;o=o*d&at|o*p&ot;h^=o;h=h<<13|h>>>19;h=5*h+3864292196}a=0;switch(n){case 3:a^=e[4*s+2]<<16;case 2:a^=e[4*s+1]<<8;case 1:a^=e[4*s];a=a*c&at|a*u&ot;a=a<<15|a>>>17;a=a*d&at|a*p&ot;1&s?l^=a:h^=a}this.h1=l;this.h2=h}hexdigest(){let t=this.h1,e=this.h2;t^=e>>>1;t=3981806797*t&at|36045*t&ot;e=4283543511*e&at|(2950163797*(e<<16|t>>>16)&at)>>>16;t^=e>>>1;t=444984403*t&at|60499*t&ot;e=3301882366*e&at|(3120437893*(e<<16|t>>>16)&at)>>>16;t^=e>>>1;return(t>>>0).toString(16).padStart(8,"0")+(e>>>0).toString(16).padStart(8,"0")}}const lt=Object.freeze({map:null,hash:"",transfer:void 0});class AnnotationStorage{#Qe=!1;#Je=null;#Ze=new Map;constructor(){this.onSetModified=null;this.onResetModified=null;this.onAnnotationEditor=null}getValue(t,e){const i=this.#Ze.get(t);return void 0===i?e:Object.assign(e,i)}getRawValue(t){return this.#Ze.get(t)}remove(t){this.#Ze.delete(t);0===this.#Ze.size&&this.resetModified();if("function"==typeof this.onAnnotationEditor){for(const t of this.#Ze.values())if(t instanceof AnnotationEditor)return;this.onAnnotationEditor(null)}}setValue(t,e){const i=this.#Ze.get(t);let s=!1;if(void 0!==i){for(const[t,n]of Object.entries(e))if(i[t]!==n){s=!0;i[t]=n}}else{s=!0;this.#Ze.set(t,e)}s&&this.#ti();e instanceof AnnotationEditor&&"function"==typeof this.onAnnotationEditor&&this.onAnnotationEditor(e.constructor._type)}has(t){return this.#Ze.has(t)}getAll(){return this.#Ze.size>0?objectFromMap(this.#Ze):null}setAll(t){for(const[e,i]of Object.entries(t))this.setValue(e,i)}get size(){return this.#Ze.size}#ti(){if(!this.#Qe){this.#Qe=!0;"function"==typeof this.onSetModified&&this.onSetModified()}}resetModified(){if(this.#Qe){this.#Qe=!1;"function"==typeof this.onResetModified&&this.onResetModified()}}get print(){return new PrintAnnotationStorage(this)}get serializable(){if(0===this.#Ze.size)return lt;const t=new Map,e=new MurmurHash3_64,i=[],s=Object.create(null);let n=!1;for(const[i,r]of this.#Ze){const a=r instanceof AnnotationEditor?r.serialize(!1,s):r;if(a){t.set(i,a);e.update(`${i}:${JSON.stringify(a)}`);n||=!!a.bitmap}}if(n)for(const e of t.values())e.bitmap&&i.push(e.bitmap);return t.size>0?{map:t,hash:e.hexdigest(),transfer:i}:lt}get editorStats(){let t=null;const e=new Map;for(const i of this.#Ze.values()){if(!(i instanceof AnnotationEditor))continue;const s=i.telemetryFinalData;if(!s)continue;const{type:n}=s;e.has(n)||e.set(n,Object.getPrototypeOf(i).constructor);t||=Object.create(null);const r=t[n]||=new Map;for(const[t,e]of Object.entries(s)){if("type"===t)continue;let i=r.get(t);if(!i){i=new Map;r.set(t,i)}const s=i.get(e)??0;i.set(e,s+1)}}for(const[i,s]of e)t[i]=s.computeTelemetryFinalData(t[i]);return t}resetModifiedIds(){this.#Je=null}get modifiedIds(){if(this.#Je)return this.#Je;const t=[];for(const e of this.#Ze.values())e instanceof AnnotationEditor&&e.annotationElementId&&e.serialize()&&t.push(e.annotationElementId);return this.#Je={ids:new Set(t),hash:t.join(",")}}}class PrintAnnotationStorage extends AnnotationStorage{#ei;constructor(t){super();const{map:e,hash:i,transfer:s}=t.serializable,n=structuredClone(e,s?{transfer:s}:null);this.#ei={map:n,hash:i,transfer:s}}get print(){unreachable("Should not call PrintAnnotationStorage.print")}get serializable(){return this.#ei}get modifiedIds(){return shadow(this,"modifiedIds",{ids:new Set,hash:""})}}class FontLoader{#ii=new Set;constructor({ownerDocument:t=globalThis.document,styleElement:e=null}){this._document=t;this.nativeFontFaces=new Set;this.styleElement=null;this.loadingRequests=[];this.loadTestFontId=0}addNativeFontFace(t){this.nativeFontFaces.add(t);this._document.fonts.add(t)}removeNativeFontFace(t){this.nativeFontFaces.delete(t);this._document.fonts.delete(t)}insertRule(t){if(!this.styleElement){this.styleElement=this._document.createElement("style");this._document.documentElement.getElementsByTagName("head")[0].append(this.styleElement)}const e=this.styleElement.sheet;e.insertRule(t,e.cssRules.length)}clear(){for(const t of this.nativeFontFaces)this._document.fonts.delete(t);this.nativeFontFaces.clear();this.#ii.clear();if(this.styleElement){this.styleElement.remove();this.styleElement=null}}async loadSystemFont({systemFontInfo:t,_inspectFont:e}){if(t&&!this.#ii.has(t.loadedName)){assert(!this.disableFontFace,"loadSystemFont shouldn't be called when `disableFontFace` is set.");if(this.isFontLoadingAPISupported){const{loadedName:i,src:s,style:n}=t,r=new FontFace(i,s,n);this.addNativeFontFace(r);try{await r.load();this.#ii.add(i);e?.(t)}catch{warn(`Cannot load system font: ${t.baseFontName}, installing it could help to improve PDF rendering.`);this.removeNativeFontFace(r)}}else unreachable("Not implemented: loadSystemFont without the Font Loading API.")}}async bind(t){if(t.attached||t.missingFile&&!t.systemFontInfo)return;t.attached=!0;if(t.systemFontInfo){await this.loadSystemFont(t);return}if(this.isFontLoadingAPISupported){const e=t.createNativeFontFace();if(e){this.addNativeFontFace(e);try{await e.loaded}catch(i){warn(`Failed to load font '${e.family}': '${i}'.`);t.disableFontFace=!0;throw i}}return}const e=t.createFontFaceRule();if(e){this.insertRule(e);if(this.isSyncFontLoadingSupported)return;await new Promise((e=>{const i=this._queueLoadingCallback(e);this._prepareFontLoadEvent(t,i)}))}}get isFontLoadingAPISupported(){return shadow(this,"isFontLoadingAPISupported",!!this._document?.fonts)}get isSyncFontLoadingSupported(){let t=!1;(i||"undefined"!=typeof navigator&&"string"==typeof navigator?.userAgent&&/Mozilla\/5.0.*?rv:\d+.*? Gecko/.test(navigator.userAgent))&&(t=!0);return shadow(this,"isSyncFontLoadingSupported",t)}_queueLoadingCallback(t){const{loadingRequests:e}=this,i={done:!1,complete:function completeRequest(){assert(!i.done,"completeRequest() cannot be called twice.");i.done=!0;for(;e.length>0&&e[0].done;){const t=e.shift();setTimeout(t.callback,0)}},callback:t};e.push(i);return i}get _loadTestFont(){return shadow(this,"_loadTestFont",atob("T1RUTwALAIAAAwAwQ0ZGIDHtZg4AAAOYAAAAgUZGVE1lkzZwAAAEHAAAABxHREVGABQAFQAABDgAAAAeT1MvMlYNYwkAAAEgAAAAYGNtYXABDQLUAAACNAAAAUJoZWFk/xVFDQAAALwAAAA2aGhlYQdkA+oAAAD0AAAAJGhtdHgD6AAAAAAEWAAAAAZtYXhwAAJQAAAAARgAAAAGbmFtZVjmdH4AAAGAAAAAsXBvc3T/hgAzAAADeAAAACAAAQAAAAEAALZRFsRfDzz1AAsD6AAAAADOBOTLAAAAAM4KHDwAAAAAA+gDIQAAAAgAAgAAAAAAAAABAAADIQAAAFoD6AAAAAAD6AABAAAAAAAAAAAAAAAAAAAAAQAAUAAAAgAAAAQD6AH0AAUAAAKKArwAAACMAooCvAAAAeAAMQECAAACAAYJAAAAAAAAAAAAAQAAAAAAAAAAAAAAAFBmRWQAwAAuAC4DIP84AFoDIQAAAAAAAQAAAAAAAAAAACAAIAABAAAADgCuAAEAAAAAAAAAAQAAAAEAAAAAAAEAAQAAAAEAAAAAAAIAAQAAAAEAAAAAAAMAAQAAAAEAAAAAAAQAAQAAAAEAAAAAAAUAAQAAAAEAAAAAAAYAAQAAAAMAAQQJAAAAAgABAAMAAQQJAAEAAgABAAMAAQQJAAIAAgABAAMAAQQJAAMAAgABAAMAAQQJAAQAAgABAAMAAQQJAAUAAgABAAMAAQQJAAYAAgABWABYAAAAAAAAAwAAAAMAAAAcAAEAAAAAADwAAwABAAAAHAAEACAAAAAEAAQAAQAAAC7//wAAAC7////TAAEAAAAAAAABBgAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMAAAAAAAD/gwAyAAAAAQAAAAAAAAAAAAAAAAAAAAABAAQEAAEBAQJYAAEBASH4DwD4GwHEAvgcA/gXBIwMAYuL+nz5tQXkD5j3CBLnEQACAQEBIVhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYAAABAQAADwACAQEEE/t3Dov6fAH6fAT+fPp8+nwHDosMCvm1Cvm1DAz6fBQAAAAAAAABAAAAAMmJbzEAAAAAzgTjFQAAAADOBOQpAAEAAAAAAAAADAAUAAQAAAABAAAAAgABAAAAAAAAAAAD6AAAAAAAAA=="))}_prepareFontLoadEvent(t,e){function int32(t,e){return t.charCodeAt(e)<<24|t.charCodeAt(e+1)<<16|t.charCodeAt(e+2)<<8|255&t.charCodeAt(e+3)}function spliceString(t,e,i,s){return t.substring(0,e)+s+t.substring(e+i)}let i,s;const n=this._document.createElement("canvas");n.width=1;n.height=1;const r=n.getContext("2d");let a=0;const o=`lt${Date.now()}${this.loadTestFontId++}`;let l=this._loadTestFont;l=spliceString(l,976,o.length,o);const h=1482184792;let c=int32(l,16);for(i=0,s=o.length-3;i>24&255,t>>16&255,t>>8&255,255&t)}(c));const d=`@font-face {font-family:"${o}";src:${`url(data:font/opentype;base64,${btoa(l)});`}}`;this.insertRule(d);const u=this._document.createElement("div");u.style.visibility="hidden";u.style.width=u.style.height="10px";u.style.position="absolute";u.style.top=u.style.left="0px";for(const e of[t.loadedName,o]){const t=this._document.createElement("span");t.textContent="Hi";t.style.fontFamily=e;u.append(t)}this._document.body.append(u);!function isFontReady(t,e){if(++a>30){warn("Load test font never loaded.");e();return}r.font="30px "+t;r.fillText(".",0,20);r.getImageData(0,0,1,1).data[3]>0?e():setTimeout(isFontReady.bind(null,t,e))}(o,(()=>{u.remove();e.complete()}))}}class FontFaceObject{constructor(t,{disableFontFace:e=!1,fontExtraProperties:i=!1,inspectFont:s=null}){this.compiledGlyphs=Object.create(null);for(const e in t)this[e]=t[e];this.disableFontFace=!0===e;this.fontExtraProperties=!0===i;this._inspectFont=s}createNativeFontFace(){if(!this.data||this.disableFontFace)return null;let t;if(this.cssFontInfo){const e={weight:this.cssFontInfo.fontWeight};this.cssFontInfo.italicAngle&&(e.style=`oblique ${this.cssFontInfo.italicAngle}deg`);t=new FontFace(this.cssFontInfo.fontFamily,this.data,e)}else t=new FontFace(this.loadedName,this.data,{});this._inspectFont?.(this);return t}createFontFaceRule(){if(!this.data||this.disableFontFace)return null;const t=`url(data:${this.mimetype};base64,${function toBase64Util(t){return Uint8Array.prototype.toBase64?t.toBase64():btoa(bytesToString(t))}(this.data)});`;let e;if(this.cssFontInfo){let i=`font-weight: ${this.cssFontInfo.fontWeight};`;this.cssFontInfo.italicAngle&&(i+=`font-style: oblique ${this.cssFontInfo.italicAngle}deg;`);e=`@font-face {font-family:"${this.cssFontInfo.fontFamily}";${i}src:${t}}`}else e=`@font-face {font-family:"${this.loadedName}";src:${t}}`;this._inspectFont?.(this,t);return e}getPathGenerator(t,e){if(void 0!==this.compiledGlyphs[e])return this.compiledGlyphs[e];const i=this.loadedName+"_path_"+e;let s;try{s=t.get(i)}catch(t){warn(`getPathGenerator - ignoring character: "${t}".`)}const n=new Path2D(s||"");this.fontExtraProperties||t.delete(i);return this.compiledGlyphs[e]=n}}const ht=1,ct=2,dt=1,ut=2,pt=3,gt=4,ft=5,mt=6,bt=7,vt=8;function onFn(){}function wrapReason(t){if(t instanceof AbortException||t instanceof InvalidPDFException||t instanceof MissingPDFException||t instanceof PasswordException||t instanceof UnexpectedResponseException||t instanceof UnknownErrorException)return t;t instanceof Error||"object"==typeof t&&null!==t||unreachable('wrapReason: Expected "reason" to be a (possibly cloned) Error.');switch(t.name){case"AbortException":return new AbortException(t.message);case"InvalidPDFException":return new InvalidPDFException(t.message);case"MissingPDFException":return new MissingPDFException(t.message);case"PasswordException":return new PasswordException(t.message,t.code);case"UnexpectedResponseException":return new UnexpectedResponseException(t.message,t.status);case"UnknownErrorException":return new UnknownErrorException(t.message,t.details)}return new UnknownErrorException(t.message,t.toString())}class MessageHandler{#si=new AbortController;constructor(t,e,i){this.sourceName=t;this.targetName=e;this.comObj=i;this.callbackId=1;this.streamId=1;this.streamSinks=Object.create(null);this.streamControllers=Object.create(null);this.callbackCapabilities=Object.create(null);this.actionHandler=Object.create(null);i.addEventListener("message",this.#ni.bind(this),{signal:this.#si.signal})}#ni({data:t}){if(t.targetName!==this.sourceName)return;if(t.stream){this.#ri(t);return}if(t.callback){const e=t.callbackId,i=this.callbackCapabilities[e];if(!i)throw new Error(`Cannot resolve callback ${e}`);delete this.callbackCapabilities[e];if(t.callback===ht)i.resolve(t.data);else{if(t.callback!==ct)throw new Error("Unexpected callback case");i.reject(wrapReason(t.reason))}return}const e=this.actionHandler[t.action];if(!e)throw new Error(`Unknown action from worker: ${t.action}`);if(t.callbackId){const i=this.sourceName,s=t.sourceName,n=this.comObj;Promise.try(e,t.data).then((function(e){n.postMessage({sourceName:i,targetName:s,callback:ht,callbackId:t.callbackId,data:e})}),(function(e){n.postMessage({sourceName:i,targetName:s,callback:ct,callbackId:t.callbackId,reason:wrapReason(e)})}))}else t.streamId?this.#ai(t):e(t.data)}on(t,e){const i=this.actionHandler;if(i[t])throw new Error(`There is already an actionName called "${t}"`);i[t]=e}send(t,e,i){this.comObj.postMessage({sourceName:this.sourceName,targetName:this.targetName,action:t,data:e},i)}sendWithPromise(t,e,i){const s=this.callbackId++,n=Promise.withResolvers();this.callbackCapabilities[s]=n;try{this.comObj.postMessage({sourceName:this.sourceName,targetName:this.targetName,action:t,callbackId:s,data:e},i)}catch(t){n.reject(t)}return n.promise}sendWithStream(t,e,i,s){const n=this.streamId++,r=this.sourceName,a=this.targetName,o=this.comObj;return new ReadableStream({start:i=>{const l=Promise.withResolvers();this.streamControllers[n]={controller:i,startCall:l,pullCall:null,cancelCall:null,isClosed:!1};o.postMessage({sourceName:r,targetName:a,action:t,streamId:n,data:e,desiredSize:i.desiredSize},s);return l.promise},pull:t=>{const e=Promise.withResolvers();this.streamControllers[n].pullCall=e;o.postMessage({sourceName:r,targetName:a,stream:mt,streamId:n,desiredSize:t.desiredSize});return e.promise},cancel:t=>{assert(t instanceof Error,"cancel must have a valid reason");const e=Promise.withResolvers();this.streamControllers[n].cancelCall=e;this.streamControllers[n].isClosed=!0;o.postMessage({sourceName:r,targetName:a,stream:dt,streamId:n,reason:wrapReason(t)});return e.promise}},i)}#ai(t){const e=t.streamId,i=this.sourceName,s=t.sourceName,n=this.comObj,r=this,a=this.actionHandler[t.action],o={enqueue(t,r=1,a){if(this.isCancelled)return;const o=this.desiredSize;this.desiredSize-=r;if(o>0&&this.desiredSize<=0){this.sinkCapability=Promise.withResolvers();this.ready=this.sinkCapability.promise}n.postMessage({sourceName:i,targetName:s,stream:gt,streamId:e,chunk:t},a)},close(){if(!this.isCancelled){this.isCancelled=!0;n.postMessage({sourceName:i,targetName:s,stream:pt,streamId:e});delete r.streamSinks[e]}},error(t){assert(t instanceof Error,"error must have a valid reason");if(!this.isCancelled){this.isCancelled=!0;n.postMessage({sourceName:i,targetName:s,stream:ft,streamId:e,reason:wrapReason(t)})}},sinkCapability:Promise.withResolvers(),onPull:null,onCancel:null,isCancelled:!1,desiredSize:t.desiredSize,ready:null};o.sinkCapability.resolve();o.ready=o.sinkCapability.promise;this.streamSinks[e]=o;Promise.try(a,t.data,o).then((function(){n.postMessage({sourceName:i,targetName:s,stream:vt,streamId:e,success:!0})}),(function(t){n.postMessage({sourceName:i,targetName:s,stream:vt,streamId:e,reason:wrapReason(t)})}))}#ri(t){const e=t.streamId,i=this.sourceName,s=t.sourceName,n=this.comObj,r=this.streamControllers[e],a=this.streamSinks[e];switch(t.stream){case vt:t.success?r.startCall.resolve():r.startCall.reject(wrapReason(t.reason));break;case bt:t.success?r.pullCall.resolve():r.pullCall.reject(wrapReason(t.reason));break;case mt:if(!a){n.postMessage({sourceName:i,targetName:s,stream:bt,streamId:e,success:!0});break}a.desiredSize<=0&&t.desiredSize>0&&a.sinkCapability.resolve();a.desiredSize=t.desiredSize;Promise.try(a.onPull||onFn).then((function(){n.postMessage({sourceName:i,targetName:s,stream:bt,streamId:e,success:!0})}),(function(t){n.postMessage({sourceName:i,targetName:s,stream:bt,streamId:e,reason:wrapReason(t)})}));break;case gt:assert(r,"enqueue should have stream controller");if(r.isClosed)break;r.controller.enqueue(t.chunk);break;case pt:assert(r,"close should have stream controller");if(r.isClosed)break;r.isClosed=!0;r.controller.close();this.#oi(r,e);break;case ft:assert(r,"error should have stream controller");r.controller.error(wrapReason(t.reason));this.#oi(r,e);break;case ut:t.success?r.cancelCall.resolve():r.cancelCall.reject(wrapReason(t.reason));this.#oi(r,e);break;case dt:if(!a)break;const o=wrapReason(t.reason);Promise.try(a.onCancel||onFn,o).then((function(){n.postMessage({sourceName:i,targetName:s,stream:ut,streamId:e,success:!0})}),(function(t){n.postMessage({sourceName:i,targetName:s,stream:ut,streamId:e,reason:wrapReason(t)})}));a.sinkCapability.reject(o);a.isCancelled=!0;delete this.streamSinks[e];break;default:throw new Error("Unexpected stream case")}}async#oi(t,e){await Promise.allSettled([t.startCall?.promise,t.pullCall?.promise,t.cancelCall?.promise]);delete this.streamControllers[e]}destroy(){this.#si?.abort();this.#si=null}}class BaseCanvasFactory{#li=!1;constructor({enableHWA:t=!1}){this.#li=t}create(t,e){if(t<=0||e<=0)throw new Error("Invalid canvas size");const i=this._createCanvas(t,e);return{canvas:i,context:i.getContext("2d",{willReadFrequently:!this.#li})}}reset(t,e,i){if(!t.canvas)throw new Error("Canvas is not specified");if(e<=0||i<=0)throw new Error("Invalid canvas size");t.canvas.width=e;t.canvas.height=i}destroy(t){if(!t.canvas)throw new Error("Canvas is not specified");t.canvas.width=0;t.canvas.height=0;t.canvas=null;t.context=null}_createCanvas(t,e){unreachable("Abstract method `_createCanvas` called.")}}class BaseCMapReaderFactory{constructor({baseUrl:t=null,isCompressed:e=!0}){this.baseUrl=t;this.isCompressed=e}async fetch({name:t}){if(!this.baseUrl)throw new Error("Ensure that the `cMapUrl` and `cMapPacked` API parameters are provided.");if(!t)throw new Error("CMap name must be specified.");const e=this.baseUrl+t+(this.isCompressed?".bcmap":"");return this._fetch(e).then((t=>({cMapData:t,isCompressed:this.isCompressed}))).catch((t=>{throw new Error(`Unable to load ${this.isCompressed?"binary ":""}CMap at: ${e}`)}))}async _fetch(t){unreachable("Abstract method `_fetch` called.")}}class DOMCMapReaderFactory extends BaseCMapReaderFactory{async _fetch(t){const e=await fetchData(t,this.isCompressed?"arraybuffer":"text");return e instanceof ArrayBuffer?new Uint8Array(e):stringToBytes(e)}}__webpack_require__(4520);class BaseFilterFactory{addFilter(t){return"none"}addHCMFilter(t,e){return"none"}addAlphaFilter(t){return"none"}addLuminosityFilter(t){return"none"}addHighlightHCMFilter(t,e,i,s,n){return"none"}destroy(t=!1){}}class BaseStandardFontDataFactory{constructor({baseUrl:t=null}){this.baseUrl=t}async fetch({filename:t}){if(!this.baseUrl)throw new Error("Ensure that the `standardFontDataUrl` API parameter is provided.");if(!t)throw new Error("Font filename must be specified.");const e=`${this.baseUrl}${t}`;return this._fetch(e).catch((t=>{throw new Error(`Unable to load font data at: ${e}`)}))}async _fetch(t){unreachable("Abstract method `_fetch` called.")}}class DOMStandardFontDataFactory extends BaseStandardFontDataFactory{async _fetch(t){const e=await fetchData(t,"arraybuffer");return new Uint8Array(e)}}if(i){let t;try{const e=process.getBuiltinModule("module").createRequire(import.meta.url);try{t=e("@napi-rs/canvas")}catch(t){warn(`Cannot load "@napi-rs/canvas" package: "${t}".`)}}catch(t){warn(`Cannot access the \`require\` function: "${t}".`)}globalThis.DOMMatrix||(t?.DOMMatrix?globalThis.DOMMatrix=t.DOMMatrix:warn("Cannot polyfill `DOMMatrix`, rendering may be broken."));globalThis.ImageData||(t?.ImageData?globalThis.ImageData=t.ImageData:warn("Cannot polyfill `ImageData`, rendering may be broken."));globalThis.Path2D||(t?.Path2D?globalThis.Path2D=t.Path2D:warn("Cannot polyfill `Path2D`, rendering may be broken."))}async function node_utils_fetchData(t){const e=process.getBuiltinModule("fs"),i=await e.promises.readFile(t);return new Uint8Array(i)}const yt="Fill",wt="Stroke",At="Shading";function applyBoundingBox(t,e){if(!e)return;const i=e[2]-e[0],s=e[3]-e[1],n=new Path2D;n.rect(e[0],e[1],i,s);t.clip(n)}class BaseShadingPattern{getPattern(){unreachable("Abstract method `getPattern` called.")}}class RadialAxialShadingPattern extends BaseShadingPattern{constructor(t){super();this._type=t[1];this._bbox=t[2];this._colorStops=t[3];this._p0=t[4];this._p1=t[5];this._r0=t[6];this._r1=t[7];this.matrix=null}_createGradient(t){let e;"axial"===this._type?e=t.createLinearGradient(this._p0[0],this._p0[1],this._p1[0],this._p1[1]):"radial"===this._type&&(e=t.createRadialGradient(this._p0[0],this._p0[1],this._r0,this._p1[0],this._p1[1],this._r1));for(const t of this._colorStops)e.addColorStop(t[0],t[1]);return e}getPattern(t,e,i,s){let n;if(s===wt||s===yt){const r=e.current.getClippedPathBoundingBox(s,getCurrentTransform(t))||[0,0,0,0],a=Math.ceil(r[2]-r[0])||1,o=Math.ceil(r[3]-r[1])||1,l=e.cachedCanvases.getCanvas("pattern",a,o),h=l.context;h.clearRect(0,0,h.canvas.width,h.canvas.height);h.beginPath();h.rect(0,0,h.canvas.width,h.canvas.height);h.translate(-r[0],-r[1]);i=Util.transform(i,[1,0,0,1,r[0],r[1]]);h.transform(...e.baseTransform);this.matrix&&h.transform(...this.matrix);applyBoundingBox(h,this._bbox);h.fillStyle=this._createGradient(h);h.fill();n=t.createPattern(l.canvas,"no-repeat");const c=new DOMMatrix(i);n.setTransform(c)}else{applyBoundingBox(t,this._bbox);n=this._createGradient(t)}return n}}function drawTriangle(t,e,i,s,n,r,a,o){const l=e.coords,h=e.colors,c=t.data,d=4*t.width;let u;if(l[i+1]>l[s+1]){u=i;i=s;s=u;u=r;r=a;a=u}if(l[s+1]>l[n+1]){u=s;s=n;n=u;u=a;a=o;o=u}if(l[i+1]>l[s+1]){u=i;i=s;s=u;u=r;r=a;a=u}const p=(l[i]+e.offsetX)*e.scaleX,g=(l[i+1]+e.offsetY)*e.scaleY,f=(l[s]+e.offsetX)*e.scaleX,m=(l[s+1]+e.offsetY)*e.scaleY,b=(l[n]+e.offsetX)*e.scaleX,v=(l[n+1]+e.offsetY)*e.scaleY;if(g>=v)return;const y=h[r],w=h[r+1],A=h[r+2],x=h[a],_=h[a+1],E=h[a+2],S=h[o],C=h[o+1],T=h[o+2],M=Math.round(g),P=Math.round(v);let D,k,R,I,L,O,N,B;for(let t=M;t<=P;t++){if(tv?1:m===v?0:(m-t)/(m-v);D=f-(f-b)*e;k=x-(x-S)*e;R=_-(_-C)*e;I=E-(E-T)*e}let e;e=tv?1:(g-t)/(g-v);L=p-(p-b)*e;O=y-(y-S)*e;N=w-(w-C)*e;B=A-(A-T)*e;const i=Math.round(Math.min(D,L)),s=Math.round(Math.max(D,L));let n=d*t+4*i;for(let t=i;t<=s;t++){e=(D-t)/(D-L);e<0?e=0:e>1&&(e=1);c[n++]=k-(k-O)*e|0;c[n++]=R-(R-N)*e|0;c[n++]=I-(I-B)*e|0;c[n++]=255}}}function drawFigure(t,e,i){const s=e.coords,n=e.colors;let r,a;switch(e.type){case"lattice":const o=e.verticesPerRow,l=Math.floor(s.length/o)-1,h=o-1;for(r=0;r=Math.ceil(p*b)?y=o:A=!0;E>=Math.ceil(g*v)?w=l:x=!0;const S=this.getSizeAndScale(y,this.ctx.canvas.width,b),C=this.getSizeAndScale(w,this.ctx.canvas.height,v),T=t.cachedCanvases.getCanvas("pattern",S.size,C.size),M=T.context,P=a.createCanvasGraphics(M);P.groupLevel=t.groupLevel;this.setFillAndStrokeStyleToContext(P,s,r);M.translate(-S.scale*h,-C.scale*c);P.transform(S.scale,0,0,C.scale,0,0);M.save();this.clipBbox(P,h,c,d,u);P.baseTransform=getCurrentTransform(P.ctx);P.executeOperatorList(i);P.endDrawing();M.restore();if(A||x){const e=T.canvas;A&&(y=o);x&&(w=l);const i=this.getSizeAndScale(y,this.ctx.canvas.width,b),s=this.getSizeAndScale(w,this.ctx.canvas.height,v),n=i.size,r=s.size,a=t.cachedCanvases.getCanvas("pattern-workaround",n,r),d=a.context,u=A?Math.floor(p/o):0,f=x?Math.floor(g/l):0;for(let t=0;t<=u;t++)for(let i=0;i<=f;i++)d.drawImage(e,n*t,r*i,n,r,0,0,n,r);return{canvas:a.canvas,scaleX:i.scale,scaleY:s.scale,offsetX:h,offsetY:c}}return{canvas:T.canvas,scaleX:S.scale,scaleY:C.scale,offsetX:h,offsetY:c}}getSizeAndScale(t,e,i){const s=Math.max(TilingPattern.MAX_PATTERN_SIZE,e);let n=Math.ceil(t*i);n>=s?n=s:i=n/t;return{scale:i,size:n}}clipBbox(t,e,i,s,n){const r=s-e,a=n-i;t.ctx.rect(e,i,r,a);t.current.updateRectMinMax(getCurrentTransform(t.ctx),[e,i,s,n]);t.clip();t.endPath()}setFillAndStrokeStyleToContext(t,e,i){const s=t.ctx,n=t.current;switch(e){case xt:const t=this.ctx;s.fillStyle=t.fillStyle;s.strokeStyle=t.strokeStyle;n.fillColor=t.fillStyle;n.strokeColor=t.strokeStyle;break;case _t:const r=Util.makeHexColor(i[0],i[1],i[2]);s.fillStyle=r;s.strokeStyle=r;n.fillColor=r;n.strokeColor=r;break;default:throw new FormatError(`Unsupported paint type: ${e}`)}}getPattern(t,e,i,s){let n=i;if(s!==At){n=Util.transform(n,e.baseTransform);this.matrix&&(n=Util.transform(n,this.matrix))}const r=this.createPatternCanvas(e);let a=new DOMMatrix(n);a=a.translate(r.offsetX,r.offsetY);a=a.scale(1/r.scaleX,1/r.scaleY);const o=t.createPattern(r.canvas,"repeat");o.setTransform(a);return o}}function convertBlackAndWhiteToRGBA({src:t,srcPos:e=0,dest:i,width:s,height:n,nonBlackColor:r=4294967295,inverseDecode:a=!1}){const o=util_FeatureTest.isLittleEndian?4278190080:255,[l,h]=a?[r,o]:[o,r],c=s>>3,d=7&s,u=t.length;i=new Uint32Array(i.buffer);let p=0;for(let s=0;s>2),f=i.length,m=s+7>>3,b=4294967295,v=util_FeatureTest.isLittleEndian?4278190080:255;for(u=0;um?s:8*t-7,a=-8&r;let o=0,d=0;for(;n>=1}}for(;l=r){g=n;f=s*g}l=0;for(p=f;p--;){d[l++]=c[h++];d[l++]=c[h++];d[l++]=c[h++];d[l++]=255}t.putImageData(o,0,u*Et)}}}function putBinaryImageMask(t,e){if(e.bitmap){t.drawImage(e.bitmap,0,0);return}const i=e.height,s=e.width,n=i%Et,r=(i-n)/Et,a=0===n?r:r+1,o=t.createImageData(s,Et);let l=0;const h=e.data,c=o.data;for(let e=0;e10&&"function"==typeof i,h=l?Date.now()+15:0;let c=0;const d=this.commonObjs,u=this.objs;let p;for(;;){if(void 0!==s&&a===s.nextBreakPoint){s.breakIt(a,i);return a}p=r[a];if(p!==K.dependency)this[p].apply(this,n[a]);else for(const t of n[a]){const e=t.startsWith("g_")?d:u;if(!e.has(t)){e.get(t,i);return a}}a++;if(a===o)return a;if(l&&++c>10){if(Date.now()>h){i();return a}c=0}}}#hi(){for(;this.stateStack.length||this.inSMaskMode;)this.restore();this.current.activeSMask=null;this.ctx.restore();if(this.transparentCanvas){this.ctx=this.compositeCtx;this.ctx.save();this.ctx.setTransform(1,0,0,1,0,0);this.ctx.drawImage(this.transparentCanvas,0,0);this.ctx.restore();this.transparentCanvas=null}}endDrawing(){this.#hi();this.cachedCanvases.clear();this.cachedPatterns.clear();for(const t of this._cachedBitmapsMap.values()){for(const e of t.values())"undefined"!=typeof HTMLCanvasElement&&e instanceof HTMLCanvasElement&&(e.width=e.height=0);t.clear()}this._cachedBitmapsMap.clear();this.#ci()}#ci(){if(this.pageColors){const t=this.filterFactory.addHCMFilter(this.pageColors.foreground,this.pageColors.background);if("none"!==t){const e=this.ctx.filter;this.ctx.filter=t;this.ctx.drawImage(this.ctx.canvas,0,0);this.ctx.filter=e}}}_scaleImage(t,e){const i=t.width??t.displayWidth,s=t.height??t.displayHeight;let n,r,a=Math.max(Math.hypot(e[0],e[1]),1),o=Math.max(Math.hypot(e[2],e[3]),1),l=i,h=s,c="prescale1";for(;a>2&&l>1||o>2&&h>1;){let e=l,i=h;if(a>2&&l>1){e=l>=16384?Math.floor(l/2)-1||1:Math.ceil(l/2);a/=l/e}if(o>2&&h>1){i=h>=16384?Math.floor(h/2)-1||1:Math.ceil(h)/2;o/=h/i}n=this.cachedCanvases.getCanvas(c,e,i);r=n.context;r.clearRect(0,0,e,i);r.drawImage(t,0,0,l,h,0,0,e,i);t=n.canvas;l=e;h=i;c="prescale1"===c?"prescale2":"prescale1"}return{img:t,paintWidth:l,paintHeight:h}}_createMaskCanvas(t){const e=this.ctx,{width:i,height:s}=t,n=this.current.fillColor,r=this.current.patternFill,a=getCurrentTransform(e);let o,l,h,c;if((t.bitmap||t.data)&&t.count>1){const e=t.bitmap||t.data.buffer;l=JSON.stringify(r?a:[a.slice(0,4),n]);o=this._cachedBitmapsMap.get(e);if(!o){o=new Map;this._cachedBitmapsMap.set(e,o)}const i=o.get(l);if(i&&!r){return{canvas:i,offsetX:Math.round(Math.min(a[0],a[2])+a[4]),offsetY:Math.round(Math.min(a[1],a[3])+a[5])}}h=i}if(!h){c=this.cachedCanvases.getCanvas("maskCanvas",i,s);putBinaryImageMask(c.context,t)}let d=Util.transform(a,[1/i,0,0,-1/s,0,0]);d=Util.transform(d,[1,0,0,1,0,-s]);const[u,p,g,f]=Util.getAxialAlignedBoundingBox([0,0,i,s],d),m=Math.round(g-u)||1,b=Math.round(f-p)||1,v=this.cachedCanvases.getCanvas("fillCanvas",m,b),y=v.context,w=u,A=p;y.translate(-w,-A);y.transform(...d);if(!h){h=this._scaleImage(c.canvas,getCurrentTransformInverse(y));h=h.img;o&&r&&o.set(l,h)}y.imageSmoothingEnabled=getImageSmoothingEnabled(getCurrentTransform(y),t.interpolate);drawImageAtIntegerCoords(y,h,0,0,h.width,h.height,0,0,i,s);y.globalCompositeOperation="source-in";const x=Util.transform(getCurrentTransformInverse(y),[1,0,0,1,-w,-A]);y.fillStyle=r?n.getPattern(e,this,x,yt):n;y.fillRect(0,0,i,s);if(o&&!r){this.cachedCanvases.delete("fillCanvas");o.set(l,v.canvas)}return{canvas:v.canvas,offsetX:Math.round(w),offsetY:Math.round(A)}}setLineWidth(t){t!==this.current.lineWidth&&(this._cachedScaleForStroking[0]=-1);this.current.lineWidth=t;this.ctx.lineWidth=t}setLineCap(t){this.ctx.lineCap=St[t]}setLineJoin(t){this.ctx.lineJoin=Ct[t]}setMiterLimit(t){this.ctx.miterLimit=t}setDash(t,e){const i=this.ctx;if(void 0!==i.setLineDash){i.setLineDash(t);i.lineDashOffset=e}}setRenderingIntent(t){}setFlatness(t){}setGState(t){for(const[e,i]of t)switch(e){case"LW":this.setLineWidth(i);break;case"LC":this.setLineCap(i);break;case"LJ":this.setLineJoin(i);break;case"ML":this.setMiterLimit(i);break;case"D":this.setDash(i[0],i[1]);break;case"RI":this.setRenderingIntent(i);break;case"FL":this.setFlatness(i);break;case"Font":this.setFont(i[0],i[1]);break;case"CA":this.current.strokeAlpha=i;break;case"ca":this.current.fillAlpha=i;this.ctx.globalAlpha=i;break;case"BM":this.ctx.globalCompositeOperation=i;break;case"SMask":this.current.activeSMask=i?this.tempSMask:null;this.tempSMask=null;this.checkSMaskState();break;case"TR":this.ctx.filter=this.current.transferMaps=this.filterFactory.addFilter(i)}}get inSMaskMode(){return!!this.suspendedCtx}checkSMaskState(){const t=this.inSMaskMode;this.current.activeSMask&&!t?this.beginSMaskMode():!this.current.activeSMask&&t&&this.endSMaskMode()}beginSMaskMode(){if(this.inSMaskMode)throw new Error("beginSMaskMode called while already in smask mode");const t=this.ctx.canvas.width,e=this.ctx.canvas.height,i="smaskGroupAt"+this.groupLevel,s=this.cachedCanvases.getCanvas(i,t,e);this.suspendedCtx=this.ctx;this.ctx=s.context;const n=this.ctx;n.setTransform(...getCurrentTransform(this.suspendedCtx));copyCtxState(this.suspendedCtx,n);!function mirrorContextOperations(t,e){if(t._removeMirroring)throw new Error("Context is already forwarding operations.");t.__originalSave=t.save;t.__originalRestore=t.restore;t.__originalRotate=t.rotate;t.__originalScale=t.scale;t.__originalTranslate=t.translate;t.__originalTransform=t.transform;t.__originalSetTransform=t.setTransform;t.__originalResetTransform=t.resetTransform;t.__originalClip=t.clip;t.__originalMoveTo=t.moveTo;t.__originalLineTo=t.lineTo;t.__originalBezierCurveTo=t.bezierCurveTo;t.__originalRect=t.rect;t.__originalClosePath=t.closePath;t.__originalBeginPath=t.beginPath;t._removeMirroring=()=>{t.save=t.__originalSave;t.restore=t.__originalRestore;t.rotate=t.__originalRotate;t.scale=t.__originalScale;t.translate=t.__originalTranslate;t.transform=t.__originalTransform;t.setTransform=t.__originalSetTransform;t.resetTransform=t.__originalResetTransform;t.clip=t.__originalClip;t.moveTo=t.__originalMoveTo;t.lineTo=t.__originalLineTo;t.bezierCurveTo=t.__originalBezierCurveTo;t.rect=t.__originalRect;t.closePath=t.__originalClosePath;t.beginPath=t.__originalBeginPath;delete t._removeMirroring};t.save=function ctxSave(){e.save();this.__originalSave()};t.restore=function ctxRestore(){e.restore();this.__originalRestore()};t.translate=function ctxTranslate(t,i){e.translate(t,i);this.__originalTranslate(t,i)};t.scale=function ctxScale(t,i){e.scale(t,i);this.__originalScale(t,i)};t.transform=function ctxTransform(t,i,s,n,r,a){e.transform(t,i,s,n,r,a);this.__originalTransform(t,i,s,n,r,a)};t.setTransform=function ctxSetTransform(t,i,s,n,r,a){e.setTransform(t,i,s,n,r,a);this.__originalSetTransform(t,i,s,n,r,a)};t.resetTransform=function ctxResetTransform(){e.resetTransform();this.__originalResetTransform()};t.rotate=function ctxRotate(t){e.rotate(t);this.__originalRotate(t)};t.clip=function ctxRotate(t){e.clip(t);this.__originalClip(t)};t.moveTo=function(t,i){e.moveTo(t,i);this.__originalMoveTo(t,i)};t.lineTo=function(t,i){e.lineTo(t,i);this.__originalLineTo(t,i)};t.bezierCurveTo=function(t,i,s,n,r,a){e.bezierCurveTo(t,i,s,n,r,a);this.__originalBezierCurveTo(t,i,s,n,r,a)};t.rect=function(t,i,s,n){e.rect(t,i,s,n);this.__originalRect(t,i,s,n)};t.closePath=function(){e.closePath();this.__originalClosePath()};t.beginPath=function(){e.beginPath();this.__originalBeginPath()}}(n,this.suspendedCtx);this.setGState([["BM","source-over"],["ca",1],["CA",1]])}endSMaskMode(){if(!this.inSMaskMode)throw new Error("endSMaskMode called while not in smask mode");this.ctx._removeMirroring();copyCtxState(this.ctx,this.suspendedCtx);this.ctx=this.suspendedCtx;this.suspendedCtx=null}compose(t){if(!this.current.activeSMask)return;if(t){t[0]=Math.floor(t[0]);t[1]=Math.floor(t[1]);t[2]=Math.ceil(t[2]);t[3]=Math.ceil(t[3])}else t=[0,0,this.ctx.canvas.width,this.ctx.canvas.height];const e=this.current.activeSMask,i=this.suspendedCtx;this.composeSMask(i,e,this.ctx,t);this.ctx.save();this.ctx.setTransform(1,0,0,1,0,0);this.ctx.clearRect(0,0,this.ctx.canvas.width,this.ctx.canvas.height);this.ctx.restore()}composeSMask(t,e,i,s){const n=s[0],r=s[1],a=s[2]-n,o=s[3]-r;if(0!==a&&0!==o){this.genericComposeSMask(e.context,i,a,o,e.subtype,e.backdrop,e.transferMap,n,r,e.offsetX,e.offsetY);t.save();t.globalAlpha=1;t.globalCompositeOperation="source-over";t.setTransform(1,0,0,1,0,0);t.drawImage(i.canvas,0,0);t.restore()}}genericComposeSMask(t,e,i,s,n,r,a,o,l,h,c){let d=t.canvas,u=o-h,p=l-c;if(r){const e=Util.makeHexColor(...r);if(u<0||p<0||u+i>d.width||p+s>d.height){const t=this.cachedCanvases.getCanvas("maskExtension",i,s),n=t.context;n.drawImage(d,-u,-p);n.globalCompositeOperation="destination-atop";n.fillStyle=e;n.fillRect(0,0,i,s);n.globalCompositeOperation="source-over";d=t.canvas;u=p=0}else{t.save();t.globalAlpha=1;t.setTransform(1,0,0,1,0,0);const n=new Path2D;n.rect(u,p,i,s);t.clip(n);t.globalCompositeOperation="destination-atop";t.fillStyle=e;t.fillRect(u,p,i,s);t.restore()}}e.save();e.globalAlpha=1;e.setTransform(1,0,0,1,0,0);"Alpha"===n&&a?e.filter=this.filterFactory.addAlphaFilter(a):"Luminosity"===n&&(e.filter=this.filterFactory.addLuminosityFilter(a));const g=new Path2D;g.rect(o,l,i,s);e.clip(g);e.globalCompositeOperation="destination-in";e.drawImage(d,u,p,i,s,o,l,i,s);e.restore()}save(){if(this.inSMaskMode){copyCtxState(this.ctx,this.suspendedCtx);this.suspendedCtx.save()}else this.ctx.save();const t=this.current;this.stateStack.push(t);this.current=t.clone()}restore(){0===this.stateStack.length&&this.inSMaskMode&&this.endSMaskMode();if(0!==this.stateStack.length){this.current=this.stateStack.pop();if(this.inSMaskMode){this.suspendedCtx.restore();copyCtxState(this.suspendedCtx,this.ctx)}else this.ctx.restore();this.checkSMaskState();this.pendingClip=null;this._cachedScaleForStroking[0]=-1;this._cachedGetSinglePixelWidth=null}}transform(t,e,i,s,n,r){this.ctx.transform(t,e,i,s,n,r);this._cachedScaleForStroking[0]=-1;this._cachedGetSinglePixelWidth=null}constructPath(t,e,i){const s=this.ctx,n=this.current;let r,a,o=n.x,l=n.y;const h=getCurrentTransform(s),c=0===h[0]&&0===h[3]||0===h[1]&&0===h[2],d=c?i.slice(0):null;for(let i=0,u=0,p=t.length;i100&&(h=100);this.current.fontSizeScale=e/h;this.ctx.font=`${l} ${o} ${h}px ${a}`}setTextRenderingMode(t){this.current.textRenderingMode=t}setTextRise(t){this.current.textRise=t}moveText(t,e){this.current.x=this.current.lineX+=t;this.current.y=this.current.lineY+=e}setLeadingMoveText(t,e){this.setLeading(-e);this.moveText(t,e)}setTextMatrix(t,e,i,s,n,r){this.current.textMatrix=[t,e,i,s,n,r];this.current.textMatrixScale=Math.hypot(t,e);this.current.x=this.current.lineX=0;this.current.y=this.current.lineY=0}nextLine(){this.moveText(0,this.current.leading)}#di(t,e,i){const s=new Path2D;s.addPath(t,new DOMMatrix(i).invertSelf().multiplySelf(e));return s}paintChar(t,e,i,s,n){const r=this.ctx,a=this.current,o=a.font,l=a.textRenderingMode,h=a.fontSize/a.fontSizeScale,c=l&x,d=!!(l&_),u=a.patternFill&&!o.missingFile,p=a.patternStroke&&!o.missingFile;let g;(o.disableFontFace||d||u||p)&&(g=o.getPathGenerator(this.commonObjs,t));if(o.disableFontFace||u||p){r.save();r.translate(e,i);r.scale(h,-h);if(c===v||c===w)if(s){const t=r.getTransform();r.setTransform(...s);r.fill(this.#di(g,t,s))}else r.fill(g);if(c===y||c===w)if(n){const t=r.getTransform();r.setTransform(...n);r.stroke(this.#di(g,t,n))}else{r.lineWidth/=h;r.stroke(g)}r.restore()}else{c!==v&&c!==w||r.fillText(t,e,i);c!==y&&c!==w||r.strokeText(t,e,i)}if(d){(this.pendingTextPaths||=[]).push({transform:getCurrentTransform(r),x:e,y:i,fontSize:h,path:g})}}get isFontSubpixelAAEnabled(){const{context:t}=this.cachedCanvases.getCanvas("isFontSubpixelAAEnabled",10,10);t.scale(1.5,1);t.fillText("I",0,10);const e=t.getImageData(0,0,10,10).data;let i=!1;for(let t=3;t0&&e[t]<255){i=!0;break}return shadow(this,"isFontSubpixelAAEnabled",i)}showText(t){const e=this.current,i=e.font;if(i.isType3Font)return this.showType3Text(t);const s=e.fontSize;if(0===s)return;const n=this.ctx,r=e.fontSizeScale,a=e.charSpacing,o=e.wordSpacing,l=e.fontDirection,h=e.textHScale*l,c=t.length,d=i.vertical,u=d?1:-1,p=i.defaultVMetrics,g=s*e.fontMatrix[0],f=e.textRenderingMode===v&&!i.disableFontFace&&!e.patternFill;n.save();n.transform(...e.textMatrix);n.translate(e.x,e.y+e.textRise);l>0?n.scale(h,-1):n.scale(h,1);let m,b;if(e.patternFill){n.save();const t=e.fillColor.getPattern(n,this,getCurrentTransformInverse(n),yt);m=getCurrentTransform(n);n.restore();n.fillStyle=t}if(e.patternStroke){n.save();const t=e.strokeColor.getPattern(n,this,getCurrentTransformInverse(n),wt);b=getCurrentTransform(n);n.restore();n.strokeStyle=t}let A=e.lineWidth;const _=e.textMatrixScale;if(0===_||0===A){const t=e.textRenderingMode&x;t!==y&&t!==w||(A=this.getSinglePixelWidth())}else A/=_;if(1!==r){n.scale(r,r);A/=r}n.lineWidth=A;if(i.isInvalidPDFjsFont){const i=[];let s=0;for(const e of t){i.push(e.unicode);s+=e.width}n.fillText(i.join(""),0,0);e.x+=s*g*h;n.restore();this.compose();return}let E,S=0;for(E=0;E0){const t=1e3*n.measureText(v).width/s*r;if(xnew CanvasGraphics(t,this.commonObjs,this.objs,this.canvasFactory,this.filterFactory,{optionalContentConfig:this.optionalContentConfig,markedContentStack:this.markedContentStack})};e=new TilingPattern(t,i,this.ctx,n,s)}else e=this._getPattern(t[1],t[2]);return e}setStrokeColorN(){this.current.strokeColor=this.getColorN_Pattern(arguments);this.current.patternStroke=!0}setFillColorN(){this.current.fillColor=this.getColorN_Pattern(arguments);this.current.patternFill=!0}setStrokeRGBColor(t,e,i){this.ctx.strokeStyle=this.current.strokeColor=Util.makeHexColor(t,e,i);this.current.patternStroke=!1}setStrokeTransparent(){this.ctx.strokeStyle=this.current.strokeColor="transparent";this.current.patternStroke=!1}setFillRGBColor(t,e,i){this.ctx.fillStyle=this.current.fillColor=Util.makeHexColor(t,e,i);this.current.patternFill=!1}setFillTransparent(){this.ctx.fillStyle=this.current.fillColor="transparent";this.current.patternFill=!1}_getPattern(t,e=null){let i;if(this.cachedPatterns.has(t))i=this.cachedPatterns.get(t);else{i=function getShadingPattern(t){switch(t[0]){case"RadialAxial":return new RadialAxialShadingPattern(t);case"Mesh":return new MeshShadingPattern(t);case"Dummy":return new DummyShadingPattern}throw new Error(`Unknown IR type: ${t[0]}`)}(this.getObject(t));this.cachedPatterns.set(t,i)}e&&(i.matrix=e);return i}shadingFill(t){if(!this.contentVisible)return;const e=this.ctx;this.save();const i=this._getPattern(t);e.fillStyle=i.getPattern(e,this,getCurrentTransformInverse(e),At);const s=getCurrentTransformInverse(e);if(s){const{width:t,height:i}=e.canvas,[n,r,a,o]=Util.getAxialAlignedBoundingBox([0,0,t,i],s);this.ctx.fillRect(n,r,a-n,o-r)}else this.ctx.fillRect(-1e10,-1e10,2e10,2e10);this.compose(this.current.getClippedPathBoundingBox());this.restore()}beginInlineImage(){unreachable("Should not call beginInlineImage")}beginImageData(){unreachable("Should not call beginImageData")}paintFormXObjectBegin(t,e){if(this.contentVisible){this.save();this.baseTransformStack.push(this.baseTransform);t&&this.transform(...t);this.baseTransform=getCurrentTransform(this.ctx);if(e){const t=e[2]-e[0],i=e[3]-e[1];this.ctx.rect(e[0],e[1],t,i);this.current.updateRectMinMax(getCurrentTransform(this.ctx),e);this.clip();this.endPath()}}}paintFormXObjectEnd(){if(this.contentVisible){this.restore();this.baseTransform=this.baseTransformStack.pop()}}beginGroup(t){if(!this.contentVisible)return;this.save();if(this.inSMaskMode){this.endSMaskMode();this.current.activeSMask=null}const e=this.ctx;t.isolated||info("TODO: Support non-isolated groups.");t.knockout&&warn("Knockout groups not supported.");const i=getCurrentTransform(e);t.matrix&&e.transform(...t.matrix);if(!t.bbox)throw new Error("Bounding box is required.");let s=Util.getAxialAlignedBoundingBox(t.bbox,getCurrentTransform(e));const n=[0,0,e.canvas.width,e.canvas.height];s=Util.intersect(s,n)||[0,0,0,0];const r=Math.floor(s[0]),a=Math.floor(s[1]),o=Math.max(Math.ceil(s[2])-r,1),l=Math.max(Math.ceil(s[3])-a,1);this.current.startNewPathAndClipBox([0,0,o,l]);let h="groupAt"+this.groupLevel;t.smask&&(h+="_smask_"+this.smaskCounter++%2);const c=this.cachedCanvases.getCanvas(h,o,l),d=c.context;d.translate(-r,-a);d.transform(...i);if(t.smask)this.smaskStack.push({canvas:c.canvas,context:d,offsetX:r,offsetY:a,subtype:t.smask.subtype,backdrop:t.smask.backdrop,transferMap:t.smask.transferMap||null,startTransformInverse:null});else{e.setTransform(1,0,0,1,0,0);e.translate(r,a);e.save()}copyCtxState(e,d);this.ctx=d;this.setGState([["BM","source-over"],["ca",1],["CA",1]]);this.groupStack.push(e);this.groupLevel++}endGroup(t){if(!this.contentVisible)return;this.groupLevel--;const e=this.ctx,i=this.groupStack.pop();this.ctx=i;this.ctx.imageSmoothingEnabled=!1;if(t.smask){this.tempSMask=this.smaskStack.pop();this.restore()}else{this.ctx.restore();const t=getCurrentTransform(this.ctx);this.restore();this.ctx.save();this.ctx.setTransform(...t);const i=Util.getAxialAlignedBoundingBox([0,0,e.canvas.width,e.canvas.height],t);this.ctx.drawImage(e.canvas,0,0);this.ctx.restore();this.compose(i)}}beginAnnotation(t,e,i,s,n){this.#hi();resetCtxToDefault(this.ctx);this.ctx.save();this.save();this.baseTransform&&this.ctx.setTransform(...this.baseTransform);if(e){const s=e[2]-e[0],r=e[3]-e[1];if(n&&this.annotationCanvasMap){(i=i.slice())[4]-=e[0];i[5]-=e[1];(e=e.slice())[0]=e[1]=0;e[2]=s;e[3]=r;const[n,a]=Util.singularValueDecompose2dScale(getCurrentTransform(this.ctx)),{viewportScale:o}=this,l=Math.ceil(s*this.outputScaleX*o),h=Math.ceil(r*this.outputScaleY*o);this.annotationCanvas=this.canvasFactory.create(l,h);const{canvas:c,context:d}=this.annotationCanvas;this.annotationCanvasMap.set(t,c);this.annotationCanvas.savedCtx=this.ctx;this.ctx=d;this.ctx.save();this.ctx.setTransform(n,0,0,-a,0,r*a);resetCtxToDefault(this.ctx)}else{resetCtxToDefault(this.ctx);this.endPath();this.ctx.rect(e[0],e[1],s,r);this.ctx.clip();this.ctx.beginPath()}}this.current=new CanvasExtraState(this.ctx.canvas.width,this.ctx.canvas.height);this.transform(...i);this.transform(...s)}endAnnotation(){if(this.annotationCanvas){this.ctx.restore();this.#ci();this.ctx=this.annotationCanvas.savedCtx;delete this.annotationCanvas.savedCtx;delete this.annotationCanvas}}paintImageMaskXObject(t){if(!this.contentVisible)return;const e=t.count;(t=this.getObject(t.data,t)).count=e;const i=this.ctx,s=this.processingType3;if(s){void 0===s.compiled&&(s.compiled=function compileType3Glyph(t){const{width:e,height:i}=t;if(e>1e3||i>1e3)return null;const s=new Uint8Array([0,2,4,0,1,0,5,4,8,10,0,8,0,2,1,0]),n=e+1;let r,a,o,l=new Uint8Array(n*(i+1));const h=e+7&-8;let c=new Uint8Array(h*i),d=0;for(const e of t.data){let t=128;for(;t>0;){c[d++]=e&t?0:255;t>>=1}}let u=0;d=0;if(0!==c[d]){l[0]=1;++u}for(a=1;a>2)+(c[d+1]?4:0)+(c[d-h+1]?8:0);if(s[t]){l[o+a]=s[t];++u}d++}if(c[d-h]!==c[d]){l[o+a]=c[d]?2:4;++u}if(u>1e3)return null}d=h*(i-1);o=r*n;if(0!==c[d]){l[o]=8;++u}for(a=1;a1e3)return null;const p=new Int32Array([0,n,-1,0,-n,0,0,0,1]),g=new Path2D;for(r=0;u&&r<=i;r++){let t=r*n;const i=t+e;for(;t>4;l[t]&=a>>2|a<<2}g.lineTo(t%n,t/n|0);l[t]||--u}while(s!==t);--r}c=null;l=null;return function(t){t.save();t.scale(1/e,-1/i);t.translate(0,-i);t.fill(g);t.beginPath();t.restore()}}(t));if(s.compiled){s.compiled(i);return}}const n=this._createMaskCanvas(t),r=n.canvas;i.save();i.setTransform(1,0,0,1,0,0);i.drawImage(r,n.offsetX,n.offsetY);i.restore();this.compose()}paintImageMaskXObjectRepeat(t,e,i=0,s=0,n,r){if(!this.contentVisible)return;t=this.getObject(t.data,t);const a=this.ctx;a.save();const o=getCurrentTransform(a);a.transform(e,i,s,n,0,0);const l=this._createMaskCanvas(t);a.setTransform(1,0,0,1,l.offsetX-o[4],l.offsetY-o[5]);for(let t=0,h=r.length;te?h/e:1;a=l>e?l/e:1}}this._cachedScaleForStroking[0]=r;this._cachedScaleForStroking[1]=a}return this._cachedScaleForStroking}rescaleAndStroke(t){const{ctx:e}=this,{lineWidth:i}=this.current,[s,n]=this.getScaleForStroking();e.lineWidth=i||1;if(1===s&&1===n){e.stroke();return}const r=e.getLineDash();t&&e.save();e.scale(s,n);if(r.length>0){const t=Math.max(s,n);e.setLineDash(r.map((e=>e/t)));e.lineDashOffset/=t}e.stroke();t&&e.restore()}isContentVisible(){for(let t=this.markedContentStack.length-1;t>=0;t--)if(!this.markedContentStack[t].visible)return!1;return!0}}for(const t in K)void 0!==CanvasGraphics.prototype[t]&&(CanvasGraphics.prototype[K[t]]=CanvasGraphics.prototype[t]);class GlobalWorkerOptions{static#ui=null;static#pi="";static get workerPort(){return this.#ui}static set workerPort(t){if(!("undefined"!=typeof Worker&&t instanceof Worker)&&null!==t)throw new Error("Invalid `workerPort` type.");this.#ui=t}static get workerSrc(){return this.#pi}static set workerSrc(t){if("string"!=typeof t)throw new Error("Invalid `workerSrc` type.");this.#pi=t}}class Metadata{#gi;#fi;constructor({parsedData:t,rawData:e}){this.#gi=t;this.#fi=e}getRaw(){return this.#fi}get(t){return this.#gi.get(t)??null}getAll(){return objectFromMap(this.#gi)}has(t){return this.#gi.has(t)}}const Pt=Symbol("INTERNAL");class OptionalContentGroup{#mi=!1;#bi=!1;#vi=!1;#yi=!0;constructor(t,{name:e,intent:i,usage:s,rbGroups:n}){this.#mi=!!(t&o);this.#bi=!!(t&l);this.name=e;this.intent=i;this.usage=s;this.rbGroups=n}get visible(){if(this.#vi)return this.#yi;if(!this.#yi)return!1;const{print:t,view:e}=this.usage;return this.#mi?"OFF"!==e?.viewState:!this.#bi||"OFF"!==t?.printState}_setVisible(t,e,i=!1){t!==Pt&&unreachable("Internal method `_setVisible` called.");this.#vi=i;this.#yi=e}}class OptionalContentConfig{#wi=null;#Ai=new Map;#xi=null;#_i=null;constructor(t,e=o){this.renderingIntent=e;this.name=null;this.creator=null;if(null!==t){this.name=t.name;this.creator=t.creator;this.#_i=t.order;for(const i of t.groups)this.#Ai.set(i.id,new OptionalContentGroup(e,i));if("OFF"===t.baseState)for(const t of this.#Ai.values())t._setVisible(Pt,!1);for(const e of t.on)this.#Ai.get(e)._setVisible(Pt,!0);for(const e of t.off)this.#Ai.get(e)._setVisible(Pt,!1);this.#xi=this.getHash()}}#Ei(t){const e=t.length;if(e<2)return!0;const i=t[0];for(let s=1;s0?objectFromMap(this.#Ai):null}getGroup(t){return this.#Ai.get(t)||null}getHash(){if(null!==this.#wi)return this.#wi;const t=new MurmurHash3_64;for(const[e,i]of this.#Ai)t.update(`${e}:${i.visible}`);return this.#wi=t.hexdigest()}}class PDFDataTransportStream{constructor(t,{disableRange:e=!1,disableStream:i=!1}){assert(t,'PDFDataTransportStream - missing required "pdfDataRangeTransport" argument.');const{length:s,initialData:n,progressiveDone:r,contentDispositionFilename:a}=t;this._queuedChunks=[];this._progressiveDone=r;this._contentDispositionFilename=a;if(n?.length>0){const t=n instanceof Uint8Array&&n.byteLength===n.buffer.byteLength?n.buffer:new Uint8Array(n).buffer;this._queuedChunks.push(t)}this._pdfDataRangeTransport=t;this._isStreamingSupported=!i;this._isRangeSupported=!e;this._contentLength=s;this._fullRequestReader=null;this._rangeReaders=[];t.addRangeListener(((t,e)=>{this._onReceiveData({begin:t,chunk:e})}));t.addProgressListener(((t,e)=>{this._onProgress({loaded:t,total:e})}));t.addProgressiveReadListener((t=>{this._onReceiveData({chunk:t})}));t.addProgressiveDoneListener((()=>{this._onProgressiveDone()}));t.transportReady()}_onReceiveData({begin:t,chunk:e}){const i=e instanceof Uint8Array&&e.byteLength===e.buffer.byteLength?e.buffer:new Uint8Array(e).buffer;if(void 0===t)this._fullRequestReader?this._fullRequestReader._enqueue(i):this._queuedChunks.push(i);else{assert(this._rangeReaders.some((function(e){if(e._begin!==t)return!1;e._enqueue(i);return!0})),"_onReceiveData - no `PDFDataTransportStreamRangeReader` instance found.")}}get _progressiveDataLength(){return this._fullRequestReader?._loaded??0}_onProgress(t){void 0===t.total?this._rangeReaders[0]?.onProgress?.({loaded:t.loaded}):this._fullRequestReader?.onProgress?.({loaded:t.loaded,total:t.total})}_onProgressiveDone(){this._fullRequestReader?.progressiveDone();this._progressiveDone=!0}_removeRangeReader(t){const e=this._rangeReaders.indexOf(t);e>=0&&this._rangeReaders.splice(e,1)}getFullReader(){assert(!this._fullRequestReader,"PDFDataTransportStream.getFullReader can only be called once.");const t=this._queuedChunks;this._queuedChunks=null;return new PDFDataTransportStreamReader(this,t,this._progressiveDone,this._contentDispositionFilename)}getRangeReader(t,e){if(e<=this._progressiveDataLength)return null;const i=new PDFDataTransportStreamRangeReader(this,t,e);this._pdfDataRangeTransport.requestDataRange(t,e);this._rangeReaders.push(i);return i}cancelAllRequests(t){this._fullRequestReader?.cancel(t);for(const e of this._rangeReaders.slice(0))e.cancel(t);this._pdfDataRangeTransport.abort()}}class PDFDataTransportStreamReader{constructor(t,e,i=!1,s=null){this._stream=t;this._done=i||!1;this._filename=isPdfFile(s)?s:null;this._queuedChunks=e||[];this._loaded=0;for(const t of this._queuedChunks)this._loaded+=t.byteLength;this._requests=[];this._headersReady=Promise.resolve();t._fullRequestReader=this;this.onProgress=null}_enqueue(t){if(!this._done){if(this._requests.length>0){this._requests.shift().resolve({value:t,done:!1})}else this._queuedChunks.push(t);this._loaded+=t.byteLength}}get headersReady(){return this._headersReady}get filename(){return this._filename}get isRangeSupported(){return this._stream._isRangeSupported}get isStreamingSupported(){return this._stream._isStreamingSupported}get contentLength(){return this._stream._contentLength}async read(){if(this._queuedChunks.length>0){return{value:this._queuedChunks.shift(),done:!1}}if(this._done)return{value:void 0,done:!0};const t=Promise.withResolvers();this._requests.push(t);return t.promise}cancel(t){this._done=!0;for(const t of this._requests)t.resolve({value:void 0,done:!0});this._requests.length=0}progressiveDone(){this._done||(this._done=!0)}}class PDFDataTransportStreamRangeReader{constructor(t,e,i){this._stream=t;this._begin=e;this._end=i;this._queuedChunk=null;this._requests=[];this._done=!1;this.onProgress=null}_enqueue(t){if(!this._done){if(0===this._requests.length)this._queuedChunk=t;else{this._requests.shift().resolve({value:t,done:!1});for(const t of this._requests)t.resolve({value:void 0,done:!0});this._requests.length=0}this._done=!0;this._stream._removeRangeReader(this)}}get isStreamingSupported(){return!1}async read(){if(this._queuedChunk){const t=this._queuedChunk;this._queuedChunk=null;return{value:t,done:!1}}if(this._done)return{value:void 0,done:!0};const t=Promise.withResolvers();this._requests.push(t);return t.promise}cancel(t){this._done=!0;for(const t of this._requests)t.resolve({value:void 0,done:!0});this._requests.length=0;this._stream._removeRangeReader(this)}}function createHeaders(t,e){const i=new Headers;if(!t||!e||"object"!=typeof e)return i;for(const t in e){const s=e[t];void 0!==s&&i.append(t,s)}return i}function getResponseOrigin(t){try{return new URL(t).origin}catch{}return null}function validateRangeRequestCapabilities({responseHeaders:t,isHttp:e,rangeChunkSize:i,disableRange:s}){const n={allowRangeRequests:!1,suggestedLength:void 0},r=parseInt(t.get("Content-Length"),10);if(!Number.isInteger(r))return n;n.suggestedLength=r;if(r<=2*i)return n;if(s||!e)return n;if("bytes"!==t.get("Accept-Ranges"))return n;if("identity"!==(t.get("Content-Encoding")||"identity"))return n;n.allowRangeRequests=!0;return n}function extractFilenameFromHeader(t){const e=t.get("Content-Disposition");if(e){let t=function getFilenameFromContentDispositionHeader(t){let e=!0,i=toParamRegExp("filename\\*","i").exec(t);if(i){i=i[1];let t=rfc2616unquote(i);t=unescape(t);t=rfc5987decode(t);t=rfc2047decode(t);return fixupEncoding(t)}i=function rfc2231getparam(t){const e=[];let i;const s=toParamRegExp("filename\\*((?!0\\d)\\d+)(\\*?)","ig");for(;null!==(i=s.exec(t));){let[,t,s,n]=i;t=parseInt(t,10);if(t in e){if(0===t)break}else e[t]=[s,n]}const n=[];for(let t=0;t{t._responseOrigin=getResponseOrigin(e.url);if(!validateResponseStatus(e.status))throw createResponseStatusError(e.status,s);this._reader=e.body.getReader();this._headersCapability.resolve();const i=e.headers,{allowRangeRequests:n,suggestedLength:r}=validateRangeRequestCapabilities({responseHeaders:i,isHttp:t.isHttp,rangeChunkSize:this._rangeChunkSize,disableRange:this._disableRange});this._isRangeSupported=n;this._contentLength=r||this._contentLength;this._filename=extractFilenameFromHeader(i);!this._isStreamingSupported&&this._isRangeSupported&&this.cancel(new AbortException("Streaming is disabled."))})).catch(this._headersCapability.reject);this.onProgress=null}get headersReady(){return this._headersCapability.promise}get filename(){return this._filename}get contentLength(){return this._contentLength}get isRangeSupported(){return this._isRangeSupported}get isStreamingSupported(){return this._isStreamingSupported}async read(){await this._headersCapability.promise;const{value:t,done:e}=await this._reader.read();if(e)return{value:t,done:e};this._loaded+=t.byteLength;this.onProgress?.({loaded:this._loaded,total:this._contentLength});return{value:getArrayBuffer(t),done:!1}}cancel(t){this._reader?.cancel(t);this._abortController.abort()}}class PDFFetchStreamRangeReader{constructor(t,e,i){this._stream=t;this._reader=null;this._loaded=0;const s=t.source;this._withCredentials=s.withCredentials||!1;this._readCapability=Promise.withResolvers();this._isStreamingSupported=!s.disableStream;this._abortController=new AbortController;const n=new Headers(t.headers);n.append("Range",`bytes=${e}-${i-1}`);const r=s.url;fetch(r,createFetchOptions(n,this._withCredentials,this._abortController)).then((e=>{const i=getResponseOrigin(e.url);if(i!==t._responseOrigin)throw new Error(`Expected range response-origin "${i}" to match "${t._responseOrigin}".`);if(!validateResponseStatus(e.status))throw createResponseStatusError(e.status,r);this._readCapability.resolve();this._reader=e.body.getReader()})).catch(this._readCapability.reject);this.onProgress=null}get isStreamingSupported(){return this._isStreamingSupported}async read(){await this._readCapability.promise;const{value:t,done:e}=await this._reader.read();if(e)return{value:t,done:e};this._loaded+=t.byteLength;this.onProgress?.({loaded:this._loaded});return{value:getArrayBuffer(t),done:!1}}cancel(t){this._reader?.cancel(t);this._abortController.abort()}}class NetworkManager{_responseOrigin=null;constructor({url:t,httpHeaders:e,withCredentials:i}){this.url=t;this.isHttp=/^https?:/i.test(t);this.headers=createHeaders(this.isHttp,e);this.withCredentials=i||!1;this.currXhrId=0;this.pendingRequests=Object.create(null)}request(t){const e=new XMLHttpRequest,i=this.currXhrId++,s=this.pendingRequests[i]={xhr:e};e.open("GET",this.url);e.withCredentials=this.withCredentials;for(const[t,i]of this.headers)e.setRequestHeader(t,i);if(this.isHttp&&"begin"in t&&"end"in t){e.setRequestHeader("Range",`bytes=${t.begin}-${t.end-1}`);s.expectedStatus=206}else s.expectedStatus=200;e.responseType="arraybuffer";assert(t.onError,"Expected `onError` callback to be provided.");e.onerror=()=>{t.onError(e.status)};e.onreadystatechange=this.onStateChange.bind(this,i);e.onprogress=this.onProgress.bind(this,i);s.onHeadersReceived=t.onHeadersReceived;s.onDone=t.onDone;s.onError=t.onError;s.onProgress=t.onProgress;e.send(null);return i}onProgress(t,e){const i=this.pendingRequests[t];i&&i.onProgress?.(e)}onStateChange(t,e){const i=this.pendingRequests[t];if(!i)return;const s=i.xhr;if(s.readyState>=2&&i.onHeadersReceived){i.onHeadersReceived();delete i.onHeadersReceived}if(4!==s.readyState)return;if(!(t in this.pendingRequests))return;delete this.pendingRequests[t];if(0===s.status&&this.isHttp){i.onError(s.status);return}const n=s.status||200;if(!(200===n&&206===i.expectedStatus)&&n!==i.expectedStatus){i.onError(s.status);return}const r=function network_getArrayBuffer(t){const e=t.response;return"string"!=typeof e?e:stringToBytes(e).buffer}(s);if(206===n){const t=s.getResponseHeader("Content-Range"),e=/bytes (\d+)-(\d+)\/(\d+)/.exec(t);if(e)i.onDone({begin:parseInt(e[1],10),chunk:r});else{warn('Missing or invalid "Content-Range" header.');i.onError(0)}}else r?i.onDone({begin:0,chunk:r}):i.onError(s.status)}getRequestXhr(t){return this.pendingRequests[t].xhr}isPendingRequest(t){return t in this.pendingRequests}abortRequest(t){const e=this.pendingRequests[t].xhr;delete this.pendingRequests[t];e.abort()}}class PDFNetworkStream{constructor(t){this._source=t;this._manager=new NetworkManager(t);this._rangeChunkSize=t.rangeChunkSize;this._fullRequestReader=null;this._rangeRequestReaders=[]}_onRangeRequestReaderClosed(t){const e=this._rangeRequestReaders.indexOf(t);e>=0&&this._rangeRequestReaders.splice(e,1)}getFullReader(){assert(!this._fullRequestReader,"PDFNetworkStream.getFullReader can only be called once.");this._fullRequestReader=new PDFNetworkStreamFullRequestReader(this._manager,this._source);return this._fullRequestReader}getRangeReader(t,e){const i=new PDFNetworkStreamRangeRequestReader(this._manager,t,e);i.onClosed=this._onRangeRequestReaderClosed.bind(this);this._rangeRequestReaders.push(i);return i}cancelAllRequests(t){this._fullRequestReader?.cancel(t);for(const e of this._rangeRequestReaders.slice(0))e.cancel(t)}}class PDFNetworkStreamFullRequestReader{constructor(t,e){this._manager=t;this._url=e.url;this._fullRequestId=t.request({onHeadersReceived:this._onHeadersReceived.bind(this),onDone:this._onDone.bind(this),onError:this._onError.bind(this),onProgress:this._onProgress.bind(this)});this._headersCapability=Promise.withResolvers();this._disableRange=e.disableRange||!1;this._contentLength=e.length;this._rangeChunkSize=e.rangeChunkSize;this._rangeChunkSize||this._disableRange||(this._disableRange=!0);this._isStreamingSupported=!1;this._isRangeSupported=!1;this._cachedChunks=[];this._requests=[];this._done=!1;this._storedError=void 0;this._filename=null;this.onProgress=null}_onHeadersReceived(){const t=this._fullRequestId,e=this._manager.getRequestXhr(t);this._manager._responseOrigin=getResponseOrigin(e.responseURL);const i=e.getAllResponseHeaders(),s=new Headers(i?i.trimStart().replace(/[^\S ]+$/,"").split(/[\r\n]+/).map((t=>{const[e,...i]=t.split(": ");return[e,i.join(": ")]})):[]),{allowRangeRequests:n,suggestedLength:r}=validateRangeRequestCapabilities({responseHeaders:s,isHttp:this._manager.isHttp,rangeChunkSize:this._rangeChunkSize,disableRange:this._disableRange});n&&(this._isRangeSupported=!0);this._contentLength=r||this._contentLength;this._filename=extractFilenameFromHeader(s);this._isRangeSupported&&this._manager.abortRequest(t);this._headersCapability.resolve()}_onDone(t){if(t)if(this._requests.length>0){this._requests.shift().resolve({value:t.chunk,done:!1})}else this._cachedChunks.push(t.chunk);this._done=!0;if(!(this._cachedChunks.length>0)){for(const t of this._requests)t.resolve({value:void 0,done:!0});this._requests.length=0}}_onError(t){this._storedError=createResponseStatusError(t,this._url);this._headersCapability.reject(this._storedError);for(const t of this._requests)t.reject(this._storedError);this._requests.length=0;this._cachedChunks.length=0}_onProgress(t){this.onProgress?.({loaded:t.loaded,total:t.lengthComputable?t.total:this._contentLength})}get filename(){return this._filename}get isRangeSupported(){return this._isRangeSupported}get isStreamingSupported(){return this._isStreamingSupported}get contentLength(){return this._contentLength}get headersReady(){return this._headersCapability.promise}async read(){await this._headersCapability.promise;if(this._storedError)throw this._storedError;if(this._cachedChunks.length>0){return{value:this._cachedChunks.shift(),done:!1}}if(this._done)return{value:void 0,done:!0};const t=Promise.withResolvers();this._requests.push(t);return t.promise}cancel(t){this._done=!0;this._headersCapability.reject(t);for(const t of this._requests)t.resolve({value:void 0,done:!0});this._requests.length=0;this._manager.isPendingRequest(this._fullRequestId)&&this._manager.abortRequest(this._fullRequestId);this._fullRequestReader=null}}class PDFNetworkStreamRangeRequestReader{constructor(t,e,i){this._manager=t;this._url=t.url;this._requestId=t.request({begin:e,end:i,onHeadersReceived:this._onHeadersReceived.bind(this),onDone:this._onDone.bind(this),onError:this._onError.bind(this),onProgress:this._onProgress.bind(this)});this._requests=[];this._queuedChunk=null;this._done=!1;this._storedError=void 0;this.onProgress=null;this.onClosed=null}_onHeadersReceived(){const t=getResponseOrigin(this._manager.getRequestXhr(this._requestId)?.responseURL);if(t!==this._manager._responseOrigin){this._storedError=new Error(`Expected range response-origin "${t}" to match "${this._manager._responseOrigin}".`);this._onError(0)}}_close(){this.onClosed?.(this)}_onDone(t){const e=t.chunk;if(this._requests.length>0){this._requests.shift().resolve({value:e,done:!1})}else this._queuedChunk=e;this._done=!0;for(const t of this._requests)t.resolve({value:void 0,done:!0});this._requests.length=0;this._close()}_onError(t){this._storedError??=createResponseStatusError(t,this._url);for(const t of this._requests)t.reject(this._storedError);this._requests.length=0;this._queuedChunk=null}_onProgress(t){this.isStreamingSupported||this.onProgress?.({loaded:t.loaded})}get isStreamingSupported(){return!1}async read(){if(this._storedError)throw this._storedError;if(null!==this._queuedChunk){const t=this._queuedChunk;this._queuedChunk=null;return{value:t,done:!1}}if(this._done)return{value:void 0,done:!0};const t=Promise.withResolvers();this._requests.push(t);return t.promise}cancel(t){this._done=!0;for(const t of this._requests)t.resolve({value:void 0,done:!0});this._requests.length=0;this._manager.isPendingRequest(this._requestId)&&this._manager.abortRequest(this._requestId);this._close()}}const Dt=/^[a-z][a-z0-9\-+.]+:/i;class PDFNodeStream{constructor(t){this.source=t;this.url=function parseUrlOrPath(t){if(Dt.test(t))return new URL(t);const e=process.getBuiltinModule("url");return new URL(e.pathToFileURL(t))}(t.url);assert("file:"===this.url.protocol,"PDFNodeStream only supports file:// URLs.");this._fullRequestReader=null;this._rangeRequestReaders=[]}get _progressiveDataLength(){return this._fullRequestReader?._loaded??0}getFullReader(){assert(!this._fullRequestReader,"PDFNodeStream.getFullReader can only be called once.");this._fullRequestReader=new PDFNodeStreamFsFullReader(this);return this._fullRequestReader}getRangeReader(t,e){if(e<=this._progressiveDataLength)return null;const i=new PDFNodeStreamFsRangeReader(this,t,e);this._rangeRequestReaders.push(i);return i}cancelAllRequests(t){this._fullRequestReader?.cancel(t);for(const e of this._rangeRequestReaders.slice(0))e.cancel(t)}}class PDFNodeStreamFsFullReader{constructor(t){this._url=t.url;this._done=!1;this._storedError=null;this.onProgress=null;const e=t.source;this._contentLength=e.length;this._loaded=0;this._filename=null;this._disableRange=e.disableRange||!1;this._rangeChunkSize=e.rangeChunkSize;this._rangeChunkSize||this._disableRange||(this._disableRange=!0);this._isStreamingSupported=!e.disableStream;this._isRangeSupported=!e.disableRange;this._readableStream=null;this._readCapability=Promise.withResolvers();this._headersCapability=Promise.withResolvers();const i=process.getBuiltinModule("fs");i.promises.lstat(this._url).then((t=>{this._contentLength=t.size;this._setReadableStream(i.createReadStream(this._url));this._headersCapability.resolve()}),(t=>{"ENOENT"===t.code&&(t=new MissingPDFException(`Missing PDF "${this._url}".`));this._storedError=t;this._headersCapability.reject(t)}))}get headersReady(){return this._headersCapability.promise}get filename(){return this._filename}get contentLength(){return this._contentLength}get isRangeSupported(){return this._isRangeSupported}get isStreamingSupported(){return this._isStreamingSupported}async read(){await this._readCapability.promise;if(this._done)return{value:void 0,done:!0};if(this._storedError)throw this._storedError;const t=this._readableStream.read();if(null===t){this._readCapability=Promise.withResolvers();return this.read()}this._loaded+=t.length;this.onProgress?.({loaded:this._loaded,total:this._contentLength});return{value:new Uint8Array(t).buffer,done:!1}}cancel(t){this._readableStream?this._readableStream.destroy(t):this._error(t)}_error(t){this._storedError=t;this._readCapability.resolve()}_setReadableStream(t){this._readableStream=t;t.on("readable",(()=>{this._readCapability.resolve()}));t.on("end",(()=>{t.destroy();this._done=!0;this._readCapability.resolve()}));t.on("error",(t=>{this._error(t)}));!this._isStreamingSupported&&this._isRangeSupported&&this._error(new AbortException("streaming is disabled"));this._storedError&&this._readableStream.destroy(this._storedError)}}class PDFNodeStreamFsRangeReader{constructor(t,e,i){this._url=t.url;this._done=!1;this._storedError=null;this.onProgress=null;this._loaded=0;this._readableStream=null;this._readCapability=Promise.withResolvers();const s=t.source;this._isStreamingSupported=!s.disableStream;const n=process.getBuiltinModule("fs");this._setReadableStream(n.createReadStream(this._url,{start:e,end:i-1}))}get isStreamingSupported(){return this._isStreamingSupported}async read(){await this._readCapability.promise;if(this._done)return{value:void 0,done:!0};if(this._storedError)throw this._storedError;const t=this._readableStream.read();if(null===t){this._readCapability=Promise.withResolvers();return this.read()}this._loaded+=t.length;this.onProgress?.({loaded:this._loaded});return{value:new Uint8Array(t).buffer,done:!1}}cancel(t){this._readableStream?this._readableStream.destroy(t):this._error(t)}_error(t){this._storedError=t;this._readCapability.resolve()}_setReadableStream(t){this._readableStream=t;t.on("readable",(()=>{this._readCapability.resolve()}));t.on("end",(()=>{t.destroy();this._done=!0;this._readCapability.resolve()}));t.on("error",(t=>{this._error(t)}));this._storedError&&this._readableStream.destroy(this._storedError)}}const kt=30;class TextLayer{#Si=Promise.withResolvers();#pt=null;#Ci=!1;#Ti=!!globalThis.FontInspector?.enabled;#Mi=null;#Pi=null;#Di=0;#ki=0;#Ri=null;#Ii=null;#Fi=0;#Li=0;#Oi=Object.create(null);#Ni=[];#Bi=null;#Hi=[];#Ui=new WeakMap;#zi=null;static#ji=new Map;static#Gi=new Map;static#Vi=new WeakMap;static#$i=null;static#Wi=new Set;constructor({textContentSource:t,container:e,viewport:i}){if(t instanceof ReadableStream)this.#Bi=t;else{if("object"!=typeof t)throw new Error('No "textContentSource" parameter specified.');this.#Bi=new ReadableStream({start(e){e.enqueue(t);e.close()}})}this.#pt=this.#Ii=e;this.#Li=i.scale*(globalThis.devicePixelRatio||1);this.#Fi=i.rotation;this.#Pi={div:null,properties:null,ctx:null};const{pageWidth:s,pageHeight:n,pageX:r,pageY:a}=i.rawDims;this.#zi=[1,0,0,-1,-r,a+n];this.#ki=s;this.#Di=n;TextLayer.#qi();setLayerDimensions(e,i);this.#Si.promise.finally((()=>{TextLayer.#Wi.delete(this);this.#Pi=null;this.#Oi=null})).catch((()=>{}))}static get fontFamilyMap(){const{isWindows:t,isFirefox:e}=util_FeatureTest.platform;return shadow(this,"fontFamilyMap",new Map([["sans-serif",(t&&e?"Calibri, ":"")+"sans-serif"],["monospace",(t&&e?"Lucida Console, ":"")+"monospace"]]))}render(){const pump=()=>{this.#Ri.read().then((({value:t,done:e})=>{if(e)this.#Si.resolve();else{this.#Mi??=t.lang;Object.assign(this.#Oi,t.styles);this.#Xi(t.items);pump()}}),this.#Si.reject)};this.#Ri=this.#Bi.getReader();TextLayer.#Wi.add(this);pump();return this.#Si.promise}update({viewport:t,onBefore:e=null}){const i=t.scale*(globalThis.devicePixelRatio||1),s=t.rotation;if(s!==this.#Fi){e?.();this.#Fi=s;setLayerDimensions(this.#Ii,{rotation:s})}if(i!==this.#Li){e?.();this.#Li=i;const t={div:null,properties:null,ctx:TextLayer.#Yi(this.#Mi)};for(const e of this.#Hi){t.properties=this.#Ui.get(e);t.div=e;this.#Ki(t)}}}cancel(){const t=new AbortException("TextLayer task cancelled.");this.#Ri?.cancel(t).catch((()=>{}));this.#Ri=null;this.#Si.reject(t)}get textDivs(){return this.#Hi}get textContentItemsStr(){return this.#Ni}#Xi(t){if(this.#Ci)return;this.#Pi.ctx??=TextLayer.#Yi(this.#Mi);const e=this.#Hi,i=this.#Ni;for(const s of t){if(e.length>1e5){warn("Ignoring additional textDivs for performance reasons.");this.#Ci=!0;return}if(void 0!==s.str){i.push(s.str);this.#Qi(s)}else if("beginMarkedContentProps"===s.type||"beginMarkedContent"===s.type){const t=this.#pt;this.#pt=document.createElement("span");this.#pt.classList.add("markedContent");null!==s.id&&this.#pt.setAttribute("id",`${s.id}`);t.append(this.#pt)}else"endMarkedContent"===s.type&&(this.#pt=this.#pt.parentNode)}}#Qi(t){const e=document.createElement("span"),i={angle:0,canvasWidth:0,hasText:""!==t.str,hasEOL:t.hasEOL,fontSize:0};this.#Hi.push(e);const s=Util.transform(this.#zi,t.transform);let n=Math.atan2(s[1],s[0]);const r=this.#Oi[t.fontName];r.vertical&&(n+=Math.PI/2);let a=this.#Ti&&r.fontSubstitution||r.fontFamily;a=TextLayer.fontFamilyMap.get(a)||a;const o=Math.hypot(s[2],s[3]),l=o*TextLayer.#Ji(a,this.#Mi);let h,c;if(0===n){h=s[4];c=s[5]-l}else{h=s[4]+l*Math.sin(n);c=s[5]-l*Math.cos(n)}const d="calc(var(--scale-factor)*",u=e.style;if(this.#pt===this.#Ii){u.left=`${(100*h/this.#ki).toFixed(2)}%`;u.top=`${(100*c/this.#Di).toFixed(2)}%`}else{u.left=`${d}${h.toFixed(2)}px)`;u.top=`${d}${c.toFixed(2)}px)`}u.fontSize=`${d}${(TextLayer.#$i*o).toFixed(2)}px)`;u.fontFamily=a;i.fontSize=o;e.setAttribute("role","presentation");e.textContent=t.str;e.dir=t.dir;this.#Ti&&(e.dataset.fontName=r.fontSubstitutionLoadedName||t.fontName);0!==n&&(i.angle=n*(180/Math.PI));let p=!1;if(t.str.length>1)p=!0;else if(" "!==t.str&&t.transform[0]!==t.transform[3]){const e=Math.abs(t.transform[0]),i=Math.abs(t.transform[3]);e!==i&&Math.max(e,i)/Math.min(e,i)>1.5&&(p=!0)}p&&(i.canvasWidth=r.vertical?t.height:t.width);this.#Ui.set(e,i);this.#Pi.div=e;this.#Pi.properties=i;this.#Ki(this.#Pi);i.hasText&&this.#pt.append(e);if(i.hasEOL){const t=document.createElement("br");t.setAttribute("role","presentation");this.#pt.append(t)}}#Ki(t){const{div:e,properties:i,ctx:s}=t,{style:n}=e;let r="";TextLayer.#$i>1&&(r=`scale(${1/TextLayer.#$i})`);if(0!==i.canvasWidth&&i.hasText){const{fontFamily:t}=n,{canvasWidth:a,fontSize:o}=i;TextLayer.#Zi(s,o*this.#Li,t);const{width:l}=s.measureText(e.textContent);l>0&&(r=`scaleX(${a*this.#Li/l}) ${r}`)}0!==i.angle&&(r=`rotate(${i.angle}deg) ${r}`);r.length>0&&(n.transform=r)}static cleanup(){if(!(this.#Wi.size>0)){this.#ji.clear();for(const{canvas:t}of this.#Gi.values())t.remove();this.#Gi.clear()}}static#Yi(t=null){let e=this.#Gi.get(t||="");if(!e){const i=document.createElement("canvas");i.className="hiddenCanvasElement";i.lang=t;document.body.append(i);e=i.getContext("2d",{alpha:!1,willReadFrequently:!0});this.#Gi.set(t,e);this.#Vi.set(e,{size:0,family:""})}return e}static#Zi(t,e,i){const s=this.#Vi.get(t);if(e!==s.size||i!==s.family){t.font=`${e}px ${i}`;s.size=e;s.family=i}}static#qi(){if(null!==this.#$i)return;const t=document.createElement("div");t.style.opacity=0;t.style.lineHeight=1;t.style.fontSize="1px";t.style.position="absolute";t.textContent="X";document.body.append(t);this.#$i=t.getBoundingClientRect().height;t.remove()}static#Ji(t,e){const i=this.#ji.get(t);if(i)return i;const s=this.#Yi(e);s.canvas.width=s.canvas.height=kt;this.#Zi(s,kt,t);const n=s.measureText("");let r=n.fontBoundingBoxAscent,a=Math.abs(n.fontBoundingBoxDescent);if(r){const e=r/(r+a);this.#ji.set(t,e);s.canvas.width=s.canvas.height=0;return e}s.strokeStyle="red";s.clearRect(0,0,kt,kt);s.strokeText("g",0,0);let o=s.getImageData(0,0,kt,kt).data;a=0;for(let t=o.length-1-3;t>=0;t-=4)if(o[t]>0){a=Math.ceil(t/4/kt);break}s.clearRect(0,0,kt,kt);s.strokeText("A",0,kt);o=s.getImageData(0,0,kt,kt).data;r=0;for(let t=0,e=o.length;t0){r=kt-Math.floor(t/4/kt);break}s.canvas.width=s.canvas.height=0;const l=r?r/(r+a):.8;this.#ji.set(t,l);return l}}class XfaText{static textContent(t){const e=[],i={items:e,styles:Object.create(null)};!function walk(t){if(!t)return;let i=null;const s=t.name;if("#text"===s)i=t.value;else{if(!XfaText.shouldBuildText(s))return;t?.attributes?.textContent?i=t.attributes.textContent:t.value&&(i=t.value)}null!==i&&e.push({str:i});if(t.children)for(const e of t.children)walk(e)}(t);return i}static shouldBuildText(t){return!("textarea"===t||"input"===t||"option"===t||"select"===t)}}const Rt=65536,It=i?class NodeCanvasFactory extends BaseCanvasFactory{_createCanvas(t,e){return process.getBuiltinModule("module").createRequire(import.meta.url)("@napi-rs/canvas").createCanvas(t,e)}}:class DOMCanvasFactory extends BaseCanvasFactory{constructor({ownerDocument:t=globalThis.document,enableHWA:e=!1}){super({enableHWA:e});this._document=t}_createCanvas(t,e){const i=this._document.createElement("canvas");i.width=t;i.height=e;return i}},Ft=i?class NodeCMapReaderFactory extends BaseCMapReaderFactory{async _fetch(t){return node_utils_fetchData(t)}}:DOMCMapReaderFactory,Lt=i?class NodeFilterFactory extends BaseFilterFactory{}:class DOMFilterFactory extends BaseFilterFactory{#ts;#es;#is;#ss;#ns;#rs;#y=0;constructor({docId:t,ownerDocument:e=globalThis.document}){super();this.#ss=t;this.#ns=e}get#A(){return this.#es||=new Map}get#as(){return this.#rs||=new Map}get#os(){if(!this.#is){const t=this.#ns.createElement("div"),{style:e}=t;e.visibility="hidden";e.contain="strict";e.width=e.height=0;e.position="absolute";e.top=e.left=0;e.zIndex=-1;const i=this.#ns.createElementNS(nt,"svg");i.setAttribute("width",0);i.setAttribute("height",0);this.#is=this.#ns.createElementNS(nt,"defs");t.append(i);i.append(this.#is);this.#ns.body.append(t)}return this.#is}#ls(t){if(1===t.length){const e=t[0],i=new Array(256);for(let t=0;t<256;t++)i[t]=e[t]/255;const s=i.join(",");return[s,s,s]}const[e,i,s]=t,n=new Array(256),r=new Array(256),a=new Array(256);for(let t=0;t<256;t++){n[t]=e[t]/255;r[t]=i[t]/255;a[t]=s[t]/255}return[n.join(","),r.join(","),a.join(",")]}#hs(t){if(void 0===this.#ts){this.#ts="";const t=this.#ns.URL;t!==this.#ns.baseURI&&(isDataScheme(t)?warn('#createUrl: ignore "data:"-URL for performance reasons.'):this.#ts=t.split("#",1)[0])}return`url(${this.#ts}#${t})`}addFilter(t){if(!t)return"none";let e=this.#A.get(t);if(e)return e;const[i,s,n]=this.#ls(t),r=1===t.length?i:`${i}${s}${n}`;e=this.#A.get(r);if(e){this.#A.set(t,e);return e}const a=`g_${this.#ss}_transfer_map_${this.#y++}`,o=this.#hs(a);this.#A.set(t,o);this.#A.set(r,o);const l=this.#cs(a);this.#ds(i,s,n,l);return o}addHCMFilter(t,e){const i=`${t}-${e}`,s="base";let n=this.#as.get(s);if(n?.key===i)return n.url;if(n){n.filter?.remove();n.key=i;n.url="none";n.filter=null}else{n={key:i,url:"none",filter:null};this.#as.set(s,n)}if(!t||!e)return n.url;const r=this.#us(t);t=Util.makeHexColor(...r);const a=this.#us(e);e=Util.makeHexColor(...a);this.#os.style.color="";if("#000000"===t&&"#ffffff"===e||t===e)return n.url;const o=new Array(256);for(let t=0;t<=255;t++){const e=t/255;o[t]=e<=.03928?e/12.92:((e+.055)/1.055)**2.4}const l=o.join(","),h=`g_${this.#ss}_hcm_filter`,c=n.filter=this.#cs(h);this.#ds(l,l,l,c);this.#ps(c);const getSteps=(t,e)=>{const i=r[t]/255,s=a[t]/255,n=new Array(e+1);for(let t=0;t<=e;t++)n[t]=i+t/e*(s-i);return n.join(",")};this.#ds(getSteps(0,5),getSteps(1,5),getSteps(2,5),c);n.url=this.#hs(h);return n.url}addAlphaFilter(t){let e=this.#A.get(t);if(e)return e;const[i]=this.#ls([t]),s=`alpha_${i}`;e=this.#A.get(s);if(e){this.#A.set(t,e);return e}const n=`g_${this.#ss}_alpha_map_${this.#y++}`,r=this.#hs(n);this.#A.set(t,r);this.#A.set(s,r);const a=this.#cs(n);this.#gs(i,a);return r}addLuminosityFilter(t){let e,i,s=this.#A.get(t||"luminosity");if(s)return s;if(t){[e]=this.#ls([t]);i=`luminosity_${e}`}else i="luminosity";s=this.#A.get(i);if(s){this.#A.set(t,s);return s}const n=`g_${this.#ss}_luminosity_map_${this.#y++}`,r=this.#hs(n);this.#A.set(t,r);this.#A.set(i,r);const a=this.#cs(n);this.#fs(a);t&&this.#gs(e,a);return r}addHighlightHCMFilter(t,e,i,s,n){const r=`${e}-${i}-${s}-${n}`;let a=this.#as.get(t);if(a?.key===r)return a.url;if(a){a.filter?.remove();a.key=r;a.url="none";a.filter=null}else{a={key:r,url:"none",filter:null};this.#as.set(t,a)}if(!e||!i)return a.url;const[o,l]=[e,i].map(this.#us.bind(this));let h=Math.round(.2126*o[0]+.7152*o[1]+.0722*o[2]),c=Math.round(.2126*l[0]+.7152*l[1]+.0722*l[2]),[d,u]=[s,n].map(this.#us.bind(this));c{const s=new Array(256),n=(c-h)/i,r=t/255,a=(e-t)/(255*i);let o=0;for(let t=0;t<=i;t++){const e=Math.round(h+t*n),i=r+t*a;for(let t=o;t<=e;t++)s[t]=i;o=e+1}for(let t=o;t<256;t++)s[t]=s[o-1];return s.join(",")},p=`g_${this.#ss}_hcm_${t}_filter`,g=a.filter=this.#cs(p);this.#ps(g);this.#ds(getSteps(d[0],u[0],5),getSteps(d[1],u[1],5),getSteps(d[2],u[2],5),g);a.url=this.#hs(p);return a.url}destroy(t=!1){if(!t||!this.#rs?.size){this.#is?.parentNode.parentNode.remove();this.#is=null;this.#es?.clear();this.#es=null;this.#rs?.clear();this.#rs=null;this.#y=0}}#fs(t){const e=this.#ns.createElementNS(nt,"feColorMatrix");e.setAttribute("type","matrix");e.setAttribute("values","0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.3 0.59 0.11 0 0");t.append(e)}#ps(t){const e=this.#ns.createElementNS(nt,"feColorMatrix");e.setAttribute("type","matrix");e.setAttribute("values","0.2126 0.7152 0.0722 0 0 0.2126 0.7152 0.0722 0 0 0.2126 0.7152 0.0722 0 0 0 0 0 1 0");t.append(e)}#cs(t){const e=this.#ns.createElementNS(nt,"filter");e.setAttribute("color-interpolation-filters","sRGB");e.setAttribute("id",t);this.#os.append(e);return e}#ms(t,e,i){const s=this.#ns.createElementNS(nt,e);s.setAttribute("type","discrete");s.setAttribute("tableValues",i);t.append(s)}#ds(t,e,i,s){const n=this.#ns.createElementNS(nt,"feComponentTransfer");s.append(n);this.#ms(n,"feFuncR",t);this.#ms(n,"feFuncG",e);this.#ms(n,"feFuncB",i)}#gs(t,e){const i=this.#ns.createElementNS(nt,"feComponentTransfer");e.append(i);this.#ms(i,"feFuncA",t)}#us(t){this.#os.style.color=t;return getRGB(getComputedStyle(this.#os).getPropertyValue("color"))}},Ot=i?class NodeStandardFontDataFactory extends BaseStandardFontDataFactory{async _fetch(t){return node_utils_fetchData(t)}}:DOMStandardFontDataFactory;function getDocument(t={}){"string"==typeof t||t instanceof URL?t={url:t}:(t instanceof ArrayBuffer||ArrayBuffer.isView(t))&&(t={data:t});const e=new PDFDocumentLoadingTask,{docId:s}=e,n=t.url?function getUrlProp(t){if(t instanceof URL)return t.href;try{return new URL(t,window.location).href}catch{if(i&&"string"==typeof t)return t}throw new Error("Invalid PDF url data: either string or URL-object is expected in the url property.")}(t.url):null,r=t.data?function getDataProp(t){if(i&&"undefined"!=typeof Buffer&&t instanceof Buffer)throw new Error("Please provide binary data as `Uint8Array`, rather than `Buffer`.");if(t instanceof Uint8Array&&t.byteLength===t.buffer.byteLength)return t;if("string"==typeof t)return stringToBytes(t);if(t instanceof ArrayBuffer||ArrayBuffer.isView(t)||"object"==typeof t&&!isNaN(t?.length))return new Uint8Array(t);throw new Error("Invalid PDF binary data: either TypedArray, string, or array-like object is expected in the data property.")}(t.data):null,a=t.httpHeaders||null,o=!0===t.withCredentials,l=t.password??null,h=t.range instanceof PDFDataRangeTransport?t.range:null,c=Number.isInteger(t.rangeChunkSize)&&t.rangeChunkSize>0?t.rangeChunkSize:Rt;let d=t.worker instanceof PDFWorker?t.worker:null;const u=t.verbosity,p="string"!=typeof t.docBaseUrl||isDataScheme(t.docBaseUrl)?null:t.docBaseUrl,g="string"==typeof t.cMapUrl?t.cMapUrl:null,f=!1!==t.cMapPacked,m=t.CMapReaderFactory||Ft,b="string"==typeof t.standardFontDataUrl?t.standardFontDataUrl:null,v=t.StandardFontDataFactory||Ot,y=!0!==t.stopAtErrors,w=Number.isInteger(t.maxImageSize)&&t.maxImageSize>-1?t.maxImageSize:-1,A=!1!==t.isEvalSupported,x="boolean"==typeof t.isOffscreenCanvasSupported?t.isOffscreenCanvasSupported:!i,_="boolean"==typeof t.isImageDecoderSupported?t.isImageDecoderSupported:!i&&(util_FeatureTest.platform.isFirefox||!globalThis.chrome),E=Number.isInteger(t.canvasMaxAreaInBytes)?t.canvasMaxAreaInBytes:-1,S="boolean"==typeof t.disableFontFace?t.disableFontFace:i,C=!0===t.fontExtraProperties,T=!0===t.enableXfa,M=t.ownerDocument||globalThis.document,P=!0===t.disableRange,D=!0===t.disableStream,k=!0===t.disableAutoFetch,R=!0===t.pdfBug,I=t.CanvasFactory||It,L=t.FilterFactory||Lt,O=!0===t.enableHWA,N=h?h.length:t.length??NaN,B="boolean"==typeof t.useSystemFonts?t.useSystemFonts:!i&&!S,H="boolean"==typeof t.useWorkerFetch?t.useWorkerFetch:m===DOMCMapReaderFactory&&v===DOMStandardFontDataFactory&&g&&b&&isValidFetchUrl(g,document.baseURI)&&isValidFetchUrl(b,document.baseURI);setVerbosityLevel(u);const U={canvasFactory:new I({ownerDocument:M,enableHWA:O}),filterFactory:new L({docId:s,ownerDocument:M}),cMapReaderFactory:H?null:new m({baseUrl:g,isCompressed:f}),standardFontDataFactory:H?null:new v({baseUrl:b})};if(!d){const t={verbosity:u,port:GlobalWorkerOptions.workerPort};d=t.port?PDFWorker.fromPort(t):new PDFWorker(t);e._worker=d}const z={docId:s,apiVersion:"4.10.38",data:r,password:l,disableAutoFetch:k,rangeChunkSize:c,length:N,docBaseUrl:p,enableXfa:T,evaluatorOptions:{maxImageSize:w,disableFontFace:S,ignoreErrors:y,isEvalSupported:A,isOffscreenCanvasSupported:x,isImageDecoderSupported:_,canvasMaxAreaInBytes:E,fontExtraProperties:C,useSystemFonts:B,cMapUrl:H?g:null,standardFontDataUrl:H?b:null}},j={disableFontFace:S,fontExtraProperties:C,ownerDocument:M,pdfBug:R,styleElement:null,loadingParams:{disableAutoFetch:k,enableXfa:T}};d.promise.then((function(){if(e.destroyed)throw new Error("Loading aborted");if(d.destroyed)throw new Error("Worker was destroyed");const t=d.messageHandler.sendWithPromise("GetDocRequest",z,r?[r.buffer]:null);let l;if(h)l=new PDFDataTransportStream(h,{disableRange:P,disableStream:D});else if(!r){if(!n)throw new Error("getDocument - no `url` parameter provided.");let t;if(i)if(isValidFetchUrl(n)){if("undefined"==typeof fetch||"undefined"==typeof Response||!("body"in Response.prototype))throw new Error("getDocument - the Fetch API was disabled in Node.js, see `--no-experimental-fetch`.");t=PDFFetchStream}else t=PDFNodeStream;else t=isValidFetchUrl(n)?PDFFetchStream:PDFNetworkStream;l=new t({url:n,length:N,httpHeaders:a,withCredentials:o,rangeChunkSize:c,disableRange:P,disableStream:D})}return t.then((t=>{if(e.destroyed)throw new Error("Loading aborted");if(d.destroyed)throw new Error("Worker was destroyed");const i=new MessageHandler(s,t,d.port),n=new WorkerTransport(i,e,l,j,U);e._transport=n;i.send("Ready",null)}))})).catch(e._capability.reject);return e}function isRefProxy(t){return"object"==typeof t&&Number.isInteger(t?.num)&&t.num>=0&&Number.isInteger(t?.gen)&&t.gen>=0}class PDFDocumentLoadingTask{static#ss=0;constructor(){this._capability=Promise.withResolvers();this._transport=null;this._worker=null;this.docId="d"+PDFDocumentLoadingTask.#ss++;this.destroyed=!1;this.onPassword=null;this.onProgress=null}get promise(){return this._capability.promise}async destroy(){this.destroyed=!0;try{this._worker?.port&&(this._worker._pendingDestroy=!0);await(this._transport?.destroy())}catch(t){this._worker?.port&&delete this._worker._pendingDestroy;throw t}this._transport=null;this._worker?.destroy();this._worker=null}}class PDFDataRangeTransport{constructor(t,e,i=!1,s=null){this.length=t;this.initialData=e;this.progressiveDone=i;this.contentDispositionFilename=s;this._rangeListeners=[];this._progressListeners=[];this._progressiveReadListeners=[];this._progressiveDoneListeners=[];this._readyCapability=Promise.withResolvers()}addRangeListener(t){this._rangeListeners.push(t)}addProgressListener(t){this._progressListeners.push(t)}addProgressiveReadListener(t){this._progressiveReadListeners.push(t)}addProgressiveDoneListener(t){this._progressiveDoneListeners.push(t)}onDataRange(t,e){for(const i of this._rangeListeners)i(t,e)}onDataProgress(t,e){this._readyCapability.promise.then((()=>{for(const i of this._progressListeners)i(t,e)}))}onDataProgressiveRead(t){this._readyCapability.promise.then((()=>{for(const e of this._progressiveReadListeners)e(t)}))}onDataProgressiveDone(){this._readyCapability.promise.then((()=>{for(const t of this._progressiveDoneListeners)t()}))}transportReady(){this._readyCapability.resolve()}requestDataRange(t,e){unreachable("Abstract method PDFDataRangeTransport.requestDataRange")}abort(){}}class PDFDocumentProxy{constructor(t,e){this._pdfInfo=t;this._transport=e}get annotationStorage(){return this._transport.annotationStorage}get canvasFactory(){return this._transport.canvasFactory}get filterFactory(){return this._transport.filterFactory}get numPages(){return this._pdfInfo.numPages}get fingerprints(){return this._pdfInfo.fingerprints}get isPureXfa(){return shadow(this,"isPureXfa",!!this._transport._htmlForXfa)}get allXfaHtml(){return this._transport._htmlForXfa}getPage(t){return this._transport.getPage(t)}getPageIndex(t){return this._transport.getPageIndex(t)}getDestinations(){return this._transport.getDestinations()}getDestination(t){return this._transport.getDestination(t)}getPageLabels(){return this._transport.getPageLabels()}getPageLayout(){return this._transport.getPageLayout()}getPageMode(){return this._transport.getPageMode()}getViewerPreferences(){return this._transport.getViewerPreferences()}getOpenAction(){return this._transport.getOpenAction()}getAttachments(){return this._transport.getAttachments()}getJSActions(){return this._transport.getDocJSActions()}getOutline(){return this._transport.getOutline()}getOptionalContentConfig({intent:t="display"}={}){const{renderingIntent:e}=this._transport.getRenderingIntent(t);return this._transport.getOptionalContentConfig(e)}getPermissions(){return this._transport.getPermissions()}getMetadata(){return this._transport.getMetadata()}getMarkInfo(){return this._transport.getMarkInfo()}getData(){return this._transport.getData()}saveDocument(){return this._transport.saveDocument()}getDownloadInfo(){return this._transport.downloadInfoCapability.promise}cleanup(t=!1){return this._transport.startCleanup(t||this.isPureXfa)}destroy(){return this.loadingTask.destroy()}cachedPageNumber(t){return this._transport.cachedPageNumber(t)}get loadingParams(){return this._transport.loadingParams}get loadingTask(){return this._transport.loadingTask}getFieldObjects(){return this._transport.getFieldObjects()}hasJSActions(){return this._transport.hasJSActions()}getCalculationOrderIds(){return this._transport.getCalculationOrderIds()}}class PDFPageProxy{#bs=null;#vs=!1;constructor(t,e,i,s=!1){this._pageIndex=t;this._pageInfo=e;this._transport=i;this._stats=s?new StatTimer:null;this._pdfBug=s;this.commonObjs=i.commonObjs;this.objs=new PDFObjects;this._maybeCleanupAfterRender=!1;this._intentStates=new Map;this.destroyed=!1}get pageNumber(){return this._pageIndex+1}get rotate(){return this._pageInfo.rotate}get ref(){return this._pageInfo.ref}get userUnit(){return this._pageInfo.userUnit}get view(){return this._pageInfo.view}getViewport({scale:t,rotation:e=this.rotate,offsetX:i=0,offsetY:s=0,dontFlip:n=!1}={}){return new PageViewport({viewBox:this.view,userUnit:this.userUnit,scale:t,rotation:e,offsetX:i,offsetY:s,dontFlip:n})}getAnnotations({intent:t="display"}={}){const{renderingIntent:e}=this._transport.getRenderingIntent(t);return this._transport.getAnnotations(this._pageIndex,e)}getJSActions(){return this._transport.getPageJSActions(this._pageIndex)}get filterFactory(){return this._transport.filterFactory}get isPureXfa(){return shadow(this,"isPureXfa",!!this._transport._htmlForXfa)}async getXfa(){return this._transport._htmlForXfa?.children[this._pageIndex]||null}render({canvasContext:t,viewport:e,intent:i="display",annotationMode:s=g.ENABLE,transform:n=null,background:r=null,optionalContentConfigPromise:a=null,annotationCanvasMap:o=null,pageColors:h=null,printAnnotationStorage:c=null,isEditing:d=!1}){this._stats?.time("Overall");const u=this._transport.getRenderingIntent(i,s,c,d),{renderingIntent:p,cacheKey:f}=u;this.#vs=!1;this.#ys();a||=this._transport.getOptionalContentConfig(p);let m=this._intentStates.get(f);if(!m){m=Object.create(null);this._intentStates.set(f,m)}if(m.streamReaderCancelTimeout){clearTimeout(m.streamReaderCancelTimeout);m.streamReaderCancelTimeout=null}const b=!!(p&l);if(!m.displayReadyCapability){m.displayReadyCapability=Promise.withResolvers();m.operatorList={fnArray:[],argsArray:[],lastChunk:!1,separateAnnots:null};this._stats?.time("Page Request");this._pumpOperatorList(u)}const complete=t=>{m.renderTasks.delete(v);(this._maybeCleanupAfterRender||b)&&(this.#vs=!0);this.#ws(!b);if(t){v.capability.reject(t);this._abortOperatorList({intentState:m,reason:t instanceof Error?t:new Error(t)})}else v.capability.resolve();if(this._stats){this._stats.timeEnd("Rendering");this._stats.timeEnd("Overall");globalThis.Stats?.enabled&&globalThis.Stats.add(this.pageNumber,this._stats)}},v=new InternalRenderTask({callback:complete,params:{canvasContext:t,viewport:e,transform:n,background:r},objs:this.objs,commonObjs:this.commonObjs,annotationCanvasMap:o,operatorList:m.operatorList,pageIndex:this._pageIndex,canvasFactory:this._transport.canvasFactory,filterFactory:this._transport.filterFactory,useRequestAnimationFrame:!b,pdfBug:this._pdfBug,pageColors:h});(m.renderTasks||=new Set).add(v);const y=v.task;Promise.all([m.displayReadyCapability.promise,a]).then((([t,e])=>{if(this.destroyed)complete();else{this._stats?.time("Rendering");if(!(e.renderingIntent&p))throw new Error("Must use the same `intent`-argument when calling the `PDFPageProxy.render` and `PDFDocumentProxy.getOptionalContentConfig` methods.");v.initializeGraphics({transparency:t,optionalContentConfig:e});v.operatorListChanged()}})).catch(complete);return y}getOperatorList({intent:t="display",annotationMode:e=g.ENABLE,printAnnotationStorage:i=null,isEditing:s=!1}={}){const n=this._transport.getRenderingIntent(t,e,i,s,!0);let r,a=this._intentStates.get(n.cacheKey);if(!a){a=Object.create(null);this._intentStates.set(n.cacheKey,a)}if(!a.opListReadCapability){r=Object.create(null);r.operatorListChanged=function operatorListChanged(){if(a.operatorList.lastChunk){a.opListReadCapability.resolve(a.operatorList);a.renderTasks.delete(r)}};a.opListReadCapability=Promise.withResolvers();(a.renderTasks||=new Set).add(r);a.operatorList={fnArray:[],argsArray:[],lastChunk:!1,separateAnnots:null};this._stats?.time("Page Request");this._pumpOperatorList(n)}return a.opListReadCapability.promise}streamTextContent({includeMarkedContent:t=!1,disableNormalization:e=!1}={}){return this._transport.messageHandler.sendWithStream("GetTextContent",{pageIndex:this._pageIndex,includeMarkedContent:!0===t,disableNormalization:!0===e},{highWaterMark:100,size:t=>t.items.length})}getTextContent(t={}){if(this._transport._htmlForXfa)return this.getXfa().then((t=>XfaText.textContent(t)));const e=this.streamTextContent(t);return new Promise((function(t,i){const s=e.getReader(),n={items:[],styles:Object.create(null),lang:null};!function pump(){s.read().then((function({value:e,done:i}){if(i)t(n);else{n.lang??=e.lang;Object.assign(n.styles,e.styles);n.items.push(...e.items);pump()}}),i)}()}))}getStructTree(){return this._transport.getStructTree(this._pageIndex)}_destroy(){this.destroyed=!0;const t=[];for(const e of this._intentStates.values()){this._abortOperatorList({intentState:e,reason:new Error("Page was destroyed."),force:!0});if(!e.opListReadCapability)for(const i of e.renderTasks){t.push(i.completed);i.cancel()}}this.objs.clear();this.#vs=!1;this.#ys();return Promise.all(t)}cleanup(t=!1){this.#vs=!0;const e=this.#ws(!1);t&&e&&(this._stats&&=new StatTimer);return e}#ws(t=!1){this.#ys();if(!this.#vs||this.destroyed)return!1;if(t){this.#bs=setTimeout((()=>{this.#bs=null;this.#ws(!1)}),5e3);return!1}for(const{renderTasks:t,operatorList:e}of this._intentStates.values())if(t.size>0||!e.lastChunk)return!1;this._intentStates.clear();this.objs.clear();this.#vs=!1;return!0}#ys(){if(this.#bs){clearTimeout(this.#bs);this.#bs=null}}_startRenderPage(t,e){const i=this._intentStates.get(e);if(i){this._stats?.timeEnd("Page Request");i.displayReadyCapability?.resolve(t)}}_renderPageChunk(t,e){for(let i=0,s=t.length;i{a.read().then((({value:t,done:e})=>{if(e)o.streamReader=null;else if(!this._transport.destroyed){this._renderPageChunk(t,o);pump()}}),(t=>{o.streamReader=null;if(!this._transport.destroyed){if(o.operatorList){o.operatorList.lastChunk=!0;for(const t of o.renderTasks)t.operatorListChanged();this.#ws(!0)}if(o.displayReadyCapability)o.displayReadyCapability.reject(t);else{if(!o.opListReadCapability)throw t;o.opListReadCapability.reject(t)}}}))};pump()}_abortOperatorList({intentState:t,reason:e,force:i=!1}){if(t.streamReader){if(t.streamReaderCancelTimeout){clearTimeout(t.streamReaderCancelTimeout);t.streamReaderCancelTimeout=null}if(!i){if(t.renderTasks.size>0)return;if(e instanceof RenderingCancelledException){let i=100;e.extraDelay>0&&e.extraDelay<1e3&&(i+=e.extraDelay);t.streamReaderCancelTimeout=setTimeout((()=>{t.streamReaderCancelTimeout=null;this._abortOperatorList({intentState:t,reason:e,force:!0})}),i);return}}t.streamReader.cancel(new AbortException(e.message)).catch((()=>{}));t.streamReader=null;if(!this._transport.destroyed){for(const[e,i]of this._intentStates)if(i===t){this._intentStates.delete(e);break}this.cleanup()}}}get stats(){return this._stats}}class LoopbackPort{#As=new Map;#xs=Promise.resolve();postMessage(t,e){const i={data:structuredClone(t,e?{transfer:e}:null)};this.#xs.then((()=>{for(const[t]of this.#As)t.call(this,i)}))}addEventListener(t,e,i=null){let s=null;if(i?.signal instanceof AbortSignal){const{signal:n}=i;if(n.aborted){warn("LoopbackPort - cannot use an `aborted` signal.");return}const onAbort=()=>this.removeEventListener(t,e);s=()=>n.removeEventListener("abort",onAbort);n.addEventListener("abort",onAbort)}this.#As.set(e,s)}removeEventListener(t,e){const i=this.#As.get(e);i?.();this.#As.delete(e)}terminate(){for(const[,t]of this.#As)t?.();this.#As.clear()}}class PDFWorker{static#_s=0;static#Es=!1;static#Ss;static{if(i){this.#Es=!0;GlobalWorkerOptions.workerSrc||="./pdf.worker.mjs"}this._isSameOrigin=(t,e)=>{let i;try{i=new URL(t);if(!i.origin||"null"===i.origin)return!1}catch{return!1}const s=new URL(e,i);return i.origin===s.origin};this._createCDNWrapper=t=>{const e=`await import("${t}");`;return URL.createObjectURL(new Blob([e],{type:"text/javascript"}))}}constructor({name:t=null,port:e=null,verbosity:i=getVerbosityLevel()}={}){this.name=t;this.destroyed=!1;this.verbosity=i;this._readyCapability=Promise.withResolvers();this._port=null;this._webWorker=null;this._messageHandler=null;if(e){if(PDFWorker.#Ss?.has(e))throw new Error("Cannot use more than one PDFWorker per port.");(PDFWorker.#Ss||=new WeakMap).set(e,this);this._initializeFromPort(e)}else this._initialize()}get promise(){return this._readyCapability.promise}#Cs(){this._readyCapability.resolve();this._messageHandler.send("configure",{verbosity:this.verbosity})}get port(){return this._port}get messageHandler(){return this._messageHandler}_initializeFromPort(t){this._port=t;this._messageHandler=new MessageHandler("main","worker",t);this._messageHandler.on("ready",(function(){}));this.#Cs()}_initialize(){if(PDFWorker.#Es||PDFWorker.#Ts){this._setupFakeWorker();return}let{workerSrc:t}=PDFWorker;try{PDFWorker._isSameOrigin(window.location.href,t)||(t=PDFWorker._createCDNWrapper(new URL(t,window.location).href));const e=new Worker(t,{type:"module"}),i=new MessageHandler("main","worker",e),terminateEarly=()=>{s.abort();i.destroy();e.terminate();this.destroyed?this._readyCapability.reject(new Error("Worker was destroyed")):this._setupFakeWorker()},s=new AbortController;e.addEventListener("error",(()=>{this._webWorker||terminateEarly()}),{signal:s.signal});i.on("test",(t=>{s.abort();if(!this.destroyed&&t){this._messageHandler=i;this._port=e;this._webWorker=e;this.#Cs()}else terminateEarly()}));i.on("ready",(t=>{s.abort();if(this.destroyed)terminateEarly();else try{sendTest()}catch{this._setupFakeWorker()}}));const sendTest=()=>{const t=new Uint8Array;i.send("test",t,[t.buffer])};sendTest();return}catch{info("The worker has been disabled.")}this._setupFakeWorker()}_setupFakeWorker(){if(!PDFWorker.#Es){warn("Setting up fake worker.");PDFWorker.#Es=!0}PDFWorker._setupFakeWorkerGlobal.then((t=>{if(this.destroyed){this._readyCapability.reject(new Error("Worker was destroyed"));return}const e=new LoopbackPort;this._port=e;const i="fake"+PDFWorker.#_s++,s=new MessageHandler(i+"_worker",i,e);t.setup(s,e);this._messageHandler=new MessageHandler(i,i+"_worker",e);this.#Cs()})).catch((t=>{this._readyCapability.reject(new Error(`Setting up fake worker failed: "${t.message}".`))}))}destroy(){this.destroyed=!0;this._webWorker?.terminate();this._webWorker=null;PDFWorker.#Ss?.delete(this._port);this._port=null;this._messageHandler?.destroy();this._messageHandler=null}static fromPort(t){if(!t?.port)throw new Error("PDFWorker.fromPort - invalid method signature.");const e=this.#Ss?.get(t.port);if(e){if(e._pendingDestroy)throw new Error("PDFWorker.fromPort - the worker is being destroyed.\nPlease remember to await `PDFDocumentLoadingTask.destroy()`-calls.");return e}return new PDFWorker(t)}static get workerSrc(){if(GlobalWorkerOptions.workerSrc)return GlobalWorkerOptions.workerSrc;throw new Error('No "GlobalWorkerOptions.workerSrc" specified.')}static get#Ts(){try{return globalThis.pdfjsWorker?.WorkerMessageHandler||null}catch{return null}}static get _setupFakeWorkerGlobal(){return shadow(this,"_setupFakeWorkerGlobal",(async()=>{if(this.#Ts)return this.#Ts;return(await import(this.workerSrc)).WorkerMessageHandler})())}}class WorkerTransport{#Ms=new Map;#Ps=new Map;#Ds=new Map;#ks=new Map;#Rs=null;constructor(t,e,i,s,n){this.messageHandler=t;this.loadingTask=e;this.commonObjs=new PDFObjects;this.fontLoader=new FontLoader({ownerDocument:s.ownerDocument,styleElement:s.styleElement});this.loadingParams=s.loadingParams;this._params=s;this.canvasFactory=n.canvasFactory;this.filterFactory=n.filterFactory;this.cMapReaderFactory=n.cMapReaderFactory;this.standardFontDataFactory=n.standardFontDataFactory;this.destroyed=!1;this.destroyCapability=null;this._networkStream=i;this._fullReader=null;this._lastProgress=null;this.downloadInfoCapability=Promise.withResolvers();this.setupMessageHandler()}#Is(t,e=null){const i=this.#Ms.get(t);if(i)return i;const s=this.messageHandler.sendWithPromise(t,e);this.#Ms.set(t,s);return s}get annotationStorage(){return shadow(this,"annotationStorage",new AnnotationStorage)}getRenderingIntent(t,e=g.ENABLE,i=null,s=!1,n=!1){let r=o,f=lt;switch(t){case"any":r=a;break;case"display":break;case"print":r=l;break;default:warn(`getRenderingIntent - invalid intent: ${t}`)}const m=r&l&&i instanceof PrintAnnotationStorage?i:this.annotationStorage;switch(e){case g.DISABLE:r+=d;break;case g.ENABLE:break;case g.ENABLE_FORMS:r+=h;break;case g.ENABLE_STORAGE:r+=c;f=m.serializable;break;default:warn(`getRenderingIntent - invalid annotationMode: ${e}`)}s&&(r+=u);n&&(r+=p);const{ids:b,hash:v}=m.modifiedIds;return{renderingIntent:r,cacheKey:[r,f.hash,v].join("_"),annotationStorageSerializable:f,modifiedIds:b}}destroy(){if(this.destroyCapability)return this.destroyCapability.promise;this.destroyed=!0;this.destroyCapability=Promise.withResolvers();this.#Rs?.reject(new Error("Worker was destroyed during onPassword callback"));const t=[];for(const e of this.#Ps.values())t.push(e._destroy());this.#Ps.clear();this.#Ds.clear();this.#ks.clear();this.hasOwnProperty("annotationStorage")&&this.annotationStorage.resetModified();const e=this.messageHandler.sendWithPromise("Terminate",null);t.push(e);Promise.all(t).then((()=>{this.commonObjs.clear();this.fontLoader.clear();this.#Ms.clear();this.filterFactory.destroy();TextLayer.cleanup();this._networkStream?.cancelAllRequests(new AbortException("Worker was terminated."));this.messageHandler?.destroy();this.messageHandler=null;this.destroyCapability.resolve()}),this.destroyCapability.reject);return this.destroyCapability.promise}setupMessageHandler(){const{messageHandler:t,loadingTask:e}=this;t.on("GetReader",((t,e)=>{assert(this._networkStream,"GetReader - no `IPDFStream` instance available.");this._fullReader=this._networkStream.getFullReader();this._fullReader.onProgress=t=>{this._lastProgress={loaded:t.loaded,total:t.total}};e.onPull=()=>{this._fullReader.read().then((function({value:t,done:i}){if(i)e.close();else{assert(t instanceof ArrayBuffer,"GetReader - expected an ArrayBuffer.");e.enqueue(new Uint8Array(t),1,[t])}})).catch((t=>{e.error(t)}))};e.onCancel=t=>{this._fullReader.cancel(t);e.ready.catch((t=>{if(!this.destroyed)throw t}))}}));t.on("ReaderHeadersReady",(async t=>{await this._fullReader.headersReady;const{isStreamingSupported:i,isRangeSupported:s,contentLength:n}=this._fullReader;if(!i||!s){this._lastProgress&&e.onProgress?.(this._lastProgress);this._fullReader.onProgress=t=>{e.onProgress?.({loaded:t.loaded,total:t.total})}}return{isStreamingSupported:i,isRangeSupported:s,contentLength:n}}));t.on("GetRangeReader",((t,e)=>{assert(this._networkStream,"GetRangeReader - no `IPDFStream` instance available.");const i=this._networkStream.getRangeReader(t.begin,t.end);if(i){e.onPull=()=>{i.read().then((function({value:t,done:i}){if(i)e.close();else{assert(t instanceof ArrayBuffer,"GetRangeReader - expected an ArrayBuffer.");e.enqueue(new Uint8Array(t),1,[t])}})).catch((t=>{e.error(t)}))};e.onCancel=t=>{i.cancel(t);e.ready.catch((t=>{if(!this.destroyed)throw t}))}}else e.close()}));t.on("GetDoc",(({pdfInfo:t})=>{this._numPages=t.numPages;this._htmlForXfa=t.htmlForXfa;delete t.htmlForXfa;e._capability.resolve(new PDFDocumentProxy(t,this))}));t.on("DocException",(t=>{e._capability.reject(wrapReason(t))}));t.on("PasswordRequest",(t=>{this.#Rs=Promise.withResolvers();try{if(!e.onPassword)throw wrapReason(t);const updatePassword=t=>{t instanceof Error?this.#Rs.reject(t):this.#Rs.resolve({password:t})};e.onPassword(updatePassword,t.code)}catch(t){this.#Rs.reject(t)}return this.#Rs.promise}));t.on("DataLoaded",(t=>{e.onProgress?.({loaded:t.length,total:t.length});this.downloadInfoCapability.resolve(t)}));t.on("StartRenderPage",(t=>{if(this.destroyed)return;this.#Ps.get(t.pageIndex)._startRenderPage(t.transparency,t.cacheKey)}));t.on("commonobj",(([e,i,s])=>{if(this.destroyed)return null;if(this.commonObjs.has(e))return null;switch(i){case"Font":const{disableFontFace:n,fontExtraProperties:r,pdfBug:a}=this._params;if("error"in s){const t=s.error;warn(`Error during font loading: ${t}`);this.commonObjs.resolve(e,t);break}const o=a&&globalThis.FontInspector?.enabled?(t,e)=>globalThis.FontInspector.fontAdded(t,e):null,l=new FontFaceObject(s,{disableFontFace:n,fontExtraProperties:r,inspectFont:o});this.fontLoader.bind(l).catch((()=>t.sendWithPromise("FontFallback",{id:e}))).finally((()=>{!r&&l.data&&(l.data=null);this.commonObjs.resolve(e,l)}));break;case"CopyLocalImage":const{imageRef:h}=s;assert(h,"The imageRef must be defined.");for(const t of this.#Ps.values())for(const[,i]of t.objs)if(i?.ref===h){if(!i.dataLen)return null;this.commonObjs.resolve(e,structuredClone(i));return i.dataLen}break;case"FontPath":case"Image":case"Pattern":this.commonObjs.resolve(e,s);break;default:throw new Error(`Got unknown common object type ${i}`)}return null}));t.on("obj",(([t,e,i,s])=>{if(this.destroyed)return;const n=this.#Ps.get(e);if(!n.objs.has(t))if(0!==n._intentStates.size)switch(i){case"Image":n.objs.resolve(t,s);s?.dataLen>1e7&&(n._maybeCleanupAfterRender=!0);break;case"Pattern":n.objs.resolve(t,s);break;default:throw new Error(`Got unknown object type ${i}`)}else s?.bitmap?.close()}));t.on("DocProgress",(t=>{this.destroyed||e.onProgress?.({loaded:t.loaded,total:t.total})}));t.on("FetchBuiltInCMap",(async t=>{if(this.destroyed)throw new Error("Worker was destroyed.");if(!this.cMapReaderFactory)throw new Error("CMapReaderFactory not initialized, see the `useWorkerFetch` parameter.");return this.cMapReaderFactory.fetch(t)}));t.on("FetchStandardFontData",(async t=>{if(this.destroyed)throw new Error("Worker was destroyed.");if(!this.standardFontDataFactory)throw new Error("StandardFontDataFactory not initialized, see the `useWorkerFetch` parameter.");return this.standardFontDataFactory.fetch(t)}))}getData(){return this.messageHandler.sendWithPromise("GetData",null)}saveDocument(){this.annotationStorage.size<=0&&warn("saveDocument called while `annotationStorage` is empty, please use the getData-method instead.");const{map:t,transfer:e}=this.annotationStorage.serializable;return this.messageHandler.sendWithPromise("SaveDocument",{isPureXfa:!!this._htmlForXfa,numPages:this._numPages,annotationStorage:t,filename:this._fullReader?.filename??null},e).finally((()=>{this.annotationStorage.resetModified()}))}getPage(t){if(!Number.isInteger(t)||t<=0||t>this._numPages)return Promise.reject(new Error("Invalid page request."));const e=t-1,i=this.#Ds.get(e);if(i)return i;const s=this.messageHandler.sendWithPromise("GetPage",{pageIndex:e}).then((i=>{if(this.destroyed)throw new Error("Transport destroyed");i.refStr&&this.#ks.set(i.refStr,t);const s=new PDFPageProxy(e,i,this,this._params.pdfBug);this.#Ps.set(e,s);return s}));this.#Ds.set(e,s);return s}getPageIndex(t){return isRefProxy(t)?this.messageHandler.sendWithPromise("GetPageIndex",{num:t.num,gen:t.gen}):Promise.reject(new Error("Invalid pageIndex request."))}getAnnotations(t,e){return this.messageHandler.sendWithPromise("GetAnnotations",{pageIndex:t,intent:e})}getFieldObjects(){return this.#Is("GetFieldObjects")}hasJSActions(){return this.#Is("HasJSActions")}getCalculationOrderIds(){return this.messageHandler.sendWithPromise("GetCalculationOrderIds",null)}getDestinations(){return this.messageHandler.sendWithPromise("GetDestinations",null)}getDestination(t){return"string"!=typeof t?Promise.reject(new Error("Invalid destination request.")):this.messageHandler.sendWithPromise("GetDestination",{id:t})}getPageLabels(){return this.messageHandler.sendWithPromise("GetPageLabels",null)}getPageLayout(){return this.messageHandler.sendWithPromise("GetPageLayout",null)}getPageMode(){return this.messageHandler.sendWithPromise("GetPageMode",null)}getViewerPreferences(){return this.messageHandler.sendWithPromise("GetViewerPreferences",null)}getOpenAction(){return this.messageHandler.sendWithPromise("GetOpenAction",null)}getAttachments(){return this.messageHandler.sendWithPromise("GetAttachments",null)}getDocJSActions(){return this.#Is("GetDocJSActions")}getPageJSActions(t){return this.messageHandler.sendWithPromise("GetPageJSActions",{pageIndex:t})}getStructTree(t){return this.messageHandler.sendWithPromise("GetStructTree",{pageIndex:t})}getOutline(){return this.messageHandler.sendWithPromise("GetOutline",null)}getOptionalContentConfig(t){return this.#Is("GetOptionalContentConfig").then((e=>new OptionalContentConfig(e,t)))}getPermissions(){return this.messageHandler.sendWithPromise("GetPermissions",null)}getMetadata(){const t="GetMetadata",e=this.#Ms.get(t);if(e)return e;const i=this.messageHandler.sendWithPromise(t,null).then((t=>({info:t[0],metadata:t[1]?new Metadata(t[1]):null,contentDispositionFilename:this._fullReader?.filename??null,contentLength:this._fullReader?.contentLength??null})));this.#Ms.set(t,i);return i}getMarkInfo(){return this.messageHandler.sendWithPromise("GetMarkInfo",null)}async startCleanup(t=!1){if(!this.destroyed){await this.messageHandler.sendWithPromise("Cleanup",null);for(const t of this.#Ps.values()){if(!t.cleanup())throw new Error(`startCleanup: Page ${t.pageNumber} is currently rendering.`)}this.commonObjs.clear();t||this.fontLoader.clear();this.#Ms.clear();this.filterFactory.destroy(!0);TextLayer.cleanup()}}cachedPageNumber(t){if(!isRefProxy(t))return null;const e=0===t.gen?`${t.num}R`:`${t.num}R${t.gen}`;return this.#ks.get(e)??null}}const Nt=Symbol("INITIAL_DATA");class PDFObjects{#Fs=Object.create(null);#Ls(t){return this.#Fs[t]||={...Promise.withResolvers(),data:Nt}}get(t,e=null){if(e){const i=this.#Ls(t);i.promise.then((()=>e(i.data)));return null}const i=this.#Fs[t];if(!i||i.data===Nt)throw new Error(`Requesting object that isn't resolved yet ${t}.`);return i.data}has(t){const e=this.#Fs[t];return!!e&&e.data!==Nt}delete(t){const e=this.#Fs[t];if(!e||e.data===Nt)return!1;delete this.#Fs[t];return!0}resolve(t,e=null){const i=this.#Ls(t);i.data=e;i.resolve()}clear(){for(const t in this.#Fs){const{data:e}=this.#Fs[t];e?.bitmap?.close()}this.#Fs=Object.create(null)}*[Symbol.iterator](){for(const t in this.#Fs){const{data:e}=this.#Fs[t];e!==Nt&&(yield[t,e])}}}class RenderTask{#Os=null;constructor(t){this.#Os=t;this.onContinue=null}get promise(){return this.#Os.capability.promise}cancel(t=0){this.#Os.cancel(null,t)}get separateAnnots(){const{separateAnnots:t}=this.#Os.operatorList;if(!t)return!1;const{annotationCanvasMap:e}=this.#Os;return t.form||t.canvas&&e?.size>0}}class InternalRenderTask{#Ns=null;static#Bs=new WeakSet;constructor({callback:t,params:e,objs:i,commonObjs:s,annotationCanvasMap:n,operatorList:r,pageIndex:a,canvasFactory:o,filterFactory:l,useRequestAnimationFrame:h=!1,pdfBug:c=!1,pageColors:d=null}){this.callback=t;this.params=e;this.objs=i;this.commonObjs=s;this.annotationCanvasMap=n;this.operatorListIdx=null;this.operatorList=r;this._pageIndex=a;this.canvasFactory=o;this.filterFactory=l;this._pdfBug=c;this.pageColors=d;this.running=!1;this.graphicsReadyCallback=null;this.graphicsReady=!1;this._useRequestAnimationFrame=!0===h&&"undefined"!=typeof window;this.cancelled=!1;this.capability=Promise.withResolvers();this.task=new RenderTask(this);this._cancelBound=this.cancel.bind(this);this._continueBound=this._continue.bind(this);this._scheduleNextBound=this._scheduleNext.bind(this);this._nextBound=this._next.bind(this);this._canvas=e.canvasContext.canvas}get completed(){return this.capability.promise.catch((function(){}))}initializeGraphics({transparency:t=!1,optionalContentConfig:e}){if(this.cancelled)return;if(this._canvas){if(InternalRenderTask.#Bs.has(this._canvas))throw new Error("Cannot use the same canvas during multiple render() operations. Use different canvas or ensure previous operations were cancelled or completed.");InternalRenderTask.#Bs.add(this._canvas)}if(this._pdfBug&&globalThis.StepperManager?.enabled){this.stepper=globalThis.StepperManager.create(this._pageIndex);this.stepper.init(this.operatorList);this.stepper.nextBreakPoint=this.stepper.getNextBreakPoint()}const{canvasContext:i,viewport:s,transform:n,background:r}=this.params;this.gfx=new CanvasGraphics(i,this.commonObjs,this.objs,this.canvasFactory,this.filterFactory,{optionalContentConfig:e},this.annotationCanvasMap,this.pageColors);this.gfx.beginDrawing({transform:n,viewport:s,transparency:t,background:r});this.operatorListIdx=0;this.graphicsReady=!0;this.graphicsReadyCallback?.()}cancel(t=null,e=0){this.running=!1;this.cancelled=!0;this.gfx?.endDrawing();if(this.#Ns){window.cancelAnimationFrame(this.#Ns);this.#Ns=null}InternalRenderTask.#Bs.delete(this._canvas);this.callback(t||new RenderingCancelledException(`Rendering cancelled, page ${this._pageIndex+1}`,e))}operatorListChanged(){if(this.graphicsReady){this.stepper?.updateOperatorList(this.operatorList);this.running||this._continue()}else this.graphicsReadyCallback||=this._continueBound}_continue(){this.running=!0;this.cancelled||(this.task.onContinue?this.task.onContinue(this._scheduleNextBound):this._scheduleNext())}_scheduleNext(){this._useRequestAnimationFrame?this.#Ns=window.requestAnimationFrame((()=>{this.#Ns=null;this._nextBound().catch(this._cancelBound)})):Promise.resolve().then(this._nextBound).catch(this._cancelBound)}async _next(){if(!this.cancelled){this.operatorListIdx=this.gfx.executeOperatorList(this.operatorList,this.operatorListIdx,this._continueBound,this.stepper);if(this.operatorListIdx===this.operatorList.argsArray.length){this.running=!1;if(this.operatorList.lastChunk){this.gfx.endDrawing();InternalRenderTask.#Bs.delete(this._canvas);this.callback()}}}}}const Bt="4.10.38",Ht="f9bea397f";__webpack_require__(670);function makeColorComp(t){return Math.floor(255*Math.max(0,Math.min(1,t))).toString(16).padStart(2,"0")}function scaleAndClamp(t){return Math.max(0,Math.min(255,255*t))}class ColorConverters{static CMYK_G([t,e,i,s]){return["G",1-Math.min(1,.3*t+.59*i+.11*e+s)]}static G_CMYK([t]){return["CMYK",0,0,0,1-t]}static G_RGB([t]){return["RGB",t,t,t]}static G_rgb([t]){return[t=scaleAndClamp(t),t,t]}static G_HTML([t]){const e=makeColorComp(t);return`#${e}${e}${e}`}static RGB_G([t,e,i]){return["G",.3*t+.59*e+.11*i]}static RGB_rgb(t){return t.map(scaleAndClamp)}static RGB_HTML(t){return`#${t.map(makeColorComp).join("")}`}static T_HTML(){return"#00000000"}static T_rgb(){return[null]}static CMYK_RGB([t,e,i,s]){return["RGB",1-Math.min(1,t+s),1-Math.min(1,i+s),1-Math.min(1,e+s)]}static CMYK_rgb([t,e,i,s]){return[scaleAndClamp(1-Math.min(1,t+s)),scaleAndClamp(1-Math.min(1,i+s)),scaleAndClamp(1-Math.min(1,e+s))]}static CMYK_HTML(t){const e=this.CMYK_RGB(t).slice(1);return this.RGB_HTML(e)}static RGB_CMYK([t,e,i]){const s=1-t,n=1-e,r=1-i;return["CMYK",s,n,r,Math.min(s,n,r)]}}class BaseSVGFactory{create(t,e,i=!1){if(t<=0||e<=0)throw new Error("Invalid SVG dimensions");const s=this._createSVG("svg:svg");s.setAttribute("version","1.1");if(!i){s.setAttribute("width",`${t}px`);s.setAttribute("height",`${e}px`)}s.setAttribute("preserveAspectRatio","none");s.setAttribute("viewBox",`0 0 ${t} ${e}`);return s}createElement(t){if("string"!=typeof t)throw new Error("Invalid SVG element type");return this._createSVG(t)}_createSVG(t){unreachable("Abstract method `_createSVG` called.")}}class DOMSVGFactory extends BaseSVGFactory{_createSVG(t){return document.createElementNS(nt,t)}}class XfaLayer{static setupStorage(t,e,i,s,n){const r=s.getValue(e,{value:null});switch(i.name){case"textarea":null!==r.value&&(t.textContent=r.value);if("print"===n)break;t.addEventListener("input",(t=>{s.setValue(e,{value:t.target.value})}));break;case"input":if("radio"===i.attributes.type||"checkbox"===i.attributes.type){r.value===i.attributes.xfaOn?t.setAttribute("checked",!0):r.value===i.attributes.xfaOff&&t.removeAttribute("checked");if("print"===n)break;t.addEventListener("change",(t=>{s.setValue(e,{value:t.target.checked?t.target.getAttribute("xfaOn"):t.target.getAttribute("xfaOff")})}))}else{null!==r.value&&t.setAttribute("value",r.value);if("print"===n)break;t.addEventListener("input",(t=>{s.setValue(e,{value:t.target.value})}))}break;case"select":if(null!==r.value){t.setAttribute("value",r.value);for(const t of i.children)t.attributes.value===r.value?t.attributes.selected=!0:t.attributes.hasOwnProperty("selected")&&delete t.attributes.selected}t.addEventListener("input",(t=>{const i=t.target.options,n=-1===i.selectedIndex?"":i[i.selectedIndex].value;s.setValue(e,{value:n})}))}}static setAttributes({html:t,element:e,storage:i=null,intent:s,linkService:n}){const{attributes:r}=e,a=t instanceof HTMLAnchorElement;"radio"===r.type&&(r.name=`${r.name}-${s}`);for(const[e,i]of Object.entries(r))if(null!=i)switch(e){case"class":i.length&&t.setAttribute(e,i.join(" "));break;case"dataId":break;case"id":t.setAttribute("data-element-id",i);break;case"style":Object.assign(t.style,i);break;case"textContent":t.textContent=i;break;default:(!a||"href"!==e&&"newWindow"!==e)&&t.setAttribute(e,i)}a&&n.addLinkAttributes(t,r.href,r.newWindow);i&&r.dataId&&this.setupStorage(t,r.dataId,e,i)}static render(t){const e=t.annotationStorage,i=t.linkService,s=t.xfaHtml,n=t.intent||"display",r=document.createElement(s.name);s.attributes&&this.setAttributes({html:r,element:s,intent:n,linkService:i});const a="richText"!==n,o=t.div;o.append(r);if(t.viewport){const e=`matrix(${t.viewport.transform.join(",")})`;o.style.transform=e}a&&o.setAttribute("class","xfaLayer xfaFont");const l=[];if(0===s.children.length){if(s.value){const t=document.createTextNode(s.value);r.append(t);a&&XfaText.shouldBuildText(s.name)&&l.push(t)}return{textDivs:l}}const h=[[s,-1,r]];for(;h.length>0;){const[t,s,r]=h.at(-1);if(s+1===t.children.length){h.pop();continue}const o=t.children[++h.at(-1)[1]];if(null===o)continue;const{name:c}=o;if("#text"===c){const t=document.createTextNode(o.value);l.push(t);r.append(t);continue}const d=o?.attributes?.xmlns?document.createElementNS(o.attributes.xmlns,c):document.createElement(c);r.append(d);o.attributes&&this.setAttributes({html:d,element:o,storage:e,intent:n,linkService:i});if(o.children?.length>0)h.push([o,-1,d]);else if(o.value){const t=document.createTextNode(o.value);a&&XfaText.shouldBuildText(c)&&l.push(t);d.append(t)}}for(const t of o.querySelectorAll(".xfaNonInteractive input, .xfaNonInteractive textarea"))t.setAttribute("readOnly",!0);return{textDivs:l}}static update(t){const e=`matrix(${t.viewport.transform.join(",")})`;t.div.style.transform=e;t.div.hidden=!1}}const Ut=1e3,zt=new WeakSet;function getRectDims(t){return{width:t[2]-t[0],height:t[3]-t[1]}}class AnnotationElementFactory{static create(t){switch(t.data.annotationType){case C:return new LinkAnnotationElement(t);case S:return new TextAnnotationElement(t);case G:switch(t.data.fieldType){case"Tx":return new TextWidgetAnnotationElement(t);case"Btn":return t.data.radioButton?new RadioButtonWidgetAnnotationElement(t):t.data.checkBox?new CheckboxWidgetAnnotationElement(t):new PushButtonWidgetAnnotationElement(t);case"Ch":return new ChoiceWidgetAnnotationElement(t);case"Sig":return new SignatureWidgetAnnotationElement(t)}return new WidgetAnnotationElement(t);case z:return new PopupAnnotationElement(t);case T:return new FreeTextAnnotationElement(t);case M:return new LineAnnotationElement(t);case P:return new SquareAnnotationElement(t);case D:return new CircleAnnotationElement(t);case R:return new PolylineAnnotationElement(t);case H:return new CaretAnnotationElement(t);case U:return new InkAnnotationElement(t);case k:return new PolygonAnnotationElement(t);case I:return new HighlightAnnotationElement(t);case L:return new UnderlineAnnotationElement(t);case O:return new SquigglyAnnotationElement(t);case N:return new StrikeOutAnnotationElement(t);case B:return new StampAnnotationElement(t);case j:return new FileAttachmentAnnotationElement(t);default:return new AnnotationElement(t)}}}class AnnotationElement{#Hs=null;#Us=!1;#zs=null;constructor(t,{isRenderable:e=!1,ignoreBorder:i=!1,createQuadrilaterals:s=!1}={}){this.isRenderable=e;this.data=t.data;this.layer=t.layer;this.linkService=t.linkService;this.downloadManager=t.downloadManager;this.imageResourcesPath=t.imageResourcesPath;this.renderForms=t.renderForms;this.svgFactory=t.svgFactory;this.annotationStorage=t.annotationStorage;this.enableScripting=t.enableScripting;this.hasJSActions=t.hasJSActions;this._fieldObjects=t.fieldObjects;this.parent=t.parent;e&&(this.container=this._createContainer(i));s&&this._createQuadrilaterals()}static _hasPopupData({titleObj:t,contentsObj:e,richText:i}){return!!(t?.str||e?.str||i?.str)}get _isEditable(){return this.data.isEditable}get hasPopupData(){return AnnotationElement._hasPopupData(this.data)}updateEdited(t){if(!this.container)return;this.#Hs||={rect:this.data.rect.slice(0)};const{rect:e}=t;e&&this.#js(e);this.#zs?.popup.updateEdited(t)}resetEdited(){if(this.#Hs){this.#js(this.#Hs.rect);this.#zs?.popup.resetEdited();this.#Hs=null}}#js(t){const{container:{style:e},data:{rect:i,rotation:s},parent:{viewport:{rawDims:{pageWidth:n,pageHeight:r,pageX:a,pageY:o}}}}=this;i?.splice(0,4,...t);const{width:l,height:h}=getRectDims(t);e.left=100*(t[0]-a)/n+"%";e.top=100*(r-t[3]+o)/r+"%";if(0===s){e.width=100*l/n+"%";e.height=100*h/r+"%"}else this.setRotation(s)}_createContainer(t){const{data:e,parent:{page:i,viewport:s}}=this,n=document.createElement("section");n.setAttribute("data-annotation-id",e.id);this instanceof WidgetAnnotationElement||(n.tabIndex=Ut);const{style:r}=n;r.zIndex=this.parent.zIndex++;e.alternativeText&&(n.title=e.alternativeText);e.noRotate&&n.classList.add("norotate");if(!e.rect||this instanceof PopupAnnotationElement){const{rotation:t}=e;e.hasOwnCanvas||0===t||this.setRotation(t,n);return n}const{width:a,height:o}=getRectDims(e.rect);if(!t&&e.borderStyle.width>0){r.borderWidth=`${e.borderStyle.width}px`;const t=e.borderStyle.horizontalCornerRadius,i=e.borderStyle.verticalCornerRadius;if(t>0||i>0){const e=`calc(${t}px * var(--scale-factor)) / calc(${i}px * var(--scale-factor))`;r.borderRadius=e}else if(this instanceof RadioButtonWidgetAnnotationElement){const t=`calc(${a}px * var(--scale-factor)) / calc(${o}px * var(--scale-factor))`;r.borderRadius=t}switch(e.borderStyle.style){case V:r.borderStyle="solid";break;case $:r.borderStyle="dashed";break;case W:warn("Unimplemented border style: beveled");break;case q:warn("Unimplemented border style: inset");break;case X:r.borderBottomStyle="solid"}const s=e.borderColor||null;if(s){this.#Us=!0;r.borderColor=Util.makeHexColor(0|s[0],0|s[1],0|s[2])}else r.borderWidth=0}const l=Util.normalizeRect([e.rect[0],i.view[3]-e.rect[1]+i.view[1],e.rect[2],i.view[3]-e.rect[3]+i.view[1]]),{pageWidth:h,pageHeight:c,pageX:d,pageY:u}=s.rawDims;r.left=100*(l[0]-d)/h+"%";r.top=100*(l[1]-u)/c+"%";const{rotation:p}=e;if(e.hasOwnCanvas||0===p){r.width=100*a/h+"%";r.height=100*o/c+"%"}else this.setRotation(p,n);return n}setRotation(t,e=this.container){if(!this.data.rect)return;const{pageWidth:i,pageHeight:s}=this.parent.viewport.rawDims,{width:n,height:r}=getRectDims(this.data.rect);let a,o;if(t%180==0){a=100*n/i;o=100*r/s}else{a=100*r/i;o=100*n/s}e.style.width=`${a}%`;e.style.height=`${o}%`;e.setAttribute("data-main-rotation",(360-t)%360)}get _commonActions(){const setColor=(t,e,i)=>{const s=i.detail[t],n=s[0],r=s.slice(1);i.target.style[e]=ColorConverters[`${n}_HTML`](r);this.annotationStorage.setValue(this.data.id,{[e]:ColorConverters[`${n}_rgb`](r)})};return shadow(this,"_commonActions",{display:t=>{const{display:e}=t.detail,i=e%2==1;this.container.style.visibility=i?"hidden":"visible";this.annotationStorage.setValue(this.data.id,{noView:i,noPrint:1===e||2===e})},print:t=>{this.annotationStorage.setValue(this.data.id,{noPrint:!t.detail.print})},hidden:t=>{const{hidden:e}=t.detail;this.container.style.visibility=e?"hidden":"visible";this.annotationStorage.setValue(this.data.id,{noPrint:e,noView:e})},focus:t=>{setTimeout((()=>t.target.focus({preventScroll:!1})),0)},userName:t=>{t.target.title=t.detail.userName},readonly:t=>{t.target.disabled=t.detail.readonly},required:t=>{this._setRequired(t.target,t.detail.required)},bgColor:t=>{setColor("bgColor","backgroundColor",t)},fillColor:t=>{setColor("fillColor","backgroundColor",t)},fgColor:t=>{setColor("fgColor","color",t)},textColor:t=>{setColor("textColor","color",t)},borderColor:t=>{setColor("borderColor","borderColor",t)},strokeColor:t=>{setColor("strokeColor","borderColor",t)},rotation:t=>{const e=t.detail.rotation;this.setRotation(e);this.annotationStorage.setValue(this.data.id,{rotation:e})}})}_dispatchEventFromSandbox(t,e){const i=this._commonActions;for(const s of Object.keys(e.detail)){const n=t[s]||i[s];n?.(e)}}_setDefaultPropertiesFromJS(t){if(!this.enableScripting)return;const e=this.annotationStorage.getRawValue(this.data.id);if(!e)return;const i=this._commonActions;for(const[s,n]of Object.entries(e)){const r=i[s];if(r){r({detail:{[s]:n},target:t});delete e[s]}}}_createQuadrilaterals(){if(!this.container)return;const{quadPoints:t}=this.data;if(!t)return;const[e,i,s,n]=this.data.rect.map((t=>Math.fround(t)));if(8===t.length){const[r,a,o,l]=t.subarray(2,6);if(s===r&&n===a&&e===o&&i===l)return}const{style:r}=this.container;let a;if(this.#Us){const{borderColor:t,borderWidth:e}=r;r.borderWidth=0;a=["url('data:image/svg+xml;utf8,",'',``];this.container.classList.add("hasBorder")}const o=s-e,l=n-i,{svgFactory:h}=this,c=h.createElement("svg");c.classList.add("quadrilateralsContainer");c.setAttribute("width",0);c.setAttribute("height",0);const d=h.createElement("defs");c.append(d);const u=h.createElement("clipPath"),p=`clippath_${this.data.id}`;u.setAttribute("id",p);u.setAttribute("clipPathUnits","objectBoundingBox");d.append(u);for(let i=2,s=t.length;i`)}if(this.#Us){a.push("')");r.backgroundImage=a.join("")}this.container.append(c);this.container.style.clipPath=`url(#${p})`}_createPopup(){const{data:t}=this,e=this.#zs=new PopupAnnotationElement({data:{color:t.color,titleObj:t.titleObj,modificationDate:t.modificationDate,contentsObj:t.contentsObj,richText:t.richText,parentRect:t.rect,borderStyle:0,id:`popup_${t.id}`,rotation:t.rotation},parent:this.parent,elements:[this]});this.parent.div.append(e.render())}render(){unreachable("Abstract method `AnnotationElement.render` called")}_getElementsByName(t,e=null){const i=[];if(this._fieldObjects){const s=this._fieldObjects[t];if(s)for(const{page:t,id:n,exportValues:r}of s){if(-1===t)continue;if(n===e)continue;const s="string"==typeof r?r:null,a=document.querySelector(`[data-element-id="${n}"]`);!a||zt.has(a)?i.push({id:n,exportValue:s,domElement:a}):warn(`_getElementsByName - element not allowed: ${n}`)}return i}for(const s of document.getElementsByName(t)){const{exportValue:t}=s,n=s.getAttribute("data-element-id");n!==e&&(zt.has(s)&&i.push({id:n,exportValue:t,domElement:s}))}return i}show(){this.container&&(this.container.hidden=!1);this.popup?.maybeShow()}hide(){this.container&&(this.container.hidden=!0);this.popup?.forceHide()}getElementsToTriggerPopup(){return this.container}addHighlightArea(){const t=this.getElementsToTriggerPopup();if(Array.isArray(t))for(const e of t)e.classList.add("highlightArea");else t.classList.add("highlightArea")}_editOnDoubleClick(){if(!this._isEditable)return;const{annotationEditorType:t,data:{id:e}}=this;this.container.addEventListener("dblclick",(()=>{this.linkService.eventBus?.dispatch("switchannotationeditormode",{source:this,mode:t,editId:e})}))}}class LinkAnnotationElement extends AnnotationElement{constructor(t,e=null){super(t,{isRenderable:!0,ignoreBorder:!!e?.ignoreBorder,createQuadrilaterals:!0});this.isTooltipOnly=t.data.isTooltipOnly}render(){const{data:t,linkService:e}=this,i=document.createElement("a");i.setAttribute("data-element-id",t.id);let s=!1;if(t.url){e.addLinkAttributes(i,t.url,t.newWindow);s=!0}else if(t.action){this._bindNamedAction(i,t.action);s=!0}else if(t.attachment){this.#Gs(i,t.attachment,t.attachmentDest);s=!0}else if(t.setOCGState){this.#Vs(i,t.setOCGState);s=!0}else if(t.dest){this._bindLink(i,t.dest);s=!0}else{if(t.actions&&(t.actions.Action||t.actions["Mouse Up"]||t.actions["Mouse Down"])&&this.enableScripting&&this.hasJSActions){this._bindJSAction(i,t);s=!0}if(t.resetForm){this._bindResetFormAction(i,t.resetForm);s=!0}else if(this.isTooltipOnly&&!s){this._bindLink(i,"");s=!0}}this.container.classList.add("linkAnnotation");s&&this.container.append(i);return this.container}#$s(){this.container.setAttribute("data-internal-link","")}_bindLink(t,e){t.href=this.linkService.getDestinationHash(e);t.onclick=()=>{e&&this.linkService.goToDestination(e);return!1};(e||""===e)&&this.#$s()}_bindNamedAction(t,e){t.href=this.linkService.getAnchorUrl("");t.onclick=()=>{this.linkService.executeNamedAction(e);return!1};this.#$s()}#Gs(t,e,i=null){t.href=this.linkService.getAnchorUrl("");e.description&&(t.title=e.description);t.onclick=()=>{this.downloadManager?.openOrDownloadData(e.content,e.filename,i);return!1};this.#$s()}#Vs(t,e){t.href=this.linkService.getAnchorUrl("");t.onclick=()=>{this.linkService.executeSetOCGState(e);return!1};this.#$s()}_bindJSAction(t,e){t.href=this.linkService.getAnchorUrl("");const i=new Map([["Action","onclick"],["Mouse Up","onmouseup"],["Mouse Down","onmousedown"]]);for(const s of Object.keys(e.actions)){const n=i.get(s);n&&(t[n]=()=>{this.linkService.eventBus?.dispatch("dispatcheventinsandbox",{source:this,detail:{id:e.id,name:s}});return!1})}t.onclick||(t.onclick=()=>!1);this.#$s()}_bindResetFormAction(t,e){const i=t.onclick;i||(t.href=this.linkService.getAnchorUrl(""));this.#$s();if(this._fieldObjects)t.onclick=()=>{i?.();const{fields:t,refs:s,include:n}=e,r=[];if(0!==t.length||0!==s.length){const e=new Set(s);for(const i of t){const t=this._fieldObjects[i]||[];for(const{id:i}of t)e.add(i)}for(const t of Object.values(this._fieldObjects))for(const i of t)e.has(i.id)===n&&r.push(i)}else for(const t of Object.values(this._fieldObjects))r.push(...t);const a=this.annotationStorage,o=[];for(const t of r){const{id:e}=t;o.push(e);switch(t.type){case"text":{const i=t.defaultValue||"";a.setValue(e,{value:i});break}case"checkbox":case"radiobutton":{const i=t.defaultValue===t.exportValues;a.setValue(e,{value:i});break}case"combobox":case"listbox":{const i=t.defaultValue||"";a.setValue(e,{value:i});break}default:continue}const i=document.querySelector(`[data-element-id="${e}"]`);i&&(zt.has(i)?i.dispatchEvent(new Event("resetform")):warn(`_bindResetFormAction - element not allowed: ${e}`))}this.enableScripting&&this.linkService.eventBus?.dispatch("dispatcheventinsandbox",{source:this,detail:{id:"app",ids:o,name:"ResetForm"}});return!1};else{warn('_bindResetFormAction - "resetForm" action not supported, ensure that the `fieldObjects` parameter is provided.');i||(t.onclick=()=>!1)}}}class TextAnnotationElement extends AnnotationElement{constructor(t){super(t,{isRenderable:!0})}render(){this.container.classList.add("textAnnotation");const t=document.createElement("img");t.src=this.imageResourcesPath+"annotation-"+this.data.name.toLowerCase()+".svg";t.setAttribute("data-l10n-id","pdfjs-text-annotation-type");t.setAttribute("data-l10n-args",JSON.stringify({type:this.data.name}));!this.data.popupRef&&this.hasPopupData&&this._createPopup();this.container.append(t);return this.container}}class WidgetAnnotationElement extends AnnotationElement{render(){return this.container}showElementAndHideCanvas(t){if(this.data.hasOwnCanvas){"CANVAS"===t.previousSibling?.nodeName&&(t.previousSibling.hidden=!0);t.hidden=!1}}_getKeyModifier(t){return util_FeatureTest.platform.isMac?t.metaKey:t.ctrlKey}_setEventListener(t,e,i,s,n){i.includes("mouse")?t.addEventListener(i,(t=>{this.linkService.eventBus?.dispatch("dispatcheventinsandbox",{source:this,detail:{id:this.data.id,name:s,value:n(t),shift:t.shiftKey,modifier:this._getKeyModifier(t)}})})):t.addEventListener(i,(t=>{if("blur"===i){if(!e.focused||!t.relatedTarget)return;e.focused=!1}else if("focus"===i){if(e.focused)return;e.focused=!0}n&&this.linkService.eventBus?.dispatch("dispatcheventinsandbox",{source:this,detail:{id:this.data.id,name:s,value:n(t)}})}))}_setEventListeners(t,e,i,s){for(const[n,r]of i)if("Action"===r||this.data.actions?.[r]){"Focus"!==r&&"Blur"!==r||(e||={focused:!1});this._setEventListener(t,e,n,r,s);"Focus"!==r||this.data.actions?.Blur?"Blur"!==r||this.data.actions?.Focus||this._setEventListener(t,e,"focus","Focus",null):this._setEventListener(t,e,"blur","Blur",null)}}_setBackgroundColor(t){const e=this.data.backgroundColor||null;t.style.backgroundColor=null===e?"transparent":Util.makeHexColor(e[0],e[1],e[2])}_setTextStyle(t){const e=["left","center","right"],{fontColor:i}=this.data.defaultAppearanceData,s=this.data.defaultAppearanceData.fontSize||9,n=t.style;let a;const roundToOneDecimal=t=>Math.round(10*t)/10;if(this.data.multiLine){const t=Math.abs(this.data.rect[3]-this.data.rect[1]-2),e=t/(Math.round(t/(r*s))||1);a=Math.min(s,roundToOneDecimal(e/r))}else{const t=Math.abs(this.data.rect[3]-this.data.rect[1]-2);a=Math.min(s,roundToOneDecimal(t/r))}n.fontSize=`calc(${a}px * var(--scale-factor))`;n.color=Util.makeHexColor(i[0],i[1],i[2]);null!==this.data.textAlignment&&(n.textAlign=e[this.data.textAlignment])}_setRequired(t,e){e?t.setAttribute("required",!0):t.removeAttribute("required");t.setAttribute("aria-required",e)}}class TextWidgetAnnotationElement extends WidgetAnnotationElement{constructor(t){super(t,{isRenderable:t.renderForms||t.data.hasOwnCanvas||!t.data.hasAppearance&&!!t.data.fieldValue})}setPropertyOnSiblings(t,e,i,s){const n=this.annotationStorage;for(const r of this._getElementsByName(t.name,t.id)){r.domElement&&(r.domElement[e]=i);n.setValue(r.id,{[s]:i})}}render(){const t=this.annotationStorage,e=this.data.id;this.container.classList.add("textWidgetAnnotation");let i=null;if(this.renderForms){const s=t.getValue(e,{value:this.data.fieldValue});let n=s.value||"";const r=t.getValue(e,{charLimit:this.data.maxLen}).charLimit;r&&n.length>r&&(n=n.slice(0,r));let a=s.formattedValue||this.data.textContent?.join("\n")||null;a&&this.data.comb&&(a=a.replaceAll(/\s+/g,""));const o={userValue:n,formattedValue:a,lastCommittedValue:null,commitKey:1,focused:!1};if(this.data.multiLine){i=document.createElement("textarea");i.textContent=a??n;this.data.doNotScroll&&(i.style.overflowY="hidden")}else{i=document.createElement("input");i.type="text";i.setAttribute("value",a??n);this.data.doNotScroll&&(i.style.overflowX="hidden")}this.data.hasOwnCanvas&&(i.hidden=!0);zt.add(i);i.setAttribute("data-element-id",e);i.disabled=this.data.readOnly;i.name=this.data.fieldName;i.tabIndex=Ut;this._setRequired(i,this.data.required);r&&(i.maxLength=r);i.addEventListener("input",(s=>{t.setValue(e,{value:s.target.value});this.setPropertyOnSiblings(i,"value",s.target.value,"value");o.formattedValue=null}));i.addEventListener("resetform",(t=>{const e=this.data.defaultFieldValue??"";i.value=o.userValue=e;o.formattedValue=null}));let blurListener=t=>{const{formattedValue:e}=o;null!=e&&(t.target.value=e);t.target.scrollLeft=0};if(this.enableScripting&&this.hasJSActions){i.addEventListener("focus",(t=>{if(o.focused)return;const{target:e}=t;o.userValue&&(e.value=o.userValue);o.lastCommittedValue=e.value;o.commitKey=1;this.data.actions?.Focus||(o.focused=!0)}));i.addEventListener("updatefromsandbox",(i=>{this.showElementAndHideCanvas(i.target);const s={value(i){o.userValue=i.detail.value??"";t.setValue(e,{value:o.userValue.toString()});i.target.value=o.userValue},formattedValue(i){const{formattedValue:s}=i.detail;o.formattedValue=s;null!=s&&i.target!==document.activeElement&&(i.target.value=s);t.setValue(e,{formattedValue:s})},selRange(t){t.target.setSelectionRange(...t.detail.selRange)},charLimit:i=>{const{charLimit:s}=i.detail,{target:n}=i;if(0===s){n.removeAttribute("maxLength");return}n.setAttribute("maxLength",s);let r=o.userValue;if(r&&!(r.length<=s)){r=r.slice(0,s);n.value=o.userValue=r;t.setValue(e,{value:r});this.linkService.eventBus?.dispatch("dispatcheventinsandbox",{source:this,detail:{id:e,name:"Keystroke",value:r,willCommit:!0,commitKey:1,selStart:n.selectionStart,selEnd:n.selectionEnd}})}}};this._dispatchEventFromSandbox(s,i)}));i.addEventListener("keydown",(t=>{o.commitKey=1;let i=-1;"Escape"===t.key?i=0:"Enter"!==t.key||this.data.multiLine?"Tab"===t.key&&(o.commitKey=3):i=2;if(-1===i)return;const{value:s}=t.target;if(o.lastCommittedValue!==s){o.lastCommittedValue=s;o.userValue=s;this.linkService.eventBus?.dispatch("dispatcheventinsandbox",{source:this,detail:{id:e,name:"Keystroke",value:s,willCommit:!0,commitKey:i,selStart:t.target.selectionStart,selEnd:t.target.selectionEnd}})}}));const s=blurListener;blurListener=null;i.addEventListener("blur",(t=>{if(!o.focused||!t.relatedTarget)return;this.data.actions?.Blur||(o.focused=!1);const{value:i}=t.target;o.userValue=i;o.lastCommittedValue!==i&&this.linkService.eventBus?.dispatch("dispatcheventinsandbox",{source:this,detail:{id:e,name:"Keystroke",value:i,willCommit:!0,commitKey:o.commitKey,selStart:t.target.selectionStart,selEnd:t.target.selectionEnd}});s(t)}));this.data.actions?.Keystroke&&i.addEventListener("beforeinput",(t=>{o.lastCommittedValue=null;const{data:i,target:s}=t,{value:n,selectionStart:r,selectionEnd:a}=s;let l=r,h=a;switch(t.inputType){case"deleteWordBackward":{const t=n.substring(0,r).match(/\w*[^\w]*$/);t&&(l-=t[0].length);break}case"deleteWordForward":{const t=n.substring(r).match(/^[^\w]*\w*/);t&&(h+=t[0].length);break}case"deleteContentBackward":r===a&&(l-=1);break;case"deleteContentForward":r===a&&(h+=1)}t.preventDefault();this.linkService.eventBus?.dispatch("dispatcheventinsandbox",{source:this,detail:{id:e,name:"Keystroke",value:n,change:i||"",willCommit:!1,selStart:l,selEnd:h}})}));this._setEventListeners(i,o,[["focus","Focus"],["blur","Blur"],["mousedown","Mouse Down"],["mouseenter","Mouse Enter"],["mouseleave","Mouse Exit"],["mouseup","Mouse Up"]],(t=>t.target.value))}blurListener&&i.addEventListener("blur",blurListener);if(this.data.comb){const t=(this.data.rect[2]-this.data.rect[0])/r;i.classList.add("comb");i.style.letterSpacing=`calc(${t}px * var(--scale-factor) - 1ch)`}}else{i=document.createElement("div");i.textContent=this.data.fieldValue;i.style.verticalAlign="middle";i.style.display="table-cell";this.data.hasOwnCanvas&&(i.hidden=!0)}this._setTextStyle(i);this._setBackgroundColor(i);this._setDefaultPropertiesFromJS(i);this.container.append(i);return this.container}}class SignatureWidgetAnnotationElement extends WidgetAnnotationElement{constructor(t){super(t,{isRenderable:!!t.data.hasOwnCanvas})}}class CheckboxWidgetAnnotationElement extends WidgetAnnotationElement{constructor(t){super(t,{isRenderable:t.renderForms})}render(){const t=this.annotationStorage,e=this.data,i=e.id;let s=t.getValue(i,{value:e.exportValue===e.fieldValue}).value;if("string"==typeof s){s="Off"!==s;t.setValue(i,{value:s})}this.container.classList.add("buttonWidgetAnnotation","checkBox");const n=document.createElement("input");zt.add(n);n.setAttribute("data-element-id",i);n.disabled=e.readOnly;this._setRequired(n,this.data.required);n.type="checkbox";n.name=e.fieldName;s&&n.setAttribute("checked",!0);n.setAttribute("exportValue",e.exportValue);n.tabIndex=Ut;n.addEventListener("change",(s=>{const{name:n,checked:r}=s.target;for(const s of this._getElementsByName(n,i)){const i=r&&s.exportValue===e.exportValue;s.domElement&&(s.domElement.checked=i);t.setValue(s.id,{value:i})}t.setValue(i,{value:r})}));n.addEventListener("resetform",(t=>{const i=e.defaultFieldValue||"Off";t.target.checked=i===e.exportValue}));if(this.enableScripting&&this.hasJSActions){n.addEventListener("updatefromsandbox",(e=>{const s={value(e){e.target.checked="Off"!==e.detail.value;t.setValue(i,{value:e.target.checked})}};this._dispatchEventFromSandbox(s,e)}));this._setEventListeners(n,null,[["change","Validate"],["change","Action"],["focus","Focus"],["blur","Blur"],["mousedown","Mouse Down"],["mouseenter","Mouse Enter"],["mouseleave","Mouse Exit"],["mouseup","Mouse Up"]],(t=>t.target.checked))}this._setBackgroundColor(n);this._setDefaultPropertiesFromJS(n);this.container.append(n);return this.container}}class RadioButtonWidgetAnnotationElement extends WidgetAnnotationElement{constructor(t){super(t,{isRenderable:t.renderForms})}render(){this.container.classList.add("buttonWidgetAnnotation","radioButton");const t=this.annotationStorage,e=this.data,i=e.id;let s=t.getValue(i,{value:e.fieldValue===e.buttonValue}).value;if("string"==typeof s){s=s!==e.buttonValue;t.setValue(i,{value:s})}if(s)for(const s of this._getElementsByName(e.fieldName,i))t.setValue(s.id,{value:!1});const n=document.createElement("input");zt.add(n);n.setAttribute("data-element-id",i);n.disabled=e.readOnly;this._setRequired(n,this.data.required);n.type="radio";n.name=e.fieldName;s&&n.setAttribute("checked",!0);n.tabIndex=Ut;n.addEventListener("change",(e=>{const{name:s,checked:n}=e.target;for(const e of this._getElementsByName(s,i))t.setValue(e.id,{value:!1});t.setValue(i,{value:n})}));n.addEventListener("resetform",(t=>{const i=e.defaultFieldValue;t.target.checked=null!=i&&i===e.buttonValue}));if(this.enableScripting&&this.hasJSActions){const s=e.buttonValue;n.addEventListener("updatefromsandbox",(e=>{const n={value:e=>{const n=s===e.detail.value;for(const s of this._getElementsByName(e.target.name)){const e=n&&s.id===i;s.domElement&&(s.domElement.checked=e);t.setValue(s.id,{value:e})}}};this._dispatchEventFromSandbox(n,e)}));this._setEventListeners(n,null,[["change","Validate"],["change","Action"],["focus","Focus"],["blur","Blur"],["mousedown","Mouse Down"],["mouseenter","Mouse Enter"],["mouseleave","Mouse Exit"],["mouseup","Mouse Up"]],(t=>t.target.checked))}this._setBackgroundColor(n);this._setDefaultPropertiesFromJS(n);this.container.append(n);return this.container}}class PushButtonWidgetAnnotationElement extends LinkAnnotationElement{constructor(t){super(t,{ignoreBorder:t.data.hasAppearance})}render(){const t=super.render();t.classList.add("buttonWidgetAnnotation","pushButton");const e=t.lastChild;if(this.enableScripting&&this.hasJSActions&&e){this._setDefaultPropertiesFromJS(e);e.addEventListener("updatefromsandbox",(t=>{this._dispatchEventFromSandbox({},t)}))}return t}}class ChoiceWidgetAnnotationElement extends WidgetAnnotationElement{constructor(t){super(t,{isRenderable:t.renderForms})}render(){this.container.classList.add("choiceWidgetAnnotation");const t=this.annotationStorage,e=this.data.id,i=t.getValue(e,{value:this.data.fieldValue}),s=document.createElement("select");zt.add(s);s.setAttribute("data-element-id",e);s.disabled=this.data.readOnly;this._setRequired(s,this.data.required);s.name=this.data.fieldName;s.tabIndex=Ut;let n=this.data.combo&&this.data.options.length>0;if(!this.data.combo){s.size=this.data.options.length;this.data.multiSelect&&(s.multiple=!0)}s.addEventListener("resetform",(t=>{const e=this.data.defaultFieldValue;for(const t of s.options)t.selected=t.value===e}));for(const t of this.data.options){const e=document.createElement("option");e.textContent=t.displayValue;e.value=t.exportValue;if(i.value.includes(t.exportValue)){e.setAttribute("selected",!0);n=!1}s.append(e)}let r=null;if(n){const t=document.createElement("option");t.value=" ";t.setAttribute("hidden",!0);t.setAttribute("selected",!0);s.prepend(t);r=()=>{t.remove();s.removeEventListener("input",r);r=null};s.addEventListener("input",r)}const getValue=t=>{const e=t?"value":"textContent",{options:i,multiple:n}=s;return n?Array.prototype.filter.call(i,(t=>t.selected)).map((t=>t[e])):-1===i.selectedIndex?null:i[i.selectedIndex][e]};let a=getValue(!1);const getItems=t=>{const e=t.target.options;return Array.prototype.map.call(e,(t=>({displayValue:t.textContent,exportValue:t.value})))};if(this.enableScripting&&this.hasJSActions){s.addEventListener("updatefromsandbox",(i=>{const n={value(i){r?.();const n=i.detail.value,o=new Set(Array.isArray(n)?n:[n]);for(const t of s.options)t.selected=o.has(t.value);t.setValue(e,{value:getValue(!0)});a=getValue(!1)},multipleSelection(t){s.multiple=!0},remove(i){const n=s.options,r=i.detail.remove;n[r].selected=!1;s.remove(r);if(n.length>0){-1===Array.prototype.findIndex.call(n,(t=>t.selected))&&(n[0].selected=!0)}t.setValue(e,{value:getValue(!0),items:getItems(i)});a=getValue(!1)},clear(i){for(;0!==s.length;)s.remove(0);t.setValue(e,{value:null,items:[]});a=getValue(!1)},insert(i){const{index:n,displayValue:r,exportValue:o}=i.detail.insert,l=s.children[n],h=document.createElement("option");h.textContent=r;h.value=o;l?l.before(h):s.append(h);t.setValue(e,{value:getValue(!0),items:getItems(i)});a=getValue(!1)},items(i){const{items:n}=i.detail;for(;0!==s.length;)s.remove(0);for(const t of n){const{displayValue:e,exportValue:i}=t,n=document.createElement("option");n.textContent=e;n.value=i;s.append(n)}s.options.length>0&&(s.options[0].selected=!0);t.setValue(e,{value:getValue(!0),items:getItems(i)});a=getValue(!1)},indices(i){const s=new Set(i.detail.indices);for(const t of i.target.options)t.selected=s.has(t.index);t.setValue(e,{value:getValue(!0)});a=getValue(!1)},editable(t){t.target.disabled=!t.detail.editable}};this._dispatchEventFromSandbox(n,i)}));s.addEventListener("input",(i=>{const s=getValue(!0),n=getValue(!1);t.setValue(e,{value:s});i.preventDefault();this.linkService.eventBus?.dispatch("dispatcheventinsandbox",{source:this,detail:{id:e,name:"Keystroke",value:a,change:n,changeEx:s,willCommit:!1,commitKey:1,keyDown:!1}})}));this._setEventListeners(s,null,[["focus","Focus"],["blur","Blur"],["mousedown","Mouse Down"],["mouseenter","Mouse Enter"],["mouseleave","Mouse Exit"],["mouseup","Mouse Up"],["input","Action"],["input","Validate"]],(t=>t.target.value))}else s.addEventListener("input",(function(i){t.setValue(e,{value:getValue(!0)})}));this.data.combo&&this._setTextStyle(s);this._setBackgroundColor(s);this._setDefaultPropertiesFromJS(s);this.container.append(s);return this.container}}class PopupAnnotationElement extends AnnotationElement{constructor(t){const{data:e,elements:i}=t;super(t,{isRenderable:AnnotationElement._hasPopupData(e)});this.elements=i;this.popup=null}render(){this.container.classList.add("popupAnnotation");const t=this.popup=new PopupElement({container:this.container,color:this.data.color,titleObj:this.data.titleObj,modificationDate:this.data.modificationDate,contentsObj:this.data.contentsObj,richText:this.data.richText,rect:this.data.rect,parentRect:this.data.parentRect||null,parent:this.parent,elements:this.elements,open:this.data.open}),e=[];for(const i of this.elements){i.popup=t;i.container.ariaHasPopup="dialog";e.push(i.data.id);i.addHighlightArea()}this.container.setAttribute("aria-controls",e.map((t=>`${st}${t}`)).join(","));return this.container}}class PopupElement{#Ws=this.#qs.bind(this);#Xs=this.#Ys.bind(this);#Ks=this.#Qs.bind(this);#Js=this.#Zs.bind(this);#tn=null;#pt=null;#en=null;#in=null;#sn=null;#nn=null;#rn=null;#an=!1;#on=null;#C=null;#ln=null;#hn=null;#cn=null;#Hs=null;#dn=!1;constructor({container:t,color:e,elements:i,titleObj:s,modificationDate:n,contentsObj:r,richText:a,parent:o,rect:l,parentRect:h,open:c}){this.#pt=t;this.#cn=s;this.#en=r;this.#hn=a;this.#nn=o;this.#tn=e;this.#ln=l;this.#rn=h;this.#sn=i;this.#in=PDFDateString.toDateObject(n);this.trigger=i.flatMap((t=>t.getElementsToTriggerPopup()));for(const t of this.trigger){t.addEventListener("click",this.#Js);t.addEventListener("mouseenter",this.#Ks);t.addEventListener("mouseleave",this.#Xs);t.classList.add("popupTriggerArea")}for(const t of i)t.container?.addEventListener("keydown",this.#Ws);this.#pt.hidden=!0;c&&this.#Zs()}render(){if(this.#on)return;const t=this.#on=document.createElement("div");t.className="popup";if(this.#tn){const e=t.style.outlineColor=Util.makeHexColor(...this.#tn);if(CSS.supports("background-color","color-mix(in srgb, red 30%, white)"))t.style.backgroundColor=`color-mix(in srgb, ${e} 30%, white)`;else{const e=.7;t.style.backgroundColor=Util.makeHexColor(...this.#tn.map((t=>Math.floor(e*(255-t)+t))))}}const e=document.createElement("span");e.className="header";const i=document.createElement("h1");e.append(i);({dir:i.dir,str:i.textContent}=this.#cn);t.append(e);if(this.#in){const t=document.createElement("span");t.classList.add("popupDate");t.setAttribute("data-l10n-id","pdfjs-annotation-date-time-string");t.setAttribute("data-l10n-args",JSON.stringify({dateObj:this.#in.valueOf()}));e.append(t)}const s=this.#un;if(s){XfaLayer.render({xfaHtml:s,intent:"richText",div:t});t.lastChild.classList.add("richText","popupContent")}else{const e=this._formatContents(this.#en);t.append(e)}this.#pt.append(t)}get#un(){const t=this.#hn,e=this.#en;return!t?.str||e?.str&&e.str!==t.str?null:this.#hn.html||null}get#pn(){return this.#un?.attributes?.style?.fontSize||0}get#gn(){return this.#un?.attributes?.style?.color||null}#fn(t){const e=[],i={str:t,html:{name:"div",attributes:{dir:"auto"},children:[{name:"p",children:e}]}},s={style:{color:this.#gn,fontSize:this.#pn?`calc(${this.#pn}px * var(--scale-factor))`:""}};for(const i of t.split("\n"))e.push({name:"span",value:i,attributes:s});return i}_formatContents({str:t,dir:e}){const i=document.createElement("p");i.classList.add("popupContent");i.dir=e;const s=t.split(/(?:\r\n?|\n)/);for(let t=0,e=s.length;t=0&&n.setAttribute("stroke-width",e||1);if(i)for(let t=0,e=this.#xn.length;t{"Enter"===t.key&&(s?t.metaKey:t.ctrlKey)&&this.#Sn()}));!e.popupRef&&this.hasPopupData?this._createPopup():i.classList.add("popupTriggerArea");t.append(i);return t}getElementsToTriggerPopup(){return this.#En}addHighlightArea(){this.container.classList.add("highlightArea")}#Sn(){this.downloadManager?.openOrDownloadData(this.content,this.filename)}}class AnnotationLayer{#Cn=null;#Tn=null;#Mn=new Map;#Pn=null;constructor({div:t,accessibilityManager:e,annotationCanvasMap:i,annotationEditorUIManager:s,page:n,viewport:r,structTreeLayer:a}){this.div=t;this.#Cn=e;this.#Tn=i;this.#Pn=a||null;this.page=n;this.viewport=r;this.zIndex=0;this._annotationEditorUIManager=s}hasEditableAnnotations(){return this.#Mn.size>0}async#Dn(t,e){const i=t.firstChild||t,s=i.id=`${st}${e}`,n=await(this.#Pn?.getAriaAttributes(s));if(n)for(const[t,e]of n)i.setAttribute(t,e);this.div.append(t);this.#Cn?.moveElementInDOM(this.div,t,i,!1)}async render(t){const{annotations:e}=t,i=this.div;setLayerDimensions(i,this.viewport);const s=new Map,n={data:null,layer:i,linkService:t.linkService,downloadManager:t.downloadManager,imageResourcesPath:t.imageResourcesPath||"",renderForms:!1!==t.renderForms,svgFactory:new DOMSVGFactory,annotationStorage:t.annotationStorage||new AnnotationStorage,enableScripting:!0===t.enableScripting,hasJSActions:t.hasJSActions,fieldObjects:t.fieldObjects,parent:this,elements:null};for(const t of e){if(t.noHTML)continue;const e=t.annotationType===z;if(e){const e=s.get(t.id);if(!e)continue;n.elements=e}else{const{width:e,height:i}=getRectDims(t.rect);if(e<=0||i<=0)continue}n.data=t;const i=AnnotationElementFactory.create(n);if(!i.isRenderable)continue;if(!e&&t.popupRef){const e=s.get(t.popupRef);e?e.push(i):s.set(t.popupRef,[i])}const r=i.render();t.hidden&&(r.style.visibility="hidden");await this.#Dn(r,t.id);if(i._isEditable){this.#Mn.set(i.data.id,i);this._annotationEditorUIManager?.renderAnnotationElement(i)}}this.#kn()}update({viewport:t}){const e=this.div;this.viewport=t;setLayerDimensions(e,{rotation:t.rotation});this.#kn();e.hidden=!1}#kn(){if(!this.#Tn)return;const t=this.div;for(const[e,i]of this.#Tn){const s=t.querySelector(`[data-annotation-id="${e}"]`);if(!s)continue;i.className="annotationContent";const{firstChild:n}=s;n?"CANVAS"===n.nodeName?n.replaceWith(i):n.classList.contains("annotationContent")?n.after(i):n.before(i):s.append(i)}this.#Tn.clear()}getEditableAnnotations(){return Array.from(this.#Mn.values())}getEditableAnnotation(t){return this.#Mn.get(t)}}const jt=/\r\n?|\n/g;class FreeTextEditor extends AnnotationEditor{#tn;#Rn="";#In=`${this.id}-editor`;#Fn=null;#pn;static _freeTextDefaultContent="";static _internalPadding=0;static _defaultColor=null;static _defaultFontSize=10;static get _keyboardManager(){const t=FreeTextEditor.prototype,arrowChecker=t=>t.isEmpty(),e=AnnotationEditorUIManager.TRANSLATE_SMALL,i=AnnotationEditorUIManager.TRANSLATE_BIG;return shadow(this,"_keyboardManager",new KeyboardManager([[["ctrl+s","mac+meta+s","ctrl+p","mac+meta+p"],t.commitOrRemove,{bubbles:!0}],[["ctrl+Enter","mac+meta+Enter","Escape","mac+Escape"],t.commitOrRemove],[["ArrowLeft","mac+ArrowLeft"],t._translateEmpty,{args:[-e,0],checker:arrowChecker}],[["ctrl+ArrowLeft","mac+shift+ArrowLeft"],t._translateEmpty,{args:[-i,0],checker:arrowChecker}],[["ArrowRight","mac+ArrowRight"],t._translateEmpty,{args:[e,0],checker:arrowChecker}],[["ctrl+ArrowRight","mac+shift+ArrowRight"],t._translateEmpty,{args:[i,0],checker:arrowChecker}],[["ArrowUp","mac+ArrowUp"],t._translateEmpty,{args:[0,-e],checker:arrowChecker}],[["ctrl+ArrowUp","mac+shift+ArrowUp"],t._translateEmpty,{args:[0,-i],checker:arrowChecker}],[["ArrowDown","mac+ArrowDown"],t._translateEmpty,{args:[0,e],checker:arrowChecker}],[["ctrl+ArrowDown","mac+shift+ArrowDown"],t._translateEmpty,{args:[0,i],checker:arrowChecker}]]))}static _type="freetext";static _editorType=f.FREETEXT;constructor(t){super({...t,name:"freeTextEditor"});this.#tn=t.color||FreeTextEditor._defaultColor||AnnotationEditor._defaultLineColor;this.#pn=t.fontSize||FreeTextEditor._defaultFontSize}static initialize(t,e){AnnotationEditor.initialize(t,e);const i=getComputedStyle(document.documentElement);this._internalPadding=parseFloat(i.getPropertyValue("--freetext-padding"))}static updateDefaultParams(t,e){switch(t){case m.FREETEXT_SIZE:FreeTextEditor._defaultFontSize=e;break;case m.FREETEXT_COLOR:FreeTextEditor._defaultColor=e}}updateParams(t,e){switch(t){case m.FREETEXT_SIZE:this.#Ln(e);break;case m.FREETEXT_COLOR:this.#On(e)}}static get defaultPropertiesToUpdate(){return[[m.FREETEXT_SIZE,FreeTextEditor._defaultFontSize],[m.FREETEXT_COLOR,FreeTextEditor._defaultColor||AnnotationEditor._defaultLineColor]]}get propertiesToUpdate(){return[[m.FREETEXT_SIZE,this.#pn],[m.FREETEXT_COLOR,this.#tn]]}#Ln(t){const setFontsize=t=>{this.editorDiv.style.fontSize=`calc(${t}px * var(--scale-factor))`;this.translate(0,-(t-this.#pn)*this.parentScale);this.#pn=t;this.#Nn()},e=this.#pn;this.addCommands({cmd:setFontsize.bind(this,t),undo:setFontsize.bind(this,e),post:this._uiManager.updateUI.bind(this._uiManager,this),mustExec:!0,type:m.FREETEXT_SIZE,overwriteIfSameType:!0,keepUndo:!0})}#On(t){const setColor=t=>{this.#tn=this.editorDiv.style.color=t},e=this.#tn;this.addCommands({cmd:setColor.bind(this,t),undo:setColor.bind(this,e),post:this._uiManager.updateUI.bind(this._uiManager,this),mustExec:!0,type:m.FREETEXT_COLOR,overwriteIfSameType:!0,keepUndo:!0})}_translateEmpty(t,e){this._uiManager.translateSelectedEditors(t,e,!0)}getInitialTranslation(){const t=this.parentScale;return[-FreeTextEditor._internalPadding*t,-(FreeTextEditor._internalPadding+this.#pn)*t]}rebuild(){if(this.parent){super.rebuild();null!==this.div&&(this.isAttachedToDOM||this.parent.add(this))}}enableEditMode(){if(this.isInEditMode())return;this.parent.setEditingState(!1);this.parent.updateToolbar(f.FREETEXT);super.enableEditMode();this.overlayDiv.classList.remove("enabled");this.editorDiv.contentEditable=!0;this._isDraggable=!1;this.div.removeAttribute("aria-activedescendant");this.#Fn=new AbortController;const t=this._uiManager.combinedSignal(this.#Fn);this.editorDiv.addEventListener("keydown",this.editorDivKeydown.bind(this),{signal:t});this.editorDiv.addEventListener("focus",this.editorDivFocus.bind(this),{signal:t});this.editorDiv.addEventListener("blur",this.editorDivBlur.bind(this),{signal:t});this.editorDiv.addEventListener("input",this.editorDivInput.bind(this),{signal:t});this.editorDiv.addEventListener("paste",this.editorDivPaste.bind(this),{signal:t})}disableEditMode(){if(this.isInEditMode()){this.parent.setEditingState(!0);super.disableEditMode();this.overlayDiv.classList.add("enabled");this.editorDiv.contentEditable=!1;this.div.setAttribute("aria-activedescendant",this.#In);this._isDraggable=!0;this.#Fn?.abort();this.#Fn=null;this.div.focus({preventScroll:!0});this.isEditing=!1;this.parent.div.classList.add("freetextEditing")}}focusin(t){if(this._focusEventsAllowed){super.focusin(t);t.target!==this.editorDiv&&this.editorDiv.focus()}}onceAdded(t){if(!this.width){this.enableEditMode();t&&this.editorDiv.focus();this._initialOptions?.isCentered&&this.center();this._initialOptions=null}}isEmpty(){return!this.editorDiv||""===this.editorDiv.innerText.trim()}remove(){this.isEditing=!1;if(this.parent){this.parent.setEditingState(!0);this.parent.div.classList.add("freetextEditing")}super.remove()}#Bn(){const t=[];this.editorDiv.normalize();let e=null;for(const i of this.editorDiv.childNodes)if(e?.nodeType!==Node.TEXT_NODE||"BR"!==i.nodeName){t.push(FreeTextEditor.#Hn(i));e=i}return t.join("\n")}#Nn(){const[t,e]=this.parentDimensions;let i;if(this.isAttachedToDOM)i=this.div.getBoundingClientRect();else{const{currentLayer:t,div:e}=this,s=e.style.display,n=e.classList.contains("hidden");e.classList.remove("hidden");e.style.display="hidden";t.div.append(this.div);i=e.getBoundingClientRect();e.remove();e.style.display=s;e.classList.toggle("hidden",n)}if(this.rotation%180==this.parentRotation%180){this.width=i.width/t;this.height=i.height/e}else{this.width=i.height/t;this.height=i.width/e}this.fixAndSetPosition()}commit(){if(!this.isInEditMode())return;super.commit();this.disableEditMode();const t=this.#Rn,e=this.#Rn=this.#Bn().trimEnd();if(t===e)return;const setText=t=>{this.#Rn=t;if(t){this.#Un();this._uiManager.rebuild(this);this.#Nn()}else this.remove()};this.addCommands({cmd:()=>{setText(e)},undo:()=>{setText(t)},mustExec:!1});this.#Nn()}shouldGetKeyboardEvents(){return this.isInEditMode()}enterInEditMode(){this.enableEditMode();this.editorDiv.focus()}dblclick(t){this.enterInEditMode()}keydown(t){if(t.target===this.div&&"Enter"===t.key){this.enterInEditMode();t.preventDefault()}}editorDivKeydown(t){FreeTextEditor._keyboardManager.exec(this,t)}editorDivFocus(t){this.isEditing=!0}editorDivBlur(t){this.isEditing=!1}editorDivInput(t){this.parent.div.classList.toggle("freetextEditing",this.isEmpty())}disableEditing(){this.editorDiv.setAttribute("role","comment");this.editorDiv.removeAttribute("aria-multiline")}enableEditing(){this.editorDiv.setAttribute("role","textbox");this.editorDiv.setAttribute("aria-multiline",!0)}render(){if(this.div)return this.div;let t,e;if(this.width){t=this.x;e=this.y}super.render();this.editorDiv=document.createElement("div");this.editorDiv.className="internal";this.editorDiv.setAttribute("id",this.#In);this.editorDiv.setAttribute("data-l10n-id","pdfjs-free-text2");this.editorDiv.setAttribute("data-l10n-attrs","default-content");this.enableEditing();this.editorDiv.contentEditable=!0;const{style:i}=this.editorDiv;i.fontSize=`calc(${this.#pn}px * var(--scale-factor))`;i.color=this.#tn;this.div.append(this.editorDiv);this.overlayDiv=document.createElement("div");this.overlayDiv.classList.add("overlay","enabled");this.div.append(this.overlayDiv);bindEvents(this,this.div,["dblclick","keydown"]);if(this.width){const[i,s]=this.parentDimensions;if(this.annotationElementId){const{position:n}=this._initialData;let[r,a]=this.getInitialTranslation();[r,a]=this.pageTranslationToScreen(r,a);const[o,l]=this.pageDimensions,[h,c]=this.pageTranslation;let d,u;switch(this.rotation){case 0:d=t+(n[0]-h)/o;u=e+this.height-(n[1]-c)/l;break;case 90:d=t+(n[0]-h)/o;u=e-(n[1]-c)/l;[r,a]=[a,-r];break;case 180:d=t-this.width+(n[0]-h)/o;u=e-(n[1]-c)/l;[r,a]=[-r,-a];break;case 270:d=t+(n[0]-h-this.height*l)/o;u=e+(n[1]-c-this.width*o)/l;[r,a]=[-a,r]}this.setAt(d*i,u*s,r,a)}else this.setAt(t*i,e*s,this.width*i,this.height*s);this.#Un();this._isDraggable=!0;this.editorDiv.contentEditable=!1}else{this._isDraggable=!1;this.editorDiv.contentEditable=!0}return this.div}static#Hn(t){return(t.nodeType===Node.TEXT_NODE?t.nodeValue:t.innerText).replaceAll(jt,"")}editorDivPaste(t){const e=t.clipboardData||window.clipboardData,{types:i}=e;if(1===i.length&&"text/plain"===i[0])return;t.preventDefault();const s=FreeTextEditor.#zn(e.getData("text")||"").replaceAll(jt,"\n");if(!s)return;const n=window.getSelection();if(!n.rangeCount)return;this.editorDiv.normalize();n.deleteFromDocument();const r=n.getRangeAt(0);if(!s.includes("\n")){r.insertNode(document.createTextNode(s));this.editorDiv.normalize();n.collapseToStart();return}const{startContainer:a,startOffset:o}=r,l=[],h=[];if(a.nodeType===Node.TEXT_NODE){const t=a.parentElement;h.push(a.nodeValue.slice(o).replaceAll(jt,""));if(t!==this.editorDiv){let e=l;for(const i of this.editorDiv.childNodes)i!==t?e.push(FreeTextEditor.#Hn(i)):e=h}l.push(a.nodeValue.slice(0,o).replaceAll(jt,""))}else if(a===this.editorDiv){let t=l,e=0;for(const i of this.editorDiv.childNodes){e++===o&&(t=h);t.push(FreeTextEditor.#Hn(i))}}this.#Rn=`${l.join("\n")}${s}${h.join("\n")}`;this.#Un();const c=new Range;let d=l.reduce(((t,e)=>t+e.length),0);for(const{firstChild:t}of this.editorDiv.childNodes)if(t.nodeType===Node.TEXT_NODE){const e=t.nodeValue.length;if(d<=e){c.setStart(t,d);c.setEnd(t,d);break}d-=e}n.removeAllRanges();n.addRange(c)}#Un(){this.editorDiv.replaceChildren();if(this.#Rn)for(const t of this.#Rn.split("\n")){const e=document.createElement("div");e.append(t?document.createTextNode(t):document.createElement("br"));this.editorDiv.append(e)}}#jn(){return this.#Rn.replaceAll(" "," ")}static#zn(t){return t.replaceAll(" "," ")}get contentDiv(){return this.editorDiv}static async deserialize(t,e,i){let s=null;if(t instanceof FreeTextAnnotationElement){const{data:{defaultAppearanceData:{fontSize:e,fontColor:i},rect:n,rotation:r,id:a,popupRef:o},textContent:l,textPosition:h,parent:{page:{pageNumber:c}}}=t;if(!l||0===l.length)return null;s=t={annotationType:f.FREETEXT,color:Array.from(i),fontSize:e,value:l.join("\n"),position:h,pageIndex:c-1,rect:n.slice(0),rotation:r,id:a,deleted:!1,popupRef:o}}const n=await super.deserialize(t,e,i);n.#pn=t.fontSize;n.#tn=Util.makeHexColor(...t.color);n.#Rn=FreeTextEditor.#zn(t.value);n.annotationElementId=t.id||null;n._initialData=s;return n}serialize(t=!1){if(this.isEmpty())return null;if(this.deleted)return this.serializeDeleted();const e=FreeTextEditor._internalPadding*this.parentScale,i=this.getRect(e,e),s=AnnotationEditor._colorManager.convert(this.isAttachedToDOM?getComputedStyle(this.editorDiv).color:this.#tn),n={annotationType:f.FREETEXT,color:s,fontSize:this.#pn,value:this.#jn(),pageIndex:this.pageIndex,rect:i,rotation:this.rotation,structTreeParentId:this._structTreeParentId};if(t)return n;if(this.annotationElementId&&!this.#Gn(n))return null;n.id=this.annotationElementId;return n}#Gn(t){const{value:e,fontSize:i,color:s,pageIndex:n}=this._initialData;return this._hasBeenMoved||t.value!==e||t.fontSize!==i||t.color.some(((t,e)=>t!==s[e]))||t.pageIndex!==n}renderAnnotationElement(t){const e=super.renderAnnotationElement(t);if(this.deleted)return e;const{style:i}=e;i.fontSize=`calc(${this.#pn}px * var(--scale-factor))`;i.color=this.#tn;e.replaceChildren();for(const t of this.#Rn.split("\n")){const i=document.createElement("div");i.append(t?document.createTextNode(t):document.createElement("br"));e.append(i)}const s=FreeTextEditor._internalPadding*this.parentScale;t.updateEdited({rect:this.getRect(s,s),popupContent:this.#Rn});return e}resetAnnotationElement(t){super.resetAnnotationElement(t);t.resetEdited()}}class Outline{static PRECISION=1e-4;toSVGPath(){unreachable("Abstract method `toSVGPath` must be implemented.")}get box(){unreachable("Abstract getter `box` must be implemented.")}serialize(t,e){unreachable("Abstract method `serialize` must be implemented.")}static _rescale(t,e,i,s,n,r){r||=new Float32Array(t.length);for(let a=0,o=t.length;a=6;t-=6)isNaN(e[t])?i.push(`L${e[t+4]} ${e[t+5]}`):i.push(`C${e[t]} ${e[t+1]} ${e[t+2]} ${e[t+3]} ${e[t+4]} ${e[t+5]}`);this.#hr(i);return i.join(" ")}#or(){const[t,e,i,s]=this.#Vn,[n,r,a,o]=this.#ar();return`M${(this.#Yn[2]-t)/i} ${(this.#Yn[3]-e)/s} L${(this.#Yn[4]-t)/i} ${(this.#Yn[5]-e)/s} L${n} ${r} L${a} ${o} L${(this.#Yn[16]-t)/i} ${(this.#Yn[17]-e)/s} L${(this.#Yn[14]-t)/i} ${(this.#Yn[15]-e)/s} Z`}#hr(t){const e=this.#$n;t.push(`L${e[4]} ${e[5]} Z`)}#lr(t){const[e,i,s,n]=this.#Vn,r=this.#Yn.subarray(4,6),a=this.#Yn.subarray(16,18),[o,l,h,c]=this.#ar();t.push(`L${(r[0]-e)/s} ${(r[1]-i)/n} L${o} ${l} L${h} ${c} L${(a[0]-e)/s} ${(a[1]-i)/n}`)}newFreeDrawOutline(t,e,i,s,n,r){return new FreeDrawOutline(t,e,i,s,n,r)}getOutlines(){const t=this.#Xn,e=this.#$n,i=this.#Yn,[s,n,r,a]=this.#Vn,o=new Float32Array((this.#ir?.length??0)+2);for(let t=0,e=o.length-2;t=6;t-=6)for(let i=0;i<6;i+=2)if(isNaN(e[t+i])){l[h]=l[h+1]=NaN;h+=2}else{l[h]=e[t+i];l[h+1]=e[t+i+1];h+=2}this.#ur(l,h);return this.newFreeDrawOutline(l,o,this.#Vn,this.#tr,this.#Wn,this.#qn)}#cr(t){const e=this.#Yn,[i,s,n,r]=this.#Vn,[a,o,l,h]=this.#ar(),c=new Float32Array(36);c.set([NaN,NaN,NaN,NaN,(e[2]-i)/n,(e[3]-s)/r,NaN,NaN,NaN,NaN,(e[4]-i)/n,(e[5]-s)/r,NaN,NaN,NaN,NaN,a,o,NaN,NaN,NaN,NaN,l,h,NaN,NaN,NaN,NaN,(e[16]-i)/n,(e[17]-s)/r,NaN,NaN,NaN,NaN,(e[14]-i)/n,(e[15]-s)/r],0);return this.newFreeDrawOutline(c,t,this.#Vn,this.#tr,this.#Wn,this.#qn)}#ur(t,e){const i=this.#$n;t.set([NaN,NaN,NaN,NaN,i[4],i[5]],e);return e+6}#dr(t,e){const i=this.#Yn.subarray(4,6),s=this.#Yn.subarray(16,18),[n,r,a,o]=this.#Vn,[l,h,c,d]=this.#ar();t.set([NaN,NaN,NaN,NaN,(i[0]-n)/a,(i[1]-r)/o,NaN,NaN,NaN,NaN,l,h,NaN,NaN,NaN,NaN,c,d,NaN,NaN,NaN,NaN,(s[0]-n)/a,(s[1]-r)/o],e);return e+24}}class FreeDrawOutline extends Outline{#Vn;#pr=new Float32Array(4);#Wn;#qn;#ir;#tr;#gr;constructor(t,e,i,s,n,r){super();this.#gr=t;this.#ir=e;this.#Vn=i;this.#tr=s;this.#Wn=n;this.#qn=r;this.lastPoint=[NaN,NaN];this.#fr(r);const[a,o,l,h]=this.#pr;for(let e=0,i=t.length;et[0]-e[0]||t[1]-e[1]||t[2]-e[2]));const t=[];for(const e of this.#br)if(e[3]){t.push(...this.#yr(e));this.#wr(e)}else{this.#Ar(e);t.push(...this.#yr(e))}return this.#xr(t)}#xr(t){const e=[],i=new Set;for(const i of t){const[t,s,n]=i;e.push([t,s,i],[t,n,i])}e.sort(((t,e)=>t[1]-e[1]||t[0]-e[0]));for(let t=0,s=e.length;t0;){const t=i.values().next().value;let[e,r,a,o,l]=t;i.delete(t);let h=e,c=r;n=[e,a];s.push(n);for(;;){let t;if(i.has(o))t=o;else{if(!i.has(l))break;t=l}i.delete(t);[e,r,a,o,l]=t;if(h!==e){n.push(h,c,e,c===r?r:a);h=e}c=c===r?a:r}n.push(h,c)}return new HighlightOutline(s,this.#Vn,this.#mr)}#_r(t){const e=this.#vr;let i=0,s=e.length-1;for(;i<=s;){const n=i+s>>1,r=e[n][0];if(r===t)return n;r=0;s--){const[i,n]=this.#vr[s];if(i!==t)break;if(i===t&&n===e){this.#vr.splice(s,1);return}}}#yr(t){const[e,i,s]=t,n=[[e,i,s]],r=this.#_r(s);for(let t=0;t=i)if(o>s)n[t][1]=s;else{if(1===r)return[];n.splice(t,1);t--;r--}else{n[t][2]=i;o>s&&n.push([e,s,o])}}}return n}}class HighlightOutline extends Outline{#Vn;#Er;constructor(t,e,i){super();this.#Er=t;this.#Vn=e;this.lastPoint=i}toSVGPath(){const t=[];for(const e of this.#Er){let[i,s]=e;t.push(`M${i} ${s}`);for(let n=2;n-1){this.#Xr=!0;this.#Zr(t);this.#ta()}else if(this.#zr){this.#Hr=t.anchorNode;this.#Ur=t.anchorOffset;this.#Vr=t.focusNode;this.#$r=t.focusOffset;this.#ea();this.#ta();this.rotate(this.rotation)}}get telemetryInitialData(){return{action:"added",type:this.#Xr?"free_highlight":"highlight",color:this._uiManager.highlightColorNames.get(this.color),thickness:this.#er,methodOfCreation:this.#Jr}}get telemetryFinalData(){return{type:"highlight",color:this._uiManager.highlightColorNames.get(this.color)}}static computeTelemetryFinalData(t){return{numberOfColors:t.get("color").size}}#ea(){const t=new HighlightOutliner(this.#zr,.001);this.#qr=t.getOutlines();[this.x,this.y,this.width,this.height]=this.#qr.box;const e=new HighlightOutliner(this.#zr,.0025,.001,"ltr"===this._uiManager.direction);this.#Gr=e.getOutlines();const{lastPoint:i}=this.#Gr;this.#mr=[(i[0]-this.x)/this.width,(i[1]-this.y)/this.height]}#Zr({highlightOutlines:t,highlightId:e,clipPathId:i}){this.#qr=t;this.#Gr=t.getNewOutline(this.#er/2+1.5,.0025);if(e>=0){this.#y=e;this.#jr=i;this.parent.drawLayer.finalizeDraw(e,{bbox:t.box,path:{d:t.toSVGPath()}});this.#Kr=this.parent.drawLayer.drawOutline({rootClass:{highlightOutline:!0,free:!0},bbox:this.#Gr.box,path:{d:this.#Gr.toSVGPath()}},!0)}else if(this.parent){const e=this.parent.viewport.rotation;this.parent.drawLayer.updateProperties(this.#y,{bbox:HighlightEditor.#ia(this.#qr.box,(e-this.rotation+360)%360),path:{d:t.toSVGPath()}});this.parent.drawLayer.updateProperties(this.#Kr,{bbox:HighlightEditor.#ia(this.#Gr.box,e),path:{d:this.#Gr.toSVGPath()}})}const[s,n,r,a]=t.box;switch(this.rotation){case 0:this.x=s;this.y=n;this.width=r;this.height=a;break;case 90:{const[t,e]=this.parentDimensions;this.x=n;this.y=1-s;this.width=r*e/t;this.height=a*t/e;break}case 180:this.x=1-s;this.y=1-n;this.width=r;this.height=a;break;case 270:{const[t,e]=this.parentDimensions;this.x=1-n;this.y=s;this.width=r*e/t;this.height=a*t/e;break}}const{lastPoint:o}=this.#Gr;this.#mr=[(o[0]-s)/r,(o[1]-n)/a]}static initialize(t,e){AnnotationEditor.initialize(t,e);HighlightEditor._defaultColor||=e.highlightColors?.values().next().value||"#fff066"}static updateDefaultParams(t,e){switch(t){case m.HIGHLIGHT_DEFAULT_COLOR:HighlightEditor._defaultColor=e;break;case m.HIGHLIGHT_THICKNESS:HighlightEditor._defaultThickness=e}}translateInPage(t,e){}get toolbarPosition(){return this.#mr}updateParams(t,e){switch(t){case m.HIGHLIGHT_COLOR:this.#On(e);break;case m.HIGHLIGHT_THICKNESS:this.#sa(e)}}static get defaultPropertiesToUpdate(){return[[m.HIGHLIGHT_DEFAULT_COLOR,HighlightEditor._defaultColor],[m.HIGHLIGHT_THICKNESS,HighlightEditor._defaultThickness]]}get propertiesToUpdate(){return[[m.HIGHLIGHT_COLOR,this.color||HighlightEditor._defaultColor],[m.HIGHLIGHT_THICKNESS,this.#er||HighlightEditor._defaultThickness],[m.HIGHLIGHT_FREE,this.#Xr]]}#On(t){const setColorAndOpacity=(t,e)=>{this.color=t;this.#Yr=e;this.parent?.drawLayer.updateProperties(this.#y,{root:{fill:t,"fill-opacity":e}});this.#n?.updateColor(t)},e=this.color,i=this.#Yr;this.addCommands({cmd:setColorAndOpacity.bind(this,t,HighlightEditor._defaultOpacity),undo:setColorAndOpacity.bind(this,e,i),post:this._uiManager.updateUI.bind(this._uiManager,this),mustExec:!0,type:m.HIGHLIGHT_COLOR,overwriteIfSameType:!0,keepUndo:!0});this._reportTelemetry({action:"color_changed",color:this._uiManager.highlightColorNames.get(t)},!0)}#sa(t){const e=this.#er,setThickness=t=>{this.#er=t;this.#na(t)};this.addCommands({cmd:setThickness.bind(this,t),undo:setThickness.bind(this,e),post:this._uiManager.updateUI.bind(this._uiManager,this),mustExec:!0,type:m.INK_THICKNESS,overwriteIfSameType:!0,keepUndo:!0});this._reportTelemetry({action:"thickness_changed",thickness:t},!0)}async addEditToolbar(){const t=await super.addEditToolbar();if(!t)return null;if(this._uiManager.highlightColors){this.#n=new ColorPicker({editor:this});t.addColorPicker(this.#n)}return t}disableEditing(){super.disableEditing();this.div.classList.toggle("disabled",!0)}enableEditing(){super.enableEditing();this.div.classList.toggle("disabled",!1)}fixAndSetPosition(){return super.fixAndSetPosition(this.#ra())}getBaseTranslation(){return[0,0]}getRect(t,e){return super.getRect(t,e,this.#ra())}onceAdded(t){this.annotationElementId||this.parent.addUndoableEditor(this);t&&this.div.focus()}remove(){this.#aa();this._reportTelemetry({action:"deleted"});super.remove()}rebuild(){if(this.parent){super.rebuild();if(null!==this.div){this.#ta();this.isAttachedToDOM||this.parent.add(this)}}}setParent(t){let e=!1;if(this.parent&&!t)this.#aa();else if(t){this.#ta(t);e=!this.parent&&this.div?.classList.contains("selectedEditor")}super.setParent(t);this.show(this._isVisible);e&&this.select()}#na(t){if(!this.#Xr)return;this.#Zr({highlightOutlines:this.#qr.getNewOutline(t/2)});this.fixAndSetPosition();const[e,i]=this.parentDimensions;this.setDims(this.width*e,this.height*i)}#aa(){if(null!==this.#y&&this.parent){this.parent.drawLayer.remove(this.#y);this.#y=null;this.parent.drawLayer.remove(this.#Kr);this.#Kr=null}}#ta(t=this.parent){if(null===this.#y){({id:this.#y,clipPathId:this.#jr}=t.drawLayer.draw({bbox:this.#qr.box,root:{viewBox:"0 0 1 1",fill:this.color,"fill-opacity":this.#Yr},rootClass:{highlight:!0,free:this.#Xr},path:{d:this.#qr.toSVGPath()}},!1,!0));this.#Kr=t.drawLayer.drawOutline({rootClass:{highlightOutline:!0,free:this.#Xr},bbox:this.#Gr.box,path:{d:this.#Gr.toSVGPath()}},this.#Xr);this.#Wr&&(this.#Wr.style.clipPath=this.#jr)}}static#ia([t,e,i,s],n){switch(n){case 90:return[1-e-s,t,s,i];case 180:return[1-t-i,1-e-s,i,s];case 270:return[e,1-t-i,s,i]}return[t,e,i,s]}rotate(t){const{drawLayer:e}=this.parent;let i;if(this.#Xr){t=(t-this.rotation+360)%360;i=HighlightEditor.#ia(this.#qr.box,t)}else i=HighlightEditor.#ia([this.x,this.y,this.width,this.height],t);e.updateProperties(this.#y,{bbox:i,root:{"data-main-rotation":t}});e.updateProperties(this.#Kr,{bbox:HighlightEditor.#ia(this.#Gr.box,t),root:{"data-main-rotation":t}})}render(){if(this.div)return this.div;const t=super.render();if(this.#Qr){t.setAttribute("aria-label",this.#Qr);t.setAttribute("role","mark")}this.#Xr?t.classList.add("free"):this.div.addEventListener("keydown",this.#oa.bind(this),{signal:this._uiManager._signal});const e=this.#Wr=document.createElement("div");t.append(e);e.setAttribute("aria-hidden","true");e.className="internal";e.style.clipPath=this.#jr;const[i,s]=this.parentDimensions;this.setDims(this.width*i,this.height*s);bindEvents(this,this.#Wr,["pointerover","pointerleave"]);this.enableEditing();return t}pointerover(){this.isSelected||this.parent?.drawLayer.updateProperties(this.#Kr,{rootClass:{hovered:!0}})}pointerleave(){this.isSelected||this.parent?.drawLayer.updateProperties(this.#Kr,{rootClass:{hovered:!1}})}#oa(t){HighlightEditor._keyboardManager.exec(this,t)}_moveCaret(t){this.parent.unselect(this);switch(t){case 0:case 2:this.#la(!0);break;case 1:case 3:this.#la(!1)}}#la(t){if(!this.#Hr)return;const e=window.getSelection();t?e.setPosition(this.#Hr,this.#Ur):e.setPosition(this.#Vr,this.#$r)}select(){super.select();this.#Kr&&this.parent?.drawLayer.updateProperties(this.#Kr,{rootClass:{hovered:!1,selected:!0}})}unselect(){super.unselect();if(this.#Kr){this.parent?.drawLayer.updateProperties(this.#Kr,{rootClass:{selected:!1}});this.#Xr||this.#la(!1)}}get _mustFixPosition(){return!this.#Xr}show(t=this._isVisible){super.show(t);if(this.parent){this.parent.drawLayer.updateProperties(this.#y,{rootClass:{hidden:!t}});this.parent.drawLayer.updateProperties(this.#Kr,{rootClass:{hidden:!t}})}}#ra(){return this.#Xr?this.rotation:0}#ha(){if(this.#Xr)return null;const[t,e]=this.pageDimensions,[i,s]=this.pageTranslation,n=this.#zr,r=new Float32Array(8*n.length);let a=0;for(const{x:o,y:l,width:h,height:c}of n){const n=o*t+i,d=(1-l)*e+s;r[a]=r[a+4]=n;r[a+1]=r[a+3]=d;r[a+2]=r[a+6]=n+h*t;r[a+5]=r[a+7]=d-c*e;a+=8}return r}#ca(t){return this.#qr.serialize(t,this.#ra())}static startHighlighting(t,e,{target:i,x:s,y:n}){const{x:r,y:a,width:o,height:l}=i.getBoundingClientRect(),h=new AbortController,c=t.combinedSignal(h),pointerUpCallback=e=>{h.abort();this.#da(t,e)};window.addEventListener("blur",pointerUpCallback,{signal:c});window.addEventListener("pointerup",pointerUpCallback,{signal:c});window.addEventListener("pointerdown",stopEvent,{capture:!0,passive:!1,signal:c});window.addEventListener("contextmenu",noContextMenu,{signal:c});i.addEventListener("pointermove",this.#ua.bind(this,t),{signal:c});this._freeHighlight=new FreeHighlightOutliner({x:s,y:n},[r,a,o,l],t.scale,this._defaultThickness/2,e,.001);({id:this._freeHighlightId,clipPathId:this._freeHighlightClipId}=t.drawLayer.draw({bbox:[0,0,1,1],root:{viewBox:"0 0 1 1",fill:this._defaultColor,"fill-opacity":this._defaultOpacity},rootClass:{highlight:!0,free:!0},path:{d:this._freeHighlight.toSVGPath()}},!0,!0))}static#ua(t,e){this._freeHighlight.add(e)&&t.drawLayer.updateProperties(this._freeHighlightId,{path:{d:this._freeHighlight.toSVGPath()}})}static#da(t,e){this._freeHighlight.isEmpty()?t.drawLayer.remove(this._freeHighlightId):t.createAndAddNewEditor(e,!1,{highlightId:this._freeHighlightId,highlightOutlines:this._freeHighlight.getOutlines(),clipPathId:this._freeHighlightClipId,methodOfCreation:"main_toolbar"});this._freeHighlightId=-1;this._freeHighlight=null;this._freeHighlightClipId=""}static async deserialize(t,e,i){let s=null;if(t instanceof HighlightAnnotationElement){const{data:{quadPoints:e,rect:i,rotation:n,id:r,color:a,opacity:o,popupRef:l},parent:{page:{pageNumber:h}}}=t;s=t={annotationType:f.HIGHLIGHT,color:Array.from(a),opacity:o,quadPoints:e,boxes:null,pageIndex:h-1,rect:i.slice(0),rotation:n,id:r,deleted:!1,popupRef:l}}else if(t instanceof InkAnnotationElement){const{data:{inkLists:e,rect:i,rotation:n,id:r,color:a,borderStyle:{rawWidth:o},popupRef:l},parent:{page:{pageNumber:h}}}=t;s=t={annotationType:f.HIGHLIGHT,color:Array.from(a),thickness:o,inkLists:e,boxes:null,pageIndex:h-1,rect:i.slice(0),rotation:n,id:r,deleted:!1,popupRef:l}}const{color:n,quadPoints:r,inkLists:a,opacity:o}=t,l=await super.deserialize(t,e,i);l.color=Util.makeHexColor(...n);l.#Yr=o||1;a&&(l.#er=t.thickness);l.annotationElementId=t.id||null;l._initialData=s;const[h,c]=l.pageDimensions,[d,u]=l.pageTranslation;if(r){const t=l.#zr=[];for(let e=0;et!==e[i]))}renderAnnotationElement(t){t.updateEdited({rect:this.getRect(0,0)});return null}static canCreateNewEmptyEditor(){return!1}}class DrawingOptions{#pa=Object.create(null);updateProperty(t,e){this[t]=e;this.updateSVGProperty(t,e)}updateProperties(t){if(t)for(const[e,i]of Object.entries(t))this.updateProperty(e,i)}updateSVGProperty(t,e){this.#pa[t]=e}toSVGProperties(){const t=this.#pa;this.#pa=Object.create(null);return{root:t}}reset(){this.#pa=Object.create(null)}updateAll(t=this){this.updateProperties(t)}clone(){unreachable("Not implemented")}}class DrawingEditor extends AnnotationEditor{#ga=null;#fa;_drawId=null;static _currentDrawId=-1;static _currentParent=null;static#ma=null;static#ba=null;static#va=null;static#ya=NaN;static#wa=null;static#Aa=null;static#xa=NaN;static _INNER_MARGIN=3;constructor(t){super(t);this.#fa=t.mustBeCommitted||!1;if(t.drawOutlines){this.#_a(t);this.#ta()}}#_a({drawOutlines:t,drawId:e,drawingOptions:i}){this.#ga=t;this._drawingOptions||=i;if(e>=0){this._drawId=e;this.parent.drawLayer.finalizeDraw(e,t.defaultProperties)}else this._drawId=this.#Ea(t,this.parent);this.#Sa(t.box)}#Ea(t,e){const{id:i}=e.drawLayer.draw(DrawingEditor._mergeSVGProperties(this._drawingOptions.toSVGProperties(),t.defaultSVGProperties),!1,!1);return i}static _mergeSVGProperties(t,e){const i=new Set(Object.keys(t));for(const[s,n]of Object.entries(e))i.has(s)?Object.assign(t[s],n):t[s]=n;return t}static getDefaultDrawingOptions(t){unreachable("Not implemented")}static get typesMap(){unreachable("Not implemented")}static get isDrawer(){return!0}static get supportMultipleDrawings(){return!1}static updateDefaultParams(t,e){const i=this.typesMap.get(t);i&&this._defaultDrawingOptions.updateProperty(i,e);if(this._currentParent){DrawingEditor.#ma.updateProperty(i,e);this._currentParent.drawLayer.updateProperties(this._currentDrawId,this._defaultDrawingOptions.toSVGProperties())}}updateParams(t,e){const i=this.constructor.typesMap.get(t);i&&this._updateProperty(t,i,e)}static get defaultPropertiesToUpdate(){const t=[],e=this._defaultDrawingOptions;for(const[i,s]of this.typesMap)t.push([i,e[s]]);return t}get propertiesToUpdate(){const t=[],{_drawingOptions:e}=this;for(const[i,s]of this.constructor.typesMap)t.push([i,e[s]]);return t}_updateProperty(t,e,i){const s=this._drawingOptions,n=s[e],setter=t=>{s.updateProperty(e,t);const i=this.#ga.updateProperty(e,t);i&&this.#Sa(i);this.parent?.drawLayer.updateProperties(this._drawId,s.toSVGProperties())};this.addCommands({cmd:setter.bind(this,i),undo:setter.bind(this,n),post:this._uiManager.updateUI.bind(this._uiManager,this),mustExec:!0,type:t,overwriteIfSameType:!0,keepUndo:!0})}_onResizing(){this.parent?.drawLayer.updateProperties(this._drawId,DrawingEditor._mergeSVGProperties(this.#ga.getPathResizingSVGProperties(this.#Ca()),{bbox:this.#Ta()}))}_onResized(){this.parent?.drawLayer.updateProperties(this._drawId,DrawingEditor._mergeSVGProperties(this.#ga.getPathResizedSVGProperties(this.#Ca()),{bbox:this.#Ta()}))}_onTranslating(t,e){this.parent?.drawLayer.updateProperties(this._drawId,{bbox:this.#Ta(t,e)})}_onTranslated(){this.parent?.drawLayer.updateProperties(this._drawId,DrawingEditor._mergeSVGProperties(this.#ga.getPathTranslatedSVGProperties(this.#Ca(),this.parentDimensions),{bbox:this.#Ta()}))}_onStartDragging(){this.parent?.drawLayer.updateProperties(this._drawId,{rootClass:{moving:!0}})}_onStopDragging(){this.parent?.drawLayer.updateProperties(this._drawId,{rootClass:{moving:!1}})}commit(){super.commit();this.disableEditMode();this.disableEditing()}disableEditing(){super.disableEditing();this.div.classList.toggle("disabled",!0)}enableEditing(){super.enableEditing();this.div.classList.toggle("disabled",!1)}getBaseTranslation(){return[0,0]}get isResizable(){return!0}onceAdded(t){this.annotationElementId||this.parent.addUndoableEditor(this);this._isDraggable=!0;if(this.#fa){this.#fa=!1;this.commit();this.parent.setSelected(this);t&&this.isOnScreen&&this.div.focus()}}remove(){this.#aa();super.remove()}rebuild(){if(this.parent){super.rebuild();if(null!==this.div){this.#ta();this.#Sa(this.#ga.box);this.isAttachedToDOM||this.parent.add(this)}}}setParent(t){let e=!1;if(this.parent&&!t){this._uiManager.removeShouldRescale(this);this.#aa()}else if(t){this._uiManager.addShouldRescale(this);this.#ta(t);e=!this.parent&&this.div?.classList.contains("selectedEditor")}super.setParent(t);e&&this.select()}#aa(){if(null!==this._drawId&&this.parent){this.parent.drawLayer.remove(this._drawId);this._drawId=null;this._drawingOptions.reset()}}#ta(t=this.parent){if(null===this._drawId||this.parent!==t)if(null===this._drawId){this._drawingOptions.updateAll();this._drawId=this.#Ea(this.#ga,t)}else this.parent.drawLayer.updateParent(this._drawId,t.drawLayer)}#Ma([t,e,i,s]){const{parentDimensions:[n,r],rotation:a}=this;switch(a){case 90:return[e,1-t,i*(r/n),s*(n/r)];case 180:return[1-t,1-e,i,s];case 270:return[1-e,t,i*(r/n),s*(n/r)];default:return[t,e,i,s]}}#Ca(){const{x:t,y:e,width:i,height:s,parentDimensions:[n,r],rotation:a}=this;switch(a){case 90:return[1-e,t,i*(n/r),s*(r/n)];case 180:return[1-t,1-e,i,s];case 270:return[e,1-t,i*(n/r),s*(r/n)];default:return[t,e,i,s]}}#Sa(t){[this.x,this.y,this.width,this.height]=this.#Ma(t);if(this.div){this.fixAndSetPosition();const[t,e]=this.parentDimensions;this.setDims(this.width*t,this.height*e)}this._onResized()}#Ta(){const{x:t,y:e,width:i,height:s,rotation:n,parentRotation:r,parentDimensions:[a,o]}=this;switch((4*n+r)/90){case 1:return[1-e-s,t,s,i];case 2:return[1-t-i,1-e-s,i,s];case 3:return[e,1-t-i,s,i];case 4:return[t,e-i*(a/o),s*(o/a),i*(a/o)];case 5:return[1-e,t,i*(a/o),s*(o/a)];case 6:return[1-t-s*(o/a),1-e,s*(o/a),i*(a/o)];case 7:return[e-i*(a/o),1-t-s*(o/a),i*(a/o),s*(o/a)];case 8:return[t-i,e-s,i,s];case 9:return[1-e,t-i,s,i];case 10:return[1-t,1-e,i,s];case 11:return[e-s,1-t,s,i];case 12:return[t-s*(o/a),e,s*(o/a),i*(a/o)];case 13:return[1-e-i*(a/o),t-s*(o/a),i*(a/o),s*(o/a)];case 14:return[1-t,1-e-i*(a/o),s*(o/a),i*(a/o)];case 15:return[e,1-t,i*(a/o),s*(o/a)];default:return[t,e,i,s]}}rotate(){this.parent&&this.parent.drawLayer.updateProperties(this._drawId,DrawingEditor._mergeSVGProperties({bbox:this.#Ta()},this.#ga.updateRotation((this.parentRotation-this.rotation+360)%360)))}onScaleChanging(){this.parent&&this.#Sa(this.#ga.updateParentDimensions(this.parentDimensions,this.parent.scale))}static onScaleChangingWhenDrawing(){}render(){if(this.div)return this.div;const t=super.render();t.classList.add("draw");const e=document.createElement("div");t.append(e);e.setAttribute("aria-hidden","true");e.className="internal";const[i,s]=this.parentDimensions;this.setDims(this.width*i,this.height*s);this._uiManager.addShouldRescale(this);this.disableEditing();return t}static createDrawerInstance(t,e,i,s,n){unreachable("Not implemented")}static startDrawing(t,e,i,s){const{target:n,offsetX:r,offsetY:a,pointerId:o,pointerType:l}=s;if(DrawingEditor.#wa&&DrawingEditor.#wa!==l)return;const{viewport:{rotation:h}}=t,{width:c,height:d}=n.getBoundingClientRect(),u=DrawingEditor.#ba=new AbortController,p=t.combinedSignal(u);DrawingEditor.#ya||=o;DrawingEditor.#wa??=l;window.addEventListener("pointerup",(t=>{DrawingEditor.#ya===t.pointerId?this._endDraw(t):DrawingEditor.#Aa?.delete(t.pointerId)}),{signal:p});window.addEventListener("pointercancel",(t=>{DrawingEditor.#ya===t.pointerId?this._currentParent.endDrawingSession():DrawingEditor.#Aa?.delete(t.pointerId)}),{signal:p});window.addEventListener("pointerdown",(t=>{if(DrawingEditor.#wa===t.pointerType){(DrawingEditor.#Aa||=new Set).add(t.pointerId);if(DrawingEditor.#ma.isCancellable()){DrawingEditor.#ma.removeLastElement();DrawingEditor.#ma.isEmpty()?this._currentParent.endDrawingSession(!0):this._endDraw(null)}}}),{capture:!0,passive:!1,signal:p});window.addEventListener("contextmenu",noContextMenu,{signal:p});n.addEventListener("pointermove",this._drawMove.bind(this),{signal:p});n.addEventListener("touchmove",(t=>{t.timeStamp===DrawingEditor.#xa&&stopEvent(t)}),{signal:p});t.toggleDrawing();e._editorUndoBar?.hide();if(DrawingEditor.#ma)t.drawLayer.updateProperties(this._currentDrawId,DrawingEditor.#ma.startNew(r,a,c,d,h));else{e.updateUIForDefaultProperties(this);DrawingEditor.#ma=this.createDrawerInstance(r,a,c,d,h);DrawingEditor.#va=this.getDefaultDrawingOptions();this._currentParent=t;({id:this._currentDrawId}=t.drawLayer.draw(this._mergeSVGProperties(DrawingEditor.#va.toSVGProperties(),DrawingEditor.#ma.defaultSVGProperties),!0,!1))}}static _drawMove(t){DrawingEditor.#xa=-1;if(!DrawingEditor.#ma)return;const{offsetX:e,offsetY:i,pointerId:s}=t;if(DrawingEditor.#ya===s)if(DrawingEditor.#Aa?.size>=1)this._endDraw(t);else{this._currentParent.drawLayer.updateProperties(this._currentDrawId,DrawingEditor.#ma.add(e,i));DrawingEditor.#xa=t.timeStamp;stopEvent(t)}}static _cleanup(t){if(t){this._currentDrawId=-1;this._currentParent=null;DrawingEditor.#ma=null;DrawingEditor.#va=null;DrawingEditor.#wa=null;DrawingEditor.#xa=NaN}if(DrawingEditor.#ba){DrawingEditor.#ba.abort();DrawingEditor.#ba=null;DrawingEditor.#ya=NaN;DrawingEditor.#Aa=null}}static _endDraw(t){const e=this._currentParent;if(e){e.toggleDrawing(!0);this._cleanup(!1);t&&e.drawLayer.updateProperties(this._currentDrawId,DrawingEditor.#ma.end(t.offsetX,t.offsetY));if(this.supportMultipleDrawings){const t=DrawingEditor.#ma,i=this._currentDrawId,s=t.getLastElement();e.addCommands({cmd:()=>{e.drawLayer.updateProperties(i,t.setLastElement(s))},undo:()=>{e.drawLayer.updateProperties(i,t.removeLastElement())},mustExec:!1,type:m.DRAW_STEP})}else this.endDrawing(!1)}}static endDrawing(t){const e=this._currentParent;if(!e)return null;e.toggleDrawing(!0);e.cleanUndoStack(m.DRAW_STEP);if(!DrawingEditor.#ma.isEmpty()){const{pageDimensions:[i,s],scale:n}=e,r=e.createAndAddNewEditor({offsetX:0,offsetY:0},!1,{drawId:this._currentDrawId,drawOutlines:DrawingEditor.#ma.getOutlines(i*n,s*n,n,this._INNER_MARGIN),drawingOptions:DrawingEditor.#va,mustBeCommitted:!t});this._cleanup(!0);return r}e.drawLayer.remove(this._currentDrawId);this._cleanup(!0);return null}createDrawingOptions(t){}static deserializeDraw(t,e,i,s,n,r){unreachable("Not implemented")}static async deserialize(t,e,i){const{rawDims:{pageWidth:s,pageHeight:n,pageX:r,pageY:a}}=e.viewport,o=this.deserializeDraw(r,a,s,n,this._INNER_MARGIN,t),l=await super.deserialize(t,e,i);l.createDrawingOptions(t);l.#_a({drawOutlines:o});l.#ta();l.onScaleChanging();l.rotate();return l}serializeDraw(t){const[e,i]=this.pageTranslation,[s,n]=this.pageDimensions;return this.#ga.serialize([e,i,s,n],t)}renderAnnotationElement(t){t.updateEdited({rect:this.getRect(0,0)});return null}static canCreateNewEmptyEditor(){return!1}}class InkDrawOutliner{#Yn=new Float64Array(6);#bn;#Pa;#Fi;#er;#ir;#Da="";#ka=0;#Er=new InkDrawOutline;#Ra;#Ia;constructor(t,e,i,s,n,r){this.#Ra=i;this.#Ia=s;this.#Fi=n;this.#er=r;[t,e]=this.#Fa(t,e);const a=this.#bn=[NaN,NaN,NaN,NaN,t,e];this.#ir=[t,e];this.#Pa=[{line:a,points:this.#ir}];this.#Yn.set(a,0)}updateProperty(t,e){"stroke-width"===t&&(this.#er=e)}#Fa(t,e){return Outline._normalizePoint(t,e,this.#Ra,this.#Ia,this.#Fi)}isEmpty(){return!this.#Pa||0===this.#Pa.length}isCancellable(){return this.#ir.length<=10}add(t,e){[t,e]=this.#Fa(t,e);const[i,s,n,r]=this.#Yn.subarray(2,6),a=t-n,o=e-r;if(Math.hypot(this.#Ra*a,this.#Ia*o)<=2)return null;this.#ir.push(t,e);if(isNaN(i)){this.#Yn.set([n,r,t,e],2);this.#bn.push(NaN,NaN,NaN,NaN,t,e);return{path:{d:this.toSVGPath()}}}isNaN(this.#Yn[0])&&this.#bn.splice(6,6);this.#Yn.set([i,s,n,r,t,e],0);this.#bn.push(...Outline.createBezierPoints(i,s,n,r,t,e));return{path:{d:this.toSVGPath()}}}end(t,e){const i=this.add(t,e);return i||(2===this.#ir.length?{path:{d:this.toSVGPath()}}:null)}startNew(t,e,i,s,n){this.#Ra=i;this.#Ia=s;this.#Fi=n;[t,e]=this.#Fa(t,e);const r=this.#bn=[NaN,NaN,NaN,NaN,t,e];this.#ir=[t,e];const a=this.#Pa.at(-1);if(a){a.line=new Float32Array(a.line);a.points=new Float32Array(a.points)}this.#Pa.push({line:r,points:this.#ir});this.#Yn.set(r,0);this.#ka=0;this.toSVGPath();return null}getLastElement(){return this.#Pa.at(-1)}setLastElement(t){if(!this.#Pa)return this.#Er.setLastElement(t);this.#Pa.push(t);this.#bn=t.line;this.#ir=t.points;this.#ka=0;return{path:{d:this.toSVGPath()}}}removeLastElement(){if(!this.#Pa)return this.#Er.removeLastElement();this.#Pa.pop();this.#Da="";for(let t=0,e=this.#Pa.length;tt??NaN)),c,d,u,p),points:g(a[t].map((t=>t??NaN)),c,d,u,p)});const f=new InkDrawOutline;f.build(h,i,s,1,o,l,n);return f}#Ha(t=this.#er){const e=this.#Wn+t/2*this.#Oa;return this.#Fi%180==0?[e/this.#Ra,e/this.#Ia]:[e/this.#Ia,e/this.#Ra]}#Ba(){const[t,e,i,s]=this.#pr,[n,r]=this.#Ha(0);return[t+n,e+r,i-2*n,s-2*r]}#Na(){const t=this.#pr=new Float32Array([1/0,1/0,-1/0,-1/0]);for(const{line:e}of this.#Pa){if(e.length<=12){for(let i=4,s=e.length;it!==e[i]))||t.thickness!==i||t.opacity!==s||t.pageIndex!==n}renderAnnotationElement(t){const{points:e,rect:i}=this.serializeDraw(!1);t.updateEdited({rect:i,thickness:this._drawingOptions["stroke-width"],points:e});return null}}class StampEditor extends AnnotationEditor{#za=null;#ja=null;#Ga=null;#Va=null;#$a=null;#Wa="";#qa=null;#Xa=null;#Ya=!1;#Ka=!1;static _type="stamp";static _editorType=f.STAMP;constructor(t){super({...t,name:"stampEditor"});this.#Va=t.bitmapUrl;this.#$a=t.bitmapFile}static initialize(t,e){AnnotationEditor.initialize(t,e)}static get supportedTypes(){return shadow(this,"supportedTypes",["apng","avif","bmp","gif","jpeg","png","svg+xml","webp","x-icon"].map((t=>`image/${t}`)))}static get supportedTypesStr(){return shadow(this,"supportedTypesStr",this.supportedTypes.join(","))}static isHandlingMimeForPasting(t){return this.supportedTypes.includes(t)}static paste(t,e){e.pasteEditor(f.STAMP,{bitmapFile:t.getAsFile()})}altTextFinish(){this._uiManager.useNewAltTextFlow&&(this.div.hidden=!1);super.altTextFinish()}get telemetryFinalData(){return{type:"stamp",hasAltText:!!this.altTextData?.altText}}static computeTelemetryFinalData(t){const e=t.get("hasAltText");return{hasAltText:e.get(!0)??0,hasNoAltText:e.get(!1)??0}}#Qa(t,e=!1){if(t){this.#za=t.bitmap;if(!e){this.#ja=t.id;this.#Ya=t.isSvg}t.file&&(this.#Wa=t.file.name);this.#Ja()}else this.remove()}#Za(){this.#Ga=null;this._uiManager.enableWaiting(!1);if(this.#qa)if(this._uiManager.useNewAltTextWhenAddingImage&&this._uiManager.useNewAltTextFlow&&this.#za){this._editToolbar.hide();this._uiManager.editAltText(this,!0)}else{if(!this._uiManager.useNewAltTextWhenAddingImage&&this._uiManager.useNewAltTextFlow&&this.#za){this._reportTelemetry({action:"pdfjs.image.image_added",data:{alt_text_modal:!1,alt_text_type:"empty"}});try{this.mlGuessAltText()}catch{}}this.div.focus()}}async mlGuessAltText(t=null,e=!0){if(this.hasAltTextData())return null;const{mlManager:i}=this._uiManager;if(!i)throw new Error("No ML.");if(!await i.isEnabledFor("altText"))throw new Error("ML isn't enabled for alt text.");const{data:s,width:n,height:r}=t||this.copyCanvas(null,null,!0).imageData,a=await i.guess({name:"altText",request:{data:s,width:n,height:r,channels:s.length/(n*r)}});if(!a)throw new Error("No response from the AI service.");if(a.error)throw new Error("Error from the AI service.");if(a.cancel)return null;if(!a.output)throw new Error("No valid response from the AI service.");const o=a.output;await this.setGuessedAltText(o);e&&!this.hasAltTextData()&&(this.altTextData={alt:o,decorative:!1});return o}#to(){if(this.#ja){this._uiManager.enableWaiting(!0);this._uiManager.imageManager.getFromId(this.#ja).then((t=>this.#Qa(t,!0))).finally((()=>this.#Za()));return}if(this.#Va){const t=this.#Va;this.#Va=null;this._uiManager.enableWaiting(!0);this.#Ga=this._uiManager.imageManager.getFromUrl(t).then((t=>this.#Qa(t))).finally((()=>this.#Za()));return}if(this.#$a){const t=this.#$a;this.#$a=null;this._uiManager.enableWaiting(!0);this.#Ga=this._uiManager.imageManager.getFromFile(t).then((t=>this.#Qa(t))).finally((()=>this.#Za()));return}const t=document.createElement("input");t.type="file";t.accept=StampEditor.supportedTypesStr;const e=this._uiManager._signal;this.#Ga=new Promise((i=>{t.addEventListener("change",(async()=>{if(t.files&&0!==t.files.length){this._uiManager.enableWaiting(!0);const e=await this._uiManager.imageManager.getFromFile(t.files[0]);this._reportTelemetry({action:"pdfjs.image.image_selected",data:{alt_text_modal:this._uiManager.useNewAltTextFlow}});this.#Qa(e)}else this.remove();i()}),{signal:e});t.addEventListener("cancel",(()=>{this.remove();i()}),{signal:e})})).finally((()=>this.#Za()));t.click()}remove(){if(this.#ja){this.#za=null;this._uiManager.imageManager.deleteId(this.#ja);this.#qa?.remove();this.#qa=null;if(this.#Xa){clearTimeout(this.#Xa);this.#Xa=null}}super.remove()}rebuild(){if(this.parent){super.rebuild();if(null!==this.div){this.#ja&&null===this.#qa&&this.#to();this.isAttachedToDOM||this.parent.add(this)}}else this.#ja&&this.#to()}onceAdded(t){this._isDraggable=!0;t&&this.div.focus()}isEmpty(){return!(this.#Ga||this.#za||this.#Va||this.#$a||this.#ja)}get isResizable(){return!0}render(){if(this.div)return this.div;let t,e;if(this.width){t=this.x;e=this.y}super.render();this.div.hidden=!0;this.div.setAttribute("role","figure");this.addAltTextButton();this.#za?this.#Ja():this.#to();if(this.width&&!this.annotationElementId){const[i,s]=this.parentDimensions;this.setAt(t*i,e*s,this.width*i,this.height*s)}this._uiManager.addShouldRescale(this);return this.div}_onResized(){this.onScaleChanging()}onScaleChanging(){if(!this.parent)return;null!==this.#Xa&&clearTimeout(this.#Xa);this.#Xa=setTimeout((()=>{this.#Xa=null;this.#eo()}),200)}#Ja(){const{div:t}=this;let{width:e,height:i}=this.#za;const[s,n]=this.pageDimensions,r=.75;if(this.width){e=this.width*s;i=this.height*n}else if(e>r*s||i>r*n){const t=Math.min(r*s/e,r*n/i);e*=t;i*=t}const[a,o]=this.parentDimensions;this.setDims(e*a/s,i*o/n);this._uiManager.enableWaiting(!1);const l=this.#qa=document.createElement("canvas");l.setAttribute("role","img");this.addContainer(l);this.width=e/s;this.height=i/n;this._initialOptions?.isCentered?this.center():this.fixAndSetPosition();this._initialOptions=null;this._uiManager.useNewAltTextWhenAddingImage&&this._uiManager.useNewAltTextFlow&&!this.annotationElementId||(t.hidden=!1);this.#eo();if(!this.#Ka){this.parent.addUndoableEditor(this);this.#Ka=!0}this._reportTelemetry({action:"inserted_image"});this.#Wa&&l.setAttribute("aria-label",this.#Wa)}copyCanvas(t,e,i=!1){t||(t=224);const{width:s,height:n}=this.#za,r=new OutputScale;let a=this.#za,o=s,l=n,h=null;if(e){if(s>e||n>e){const t=Math.min(e/s,e/n);o=Math.floor(s*t);l=Math.floor(n*t)}h=document.createElement("canvas");const t=h.width=Math.ceil(o*r.sx),i=h.height=Math.ceil(l*r.sy);this.#Ya||(a=this.#io(t,i));const c=h.getContext("2d");c.filter=this._uiManager.hcmFilter;let d="white",u="#cfcfd8";if("none"!==this._uiManager.hcmFilter)u="black";else if(window.matchMedia?.("(prefers-color-scheme: dark)").matches){d="#8f8f9d";u="#42414d"}const p=15,g=p*r.sx,f=p*r.sy,m=new OffscreenCanvas(2*g,2*f),b=m.getContext("2d");b.fillStyle=d;b.fillRect(0,0,2*g,2*f);b.fillStyle=u;b.fillRect(0,0,g,f);b.fillRect(g,f,g,f);c.fillStyle=c.createPattern(m,"repeat");c.fillRect(0,0,t,i);c.drawImage(a,0,0,a.width,a.height,0,0,t,i)}let c=null;if(i){let e,i;if(r.symmetric&&a.widtht||n>t){const r=Math.min(t/s,t/n);e=Math.floor(s*r);i=Math.floor(n*r);this.#Ya||(a=this.#io(e,i))}}const o=new OffscreenCanvas(e,i).getContext("2d",{willReadFrequently:!0});o.drawImage(a,0,0,a.width,a.height,0,0,e,i);c={width:e,height:i,data:o.getImageData(0,0,e,i).data}}return{canvas:h,width:o,height:l,imageData:c}}#io(t,e){const{width:i,height:s}=this.#za;let n=i,r=s,a=this.#za;for(;n>2*t||r>2*e;){const i=n,s=r;n>2*t&&(n=n>=16384?Math.floor(n/2)-1:Math.ceil(n/2));r>2*e&&(r=r>=16384?Math.floor(r/2)-1:Math.ceil(r/2));const o=new OffscreenCanvas(n,r);o.getContext("2d").drawImage(a,0,0,i,s,0,0,n,r);a=o.transferToImageBitmap()}return a}#eo(){const[t,e]=this.parentDimensions,{width:i,height:s}=this,n=new OutputScale,r=Math.ceil(i*t*n.sx),a=Math.ceil(s*e*n.sy),o=this.#qa;if(!o||o.width===r&&o.height===a)return;o.width=r;o.height=a;const l=this.#Ya?this.#za:this.#io(r,a),h=o.getContext("2d");h.filter=this._uiManager.hcmFilter;h.drawImage(l,0,0,l.width,l.height,0,0,r,a)}getImageForAltText(){return this.#qa}#so(t){if(t){if(this.#Ya){const t=this._uiManager.imageManager.getSvgUrl(this.#ja);if(t)return t}const t=document.createElement("canvas");({width:t.width,height:t.height}=this.#za);t.getContext("2d").drawImage(this.#za,0,0);return t.toDataURL()}if(this.#Ya){const[t,e]=this.pageDimensions,i=Math.round(this.width*t*PixelsPerInch.PDF_TO_CSS_UNITS),s=Math.round(this.height*e*PixelsPerInch.PDF_TO_CSS_UNITS),n=new OffscreenCanvas(i,s);n.getContext("2d").drawImage(this.#za,0,0,this.#za.width,this.#za.height,0,0,i,s);return n.transferToImageBitmap()}return structuredClone(this.#za)}static async deserialize(t,e,i){let s=null;if(t instanceof StampAnnotationElement){const{data:{rect:n,rotation:r,id:a,structParent:o,popupRef:l},container:h,parent:{page:{pageNumber:c}}}=t,d=h.querySelector("canvas"),u=i.imageManager.getFromCanvas(h.id,d);d.remove();const p=(await e._structTree.getAriaAttributes(`${st}${a}`))?.get("aria-label")||"";s=t={annotationType:f.STAMP,bitmapId:u.id,bitmap:u.bitmap,pageIndex:c-1,rect:n.slice(0),rotation:r,id:a,deleted:!1,accessibilityData:{decorative:!1,altText:p},isSvg:!1,structParent:o,popupRef:l}}const n=await super.deserialize(t,e,i),{rect:r,bitmap:a,bitmapUrl:o,bitmapId:l,isSvg:h,accessibilityData:c}=t;if(l&&i.imageManager.isValidId(l)){n.#ja=l;a&&(n.#za=a)}else n.#Va=o;n.#Ya=h;const[d,u]=n.pageDimensions;n.width=(r[2]-r[0])/d;n.height=(r[3]-r[1])/u;n.annotationElementId=t.id||null;c&&(n.altTextData=c);n._initialData=s;n.#Ka=!!s;return n}serialize(t=!1,e=null){if(this.isEmpty())return null;if(this.deleted)return this.serializeDeleted();const i={annotationType:f.STAMP,bitmapId:this.#ja,pageIndex:this.pageIndex,rect:this.getRect(0,0),rotation:this.rotation,isSvg:this.#Ya,structTreeParentId:this._structTreeParentId};if(t){i.bitmapUrl=this.#so(!0);i.accessibilityData=this.serializeAltText(!0);return i}const{decorative:s,altText:n}=this.serializeAltText(!1);!s&&n&&(i.accessibilityData={type:"Figure",alt:n});if(this.annotationElementId){const t=this.#Gn(i);if(t.isSame)return null;t.isSameAltText?delete i.accessibilityData:i.accessibilityData.structParent=this._initialData.structParent??-1}i.id=this.annotationElementId;if(null===e)return i;e.stamps||=new Map;const r=this.#Ya?(i.rect[2]-i.rect[0])*(i.rect[3]-i.rect[1]):null;if(e.stamps.has(this.#ja)){if(this.#Ya){const t=e.stamps.get(this.#ja);if(r>t.area){t.area=r;t.serialized.bitmap.close();t.serialized.bitmap=this.#so(!1)}}}else{e.stamps.set(this.#ja,{area:r,serialized:i});i.bitmap=this.#so(!1)}return i}#Gn(t){const{pageIndex:e,accessibilityData:{altText:i}}=this._initialData,s=t.pageIndex===e,n=(t.accessibilityData?.alt||"")===i;return{isSame:!this._hasBeenMoved&&!this._hasBeenResized&&s&&n,isSameAltText:n}}renderAnnotationElement(t){t.updateEdited({rect:this.getRect(0,0)});return null}}class AnnotationEditorLayer{#Cn;#no=!1;#ro=null;#ao=null;#oo=null;#lo=new Map;#ho=!1;#co=!1;#do=!1;#uo=null;#po=null;#go=null;#fo=null;#f;static _initialized=!1;static#z=new Map([FreeTextEditor,InkEditor,StampEditor,HighlightEditor].map((t=>[t._editorType,t])));constructor({uiManager:t,pageIndex:e,div:i,structTreeLayer:s,accessibilityManager:n,annotationLayer:r,drawLayer:a,textLayer:o,viewport:l,l10n:h}){const c=[...AnnotationEditorLayer.#z.values()];if(!AnnotationEditorLayer._initialized){AnnotationEditorLayer._initialized=!0;for(const e of c)e.initialize(h,t)}t.registerEditorTypes(c);this.#f=t;this.pageIndex=e;this.div=i;this.#Cn=n;this.#ro=r;this.viewport=l;this.#go=o;this.drawLayer=a;this._structTree=s;this.#f.addLayer(this)}get isEmpty(){return 0===this.#lo.size}get isInvisible(){return this.isEmpty&&this.#f.getMode()===f.NONE}updateToolbar(t){this.#f.updateToolbar(t)}updateMode(t=this.#f.getMode()){this.#mo();switch(t){case f.NONE:this.disableTextSelection();this.togglePointerEvents(!1);this.toggleAnnotationLayerPointerEvents(!0);this.disableClick();return;case f.INK:this.disableTextSelection();this.togglePointerEvents(!0);this.enableClick();break;case f.HIGHLIGHT:this.enableTextSelection();this.togglePointerEvents(!1);this.disableClick();break;default:this.disableTextSelection();this.togglePointerEvents(!0);this.enableClick()}this.toggleAnnotationLayerPointerEvents(!1);const{classList:e}=this.div;for(const i of AnnotationEditorLayer.#z.values())e.toggle(`${i._type}Editing`,t===i._editorType);this.div.hidden=!1}hasTextLayer(t){return t===this.#go?.div}setEditingState(t){this.#f.setEditingState(t)}addCommands(t){this.#f.addCommands(t)}cleanUndoStack(t){this.#f.cleanUndoStack(t)}toggleDrawing(t=!1){this.div.classList.toggle("drawing",!t)}togglePointerEvents(t=!1){this.div.classList.toggle("disabled",!t)}toggleAnnotationLayerPointerEvents(t=!1){this.#ro?.div.classList.toggle("disabled",!t)}async enable(){this.#do=!0;this.div.tabIndex=0;this.togglePointerEvents(!0);const t=new Set;for(const e of this.#lo.values()){e.enableEditing();e.show(!0);if(e.annotationElementId){this.#f.removeChangedExistingAnnotation(e);t.add(e.annotationElementId)}}if(!this.#ro){this.#do=!1;return}const e=this.#ro.getEditableAnnotations();for(const i of e){i.hide();if(this.#f.isDeletedAnnotationElement(i.data.id))continue;if(t.has(i.data.id))continue;const e=await this.deserialize(i);if(e){this.addOrRebuild(e);e.enableEditing()}}this.#do=!1}disable(){this.#co=!0;this.div.tabIndex=-1;this.togglePointerEvents(!1);const t=new Map,e=new Map;for(const i of this.#lo.values()){i.disableEditing();if(i.annotationElementId)if(null===i.serialize()){e.set(i.annotationElementId,i);this.getEditableAnnotation(i.annotationElementId)?.show();i.remove()}else t.set(i.annotationElementId,i)}if(this.#ro){const i=this.#ro.getEditableAnnotations();for(const s of i){const{id:i}=s.data;if(this.#f.isDeletedAnnotationElement(i))continue;let n=e.get(i);if(n){n.resetAnnotationElement(s);n.show(!1);s.show()}else{n=t.get(i);if(n){this.#f.addChangedExistingAnnotation(n);n.renderAnnotationElement(s)&&n.show(!1)}s.show()}}}this.#mo();this.isEmpty&&(this.div.hidden=!0);const{classList:i}=this.div;for(const t of AnnotationEditorLayer.#z.values())i.remove(`${t._type}Editing`);this.disableTextSelection();this.toggleAnnotationLayerPointerEvents(!0);this.#co=!1}getEditableAnnotation(t){return this.#ro?.getEditableAnnotation(t)||null}setActiveEditor(t){this.#f.getActive()!==t&&this.#f.setActiveEditor(t)}enableTextSelection(){this.div.tabIndex=-1;if(this.#go?.div&&!this.#fo){this.#fo=new AbortController;const t=this.#f.combinedSignal(this.#fo);this.#go.div.addEventListener("pointerdown",this.#bo.bind(this),{signal:t});this.#go.div.classList.add("highlighting")}}disableTextSelection(){this.div.tabIndex=0;if(this.#go?.div&&this.#fo){this.#fo.abort();this.#fo=null;this.#go.div.classList.remove("highlighting")}}#bo(t){this.#f.unselectAll();const{target:e}=t;if(e===this.#go.div||("img"===e.getAttribute("role")||e.classList.contains("endOfContent"))&&this.#go.div.contains(e)){const{isMac:e}=util_FeatureTest.platform;if(0!==t.button||t.ctrlKey&&e)return;this.#f.showAllEditors("highlight",!0,!0);this.#go.div.classList.add("free");this.toggleDrawing();HighlightEditor.startHighlighting(this,"ltr"===this.#f.direction,{target:this.#go.div,x:t.x,y:t.y});this.#go.div.addEventListener("pointerup",(()=>{this.#go.div.classList.remove("free");this.toggleDrawing(!0)}),{once:!0,signal:this.#f._signal});t.preventDefault()}}enableClick(){if(this.#ao)return;this.#ao=new AbortController;const t=this.#f.combinedSignal(this.#ao);this.div.addEventListener("pointerdown",this.pointerdown.bind(this),{signal:t});const e=this.pointerup.bind(this);this.div.addEventListener("pointerup",e,{signal:t});this.div.addEventListener("pointercancel",e,{signal:t})}disableClick(){this.#ao?.abort();this.#ao=null}attach(t){this.#lo.set(t.id,t);const{annotationElementId:e}=t;e&&this.#f.isDeletedAnnotationElement(e)&&this.#f.removeDeletedAnnotationElement(t)}detach(t){this.#lo.delete(t.id);this.#Cn?.removePointerInTextLayer(t.contentDiv);!this.#co&&t.annotationElementId&&this.#f.addDeletedAnnotationElement(t)}remove(t){this.detach(t);this.#f.removeEditor(t);t.div.remove();t.isAttachedToDOM=!1}changeParent(t){if(t.parent!==this){if(t.parent&&t.annotationElementId){this.#f.addDeletedAnnotationElement(t.annotationElementId);AnnotationEditor.deleteAnnotationElement(t);t.annotationElementId=null}this.attach(t);t.parent?.detach(t);t.setParent(this);if(t.div&&t.isAttachedToDOM){t.div.remove();this.div.append(t.div)}}}add(t){if(t.parent!==this||!t.isAttachedToDOM){this.changeParent(t);this.#f.addEditor(t);this.attach(t);if(!t.isAttachedToDOM){const e=t.render();this.div.append(e);t.isAttachedToDOM=!0}t.fixAndSetPosition();t.onceAdded(!this.#do);this.#f.addToAnnotationStorage(t);t._reportTelemetry(t.telemetryInitialData)}}moveEditorInDOM(t){if(!t.isAttachedToDOM)return;const{activeElement:e}=document;if(t.div.contains(e)&&!this.#oo){t._focusEventsAllowed=!1;this.#oo=setTimeout((()=>{this.#oo=null;if(t.div.contains(document.activeElement))t._focusEventsAllowed=!0;else{t.div.addEventListener("focusin",(()=>{t._focusEventsAllowed=!0}),{once:!0,signal:this.#f._signal});e.focus()}}),0)}t._structTreeParentId=this.#Cn?.moveElementInDOM(this.div,t.div,t.contentDiv,!0)}addOrRebuild(t){if(t.needsToBeRebuilt()){t.parent||=this;t.rebuild();t.show()}else this.add(t)}addUndoableEditor(t){this.addCommands({cmd:()=>t._uiManager.rebuild(t),undo:()=>{t.remove()},mustExec:!1})}getNextId(){return this.#f.getId()}get#vo(){return AnnotationEditorLayer.#z.get(this.#f.getMode())}combinedSignal(t){return this.#f.combinedSignal(t)}#yo(t){const e=this.#vo;return e?new e.prototype.constructor(t):null}canCreateNewEmptyEditor(){return this.#vo?.canCreateNewEmptyEditor()}pasteEditor(t,e){this.#f.updateToolbar(t);this.#f.updateMode(t);const{offsetX:i,offsetY:s}=this.#wo(),n=this.getNextId(),r=this.#yo({parent:this,id:n,x:i,y:s,uiManager:this.#f,isCentered:!0,...e});r&&this.add(r)}async deserialize(t){return await(AnnotationEditorLayer.#z.get(t.annotationType??t.annotationEditorType)?.deserialize(t,this,this.#f))||null}createAndAddNewEditor(t,e,i={}){const s=this.getNextId(),n=this.#yo({parent:this,id:s,x:t.offsetX,y:t.offsetY,uiManager:this.#f,isCentered:e,...i});n&&this.add(n);return n}#wo(){const{x:t,y:e,width:i,height:s}=this.div.getBoundingClientRect(),n=Math.max(0,t),r=Math.max(0,e),a=(n+Math.min(window.innerWidth,t+i))/2-t,o=(r+Math.min(window.innerHeight,e+s))/2-e,[l,h]=this.viewport.rotation%180==0?[a,o]:[o,a];return{offsetX:l,offsetY:h}}addNewEditor(){this.createAndAddNewEditor(this.#wo(),!0)}setSelected(t){this.#f.setSelected(t)}toggleSelected(t){this.#f.toggleSelected(t)}unselect(t){this.#f.unselect(t)}pointerup(t){const{isMac:e}=util_FeatureTest.platform;if(!(0!==t.button||t.ctrlKey&&e)&&t.target===this.div&&this.#ho){this.#ho=!1;this.#vo?.isDrawer&&this.#vo.supportMultipleDrawings||(this.#no?this.#f.getMode()!==f.STAMP?this.createAndAddNewEditor(t,!1):this.#f.unselectAll():this.#no=!0)}}pointerdown(t){this.#f.getMode()===f.HIGHLIGHT&&this.enableTextSelection();if(this.#ho){this.#ho=!1;return}const{isMac:e}=util_FeatureTest.platform;if(0!==t.button||t.ctrlKey&&e)return;if(t.target!==this.div)return;this.#ho=!0;if(this.#vo?.isDrawer){this.startDrawingSession(t);return}const i=this.#f.getActive();this.#no=!i||i.isEmpty()}startDrawingSession(t){this.div.focus();if(this.#uo){this.#vo.startDrawing(this,this.#f,!1,t);return}this.#f.setCurrentDrawingSession(this);this.#uo=new AbortController;const e=this.#f.combinedSignal(this.#uo);this.div.addEventListener("blur",(({relatedTarget:t})=>{if(t&&!this.div.contains(t)){this.#po=null;this.commitOrRemove()}}),{signal:e});this.#vo.startDrawing(this,this.#f,!1,t)}pause(t){if(t){const{activeElement:t}=document;this.div.contains(t)&&(this.#po=t)}else this.#po&&setTimeout((()=>{this.#po?.focus();this.#po=null}),0)}endDrawingSession(t=!1){if(!this.#uo)return null;this.#f.setCurrentDrawingSession(null);this.#uo.abort();this.#uo=null;this.#po=null;return this.#vo.endDrawing(t)}findNewParent(t,e,i){const s=this.#f.findParent(e,i);if(null===s||s===this)return!1;s.changeParent(t);return!0}commitOrRemove(){if(this.#uo){this.endDrawingSession();return!0}return!1}onScaleChanging(){this.#uo&&this.#vo.onScaleChangingWhenDrawing(this)}destroy(){this.commitOrRemove();if(this.#f.getActive()?.parent===this){this.#f.commitOrRemove();this.#f.setActiveEditor(null)}if(this.#oo){clearTimeout(this.#oo);this.#oo=null}for(const t of this.#lo.values()){this.#Cn?.removePointerInTextLayer(t.contentDiv);t.setParent(null);t.isAttachedToDOM=!1;t.div.remove()}this.div=null;this.#lo.clear();this.#f.removeLayer(this)}#mo(){for(const t of this.#lo.values())t.isEmpty()&&t.remove()}render({viewport:t}){this.viewport=t;setLayerDimensions(this.div,t);for(const t of this.#f.getEditors(this.pageIndex)){this.add(t);t.rebuild()}this.updateMode()}update({viewport:t}){this.#f.commitOrRemove();this.#mo();const e=this.viewport.rotation,i=t.rotation;this.viewport=t;setLayerDimensions(this.div,{rotation:i});if(e!==i)for(const t of this.#lo.values())t.rotate(i)}get pageDimensions(){const{pageWidth:t,pageHeight:e}=this.viewport.rawDims;return[t,e]}get scale(){return this.#f.viewParameters.realScale}}class DrawLayer{#nn=null;#y=0;#Ao=new Map;#xo=new Map;constructor({pageIndex:t}){this.pageIndex=t}setParent(t){if(this.#nn){if(this.#nn!==t){if(this.#Ao.size>0)for(const e of this.#Ao.values()){e.remove();t.append(e)}this.#nn=t}}else this.#nn=t}static get _svgFactory(){return shadow(this,"_svgFactory",new DOMSVGFactory)}static#_o(t,[e,i,s,n]){const{style:r}=t;r.top=100*i+"%";r.left=100*e+"%";r.width=100*s+"%";r.height=100*n+"%"}#Eo(){const t=DrawLayer._svgFactory.create(1,1,!0);this.#nn.append(t);t.setAttribute("aria-hidden",!0);return t}#So(t,e){const i=DrawLayer._svgFactory.createElement("clipPath");t.append(i);const s=`clip_${e}`;i.setAttribute("id",s);i.setAttribute("clipPathUnits","objectBoundingBox");const n=DrawLayer._svgFactory.createElement("use");i.append(n);n.setAttribute("href",`#${e}`);n.classList.add("clip");return s}#Co(t,e){for(const[i,s]of Object.entries(e))null===s?t.removeAttribute(i):t.setAttribute(i,s)}draw(t,e=!1,i=!1){const s=this.#y++,n=this.#Eo(),r=DrawLayer._svgFactory.createElement("defs");n.append(r);const a=DrawLayer._svgFactory.createElement("path");r.append(a);const o=`path_p${this.pageIndex}_${s}`;a.setAttribute("id",o);a.setAttribute("vector-effect","non-scaling-stroke");e&&this.#xo.set(s,a);const l=i?this.#So(r,o):null,h=DrawLayer._svgFactory.createElement("use");n.append(h);h.setAttribute("href",`#${o}`);this.updateProperties(n,t);this.#Ao.set(s,n);return{id:s,clipPathId:`url(#${l})`}}drawOutline(t,e){const i=this.#y++,s=this.#Eo(),n=DrawLayer._svgFactory.createElement("defs");s.append(n);const r=DrawLayer._svgFactory.createElement("path");n.append(r);const a=`path_p${this.pageIndex}_${i}`;r.setAttribute("id",a);r.setAttribute("vector-effect","non-scaling-stroke");let o;if(e){const t=DrawLayer._svgFactory.createElement("mask");n.append(t);o=`mask_p${this.pageIndex}_${i}`;t.setAttribute("id",o);t.setAttribute("maskUnits","objectBoundingBox");const e=DrawLayer._svgFactory.createElement("rect");t.append(e);e.setAttribute("width","1");e.setAttribute("height","1");e.setAttribute("fill","white");const s=DrawLayer._svgFactory.createElement("use");t.append(s);s.setAttribute("href",`#${a}`);s.setAttribute("stroke","none");s.setAttribute("fill","black");s.setAttribute("fill-rule","nonzero");s.classList.add("mask")}const l=DrawLayer._svgFactory.createElement("use");s.append(l);l.setAttribute("href",`#${a}`);o&&l.setAttribute("mask",`url(#${o})`);const h=l.cloneNode();s.append(h);l.classList.add("mainOutline");h.classList.add("secondaryOutline");this.updateProperties(s,t);this.#Ao.set(i,s);return i}finalizeDraw(t,e){this.#xo.delete(t);this.updateProperties(t,e)}updateProperties(t,e){if(!e)return;const{root:i,bbox:s,rootClass:n,path:r}=e,a="number"==typeof t?this.#Ao.get(t):t;if(a){i&&this.#Co(a,i);s&&DrawLayer.#_o(a,s);if(n){const{classList:t}=a;for(const[e,i]of Object.entries(n))t.toggle(e,i)}if(r){const t=a.firstChild.firstChild;this.#Co(t,r)}}}updateParent(t,e){if(e===this)return;const i=this.#Ao.get(t);if(i){e.#nn.append(i);this.#Ao.delete(t);e.#Ao.set(t,i)}}remove(t){this.#xo.delete(t);if(null!==this.#nn){this.#Ao.get(t).remove();this.#Ao.delete(t)}}destroy(){this.#nn=null;for(const t of this.#Ao.values())t.remove();this.#Ao.clear();this.#xo.clear()}}globalThis.pdfjsTestingUtils={HighlightOutliner};var Gt=__webpack_exports__.AbortException,Vt=__webpack_exports__.AnnotationEditorLayer,$t=__webpack_exports__.AnnotationEditorParamsType,Wt=__webpack_exports__.AnnotationEditorType,qt=__webpack_exports__.AnnotationEditorUIManager,Xt=__webpack_exports__.AnnotationLayer,Yt=__webpack_exports__.AnnotationMode,Kt=__webpack_exports__.ColorPicker,Qt=__webpack_exports__.DOMSVGFactory,Jt=__webpack_exports__.DrawLayer,Zt=__webpack_exports__.FeatureTest,te=__webpack_exports__.GlobalWorkerOptions,ee=__webpack_exports__.ImageKind,ie=__webpack_exports__.InvalidPDFException,se=__webpack_exports__.MissingPDFException,ne=__webpack_exports__.OPS,re=__webpack_exports__.OutputScale,ae=__webpack_exports__.PDFDataRangeTransport,oe=__webpack_exports__.PDFDateString,le=__webpack_exports__.PDFWorker,he=__webpack_exports__.PasswordResponses,ce=__webpack_exports__.PermissionFlag,de=__webpack_exports__.PixelsPerInch,ue=__webpack_exports__.RenderingCancelledException,pe=__webpack_exports__.TextLayer,ge=__webpack_exports__.TouchManager,fe=__webpack_exports__.UnexpectedResponseException,me=__webpack_exports__.Util,be=__webpack_exports__.VerbosityLevel,ve=__webpack_exports__.XfaLayer,ye=__webpack_exports__.build,we=__webpack_exports__.createValidAbsoluteUrl,Ae=__webpack_exports__.fetchData,xe=__webpack_exports__.getDocument,_e=__webpack_exports__.getFilenameFromUrl,Ee=__webpack_exports__.getPdfFilenameFromUrl,Se=__webpack_exports__.getXfaPageViewport,Ce=__webpack_exports__.isDataScheme,Te=__webpack_exports__.isPdfFile,Me=__webpack_exports__.noContextMenu,Pe=__webpack_exports__.normalizeUnicode,De=__webpack_exports__.setLayerDimensions,ke=__webpack_exports__.shadow,Re=__webpack_exports__.stopEvent,Ie=__webpack_exports__.version;export{Gt as AbortException,Vt as AnnotationEditorLayer,$t as AnnotationEditorParamsType,Wt as AnnotationEditorType,qt as AnnotationEditorUIManager,Xt as AnnotationLayer,Yt as AnnotationMode,Kt as ColorPicker,Qt as DOMSVGFactory,Jt as DrawLayer,Zt as FeatureTest,te as GlobalWorkerOptions,ee as ImageKind,ie as InvalidPDFException,se as MissingPDFException,ne as OPS,re as OutputScale,ae as PDFDataRangeTransport,oe as PDFDateString,le as PDFWorker,he as PasswordResponses,ce as PermissionFlag,de as PixelsPerInch,ue as RenderingCancelledException,pe as TextLayer,ge as TouchManager,fe as UnexpectedResponseException,me as Util,be as VerbosityLevel,ve as XfaLayer,ye as build,we as createValidAbsoluteUrl,Ae as fetchData,xe as getDocument,_e as getFilenameFromUrl,Ee as getPdfFilenameFromUrl,Se as getXfaPageViewport,Ce as isDataScheme,Te as isPdfFile,Me as noContextMenu,Pe as normalizeUnicode,De as setLayerDimensions,ke as shadow,Re as stopEvent,Ie as version}; \ No newline at end of file diff --git a/apps/gui/ui/vendor/pdf.worker.min.mjs b/apps/gui/ui/vendor/pdf.worker.min.mjs new file mode 100644 index 0000000..c347e56 --- /dev/null +++ b/apps/gui/ui/vendor/pdf.worker.min.mjs @@ -0,0 +1,21 @@ +/** + * @licstart The following is the entire license notice for the + * JavaScript code in this page + * + * Copyright 2024 Mozilla Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + * @licend The above is the entire license notice for the + * JavaScript code in this page + */var e={9306:(e,t,i)=>{var a=i(4901),r=i(6823),s=TypeError;e.exports=function(e){if(a(e))return e;throw new s(r(e)+" is not a function")}},3506:(e,t,i)=>{var a=i(3925),r=String,s=TypeError;e.exports=function(e){if(a(e))return e;throw new s("Can't set "+r(e)+" as a prototype")}},7080:(e,t,i)=>{var a=i(4402).has;e.exports=function(e){a(e);return e}},679:(e,t,i)=>{var a=i(1625),r=TypeError;e.exports=function(e,t){if(a(t,e))return e;throw new r("Incorrect invocation")}},8551:(e,t,i)=>{var a=i(34),r=String,s=TypeError;e.exports=function(e){if(a(e))return e;throw new s(r(e)+" is not an object")}},7811:e=>{e.exports="undefined"!=typeof ArrayBuffer&&"undefined"!=typeof DataView},7394:(e,t,i)=>{var a=i(4576),r=i(6706),s=i(2195),n=a.ArrayBuffer,o=a.TypeError;e.exports=n&&r(n.prototype,"byteLength","get")||function(e){if("ArrayBuffer"!==s(e))throw new o("ArrayBuffer expected");return e.byteLength}},3238:(e,t,i)=>{var a=i(4576),r=i(7476),s=i(7394),n=a.ArrayBuffer,o=n&&n.prototype,g=o&&r(o.slice);e.exports=function(e){if(0!==s(e))return!1;if(!g)return!1;try{g(e,0,0);return!1}catch(e){return!0}}},5169:(e,t,i)=>{var a=i(3238),r=TypeError;e.exports=function(e){if(a(e))throw new r("ArrayBuffer is detached");return e}},5636:(e,t,i)=>{var a=i(4576),r=i(9504),s=i(6706),n=i(7696),o=i(5169),g=i(7394),c=i(4483),l=i(1548),h=a.structuredClone,C=a.ArrayBuffer,Q=a.DataView,E=Math.min,u=C.prototype,d=Q.prototype,f=r(u.slice),p=s(u,"resizable","get"),m=s(u,"maxByteLength","get"),y=r(d.getInt8),w=r(d.setInt8);e.exports=(l||c)&&function(e,t,i){var a,r=g(e),s=void 0===t?r:n(t),u=!p||!p(e);o(e);if(l){e=h(e,{transfer:[e]});if(r===s&&(i||u))return e}if(r>=s&&(!i||u))a=f(e,0,s);else{var d=i&&!u&&m?{maxByteLength:m(e)}:void 0;a=new C(s,d);for(var b=new Q(e),D=new Q(a),S=E(s,r),k=0;k{var a,r,s,n=i(7811),o=i(3724),g=i(4576),c=i(4901),l=i(34),h=i(9297),C=i(6955),Q=i(6823),E=i(6699),u=i(6840),d=i(2106),f=i(1625),p=i(2787),m=i(2967),y=i(8227),w=i(3392),b=i(1181),D=b.enforce,S=b.get,k=g.Int8Array,R=k&&k.prototype,N=g.Uint8ClampedArray,G=N&&N.prototype,M=k&&p(k),U=R&&p(R),x=Object.prototype,L=g.TypeError,H=y("toStringTag"),J=w("TYPED_ARRAY_TAG"),v="TypedArrayConstructor",Y=n&&!!m&&"Opera"!==C(g.opera),K=!1,T={Int8Array:1,Uint8Array:1,Uint8ClampedArray:1,Int16Array:2,Uint16Array:2,Int32Array:4,Uint32Array:4,Float32Array:4,Float64Array:8},q={BigInt64Array:8,BigUint64Array:8},getTypedArrayConstructor=function(e){var t=p(e);if(l(t)){var i=S(t);return i&&h(i,v)?i[v]:getTypedArrayConstructor(t)}},isTypedArray=function(e){if(!l(e))return!1;var t=C(e);return h(T,t)||h(q,t)};for(a in T)(s=(r=g[a])&&r.prototype)?D(s)[v]=r:Y=!1;for(a in q)(s=(r=g[a])&&r.prototype)&&(D(s)[v]=r);if(!Y||!c(M)||M===Function.prototype){M=function TypedArray(){throw new L("Incorrect invocation")};if(Y)for(a in T)g[a]&&m(g[a],M)}if(!Y||!U||U===x){U=M.prototype;if(Y)for(a in T)g[a]&&m(g[a].prototype,U)}Y&&p(G)!==U&&m(G,U);if(o&&!h(U,H)){K=!0;d(U,H,{configurable:!0,get:function(){return l(this)?this[J]:void 0}});for(a in T)g[a]&&E(g[a],J,a)}e.exports={NATIVE_ARRAY_BUFFER_VIEWS:Y,TYPED_ARRAY_TAG:K&&J,aTypedArray:function(e){if(isTypedArray(e))return e;throw new L("Target is not a typed array")},aTypedArrayConstructor:function(e){if(c(e)&&(!m||f(M,e)))return e;throw new L(Q(e)+" is not a typed array constructor")},exportTypedArrayMethod:function(e,t,i,a){if(o){if(i)for(var r in T){var s=g[r];if(s&&h(s.prototype,e))try{delete s.prototype[e]}catch(i){try{s.prototype[e]=t}catch(e){}}}U[e]&&!i||u(U,e,i?t:Y&&R[e]||t,a)}},exportTypedArrayStaticMethod:function(e,t,i){var a,r;if(o){if(m){if(i)for(a in T)if((r=g[a])&&h(r,e))try{delete r[e]}catch(e){}if(M[e]&&!i)return;try{return u(M,e,i?t:Y&&M[e]||t)}catch(e){}}for(a in T)!(r=g[a])||r[e]&&!i||u(r,e,t)}},getTypedArrayConstructor,isView:function isView(e){if(!l(e))return!1;var t=C(e);return"DataView"===t||h(T,t)||h(q,t)},isTypedArray,TypedArray:M,TypedArrayPrototype:U}},5370:(e,t,i)=>{var a=i(6198);e.exports=function(e,t,i){for(var r=0,s=arguments.length>2?i:a(t),n=new e(s);s>r;)n[r]=t[r++];return n}},9617:(e,t,i)=>{var a=i(5397),r=i(5610),s=i(6198),createMethod=function(e){return function(t,i,n){var o=a(t),g=s(o);if(0===g)return!e&&-1;var c,l=r(n,g);if(e&&i!=i){for(;g>l;)if((c=o[l++])!=c)return!0}else for(;g>l;l++)if((e||l in o)&&o[l]===i)return e||l||0;return!e&&-1}};e.exports={includes:createMethod(!0),indexOf:createMethod(!1)}},4527:(e,t,i)=>{var a=i(3724),r=i(4376),s=TypeError,n=Object.getOwnPropertyDescriptor,o=a&&!function(){if(void 0!==this)return!0;try{Object.defineProperty([],"length",{writable:!1}).length=1}catch(e){return e instanceof TypeError}}();e.exports=o?function(e,t){if(r(e)&&!n(e,"length").writable)throw new s("Cannot set read only .length");return e.length=t}:function(e,t){return e.length=t}},7680:(e,t,i)=>{var a=i(9504);e.exports=a([].slice)},7628:(e,t,i)=>{var a=i(6198);e.exports=function(e,t){for(var i=a(e),r=new t(i),s=0;s{var a=i(6198),r=i(1291),s=RangeError;e.exports=function(e,t,i,n){var o=a(e),g=r(i),c=g<0?o+g:g;if(c>=o||c<0)throw new s("Incorrect index");for(var l=new t(o),h=0;h{var a=i(8551),r=i(9539);e.exports=function(e,t,i,s){try{return s?t(a(i)[0],i[1]):t(i)}catch(t){r(e,"throw",t)}}},2195:(e,t,i)=>{var a=i(9504),r=a({}.toString),s=a("".slice);e.exports=function(e){return s(r(e),8,-1)}},6955:(e,t,i)=>{var a=i(2140),r=i(4901),s=i(2195),n=i(8227)("toStringTag"),o=Object,g="Arguments"===s(function(){return arguments}());e.exports=a?s:function(e){var t,i,a;return void 0===e?"Undefined":null===e?"Null":"string"==typeof(i=function(e,t){try{return e[t]}catch(e){}}(t=o(e),n))?i:g?s(t):"Object"===(a=s(t))&&r(t.callee)?"Arguments":a}},7740:(e,t,i)=>{var a=i(9297),r=i(5031),s=i(7347),n=i(4913);e.exports=function(e,t,i){for(var o=r(t),g=n.f,c=s.f,l=0;l{var a=i(9039);e.exports=!a((function(){function F(){}F.prototype.constructor=null;return Object.getPrototypeOf(new F)!==F.prototype}))},2529:e=>{e.exports=function(e,t){return{value:e,done:t}}},6699:(e,t,i)=>{var a=i(3724),r=i(4913),s=i(6980);e.exports=a?function(e,t,i){return r.f(e,t,s(1,i))}:function(e,t,i){e[t]=i;return e}},6980:e=>{e.exports=function(e,t){return{enumerable:!(1&e),configurable:!(2&e),writable:!(4&e),value:t}}},4659:(e,t,i)=>{var a=i(3724),r=i(4913),s=i(6980);e.exports=function(e,t,i){a?r.f(e,t,s(0,i)):e[t]=i}},2106:(e,t,i)=>{var a=i(283),r=i(4913);e.exports=function(e,t,i){i.get&&a(i.get,t,{getter:!0});i.set&&a(i.set,t,{setter:!0});return r.f(e,t,i)}},6840:(e,t,i)=>{var a=i(4901),r=i(4913),s=i(283),n=i(9433);e.exports=function(e,t,i,o){o||(o={});var g=o.enumerable,c=void 0!==o.name?o.name:t;a(i)&&s(i,c,o);if(o.global)g?e[t]=i:n(t,i);else{try{o.unsafe?e[t]&&(g=!0):delete e[t]}catch(e){}g?e[t]=i:r.f(e,t,{value:i,enumerable:!1,configurable:!o.nonConfigurable,writable:!o.nonWritable})}return e}},6279:(e,t,i)=>{var a=i(6840);e.exports=function(e,t,i){for(var r in t)a(e,r,t[r],i);return e}},9433:(e,t,i)=>{var a=i(4576),r=Object.defineProperty;e.exports=function(e,t){try{r(a,e,{value:t,configurable:!0,writable:!0})}catch(i){a[e]=t}return t}},3724:(e,t,i)=>{var a=i(9039);e.exports=!a((function(){return 7!==Object.defineProperty({},1,{get:function(){return 7}})[1]}))},4483:(e,t,i)=>{var a,r,s,n,o=i(4576),g=i(9429),c=i(1548),l=o.structuredClone,h=o.ArrayBuffer,C=o.MessageChannel,Q=!1;if(c)Q=function(e){l(e,{transfer:[e]})};else if(h)try{C||(a=g("worker_threads"))&&(C=a.MessageChannel);if(C){r=new C;s=new h(2);n=function(e){r.port1.postMessage(null,[e])};if(2===s.byteLength){n(s);0===s.byteLength&&(Q=n)}}}catch(e){}e.exports=Q},4055:(e,t,i)=>{var a=i(4576),r=i(34),s=a.document,n=r(s)&&r(s.createElement);e.exports=function(e){return n?s.createElement(e):{}}},6837:e=>{var t=TypeError;e.exports=function(e){if(e>9007199254740991)throw t("Maximum allowed index exceeded");return e}},5002:e=>{e.exports={IndexSizeError:{s:"INDEX_SIZE_ERR",c:1,m:1},DOMStringSizeError:{s:"DOMSTRING_SIZE_ERR",c:2,m:0},HierarchyRequestError:{s:"HIERARCHY_REQUEST_ERR",c:3,m:1},WrongDocumentError:{s:"WRONG_DOCUMENT_ERR",c:4,m:1},InvalidCharacterError:{s:"INVALID_CHARACTER_ERR",c:5,m:1},NoDataAllowedError:{s:"NO_DATA_ALLOWED_ERR",c:6,m:0},NoModificationAllowedError:{s:"NO_MODIFICATION_ALLOWED_ERR",c:7,m:1},NotFoundError:{s:"NOT_FOUND_ERR",c:8,m:1},NotSupportedError:{s:"NOT_SUPPORTED_ERR",c:9,m:1},InUseAttributeError:{s:"INUSE_ATTRIBUTE_ERR",c:10,m:1},InvalidStateError:{s:"INVALID_STATE_ERR",c:11,m:1},SyntaxError:{s:"SYNTAX_ERR",c:12,m:1},InvalidModificationError:{s:"INVALID_MODIFICATION_ERR",c:13,m:1},NamespaceError:{s:"NAMESPACE_ERR",c:14,m:1},InvalidAccessError:{s:"INVALID_ACCESS_ERR",c:15,m:1},ValidationError:{s:"VALIDATION_ERR",c:16,m:0},TypeMismatchError:{s:"TYPE_MISMATCH_ERR",c:17,m:1},SecurityError:{s:"SECURITY_ERR",c:18,m:1},NetworkError:{s:"NETWORK_ERR",c:19,m:1},AbortError:{s:"ABORT_ERR",c:20,m:1},URLMismatchError:{s:"URL_MISMATCH_ERR",c:21,m:1},QuotaExceededError:{s:"QUOTA_EXCEEDED_ERR",c:22,m:1},TimeoutError:{s:"TIMEOUT_ERR",c:23,m:1},InvalidNodeTypeError:{s:"INVALID_NODE_TYPE_ERR",c:24,m:1},DataCloneError:{s:"DATA_CLONE_ERR",c:25,m:1}}},8727:e=>{e.exports=["constructor","hasOwnProperty","isPrototypeOf","propertyIsEnumerable","toLocaleString","toString","valueOf"]},6193:(e,t,i)=>{var a=i(4215);e.exports="NODE"===a},2839:(e,t,i)=>{var a=i(4576).navigator,r=a&&a.userAgent;e.exports=r?String(r):""},9519:(e,t,i)=>{var a,r,s=i(4576),n=i(2839),o=s.process,g=s.Deno,c=o&&o.versions||g&&g.version,l=c&&c.v8;l&&(r=(a=l.split("."))[0]>0&&a[0]<4?1:+(a[0]+a[1]));!r&&n&&(!(a=n.match(/Edge\/(\d+)/))||a[1]>=74)&&(a=n.match(/Chrome\/(\d+)/))&&(r=+a[1]);e.exports=r},4215:(e,t,i)=>{var a=i(4576),r=i(2839),s=i(2195),userAgentStartsWith=function(e){return r.slice(0,e.length)===e};e.exports=userAgentStartsWith("Bun/")?"BUN":userAgentStartsWith("Cloudflare-Workers")?"CLOUDFLARE":userAgentStartsWith("Deno/")?"DENO":userAgentStartsWith("Node.js/")?"NODE":a.Bun&&"string"==typeof Bun.version?"BUN":a.Deno&&"object"==typeof Deno.version?"DENO":"process"===s(a.process)?"NODE":a.window&&a.document?"BROWSER":"REST"},8574:(e,t,i)=>{var a=i(9504),r=Error,s=a("".replace),n=String(new r("zxcasd").stack),o=/\n\s*at [^:]*:[^\n]*/,g=o.test(n);e.exports=function(e,t){if(g&&"string"==typeof e&&!r.prepareStackTrace)for(;t--;)e=s(e,o,"");return e}},6518:(e,t,i)=>{var a=i(4576),r=i(7347).f,s=i(6699),n=i(6840),o=i(9433),g=i(7740),c=i(2796);e.exports=function(e,t){var i,l,h,C,Q,E=e.target,u=e.global,d=e.stat;if(i=u?a:d?a[E]||o(E,{}):a[E]&&a[E].prototype)for(l in t){C=t[l];h=e.dontCallGetSet?(Q=r(i,l))&&Q.value:i[l];if(!c(u?l:E+(d?".":"#")+l,e.forced)&&void 0!==h){if(typeof C==typeof h)continue;g(C,h)}(e.sham||h&&h.sham)&&s(C,"sham",!0);n(i,l,C,e)}}},9039:e=>{e.exports=function(e){try{return!!e()}catch(e){return!0}}},8745:(e,t,i)=>{var a=i(616),r=Function.prototype,s=r.apply,n=r.call;e.exports="object"==typeof Reflect&&Reflect.apply||(a?n.bind(s):function(){return n.apply(s,arguments)})},6080:(e,t,i)=>{var a=i(7476),r=i(9306),s=i(616),n=a(a.bind);e.exports=function(e,t){r(e);return void 0===t?e:s?n(e,t):function(){return e.apply(t,arguments)}}},616:(e,t,i)=>{var a=i(9039);e.exports=!a((function(){var e=function(){}.bind();return"function"!=typeof e||e.hasOwnProperty("prototype")}))},9565:(e,t,i)=>{var a=i(616),r=Function.prototype.call;e.exports=a?r.bind(r):function(){return r.apply(r,arguments)}},350:(e,t,i)=>{var a=i(3724),r=i(9297),s=Function.prototype,n=a&&Object.getOwnPropertyDescriptor,o=r(s,"name"),g=o&&"something"===function something(){}.name,c=o&&(!a||a&&n(s,"name").configurable);e.exports={EXISTS:o,PROPER:g,CONFIGURABLE:c}},6706:(e,t,i)=>{var a=i(9504),r=i(9306);e.exports=function(e,t,i){try{return a(r(Object.getOwnPropertyDescriptor(e,t)[i]))}catch(e){}}},7476:(e,t,i)=>{var a=i(2195),r=i(9504);e.exports=function(e){if("Function"===a(e))return r(e)}},9504:(e,t,i)=>{var a=i(616),r=Function.prototype,s=r.call,n=a&&r.bind.bind(s,s);e.exports=a?n:function(e){return function(){return s.apply(e,arguments)}}},9429:(e,t,i)=>{var a=i(4576),r=i(6193);e.exports=function(e){if(r){try{return a.process.getBuiltinModule(e)}catch(e){}try{return Function('return require("'+e+'")')()}catch(e){}}}},7751:(e,t,i)=>{var a=i(4576),r=i(4901);e.exports=function(e,t){return arguments.length<2?(i=a[e],r(i)?i:void 0):a[e]&&a[e][t];var i}},1767:e=>{e.exports=function(e){return{iterator:e,next:e.next,done:!1}}},851:(e,t,i)=>{var a=i(6955),r=i(5966),s=i(4117),n=i(6269),o=i(8227)("iterator");e.exports=function(e){if(!s(e))return r(e,o)||r(e,"@@iterator")||n[a(e)]}},81:(e,t,i)=>{var a=i(9565),r=i(9306),s=i(8551),n=i(6823),o=i(851),g=TypeError;e.exports=function(e,t){var i=arguments.length<2?o(e):t;if(r(i))return s(a(i,e));throw new g(n(e)+" is not iterable")}},5966:(e,t,i)=>{var a=i(9306),r=i(4117);e.exports=function(e,t){var i=e[t];return r(i)?void 0:a(i)}},3789:(e,t,i)=>{var a=i(9306),r=i(8551),s=i(9565),n=i(1291),o=i(1767),g="Invalid size",c=RangeError,l=TypeError,h=Math.max,SetRecord=function(e,t){this.set=e;this.size=h(t,0);this.has=a(e.has);this.keys=a(e.keys)};SetRecord.prototype={getIterator:function(){return o(r(s(this.keys,this.set)))},includes:function(e){return s(this.has,this.set,e)}};e.exports=function(e){r(e);var t=+e.size;if(t!=t)throw new l(g);var i=n(t);if(i<0)throw new c(g);return new SetRecord(e,i)}},4576:function(e){var check=function(e){return e&&e.Math===Math&&e};e.exports=check("object"==typeof globalThis&&globalThis)||check("object"==typeof window&&window)||check("object"==typeof self&&self)||check("object"==typeof global&&global)||check("object"==typeof this&&this)||function(){return this}()||Function("return this")()},9297:(e,t,i)=>{var a=i(9504),r=i(8981),s=a({}.hasOwnProperty);e.exports=Object.hasOwn||function hasOwn(e,t){return s(r(e),t)}},421:e=>{e.exports={}},397:(e,t,i)=>{var a=i(7751);e.exports=a("document","documentElement")},5917:(e,t,i)=>{var a=i(3724),r=i(9039),s=i(4055);e.exports=!a&&!r((function(){return 7!==Object.defineProperty(s("div"),"a",{get:function(){return 7}}).a}))},7055:(e,t,i)=>{var a=i(9504),r=i(9039),s=i(2195),n=Object,o=a("".split);e.exports=r((function(){return!n("z").propertyIsEnumerable(0)}))?function(e){return"String"===s(e)?o(e,""):n(e)}:n},3167:(e,t,i)=>{var a=i(4901),r=i(34),s=i(2967);e.exports=function(e,t,i){var n,o;s&&a(n=t.constructor)&&n!==i&&r(o=n.prototype)&&o!==i.prototype&&s(e,o);return e}},3706:(e,t,i)=>{var a=i(9504),r=i(4901),s=i(7629),n=a(Function.toString);r(s.inspectSource)||(s.inspectSource=function(e){return n(e)});e.exports=s.inspectSource},1181:(e,t,i)=>{var a,r,s,n=i(8622),o=i(4576),g=i(34),c=i(6699),l=i(9297),h=i(7629),C=i(6119),Q=i(421),E="Object already initialized",u=o.TypeError,d=o.WeakMap;if(n||h.state){var f=h.state||(h.state=new d);f.get=f.get;f.has=f.has;f.set=f.set;a=function(e,t){if(f.has(e))throw new u(E);t.facade=e;f.set(e,t);return t};r=function(e){return f.get(e)||{}};s=function(e){return f.has(e)}}else{var p=C("state");Q[p]=!0;a=function(e,t){if(l(e,p))throw new u(E);t.facade=e;c(e,p,t);return t};r=function(e){return l(e,p)?e[p]:{}};s=function(e){return l(e,p)}}e.exports={set:a,get:r,has:s,enforce:function(e){return s(e)?r(e):a(e,{})},getterFor:function(e){return function(t){var i;if(!g(t)||(i=r(t)).type!==e)throw new u("Incompatible receiver, "+e+" required");return i}}}},4209:(e,t,i)=>{var a=i(8227),r=i(6269),s=a("iterator"),n=Array.prototype;e.exports=function(e){return void 0!==e&&(r.Array===e||n[s]===e)}},4376:(e,t,i)=>{var a=i(2195);e.exports=Array.isArray||function isArray(e){return"Array"===a(e)}},1108:(e,t,i)=>{var a=i(6955);e.exports=function(e){var t=a(e);return"BigInt64Array"===t||"BigUint64Array"===t}},4901:e=>{var t="object"==typeof document&&document.all;e.exports=void 0===t&&void 0!==t?function(e){return"function"==typeof e||e===t}:function(e){return"function"==typeof e}},2796:(e,t,i)=>{var a=i(9039),r=i(4901),s=/#|\.prototype\./,isForced=function(e,t){var i=o[n(e)];return i===c||i!==g&&(r(t)?a(t):!!t)},n=isForced.normalize=function(e){return String(e).replace(s,".").toLowerCase()},o=isForced.data={},g=isForced.NATIVE="N",c=isForced.POLYFILL="P";e.exports=isForced},4117:e=>{e.exports=function(e){return null==e}},34:(e,t,i)=>{var a=i(4901);e.exports=function(e){return"object"==typeof e?null!==e:a(e)}},3925:(e,t,i)=>{var a=i(34);e.exports=function(e){return a(e)||null===e}},6395:e=>{e.exports=!1},757:(e,t,i)=>{var a=i(7751),r=i(4901),s=i(1625),n=i(7040),o=Object;e.exports=n?function(e){return"symbol"==typeof e}:function(e){var t=a("Symbol");return r(t)&&s(t.prototype,o(e))}},507:(e,t,i)=>{var a=i(9565);e.exports=function(e,t,i){for(var r,s,n=i?e:e.iterator,o=e.next;!(r=a(o,n)).done;)if(void 0!==(s=t(r.value)))return s}},2652:(e,t,i)=>{var a=i(6080),r=i(9565),s=i(8551),n=i(6823),o=i(4209),g=i(6198),c=i(1625),l=i(81),h=i(851),C=i(9539),Q=TypeError,Result=function(e,t){this.stopped=e;this.result=t},E=Result.prototype;e.exports=function(e,t,i){var u,d,f,p,m,y,w,b=i&&i.that,D=!(!i||!i.AS_ENTRIES),S=!(!i||!i.IS_RECORD),k=!(!i||!i.IS_ITERATOR),R=!(!i||!i.INTERRUPTED),N=a(t,b),stop=function(e){u&&C(u,"normal",e);return new Result(!0,e)},callFn=function(e){if(D){s(e);return R?N(e[0],e[1],stop):N(e[0],e[1])}return R?N(e,stop):N(e)};if(S)u=e.iterator;else if(k)u=e;else{if(!(d=h(e)))throw new Q(n(e)+" is not iterable");if(o(d)){for(f=0,p=g(e);p>f;f++)if((m=callFn(e[f]))&&c(E,m))return m;return new Result(!1)}u=l(e,d)}y=S?e.next:u.next;for(;!(w=r(y,u)).done;){try{m=callFn(w.value)}catch(e){C(u,"throw",e)}if("object"==typeof m&&m&&c(E,m))return m}return new Result(!1)}},9539:(e,t,i)=>{var a=i(9565),r=i(8551),s=i(5966);e.exports=function(e,t,i){var n,o;r(e);try{if(!(n=s(e,"return"))){if("throw"===t)throw i;return i}n=a(n,e)}catch(e){o=!0;n=e}if("throw"===t)throw i;if(o)throw n;r(n);return i}},9462:(e,t,i)=>{var a=i(9565),r=i(2360),s=i(6699),n=i(6279),o=i(8227),g=i(1181),c=i(5966),l=i(7657).IteratorPrototype,h=i(2529),C=i(9539),Q=o("toStringTag"),E="IteratorHelper",u="WrapForValidIterator",d=g.set,createIteratorProxyPrototype=function(e){var t=g.getterFor(e?u:E);return n(r(l),{next:function next(){var i=t(this);if(e)return i.nextHandler();try{var a=i.done?void 0:i.nextHandler();return h(a,i.done)}catch(e){i.done=!0;throw e}},return:function(){var i=t(this),r=i.iterator;i.done=!0;if(e){var s=c(r,"return");return s?a(s,r):h(void 0,!0)}if(i.inner)try{C(i.inner.iterator,"normal")}catch(e){return C(r,"throw",e)}r&&C(r,"normal");return h(void 0,!0)}})},f=createIteratorProxyPrototype(!0),p=createIteratorProxyPrototype(!1);s(p,Q,"Iterator Helper");e.exports=function(e,t){var i=function Iterator(i,a){if(a){a.iterator=i.iterator;a.next=i.next}else a=i;a.type=t?u:E;a.nextHandler=e;a.counter=0;a.done=!1;d(this,a)};i.prototype=t?f:p;return i}},713:(e,t,i)=>{var a=i(9565),r=i(9306),s=i(8551),n=i(1767),o=i(9462),g=i(6319),c=o((function(){var e=this.iterator,t=s(a(this.next,e));if(!(this.done=!!t.done))return g(e,this.mapper,[t.value,this.counter++],!0)}));e.exports=function map(e){s(this);r(e);return new c(n(this),{mapper:e})}},7657:(e,t,i)=>{var a,r,s,n=i(9039),o=i(4901),g=i(34),c=i(2360),l=i(2787),h=i(6840),C=i(8227),Q=i(6395),E=C("iterator"),u=!1;[].keys&&("next"in(s=[].keys())?(r=l(l(s)))!==Object.prototype&&(a=r):u=!0);!g(a)||n((function(){var e={};return a[E].call(e)!==e}))?a={}:Q&&(a=c(a));o(a[E])||h(a,E,(function(){return this}));e.exports={IteratorPrototype:a,BUGGY_SAFARI_ITERATORS:u}},6269:e=>{e.exports={}},6198:(e,t,i)=>{var a=i(8014);e.exports=function(e){return a(e.length)}},283:(e,t,i)=>{var a=i(9504),r=i(9039),s=i(4901),n=i(9297),o=i(3724),g=i(350).CONFIGURABLE,c=i(3706),l=i(1181),h=l.enforce,C=l.get,Q=String,E=Object.defineProperty,u=a("".slice),d=a("".replace),f=a([].join),p=o&&!r((function(){return 8!==E((function(){}),"length",{value:8}).length})),m=String(String).split("String"),y=e.exports=function(e,t,i){"Symbol("===u(Q(t),0,7)&&(t="["+d(Q(t),/^Symbol\(([^)]*)\).*$/,"$1")+"]");i&&i.getter&&(t="get "+t);i&&i.setter&&(t="set "+t);(!n(e,"name")||g&&e.name!==t)&&(o?E(e,"name",{value:t,configurable:!0}):e.name=t);p&&i&&n(i,"arity")&&e.length!==i.arity&&E(e,"length",{value:i.arity});try{i&&n(i,"constructor")&&i.constructor?o&&E(e,"prototype",{writable:!1}):e.prototype&&(e.prototype=void 0)}catch(e){}var a=h(e);n(a,"source")||(a.source=f(m,"string"==typeof t?t:""));return e};Function.prototype.toString=y((function toString(){return s(this)&&C(this).source||c(this)}),"toString")},741:e=>{var t=Math.ceil,i=Math.floor;e.exports=Math.trunc||function trunc(e){var a=+e;return(a>0?i:t)(a)}},6043:(e,t,i)=>{var a=i(9306),r=TypeError,PromiseCapability=function(e){var t,i;this.promise=new e((function(e,a){if(void 0!==t||void 0!==i)throw new r("Bad Promise constructor");t=e;i=a}));this.resolve=a(t);this.reject=a(i)};e.exports.f=function(e){return new PromiseCapability(e)}},2603:(e,t,i)=>{var a=i(655);e.exports=function(e,t){return void 0===e?arguments.length<2?"":t:a(e)}},2360:(e,t,i)=>{var a,r=i(8551),s=i(6801),n=i(8727),o=i(421),g=i(397),c=i(4055),l=i(6119),h="prototype",C="script",Q=l("IE_PROTO"),EmptyConstructor=function(){},scriptTag=function(e){return"<"+C+">"+e+""},NullProtoObjectViaActiveX=function(e){e.write(scriptTag(""));e.close();var t=e.parentWindow.Object;e=null;return t},NullProtoObject=function(){try{a=new ActiveXObject("htmlfile")}catch(e){}NullProtoObject="undefined"!=typeof document?document.domain&&a?NullProtoObjectViaActiveX(a):function(){var e,t=c("iframe"),i="java"+C+":";t.style.display="none";g.appendChild(t);t.src=String(i);(e=t.contentWindow.document).open();e.write(scriptTag("document.F=Object"));e.close();return e.F}():NullProtoObjectViaActiveX(a);for(var e=n.length;e--;)delete NullProtoObject[h][n[e]];return NullProtoObject()};o[Q]=!0;e.exports=Object.create||function create(e,t){var i;if(null!==e){EmptyConstructor[h]=r(e);i=new EmptyConstructor;EmptyConstructor[h]=null;i[Q]=e}else i=NullProtoObject();return void 0===t?i:s.f(i,t)}},6801:(e,t,i)=>{var a=i(3724),r=i(8686),s=i(4913),n=i(8551),o=i(5397),g=i(1072);t.f=a&&!r?Object.defineProperties:function defineProperties(e,t){n(e);for(var i,a=o(t),r=g(t),c=r.length,l=0;c>l;)s.f(e,i=r[l++],a[i]);return e}},4913:(e,t,i)=>{var a=i(3724),r=i(5917),s=i(8686),n=i(8551),o=i(6969),g=TypeError,c=Object.defineProperty,l=Object.getOwnPropertyDescriptor,h="enumerable",C="configurable",Q="writable";t.f=a?s?function defineProperty(e,t,i){n(e);t=o(t);n(i);if("function"==typeof e&&"prototype"===t&&"value"in i&&Q in i&&!i[Q]){var a=l(e,t);if(a&&a[Q]){e[t]=i.value;i={configurable:C in i?i[C]:a[C],enumerable:h in i?i[h]:a[h],writable:!1}}}return c(e,t,i)}:c:function defineProperty(e,t,i){n(e);t=o(t);n(i);if(r)try{return c(e,t,i)}catch(e){}if("get"in i||"set"in i)throw new g("Accessors not supported");"value"in i&&(e[t]=i.value);return e}},7347:(e,t,i)=>{var a=i(3724),r=i(9565),s=i(8773),n=i(6980),o=i(5397),g=i(6969),c=i(9297),l=i(5917),h=Object.getOwnPropertyDescriptor;t.f=a?h:function getOwnPropertyDescriptor(e,t){e=o(e);t=g(t);if(l)try{return h(e,t)}catch(e){}if(c(e,t))return n(!r(s.f,e,t),e[t])}},8480:(e,t,i)=>{var a=i(1828),r=i(8727).concat("length","prototype");t.f=Object.getOwnPropertyNames||function getOwnPropertyNames(e){return a(e,r)}},3717:(e,t)=>{t.f=Object.getOwnPropertySymbols},2787:(e,t,i)=>{var a=i(9297),r=i(4901),s=i(8981),n=i(6119),o=i(2211),g=n("IE_PROTO"),c=Object,l=c.prototype;e.exports=o?c.getPrototypeOf:function(e){var t=s(e);if(a(t,g))return t[g];var i=t.constructor;return r(i)&&t instanceof i?i.prototype:t instanceof c?l:null}},1625:(e,t,i)=>{var a=i(9504);e.exports=a({}.isPrototypeOf)},1828:(e,t,i)=>{var a=i(9504),r=i(9297),s=i(5397),n=i(9617).indexOf,o=i(421),g=a([].push);e.exports=function(e,t){var i,a=s(e),c=0,l=[];for(i in a)!r(o,i)&&r(a,i)&&g(l,i);for(;t.length>c;)r(a,i=t[c++])&&(~n(l,i)||g(l,i));return l}},1072:(e,t,i)=>{var a=i(1828),r=i(8727);e.exports=Object.keys||function keys(e){return a(e,r)}},8773:(e,t)=>{var i={}.propertyIsEnumerable,a=Object.getOwnPropertyDescriptor,r=a&&!i.call({1:2},1);t.f=r?function propertyIsEnumerable(e){var t=a(this,e);return!!t&&t.enumerable}:i},2967:(e,t,i)=>{var a=i(6706),r=i(34),s=i(7750),n=i(3506);e.exports=Object.setPrototypeOf||("__proto__"in{}?function(){var e,t=!1,i={};try{(e=a(Object.prototype,"__proto__","set"))(i,[]);t=i instanceof Array}catch(e){}return function setPrototypeOf(i,a){s(i);n(a);if(!r(i))return i;t?e(i,a):i.__proto__=a;return i}}():void 0)},4270:(e,t,i)=>{var a=i(9565),r=i(4901),s=i(34),n=TypeError;e.exports=function(e,t){var i,o;if("string"===t&&r(i=e.toString)&&!s(o=a(i,e)))return o;if(r(i=e.valueOf)&&!s(o=a(i,e)))return o;if("string"!==t&&r(i=e.toString)&&!s(o=a(i,e)))return o;throw new n("Can't convert object to primitive value")}},5031:(e,t,i)=>{var a=i(7751),r=i(9504),s=i(8480),n=i(3717),o=i(8551),g=r([].concat);e.exports=a("Reflect","ownKeys")||function ownKeys(e){var t=s.f(o(e)),i=n.f;return i?g(t,i(e)):t}},1103:e=>{e.exports=function(e){try{return{error:!1,value:e()}}catch(e){return{error:!0,value:e}}}},7979:(e,t,i)=>{var a=i(8551);e.exports=function(){var e=a(this),t="";e.hasIndices&&(t+="d");e.global&&(t+="g");e.ignoreCase&&(t+="i");e.multiline&&(t+="m");e.dotAll&&(t+="s");e.unicode&&(t+="u");e.unicodeSets&&(t+="v");e.sticky&&(t+="y");return t}},7750:(e,t,i)=>{var a=i(4117),r=TypeError;e.exports=function(e){if(a(e))throw new r("Can't call method on "+e);return e}},9286:(e,t,i)=>{var a=i(4402),r=i(8469),s=a.Set,n=a.add;e.exports=function(e){var t=new s;r(e,(function(e){n(t,e)}));return t}},3440:(e,t,i)=>{var a=i(7080),r=i(4402),s=i(9286),n=i(5170),o=i(3789),g=i(8469),c=i(507),l=r.has,h=r.remove;e.exports=function difference(e){var t=a(this),i=o(e),r=s(t);n(t)<=i.size?g(t,(function(e){i.includes(e)&&h(r,e)})):c(i.getIterator(),(function(e){l(t,e)&&h(r,e)}));return r}},4402:(e,t,i)=>{var a=i(9504),r=Set.prototype;e.exports={Set,add:a(r.add),has:a(r.has),remove:a(r.delete),proto:r}},8750:(e,t,i)=>{var a=i(7080),r=i(4402),s=i(5170),n=i(3789),o=i(8469),g=i(507),c=r.Set,l=r.add,h=r.has;e.exports=function intersection(e){var t=a(this),i=n(e),r=new c;s(t)>i.size?g(i.getIterator(),(function(e){h(t,e)&&l(r,e)})):o(t,(function(e){i.includes(e)&&l(r,e)}));return r}},4449:(e,t,i)=>{var a=i(7080),r=i(4402).has,s=i(5170),n=i(3789),o=i(8469),g=i(507),c=i(9539);e.exports=function isDisjointFrom(e){var t=a(this),i=n(e);if(s(t)<=i.size)return!1!==o(t,(function(e){if(i.includes(e))return!1}),!0);var l=i.getIterator();return!1!==g(l,(function(e){if(r(t,e))return c(l,"normal",!1)}))}},3838:(e,t,i)=>{var a=i(7080),r=i(5170),s=i(8469),n=i(3789);e.exports=function isSubsetOf(e){var t=a(this),i=n(e);return!(r(t)>i.size)&&!1!==s(t,(function(e){if(!i.includes(e))return!1}),!0)}},8527:(e,t,i)=>{var a=i(7080),r=i(4402).has,s=i(5170),n=i(3789),o=i(507),g=i(9539);e.exports=function isSupersetOf(e){var t=a(this),i=n(e);if(s(t){var a=i(9504),r=i(507),s=i(4402),n=s.Set,o=s.proto,g=a(o.forEach),c=a(o.keys),l=c(new n).next;e.exports=function(e,t,i){return i?r({iterator:c(e),next:l},t):g(e,t)}},4916:(e,t,i)=>{var a=i(7751),createSetLike=function(e){return{size:e,has:function(){return!1},keys:function(){return{next:function(){return{done:!0}}}}}};e.exports=function(e){var t=a("Set");try{(new t)[e](createSetLike(0));try{(new t)[e](createSetLike(-1));return!1}catch(e){return!0}}catch(e){return!1}}},5170:(e,t,i)=>{var a=i(6706),r=i(4402);e.exports=a(r.proto,"size","get")||function(e){return e.size}},3650:(e,t,i)=>{var a=i(7080),r=i(4402),s=i(9286),n=i(3789),o=i(507),g=r.add,c=r.has,l=r.remove;e.exports=function symmetricDifference(e){var t=a(this),i=n(e).getIterator(),r=s(t);o(i,(function(e){c(t,e)?l(r,e):g(r,e)}));return r}},4204:(e,t,i)=>{var a=i(7080),r=i(4402).add,s=i(9286),n=i(3789),o=i(507);e.exports=function union(e){var t=a(this),i=n(e).getIterator(),g=s(t);o(i,(function(e){r(g,e)}));return g}},6119:(e,t,i)=>{var a=i(5745),r=i(3392),s=a("keys");e.exports=function(e){return s[e]||(s[e]=r(e))}},7629:(e,t,i)=>{var a=i(6395),r=i(4576),s=i(9433),n="__core-js_shared__",o=e.exports=r[n]||s(n,{});(o.versions||(o.versions=[])).push({version:"3.39.0",mode:a?"pure":"global",copyright:"© 2014-2024 Denis Pushkarev (zloirock.ru)",license:"https://github.com/zloirock/core-js/blob/v3.39.0/LICENSE",source:"https://github.com/zloirock/core-js"})},5745:(e,t,i)=>{var a=i(7629);e.exports=function(e,t){return a[e]||(a[e]=t||{})}},1548:(e,t,i)=>{var a=i(4576),r=i(9039),s=i(9519),n=i(4215),o=a.structuredClone;e.exports=!!o&&!r((function(){if("DENO"===n&&s>92||"NODE"===n&&s>94||"BROWSER"===n&&s>97)return!1;var e=new ArrayBuffer(8),t=o(e,{transfer:[e]});return 0!==e.byteLength||8!==t.byteLength}))},4495:(e,t,i)=>{var a=i(9519),r=i(9039),s=i(4576).String;e.exports=!!Object.getOwnPropertySymbols&&!r((function(){var e=Symbol("symbol detection");return!s(e)||!(Object(e)instanceof Symbol)||!Symbol.sham&&a&&a<41}))},5610:(e,t,i)=>{var a=i(1291),r=Math.max,s=Math.min;e.exports=function(e,t){var i=a(e);return i<0?r(i+t,0):s(i,t)}},5854:(e,t,i)=>{var a=i(2777),r=TypeError;e.exports=function(e){var t=a(e,"number");if("number"==typeof t)throw new r("Can't convert number to bigint");return BigInt(t)}},7696:(e,t,i)=>{var a=i(1291),r=i(8014),s=RangeError;e.exports=function(e){if(void 0===e)return 0;var t=a(e),i=r(t);if(t!==i)throw new s("Wrong length or index");return i}},5397:(e,t,i)=>{var a=i(7055),r=i(7750);e.exports=function(e){return a(r(e))}},1291:(e,t,i)=>{var a=i(741);e.exports=function(e){var t=+e;return t!=t||0===t?0:a(t)}},8014:(e,t,i)=>{var a=i(1291),r=Math.min;e.exports=function(e){var t=a(e);return t>0?r(t,9007199254740991):0}},8981:(e,t,i)=>{var a=i(7750),r=Object;e.exports=function(e){return r(a(e))}},2777:(e,t,i)=>{var a=i(9565),r=i(34),s=i(757),n=i(5966),o=i(4270),g=i(8227),c=TypeError,l=g("toPrimitive");e.exports=function(e,t){if(!r(e)||s(e))return e;var i,g=n(e,l);if(g){void 0===t&&(t="default");i=a(g,e,t);if(!r(i)||s(i))return i;throw new c("Can't convert object to primitive value")}void 0===t&&(t="number");return o(e,t)}},6969:(e,t,i)=>{var a=i(2777),r=i(757);e.exports=function(e){var t=a(e,"string");return r(t)?t:t+""}},2140:(e,t,i)=>{var a={};a[i(8227)("toStringTag")]="z";e.exports="[object z]"===String(a)},655:(e,t,i)=>{var a=i(6955),r=String;e.exports=function(e){if("Symbol"===a(e))throw new TypeError("Cannot convert a Symbol value to a string");return r(e)}},6823:e=>{var t=String;e.exports=function(e){try{return t(e)}catch(e){return"Object"}}},3392:(e,t,i)=>{var a=i(9504),r=0,s=Math.random(),n=a(1..toString);e.exports=function(e){return"Symbol("+(void 0===e?"":e)+")_"+n(++r+s,36)}},7040:(e,t,i)=>{var a=i(4495);e.exports=a&&!Symbol.sham&&"symbol"==typeof Symbol.iterator},8686:(e,t,i)=>{var a=i(3724),r=i(9039);e.exports=a&&r((function(){return 42!==Object.defineProperty((function(){}),"prototype",{value:42,writable:!1}).prototype}))},2812:e=>{var t=TypeError;e.exports=function(e,i){if(e{var a=i(4576),r=i(4901),s=a.WeakMap;e.exports=r(s)&&/native code/.test(String(s))},8227:(e,t,i)=>{var a=i(4576),r=i(5745),s=i(9297),n=i(3392),o=i(4495),g=i(7040),c=a.Symbol,l=r("wks"),h=g?c.for||c:c&&c.withoutSetter||n;e.exports=function(e){s(l,e)||(l[e]=o&&s(c,e)?c[e]:h("Symbol."+e));return l[e]}},6573:(e,t,i)=>{var a=i(3724),r=i(2106),s=i(3238),n=ArrayBuffer.prototype;a&&!("detached"in n)&&r(n,"detached",{configurable:!0,get:function detached(){return s(this)}})},7936:(e,t,i)=>{var a=i(6518),r=i(5636);r&&a({target:"ArrayBuffer",proto:!0},{transferToFixedLength:function transferToFixedLength(){return r(this,arguments.length?arguments[0]:void 0,!1)}})},8100:(e,t,i)=>{var a=i(6518),r=i(5636);r&&a({target:"ArrayBuffer",proto:!0},{transfer:function transfer(){return r(this,arguments.length?arguments[0]:void 0,!0)}})},4114:(e,t,i)=>{var a=i(6518),r=i(8981),s=i(6198),n=i(4527),o=i(6837);a({target:"Array",proto:!0,arity:1,forced:i(9039)((function(){return 4294967297!==[].push.call({length:4294967296},1)}))||!function(){try{Object.defineProperty([],"length",{writable:!1}).push()}catch(e){return e instanceof TypeError}}()},{push:function push(e){var t=r(this),i=s(t),a=arguments.length;o(i+a);for(var g=0;g{var a=i(6518),r=i(4576),s=i(679),n=i(8551),o=i(4901),g=i(2787),c=i(2106),l=i(4659),h=i(9039),C=i(9297),Q=i(8227),E=i(7657).IteratorPrototype,u=i(3724),d=i(6395),f="constructor",p="Iterator",m=Q("toStringTag"),y=TypeError,w=r[p],b=d||!o(w)||w.prototype!==E||!h((function(){w({})})),D=function Iterator(){s(this,E);if(g(this)===E)throw new y("Abstract class Iterator not directly constructable")},defineIteratorPrototypeAccessor=function(e,t){u?c(E,e,{configurable:!0,get:function(){return t},set:function(t){n(this);if(this===E)throw new y("You can't redefine this property");C(this,e)?this[e]=t:l(this,e,t)}}):E[e]=t};C(E,m)||defineIteratorPrototypeAccessor(m,p);!b&&C(E,f)&&E[f]!==Object||defineIteratorPrototypeAccessor(f,D);D.prototype=E;a({global:!0,constructor:!0,forced:b},{Iterator:D})},1148:(e,t,i)=>{var a=i(6518),r=i(2652),s=i(9306),n=i(8551),o=i(1767);a({target:"Iterator",proto:!0,real:!0},{every:function every(e){n(this);s(e);var t=o(this),i=0;return!r(t,(function(t,a){if(!e(t,i++))return a()}),{IS_RECORD:!0,INTERRUPTED:!0}).stopped}})},2489:(e,t,i)=>{var a=i(6518),r=i(9565),s=i(9306),n=i(8551),o=i(1767),g=i(9462),c=i(6319),l=i(6395),h=g((function(){for(var e,t,i=this.iterator,a=this.predicate,s=this.next;;){e=n(r(s,i));if(this.done=!!e.done)return;t=e.value;if(c(i,a,[t,this.counter++],!0))return t}}));a({target:"Iterator",proto:!0,real:!0,forced:l},{filter:function filter(e){n(this);s(e);return new h(o(this),{predicate:e})}})},116:(e,t,i)=>{var a=i(6518),r=i(2652),s=i(9306),n=i(8551),o=i(1767);a({target:"Iterator",proto:!0,real:!0},{find:function find(e){n(this);s(e);var t=o(this),i=0;return r(t,(function(t,a){if(e(t,i++))return a(t)}),{IS_RECORD:!0,INTERRUPTED:!0}).result}})},7588:(e,t,i)=>{var a=i(6518),r=i(2652),s=i(9306),n=i(8551),o=i(1767);a({target:"Iterator",proto:!0,real:!0},{forEach:function forEach(e){n(this);s(e);var t=o(this),i=0;r(t,(function(t){e(t,i++)}),{IS_RECORD:!0})}})},1701:(e,t,i)=>{var a=i(6518),r=i(713);a({target:"Iterator",proto:!0,real:!0,forced:i(6395)},{map:r})},8237:(e,t,i)=>{var a=i(6518),r=i(2652),s=i(9306),n=i(8551),o=i(1767),g=TypeError;a({target:"Iterator",proto:!0,real:!0},{reduce:function reduce(e){n(this);s(e);var t=o(this),i=arguments.length<2,a=i?void 0:arguments[1],c=0;r(t,(function(t){if(i){i=!1;a=t}else a=e(a,t,c);c++}),{IS_RECORD:!0});if(i)throw new g("Reduce of empty iterator with no initial value");return a}})},3579:(e,t,i)=>{var a=i(6518),r=i(2652),s=i(9306),n=i(8551),o=i(1767);a({target:"Iterator",proto:!0,real:!0},{some:function some(e){n(this);s(e);var t=o(this),i=0;return r(t,(function(t,a){if(e(t,i++))return a()}),{IS_RECORD:!0,INTERRUPTED:!0}).stopped}})},1806:(e,t,i)=>{var a=i(6518),r=i(8551),s=i(2652),n=i(1767),o=[].push;a({target:"Iterator",proto:!0,real:!0},{toArray:function toArray(){var e=[];s(n(r(this)),o,{that:e,IS_RECORD:!0});return e}})},1689:(e,t,i)=>{var a=i(6518),r=i(4576),s=i(8745),n=i(7680),o=i(6043),g=i(9306),c=i(1103),l=r.Promise,h=!1;a({target:"Promise",stat:!0,forced:!l||!l.try||c((function(){l.try((function(e){h=8===e}),8)})).error||!h},{try:function(e){var t=arguments.length>1?n(arguments,1):[],i=o.f(this),a=c((function(){return s(g(e),void 0,t)}));(a.error?i.reject:i.resolve)(a.value);return i.promise}})},4628:(e,t,i)=>{var a=i(6518),r=i(6043);a({target:"Promise",stat:!0},{withResolvers:function withResolvers(){var e=r.f(this);return{promise:e.promise,resolve:e.resolve,reject:e.reject}}})},9479:(e,t,i)=>{var a=i(4576),r=i(3724),s=i(2106),n=i(7979),o=i(9039),g=a.RegExp,c=g.prototype;r&&o((function(){var e=!0;try{g(".","d")}catch(t){e=!1}var t={},i="",a=e?"dgimsy":"gimsy",addGetter=function(e,a){Object.defineProperty(t,e,{get:function(){i+=a;return!0}})},r={dotAll:"s",global:"g",ignoreCase:"i",multiline:"m",sticky:"y"};e&&(r.hasIndices="d");for(var s in r)addGetter(s,r[s]);return Object.getOwnPropertyDescriptor(c,"flags").get.call(t)!==a||i!==a}))&&s(c,"flags",{configurable:!0,get:n})},7642:(e,t,i)=>{var a=i(6518),r=i(3440);a({target:"Set",proto:!0,real:!0,forced:!i(4916)("difference")},{difference:r})},8004:(e,t,i)=>{var a=i(6518),r=i(9039),s=i(8750);a({target:"Set",proto:!0,real:!0,forced:!i(4916)("intersection")||r((function(){return"3,2"!==String(Array.from(new Set([1,2,3]).intersection(new Set([3,2]))))}))},{intersection:s})},3853:(e,t,i)=>{var a=i(6518),r=i(4449);a({target:"Set",proto:!0,real:!0,forced:!i(4916)("isDisjointFrom")},{isDisjointFrom:r})},5876:(e,t,i)=>{var a=i(6518),r=i(3838);a({target:"Set",proto:!0,real:!0,forced:!i(4916)("isSubsetOf")},{isSubsetOf:r})},2475:(e,t,i)=>{var a=i(6518),r=i(8527);a({target:"Set",proto:!0,real:!0,forced:!i(4916)("isSupersetOf")},{isSupersetOf:r})},5024:(e,t,i)=>{var a=i(6518),r=i(3650);a({target:"Set",proto:!0,real:!0,forced:!i(4916)("symmetricDifference")},{symmetricDifference:r})},1698:(e,t,i)=>{var a=i(6518),r=i(4204);a({target:"Set",proto:!0,real:!0,forced:!i(4916)("union")},{union:r})},7467:(e,t,i)=>{var a=i(7628),r=i(4644),s=r.aTypedArray,n=r.exportTypedArrayMethod,o=r.getTypedArrayConstructor;n("toReversed",(function toReversed(){return a(s(this),o(this))}))},4732:(e,t,i)=>{var a=i(4644),r=i(9504),s=i(9306),n=i(5370),o=a.aTypedArray,g=a.getTypedArrayConstructor,c=a.exportTypedArrayMethod,l=r(a.TypedArrayPrototype.sort);c("toSorted",(function toSorted(e){void 0!==e&&s(e);var t=o(this),i=n(g(t),t);return l(i,e)}))},9577:(e,t,i)=>{var a=i(9928),r=i(4644),s=i(1108),n=i(1291),o=i(5854),g=r.aTypedArray,c=r.getTypedArrayConstructor,l=r.exportTypedArrayMethod,h=!!function(){try{new Int8Array(1).with(2,{valueOf:function(){throw 8}})}catch(e){return 8===e}}();l("with",{with:function(e,t){var i=g(this),r=n(e),l=s(i)?o(t):+t;return a(i,c(i),r,l)}}.with,!h)},8992:(e,t,i)=>{i(8111)},3215:(e,t,i)=>{i(1148)},4520:(e,t,i)=>{i(2489)},2577:(e,t,i)=>{i(116)},3949:(e,t,i)=>{i(7588)},1454:(e,t,i)=>{i(1701)},8872:(e,t,i)=>{i(8237)},7550:(e,t,i)=>{i(3579)},1795:(e,t,i)=>{i(1806)},5247:(e,t,i)=>{i(1689)},4979:(e,t,i)=>{var a=i(6518),r=i(4576),s=i(7751),n=i(6980),o=i(4913).f,g=i(9297),c=i(679),l=i(3167),h=i(2603),C=i(5002),Q=i(8574),E=i(3724),u=i(6395),d="DOMException",f=s("Error"),p=s(d),m=function DOMException(){c(this,y);var e=arguments.length,t=h(e<1?void 0:arguments[0]),i=h(e<2?void 0:arguments[1],"Error"),a=new p(t,i),r=new f(t);r.name=d;o(a,"stack",n(1,Q(r.stack,1)));l(a,this,m);return a},y=m.prototype=p.prototype,w="stack"in new f(d),b="stack"in new p(1,2),D=p&&E&&Object.getOwnPropertyDescriptor(r,d),S=!(!D||D.writable&&D.configurable),k=w&&!S&&!b;a({global:!0,constructor:!0,forced:u||k},{DOMException:k?m:p});var R=s(d),N=R.prototype;if(N.constructor!==R){u||o(N,"constructor",n(1,R));for(var G in C)if(g(C,G)){var M=C[G],U=M.s;g(R,U)||o(R,U,n(6,M.c))}}},3611:(e,t,i)=>{var a=i(6518),r=i(4576),s=i(2106),n=i(3724),o=TypeError,g=Object.defineProperty,c=r.self!==r;try{if(n){var l=Object.getOwnPropertyDescriptor(r,"self");!c&&l&&l.get&&l.enumerable||s(r,"self",{get:function self(){return r},set:function self(e){if(this!==r)throw new o("Illegal invocation");g(r,"self",{value:e,writable:!0,configurable:!0,enumerable:!0})},configurable:!0,enumerable:!0})}else a({global:!0,simple:!0,forced:c},{self:r})}catch(e){}},4603:(e,t,i)=>{var a=i(6840),r=i(9504),s=i(655),n=i(2812),o=URLSearchParams,g=o.prototype,c=r(g.append),l=r(g.delete),h=r(g.forEach),C=r([].push),Q=new o("a=1&a=2&b=3");Q.delete("a",1);Q.delete("b",void 0);Q+""!="a=2"&&a(g,"delete",(function(e){var t=arguments.length,i=t<2?void 0:arguments[1];if(t&&void 0===i)return l(this,e);var a=[];h(this,(function(e,t){C(a,{key:t,value:e})}));n(t,1);for(var r,o=s(e),g=s(i),Q=0,E=0,u=!1,d=a.length;Q{var a=i(6840),r=i(9504),s=i(655),n=i(2812),o=URLSearchParams,g=o.prototype,c=r(g.getAll),l=r(g.has),h=new o("a=1");!h.has("a",2)&&h.has("a",void 0)||a(g,"has",(function has(e){var t=arguments.length,i=t<2?void 0:arguments[1];if(t&&void 0===i)return l(this,e);var a=c(this,e);n(t,1);for(var r=s(i),o=0;o{var a=i(3724),r=i(9504),s=i(2106),n=URLSearchParams.prototype,o=r(n.forEach);a&&!("size"in n)&&s(n,"size",{get:function size(){var e=0;o(this,(function(){e++}));return e},configurable:!0,enumerable:!0})}},t={};function __webpack_require__(i){var a=t[i];if(void 0!==a)return a.exports;var r=t[i]={exports:{}};e[i].call(r.exports,r,r.exports,__webpack_require__);return r.exports}__webpack_require__.d=(e,t)=>{for(var i in t)__webpack_require__.o(t,i)&&!__webpack_require__.o(e,i)&&Object.defineProperty(e,i,{enumerable:!0,get:t[i]})};__webpack_require__.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t);var __webpack_exports__ = globalThis.pdfjsWorker = {};__webpack_require__.d(__webpack_exports__,{WorkerMessageHandler:()=>WorkerMessageHandler});__webpack_require__(4114),__webpack_require__(6573),__webpack_require__(8100),__webpack_require__(7936),__webpack_require__(4628),__webpack_require__(7642),__webpack_require__(8004),__webpack_require__(3853),__webpack_require__(5876),__webpack_require__(2475),__webpack_require__(5024),__webpack_require__(1698),__webpack_require__(7467),__webpack_require__(4732),__webpack_require__(9577),__webpack_require__(8992),__webpack_require__(1454),__webpack_require__(7550),__webpack_require__(3611),__webpack_require__(5247),__webpack_require__(4979),__webpack_require__(4603),__webpack_require__(7566),__webpack_require__(8721);const i=!("object"!=typeof process||process+""!="[object process]"||process.versions.nw||process.versions.electron&&process.type&&"browser"!==process.type),a=[1,0,0,1,0,0],r=[.001,0,0,.001,0,0],s=1.35,n=.35,o=.25925925925925924,g=1,c=2,l=4,h=8,C=16,Q=64,E=128,u=256,d="pdfjs_internal_editor_",f=3,p=9,m=13,y=15,w={PRINT:4,MODIFY_CONTENTS:8,COPY:16,MODIFY_ANNOTATIONS:32,FILL_INTERACTIVE_FORMS:256,COPY_FOR_ACCESSIBILITY:512,ASSEMBLE:1024,PRINT_HIGH_QUALITY:2048},b=0,D=4,S=1,k=2,R=3,N=1,G=2,M=3,U=4,x=5,L=6,H=7,J=8,v=9,Y=10,K=11,T=12,q=13,O=14,W=15,j=16,X=17,V=20,Z="Group",_="R",z=1,$=2,AA=4,eA=16,tA=32,iA=128,aA=512,rA=1,sA=2,nA=4096,oA=8192,gA=32768,IA=65536,cA=131072,lA=1048576,hA=2097152,CA=8388608,BA=16777216,QA=1,EA=2,uA=3,dA=4,fA=5,pA={E:"Mouse Enter",X:"Mouse Exit",D:"Mouse Down",U:"Mouse Up",Fo:"Focus",Bl:"Blur",PO:"PageOpen",PC:"PageClose",PV:"PageVisible",PI:"PageInvisible",K:"Keystroke",F:"Format",V:"Validate",C:"Calculate"},mA={WC:"WillClose",WS:"WillSave",DS:"DidSave",WP:"WillPrint",DP:"DidPrint"},yA={O:"PageOpen",C:"PageClose"},wA=1,bA=5,DA=1,FA=2,SA=3,kA=4,RA=5,NA=6,GA=7,MA=8,UA=9,xA=10,LA=11,HA=12,JA=13,vA=14,YA=15,KA=16,TA=17,qA=18,OA=19,PA=20,WA=21,jA=22,XA=23,VA=24,ZA=25,_A=26,zA=27,$A=28,Ae=29,ee=30,te=31,ie=32,ae=33,re=34,se=35,ne=36,oe=37,ge=38,Ie=39,ce=40,le=41,he=42,Ce=43,Be=44,Qe=45,Ee=46,ue=47,de=48,fe=49,pe=50,me=51,ye=52,we=53,be=54,De=55,Fe=56,Se=57,ke=58,Re=59,Ne=60,Ge=61,Me=62,Ue=63,xe=64,Le=65,He=66,Je=67,ve=68,Ye=69,Ke=70,Te=71,qe=72,Oe=73,Pe=74,We=75,je=76,Xe=77,Ve=80,Ze=81,_e=83,ze=84,$e=85,At=86,et=87,tt=88,it=89,at=90,rt=91,st=92,nt=93,ot=1,gt=2;let It=wA;function getVerbosityLevel(){return It}function info(e){It>=bA&&console.log(`Info: ${e}`)}function warn(e){It>=wA&&console.log(`Warning: ${e}`)}function unreachable(e){throw new Error(e)}function assert(e,t){e||unreachable(t)}function createValidAbsoluteUrl(e,t=null,i=null){if(!e)return null;try{if(i&&"string"==typeof e){if(i.addDefaultProtocol&&e.startsWith("www.")){const t=e.match(/\./g);t?.length>=2&&(e=`http://${e}`)}if(i.tryConvertEncoding)try{e=stringToUTF8String(e)}catch{}}const a=t?new URL(e,t):new URL(e);if(function _isValidProtocol(e){switch(e?.protocol){case"http:":case"https:":case"ftp:":case"mailto:":case"tel:":return!0;default:return!1}}(a))return a}catch{}return null}function shadow(e,t,i,a=!1){Object.defineProperty(e,t,{value:i,enumerable:!a,configurable:!0,writable:!1});return i}const ct=function BaseExceptionClosure(){function BaseException(e,t){this.message=e;this.name=t}BaseException.prototype=new Error;BaseException.constructor=BaseException;return BaseException}();class PasswordException extends ct{constructor(e,t){super(e,"PasswordException");this.code=t}}class UnknownErrorException extends ct{constructor(e,t){super(e,"UnknownErrorException");this.details=t}}class InvalidPDFException extends ct{constructor(e){super(e,"InvalidPDFException")}}class MissingPDFException extends ct{constructor(e){super(e,"MissingPDFException")}}class UnexpectedResponseException extends ct{constructor(e,t){super(e,"UnexpectedResponseException");this.status=t}}class FormatError extends ct{constructor(e){super(e,"FormatError")}}class AbortException extends ct{constructor(e){super(e,"AbortException")}}function bytesToString(e){"object"==typeof e&&void 0!==e?.length||unreachable("Invalid argument for bytesToString");const t=e.length,i=8192;if(t>24&255,e>>16&255,e>>8&255,255&e)}function objectSize(e){return Object.keys(e).length}class FeatureTest{static get isLittleEndian(){return shadow(this,"isLittleEndian",function isLittleEndian(){const e=new Uint8Array(4);e[0]=1;return 1===new Uint32Array(e.buffer,0,1)[0]}())}static get isEvalSupported(){return shadow(this,"isEvalSupported",function isEvalSupported(){try{new Function("");return!0}catch{return!1}}())}static get isOffscreenCanvasSupported(){return shadow(this,"isOffscreenCanvasSupported","undefined"!=typeof OffscreenCanvas)}static get isImageDecoderSupported(){return shadow(this,"isImageDecoderSupported","undefined"!=typeof ImageDecoder)}static get platform(){return"undefined"!=typeof navigator&&"string"==typeof navigator?.platform?shadow(this,"platform",{isMac:navigator.platform.includes("Mac"),isWindows:navigator.platform.includes("Win"),isFirefox:"string"==typeof navigator?.userAgent&&navigator.userAgent.includes("Firefox")}):shadow(this,"platform",{isMac:!1,isWindows:!1,isFirefox:!1})}static get isCSSRoundSupported(){return shadow(this,"isCSSRoundSupported",globalThis.CSS?.supports?.("width: round(1.5px, 1px)"))}}const lt=Array.from(Array(256).keys(),(e=>e.toString(16).padStart(2,"0")));class Util{static makeHexColor(e,t,i){return`#${lt[e]}${lt[t]}${lt[i]}`}static scaleMinMax(e,t){let i;if(e[0]){if(e[0]<0){i=t[0];t[0]=t[2];t[2]=i}t[0]*=e[0];t[2]*=e[0];if(e[3]<0){i=t[1];t[1]=t[3];t[3]=i}t[1]*=e[3];t[3]*=e[3]}else{i=t[0];t[0]=t[1];t[1]=i;i=t[2];t[2]=t[3];t[3]=i;if(e[1]<0){i=t[1];t[1]=t[3];t[3]=i}t[1]*=e[1];t[3]*=e[1];if(e[2]<0){i=t[0];t[0]=t[2];t[2]=i}t[0]*=e[2];t[2]*=e[2]}t[0]+=e[4];t[1]+=e[5];t[2]+=e[4];t[3]+=e[5]}static transform(e,t){return[e[0]*t[0]+e[2]*t[1],e[1]*t[0]+e[3]*t[1],e[0]*t[2]+e[2]*t[3],e[1]*t[2]+e[3]*t[3],e[0]*t[4]+e[2]*t[5]+e[4],e[1]*t[4]+e[3]*t[5]+e[5]]}static applyTransform(e,t){return[e[0]*t[0]+e[1]*t[2]+t[4],e[0]*t[1]+e[1]*t[3]+t[5]]}static applyInverseTransform(e,t){const i=t[0]*t[3]-t[1]*t[2];return[(e[0]*t[3]-e[1]*t[2]+t[2]*t[5]-t[4]*t[3])/i,(-e[0]*t[1]+e[1]*t[0]+t[4]*t[1]-t[5]*t[0])/i]}static getAxialAlignedBoundingBox(e,t){const i=this.applyTransform(e,t),a=this.applyTransform(e.slice(2,4),t),r=this.applyTransform([e[0],e[3]],t),s=this.applyTransform([e[2],e[1]],t);return[Math.min(i[0],a[0],r[0],s[0]),Math.min(i[1],a[1],r[1],s[1]),Math.max(i[0],a[0],r[0],s[0]),Math.max(i[1],a[1],r[1],s[1])]}static inverseTransform(e){const t=e[0]*e[3]-e[1]*e[2];return[e[3]/t,-e[1]/t,-e[2]/t,e[0]/t,(e[2]*e[5]-e[4]*e[3])/t,(e[4]*e[1]-e[5]*e[0])/t]}static singularValueDecompose2dScale(e){const t=[e[0],e[2],e[1],e[3]],i=e[0]*t[0]+e[1]*t[2],a=e[0]*t[1]+e[1]*t[3],r=e[2]*t[0]+e[3]*t[2],s=e[2]*t[1]+e[3]*t[3],n=(i+s)/2,o=Math.sqrt((i+s)**2-4*(i*s-r*a))/2,g=n+o||1,c=n-o||1;return[Math.sqrt(g),Math.sqrt(c)]}static normalizeRect(e){const t=e.slice(0);if(e[0]>e[2]){t[0]=e[2];t[2]=e[0]}if(e[1]>e[3]){t[1]=e[3];t[3]=e[1]}return t}static intersect(e,t){const i=Math.max(Math.min(e[0],e[2]),Math.min(t[0],t[2])),a=Math.min(Math.max(e[0],e[2]),Math.max(t[0],t[2]));if(i>a)return null;const r=Math.max(Math.min(e[1],e[3]),Math.min(t[1],t[3])),s=Math.min(Math.max(e[1],e[3]),Math.max(t[1],t[3]));return r>s?null:[i,r,a,s]}static#A(e,t,i,a,r,s,n,o,g,c){if(g<=0||g>=1)return;const l=1-g,h=g*g,C=h*g,Q=l*(l*(l*e+3*g*t)+3*h*i)+C*a,E=l*(l*(l*r+3*g*s)+3*h*n)+C*o;c[0]=Math.min(c[0],Q);c[1]=Math.min(c[1],E);c[2]=Math.max(c[2],Q);c[3]=Math.max(c[3],E)}static#e(e,t,i,a,r,s,n,o,g,c,l,h){if(Math.abs(g)<1e-12){Math.abs(c)>=1e-12&&this.#A(e,t,i,a,r,s,n,o,-l/c,h);return}const C=c**2-4*l*g;if(C<0)return;const Q=Math.sqrt(C),E=2*g;this.#A(e,t,i,a,r,s,n,o,(-c+Q)/E,h);this.#A(e,t,i,a,r,s,n,o,(-c-Q)/E,h)}static bezierBoundingBox(e,t,i,a,r,s,n,o,g){if(g){g[0]=Math.min(g[0],e,n);g[1]=Math.min(g[1],t,o);g[2]=Math.max(g[2],e,n);g[3]=Math.max(g[3],t,o)}else g=[Math.min(e,n),Math.min(t,o),Math.max(e,n),Math.max(t,o)];this.#e(e,i,r,n,t,a,s,o,3*(3*(i-r)-e+n),6*(e-2*i+r),3*(i-e),g);this.#e(e,i,r,n,t,a,s,o,3*(3*(a-s)-t+o),6*(t-2*a+s),3*(a-t),g);return g}}const ht=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,728,711,710,729,733,731,730,732,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,8226,8224,8225,8230,8212,8211,402,8260,8249,8250,8722,8240,8222,8220,8221,8216,8217,8218,8482,64257,64258,321,338,352,376,381,305,322,339,353,382,0,8364];function stringToPDFString(e){if(e[0]>="ï"){let t;if("þ"===e[0]&&"ÿ"===e[1]){t="utf-16be";e.length%2==1&&(e=e.slice(0,-1))}else if("ÿ"===e[0]&&"þ"===e[1]){t="utf-16le";e.length%2==1&&(e=e.slice(0,-1))}else"ï"===e[0]&&"»"===e[1]&&"¿"===e[2]&&(t="utf-8");if(t)try{const i=new TextDecoder(t,{fatal:!0}),a=stringToBytes(e),r=i.decode(a);return r.includes("")?r.replaceAll(/\x1b[^\x1b]*(?:\x1b|$)/g,""):r}catch(e){warn(`stringToPDFString: "${e}".`)}}const t=[];for(let i=0,a=e.length;ilt[e])).join("")}__webpack_require__(3215);const Qt=Symbol("CIRCULAR_REF"),Et=Symbol("EOF");let ut=Object.create(null),dt=Object.create(null),ft=Object.create(null);class Name{constructor(e){this.name=e}static get(e){return dt[e]||=new Name(e)}}class Cmd{constructor(e){this.cmd=e}static get(e){return ut[e]||=new Cmd(e)}}const pt=function nonSerializableClosure(){return pt};class Dict{constructor(e=null){this._map=new Map;this.xref=e;this.objId=null;this.suppressEncryption=!1;this.__nonSerializable__=pt}assignXref(e){this.xref=e}get size(){return this._map.size}get(e,t,i){let a=this._map.get(e);if(void 0===a&&void 0!==t){a=this._map.get(t);void 0===a&&void 0!==i&&(a=this._map.get(i))}return a instanceof Ref&&this.xref?this.xref.fetch(a,this.suppressEncryption):a}async getAsync(e,t,i){let a=this._map.get(e);if(void 0===a&&void 0!==t){a=this._map.get(t);void 0===a&&void 0!==i&&(a=this._map.get(i))}return a instanceof Ref&&this.xref?this.xref.fetchAsync(a,this.suppressEncryption):a}getArray(e,t,i){let a=this._map.get(e);if(void 0===a&&void 0!==t){a=this._map.get(t);void 0===a&&void 0!==i&&(a=this._map.get(i))}a instanceof Ref&&this.xref&&(a=this.xref.fetch(a,this.suppressEncryption));if(Array.isArray(a)){a=a.slice();for(let e=0,t=a.length;e{unreachable("Should not call `set` on the empty dictionary.")};return shadow(this,"empty",e)}static merge({xref:e,dictArray:t,mergeSubDicts:i=!1}){const a=new Dict(e),r=new Map;for(const e of t)if(e instanceof Dict)for(const[t,a]of e._map){let e=r.get(t);if(void 0===e){e=[];r.set(t,e)}else if(!(i&&a instanceof Dict))continue;e.push(a)}for(const[t,i]of r){if(1===i.length||!(i[0]instanceof Dict)){a._map.set(t,i[0]);continue}const r=new Dict(e);for(const e of i)for(const[t,i]of e._map)r._map.has(t)||r._map.set(t,i);r.size>0&&a._map.set(t,r)}r.clear();return a.size>0?a:Dict.empty}clone(){const e=new Dict(this.xref);for(const t of this.getKeys())e.set(t,this.getRaw(t));return e}delete(e){delete this._map[e]}}class Ref{constructor(e,t){this.num=e;this.gen=t}toString(){return 0===this.gen?`${this.num}R`:`${this.num}R${this.gen}`}static fromString(e){const t=ft[e];if(t)return t;const i=/^(\d+)R(\d*)$/.exec(e);return i&&"0"!==i[1]?ft[e]=new Ref(parseInt(i[1]),i[2]?parseInt(i[2]):0):null}static get(e,t){const i=0===t?`${e}R`:`${e}R${t}`;return ft[i]||=new Ref(e,t)}}class RefSet{constructor(e=null){this._set=new Set(e?._set)}has(e){return this._set.has(e.toString())}put(e){this._set.add(e.toString())}remove(e){this._set.delete(e.toString())}[Symbol.iterator](){return this._set.values()}clear(){this._set.clear()}}class RefSetCache{constructor(){this._map=new Map}get size(){return this._map.size}get(e){return this._map.get(e.toString())}has(e){return this._map.has(e.toString())}put(e,t){this._map.set(e.toString(),t)}putAlias(e,t){this._map.set(e.toString(),this.get(t))}[Symbol.iterator](){return this._map.values()}clear(){this._map.clear()}*values(){yield*this._map.values()}*items(){for(const[e,t]of this._map)yield[Ref.fromString(e),t]}}function isName(e,t){return e instanceof Name&&(void 0===t||e.name===t)}function isCmd(e,t){return e instanceof Cmd&&(void 0===t||e.cmd===t)}function isDict(e,t){return e instanceof Dict&&(void 0===t||isName(e.get("Type"),t))}function isRefsEqual(e,t){return e.num===t.num&&e.gen===t.gen}class BaseStream{get length(){unreachable("Abstract getter `length` accessed")}get isEmpty(){unreachable("Abstract getter `isEmpty` accessed")}get isDataLoaded(){return shadow(this,"isDataLoaded",!0)}getByte(){unreachable("Abstract method `getByte` called")}getBytes(e){unreachable("Abstract method `getBytes` called")}async getImageData(e,t){return this.getBytes(e,t)}async asyncGetBytes(){unreachable("Abstract method `asyncGetBytes` called")}get isAsync(){return!1}get canAsyncDecodeImageFromBuffer(){return!1}async getTransferableImage(){return null}peekByte(){const e=this.getByte();-1!==e&&this.pos--;return e}peekBytes(e){const t=this.getBytes(e);this.pos-=t.length;return t}getUint16(){const e=this.getByte(),t=this.getByte();return-1===e||-1===t?-1:(e<<8)+t}getInt32(){return(this.getByte()<<24)+(this.getByte()<<16)+(this.getByte()<<8)+this.getByte()}getByteRange(e,t){unreachable("Abstract method `getByteRange` called")}getString(e){return bytesToString(this.getBytes(e))}skip(e){this.pos+=e||1}reset(){unreachable("Abstract method `reset` called")}moveStart(){unreachable("Abstract method `moveStart` called")}makeSubStream(e,t,i=null){unreachable("Abstract method `makeSubStream` called")}getBaseStreams(){return null}}const mt=/^[1-9]\.\d$/,yt=2**31-1;function getLookupTableFactory(e){let t;return function(){if(e){t=Object.create(null);e(t);e=null}return t}}class MissingDataException extends ct{constructor(e,t){super(`Missing data [${e}, ${t})`,"MissingDataException");this.begin=e;this.end=t}}class ParserEOFException extends ct{constructor(e){super(e,"ParserEOFException")}}class XRefEntryException extends ct{constructor(e){super(e,"XRefEntryException")}}class XRefParseException extends ct{constructor(e){super(e,"XRefParseException")}}function arrayBuffersToBytes(e){const t=e.length;if(0===t)return new Uint8Array(0);if(1===t)return new Uint8Array(e[0]);let i=0;for(let a=0;a0,"The number should be a positive integer.");const i="M".repeat(e/1e3|0)+wt[e%1e3/100|0]+wt[10+(e%100/10|0)]+wt[20+e%10];return t?i.toLowerCase():i}function log2(e){return e>0?Math.ceil(Math.log2(e)):0}function readInt8(e,t){return e[t]<<24>>24}function readUint16(e,t){return e[t]<<8|e[t+1]}function readUint32(e,t){return(e[t]<<24|e[t+1]<<16|e[t+2]<<8|e[t+3])>>>0}function isWhiteSpace(e){return 32===e||9===e||13===e||10===e}function isNumberArray(e,t){return Array.isArray(e)?(null===t||e.length===t)&&e.every((e=>"number"==typeof e)):ArrayBuffer.isView(e)&&(0===e.length||"number"==typeof e[0])&&(null===t||e.length===t)}function lookupMatrix(e,t){return isNumberArray(e,6)?e:t}function lookupRect(e,t){return isNumberArray(e,4)?e:t}function lookupNormalRect(e,t){return isNumberArray(e,4)?Util.normalizeRect(e):t}function parseXFAPath(e){const t=/(.+)\[(\d+)\]$/;return e.split(".").map((e=>{const i=e.match(t);return i?{name:i[1],pos:parseInt(i[2],10)}:{name:e,pos:0}}))}function escapePDFName(e){const t=[];let i=0;for(let a=0,r=e.length;a126||35===r||40===r||41===r||60===r||62===r||91===r||93===r||123===r||125===r||47===r||37===r){i"\n"===e?"\\n":"\r"===e?"\\r":`\\${e}`))}function _collectJS(e,t,i,a){if(!e)return;let r=null;if(e instanceof Ref){if(a.has(e))return;r=e;a.put(r);e=t.fetch(e)}if(Array.isArray(e))for(const r of e)_collectJS(r,t,i,a);else if(e instanceof Dict){if(isName(e.get("S"),"JavaScript")){const t=e.get("JS");let a;t instanceof BaseStream?a=t.getString():"string"==typeof t&&(a=t);a&&=stringToPDFString(a).replaceAll("\0","");a&&i.push(a)}_collectJS(e.getRaw("Next"),t,i,a)}r&&a.remove(r)}function collectActions(e,t,i){const a=Object.create(null),r=getInheritableProperty({dict:t,key:"AA",stopWhenFound:!1});if(r)for(let t=r.length-1;t>=0;t--){const s=r[t];if(s instanceof Dict)for(const t of s.getKeys()){const r=i[t];if(!r)continue;const n=[];_collectJS(s.getRaw(t),e,n,new RefSet);n.length>0&&(a[r]=n)}}if(t.has("A")){const i=[];_collectJS(t.get("A"),e,i,new RefSet);i.length>0&&(a.Action=i)}return objectSize(a)>0?a:null}const bt={60:"<",62:">",38:"&",34:""",39:"'"};function*codePointIter(e){for(let t=0,i=e.length;t55295&&(i<57344||i>65533)&&t++;yield i}}function encodeToXmlString(e){const t=[];let i=0;for(let a=0,r=e.length;a55295&&(r<57344||r>65533)&&a++;i=a+1}}if(0===t.length)return e;i: ${e}.`);return!1}return!0}function validateCSSFont(e){const t=new Set(["100","200","300","400","500","600","700","800","900","1000","normal","bold","bolder","lighter"]),{fontFamily:i,fontWeight:a,italicAngle:r}=e;if(!validateFontName(i,!0))return!1;const s=a?a.toString():"";e.fontWeight=t.has(s)?s:"400";const n=parseFloat(r);e.italicAngle=isNaN(n)||n<-90||n>90?"14":r.toString();return!0}function recoverJsURL(e){const t=new RegExp("^\\s*("+["app.launchURL","window.open","xfa.host.gotoURL"].join("|").replaceAll(".","\\.")+")\\((?:'|\")([^'\"]*)(?:'|\")(?:,\\s*(\\w+)\\)|\\))","i").exec(e);return t?.[2]?{url:t[2],newWindow:"app.launchURL"===t[1]&&"true"===t[3]}:null}function numberToString(e){if(Number.isInteger(e))return e.toString();const t=Math.round(100*e);return t%100==0?(t/100).toString():t%10==0?e.toFixed(1):e.toFixed(2)}function getNewAnnotationsMap(e){if(!e)return null;const t=new Map;for(const[i,a]of e){if(!i.startsWith(d))continue;let e=t.get(a.pageIndex);if(!e){e=[];t.set(a.pageIndex,e)}e.push(a)}return t.size>0?t:null}function stringToAsciiOrUTF16BE(e){return function isAscii(e){return/^[\x00-\x7F]*$/.test(e)}(e)?e:stringToUTF16String(e,!0)}function stringToUTF16HexString(e){const t=[];for(let i=0,a=e.length;i>8&255],lt[255&a])}return t.join("")}function stringToUTF16String(e,t=!1){const i=[];t&&i.push("þÿ");for(let t=0,a=e.length;t>8&255),String.fromCharCode(255&a))}return i.join("")}function getRotationMatrix(e,t,i){switch(e){case 90:return[0,1,-1,0,t,0];case 180:return[-1,0,0,-1,t,i];case 270:return[0,-1,1,0,0,i];default:throw new Error("Invalid rotation")}}function getSizeInBytes(e){return Math.ceil(Math.ceil(Math.log2(1+e))/8)}class Stream extends BaseStream{constructor(e,t,i,a){super();this.bytes=e instanceof Uint8Array?e:new Uint8Array(e);this.start=t||0;this.pos=this.start;this.end=t+i||this.bytes.length;this.dict=a}get length(){return this.end-this.start}get isEmpty(){return 0===this.length}getByte(){return this.pos>=this.end?-1:this.bytes[this.pos++]}getBytes(e){const t=this.bytes,i=this.pos,a=this.end;if(!e)return t.subarray(i,a);let r=i+e;r>a&&(r=a);this.pos=r;return t.subarray(i,r)}getByteRange(e,t){e<0&&(e=0);t>this.end&&(t=this.end);return this.bytes.subarray(e,t)}reset(){this.pos=this.start}moveStart(){this.start=this.pos}makeSubStream(e,t,i=null){return new Stream(this.bytes.buffer,e,t,i)}}class StringStream extends Stream{constructor(e){super(stringToBytes(e))}}class NullStream extends Stream{constructor(){super(new Uint8Array(0))}}class ChunkedStream extends Stream{constructor(e,t,i){super(new Uint8Array(e),0,e,null);this.chunkSize=t;this._loadedChunks=new Set;this.numChunks=Math.ceil(e/t);this.manager=i;this.progressiveDataLength=0;this.lastSuccessfulEnsureByteChunk=-1}getMissingChunks(){const e=[];for(let t=0,i=this.numChunks;t=this.end?this.numChunks:Math.floor(t/this.chunkSize);for(let e=i;ethis.numChunks)&&t!==this.lastSuccessfulEnsureByteChunk){if(!this._loadedChunks.has(t))throw new MissingDataException(e,e+1);this.lastSuccessfulEnsureByteChunk=t}}ensureRange(e,t){if(e>=t)return;if(t<=this.progressiveDataLength)return;const i=Math.floor(e/this.chunkSize);if(i>this.numChunks)return;const a=Math.min(Math.floor((t-1)/this.chunkSize)+1,this.numChunks);for(let r=i;r=this.end)return-1;e>=this.progressiveDataLength&&this.ensureByte(e);return this.bytes[this.pos++]}getBytes(e){const t=this.bytes,i=this.pos,a=this.end;if(!e){a>this.progressiveDataLength&&this.ensureRange(i,a);return t.subarray(i,a)}let r=i+e;r>a&&(r=a);r>this.progressiveDataLength&&this.ensureRange(i,r);this.pos=r;return t.subarray(i,r)}getByteRange(e,t){e<0&&(e=0);t>this.end&&(t=this.end);t>this.progressiveDataLength&&this.ensureRange(e,t);return this.bytes.subarray(e,t)}makeSubStream(e,t,i=null){t?e+t>this.progressiveDataLength&&this.ensureRange(e,e+t):e>=this.progressiveDataLength&&this.ensureByte(e);function ChunkedStreamSubstream(){}ChunkedStreamSubstream.prototype=Object.create(this);ChunkedStreamSubstream.prototype.getMissingChunks=function(){const e=this.chunkSize,t=Math.floor(this.start/e),i=Math.floor((this.end-1)/e)+1,a=[];for(let e=t;e{const readChunk=({value:s,done:n})=>{try{if(n){const t=arrayBuffersToBytes(a);a=null;e(t);return}r+=s.byteLength;i.isStreamingSupported&&this.onProgress({loaded:r});a.push(s);i.read().then(readChunk,t)}catch(e){t(e)}};i.read().then(readChunk,t)})).then((t=>{this.aborted||this.onReceiveData({chunk:t,begin:e})}))}requestAllChunks(e=!1){if(!e){const e=this.stream.getMissingChunks();this._requestChunks(e)}return this._loadedStreamCapability.promise}_requestChunks(e){const t=this.currRequestId++,i=new Set;this._chunksNeededByRequest.set(t,i);for(const t of e)this.stream.hasChunk(t)||i.add(t);if(0===i.size)return Promise.resolve();const a=Promise.withResolvers();this._promisesByRequest.set(t,a);const r=[];for(const e of i){let i=this._requestsByChunk.get(e);if(!i){i=[];this._requestsByChunk.set(e,i);r.push(e)}i.push(t)}if(r.length>0){const e=this.groupChunks(r);for(const t of e){const e=t.beginChunk*this.chunkSize,i=Math.min(t.endChunk*this.chunkSize,this.length);this.sendRequest(e,i).catch(a.reject)}}return a.promise.catch((e=>{if(!this.aborted)throw e}))}getStream(){return this.stream}requestRange(e,t){t=Math.min(t,this.length);const i=this.getBeginChunk(e),a=this.getEndChunk(t),r=[];for(let e=i;e=0&&a+1!==s){t.push({beginChunk:i,endChunk:a+1});i=s}r+1===e.length&&t.push({beginChunk:i,endChunk:s+1});a=s}return t}onProgress(e){this.msgHandler.send("DocProgress",{loaded:this.stream.numChunksLoaded*this.chunkSize+e.loaded,total:this.length})}onReceiveData(e){const t=e.chunk,i=void 0===e.begin,a=i?this.progressiveDataLength:e.begin,r=a+t.byteLength,s=Math.floor(a/this.chunkSize),n=r0||o.push(i)}}}if(!this.disableAutoFetch&&0===this._requestsByChunk.size){let e;if(1===this.stream.numChunksLoaded){const t=this.stream.numChunks-1;this.stream.hasChunk(t)||(e=t)}else e=this.stream.nextEmptyChunk(n);Number.isInteger(e)&&this._requestChunks([e])}for(const e of o){const t=this._promisesByRequest.get(e);this._promisesByRequest.delete(e);t.resolve()}this.msgHandler.send("DocProgress",{loaded:this.stream.numChunksLoaded*this.chunkSize,total:this.length})}onError(e){this._loadedStreamCapability.reject(e)}getBeginChunk(e){return Math.floor(e/this.chunkSize)}getEndChunk(e){return Math.floor((e-1)/this.chunkSize)+1}abort(e){this.aborted=!0;this.pdfNetworkStream?.cancelAllRequests(e);for(const t of this._promisesByRequest.values())t.reject(e)}}__webpack_require__(4520),__webpack_require__(9479),__webpack_require__(2577),__webpack_require__(8872);class ColorSpace{constructor(e,t){this.name=e;this.numComps=t}getRgb(e,t){const i=new Uint8ClampedArray(3);this.getRgbItem(e,t,i,0);return i}getRgbItem(e,t,i,a){unreachable("Should not call ColorSpace.getRgbItem")}getRgbBuffer(e,t,i,a,r,s,n){unreachable("Should not call ColorSpace.getRgbBuffer")}getOutputLength(e,t){unreachable("Should not call ColorSpace.getOutputLength")}isPassthrough(e){return!1}isDefaultDecode(e,t){return ColorSpace.isDefaultDecode(e,this.numComps)}fillRgb(e,t,i,a,r,s,n,o,g){const c=t*i;let l=null;const h=1<h&&"DeviceGray"!==this.name&&"DeviceRGB"!==this.name){const t=n<=8?new Uint8Array(h):new Uint16Array(h);for(let e=0;e=.99554525?1:this.#B(0,1,1.055*e**(1/2.4)-.055)}#B(e,t,i){return Math.max(e,Math.min(t,i))}#Q(e){return e<0?-this.#Q(-e):e>8?((e+16)/116)**3:e*CalRGBCS.#I}#E(e,t,i){if(0===e[0]&&0===e[1]&&0===e[2]){i[0]=t[0];i[1]=t[1];i[2]=t[2];return}const a=this.#Q(0),r=(1-a)/(1-this.#Q(e[0])),s=1-r,n=(1-a)/(1-this.#Q(e[1])),o=1-n,g=(1-a)/(1-this.#Q(e[2])),c=1-g;i[0]=t[0]*r+s;i[1]=t[1]*n+o;i[2]=t[2]*g+c}#u(e,t,i){if(1===e[0]&&1===e[2]){i[0]=t[0];i[1]=t[1];i[2]=t[2];return}const a=i;this.#c(CalRGBCS.#i,t,a);const r=CalRGBCS.#n;this.#l(e,a,r);this.#c(CalRGBCS.#a,r,i)}#d(e,t,i){const a=i;this.#c(CalRGBCS.#i,t,a);const r=CalRGBCS.#n;this.#h(e,a,r);this.#c(CalRGBCS.#a,r,i)}#t(e,t,i,a,r){const s=this.#B(0,1,e[t]*r),n=this.#B(0,1,e[t+1]*r),o=this.#B(0,1,e[t+2]*r),g=1===s?1:s**this.GR,c=1===n?1:n**this.GG,l=1===o?1:o**this.GB,h=this.MXA*g+this.MXB*c+this.MXC*l,C=this.MYA*g+this.MYB*c+this.MYC*l,Q=this.MZA*g+this.MZB*c+this.MZC*l,E=CalRGBCS.#o;E[0]=h;E[1]=C;E[2]=Q;const u=CalRGBCS.#g;this.#u(this.whitePoint,E,u);const d=CalRGBCS.#o;this.#E(this.blackPoint,u,d);const f=CalRGBCS.#g;this.#d(CalRGBCS.#s,d,f);const p=CalRGBCS.#o;this.#c(CalRGBCS.#r,f,p);i[a]=255*this.#C(p[0]);i[a+1]=255*this.#C(p[1]);i[a+2]=255*this.#C(p[2])}getRgbItem(e,t,i,a){this.#t(e,t,i,a,1)}getRgbBuffer(e,t,i,a,r,s,n){const o=1/((1<this.amax||this.bmin>this.bmax){info("Invalid Range, falling back to defaults");this.amin=-100;this.amax=100;this.bmin=-100;this.bmax=100}}#f(e){return e>=6/29?e**3:108/841*(e-4/29)}#p(e,t,i,a){return i+e*(a-i)/t}#t(e,t,i,a,r){let s=e[t],n=e[t+1],o=e[t+2];if(!1!==i){s=this.#p(s,i,0,100);n=this.#p(n,i,this.amin,this.amax);o=this.#p(o,i,this.bmin,this.bmax)}n>this.amax?n=this.amax:nthis.bmax?o=this.bmax:o>>0}function hexToStr(e,t){return 1===t?String.fromCharCode(e[0],e[1]):3===t?String.fromCharCode(e[0],e[1],e[2],e[3]):String.fromCharCode(...e.subarray(0,t+1))}function addHex(e,t,i){let a=0;for(let r=i;r>=0;r--){a+=e[r]+t[r];e[r]=255&a;a>>=8}}function incHex(e,t){let i=1;for(let a=t;a>=0&&i>0;a--){i+=e[a];e[a]=255&i;i>>=8}}const Dt=16;class BinaryCMapStream{constructor(e){this.buffer=e;this.pos=0;this.end=e.length;this.tmpBuf=new Uint8Array(19)}readByte(){return this.pos>=this.end?-1:this.buffer[this.pos++]}readNumber(){let e,t=0;do{const i=this.readByte();if(i<0)throw new FormatError("unexpected EOF in bcmap");e=!(128&i);t=t<<7|127&i}while(!e);return t}readSigned(){const e=this.readNumber();return 1&e?~(e>>>1):e>>>1}readHex(e,t){e.set(this.buffer.subarray(this.pos,this.pos+t+1));this.pos+=t+1}readHexNumber(e,t){let i;const a=this.tmpBuf;let r=0;do{const e=this.readByte();if(e<0)throw new FormatError("unexpected EOF in bcmap");i=!(128&e);a[r++]=127&e}while(!i);let s=t,n=0,o=0;for(;s>=0;){for(;o<8&&a.length>0;){n|=a[--r]<>=8;o-=8}}readHexSigned(e,t){this.readHexNumber(e,t);const i=1&e[t]?255:0;let a=0;for(let r=0;r<=t;r++){a=(1&a)<<8|e[r];e[r]=a>>1^i}}readString(){const e=this.readNumber(),t=new Array(e);for(let i=0;i=0;){const e=C>>5;if(7===e){switch(31&C){case 0:a.readString();break;case 1:s=a.readString()}continue}const i=!!(16&C),r=15&C;if(r+1>Dt)throw new Error("BinaryCMapReader.process: Invalid dataSize.");const Q=1,E=a.readNumber();switch(e){case 0:a.readHex(n,r);a.readHexNumber(o,r);addHex(o,n,r);t.addCodespaceRange(r+1,hexToInt(n,r),hexToInt(o,r));for(let e=1;er&&(a=r)}else{for(;!this.eof;)this.readBlock(t);a=this.bufferLength}this.pos=a;return this.buffer.subarray(i,a)}async getImageData(e,t=null){if(!this.canAsyncDecodeImageFromBuffer)return this.getBytes(e,t);const i=await this.stream.asyncGetBytes();return this.decodeImage(i,t)}reset(){this.pos=0}makeSubStream(e,t,i=null){if(void 0===t)for(;!this.eof;)this.readBlock();else{const i=e+t;for(;this.bufferLength<=i&&!this.eof;)this.readBlock()}return new Stream(this.buffer,e,t,i)}getBaseStreams(){return this.str?this.str.getBaseStreams():null}}class StreamsSequenceStream extends DecodeStream{constructor(e,t=null){e=e.filter((e=>e instanceof BaseStream));let i=0;for(const t of e)i+=t instanceof DecodeStream?t._rawMinBufferLength:t.length;super(i);this.streams=e;this._onError=t}readBlock(){const e=this.streams;if(0===e.length){this.eof=!0;return}const t=e.shift();let i;try{i=t.getBytes()}catch(e){if(this._onError){this._onError(e,t.dict?.objId);return}throw e}const a=this.bufferLength,r=a+i.length;this.ensureBuffer(r).set(i,a);this.bufferLength=r}getBaseStreams(){const e=[];for(const t of this.streams){const i=t.getBaseStreams();i&&e.push(...i)}return e.length>0?e:null}}class Ascii85Stream extends DecodeStream{constructor(e,t){t&&(t*=.8);super(t);this.str=e;this.dict=e.dict;this.input=new Uint8Array(5)}readBlock(){const e=this.str;let t=e.getByte();for(;isWhiteSpace(t);)t=e.getByte();if(-1===t||126===t){this.eof=!0;return}const i=this.bufferLength;let a,r;if(122===t){a=this.ensureBuffer(i+4);for(r=0;r<4;++r)a[i+r]=0;this.bufferLength+=4}else{const s=this.input;s[0]=t;for(r=1;r<5;++r){t=e.getByte();for(;isWhiteSpace(t);)t=e.getByte();s[r]=t;if(-1===t||126===t)break}a=this.ensureBuffer(i+r-1);this.bufferLength+=r-1;if(r<5){for(;r<5;++r)s[r]=117;this.eof=!0}let n=0;for(r=0;r<5;++r)n=85*n+(s[r]-33);for(r=3;r>=0;--r){a[i+r]=255&n;n>>=8}}}}class AsciiHexStream extends DecodeStream{constructor(e,t){t&&(t*=.5);super(t);this.str=e;this.dict=e.dict;this.firstDigit=-1}readBlock(){const e=this.str.getBytes(8e3);if(!e.length){this.eof=!0;return}const t=e.length+1>>1,i=this.ensureBuffer(this.bufferLength+t);let a=this.bufferLength,r=this.firstDigit;for(const t of e){let e;if(t>=48&&t<=57)e=15&t;else{if(!(t>=65&&t<=70||t>=97&&t<=102)){if(62===t){this.eof=!0;break}continue}e=9+(15&t)}if(r<0)r=e;else{i[a++]=r<<4|e;r=-1}}if(r>=0&&this.eof){i[a++]=r<<4;r=-1}this.firstDigit=r;this.bufferLength=a}}const St=-1,kt=[[-1,-1],[-1,-1],[7,8],[7,7],[6,6],[6,6],[6,5],[6,5],[4,0],[4,0],[4,0],[4,0],[4,0],[4,0],[4,0],[4,0],[3,1],[3,1],[3,1],[3,1],[3,1],[3,1],[3,1],[3,1],[3,1],[3,1],[3,1],[3,1],[3,1],[3,1],[3,1],[3,1],[3,4],[3,4],[3,4],[3,4],[3,4],[3,4],[3,4],[3,4],[3,4],[3,4],[3,4],[3,4],[3,4],[3,4],[3,4],[3,4],[3,3],[3,3],[3,3],[3,3],[3,3],[3,3],[3,3],[3,3],[3,3],[3,3],[3,3],[3,3],[3,3],[3,3],[3,3],[3,3],[1,2],[1,2],[1,2],[1,2],[1,2],[1,2],[1,2],[1,2],[1,2],[1,2],[1,2],[1,2],[1,2],[1,2],[1,2],[1,2],[1,2],[1,2],[1,2],[1,2],[1,2],[1,2],[1,2],[1,2],[1,2],[1,2],[1,2],[1,2],[1,2],[1,2],[1,2],[1,2],[1,2],[1,2],[1,2],[1,2],[1,2],[1,2],[1,2],[1,2],[1,2],[1,2],[1,2],[1,2],[1,2],[1,2],[1,2],[1,2],[1,2],[1,2],[1,2],[1,2],[1,2],[1,2],[1,2],[1,2],[1,2],[1,2],[1,2],[1,2],[1,2],[1,2],[1,2],[1,2]],Rt=[[-1,-1],[12,-2],[-1,-1],[-1,-1],[-1,-1],[-1,-1],[-1,-1],[-1,-1],[-1,-1],[-1,-1],[-1,-1],[-1,-1],[-1,-1],[-1,-1],[-1,-1],[-1,-1],[11,1792],[11,1792],[12,1984],[12,2048],[12,2112],[12,2176],[12,2240],[12,2304],[11,1856],[11,1856],[11,1920],[11,1920],[12,2368],[12,2432],[12,2496],[12,2560]],Nt=[[-1,-1],[-1,-1],[-1,-1],[-1,-1],[8,29],[8,29],[8,30],[8,30],[8,45],[8,45],[8,46],[8,46],[7,22],[7,22],[7,22],[7,22],[7,23],[7,23],[7,23],[7,23],[8,47],[8,47],[8,48],[8,48],[6,13],[6,13],[6,13],[6,13],[6,13],[6,13],[6,13],[6,13],[7,20],[7,20],[7,20],[7,20],[8,33],[8,33],[8,34],[8,34],[8,35],[8,35],[8,36],[8,36],[8,37],[8,37],[8,38],[8,38],[7,19],[7,19],[7,19],[7,19],[8,31],[8,31],[8,32],[8,32],[6,1],[6,1],[6,1],[6,1],[6,1],[6,1],[6,1],[6,1],[6,12],[6,12],[6,12],[6,12],[6,12],[6,12],[6,12],[6,12],[8,53],[8,53],[8,54],[8,54],[7,26],[7,26],[7,26],[7,26],[8,39],[8,39],[8,40],[8,40],[8,41],[8,41],[8,42],[8,42],[8,43],[8,43],[8,44],[8,44],[7,21],[7,21],[7,21],[7,21],[7,28],[7,28],[7,28],[7,28],[8,61],[8,61],[8,62],[8,62],[8,63],[8,63],[8,0],[8,0],[8,320],[8,320],[8,384],[8,384],[5,10],[5,10],[5,10],[5,10],[5,10],[5,10],[5,10],[5,10],[5,10],[5,10],[5,10],[5,10],[5,10],[5,10],[5,10],[5,10],[5,11],[5,11],[5,11],[5,11],[5,11],[5,11],[5,11],[5,11],[5,11],[5,11],[5,11],[5,11],[5,11],[5,11],[5,11],[5,11],[7,27],[7,27],[7,27],[7,27],[8,59],[8,59],[8,60],[8,60],[9,1472],[9,1536],[9,1600],[9,1728],[7,18],[7,18],[7,18],[7,18],[7,24],[7,24],[7,24],[7,24],[8,49],[8,49],[8,50],[8,50],[8,51],[8,51],[8,52],[8,52],[7,25],[7,25],[7,25],[7,25],[8,55],[8,55],[8,56],[8,56],[8,57],[8,57],[8,58],[8,58],[6,192],[6,192],[6,192],[6,192],[6,192],[6,192],[6,192],[6,192],[6,1664],[6,1664],[6,1664],[6,1664],[6,1664],[6,1664],[6,1664],[6,1664],[8,448],[8,448],[8,512],[8,512],[9,704],[9,768],[8,640],[8,640],[8,576],[8,576],[9,832],[9,896],[9,960],[9,1024],[9,1088],[9,1152],[9,1216],[9,1280],[9,1344],[9,1408],[7,256],[7,256],[7,256],[7,256],[4,2],[4,2],[4,2],[4,2],[4,2],[4,2],[4,2],[4,2],[4,2],[4,2],[4,2],[4,2],[4,2],[4,2],[4,2],[4,2],[4,2],[4,2],[4,2],[4,2],[4,2],[4,2],[4,2],[4,2],[4,2],[4,2],[4,2],[4,2],[4,2],[4,2],[4,2],[4,2],[4,3],[4,3],[4,3],[4,3],[4,3],[4,3],[4,3],[4,3],[4,3],[4,3],[4,3],[4,3],[4,3],[4,3],[4,3],[4,3],[4,3],[4,3],[4,3],[4,3],[4,3],[4,3],[4,3],[4,3],[4,3],[4,3],[4,3],[4,3],[4,3],[4,3],[4,3],[4,3],[5,128],[5,128],[5,128],[5,128],[5,128],[5,128],[5,128],[5,128],[5,128],[5,128],[5,128],[5,128],[5,128],[5,128],[5,128],[5,128],[5,8],[5,8],[5,8],[5,8],[5,8],[5,8],[5,8],[5,8],[5,8],[5,8],[5,8],[5,8],[5,8],[5,8],[5,8],[5,8],[5,9],[5,9],[5,9],[5,9],[5,9],[5,9],[5,9],[5,9],[5,9],[5,9],[5,9],[5,9],[5,9],[5,9],[5,9],[5,9],[6,16],[6,16],[6,16],[6,16],[6,16],[6,16],[6,16],[6,16],[6,17],[6,17],[6,17],[6,17],[6,17],[6,17],[6,17],[6,17],[4,4],[4,4],[4,4],[4,4],[4,4],[4,4],[4,4],[4,4],[4,4],[4,4],[4,4],[4,4],[4,4],[4,4],[4,4],[4,4],[4,4],[4,4],[4,4],[4,4],[4,4],[4,4],[4,4],[4,4],[4,4],[4,4],[4,4],[4,4],[4,4],[4,4],[4,4],[4,4],[4,5],[4,5],[4,5],[4,5],[4,5],[4,5],[4,5],[4,5],[4,5],[4,5],[4,5],[4,5],[4,5],[4,5],[4,5],[4,5],[4,5],[4,5],[4,5],[4,5],[4,5],[4,5],[4,5],[4,5],[4,5],[4,5],[4,5],[4,5],[4,5],[4,5],[4,5],[4,5],[6,14],[6,14],[6,14],[6,14],[6,14],[6,14],[6,14],[6,14],[6,15],[6,15],[6,15],[6,15],[6,15],[6,15],[6,15],[6,15],[5,64],[5,64],[5,64],[5,64],[5,64],[5,64],[5,64],[5,64],[5,64],[5,64],[5,64],[5,64],[5,64],[5,64],[5,64],[5,64],[4,6],[4,6],[4,6],[4,6],[4,6],[4,6],[4,6],[4,6],[4,6],[4,6],[4,6],[4,6],[4,6],[4,6],[4,6],[4,6],[4,6],[4,6],[4,6],[4,6],[4,6],[4,6],[4,6],[4,6],[4,6],[4,6],[4,6],[4,6],[4,6],[4,6],[4,6],[4,6],[4,7],[4,7],[4,7],[4,7],[4,7],[4,7],[4,7],[4,7],[4,7],[4,7],[4,7],[4,7],[4,7],[4,7],[4,7],[4,7],[4,7],[4,7],[4,7],[4,7],[4,7],[4,7],[4,7],[4,7],[4,7],[4,7],[4,7],[4,7],[4,7],[4,7],[4,7],[4,7]],Gt=[[-1,-1],[-1,-1],[12,-2],[12,-2],[-1,-1],[-1,-1],[-1,-1],[-1,-1],[-1,-1],[-1,-1],[-1,-1],[-1,-1],[-1,-1],[-1,-1],[-1,-1],[-1,-1],[-1,-1],[-1,-1],[-1,-1],[-1,-1],[-1,-1],[-1,-1],[-1,-1],[-1,-1],[-1,-1],[-1,-1],[-1,-1],[-1,-1],[-1,-1],[-1,-1],[-1,-1],[-1,-1],[11,1792],[11,1792],[11,1792],[11,1792],[12,1984],[12,1984],[12,2048],[12,2048],[12,2112],[12,2112],[12,2176],[12,2176],[12,2240],[12,2240],[12,2304],[12,2304],[11,1856],[11,1856],[11,1856],[11,1856],[11,1920],[11,1920],[11,1920],[11,1920],[12,2368],[12,2368],[12,2432],[12,2432],[12,2496],[12,2496],[12,2560],[12,2560],[10,18],[10,18],[10,18],[10,18],[10,18],[10,18],[10,18],[10,18],[12,52],[12,52],[13,640],[13,704],[13,768],[13,832],[12,55],[12,55],[12,56],[12,56],[13,1280],[13,1344],[13,1408],[13,1472],[12,59],[12,59],[12,60],[12,60],[13,1536],[13,1600],[11,24],[11,24],[11,24],[11,24],[11,25],[11,25],[11,25],[11,25],[13,1664],[13,1728],[12,320],[12,320],[12,384],[12,384],[12,448],[12,448],[13,512],[13,576],[12,53],[12,53],[12,54],[12,54],[13,896],[13,960],[13,1024],[13,1088],[13,1152],[13,1216],[10,64],[10,64],[10,64],[10,64],[10,64],[10,64],[10,64],[10,64]],Mt=[[8,13],[8,13],[8,13],[8,13],[8,13],[8,13],[8,13],[8,13],[8,13],[8,13],[8,13],[8,13],[8,13],[8,13],[8,13],[8,13],[11,23],[11,23],[12,50],[12,51],[12,44],[12,45],[12,46],[12,47],[12,57],[12,58],[12,61],[12,256],[10,16],[10,16],[10,16],[10,16],[10,17],[10,17],[10,17],[10,17],[12,48],[12,49],[12,62],[12,63],[12,30],[12,31],[12,32],[12,33],[12,40],[12,41],[11,22],[11,22],[8,14],[8,14],[8,14],[8,14],[8,14],[8,14],[8,14],[8,14],[8,14],[8,14],[8,14],[8,14],[8,14],[8,14],[8,14],[8,14],[7,10],[7,10],[7,10],[7,10],[7,10],[7,10],[7,10],[7,10],[7,10],[7,10],[7,10],[7,10],[7,10],[7,10],[7,10],[7,10],[7,10],[7,10],[7,10],[7,10],[7,10],[7,10],[7,10],[7,10],[7,10],[7,10],[7,10],[7,10],[7,10],[7,10],[7,10],[7,10],[7,11],[7,11],[7,11],[7,11],[7,11],[7,11],[7,11],[7,11],[7,11],[7,11],[7,11],[7,11],[7,11],[7,11],[7,11],[7,11],[7,11],[7,11],[7,11],[7,11],[7,11],[7,11],[7,11],[7,11],[7,11],[7,11],[7,11],[7,11],[7,11],[7,11],[7,11],[7,11],[9,15],[9,15],[9,15],[9,15],[9,15],[9,15],[9,15],[9,15],[12,128],[12,192],[12,26],[12,27],[12,28],[12,29],[11,19],[11,19],[11,20],[11,20],[12,34],[12,35],[12,36],[12,37],[12,38],[12,39],[11,21],[11,21],[12,42],[12,43],[10,0],[10,0],[10,0],[10,0],[7,12],[7,12],[7,12],[7,12],[7,12],[7,12],[7,12],[7,12],[7,12],[7,12],[7,12],[7,12],[7,12],[7,12],[7,12],[7,12],[7,12],[7,12],[7,12],[7,12],[7,12],[7,12],[7,12],[7,12],[7,12],[7,12],[7,12],[7,12],[7,12],[7,12],[7,12],[7,12]],Ut=[[-1,-1],[-1,-1],[-1,-1],[-1,-1],[6,9],[6,8],[5,7],[5,7],[4,6],[4,6],[4,6],[4,6],[4,5],[4,5],[4,5],[4,5],[3,1],[3,1],[3,1],[3,1],[3,1],[3,1],[3,1],[3,1],[3,4],[3,4],[3,4],[3,4],[3,4],[3,4],[3,4],[3,4],[2,3],[2,3],[2,3],[2,3],[2,3],[2,3],[2,3],[2,3],[2,3],[2,3],[2,3],[2,3],[2,3],[2,3],[2,3],[2,3],[2,2],[2,2],[2,2],[2,2],[2,2],[2,2],[2,2],[2,2],[2,2],[2,2],[2,2],[2,2],[2,2],[2,2],[2,2],[2,2]];class CCITTFaxDecoder{constructor(e,t={}){if("function"!=typeof e?.next)throw new Error('CCITTFaxDecoder - invalid "source" parameter.');this.source=e;this.eof=!1;this.encoding=t.K||0;this.eoline=t.EndOfLine||!1;this.byteAlign=t.EncodedByteAlign||!1;this.columns=t.Columns||1728;this.rows=t.Rows||0;this.eoblock=t.EndOfBlock??!0;this.black=t.BlackIs1||!1;this.codingLine=new Uint32Array(this.columns+1);this.refLine=new Uint32Array(this.columns+2);this.codingLine[0]=this.columns;this.codingPos=0;this.row=0;this.nextLine2D=this.encoding<0;this.inputBits=0;this.inputBuf=0;this.outputBits=0;this.rowsDone=!1;let i;for(;0===(i=this._lookBits(12));)this._eatBits(1);1===i&&this._eatBits(12);if(this.encoding>0){this.nextLine2D=!this._lookBits(1);this._eatBits(1)}}readNextChar(){if(this.eof)return-1;const e=this.refLine,t=this.codingLine,i=this.columns;let a,r,s,n,o;if(0===this.outputBits){this.rowsDone&&(this.eof=!0);if(this.eof)return-1;this.err=!1;let s,o,g;if(this.nextLine2D){for(n=0;t[n]=64);do{o+=g=this._getWhiteCode()}while(g>=64)}else{do{s+=g=this._getWhiteCode()}while(g>=64);do{o+=g=this._getBlackCode()}while(g>=64)}this._addPixels(t[this.codingPos]+s,r);t[this.codingPos]0?--a:++a;for(;e[a]<=t[this.codingPos]&&e[a]0?--a:++a;for(;e[a]<=t[this.codingPos]&&e[a]0?--a:++a;for(;e[a]<=t[this.codingPos]&&e[a]=64);else do{s+=g=this._getWhiteCode()}while(g>=64);this._addPixels(t[this.codingPos]+s,r);r^=1}}let c=!1;this.byteAlign&&(this.inputBits&=-8);if(this.eoblock||this.row!==this.rows-1){s=this._lookBits(12);if(this.eoline)for(;s!==St&&1!==s;){this._eatBits(1);s=this._lookBits(12)}else for(;0===s;){this._eatBits(1);s=this._lookBits(12)}if(1===s){this._eatBits(12);c=!0}else s===St&&(this.eof=!0)}else this.rowsDone=!0;if(!this.eof&&this.encoding>0&&!this.rowsDone){this.nextLine2D=!this._lookBits(1);this._eatBits(1)}if(this.eoblock&&c&&this.byteAlign){s=this._lookBits(12);if(1===s){this._eatBits(12);if(this.encoding>0){this._lookBits(1);this._eatBits(1)}if(this.encoding>=0)for(n=0;n<4;++n){s=this._lookBits(12);1!==s&&info("bad rtc code: "+s);this._eatBits(12);if(this.encoding>0){this._lookBits(1);this._eatBits(1)}}this.eof=!0}}else if(this.err&&this.eoline){for(;;){s=this._lookBits(13);if(s===St){this.eof=!0;return-1}if(s>>1==1)break;this._eatBits(1)}this._eatBits(12);if(this.encoding>0){this._eatBits(1);this.nextLine2D=!(1&s)}}this.outputBits=t[0]>0?t[this.codingPos=0]:t[this.codingPos=1];this.row++}if(this.outputBits>=8){o=1&this.codingPos?0:255;this.outputBits-=8;if(0===this.outputBits&&t[this.codingPos]s){o<<=s;1&this.codingPos||(o|=255>>8-s);this.outputBits-=s;s=0}else{o<<=this.outputBits;1&this.codingPos||(o|=255>>8-this.outputBits);s-=this.outputBits;this.outputBits=0;if(t[this.codingPos]0){o<<=s;s=0}}}while(s)}this.black&&(o^=255);return o}_addPixels(e,t){const i=this.codingLine;let a=this.codingPos;if(e>i[a]){if(e>this.columns){info("row is wrong length");this.err=!0;e=this.columns}1&a^t&&++a;i[a]=e}this.codingPos=a}_addPixelsNeg(e,t){const i=this.codingLine;let a=this.codingPos;if(e>i[a]){if(e>this.columns){info("row is wrong length");this.err=!0;e=this.columns}1&a^t&&++a;i[a]=e}else if(e0&&e=r){const t=i[e-r];if(t[0]===a){this._eatBits(a);return[!0,t[1],!0]}}}return[!1,0,!1]}_getTwoDimCode(){let e,t=0;if(this.eoblock){t=this._lookBits(7);e=kt[t];if(e?.[0]>0){this._eatBits(e[0]);return e[1]}}else{const e=this._findTableCode(1,7,kt);if(e[0]&&e[2])return e[1]}info("Bad two dim code");return St}_getWhiteCode(){let e,t=0;if(this.eoblock){t=this._lookBits(12);if(t===St)return 1;e=t>>5?Nt[t>>3]:Rt[t];if(e[0]>0){this._eatBits(e[0]);return e[1]}}else{let e=this._findTableCode(1,9,Nt);if(e[0])return e[1];e=this._findTableCode(11,12,Rt);if(e[0])return e[1]}info("bad white code");this._eatBits(1);return 1}_getBlackCode(){let e,t;if(this.eoblock){e=this._lookBits(13);if(e===St)return 1;t=e>>7?!(e>>9)&&e>>7?Mt[(e>>1)-64]:Ut[e>>7]:Gt[e];if(t[0]>0){this._eatBits(t[0]);return t[1]}}else{let e=this._findTableCode(2,6,Ut);if(e[0])return e[1];e=this._findTableCode(7,12,Mt,64);if(e[0])return e[1];e=this._findTableCode(10,13,Gt);if(e[0])return e[1]}info("bad black code");this._eatBits(1);return 1}_lookBits(e){let t;for(;this.inputBits>16-e;this.inputBuf=this.inputBuf<<8|t;this.inputBits+=8}return this.inputBuf>>this.inputBits-e&65535>>16-e}_eatBits(e){(this.inputBits-=e)<0&&(this.inputBits=0)}}class CCITTFaxStream extends DecodeStream{constructor(e,t,i){super(t);this.str=e;this.dict=e.dict;i instanceof Dict||(i=Dict.empty);const a={next:()=>e.getByte()};this.ccittFaxDecoder=new CCITTFaxDecoder(a,{K:i.get("K"),EndOfLine:i.get("EndOfLine"),EncodedByteAlign:i.get("EncodedByteAlign"),Columns:i.get("Columns"),Rows:i.get("Rows"),EndOfBlock:i.get("EndOfBlock"),BlackIs1:i.get("BlackIs1")})}readBlock(){for(;!this.eof;){const e=this.ccittFaxDecoder.readNextChar();if(-1===e){this.eof=!0;return}this.ensureBuffer(this.bufferLength+1);this.buffer[this.bufferLength++]=e}}}const xt=new Int32Array([16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15]),Lt=new Int32Array([3,4,5,6,7,8,9,10,65547,65549,65551,65553,131091,131095,131099,131103,196643,196651,196659,196667,262211,262227,262243,262259,327811,327843,327875,327907,258,258,258]),Ht=new Int32Array([1,2,3,4,65541,65543,131081,131085,196625,196633,262177,262193,327745,327777,393345,393409,459009,459137,524801,525057,590849,591361,657409,658433,724993,727041,794625,798721,868353,876545]),Jt=[new Int32Array([459008,524368,524304,524568,459024,524400,524336,590016,459016,524384,524320,589984,524288,524416,524352,590048,459012,524376,524312,589968,459028,524408,524344,590032,459020,524392,524328,59e4,524296,524424,524360,590064,459010,524372,524308,524572,459026,524404,524340,590024,459018,524388,524324,589992,524292,524420,524356,590056,459014,524380,524316,589976,459030,524412,524348,590040,459022,524396,524332,590008,524300,524428,524364,590072,459009,524370,524306,524570,459025,524402,524338,590020,459017,524386,524322,589988,524290,524418,524354,590052,459013,524378,524314,589972,459029,524410,524346,590036,459021,524394,524330,590004,524298,524426,524362,590068,459011,524374,524310,524574,459027,524406,524342,590028,459019,524390,524326,589996,524294,524422,524358,590060,459015,524382,524318,589980,459031,524414,524350,590044,459023,524398,524334,590012,524302,524430,524366,590076,459008,524369,524305,524569,459024,524401,524337,590018,459016,524385,524321,589986,524289,524417,524353,590050,459012,524377,524313,589970,459028,524409,524345,590034,459020,524393,524329,590002,524297,524425,524361,590066,459010,524373,524309,524573,459026,524405,524341,590026,459018,524389,524325,589994,524293,524421,524357,590058,459014,524381,524317,589978,459030,524413,524349,590042,459022,524397,524333,590010,524301,524429,524365,590074,459009,524371,524307,524571,459025,524403,524339,590022,459017,524387,524323,589990,524291,524419,524355,590054,459013,524379,524315,589974,459029,524411,524347,590038,459021,524395,524331,590006,524299,524427,524363,590070,459011,524375,524311,524575,459027,524407,524343,590030,459019,524391,524327,589998,524295,524423,524359,590062,459015,524383,524319,589982,459031,524415,524351,590046,459023,524399,524335,590014,524303,524431,524367,590078,459008,524368,524304,524568,459024,524400,524336,590017,459016,524384,524320,589985,524288,524416,524352,590049,459012,524376,524312,589969,459028,524408,524344,590033,459020,524392,524328,590001,524296,524424,524360,590065,459010,524372,524308,524572,459026,524404,524340,590025,459018,524388,524324,589993,524292,524420,524356,590057,459014,524380,524316,589977,459030,524412,524348,590041,459022,524396,524332,590009,524300,524428,524364,590073,459009,524370,524306,524570,459025,524402,524338,590021,459017,524386,524322,589989,524290,524418,524354,590053,459013,524378,524314,589973,459029,524410,524346,590037,459021,524394,524330,590005,524298,524426,524362,590069,459011,524374,524310,524574,459027,524406,524342,590029,459019,524390,524326,589997,524294,524422,524358,590061,459015,524382,524318,589981,459031,524414,524350,590045,459023,524398,524334,590013,524302,524430,524366,590077,459008,524369,524305,524569,459024,524401,524337,590019,459016,524385,524321,589987,524289,524417,524353,590051,459012,524377,524313,589971,459028,524409,524345,590035,459020,524393,524329,590003,524297,524425,524361,590067,459010,524373,524309,524573,459026,524405,524341,590027,459018,524389,524325,589995,524293,524421,524357,590059,459014,524381,524317,589979,459030,524413,524349,590043,459022,524397,524333,590011,524301,524429,524365,590075,459009,524371,524307,524571,459025,524403,524339,590023,459017,524387,524323,589991,524291,524419,524355,590055,459013,524379,524315,589975,459029,524411,524347,590039,459021,524395,524331,590007,524299,524427,524363,590071,459011,524375,524311,524575,459027,524407,524343,590031,459019,524391,524327,589999,524295,524423,524359,590063,459015,524383,524319,589983,459031,524415,524351,590047,459023,524399,524335,590015,524303,524431,524367,590079]),9],vt=[new Int32Array([327680,327696,327688,327704,327684,327700,327692,327708,327682,327698,327690,327706,327686,327702,327694,0,327681,327697,327689,327705,327685,327701,327693,327709,327683,327699,327691,327707,327687,327703,327695,0]),5];class FlateStream extends DecodeStream{constructor(e,t){super(t);this.str=e;this.dict=e.dict;const i=e.getByte(),a=e.getByte();if(-1===i||-1===a)throw new FormatError(`Invalid header in flate stream: ${i}, ${a}`);if(8!=(15&i))throw new FormatError(`Unknown compression method in flate stream: ${i}, ${a}`);if(((i<<8)+a)%31!=0)throw new FormatError(`Bad FCHECK in flate stream: ${i}, ${a}`);if(32&a)throw new FormatError(`FDICT bit set in flate stream: ${i}, ${a}`);this.codeSize=0;this.codeBuf=0}async getImageData(e,t){const i=await this.asyncGetBytes();return i?.subarray(0,e)||this.getBytes(e)}async asyncGetBytes(){this.str.reset();const e=this.str.getBytes();try{const{readable:t,writable:i}=new DecompressionStream("deflate"),a=i.getWriter();await a.ready;a.write(e).then((async()=>{await a.ready;await a.close()})).catch((()=>{}));const r=[];let s=0;for await(const e of t){r.push(e);s+=e.byteLength}const n=new Uint8Array(s);let o=0;for(const e of r){n.set(e,o);o+=e.byteLength}return n}catch{this.str=new Stream(e,2,e.length,this.str.dict);this.reset();return null}}get isAsync(){return!0}getBits(e){const t=this.str;let i,a=this.codeSize,r=this.codeBuf;for(;a>e;this.codeSize=a-=e;return i}getCode(e){const t=this.str,i=e[0],a=e[1];let r,s=this.codeSize,n=this.codeBuf;for(;s>16,c=65535&o;if(g<1||s>g;this.codeSize=s-g;return c}generateHuffmanTable(e){const t=e.length;let i,a=0;for(i=0;ia&&(a=e[i]);const r=1<>=1}for(i=e;i>=1;if(0===t){let t;if(-1===(t=a.getByte())){this.#m("Bad block header in flate stream");return}let i=t;if(-1===(t=a.getByte())){this.#m("Bad block header in flate stream");return}i|=t<<8;if(-1===(t=a.getByte())){this.#m("Bad block header in flate stream");return}let r=t;if(-1===(t=a.getByte())){this.#m("Bad block header in flate stream");return}r|=t<<8;if(r!==(65535&~i)&&(0!==i||0!==r))throw new FormatError("Bad uncompressed block length in flate stream");this.codeBuf=0;this.codeSize=0;const s=this.bufferLength,n=s+i;e=this.ensureBuffer(n);this.bufferLength=n;if(0===i)-1===a.peekByte()&&(this.eof=!0);else{const t=a.getBytes(i);e.set(t,s);t.length0;)l[o++]=Q}r=this.generateHuffmanTable(l.subarray(0,e));s=this.generateHuffmanTable(l.subarray(e,c))}}e=this.buffer;let n=e?e.length:0,o=this.bufferLength;for(;;){let t=this.getCode(r);if(t<256){if(o+1>=n){e=this.ensureBuffer(o+1);n=e.length}e[o++]=t;continue}if(256===t){this.bufferLength=o;return}t-=257;t=Lt[t];let a=t>>16;a>0&&(a=this.getBits(a));i=(65535&t)+a;t=this.getCode(s);t=Ht[t];a=t>>16;a>0&&(a=this.getBits(a));const g=(65535&t)+a;if(o+i>=n){e=this.ensureBuffer(o+i);n=e.length}for(let t=0;t>9&127;this.clow=this.clow<<7&65535;this.ct-=7;this.a=32768}byteIn(){const e=this.data;let t=this.bp;if(255===e[t])if(e[t+1]>143){this.clow+=65280;this.ct=8}else{t++;this.clow+=e[t]<<9;this.ct=7;this.bp=t}else{t++;this.clow+=t65535){this.chigh+=this.clow>>16;this.clow&=65535}}readBit(e,t){let i=e[t]>>1,a=1&e[t];const r=Yt[i],s=r.qe;let n,o=this.a-s;if(this.chigh>15&1;this.clow=this.clow<<1&65535;this.ct--}while(!(32768&o));this.a=o;e[t]=i<<1|a;return n}}class Jbig2Error extends ct{constructor(e){super(e,"Jbig2Error")}}class ContextCache{getContexts(e){return e in this?this[e]:this[e]=new Int8Array(65536)}}class DecodingContext{constructor(e,t,i){this.data=e;this.start=t;this.end=i}get decoder(){return shadow(this,"decoder",new ArithmeticDecoder(this.data,this.start,this.end))}get contextCache(){return shadow(this,"contextCache",new ContextCache)}}function decodeInteger(e,t,i){const a=e.getContexts(t);let r=1;function readBits(e){let t=0;for(let s=0;s>>0}const s=readBits(1),n=readBits(1)?readBits(1)?readBits(1)?readBits(1)?readBits(1)?readBits(32)+4436:readBits(12)+340:readBits(8)+84:readBits(6)+20:readBits(4)+4:readBits(2);let o;0===s?o=n:n>0&&(o=-n);return o>=-2147483648&&o<=yt?o:null}function decodeIAID(e,t,i){const a=e.getContexts("IAID");let r=1;for(let e=0;e=S&&L=k){T=T<<1&d;for(u=0;u=0&&J=0){v=M[H][J];v&&(T|=v<=e?c<<=1:c=c<<1|w[o][g]}for(Q=0;Q=m||g<0||g>=p?c<<=1:c=c<<1|a[o][g]}const E=b.readBit(D,c);t[n]=E}}return w}function decodeTextRegion(e,t,i,a,r,s,n,o,g,c,l,h,C,Q,E,u,d,f,p){if(e&&t)throw new Jbig2Error("refinement with Huffman is not supported");const m=[];let y,w;for(y=0;y1&&(r=e?p.readBits(f):decodeInteger(D,"IAIT",b));const s=n*S+r,k=e?Q.symbolIDTable.decode(p):decodeIAID(D,b,g),R=t&&(e?p.readBit():decodeInteger(D,"IARI",b));let N=o[k],G=N[0].length,M=N.length;if(R){const e=decodeInteger(D,"IARDW",b),t=decodeInteger(D,"IARDH",b);G+=e;M+=t;N=decodeRefinement(G,M,E,N,(e>>1)+decodeInteger(D,"IARDX",b),(t>>1)+decodeInteger(D,"IARDY",b),!1,u,d)}let U=0;c?1&h?U=M-1:a+=M-1:h>1?a+=G-1:U=G-1;const x=s-(1&h?0:M-1),L=a-(2&h?G-1:0);let H,J,v;if(c)for(H=0;H>5&7;const g=[31&n];let c=t+6;if(7===n){o=536870911&readUint32(e,c-1);c+=3;let t=o+7>>3;g[0]=e[c++];for(;--t>0;)g.push(e[c++])}else if(5===n||6===n)throw new Jbig2Error("invalid referred-to flags");i.retainBits=g;let l=4;i.number<=256?l=1:i.number<=65536&&(l=2);const h=[];let C,Q;for(C=0;C>>24&255;s[3]=t.height>>16&255;s[4]=t.height>>8&255;s[5]=255&t.height;for(C=c,Q=e.length;C>2&3;e.huffmanDWSelector=t>>4&3;e.bitmapSizeSelector=t>>6&1;e.aggregationInstancesSelector=t>>7&1;e.bitmapCodingContextUsed=!!(256&t);e.bitmapCodingContextRetained=!!(512&t);e.template=t>>10&3;e.refinementTemplate=t>>12&1;c+=2;if(!e.huffman){g=0===e.template?4:1;n=[];for(o=0;o>2&3;l.stripSize=1<>4&3;l.transposed=!!(64&h);l.combinationOperator=h>>7&3;l.defaultPixelValue=h>>9&1;l.dsOffset=h<<17>>27;l.refinementTemplate=h>>15&1;if(l.huffman){const e=readUint16(a,c);c+=2;l.huffmanFS=3&e;l.huffmanDS=e>>2&3;l.huffmanDT=e>>4&3;l.huffmanRefinementDW=e>>6&3;l.huffmanRefinementDH=e>>8&3;l.huffmanRefinementDX=e>>10&3;l.huffmanRefinementDY=e>>12&3;l.huffmanRefinementSizeSelector=!!(16384&e)}if(l.refinement&&!l.refinementTemplate){n=[];for(o=0;o<2;o++){n.push({x:readInt8(a,c),y:readInt8(a,c+1)});c+=2}l.refinementAt=n}l.numberOfSymbolInstances=readUint32(a,c);c+=4;s=[l,i.referredTo,a,c,r];break;case 16:const C={},Q=a[c++];C.mmr=!!(1&Q);C.template=Q>>1&3;C.patternWidth=a[c++];C.patternHeight=a[c++];C.maxPatternIndex=readUint32(a,c);c+=4;s=[C,i.number,a,c,r];break;case 22:case 23:const E={};E.info=readRegionSegmentInformation(a,c);c+=Wt;const u=a[c++];E.mmr=!!(1&u);E.template=u>>1&3;E.enableSkip=!!(8&u);E.combinationOperator=u>>4&7;E.defaultPixelValue=u>>7&1;E.gridWidth=readUint32(a,c);c+=4;E.gridHeight=readUint32(a,c);c+=4;E.gridOffsetX=4294967295&readUint32(a,c);c+=4;E.gridOffsetY=4294967295&readUint32(a,c);c+=4;E.gridVectorX=readUint16(a,c);c+=2;E.gridVectorY=readUint16(a,c);c+=2;s=[E,i.referredTo,a,c,r];break;case 38:case 39:const d={};d.info=readRegionSegmentInformation(a,c);c+=Wt;const f=a[c++];d.mmr=!!(1&f);d.template=f>>1&3;d.prediction=!!(8&f);if(!d.mmr){g=0===d.template?4:1;n=[];for(o=0;o>2&1;p.combinationOperator=m>>3&3;p.requiresBuffer=!!(32&m);p.combinationOperatorOverride=!!(64&m);s=[p];break;case 49:case 50:case 51:case 62:break;case 53:s=[i.number,a,c,r];break;default:throw new Jbig2Error(`segment type ${i.typeName}(${i.type}) is not implemented`)}const l="on"+i.typeName;l in t&&t[l].apply(t,s)}function processSegments(e,t){for(let i=0,a=e.length;i>3,i=new Uint8ClampedArray(t*e.height);e.defaultPixelValue&&i.fill(255);this.buffer=i}drawBitmap(e,t){const i=this.currentPageInfo,a=e.width,r=e.height,s=i.width+7>>3,n=i.combinationOperatorOverride?e.combinationOperator:i.combinationOperator,o=this.buffer,g=128>>(7&e.x);let c,l,h,C,Q=e.y*s+(e.x>>3);switch(n){case 0:for(c=0;c>=1;if(!h){h=128;C++}}Q+=s}break;case 2:for(c=0;c>=1;if(!h){h=128;C++}}Q+=s}break;default:throw new Jbig2Error(`operator ${n} is not supported`)}}onImmediateGenericRegion(e,t,i,a){const r=e.info,s=new DecodingContext(t,i,a),n=decodeBitmap(e.mmr,r.width,r.height,e.template,e.prediction,null,e.at,s);this.drawBitmap(r,n)}onImmediateLosslessGenericRegion(){this.onImmediateGenericRegion(...arguments)}onSymbolDictionary(e,t,i,a,r,s){let n,o;if(e.huffman){n=function getSymbolDictionaryHuffmanTables(e,t,i){let a,r,s,n,o=0;switch(e.huffmanDHSelector){case 0:case 1:a=getStandardTable(e.huffmanDHSelector+4);break;case 3:a=getCustomHuffmanTable(o,t,i);o++;break;default:throw new Jbig2Error("invalid Huffman DH selector")}switch(e.huffmanDWSelector){case 0:case 1:r=getStandardTable(e.huffmanDWSelector+2);break;case 3:r=getCustomHuffmanTable(o,t,i);o++;break;default:throw new Jbig2Error("invalid Huffman DW selector")}if(e.bitmapSizeSelector){s=getCustomHuffmanTable(o,t,i);o++}else s=getStandardTable(1);n=e.aggregationInstancesSelector?getCustomHuffmanTable(o,t,i):getStandardTable(1);return{tableDeltaHeight:a,tableDeltaWidth:r,tableBitmapSize:s,tableAggregateInstances:n}}(e,i,this.customTables);o=new Reader(a,r,s)}let g=this.symbols;g||(this.symbols=g={});const c=[];for(const e of i){const t=g[e];t&&c.push(...t)}const l=new DecodingContext(a,r,s);g[t]=function decodeSymbolDictionary(e,t,i,a,r,s,n,o,g,c,l,h){if(e&&t)throw new Jbig2Error("symbol refinement with Huffman is not supported");const C=[];let Q=0,E=log2(i.length+a);const u=l.decoder,d=l.contextCache;let f,p;if(e){f=getStandardTable(1);p=[];E=Math.max(E,1)}for(;C.length1)m=decodeTextRegion(e,t,a,Q,0,r,1,i.concat(C),E,0,0,1,0,s,g,c,l,0,h);else{const e=decodeIAID(d,u,E),t=decodeInteger(d,"IARDX",u),r=decodeInteger(d,"IARDY",u);m=decodeRefinement(a,Q,g,e=32){let i,a,n;switch(t){case 32:if(0===e)throw new Jbig2Error("no previous value in symbol ID table");a=r.readBits(2)+3;i=s[e-1].prefixLength;break;case 33:a=r.readBits(3)+3;i=0;break;case 34:a=r.readBits(7)+11;i=0;break;default:throw new Jbig2Error("invalid code length in symbol ID table")}for(n=0;n=0;d--){N=e?decodeMMRBitmap(R,g,c,!0):decodeBitmap(!1,g,c,i,!1,null,S,E);k[d]=N}for(G=0;G=0;f--){U^=k[f][G][M];x|=U<>8;J=h+G*C-M*Q>>8;if(H>=0&&H+w<=a&&J>=0&&J+b<=r)for(d=0;d=r)){Y=u[t];v=L[d];for(f=0;f=0&&e>1&7),g=1+(a>>4&7),c=[];let l,h,C=r;do{l=n.readBits(o);h=n.readBits(g);c.push(new HuffmanLine([C,l,h,0]));C+=1<>t&1;if(t<=0)this.children[i]=new HuffmanTreeNode(e);else{let a=this.children[i];a||(this.children[i]=a=new HuffmanTreeNode(null));a.buildTree(e,t-1)}}decodeNode(e){if(this.isLeaf){if(this.isOOB)return null;const t=e.readBits(this.rangeLength);return this.rangeLow+(this.isLowerRange?-t:t)}const t=this.children[e.readBit()];if(!t)throw new Jbig2Error("invalid Huffman data");return t.decodeNode(e)}}class HuffmanTable{constructor(e,t){t||this.assignPrefixCodes(e);this.rootNode=new HuffmanTreeNode(null);for(let t=0,i=e.length;t0&&this.rootNode.buildTree(i,i.prefixLength-1)}}decode(e){return this.rootNode.decodeNode(e)}assignPrefixCodes(e){const t=e.length;let i=0;for(let a=0;a=this.end)throw new Jbig2Error("end of data while reading bit");this.currentByte=this.data[this.position++];this.shift=7}const e=this.currentByte>>this.shift&1;this.shift--;return e}readBits(e){let t,i=0;for(t=e-1;t>=0;t--)i|=this.readBit()<=this.end?-1:this.data[this.position++]}}function getCustomHuffmanTable(e,t,i){let a=0;for(let r=0,s=t.length;r>i&1;i--}}if(a&&!o){const e=5;for(let t=0;t>2,c=new Uint32Array(e.buffer,t,g);if(FeatureTest.isLittleEndian){for(;n>>24|t<<8|4278190080;i[a+2]=t>>>16|r<<16|4278190080;i[a+3]=r>>>8|4278190080}for(let r=4*n,s=t+o;r>>8|255;i[a+2]=t<<16|r>>>16|255;i[a+3]=r<<8|255}for(let r=4*n,s=t+o;r>3,h=7&a,C=e.length;i=new Uint32Array(i.buffer);let Q=0;for(let a=0;a0&&!e[s-1];)s--;const n=[{children:[],index:0}];let o,g=n[0];for(i=0;i0;)g=n.pop();g.index++;n.push(g);for(;n.length<=i;){n.push(o={children:[],index:0});g.children[g.index]=o.children;g=o}r++}if(i+10){E--;return Q>>E&1}Q=e[t++];if(255===Q){const a=e[t++];if(a){if(220===a&&c){const a=readUint16(e,t+=2);t+=2;if(a>0&&a!==i.scanLines)throw new DNLMarkerError("Found DNL marker (0xFFDC) while parsing scan data",a)}else if(217===a){if(c){const e=p*(8===i.precision?8:0);if(e>0&&Math.round(i.scanLines/e)>=5)throw new DNLMarkerError("Found EOI marker (0xFFD9) while parsing scan data, possibly caused by incorrect `scanLines` parameter",e)}throw new EOIMarkerError("Found EOI marker (0xFFD9) while parsing scan data")}throw new JpegError(`unexpected marker ${(Q<<8|a).toString(16)}`)}}E=7;return Q>>>7}function decodeHuffman(e){let t=e;for(;;){t=t[readBit()];switch(typeof t){case"number":return t;case"object":continue}throw new JpegError("invalid huffman sequence")}}function receive(e){let t=0;for(;e>0;){t=t<<1|readBit();e--}return t}function receiveAndExtend(e){if(1===e)return 1===readBit()?1:-1;const t=receive(e);return t>=1<0){u--;return}let i=s;const a=n;for(;i<=a;){const a=decodeHuffman(e.huffmanTableAC),r=15&a,s=a>>4;if(0===r){if(s<15){u=receive(s)+(1<>4;if(0===r)if(c<15){u=receive(c)+(1<>4;if(0===a){if(s<15)break;r+=16;continue}r+=s;const n=Xt[r];e.blockData[t+n]=receiveAndExtend(a);r++}};let R,N=0;const G=1===m?a[0].blocksPerLine*a[0].blocksPerColumn:l*i.mcusPerColumn;let M,U;for(;N<=G;){const i=r?Math.min(G-N,r):G;if(i>0){for(w=0;w0?"unexpected":"excessive"} MCU data, current marker is: ${R.invalid}`);t=R.offset}if(!(R.marker>=65488&&R.marker<=65495))break;t+=2}return t-C}function quantizeAndInverse(e,t,i){const a=e.quantizationTable,r=e.blockData;let s,n,o,g,c,l,h,C,Q,E,u,d,f,p,m,y,w;if(!a)throw new JpegError("missing required Quantization Table.");for(let e=0;e<64;e+=8){Q=r[t+e];E=r[t+e+1];u=r[t+e+2];d=r[t+e+3];f=r[t+e+4];p=r[t+e+5];m=r[t+e+6];y=r[t+e+7];Q*=a[e];if(E|u|d|f|p|m|y){E*=a[e+1];u*=a[e+2];d*=a[e+3];f*=a[e+4];p*=a[e+5];m*=a[e+6];y*=a[e+7];s=ei*Q+128>>8;n=ei*f+128>>8;o=u;g=m;c=ti*(E-y)+128>>8;C=ti*(E+y)+128>>8;l=d<<4;h=p<<4;s=s+n+1>>1;n=s-n;w=o*Ai+g*$t+128>>8;o=o*$t-g*Ai+128>>8;g=w;c=c+h+1>>1;h=c-h;C=C+l+1>>1;l=C-l;s=s+g+1>>1;g=s-g;n=n+o+1>>1;o=n-o;w=c*zt+C*_t+2048>>12;c=c*_t-C*zt+2048>>12;C=w;w=l*Zt+h*Vt+2048>>12;l=l*Vt-h*Zt+2048>>12;h=w;i[e]=s+C;i[e+7]=s-C;i[e+1]=n+h;i[e+6]=n-h;i[e+2]=o+l;i[e+5]=o-l;i[e+3]=g+c;i[e+4]=g-c}else{w=ei*Q+512>>10;i[e]=w;i[e+1]=w;i[e+2]=w;i[e+3]=w;i[e+4]=w;i[e+5]=w;i[e+6]=w;i[e+7]=w}}for(let e=0;e<8;++e){Q=i[e];E=i[e+8];u=i[e+16];d=i[e+24];f=i[e+32];p=i[e+40];m=i[e+48];y=i[e+56];if(E|u|d|f|p|m|y){s=ei*Q+2048>>12;n=ei*f+2048>>12;o=u;g=m;c=ti*(E-y)+2048>>12;C=ti*(E+y)+2048>>12;l=d;h=p;s=4112+(s+n+1>>1);n=s-n;w=o*Ai+g*$t+2048>>12;o=o*$t-g*Ai+2048>>12;g=w;c=c+h+1>>1;h=c-h;C=C+l+1>>1;l=C-l;s=s+g+1>>1;g=s-g;n=n+o+1>>1;o=n-o;w=c*zt+C*_t+2048>>12;c=c*_t-C*zt+2048>>12;C=w;w=l*Zt+h*Vt+2048>>12;l=l*Vt-h*Zt+2048>>12;h=w;Q=s+C;y=s-C;E=n+h;m=n-h;u=o+l;p=o-l;d=g+c;f=g-c;Q<16?Q=0:Q>=4080?Q=255:Q>>=4;E<16?E=0:E>=4080?E=255:E>>=4;u<16?u=0:u>=4080?u=255:u>>=4;d<16?d=0:d>=4080?d=255:d>>=4;f<16?f=0:f>=4080?f=255:f>>=4;p<16?p=0:p>=4080?p=255:p>>=4;m<16?m=0:m>=4080?m=255:m>>=4;y<16?y=0:y>=4080?y=255:y>>=4;r[t+e]=Q;r[t+e+8]=E;r[t+e+16]=u;r[t+e+24]=d;r[t+e+32]=f;r[t+e+40]=p;r[t+e+48]=m;r[t+e+56]=y}else{w=ei*Q+8192>>14;w=w<-2040?0:w>=2024?255:w+2056>>4;r[t+e]=w;r[t+e+8]=w;r[t+e+16]=w;r[t+e+24]=w;r[t+e+32]=w;r[t+e+40]=w;r[t+e+48]=w;r[t+e+56]=w}}}function buildComponentData(e,t){const i=t.blocksPerLine,a=t.blocksPerColumn,r=new Int16Array(64);for(let e=0;e=a)return null;const s=readUint16(e,t);if(s>=65472&&s<=65534)return{invalid:null,marker:s,offset:t};let n=readUint16(e,r);for(;!(n>=65472&&n<=65534);){if(++r>=a)return null;n=readUint16(e,r)}return{invalid:s.toString(16),marker:n,offset:r}}function prepareComponents(e){const t=Math.ceil(e.samplesPerLine/8/e.maxH),i=Math.ceil(e.scanLines/8/e.maxV);for(const a of e.components){const r=Math.ceil(Math.ceil(e.samplesPerLine/8)*a.h/e.maxH),s=Math.ceil(Math.ceil(e.scanLines/8)*a.v/e.maxV),n=t*a.h,o=64*(i*a.v)*(n+1);a.blockData=new Int16Array(o);a.blocksPerLine=r;a.blocksPerColumn=s}e.mcusPerLine=t;e.mcusPerColumn=i}function readDataBlock(e,t){const i=readUint16(e,t);let a=(t+=2)+i-2;const r=findNextFileMarker(e,a,t);if(r?.invalid){warn("readDataBlock - incorrect length, current marker is: "+r.invalid);a=r.offset}const s=e.subarray(t,a);return{appData:s,newOffset:t+=s.length}}function skipData(e,t){const i=readUint16(e,t),a=(t+=2)+i-2,r=findNextFileMarker(e,a,t);return r?.invalid?r.offset:a}class JpegImage{constructor({decodeTransform:e=null,colorTransform:t=-1}={}){this._decodeTransform=e;this._colorTransform=t}static canUseImageDecoder(e,t=-1){let i=0,a=null,r=readUint16(e,i);i+=2;if(65496!==r)throw new JpegError("SOI not found");r=readUint16(e,i);i+=2;A:for(;65497!==r;){switch(r){case 65472:case 65473:case 65474:a=e[i+7];break A;case 65535:255!==e[i]&&i--}i=skipData(e,i);r=readUint16(e,i);i+=2}return 4!==a&&(3!==a||0!==t)}parse(e,{dnlScanLines:t=null}={}){let i,a,r=0,s=null,n=null,o=0;const g=[],c=[],l=[];let h=readUint16(e,r);r+=2;if(65496!==h)throw new JpegError("SOI not found");h=readUint16(e,r);r+=2;A:for(;65497!==h;){let C,Q,E;switch(h){case 65504:case 65505:case 65506:case 65507:case 65508:case 65509:case 65510:case 65511:case 65512:case 65513:case 65514:case 65515:case 65516:case 65517:case 65518:case 65519:case 65534:const{appData:u,newOffset:d}=readDataBlock(e,r);r=d;65504===h&&74===u[0]&&70===u[1]&&73===u[2]&&70===u[3]&&0===u[4]&&(s={version:{major:u[5],minor:u[6]},densityUnits:u[7],xDensity:u[8]<<8|u[9],yDensity:u[10]<<8|u[11],thumbWidth:u[12],thumbHeight:u[13],thumbData:u.subarray(14,14+3*u[12]*u[13])});65518===h&&65===u[0]&&100===u[1]&&111===u[2]&&98===u[3]&&101===u[4]&&(n={version:u[5]<<8|u[6],flags0:u[7]<<8|u[8],flags1:u[9]<<8|u[10],transformCode:u[11]});break;case 65499:const f=readUint16(e,r);r+=2;const p=f+r-2;let m;for(;r>4){if(t>>4!=1)throw new JpegError("DQT - invalid table spec");for(Q=0;Q<64;Q++){m=Xt[Q];i[m]=readUint16(e,r);r+=2}}else for(Q=0;Q<64;Q++){m=Xt[Q];i[m]=e[r++]}g[15&t]=i}break;case 65472:case 65473:case 65474:if(i)throw new JpegError("Only single frame JPEGs supported");r+=2;i={};i.extended=65473===h;i.progressive=65474===h;i.precision=e[r++];const y=readUint16(e,r);r+=2;i.scanLines=t||y;i.samplesPerLine=readUint16(e,r);r+=2;i.components=[];i.componentIds={};const w=e[r++];let b=0,D=0;for(C=0;C>4,s=15&e[r+1];b>4?c:l)[15&t]=buildHuffmanTable(i,s)}break;case 65501:r+=2;a=readUint16(e,r);r+=2;break;case 65498:const k=1==++o&&!t;r+=2;const R=e[r++],N=[];for(C=0;C>4];s.huffmanTableAC=c[15&n];N.push(s)}const G=e[r++],M=e[r++],U=e[r++];try{r+=decodeScan(e,r,i,N,a,G,M,U>>4,15&U,k)}catch(t){if(t instanceof DNLMarkerError){warn(`${t.message} -- attempting to re-parse the JPEG image.`);return this.parse(e,{dnlScanLines:t.scanLines})}if(t instanceof EOIMarkerError){warn(`${t.message} -- ignoring the rest of the image data.`);break A}throw t}break;case 65500:r+=4;break;case 65535:255!==e[r]&&r--;break;default:const x=findNextFileMarker(e,r-2,r-3);if(x?.invalid){warn("JpegImage.parse - unexpected data, current marker is: "+x.invalid);r=x.offset;break}if(!x||r>=e.length-1){warn("JpegImage.parse - reached the end of the image data without finding an EOI marker (0xFFD9).");break A}throw new JpegError("JpegImage.parse - unknown marker: "+h.toString(16))}h=readUint16(e,r);r+=2}if(!i)throw new JpegError("JpegImage.parse - no frame data found.");this.width=i.samplesPerLine;this.height=i.scanLines;this.jfif=s;this.adobe=n;this.components=[];for(const e of i.components){const t=g[e.quantizationId];t&&(e.quantizationTable=t);this.components.push({index:e.index,output:buildComponentData(0,e),scaleX:e.h/i.maxH,scaleY:e.v/i.maxV,blocksPerLine:e.blocksPerLine,blocksPerColumn:e.blocksPerColumn})}this.numComponents=this.components.length}_getLinearizedBlockData(e,t,i=!1){const a=this.width/e,r=this.height/t;let s,n,o,g,c,l,h,C,Q,E,u,d=0;const f=this.components.length,p=e*t*f,m=new Uint8ClampedArray(p),y=new Uint32Array(e),w=4294967288;let b;for(h=0;h>8)+D[Q+1];return m}get _isColorConversionNeeded(){return this.adobe?!!this.adobe.transformCode:3===this.numComponents?0!==this._colorTransform&&(82!==this.components[0].index||71!==this.components[1].index||66!==this.components[2].index):1===this._colorTransform}_convertYccToRgb(e){let t,i,a;for(let r=0,s=e.length;r4)throw new JpegError("Unsupported color mode");const s=this._getLinearizedBlockData(e,t,r);if(1===this.numComponents&&(i||a)){const e=s.length*(i?4:3),t=new Uint8ClampedArray(e);let a=0;if(i)!function grayToRGBA(e,t){if(FeatureTest.isLittleEndian)for(let i=0,a=e.length;i0&&(e=e.subarray(t));break}return e}decodeImage(e){if(this.eof)return this.buffer;e=this.#w(e||this.bytes);const t=new JpegImage(this.jpegOptions);t.parse(e);const i=t.getData({width:this.drawWidth,height:this.drawHeight,forceRGBA:this.forceRGBA,forceRGB:this.forceRGB,isSourcePDF:!0});this.buffer=i;this.bufferLength=i.length;this.eof=!0;return this.buffer}get canAsyncDecodeImageFromBuffer(){return this.stream.isAsync}async getTransferableImage(){if(!await JpegStream.canUseImageDecoder)return null;const e=this.jpegOptions;if(e.decodeTransform)return null;let t;try{const i=this.canAsyncDecodeImageFromBuffer&&await this.stream.asyncGetBytes()||this.bytes;if(!i)return null;const a=this.#w(i);if(!JpegImage.canUseImageDecoder(a,e.colorTransform))return null;t=new ImageDecoder({data:a,type:"image/jpeg",preferAnimation:!1});return(await t.decode()).image}catch(e){warn(`getTransferableImage - failed: "${e}".`);return null}finally{t?.close()}}}var ii,ai=(ii="undefined"!=typeof document?document.currentScript?.src:void 0,function(e={}){var t,i,a=e;new Promise(((e,a)=>{t=e;i=a}));a.decode=function(e,{numComponents:t=4,isIndexedColormap:i=!1,smaskInData:r=!1}){const s=e.length,n=a._malloc(s);a.HEAPU8.set(e,n);const o=a._jp2_decode(n,s,t>0?t:0,!!i,!!r);a._free(n);if(o){const{errorMessages:e}=a;if(e){delete a.errorMessages;return e}return"Unknown error"}const{imageData:g}=a;a.imageData=null;return g};var r=Object.assign({},a),s="./this.program",quit_=(e,t)=>{throw t},n="";"undefined"!=typeof document&&document.currentScript&&(n=document.currentScript.src);ii&&(n=ii);n=n.startsWith("blob:")?"":n.substr(0,n.replace(/[?#].*/,"").lastIndexOf("/")+1);var o=a.print||console.log.bind(console),g=a.printErr||console.error.bind(console);Object.assign(a,r);r=null;a.arguments&&a.arguments;a.thisProgram&&(s=a.thisProgram);var c,l=a.wasmBinary;function tryParseAsDataURI(e){if(isDataURI(e))return function intArrayFromBase64(e){for(var t=atob(e),i=new Uint8Array(t.length),a=0;ae.startsWith(D);function instantiateSync(e,t){var i,a=function getBinarySync(e){if(e==d&&l)return new Uint8Array(l);var t=tryParseAsDataURI(e);if(t)return t;throw'sync fetching of the wasm failed: you can preload it to Module["wasmBinary"] manually, or emcc.py will do that for you when generating HTML (but not JS)'}(e);i=new WebAssembly.Module(a);return[new WebAssembly.Instance(i,t),i]}class ExitStatus{name="ExitStatus";constructor(e){this.message=`Program terminated with exit(${e})`;this.status=e}}var S,callRuntimeCallbacks=e=>{for(;e.length>0;)e.shift()(a)},k=a.noExitRuntime||!0,R=0,N={},handleException=e=>{if(e instanceof ExitStatus||"unwind"==e)return h;quit_(0,e)},keepRuntimeAlive=()=>k||R>0,_proc_exit=e=>{h=e;if(!keepRuntimeAlive()){a.onExit?.(e);u=!0}quit_(0,new ExitStatus(e))},_exit=(e,t)=>{h=e;_proc_exit(e)},callUserCallback=e=>{if(!u)try{e();(()=>{if(!keepRuntimeAlive())try{_exit(h)}catch(e){handleException(e)}})()}catch(e){handleException(e)}},growMemory=e=>{var t=(e-c.buffer.byteLength+65535)/65536|0;try{c.grow(t);updateMemoryViews();return 1}catch(e){}},G={},getEnvStrings=()=>{if(!getEnvStrings.strings){var e={USER:"web_user",LOGNAME:"web_user",PATH:"/",PWD:"/",HOME:"/home/web_user",LANG:("object"==typeof navigator&&navigator.languages&&navigator.languages[0]||"C").replace("-","_")+".UTF-8",_:s||"./this.program"};for(var t in G)void 0===G[t]?delete e[t]:e[t]=G[t];var i=[];for(var t in e)i.push(`${t}=${e[t]}`);getEnvStrings.strings=i}return getEnvStrings.strings},M=[null,[],[]],U="undefined"!=typeof TextDecoder?new TextDecoder:void 0,UTF8ArrayToString=(e,t=0,i=NaN)=>{for(var a=t+i,r=t;e[r]&&!(r>=a);)++r;if(r-t>16&&e.buffer&&U)return U.decode(e.subarray(t,r));for(var s="";t>10,56320|1023&c)}}else s+=String.fromCharCode((31&n)<<6|o)}else s+=String.fromCharCode(n)}return s},printChar=(e,t)=>{var i=M[e];if(0===t||10===t){(1===e?o:g)(UTF8ArrayToString(i));i.length=0}else i.push(t)},UTF8ToString=(e,t)=>e?UTF8ArrayToString(Q,e,t):"",x={m:()=>function abort(e){a.onAbort?.(e);g(e="Aborted("+e+")");u=!0;e+=". Build with -sASSERTIONS for more info.";var t=new WebAssembly.RuntimeError(e);i(t);throw t}(""),c:(e,t,i)=>Q.copyWithin(e,t,t+i),l:()=>{k=!1;R=0},n:(e,t)=>{if(N[e]){clearTimeout(N[e].id);delete N[e]}if(!t)return 0;var i=setTimeout((()=>{delete N[e];callUserCallback((()=>H(e,performance.now())))}),t);N[e]={id:i,timeout_ms:t};return 0},g:function _copy_pixels_1(e,t){e>>=2;const i=a.imageData=new Uint8ClampedArray(t),r=a.HEAP32.subarray(e,e+t);i.set(r)},f:function _copy_pixels_3(e,t,i,r){e>>=2;t>>=2;i>>=2;const s=a.imageData=new Uint8ClampedArray(3*r),n=a.HEAP32.subarray(e,e+r),o=a.HEAP32.subarray(t,t+r),g=a.HEAP32.subarray(i,i+r);for(let e=0;e>=2;t>>=2;i>>=2;r>>=2;const n=a.imageData=new Uint8ClampedArray(4*s),o=a.HEAP32.subarray(e,e+s),g=a.HEAP32.subarray(t,t+s),c=a.HEAP32.subarray(i,i+s),l=a.HEAP32.subarray(r,r+s);for(let e=0;e{var t,i,a=Q.length,r=2147483648;if((e>>>=0)>r)return!1;for(var s=1;s<=4;s*=2){var n=a*(1+.2/s);n=Math.min(n,e+100663296);var o=Math.min(r,(t=Math.max(e,n),i=65536,Math.ceil(t/i)*i));if(growMemory(o))return!0}return!1},p:(e,t)=>{var i=0;getEnvStrings().forEach(((a,r)=>{var s=t+i;E[e+4*r>>2]=s;((e,t)=>{for(var i=0;i{var i=getEnvStrings();E[e>>2]=i.length;var a=0;i.forEach((e=>a+=e.length+1));E[t>>2]=a;return 0},r:e=>52,j:function _fd_seek(e,t,i,a,r){return 70},b:(e,t,i,a)=>{for(var r=0,s=0;s>2],o=E[t+4>>2];t+=8;for(var g=0;g>2]=r;return 0},s:function _gray_to_rgba(e,t){e>>=2;const i=a.imageData=new Uint8ClampedArray(4*t),r=a.HEAP32.subarray(e,e+t);for(let e=0;e>=2;t>>=2;const r=a.imageData=new Uint8ClampedArray(4*i),s=a.HEAP32.subarray(e,e+i),n=a.HEAP32.subarray(t,t+i);for(let e=0;e>=2;t>>=2;i>>=2;const s=a.imageData=new Uint8ClampedArray(4*r),n=a.HEAP32.subarray(e,e+r),o=a.HEAP32.subarray(t,t+r),g=a.HEAP32.subarray(i,i+r);for(let e=0;e0)){!function preRun(){if(a.preRun){"function"==typeof a.preRun&&(a.preRun=[a.preRun]);for(;a.preRun.length;)e=a.preRun.shift(),f.unshift(e)}var e;callRuntimeCallbacks(f)}();if(!(y>0))if(a.setStatus){a.setStatus("Running...");setTimeout((()=>{setTimeout((()=>a.setStatus("")),1);doRun()}),1)}else doRun()}function doRun(){if(!S){S=!0;a.calledRun=!0;if(!u){!function initRuntime(){callRuntimeCallbacks(p)}();t(a);a.onRuntimeInitialized?.();!function postRun(){if(a.postRun){"function"==typeof a.postRun&&(a.postRun=[a.postRun]);for(;a.postRun.length;)e=a.postRun.shift(),m.unshift(e)}var e;callRuntimeCallbacks(m)}()}}}}if(a.preInit){"function"==typeof a.preInit&&(a.preInit=[a.preInit]);for(;a.preInit.length>0;)a.preInit.pop()()}run();return a});const ri=ai;class JpxError extends ct{constructor(e){super(e,"JpxError")}}class JpxImage{static#b=null;static decode(e,t){t||={};this.#b||=ri({warn});const i=this.#b.decode(e,t);if("string"==typeof i)throw new JpxError(i);return i}static cleanup(){this.#b=null}static parseImageProperties(e){let t=e.getByte();for(;t>=0;){const i=t;t=e.getByte();if(65361===(i<<8|t)){e.skip(4);const t=e.getInt32()>>>0,i=e.getInt32()>>>0,a=e.getInt32()>>>0,r=e.getInt32()>>>0;e.skip(16);return{width:t-a,height:i-r,bitsPerComponent:8,componentsCount:e.getUint16()}}}throw new JpxError("No size marker found in JPX stream")}}class JpxStream extends DecodeStream{constructor(e,t,i){super(t);this.stream=e;this.dict=e.dict;this.maybeLength=t;this.params=i}get bytes(){return shadow(this,"bytes",this.stream.getBytes(this.maybeLength))}ensureBuffer(e){}readBlock(e){this.decodeImage(null,e)}decodeImage(e,t){if(this.eof)return this.buffer;e||=this.bytes;this.buffer=JpxImage.decode(e,t);this.bufferLength=this.buffer.length;this.eof=!0;return this.buffer}get canAsyncDecodeImageFromBuffer(){return this.stream.isAsync}}class LZWStream extends DecodeStream{constructor(e,t,i){super(t);this.str=e;this.dict=e.dict;this.cachedData=0;this.bitsCached=0;const a=4096,r={earlyChange:i,codeLength:9,nextCode:258,dictionaryValues:new Uint8Array(a),dictionaryLengths:new Uint16Array(a),dictionaryPrevCodes:new Uint16Array(a),currentSequence:new Uint8Array(a),currentSequenceLength:0};for(let e=0;e<256;++e){r.dictionaryValues[e]=e;r.dictionaryLengths[e]=1}this.lzwState=r}readBits(e){let t=this.bitsCached,i=this.cachedData;for(;t>>t&(1<0;if(e<256){C[0]=e;Q=1}else{if(!(e>=258)){if(256===e){l=9;n=258;Q=0;continue}this.eof=!0;delete this.lzwState;break}if(e=0;t--){C[t]=o[i];i=c[i]}}else C[Q++]=C[0]}if(r){c[n]=h;g[n]=g[h]+1;o[n]=C[0];n++;l=n+s&n+s-1?l:0|Math.min(Math.log(n+s)/.6931471805599453+1,12)}h=e;E+=Q;if(a15))throw new FormatError(`Unsupported predictor: ${a}`);this.readBlock=2===a?this.readBlockTiff:this.readBlockPng;this.str=e;this.dict=e.dict;const r=this.colors=i.get("Colors")||1,s=this.bits=i.get("BPC","BitsPerComponent")||8,n=this.columns=i.get("Columns")||1;this.pixBytes=r*s+7>>3;this.rowBytes=n*r*s+7>>3;return this}readBlockTiff(){const e=this.rowBytes,t=this.bufferLength,i=this.ensureBuffer(t+e),a=this.bits,r=this.colors,s=this.str.getBytes(e);this.eof=!s.length;if(this.eof)return;let n,o=0,g=0,c=0,l=0,h=t;if(1===a&&1===r)for(n=0;n>1;e^=e>>2;e^=e>>4;o=(1&e)<<7;i[h++]=e}else if(8===a){for(n=0;n>8&255;i[h++]=255&e}}else{const e=new Uint8Array(r+1),h=(1<>c-a)&h;c-=a;g=g<=8){i[Q++]=g>>l-8&255;l-=8}}l>0&&(i[Q++]=(g<<8-l)+(o&(1<<8-l)-1))}this.bufferLength+=e}readBlockPng(){const e=this.rowBytes,t=this.pixBytes,i=this.str.getByte(),a=this.str.getBytes(e);this.eof=!a.length;if(this.eof)return;const r=this.bufferLength,s=this.ensureBuffer(r+e);let n=s.subarray(r-e,r);0===n.length&&(n=new Uint8Array(e));let o,g,c,l=r;switch(i){case 0:for(o=0;o>1)+a[o];for(;o>1)+a[o]&255;l++}break;case 4:for(o=0;o0){const e=this.str.getBytes(a);t.set(e,i);i+=a}}else{a=257-a;const r=e[1];t=this.ensureBuffer(i+a+1);for(let e=0;e>")&&this.buf1!==Et;){if(!(this.buf1 instanceof Name)){info("Malformed dictionary: key must be a name object");this.shift();continue}const t=this.buf1.name;this.shift();if(this.buf1===Et)break;a.set(t,this.getObj(e))}if(this.buf1===Et){if(this.recoveryMode)return a;throw new ParserEOFException("End of file inside dictionary.")}if(isCmd(this.buf2,"stream"))return this.allowStreams?this.makeStream(a,e):a;this.shift();return a;default:return t}if(Number.isInteger(t)){if(Number.isInteger(this.buf1)&&isCmd(this.buf2,"R")){const e=Ref.get(t,this.buf1);this.shift();this.shift();return e}return t}return"string"==typeof t&&e?e.decryptString(t):t}findDefaultInlineStreamEnd(e){const{knownCommands:t}=this.lexer,i=e.pos;let a,r,s=0;for(;-1!==(a=e.getByte());)if(0===s)s=69===a?1:0;else if(1===s)s=73===a?2:0;else if(32===a||10===a||13===a){r=e.pos;const i=e.peekBytes(15),n=i.length;if(0===n)break;for(let e=0;e127))){s=0;break}}if(2!==s)continue;if(!t){warn("findDefaultInlineStreamEnd - `lexer.knownCommands` is undefined.");continue}const o=new Lexer(new Stream(i.slice()),t);o._hexStringWarn=()=>{};let g=0;for(;;){const e=o.getObj();if(e===Et){s=0;break}if(e instanceof Cmd){const i=t[e.cmd];if(!i){s=0;break}if(i.variableArgs?g<=i.numArgs:g===i.numArgs)break;g=0}else g++}if(2===s)break}else s=0;if(-1===a){warn("findDefaultInlineStreamEnd: Reached the end of the stream without finding a valid EI marker");if(r){warn('... trying to recover by using the last "EI" occurrence.');e.skip(-(e.pos-r))}}let n=4;e.skip(-n);a=e.peekByte();e.skip(n);isWhiteSpace(a)||n--;return e.pos-n-i}findDCTDecodeInlineStreamEnd(e){const t=e.pos;let i,a,r=!1;for(;-1!==(i=e.getByte());)if(255===i){switch(e.getByte()){case 0:break;case 255:e.skip(-1);break;case 217:r=!0;break;case 192:case 193:case 194:case 195:case 197:case 198:case 199:case 201:case 202:case 203:case 205:case 206:case 207:case 196:case 204:case 218:case 219:case 220:case 221:case 222:case 223:case 224:case 225:case 226:case 227:case 228:case 229:case 230:case 231:case 232:case 233:case 234:case 235:case 236:case 237:case 238:case 239:case 254:a=e.getUint16();a>2?e.skip(a-2):e.skip(-2)}if(r)break}const s=e.pos-t;if(-1===i){warn("Inline DCTDecode image stream: EOI marker not found, searching for /EI/ instead.");e.skip(-s);return this.findDefaultInlineStreamEnd(e)}this.inlineStreamSkipEI(e);return s}findASCII85DecodeInlineStreamEnd(e){const t=e.pos;let i;for(;-1!==(i=e.getByte());)if(126===i){const t=e.pos;i=e.peekByte();for(;isWhiteSpace(i);){e.skip();i=e.peekByte()}if(62===i){e.skip();break}if(e.pos>t){const t=e.peekBytes(2);if(69===t[0]&&73===t[1])break}}const a=e.pos-t;if(-1===i){warn("Inline ASCII85Decode image stream: EOD marker not found, searching for /EI/ instead.");e.skip(-a);return this.findDefaultInlineStreamEnd(e)}this.inlineStreamSkipEI(e);return a}findASCIIHexDecodeInlineStreamEnd(e){const t=e.pos;let i;for(;-1!==(i=e.getByte())&&62!==i;);const a=e.pos-t;if(-1===i){warn("Inline ASCIIHexDecode image stream: EOD marker not found, searching for /EI/ instead.");e.skip(-a);return this.findDefaultInlineStreamEnd(e)}this.inlineStreamSkipEI(e);return a}inlineStreamSkipEI(e){let t,i=0;for(;-1!==(t=e.getByte());)if(0===i)i=69===t?1:0;else if(1===i)i=73===t?2:0;else if(2===i)break}makeInlineImage(e){const t=this.lexer,i=t.stream,a=Object.create(null);let r;for(;!isCmd(this.buf1,"ID")&&this.buf1!==Et;){if(!(this.buf1 instanceof Name))throw new FormatError("Dictionary key must be a name object");const t=this.buf1.name;this.shift();if(this.buf1===Et)break;a[t]=this.getObj(e)}-1!==t.beginInlineImagePos&&(r=i.pos-t.beginInlineImagePos);const s=this.xref.fetchIfRef(a.F||a.Filter);let n;if(s instanceof Name)n=s.name;else if(Array.isArray(s)){const e=this.xref.fetchIfRef(s[0]);e instanceof Name&&(n=e.name)}const o=i.pos;let g,c;switch(n){case"DCT":case"DCTDecode":g=this.findDCTDecodeInlineStreamEnd(i);break;case"A85":case"ASCII85Decode":g=this.findASCII85DecodeInlineStreamEnd(i);break;case"AHx":case"ASCIIHexDecode":g=this.findASCIIHexDecodeInlineStreamEnd(i);break;default:g=this.findDefaultInlineStreamEnd(i)}if(g<1e3&&r>0){const e=i.pos;i.pos=t.beginInlineImagePos;c=function getInlineImageCacheKey(e){const t=[],i=e.length;let a=0;for(;a=a){let a=!1;for(const e of r){const t=e.length;let r=0;for(;r=s){a=!0;break}if(r>=t){if(isWhiteSpace(n[g+o+r])){info(`Found "${bytesToString([...i,...e])}" when searching for endstream command.`);a=!0}break}}if(a){t.pos+=g;return t.pos-e}}g++}t.pos+=o}return-1}makeStream(e,t){const i=this.lexer;let a=i.stream;i.skipToNextLine();const r=a.pos-1;let s=e.get("Length");if(!Number.isInteger(s)){info(`Bad length "${s&&s.toString()}" in stream.`);s=0}a.pos=r+s;i.nextChar();if(this.tryShift()&&isCmd(this.buf2,"endstream"))this.shift();else{s=this.#D(r);if(s<0)throw new FormatError("Missing endstream command.");i.nextChar();this.shift();this.shift()}this.shift();a=a.makeSubStream(r,s,e);t&&(a=t.createStream(a,s));a=this.filter(a,e,s);a.dict=e;return a}filter(e,t,i){let a=t.get("F","Filter"),r=t.get("DP","DecodeParms");if(a instanceof Name){Array.isArray(r)&&warn("/DecodeParms should not be an Array, when /Filter is a Name.");return this.makeFilter(e,a.name,i,r)}let s=i;if(Array.isArray(a)){const t=a,i=r;for(let n=0,o=t.length;n=48&&e<=57?15&e:e>=65&&e<=70||e>=97&&e<=102?9+(15&e):-1}class Lexer{constructor(e,t=null){this.stream=e;this.nextChar();this.strBuf=[];this.knownCommands=t;this._hexStringNumWarn=0;this.beginInlineImagePos=-1}nextChar(){return this.currentChar=this.stream.getByte()}peekChar(){return this.stream.peekByte()}getNumber(){let e=this.currentChar,t=!1,i=0,a=1;if(45===e){a=-1;e=this.nextChar();45===e&&(e=this.nextChar())}else 43===e&&(e=this.nextChar());if(10===e||13===e)do{e=this.nextChar()}while(10===e||13===e);if(46===e){i=10;e=this.nextChar()}if(e<48||e>57){const t=`Invalid number: ${String.fromCharCode(e)} (charCode ${e})`;if(isWhiteSpace(e)||-1===e){info(`Lexer.getNumber - "${t}".`);return 0}throw new FormatError(t)}let r=e-48,s=0,n=1;for(;(e=this.nextChar())>=0;)if(e>=48&&e<=57){const a=e-48;if(t)s=10*s+a;else{0!==i&&(i*=10);r=10*r+a}}else if(46===e){if(0!==i)break;i=1}else if(45===e)warn("Badly formatted number: minus sign in the middle");else{if(69!==e&&101!==e)break;e=this.peekChar();if(43===e||45===e){n=45===e?-1:1;this.nextChar()}else if(e<48||e>57)break;t=!0}0!==i&&(r/=i);t&&(r*=10**(n*s));return a*r}getString(){let e=1,t=!1;const i=this.strBuf;i.length=0;let a=this.nextChar();for(;;){let r=!1;switch(0|a){case-1:warn("Unterminated string");t=!0;break;case 40:++e;i.push("(");break;case 41:if(0==--e){this.nextChar();t=!0}else i.push(")");break;case 92:a=this.nextChar();switch(a){case-1:warn("Unterminated string");t=!0;break;case 110:i.push("\n");break;case 114:i.push("\r");break;case 116:i.push("\t");break;case 98:i.push("\b");break;case 102:i.push("\f");break;case 92:case 40:case 41:i.push(String.fromCharCode(a));break;case 48:case 49:case 50:case 51:case 52:case 53:case 54:case 55:let e=15&a;a=this.nextChar();r=!0;if(a>=48&&a<=55){e=(e<<3)+(15&a);a=this.nextChar();if(a>=48&&a<=55){r=!1;e=(e<<3)+(15&a)}}i.push(String.fromCharCode(e));break;case 13:10===this.peekChar()&&this.nextChar();break;case 10:break;default:i.push(String.fromCharCode(a))}break;default:i.push(String.fromCharCode(a))}if(t)break;r||(a=this.nextChar())}return i.join("")}getName(){let e,t;const i=this.strBuf;i.length=0;for(;(e=this.nextChar())>=0&&!si[e];)if(35===e){e=this.nextChar();if(si[e]){warn("Lexer_getName: NUMBER SIGN (#) should be followed by a hexadecimal number.");i.push("#");break}const a=toHexDigit(e);if(-1!==a){t=e;e=this.nextChar();const r=toHexDigit(e);if(-1===r){warn(`Lexer_getName: Illegal digit (${String.fromCharCode(e)}) in hexadecimal number.`);i.push("#",String.fromCharCode(t));if(si[e])break;i.push(String.fromCharCode(e));continue}i.push(String.fromCharCode(a<<4|r))}else i.push("#",String.fromCharCode(e))}else i.push(String.fromCharCode(e));i.length>127&&warn(`Name token is longer than allowed by the spec: ${i.length}`);return Name.get(i.join(""))}_hexStringWarn(e){5!=this._hexStringNumWarn++?this._hexStringNumWarn>5||warn(`getHexString - ignoring invalid character: ${e}`):warn("getHexString - ignoring additional invalid characters.")}getHexString(){const e=this.strBuf;e.length=0;let t=this.currentChar,i=-1,a=-1;this._hexStringNumWarn=0;for(;;){if(t<0){warn("Unterminated hex string");break}if(62===t){this.nextChar();break}if(1!==si[t]){a=toHexDigit(t);if(-1===a)this._hexStringWarn(t);else if(-1===i)i=a;else{e.push(String.fromCharCode(i<<4|a));i=-1}t=this.nextChar()}else t=this.nextChar()}-1!==i&&e.push(String.fromCharCode(i<<4));return e.join("")}getObj(){let e=!1,t=this.currentChar;for(;;){if(t<0)return Et;if(e)10!==t&&13!==t||(e=!1);else if(37===t)e=!0;else if(1!==si[t])break;t=this.nextChar()}switch(0|t){case 48:case 49:case 50:case 51:case 52:case 53:case 54:case 55:case 56:case 57:case 43:case 45:case 46:return this.getNumber();case 40:return this.getString();case 47:return this.getName();case 91:this.nextChar();return Cmd.get("[");case 93:this.nextChar();return Cmd.get("]");case 60:t=this.nextChar();if(60===t){this.nextChar();return Cmd.get("<<")}return this.getHexString();case 62:t=this.nextChar();if(62===t){this.nextChar();return Cmd.get(">>")}return Cmd.get(">");case 123:this.nextChar();return Cmd.get("{");case 125:this.nextChar();return Cmd.get("}");case 41:this.nextChar();throw new FormatError(`Illegal character: ${t}`)}let i=String.fromCharCode(t);if(t<32||t>127){const e=this.peekChar();if(e>=32&&e<=127){this.nextChar();return Cmd.get(i)}}const a=this.knownCommands;let r=void 0!==a?.[i];for(;(t=this.nextChar())>=0&&!si[t];){const e=i+String.fromCharCode(t);if(r&&void 0===a[e])break;if(128===i.length)throw new FormatError(`Command token too long: ${i.length}`);i=e;r=void 0!==a?.[i]}if("true"===i)return!0;if("false"===i)return!1;if("null"===i)return null;"BI"===i&&(this.beginInlineImagePos=this.stream.pos);return Cmd.get(i)}skipToNextLine(){let e=this.currentChar;for(;e>=0;){if(13===e){e=this.nextChar();10===e&&this.nextChar();break}if(10===e){this.nextChar();break}e=this.nextChar()}}}class Linearization{static create(e){function getInt(e,t,i=!1){const a=e.get(t);if(Number.isInteger(a)&&(i?a>=0:a>0))return a;throw new Error(`The "${t}" parameter in the linearization dictionary is invalid.`)}const t=new Parser({lexer:new Lexer(e),xref:null}),i=t.getObj(),a=t.getObj(),r=t.getObj(),s=t.getObj();let n,o;if(!(Number.isInteger(i)&&Number.isInteger(a)&&isCmd(r,"obj")&&s instanceof Dict&&"number"==typeof(n=s.get("Linearized"))&&n>0))return null;if((o=getInt(s,"L"))!==e.length)throw new Error('The "L" parameter in the linearization dictionary does not equal the stream length.');return{length:o,hints:function getHints(e){const t=e.get("H");let i;if(Array.isArray(t)&&(2===(i=t.length)||4===i)){for(let e=0;e0))throw new Error(`Hint (${e}) in the linearization dictionary is invalid.`)}return t}throw new Error("Hint array in the linearization dictionary is invalid.")}(s),objectNumberFirst:getInt(s,"O"),endFirst:getInt(s,"E"),numPages:getInt(s,"N"),mainXRefEntriesOffset:getInt(s,"T"),pageFirst:s.has("P")?getInt(s,"P",!0):0}}}const ni=["Adobe-GB1-UCS2","Adobe-CNS1-UCS2","Adobe-Japan1-UCS2","Adobe-Korea1-UCS2","78-EUC-H","78-EUC-V","78-H","78-RKSJ-H","78-RKSJ-V","78-V","78ms-RKSJ-H","78ms-RKSJ-V","83pv-RKSJ-H","90ms-RKSJ-H","90ms-RKSJ-V","90msp-RKSJ-H","90msp-RKSJ-V","90pv-RKSJ-H","90pv-RKSJ-V","Add-H","Add-RKSJ-H","Add-RKSJ-V","Add-V","Adobe-CNS1-0","Adobe-CNS1-1","Adobe-CNS1-2","Adobe-CNS1-3","Adobe-CNS1-4","Adobe-CNS1-5","Adobe-CNS1-6","Adobe-GB1-0","Adobe-GB1-1","Adobe-GB1-2","Adobe-GB1-3","Adobe-GB1-4","Adobe-GB1-5","Adobe-Japan1-0","Adobe-Japan1-1","Adobe-Japan1-2","Adobe-Japan1-3","Adobe-Japan1-4","Adobe-Japan1-5","Adobe-Japan1-6","Adobe-Korea1-0","Adobe-Korea1-1","Adobe-Korea1-2","B5-H","B5-V","B5pc-H","B5pc-V","CNS-EUC-H","CNS-EUC-V","CNS1-H","CNS1-V","CNS2-H","CNS2-V","ETHK-B5-H","ETHK-B5-V","ETen-B5-H","ETen-B5-V","ETenms-B5-H","ETenms-B5-V","EUC-H","EUC-V","Ext-H","Ext-RKSJ-H","Ext-RKSJ-V","Ext-V","GB-EUC-H","GB-EUC-V","GB-H","GB-V","GBK-EUC-H","GBK-EUC-V","GBK2K-H","GBK2K-V","GBKp-EUC-H","GBKp-EUC-V","GBT-EUC-H","GBT-EUC-V","GBT-H","GBT-V","GBTpc-EUC-H","GBTpc-EUC-V","GBpc-EUC-H","GBpc-EUC-V","H","HKdla-B5-H","HKdla-B5-V","HKdlb-B5-H","HKdlb-B5-V","HKgccs-B5-H","HKgccs-B5-V","HKm314-B5-H","HKm314-B5-V","HKm471-B5-H","HKm471-B5-V","HKscs-B5-H","HKscs-B5-V","Hankaku","Hiragana","KSC-EUC-H","KSC-EUC-V","KSC-H","KSC-Johab-H","KSC-Johab-V","KSC-V","KSCms-UHC-H","KSCms-UHC-HW-H","KSCms-UHC-HW-V","KSCms-UHC-V","KSCpc-EUC-H","KSCpc-EUC-V","Katakana","NWP-H","NWP-V","RKSJ-H","RKSJ-V","Roman","UniCNS-UCS2-H","UniCNS-UCS2-V","UniCNS-UTF16-H","UniCNS-UTF16-V","UniCNS-UTF32-H","UniCNS-UTF32-V","UniCNS-UTF8-H","UniCNS-UTF8-V","UniGB-UCS2-H","UniGB-UCS2-V","UniGB-UTF16-H","UniGB-UTF16-V","UniGB-UTF32-H","UniGB-UTF32-V","UniGB-UTF8-H","UniGB-UTF8-V","UniJIS-UCS2-H","UniJIS-UCS2-HW-H","UniJIS-UCS2-HW-V","UniJIS-UCS2-V","UniJIS-UTF16-H","UniJIS-UTF16-V","UniJIS-UTF32-H","UniJIS-UTF32-V","UniJIS-UTF8-H","UniJIS-UTF8-V","UniJIS2004-UTF16-H","UniJIS2004-UTF16-V","UniJIS2004-UTF32-H","UniJIS2004-UTF32-V","UniJIS2004-UTF8-H","UniJIS2004-UTF8-V","UniJISPro-UCS2-HW-V","UniJISPro-UCS2-V","UniJISPro-UTF8-V","UniJISX0213-UTF32-H","UniJISX0213-UTF32-V","UniJISX02132004-UTF32-H","UniJISX02132004-UTF32-V","UniKS-UCS2-H","UniKS-UCS2-V","UniKS-UTF16-H","UniKS-UTF16-V","UniKS-UTF32-H","UniKS-UTF32-V","UniKS-UTF8-H","UniKS-UTF8-V","V","WP-Symbol"],oi=2**24-1;class CMap{constructor(e=!1){this.codespaceRanges=[[],[],[],[]];this.numCodespaceRanges=0;this._map=[];this.name="";this.vertical=!1;this.useCMap=null;this.builtInCMap=e}addCodespaceRange(e,t,i){this.codespaceRanges[e-1].push(t,i);this.numCodespaceRanges++}mapCidRange(e,t,i){if(t-e>oi)throw new Error("mapCidRange - ignoring data above MAX_MAP_RANGE.");for(;e<=t;)this._map[e++]=i++}mapBfRange(e,t,i){if(t-e>oi)throw new Error("mapBfRange - ignoring data above MAX_MAP_RANGE.");const a=i.length-1;for(;e<=t;){this._map[e++]=i;const t=i.charCodeAt(a)+1;t>255?i=i.substring(0,a-1)+String.fromCharCode(i.charCodeAt(a-1)+1)+"\0":i=i.substring(0,a)+String.fromCharCode(t)}}mapBfRangeToArray(e,t,i){if(t-e>oi)throw new Error("mapBfRangeToArray - ignoring data above MAX_MAP_RANGE.");const a=i.length;let r=0;for(;e<=t&&r>>0;const n=r[s];for(let e=0,t=n.length;e=t&&a<=r){i.charcode=a;i.length=s+1;return}}}i.charcode=0;i.length=1}getCharCodeLength(e){const t=this.codespaceRanges;for(let i=0,a=t.length;i=r&&e<=s)return i+1}}return 1}get length(){return this._map.length}get isIdentityCMap(){if("Identity-H"!==this.name&&"Identity-V"!==this.name)return!1;if(65536!==this._map.length)return!1;for(let e=0;e<65536;e++)if(this._map[e]!==e)return!1;return!0}}class IdentityCMap extends CMap{constructor(e,t){super();this.vertical=e;this.addCodespaceRange(t,0,65535)}mapCidRange(e,t,i){unreachable("should not call mapCidRange")}mapBfRange(e,t,i){unreachable("should not call mapBfRange")}mapBfRangeToArray(e,t,i){unreachable("should not call mapBfRangeToArray")}mapOne(e,t){unreachable("should not call mapCidOne")}lookup(e){return Number.isInteger(e)&&e<=65535?e:void 0}contains(e){return Number.isInteger(e)&&e<=65535}forEach(e){for(let t=0;t<=65535;t++)e(t,t)}charCodeOf(e){return Number.isInteger(e)&&e<=65535?e:-1}getMap(){const e=new Array(65536);for(let t=0;t<=65535;t++)e[t]=t;return e}get length(){return 65536}get isIdentityCMap(){unreachable("should not access .isIdentityCMap")}}function strToInt(e){let t=0;for(let i=0;i>>0}function expectString(e){if("string"!=typeof e)throw new FormatError("Malformed CMap: expected string.")}function expectInt(e){if(!Number.isInteger(e))throw new FormatError("Malformed CMap: expected int.")}function parseBfChar(e,t){for(;;){let i=t.getObj();if(i===Et)break;if(isCmd(i,"endbfchar"))return;expectString(i);const a=strToInt(i);i=t.getObj();expectString(i);const r=i;e.mapOne(a,r)}}function parseBfRange(e,t){for(;;){let i=t.getObj();if(i===Et)break;if(isCmd(i,"endbfrange"))return;expectString(i);const a=strToInt(i);i=t.getObj();expectString(i);const r=strToInt(i);i=t.getObj();if(Number.isInteger(i)||"string"==typeof i){const t=Number.isInteger(i)?String.fromCharCode(i):i;e.mapBfRange(a,r,t)}else{if(!isCmd(i,"["))break;{i=t.getObj();const s=[];for(;!isCmd(i,"]")&&i!==Et;){s.push(i);i=t.getObj()}e.mapBfRangeToArray(a,r,s)}}}throw new FormatError("Invalid bf range.")}function parseCidChar(e,t){for(;;){let i=t.getObj();if(i===Et)break;if(isCmd(i,"endcidchar"))return;expectString(i);const a=strToInt(i);i=t.getObj();expectInt(i);const r=i;e.mapOne(a,r)}}function parseCidRange(e,t){for(;;){let i=t.getObj();if(i===Et)break;if(isCmd(i,"endcidrange"))return;expectString(i);const a=strToInt(i);i=t.getObj();expectString(i);const r=strToInt(i);i=t.getObj();expectInt(i);const s=i;e.mapCidRange(a,r,s)}}function parseCodespaceRange(e,t){for(;;){let i=t.getObj();if(i===Et)break;if(isCmd(i,"endcodespacerange"))return;if("string"!=typeof i)break;const a=strToInt(i);i=t.getObj();if("string"!=typeof i)break;const r=strToInt(i);e.addCodespaceRange(i.length,a,r)}throw new FormatError("Invalid codespace range.")}function parseWMode(e,t){const i=t.getObj();Number.isInteger(i)&&(e.vertical=!!i)}function parseCMapName(e,t){const i=t.getObj();i instanceof Name&&(e.name=i.name)}async function parseCMap(e,t,i,a){let r,s;A:for(;;)try{const i=t.getObj();if(i===Et)break;if(i instanceof Name){"WMode"===i.name?parseWMode(e,t):"CMapName"===i.name&&parseCMapName(e,t);r=i}else if(i instanceof Cmd)switch(i.cmd){case"endcmap":break A;case"usecmap":r instanceof Name&&(s=r.name);break;case"begincodespacerange":parseCodespaceRange(e,t);break;case"beginbfchar":parseBfChar(e,t);break;case"begincidchar":parseCidChar(e,t);break;case"beginbfrange":parseBfRange(e,t);break;case"begincidrange":parseCidRange(e,t)}}catch(e){if(e instanceof MissingDataException)throw e;warn("Invalid cMap data: "+e);continue}!a&&s&&(a=s);return a?extendCMap(e,i,a):e}async function extendCMap(e,t,i){e.useCMap=await createBuiltInCMap(i,t);if(0===e.numCodespaceRanges){const t=e.useCMap.codespaceRanges;for(let i=0;iextendCMap(r,t,e)));const s=new Lexer(new Stream(i));return parseCMap(r,s,t,null)}class CMapFactory{static async create({encoding:e,fetchBuiltInCMap:t,useCMap:i}){if(e instanceof Name)return createBuiltInCMap(e.name,t);if(e instanceof BaseStream){const a=await parseCMap(new CMap,new Lexer(e),t,i);return a.isIdentityCMap?createBuiltInCMap(a.name,t):a}throw new Error("Encoding required.")}}__webpack_require__(1795);const gi=[".notdef","space","exclam","quotedbl","numbersign","dollar","percent","ampersand","quoteright","parenleft","parenright","asterisk","plus","comma","hyphen","period","slash","zero","one","two","three","four","five","six","seven","eight","nine","colon","semicolon","less","equal","greater","question","at","A","B","C","D","E","F","G","H","I","J","K","L","M","N","O","P","Q","R","S","T","U","V","W","X","Y","Z","bracketleft","backslash","bracketright","asciicircum","underscore","quoteleft","a","b","c","d","e","f","g","h","i","j","k","l","m","n","o","p","q","r","s","t","u","v","w","x","y","z","braceleft","bar","braceright","asciitilde","exclamdown","cent","sterling","fraction","yen","florin","section","currency","quotesingle","quotedblleft","guillemotleft","guilsinglleft","guilsinglright","fi","fl","endash","dagger","daggerdbl","periodcentered","paragraph","bullet","quotesinglbase","quotedblbase","quotedblright","guillemotright","ellipsis","perthousand","questiondown","grave","acute","circumflex","tilde","macron","breve","dotaccent","dieresis","ring","cedilla","hungarumlaut","ogonek","caron","emdash","AE","ordfeminine","Lslash","Oslash","OE","ordmasculine","ae","dotlessi","lslash","oslash","oe","germandbls","onesuperior","logicalnot","mu","trademark","Eth","onehalf","plusminus","Thorn","onequarter","divide","brokenbar","degree","thorn","threequarters","twosuperior","registered","minus","eth","multiply","threesuperior","copyright","Aacute","Acircumflex","Adieresis","Agrave","Aring","Atilde","Ccedilla","Eacute","Ecircumflex","Edieresis","Egrave","Iacute","Icircumflex","Idieresis","Igrave","Ntilde","Oacute","Ocircumflex","Odieresis","Ograve","Otilde","Scaron","Uacute","Ucircumflex","Udieresis","Ugrave","Yacute","Ydieresis","Zcaron","aacute","acircumflex","adieresis","agrave","aring","atilde","ccedilla","eacute","ecircumflex","edieresis","egrave","iacute","icircumflex","idieresis","igrave","ntilde","oacute","ocircumflex","odieresis","ograve","otilde","scaron","uacute","ucircumflex","udieresis","ugrave","yacute","ydieresis","zcaron"],Ii=[".notdef","space","exclamsmall","Hungarumlautsmall","dollaroldstyle","dollarsuperior","ampersandsmall","Acutesmall","parenleftsuperior","parenrightsuperior","twodotenleader","onedotenleader","comma","hyphen","period","fraction","zerooldstyle","oneoldstyle","twooldstyle","threeoldstyle","fouroldstyle","fiveoldstyle","sixoldstyle","sevenoldstyle","eightoldstyle","nineoldstyle","colon","semicolon","commasuperior","threequartersemdash","periodsuperior","questionsmall","asuperior","bsuperior","centsuperior","dsuperior","esuperior","isuperior","lsuperior","msuperior","nsuperior","osuperior","rsuperior","ssuperior","tsuperior","ff","fi","fl","ffi","ffl","parenleftinferior","parenrightinferior","Circumflexsmall","hyphensuperior","Gravesmall","Asmall","Bsmall","Csmall","Dsmall","Esmall","Fsmall","Gsmall","Hsmall","Ismall","Jsmall","Ksmall","Lsmall","Msmall","Nsmall","Osmall","Psmall","Qsmall","Rsmall","Ssmall","Tsmall","Usmall","Vsmall","Wsmall","Xsmall","Ysmall","Zsmall","colonmonetary","onefitted","rupiah","Tildesmall","exclamdownsmall","centoldstyle","Lslashsmall","Scaronsmall","Zcaronsmall","Dieresissmall","Brevesmall","Caronsmall","Dotaccentsmall","Macronsmall","figuredash","hypheninferior","Ogoneksmall","Ringsmall","Cedillasmall","onequarter","onehalf","threequarters","questiondownsmall","oneeighth","threeeighths","fiveeighths","seveneighths","onethird","twothirds","zerosuperior","onesuperior","twosuperior","threesuperior","foursuperior","fivesuperior","sixsuperior","sevensuperior","eightsuperior","ninesuperior","zeroinferior","oneinferior","twoinferior","threeinferior","fourinferior","fiveinferior","sixinferior","seveninferior","eightinferior","nineinferior","centinferior","dollarinferior","periodinferior","commainferior","Agravesmall","Aacutesmall","Acircumflexsmall","Atildesmall","Adieresissmall","Aringsmall","AEsmall","Ccedillasmall","Egravesmall","Eacutesmall","Ecircumflexsmall","Edieresissmall","Igravesmall","Iacutesmall","Icircumflexsmall","Idieresissmall","Ethsmall","Ntildesmall","Ogravesmall","Oacutesmall","Ocircumflexsmall","Otildesmall","Odieresissmall","OEsmall","Oslashsmall","Ugravesmall","Uacutesmall","Ucircumflexsmall","Udieresissmall","Yacutesmall","Thornsmall","Ydieresissmall"],ci=[".notdef","space","dollaroldstyle","dollarsuperior","parenleftsuperior","parenrightsuperior","twodotenleader","onedotenleader","comma","hyphen","period","fraction","zerooldstyle","oneoldstyle","twooldstyle","threeoldstyle","fouroldstyle","fiveoldstyle","sixoldstyle","sevenoldstyle","eightoldstyle","nineoldstyle","colon","semicolon","commasuperior","threequartersemdash","periodsuperior","asuperior","bsuperior","centsuperior","dsuperior","esuperior","isuperior","lsuperior","msuperior","nsuperior","osuperior","rsuperior","ssuperior","tsuperior","ff","fi","fl","ffi","ffl","parenleftinferior","parenrightinferior","hyphensuperior","colonmonetary","onefitted","rupiah","centoldstyle","figuredash","hypheninferior","onequarter","onehalf","threequarters","oneeighth","threeeighths","fiveeighths","seveneighths","onethird","twothirds","zerosuperior","onesuperior","twosuperior","threesuperior","foursuperior","fivesuperior","sixsuperior","sevensuperior","eightsuperior","ninesuperior","zeroinferior","oneinferior","twoinferior","threeinferior","fourinferior","fiveinferior","sixinferior","seveninferior","eightinferior","nineinferior","centinferior","dollarinferior","periodinferior","commainferior"],li=["","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","space","exclamsmall","Hungarumlautsmall","","dollaroldstyle","dollarsuperior","ampersandsmall","Acutesmall","parenleftsuperior","parenrightsuperior","twodotenleader","onedotenleader","comma","hyphen","period","fraction","zerooldstyle","oneoldstyle","twooldstyle","threeoldstyle","fouroldstyle","fiveoldstyle","sixoldstyle","sevenoldstyle","eightoldstyle","nineoldstyle","colon","semicolon","commasuperior","threequartersemdash","periodsuperior","questionsmall","","asuperior","bsuperior","centsuperior","dsuperior","esuperior","","","","isuperior","","","lsuperior","msuperior","nsuperior","osuperior","","","rsuperior","ssuperior","tsuperior","","ff","fi","fl","ffi","ffl","parenleftinferior","","parenrightinferior","Circumflexsmall","hyphensuperior","Gravesmall","Asmall","Bsmall","Csmall","Dsmall","Esmall","Fsmall","Gsmall","Hsmall","Ismall","Jsmall","Ksmall","Lsmall","Msmall","Nsmall","Osmall","Psmall","Qsmall","Rsmall","Ssmall","Tsmall","Usmall","Vsmall","Wsmall","Xsmall","Ysmall","Zsmall","colonmonetary","onefitted","rupiah","Tildesmall","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","exclamdownsmall","centoldstyle","Lslashsmall","","","Scaronsmall","Zcaronsmall","Dieresissmall","Brevesmall","Caronsmall","","Dotaccentsmall","","","Macronsmall","","","figuredash","hypheninferior","","","Ogoneksmall","Ringsmall","Cedillasmall","","","","onequarter","onehalf","threequarters","questiondownsmall","oneeighth","threeeighths","fiveeighths","seveneighths","onethird","twothirds","","","zerosuperior","onesuperior","twosuperior","threesuperior","foursuperior","fivesuperior","sixsuperior","sevensuperior","eightsuperior","ninesuperior","zeroinferior","oneinferior","twoinferior","threeinferior","fourinferior","fiveinferior","sixinferior","seveninferior","eightinferior","nineinferior","centinferior","dollarinferior","periodinferior","commainferior","Agravesmall","Aacutesmall","Acircumflexsmall","Atildesmall","Adieresissmall","Aringsmall","AEsmall","Ccedillasmall","Egravesmall","Eacutesmall","Ecircumflexsmall","Edieresissmall","Igravesmall","Iacutesmall","Icircumflexsmall","Idieresissmall","Ethsmall","Ntildesmall","Ogravesmall","Oacutesmall","Ocircumflexsmall","Otildesmall","Odieresissmall","OEsmall","Oslashsmall","Ugravesmall","Uacutesmall","Ucircumflexsmall","Udieresissmall","Yacutesmall","Thornsmall","Ydieresissmall"],hi=["","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","space","exclamsmall","Hungarumlautsmall","centoldstyle","dollaroldstyle","dollarsuperior","ampersandsmall","Acutesmall","parenleftsuperior","parenrightsuperior","twodotenleader","onedotenleader","comma","hyphen","period","fraction","zerooldstyle","oneoldstyle","twooldstyle","threeoldstyle","fouroldstyle","fiveoldstyle","sixoldstyle","sevenoldstyle","eightoldstyle","nineoldstyle","colon","semicolon","","threequartersemdash","","questionsmall","","","","","Ethsmall","","","onequarter","onehalf","threequarters","oneeighth","threeeighths","fiveeighths","seveneighths","onethird","twothirds","","","","","","","ff","fi","fl","ffi","ffl","parenleftinferior","","parenrightinferior","Circumflexsmall","hypheninferior","Gravesmall","Asmall","Bsmall","Csmall","Dsmall","Esmall","Fsmall","Gsmall","Hsmall","Ismall","Jsmall","Ksmall","Lsmall","Msmall","Nsmall","Osmall","Psmall","Qsmall","Rsmall","Ssmall","Tsmall","Usmall","Vsmall","Wsmall","Xsmall","Ysmall","Zsmall","colonmonetary","onefitted","rupiah","Tildesmall","","","asuperior","centsuperior","","","","","Aacutesmall","Agravesmall","Acircumflexsmall","Adieresissmall","Atildesmall","Aringsmall","Ccedillasmall","Eacutesmall","Egravesmall","Ecircumflexsmall","Edieresissmall","Iacutesmall","Igravesmall","Icircumflexsmall","Idieresissmall","Ntildesmall","Oacutesmall","Ogravesmall","Ocircumflexsmall","Odieresissmall","Otildesmall","Uacutesmall","Ugravesmall","Ucircumflexsmall","Udieresissmall","","eightsuperior","fourinferior","threeinferior","sixinferior","eightinferior","seveninferior","Scaronsmall","","centinferior","twoinferior","","Dieresissmall","","Caronsmall","osuperior","fiveinferior","","commainferior","periodinferior","Yacutesmall","","dollarinferior","","","Thornsmall","","nineinferior","zeroinferior","Zcaronsmall","AEsmall","Oslashsmall","questiondownsmall","oneinferior","Lslashsmall","","","","","","","Cedillasmall","","","","","","OEsmall","figuredash","hyphensuperior","","","","","exclamdownsmall","","Ydieresissmall","","onesuperior","twosuperior","threesuperior","foursuperior","fivesuperior","sixsuperior","sevensuperior","ninesuperior","zerosuperior","","esuperior","rsuperior","tsuperior","","","isuperior","ssuperior","dsuperior","","","","","","lsuperior","Ogoneksmall","Brevesmall","Macronsmall","bsuperior","nsuperior","msuperior","commasuperior","periodsuperior","Dotaccentsmall","Ringsmall","","","",""],Ci=["","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","space","exclam","quotedbl","numbersign","dollar","percent","ampersand","quotesingle","parenleft","parenright","asterisk","plus","comma","hyphen","period","slash","zero","one","two","three","four","five","six","seven","eight","nine","colon","semicolon","less","equal","greater","question","at","A","B","C","D","E","F","G","H","I","J","K","L","M","N","O","P","Q","R","S","T","U","V","W","X","Y","Z","bracketleft","backslash","bracketright","asciicircum","underscore","grave","a","b","c","d","e","f","g","h","i","j","k","l","m","n","o","p","q","r","s","t","u","v","w","x","y","z","braceleft","bar","braceright","asciitilde","","Adieresis","Aring","Ccedilla","Eacute","Ntilde","Odieresis","Udieresis","aacute","agrave","acircumflex","adieresis","atilde","aring","ccedilla","eacute","egrave","ecircumflex","edieresis","iacute","igrave","icircumflex","idieresis","ntilde","oacute","ograve","ocircumflex","odieresis","otilde","uacute","ugrave","ucircumflex","udieresis","dagger","degree","cent","sterling","section","bullet","paragraph","germandbls","registered","copyright","trademark","acute","dieresis","notequal","AE","Oslash","infinity","plusminus","lessequal","greaterequal","yen","mu","partialdiff","summation","product","pi","integral","ordfeminine","ordmasculine","Omega","ae","oslash","questiondown","exclamdown","logicalnot","radical","florin","approxequal","Delta","guillemotleft","guillemotright","ellipsis","space","Agrave","Atilde","Otilde","OE","oe","endash","emdash","quotedblleft","quotedblright","quoteleft","quoteright","divide","lozenge","ydieresis","Ydieresis","fraction","currency","guilsinglleft","guilsinglright","fi","fl","daggerdbl","periodcentered","quotesinglbase","quotedblbase","perthousand","Acircumflex","Ecircumflex","Aacute","Edieresis","Egrave","Iacute","Icircumflex","Idieresis","Igrave","Oacute","Ocircumflex","apple","Ograve","Uacute","Ucircumflex","Ugrave","dotlessi","circumflex","tilde","macron","breve","dotaccent","ring","cedilla","hungarumlaut","ogonek","caron"],Bi=["","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","space","exclam","quotedbl","numbersign","dollar","percent","ampersand","quoteright","parenleft","parenright","asterisk","plus","comma","hyphen","period","slash","zero","one","two","three","four","five","six","seven","eight","nine","colon","semicolon","less","equal","greater","question","at","A","B","C","D","E","F","G","H","I","J","K","L","M","N","O","P","Q","R","S","T","U","V","W","X","Y","Z","bracketleft","backslash","bracketright","asciicircum","underscore","quoteleft","a","b","c","d","e","f","g","h","i","j","k","l","m","n","o","p","q","r","s","t","u","v","w","x","y","z","braceleft","bar","braceright","asciitilde","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","exclamdown","cent","sterling","fraction","yen","florin","section","currency","quotesingle","quotedblleft","guillemotleft","guilsinglleft","guilsinglright","fi","fl","","endash","dagger","daggerdbl","periodcentered","","paragraph","bullet","quotesinglbase","quotedblbase","quotedblright","guillemotright","ellipsis","perthousand","","questiondown","","grave","acute","circumflex","tilde","macron","breve","dotaccent","dieresis","","ring","cedilla","","hungarumlaut","ogonek","caron","emdash","","","","","","","","","","","","","","","","","AE","","ordfeminine","","","","","Lslash","Oslash","OE","ordmasculine","","","","","","ae","","","","dotlessi","","","lslash","oslash","oe","germandbls","","","",""],Qi=["","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","space","exclam","quotedbl","numbersign","dollar","percent","ampersand","quotesingle","parenleft","parenright","asterisk","plus","comma","hyphen","period","slash","zero","one","two","three","four","five","six","seven","eight","nine","colon","semicolon","less","equal","greater","question","at","A","B","C","D","E","F","G","H","I","J","K","L","M","N","O","P","Q","R","S","T","U","V","W","X","Y","Z","bracketleft","backslash","bracketright","asciicircum","underscore","grave","a","b","c","d","e","f","g","h","i","j","k","l","m","n","o","p","q","r","s","t","u","v","w","x","y","z","braceleft","bar","braceright","asciitilde","bullet","Euro","bullet","quotesinglbase","florin","quotedblbase","ellipsis","dagger","daggerdbl","circumflex","perthousand","Scaron","guilsinglleft","OE","bullet","Zcaron","bullet","bullet","quoteleft","quoteright","quotedblleft","quotedblright","bullet","endash","emdash","tilde","trademark","scaron","guilsinglright","oe","bullet","zcaron","Ydieresis","space","exclamdown","cent","sterling","currency","yen","brokenbar","section","dieresis","copyright","ordfeminine","guillemotleft","logicalnot","hyphen","registered","macron","degree","plusminus","twosuperior","threesuperior","acute","mu","paragraph","periodcentered","cedilla","onesuperior","ordmasculine","guillemotright","onequarter","onehalf","threequarters","questiondown","Agrave","Aacute","Acircumflex","Atilde","Adieresis","Aring","AE","Ccedilla","Egrave","Eacute","Ecircumflex","Edieresis","Igrave","Iacute","Icircumflex","Idieresis","Eth","Ntilde","Ograve","Oacute","Ocircumflex","Otilde","Odieresis","multiply","Oslash","Ugrave","Uacute","Ucircumflex","Udieresis","Yacute","Thorn","germandbls","agrave","aacute","acircumflex","atilde","adieresis","aring","ae","ccedilla","egrave","eacute","ecircumflex","edieresis","igrave","iacute","icircumflex","idieresis","eth","ntilde","ograve","oacute","ocircumflex","otilde","odieresis","divide","oslash","ugrave","uacute","ucircumflex","udieresis","yacute","thorn","ydieresis"],Ei=["","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","space","exclam","universal","numbersign","existential","percent","ampersand","suchthat","parenleft","parenright","asteriskmath","plus","comma","minus","period","slash","zero","one","two","three","four","five","six","seven","eight","nine","colon","semicolon","less","equal","greater","question","congruent","Alpha","Beta","Chi","Delta","Epsilon","Phi","Gamma","Eta","Iota","theta1","Kappa","Lambda","Mu","Nu","Omicron","Pi","Theta","Rho","Sigma","Tau","Upsilon","sigma1","Omega","Xi","Psi","Zeta","bracketleft","therefore","bracketright","perpendicular","underscore","radicalex","alpha","beta","chi","delta","epsilon","phi","gamma","eta","iota","phi1","kappa","lambda","mu","nu","omicron","pi","theta","rho","sigma","tau","upsilon","omega1","omega","xi","psi","zeta","braceleft","bar","braceright","similar","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Euro","Upsilon1","minute","lessequal","fraction","infinity","florin","club","diamond","heart","spade","arrowboth","arrowleft","arrowup","arrowright","arrowdown","degree","plusminus","second","greaterequal","multiply","proportional","partialdiff","bullet","divide","notequal","equivalence","approxequal","ellipsis","arrowvertex","arrowhorizex","carriagereturn","aleph","Ifraktur","Rfraktur","weierstrass","circlemultiply","circleplus","emptyset","intersection","union","propersuperset","reflexsuperset","notsubset","propersubset","reflexsubset","element","notelement","angle","gradient","registerserif","copyrightserif","trademarkserif","product","radical","dotmath","logicalnot","logicaland","logicalor","arrowdblboth","arrowdblleft","arrowdblup","arrowdblright","arrowdbldown","lozenge","angleleft","registersans","copyrightsans","trademarksans","summation","parenlefttp","parenleftex","parenleftbt","bracketlefttp","bracketleftex","bracketleftbt","bracelefttp","braceleftmid","braceleftbt","braceex","","angleright","integral","integraltp","integralex","integralbt","parenrighttp","parenrightex","parenrightbt","bracketrighttp","bracketrightex","bracketrightbt","bracerighttp","bracerightmid","bracerightbt",""],ui=["","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","space","a1","a2","a202","a3","a4","a5","a119","a118","a117","a11","a12","a13","a14","a15","a16","a105","a17","a18","a19","a20","a21","a22","a23","a24","a25","a26","a27","a28","a6","a7","a8","a9","a10","a29","a30","a31","a32","a33","a34","a35","a36","a37","a38","a39","a40","a41","a42","a43","a44","a45","a46","a47","a48","a49","a50","a51","a52","a53","a54","a55","a56","a57","a58","a59","a60","a61","a62","a63","a64","a65","a66","a67","a68","a69","a70","a71","a72","a73","a74","a203","a75","a204","a76","a77","a78","a79","a81","a82","a83","a84","a97","a98","a99","a100","","a89","a90","a93","a94","a91","a92","a205","a85","a206","a86","a87","a88","a95","a96","","","","","","","","","","","","","","","","","","","","a101","a102","a103","a104","a106","a107","a108","a112","a111","a110","a109","a120","a121","a122","a123","a124","a125","a126","a127","a128","a129","a130","a131","a132","a133","a134","a135","a136","a137","a138","a139","a140","a141","a142","a143","a144","a145","a146","a147","a148","a149","a150","a151","a152","a153","a154","a155","a156","a157","a158","a159","a160","a161","a163","a164","a196","a165","a192","a166","a167","a168","a169","a170","a171","a172","a173","a162","a174","a175","a176","a177","a178","a179","a193","a180","a199","a181","a200","a182","","a201","a183","a184","a197","a185","a194","a198","a186","a195","a187","a188","a189","a190","a191",""];function getEncoding(e){switch(e){case"WinAnsiEncoding":return Qi;case"StandardEncoding":return Bi;case"MacRomanEncoding":return Ci;case"SymbolSetEncoding":return Ei;case"ZapfDingbatsEncoding":return ui;case"ExpertEncoding":return li;case"MacExpertEncoding":return hi;default:return null}}const di=[".notdef","space","exclam","quotedbl","numbersign","dollar","percent","ampersand","quoteright","parenleft","parenright","asterisk","plus","comma","hyphen","period","slash","zero","one","two","three","four","five","six","seven","eight","nine","colon","semicolon","less","equal","greater","question","at","A","B","C","D","E","F","G","H","I","J","K","L","M","N","O","P","Q","R","S","T","U","V","W","X","Y","Z","bracketleft","backslash","bracketright","asciicircum","underscore","quoteleft","a","b","c","d","e","f","g","h","i","j","k","l","m","n","o","p","q","r","s","t","u","v","w","x","y","z","braceleft","bar","braceright","asciitilde","exclamdown","cent","sterling","fraction","yen","florin","section","currency","quotesingle","quotedblleft","guillemotleft","guilsinglleft","guilsinglright","fi","fl","endash","dagger","daggerdbl","periodcentered","paragraph","bullet","quotesinglbase","quotedblbase","quotedblright","guillemotright","ellipsis","perthousand","questiondown","grave","acute","circumflex","tilde","macron","breve","dotaccent","dieresis","ring","cedilla","hungarumlaut","ogonek","caron","emdash","AE","ordfeminine","Lslash","Oslash","OE","ordmasculine","ae","dotlessi","lslash","oslash","oe","germandbls","onesuperior","logicalnot","mu","trademark","Eth","onehalf","plusminus","Thorn","onequarter","divide","brokenbar","degree","thorn","threequarters","twosuperior","registered","minus","eth","multiply","threesuperior","copyright","Aacute","Acircumflex","Adieresis","Agrave","Aring","Atilde","Ccedilla","Eacute","Ecircumflex","Edieresis","Egrave","Iacute","Icircumflex","Idieresis","Igrave","Ntilde","Oacute","Ocircumflex","Odieresis","Ograve","Otilde","Scaron","Uacute","Ucircumflex","Udieresis","Ugrave","Yacute","Ydieresis","Zcaron","aacute","acircumflex","adieresis","agrave","aring","atilde","ccedilla","eacute","ecircumflex","edieresis","egrave","iacute","icircumflex","idieresis","igrave","ntilde","oacute","ocircumflex","odieresis","ograve","otilde","scaron","uacute","ucircumflex","udieresis","ugrave","yacute","ydieresis","zcaron","exclamsmall","Hungarumlautsmall","dollaroldstyle","dollarsuperior","ampersandsmall","Acutesmall","parenleftsuperior","parenrightsuperior","twodotenleader","onedotenleader","zerooldstyle","oneoldstyle","twooldstyle","threeoldstyle","fouroldstyle","fiveoldstyle","sixoldstyle","sevenoldstyle","eightoldstyle","nineoldstyle","commasuperior","threequartersemdash","periodsuperior","questionsmall","asuperior","bsuperior","centsuperior","dsuperior","esuperior","isuperior","lsuperior","msuperior","nsuperior","osuperior","rsuperior","ssuperior","tsuperior","ff","ffi","ffl","parenleftinferior","parenrightinferior","Circumflexsmall","hyphensuperior","Gravesmall","Asmall","Bsmall","Csmall","Dsmall","Esmall","Fsmall","Gsmall","Hsmall","Ismall","Jsmall","Ksmall","Lsmall","Msmall","Nsmall","Osmall","Psmall","Qsmall","Rsmall","Ssmall","Tsmall","Usmall","Vsmall","Wsmall","Xsmall","Ysmall","Zsmall","colonmonetary","onefitted","rupiah","Tildesmall","exclamdownsmall","centoldstyle","Lslashsmall","Scaronsmall","Zcaronsmall","Dieresissmall","Brevesmall","Caronsmall","Dotaccentsmall","Macronsmall","figuredash","hypheninferior","Ogoneksmall","Ringsmall","Cedillasmall","questiondownsmall","oneeighth","threeeighths","fiveeighths","seveneighths","onethird","twothirds","zerosuperior","foursuperior","fivesuperior","sixsuperior","sevensuperior","eightsuperior","ninesuperior","zeroinferior","oneinferior","twoinferior","threeinferior","fourinferior","fiveinferior","sixinferior","seveninferior","eightinferior","nineinferior","centinferior","dollarinferior","periodinferior","commainferior","Agravesmall","Aacutesmall","Acircumflexsmall","Atildesmall","Adieresissmall","Aringsmall","AEsmall","Ccedillasmall","Egravesmall","Eacutesmall","Ecircumflexsmall","Edieresissmall","Igravesmall","Iacutesmall","Icircumflexsmall","Idieresissmall","Ethsmall","Ntildesmall","Ogravesmall","Oacutesmall","Ocircumflexsmall","Otildesmall","Odieresissmall","OEsmall","Oslashsmall","Ugravesmall","Uacutesmall","Ucircumflexsmall","Udieresissmall","Yacutesmall","Thornsmall","Ydieresissmall","001.000","001.001","001.002","001.003","Black","Bold","Book","Light","Medium","Regular","Roman","Semibold"],fi=391,pi=[null,{id:"hstem",min:2,stackClearing:!0,stem:!0},null,{id:"vstem",min:2,stackClearing:!0,stem:!0},{id:"vmoveto",min:1,stackClearing:!0},{id:"rlineto",min:2,resetStack:!0},{id:"hlineto",min:1,resetStack:!0},{id:"vlineto",min:1,resetStack:!0},{id:"rrcurveto",min:6,resetStack:!0},null,{id:"callsubr",min:1,undefStack:!0},{id:"return",min:0,undefStack:!0},null,null,{id:"endchar",min:0,stackClearing:!0},null,null,null,{id:"hstemhm",min:2,stackClearing:!0,stem:!0},{id:"hintmask",min:0,stackClearing:!0},{id:"cntrmask",min:0,stackClearing:!0},{id:"rmoveto",min:2,stackClearing:!0},{id:"hmoveto",min:1,stackClearing:!0},{id:"vstemhm",min:2,stackClearing:!0,stem:!0},{id:"rcurveline",min:8,resetStack:!0},{id:"rlinecurve",min:8,resetStack:!0},{id:"vvcurveto",min:4,resetStack:!0},{id:"hhcurveto",min:4,resetStack:!0},null,{id:"callgsubr",min:1,undefStack:!0},{id:"vhcurveto",min:4,resetStack:!0},{id:"hvcurveto",min:4,resetStack:!0}],mi=[null,null,null,{id:"and",min:2,stackDelta:-1},{id:"or",min:2,stackDelta:-1},{id:"not",min:1,stackDelta:0},null,null,null,{id:"abs",min:1,stackDelta:0},{id:"add",min:2,stackDelta:-1,stackFn(e,t){e[t-2]=e[t-2]+e[t-1]}},{id:"sub",min:2,stackDelta:-1,stackFn(e,t){e[t-2]=e[t-2]-e[t-1]}},{id:"div",min:2,stackDelta:-1,stackFn(e,t){e[t-2]=e[t-2]/e[t-1]}},null,{id:"neg",min:1,stackDelta:0,stackFn(e,t){e[t-1]=-e[t-1]}},{id:"eq",min:2,stackDelta:-1},null,null,{id:"drop",min:1,stackDelta:-1},null,{id:"put",min:2,stackDelta:-2},{id:"get",min:1,stackDelta:0},{id:"ifelse",min:4,stackDelta:-3},{id:"random",min:0,stackDelta:1},{id:"mul",min:2,stackDelta:-1,stackFn(e,t){e[t-2]=e[t-2]*e[t-1]}},null,{id:"sqrt",min:1,stackDelta:0},{id:"dup",min:1,stackDelta:1},{id:"exch",min:2,stackDelta:0},{id:"index",min:2,stackDelta:0},{id:"roll",min:3,stackDelta:-2},null,null,null,{id:"hflex",min:7,resetStack:!0},{id:"flex",min:13,resetStack:!0},{id:"hflex1",min:9,resetStack:!0},{id:"flex1",min:11,resetStack:!0}];class CFFParser{constructor(e,t,i){this.bytes=e.getBytes();this.properties=t;this.seacAnalysisEnabled=!!i}parse(){const e=this.properties,t=new CFF;this.cff=t;const i=this.parseHeader(),a=this.parseIndex(i.endPos),r=this.parseIndex(a.endPos),s=this.parseIndex(r.endPos),n=this.parseIndex(s.endPos),o=this.parseDict(r.obj.get(0)),g=this.createDict(CFFTopDict,o,t.strings);t.header=i.obj;t.names=this.parseNameIndex(a.obj);t.strings=this.parseStringIndex(s.obj);t.topDict=g;t.globalSubrIndex=n.obj;this.parsePrivateDict(t.topDict);t.isCIDFont=g.hasName("ROS");const c=g.getByName("CharStrings"),l=this.parseIndex(c).obj,h=g.getByName("FontMatrix");h&&(e.fontMatrix=h);const C=g.getByName("FontBBox");if(C){e.ascent=Math.max(C[3],C[1]);e.descent=Math.min(C[1],C[3]);e.ascentScaled=!0}let Q,E;if(t.isCIDFont){const e=this.parseIndex(g.getByName("FDArray")).obj;for(let i=0,a=e.count;i=t)throw new FormatError("Invalid CFF header");if(0!==i){info("cff data is shifted");e=e.subarray(i);this.bytes=e}const a=e[0],r=e[1],s=e[2],n=e[3];return{obj:new CFFHeader(a,r,s,n),endPos:s}}parseDict(e){let t=0;function parseOperand(){let i=e[t++];if(30===i)return function parseFloatOperand(){let i="";const a=15,r=["0","1","2","3","4","5","6","7","8","9",".","E","E-",null,"-"],s=e.length;for(;t>4,o=15&s;if(n===a)break;i+=r[n];if(o===a)break;i+=r[o]}return parseFloat(i)}();if(28===i){i=e[t++];i=(i<<24|e[t++]<<16)>>16;return i}if(29===i){i=e[t++];i=i<<8|e[t++];i=i<<8|e[t++];i=i<<8|e[t++];return i}if(i>=32&&i<=246)return i-139;if(i>=247&&i<=250)return 256*(i-247)+e[t++]+108;if(i>=251&&i<=254)return-256*(i-251)-e[t++]-108;warn('CFFParser_parseDict: "'+i+'" is a reserved command.');return NaN}let i=[];const a=[];t=0;const r=e.length;for(;t10)return!1;let r=e.stackSize;const s=e.stack;let n=t.length;for(let o=0;o>16;o+=2;r++}else if(14===g){if(r>=4){r-=4;if(this.seacAnalysisEnabled){e.seac=s.slice(r,r+4);return!1}}c=pi[g]}else if(g>=32&&g<=246){s[r]=g-139;r++}else if(g>=247&&g<=254){s[r]=g<251?(g-247<<8)+t[o]+108:-(g-251<<8)-t[o]-108;o++;r++}else if(255===g){s[r]=(t[o]<<24|t[o+1]<<16|t[o+2]<<8|t[o+3])/65536;o+=4;r++}else if(19===g||20===g){e.hints+=r>>1;if(0===e.hints){t.copyWithin(o-1,o,-1);o-=1;n-=1;continue}o+=e.hints+7>>3;r%=2;c=pi[g]}else{if(10===g||29===g){const t=10===g?i:a;if(!t){c=pi[g];warn("Missing subrsIndex for "+c.id);return!1}let n=32768;t.count<1240?n=107:t.count<33900&&(n=1131);const o=s[--r]+n;if(o<0||o>=t.count||isNaN(o)){c=pi[g];warn("Out of bounds subrIndex for "+c.id);return!1}e.stackSize=r;e.callDepth++;if(!this.parseCharString(e,t.get(o),i,a))return!1;e.callDepth--;r=e.stackSize;continue}if(11===g){e.stackSize=r;return!0}if(0===g&&o===t.length){t[o-1]=14;c=pi[14]}else{if(9===g){t.copyWithin(o-1,o,-1);o-=1;n-=1;continue}c=pi[g]}}if(c){if(c.stem){e.hints+=r>>1;if(3===g||23===g)e.hasVStems=!0;else if(e.hasVStems&&(1===g||18===g)){warn("CFF stem hints are in wrong order");t[o-1]=1===g?3:23}}if("min"in c&&!e.undefStack&&r=2&&c.stem?r%=2:r>1&&warn("Found too many parameters for stack-clearing command");r>0&&(e.width=s[r-1])}if("stackDelta"in c){"stackFn"in c&&c.stackFn(s,r);r+=c.stackDelta}else if(c.stackClearing)r=0;else if(c.resetStack){r=0;e.undefStack=!1}else if(c.undefStack){r=0;e.undefStack=!0;e.firstStackClearing=!1}}}n=r.length){warn("Invalid fd index for glyph index.");h=!1}if(h){Q=r[e].privateDict;C=Q.subrsIndex}}else t&&(C=t);h&&(h=this.parseCharString(l,g,C,i));if(null!==l.width){const e=Q.getByName("nominalWidthX");o[c]=e+l.width}else{const e=Q.getByName("defaultWidthX");o[c]=e}null!==l.seac&&(n[c]=l.seac);h||e.set(c,new Uint8Array([14]))}return{charStrings:e,seacs:n,widths:o}}emptyPrivateDictionary(e){const t=this.createDict(CFFPrivateDict,[],e.strings);e.setByKey(18,[0,0]);e.privateDict=t}parsePrivateDict(e){if(!e.hasName("Private")){this.emptyPrivateDictionary(e);return}const t=e.getByName("Private");if(!Array.isArray(t)||2!==t.length){e.removeByName("Private");return}const i=t[0],a=t[1];if(0===i||a>=this.bytes.length){this.emptyPrivateDictionary(e);return}const r=a+i,s=this.bytes.subarray(a,r),n=this.parseDict(s),o=this.createDict(CFFPrivateDict,n,e.strings);e.privateDict=o;0===o.getByName("ExpansionFactor")&&o.setByName("ExpansionFactor",.06);if(!o.getByName("Subrs"))return;const g=o.getByName("Subrs"),c=a+g;if(0===g||c>=this.bytes.length){this.emptyPrivateDictionary(e);return}const l=this.parseIndex(c);o.subrsIndex=l.obj}parseCharsets(e,t,i,a){if(0===e)return new CFFCharset(!0,bi.ISO_ADOBE,gi);if(1===e)return new CFFCharset(!0,bi.EXPERT,Ii);if(2===e)return new CFFCharset(!0,bi.EXPERT_SUBSET,ci);const r=this.bytes,s=e,n=r[e++],o=[a?0:".notdef"];let g,c,l;t-=1;switch(n){case 0:for(l=0;l=65535){warn("Not enough space in charstrings to duplicate first glyph.");return}const e=this.charStrings.get(0);this.charStrings.add(e);this.isCIDFont&&this.fdSelect.fdSelect.push(this.fdSelect.fdSelect[0])}hasGlyphId(e){if(e<0||e>=this.charStrings.count)return!1;return this.charStrings.get(e).length>0}}class CFFHeader{constructor(e,t,i,a){this.major=e;this.minor=t;this.hdrSize=i;this.offSize=a}}class CFFStrings{constructor(){this.strings=[]}get(e){return e>=0&&e<=390?di[e]:e-fi<=this.strings.length?this.strings[e-fi]:di[0]}getSID(e){let t=di.indexOf(e);if(-1!==t)return t;t=this.strings.indexOf(e);return-1!==t?t+fi:-1}add(e){this.strings.push(e)}get count(){return this.strings.length}}class CFFIndex{constructor(){this.objects=[];this.length=0}add(e){this.length+=e.length;this.objects.push(e)}set(e,t){this.length+=t.length-this.objects[e].length;this.objects[e]=t}get(e){return this.objects[e]}get count(){return this.objects.length}}class CFFDict{constructor(e,t){this.keyToNameMap=e.keyToNameMap;this.nameToKeyMap=e.nameToKeyMap;this.defaults=e.defaults;this.types=e.types;this.opcodes=e.opcodes;this.order=e.order;this.strings=t;this.values=Object.create(null)}setByKey(e,t){if(!(e in this.keyToNameMap))return!1;if(0===t.length)return!0;for(const i of t)if(isNaN(i)){warn(`Invalid CFFDict value: "${t}" for key "${e}".`);return!0}const i=this.types[e];"num"!==i&&"sid"!==i&&"offset"!==i||(t=t[0]);this.values[e]=t;return!0}setByName(e,t){if(!(e in this.nameToKeyMap))throw new FormatError(`Invalid dictionary name "${e}"`);this.values[this.nameToKeyMap[e]]=t}hasName(e){return this.nameToKeyMap[e]in this.values}getByName(e){if(!(e in this.nameToKeyMap))throw new FormatError(`Invalid dictionary name ${e}"`);const t=this.nameToKeyMap[e];return t in this.values?this.values[t]:this.defaults[t]}removeByName(e){delete this.values[this.nameToKeyMap[e]]}static createTables(e){const t={keyToNameMap:{},nameToKeyMap:{},defaults:{},types:{},opcodes:{},order:[]};for(const i of e){const e=Array.isArray(i[0])?(i[0][0]<<8)+i[0][1]:i[0];t.keyToNameMap[e]=i[1];t.nameToKeyMap[i[1]]=e;t.types[e]=i[2];t.defaults[e]=i[3];t.opcodes[e]=Array.isArray(i[0])?i[0]:[i[0]];t.order.push(e)}return t}}const yi=[[[12,30],"ROS",["sid","sid","num"],null],[[12,20],"SyntheticBase","num",null],[0,"version","sid",null],[1,"Notice","sid",null],[[12,0],"Copyright","sid",null],[2,"FullName","sid",null],[3,"FamilyName","sid",null],[4,"Weight","sid",null],[[12,1],"isFixedPitch","num",0],[[12,2],"ItalicAngle","num",0],[[12,3],"UnderlinePosition","num",-100],[[12,4],"UnderlineThickness","num",50],[[12,5],"PaintType","num",0],[[12,6],"CharstringType","num",2],[[12,7],"FontMatrix",["num","num","num","num","num","num"],[.001,0,0,.001,0,0]],[13,"UniqueID","num",null],[5,"FontBBox",["num","num","num","num"],[0,0,0,0]],[[12,8],"StrokeWidth","num",0],[14,"XUID","array",null],[15,"charset","offset",0],[16,"Encoding","offset",0],[17,"CharStrings","offset",0],[18,"Private",["offset","offset"],null],[[12,21],"PostScript","sid",null],[[12,22],"BaseFontName","sid",null],[[12,23],"BaseFontBlend","delta",null],[[12,31],"CIDFontVersion","num",0],[[12,32],"CIDFontRevision","num",0],[[12,33],"CIDFontType","num",0],[[12,34],"CIDCount","num",8720],[[12,35],"UIDBase","num",null],[[12,37],"FDSelect","offset",null],[[12,36],"FDArray","offset",null],[[12,38],"FontName","sid",null]];class CFFTopDict extends CFFDict{static get tables(){return shadow(this,"tables",this.createTables(yi))}constructor(e){super(CFFTopDict.tables,e);this.privateDict=null}}const wi=[[6,"BlueValues","delta",null],[7,"OtherBlues","delta",null],[8,"FamilyBlues","delta",null],[9,"FamilyOtherBlues","delta",null],[[12,9],"BlueScale","num",.039625],[[12,10],"BlueShift","num",7],[[12,11],"BlueFuzz","num",1],[10,"StdHW","num",null],[11,"StdVW","num",null],[[12,12],"StemSnapH","delta",null],[[12,13],"StemSnapV","delta",null],[[12,14],"ForceBold","num",0],[[12,17],"LanguageGroup","num",0],[[12,18],"ExpansionFactor","num",.06],[[12,19],"initialRandomSeed","num",0],[20,"defaultWidthX","num",0],[21,"nominalWidthX","num",0],[19,"Subrs","offset",null]];class CFFPrivateDict extends CFFDict{static get tables(){return shadow(this,"tables",this.createTables(wi))}constructor(e){super(CFFPrivateDict.tables,e);this.subrsIndex=null}}const bi={ISO_ADOBE:0,EXPERT:1,EXPERT_SUBSET:2};class CFFCharset{constructor(e,t,i,a){this.predefined=e;this.format=t;this.charset=i;this.raw=a}}class CFFEncoding{constructor(e,t,i,a){this.predefined=e;this.format=t;this.encoding=i;this.raw=a}}class CFFFDSelect{constructor(e,t){this.format=e;this.fdSelect=t}getFDIndex(e){return e<0||e>=this.fdSelect.length?-1:this.fdSelect[e]}}class CFFOffsetTracker{constructor(){this.offsets=Object.create(null)}isTracking(e){return e in this.offsets}track(e,t){if(e in this.offsets)throw new FormatError(`Already tracking location of ${e}`);this.offsets[e]=t}offset(e){for(const t in this.offsets)this.offsets[t]+=e}setEntryLocation(e,t,i){if(!(e in this.offsets))throw new FormatError(`Not tracking location of ${e}`);const a=i.data,r=this.offsets[e];for(let e=0,i=t.length;e>24&255;a[n]=c>>16&255;a[o]=c>>8&255;a[g]=255&c}}}class CFFCompiler{constructor(e){this.cff=e}compile(){const e=this.cff,t={data:[],length:0,add(e){try{this.data.push(...e)}catch{this.data=this.data.concat(e)}this.length=this.data.length}},i=this.compileHeader(e.header);t.add(i);const a=this.compileNameIndex(e.names);t.add(a);if(e.isCIDFont&&e.topDict.hasName("FontMatrix")){const t=e.topDict.getByName("FontMatrix");e.topDict.removeByName("FontMatrix");for(const i of e.fdArray){let e=t.slice(0);i.hasName("FontMatrix")&&(e=Util.transform(e,i.getByName("FontMatrix")));i.setByName("FontMatrix",e)}}const r=e.topDict.getByName("XUID");r?.length>16&&e.topDict.removeByName("XUID");e.topDict.setByName("charset",0);let s=this.compileTopDicts([e.topDict],t.length,e.isCIDFont);t.add(s.output);const n=s.trackers[0],o=this.compileStringIndex(e.strings.strings);t.add(o);const g=this.compileIndex(e.globalSubrIndex);t.add(g);if(e.encoding&&e.topDict.hasName("Encoding"))if(e.encoding.predefined)n.setEntryLocation("Encoding",[e.encoding.format],t);else{const i=this.compileEncoding(e.encoding);n.setEntryLocation("Encoding",[t.length],t);t.add(i)}const c=this.compileCharset(e.charset,e.charStrings.count,e.strings,e.isCIDFont);n.setEntryLocation("charset",[t.length],t);t.add(c);const l=this.compileCharStrings(e.charStrings);n.setEntryLocation("CharStrings",[t.length],t);t.add(l);if(e.isCIDFont){n.setEntryLocation("FDSelect",[t.length],t);const i=this.compileFDSelect(e.fdSelect);t.add(i);s=this.compileTopDicts(e.fdArray,t.length,!0);n.setEntryLocation("FDArray",[t.length],t);t.add(s.output);const a=s.trackers;this.compilePrivateDicts(e.fdArray,a,t)}this.compilePrivateDicts([e.topDict],[n],t);t.add([0]);return t.data}encodeNumber(e){return Number.isInteger(e)?this.encodeInteger(e):this.encodeFloat(e)}static get EncodeFloatRegExp(){return shadow(this,"EncodeFloatRegExp",/\.(\d*?)(?:9{5,20}|0{5,20})\d{0,2}(?:e(.+)|$)/)}encodeFloat(e){let t=e.toString();const i=CFFCompiler.EncodeFloatRegExp.exec(t);if(i){const a=parseFloat("1e"+((i[2]?+i[2]:0)+i[1].length));t=(Math.round(e*a)/a).toString()}let a,r,s="";for(a=0,r=t.length;a=-107&&e<=107?[e+139]:e>=108&&e<=1131?[247+((e-=108)>>8),255&e]:e>=-1131&&e<=-108?[251+((e=-e-108)>>8),255&e]:e>=-32768&&e<=32767?[28,e>>8&255,255&e]:[29,e>>24&255,e>>16&255,e>>8&255,255&e];return t}compileHeader(e){return[e.major,e.minor,4,e.offSize]}compileNameIndex(e){const t=new CFFIndex;for(const i of e){const e=Math.min(i.length,127);let a=new Array(e);for(let t=0;t"~"||"["===e||"]"===e||"("===e||")"===e||"{"===e||"}"===e||"<"===e||">"===e||"/"===e||"%"===e)&&(e="_");a[t]=e}a=a.join("");""===a&&(a="Bad_Font_Name");t.add(stringToBytes(a))}return this.compileIndex(t)}compileTopDicts(e,t,i){const a=[];let r=new CFFIndex;for(const s of e){if(i){s.removeByName("CIDFontVersion");s.removeByName("CIDFontRevision");s.removeByName("CIDFontType");s.removeByName("CIDCount");s.removeByName("UIDBase")}const e=new CFFOffsetTracker,n=this.compileDict(s,e);a.push(e);r.add(n);e.offset(t)}r=this.compileIndex(r,a);return{trackers:a,output:r}}compilePrivateDicts(e,t,i){for(let a=0,r=e.length;a>8&255,255&s]);else{r=new Uint8Array(1+2*s);r[0]=0;let t=0;const a=e.charset.length;let n=!1;for(let s=1;s>8&255;r[s+1]=255&o}}return this.compileTypedArray(r)}compileEncoding(e){return this.compileTypedArray(e.raw)}compileFDSelect(e){const t=e.format;let i,a;switch(t){case 0:i=new Uint8Array(1+e.fdSelect.length);i[0]=t;for(a=0;a>8&255,255&r,s];for(a=1;a>8&255,255&a,t);s=t}}const o=(n.length-3)/3;n[1]=o>>8&255;n[2]=255&o;n.push(a>>8&255,255&a);i=new Uint8Array(n)}return this.compileTypedArray(i)}compileTypedArray(e){return Array.from(e)}compileIndex(e,t=[]){const i=e.objects,a=i.length;if(0===a)return[0,0];const r=[a>>8&255,255&a];let s,n,o=1;for(s=0;s>8&255,255&g):3===n?r.push(g>>16&255,g>>8&255,255&g):r.push(g>>>24&255,g>>16&255,g>>8&255,255&g);i[s]&&(g+=i[s].length)}for(s=0;s=5&&t<=7))return-1;a=e.substring(1)}if(a===a.toUpperCase()){i=parseInt(a,16);if(i>=0)return i}}return-1}const ki=[[0,127],[128,255],[256,383],[384,591],[592,687,7424,7551,7552,7615],[688,767,42752,42783],[768,879,7616,7679],[880,1023],[11392,11519],[1024,1279,1280,1327,11744,11775,42560,42655],[1328,1423],[1424,1535],[42240,42559],[1536,1791,1872,1919],[1984,2047],[2304,2431],[2432,2559],[2560,2687],[2688,2815],[2816,2943],[2944,3071],[3072,3199],[3200,3327],[3328,3455],[3584,3711],[3712,3839],[4256,4351,11520,11567],[6912,7039],[4352,4607],[7680,7935,11360,11391,42784,43007],[7936,8191],[8192,8303,11776,11903],[8304,8351],[8352,8399],[8400,8447],[8448,8527],[8528,8591],[8592,8703,10224,10239,10496,10623,11008,11263],[8704,8959,10752,11007,10176,10223,10624,10751],[8960,9215],[9216,9279],[9280,9311],[9312,9471],[9472,9599],[9600,9631],[9632,9727],[9728,9983],[9984,10175],[12288,12351],[12352,12447],[12448,12543,12784,12799],[12544,12591,12704,12735],[12592,12687],[43072,43135],[12800,13055],[13056,13311],[44032,55215],[55296,57343],[67840,67871],[19968,40959,11904,12031,12032,12255,12272,12287,13312,19903,131072,173791,12688,12703],[57344,63743],[12736,12783,63744,64255,194560,195103],[64256,64335],[64336,65023],[65056,65071],[65040,65055],[65104,65135],[65136,65279],[65280,65519],[65520,65535],[3840,4095],[1792,1871],[1920,1983],[3456,3583],[4096,4255],[4608,4991,4992,5023,11648,11743],[5024,5119],[5120,5759],[5760,5791],[5792,5887],[6016,6143],[6144,6319],[10240,10495],[40960,42127],[5888,5919,5920,5951,5952,5983,5984,6015],[66304,66351],[66352,66383],[66560,66639],[118784,119039,119040,119295,119296,119375],[119808,120831],[1044480,1048573],[65024,65039,917760,917999],[917504,917631],[6400,6479],[6480,6527],[6528,6623],[6656,6687],[11264,11359],[11568,11647],[19904,19967],[43008,43055],[65536,65663,65664,65791,65792,65855],[65856,65935],[66432,66463],[66464,66527],[66640,66687],[66688,66735],[67584,67647],[68096,68191],[119552,119647],[73728,74751,74752,74879],[119648,119679],[7040,7103],[7168,7247],[7248,7295],[43136,43231],[43264,43311],[43312,43359],[43520,43615],[65936,65999],[66e3,66047],[66208,66271,66176,66207,67872,67903],[127024,127135,126976,127023]];function getUnicodeRangeFor(e,t=-1){if(-1!==t){const i=ki[t];for(let a=0,r=i.length;a=i[a]&&e<=i[a+1])return t}for(let t=0,i=ki.length;t=i[a]&&e<=i[a+1])return t}return-1}const Ri=new RegExp("^(\\s)|(\\p{Mn})|(\\p{Cf})$","u"),Ni=new Map;const Gi=!0,Mi=1,xi=2,Hi=4,Ji=32,vi=[".notdef",".null","nonmarkingreturn","space","exclam","quotedbl","numbersign","dollar","percent","ampersand","quotesingle","parenleft","parenright","asterisk","plus","comma","hyphen","period","slash","zero","one","two","three","four","five","six","seven","eight","nine","colon","semicolon","less","equal","greater","question","at","A","B","C","D","E","F","G","H","I","J","K","L","M","N","O","P","Q","R","S","T","U","V","W","X","Y","Z","bracketleft","backslash","bracketright","asciicircum","underscore","grave","a","b","c","d","e","f","g","h","i","j","k","l","m","n","o","p","q","r","s","t","u","v","w","x","y","z","braceleft","bar","braceright","asciitilde","Adieresis","Aring","Ccedilla","Eacute","Ntilde","Odieresis","Udieresis","aacute","agrave","acircumflex","adieresis","atilde","aring","ccedilla","eacute","egrave","ecircumflex","edieresis","iacute","igrave","icircumflex","idieresis","ntilde","oacute","ograve","ocircumflex","odieresis","otilde","uacute","ugrave","ucircumflex","udieresis","dagger","degree","cent","sterling","section","bullet","paragraph","germandbls","registered","copyright","trademark","acute","dieresis","notequal","AE","Oslash","infinity","plusminus","lessequal","greaterequal","yen","mu","partialdiff","summation","product","pi","integral","ordfeminine","ordmasculine","Omega","ae","oslash","questiondown","exclamdown","logicalnot","radical","florin","approxequal","Delta","guillemotleft","guillemotright","ellipsis","nonbreakingspace","Agrave","Atilde","Otilde","OE","oe","endash","emdash","quotedblleft","quotedblright","quoteleft","quoteright","divide","lozenge","ydieresis","Ydieresis","fraction","currency","guilsinglleft","guilsinglright","fi","fl","daggerdbl","periodcentered","quotesinglbase","quotedblbase","perthousand","Acircumflex","Ecircumflex","Aacute","Edieresis","Egrave","Iacute","Icircumflex","Idieresis","Igrave","Oacute","Ocircumflex","apple","Ograve","Uacute","Ucircumflex","Ugrave","dotlessi","circumflex","tilde","macron","breve","dotaccent","ring","cedilla","hungarumlaut","ogonek","caron","Lslash","lslash","Scaron","scaron","Zcaron","zcaron","brokenbar","Eth","eth","Yacute","yacute","Thorn","thorn","minus","multiply","onesuperior","twosuperior","threesuperior","onehalf","onequarter","threequarters","franc","Gbreve","gbreve","Idotaccent","Scedilla","scedilla","Cacute","cacute","Ccaron","ccaron","dcroat"];function recoverGlyphName(e,t){if(void 0!==t[e])return e;const i=getUnicodeForGlyph(e,t);if(-1!==i)for(const e in t)if(t[e]===i)return e;info("Unable to recover a standard glyph name for: "+e);return e}function type1FontGlyphMapping(e,t,i){const a=Object.create(null);let r,s,n;const o=!!(e.flags&Hi);if(e.isInternalFont){n=t;for(s=0;s=0?r:0}}else if(e.baseEncodingName){n=getEncoding(e.baseEncodingName);for(s=0;s=0?r:0}}else if(o)for(s in t)a[s]=t[s];else{n=Bi;for(s=0;s=0?r:0}}const g=e.differences;let c;if(g)for(s in g){const e=g[s];r=i.indexOf(e);if(-1===r){c||(c=Di());const t=recoverGlyphName(e,c);t!==e&&(r=i.indexOf(t))}a[s]=r>=0?r:0}return a}function normalizeFontName(e){return e.replaceAll(/[,_]/g,"-").replaceAll(/\s/g,"")}const Yi=getLookupTableFactory((e=>{e[8211]=65074;e[8212]=65073;e[8229]=65072;e[8230]=65049;e[12289]=65041;e[12290]=65042;e[12296]=65087;e[12297]=65088;e[12298]=65085;e[12299]=65086;e[12300]=65089;e[12301]=65090;e[12302]=65091;e[12303]=65092;e[12304]=65083;e[12305]=65084;e[12308]=65081;e[12309]=65082;e[12310]=65047;e[12311]=65048;e[65103]=65076;e[65281]=65045;e[65288]=65077;e[65289]=65078;e[65292]=65040;e[65306]=65043;e[65307]=65044;e[65311]=65046;e[65339]=65095;e[65341]=65096;e[65343]=65075;e[65371]=65079;e[65373]=65080})),Ki=getLookupTableFactory((function(e){e["Times-Roman"]="Times-Roman";e.Helvetica="Helvetica";e.Courier="Courier";e.Symbol="Symbol";e["Times-Bold"]="Times-Bold";e["Helvetica-Bold"]="Helvetica-Bold";e["Courier-Bold"]="Courier-Bold";e.ZapfDingbats="ZapfDingbats";e["Times-Italic"]="Times-Italic";e["Helvetica-Oblique"]="Helvetica-Oblique";e["Courier-Oblique"]="Courier-Oblique";e["Times-BoldItalic"]="Times-BoldItalic";e["Helvetica-BoldOblique"]="Helvetica-BoldOblique";e["Courier-BoldOblique"]="Courier-BoldOblique";e.ArialNarrow="Helvetica";e["ArialNarrow-Bold"]="Helvetica-Bold";e["ArialNarrow-BoldItalic"]="Helvetica-BoldOblique";e["ArialNarrow-Italic"]="Helvetica-Oblique";e.ArialBlack="Helvetica";e["ArialBlack-Bold"]="Helvetica-Bold";e["ArialBlack-BoldItalic"]="Helvetica-BoldOblique";e["ArialBlack-Italic"]="Helvetica-Oblique";e["Arial-Black"]="Helvetica";e["Arial-Black-Bold"]="Helvetica-Bold";e["Arial-Black-BoldItalic"]="Helvetica-BoldOblique";e["Arial-Black-Italic"]="Helvetica-Oblique";e.Arial="Helvetica";e["Arial-Bold"]="Helvetica-Bold";e["Arial-BoldItalic"]="Helvetica-BoldOblique";e["Arial-Italic"]="Helvetica-Oblique";e.ArialMT="Helvetica";e["Arial-BoldItalicMT"]="Helvetica-BoldOblique";e["Arial-BoldMT"]="Helvetica-Bold";e["Arial-ItalicMT"]="Helvetica-Oblique";e["Arial-BoldItalicMT-BoldItalic"]="Helvetica-BoldOblique";e["Arial-BoldMT-Bold"]="Helvetica-Bold";e["Arial-ItalicMT-Italic"]="Helvetica-Oblique";e.ArialUnicodeMS="Helvetica";e["ArialUnicodeMS-Bold"]="Helvetica-Bold";e["ArialUnicodeMS-BoldItalic"]="Helvetica-BoldOblique";e["ArialUnicodeMS-Italic"]="Helvetica-Oblique";e["Courier-BoldItalic"]="Courier-BoldOblique";e["Courier-Italic"]="Courier-Oblique";e.CourierNew="Courier";e["CourierNew-Bold"]="Courier-Bold";e["CourierNew-BoldItalic"]="Courier-BoldOblique";e["CourierNew-Italic"]="Courier-Oblique";e["CourierNewPS-BoldItalicMT"]="Courier-BoldOblique";e["CourierNewPS-BoldMT"]="Courier-Bold";e["CourierNewPS-ItalicMT"]="Courier-Oblique";e.CourierNewPSMT="Courier";e["Helvetica-BoldItalic"]="Helvetica-BoldOblique";e["Helvetica-Italic"]="Helvetica-Oblique";e["HelveticaLTStd-Bold"]="Helvetica-Bold";e["Symbol-Bold"]="Symbol";e["Symbol-BoldItalic"]="Symbol";e["Symbol-Italic"]="Symbol";e.TimesNewRoman="Times-Roman";e["TimesNewRoman-Bold"]="Times-Bold";e["TimesNewRoman-BoldItalic"]="Times-BoldItalic";e["TimesNewRoman-Italic"]="Times-Italic";e.TimesNewRomanPS="Times-Roman";e["TimesNewRomanPS-Bold"]="Times-Bold";e["TimesNewRomanPS-BoldItalic"]="Times-BoldItalic";e["TimesNewRomanPS-BoldItalicMT"]="Times-BoldItalic";e["TimesNewRomanPS-BoldMT"]="Times-Bold";e["TimesNewRomanPS-Italic"]="Times-Italic";e["TimesNewRomanPS-ItalicMT"]="Times-Italic";e.TimesNewRomanPSMT="Times-Roman";e["TimesNewRomanPSMT-Bold"]="Times-Bold";e["TimesNewRomanPSMT-BoldItalic"]="Times-BoldItalic";e["TimesNewRomanPSMT-Italic"]="Times-Italic"})),Ti=getLookupTableFactory((function(e){e.Courier="FoxitFixed.pfb";e["Courier-Bold"]="FoxitFixedBold.pfb";e["Courier-BoldOblique"]="FoxitFixedBoldItalic.pfb";e["Courier-Oblique"]="FoxitFixedItalic.pfb";e.Helvetica="LiberationSans-Regular.ttf";e["Helvetica-Bold"]="LiberationSans-Bold.ttf";e["Helvetica-BoldOblique"]="LiberationSans-BoldItalic.ttf";e["Helvetica-Oblique"]="LiberationSans-Italic.ttf";e["Times-Roman"]="FoxitSerif.pfb";e["Times-Bold"]="FoxitSerifBold.pfb";e["Times-BoldItalic"]="FoxitSerifBoldItalic.pfb";e["Times-Italic"]="FoxitSerifItalic.pfb";e.Symbol="FoxitSymbol.pfb";e.ZapfDingbats="FoxitDingbats.pfb";e["LiberationSans-Regular"]="LiberationSans-Regular.ttf";e["LiberationSans-Bold"]="LiberationSans-Bold.ttf";e["LiberationSans-Italic"]="LiberationSans-Italic.ttf";e["LiberationSans-BoldItalic"]="LiberationSans-BoldItalic.ttf"})),qi=getLookupTableFactory((function(e){e.Calibri="Helvetica";e["Calibri-Bold"]="Helvetica-Bold";e["Calibri-BoldItalic"]="Helvetica-BoldOblique";e["Calibri-Italic"]="Helvetica-Oblique";e.CenturyGothic="Helvetica";e["CenturyGothic-Bold"]="Helvetica-Bold";e["CenturyGothic-BoldItalic"]="Helvetica-BoldOblique";e["CenturyGothic-Italic"]="Helvetica-Oblique";e.ComicSansMS="Comic Sans MS";e["ComicSansMS-Bold"]="Comic Sans MS-Bold";e["ComicSansMS-BoldItalic"]="Comic Sans MS-BoldItalic";e["ComicSansMS-Italic"]="Comic Sans MS-Italic";e.GillSansMT="Helvetica";e["GillSansMT-Bold"]="Helvetica-Bold";e["GillSansMT-BoldItalic"]="Helvetica-BoldOblique";e["GillSansMT-Italic"]="Helvetica-Oblique";e.Impact="Helvetica";e["ItcSymbol-Bold"]="Helvetica-Bold";e["ItcSymbol-BoldItalic"]="Helvetica-BoldOblique";e["ItcSymbol-Book"]="Helvetica";e["ItcSymbol-BookItalic"]="Helvetica-Oblique";e["ItcSymbol-Medium"]="Helvetica";e["ItcSymbol-MediumItalic"]="Helvetica-Oblique";e.LucidaConsole="Courier";e["LucidaConsole-Bold"]="Courier-Bold";e["LucidaConsole-BoldItalic"]="Courier-BoldOblique";e["LucidaConsole-Italic"]="Courier-Oblique";e["LucidaSans-Demi"]="Helvetica-Bold";e["MS-Gothic"]="MS Gothic";e["MS-Gothic-Bold"]="MS Gothic-Bold";e["MS-Gothic-BoldItalic"]="MS Gothic-BoldItalic";e["MS-Gothic-Italic"]="MS Gothic-Italic";e["MS-Mincho"]="MS Mincho";e["MS-Mincho-Bold"]="MS Mincho-Bold";e["MS-Mincho-BoldItalic"]="MS Mincho-BoldItalic";e["MS-Mincho-Italic"]="MS Mincho-Italic";e["MS-PGothic"]="MS PGothic";e["MS-PGothic-Bold"]="MS PGothic-Bold";e["MS-PGothic-BoldItalic"]="MS PGothic-BoldItalic";e["MS-PGothic-Italic"]="MS PGothic-Italic";e["MS-PMincho"]="MS PMincho";e["MS-PMincho-Bold"]="MS PMincho-Bold";e["MS-PMincho-BoldItalic"]="MS PMincho-BoldItalic";e["MS-PMincho-Italic"]="MS PMincho-Italic";e.NuptialScript="Times-Italic";e.SegoeUISymbol="Helvetica"})),Oi=getLookupTableFactory((function(e){e["Adobe Jenson"]=!0;e["Adobe Text"]=!0;e.Albertus=!0;e.Aldus=!0;e.Alexandria=!0;e.Algerian=!0;e["American Typewriter"]=!0;e.Antiqua=!0;e.Apex=!0;e.Arno=!0;e.Aster=!0;e.Aurora=!0;e.Baskerville=!0;e.Bell=!0;e.Bembo=!0;e["Bembo Schoolbook"]=!0;e.Benguiat=!0;e["Berkeley Old Style"]=!0;e["Bernhard Modern"]=!0;e["Berthold City"]=!0;e.Bodoni=!0;e["Bauer Bodoni"]=!0;e["Book Antiqua"]=!0;e.Bookman=!0;e["Bordeaux Roman"]=!0;e["Californian FB"]=!0;e.Calisto=!0;e.Calvert=!0;e.Capitals=!0;e.Cambria=!0;e.Cartier=!0;e.Caslon=!0;e.Catull=!0;e.Centaur=!0;e["Century Old Style"]=!0;e["Century Schoolbook"]=!0;e.Chaparral=!0;e["Charis SIL"]=!0;e.Cheltenham=!0;e["Cholla Slab"]=!0;e.Clarendon=!0;e.Clearface=!0;e.Cochin=!0;e.Colonna=!0;e["Computer Modern"]=!0;e["Concrete Roman"]=!0;e.Constantia=!0;e["Cooper Black"]=!0;e.Corona=!0;e.Ecotype=!0;e.Egyptienne=!0;e.Elephant=!0;e.Excelsior=!0;e.Fairfield=!0;e["FF Scala"]=!0;e.Folkard=!0;e.Footlight=!0;e.FreeSerif=!0;e["Friz Quadrata"]=!0;e.Garamond=!0;e.Gentium=!0;e.Georgia=!0;e.Gloucester=!0;e["Goudy Old Style"]=!0;e["Goudy Schoolbook"]=!0;e["Goudy Pro Font"]=!0;e.Granjon=!0;e["Guardian Egyptian"]=!0;e.Heather=!0;e.Hercules=!0;e["High Tower Text"]=!0;e.Hiroshige=!0;e["Hoefler Text"]=!0;e["Humana Serif"]=!0;e.Imprint=!0;e["Ionic No. 5"]=!0;e.Janson=!0;e.Joanna=!0;e.Korinna=!0;e.Lexicon=!0;e.LiberationSerif=!0;e["Liberation Serif"]=!0;e["Linux Libertine"]=!0;e.Literaturnaya=!0;e.Lucida=!0;e["Lucida Bright"]=!0;e.Melior=!0;e.Memphis=!0;e.Miller=!0;e.Minion=!0;e.Modern=!0;e["Mona Lisa"]=!0;e["Mrs Eaves"]=!0;e["MS Serif"]=!0;e["Museo Slab"]=!0;e["New York"]=!0;e["Nimbus Roman"]=!0;e["NPS Rawlinson Roadway"]=!0;e.NuptialScript=!0;e.Palatino=!0;e.Perpetua=!0;e.Plantin=!0;e["Plantin Schoolbook"]=!0;e.Playbill=!0;e["Poor Richard"]=!0;e["Rawlinson Roadway"]=!0;e.Renault=!0;e.Requiem=!0;e.Rockwell=!0;e.Roman=!0;e["Rotis Serif"]=!0;e.Sabon=!0;e.Scala=!0;e.Seagull=!0;e.Sistina=!0;e.Souvenir=!0;e.STIX=!0;e["Stone Informal"]=!0;e["Stone Serif"]=!0;e.Sylfaen=!0;e.Times=!0;e.Trajan=!0;e["Trinité"]=!0;e["Trump Mediaeval"]=!0;e.Utopia=!0;e["Vale Type"]=!0;e["Bitstream Vera"]=!0;e["Vera Serif"]=!0;e.Versailles=!0;e.Wanted=!0;e.Weiss=!0;e["Wide Latin"]=!0;e.Windsor=!0;e.XITS=!0})),Pi=getLookupTableFactory((function(e){e.Dingbats=!0;e.Symbol=!0;e.ZapfDingbats=!0;e.Wingdings=!0;e["Wingdings-Bold"]=!0;e["Wingdings-Regular"]=!0})),Wi=getLookupTableFactory((function(e){e[2]=10;e[3]=32;e[4]=33;e[5]=34;e[6]=35;e[7]=36;e[8]=37;e[9]=38;e[10]=39;e[11]=40;e[12]=41;e[13]=42;e[14]=43;e[15]=44;e[16]=45;e[17]=46;e[18]=47;e[19]=48;e[20]=49;e[21]=50;e[22]=51;e[23]=52;e[24]=53;e[25]=54;e[26]=55;e[27]=56;e[28]=57;e[29]=58;e[30]=894;e[31]=60;e[32]=61;e[33]=62;e[34]=63;e[35]=64;e[36]=65;e[37]=66;e[38]=67;e[39]=68;e[40]=69;e[41]=70;e[42]=71;e[43]=72;e[44]=73;e[45]=74;e[46]=75;e[47]=76;e[48]=77;e[49]=78;e[50]=79;e[51]=80;e[52]=81;e[53]=82;e[54]=83;e[55]=84;e[56]=85;e[57]=86;e[58]=87;e[59]=88;e[60]=89;e[61]=90;e[62]=91;e[63]=92;e[64]=93;e[65]=94;e[66]=95;e[67]=96;e[68]=97;e[69]=98;e[70]=99;e[71]=100;e[72]=101;e[73]=102;e[74]=103;e[75]=104;e[76]=105;e[77]=106;e[78]=107;e[79]=108;e[80]=109;e[81]=110;e[82]=111;e[83]=112;e[84]=113;e[85]=114;e[86]=115;e[87]=116;e[88]=117;e[89]=118;e[90]=119;e[91]=120;e[92]=121;e[93]=122;e[94]=123;e[95]=124;e[96]=125;e[97]=126;e[98]=196;e[99]=197;e[100]=199;e[101]=201;e[102]=209;e[103]=214;e[104]=220;e[105]=225;e[106]=224;e[107]=226;e[108]=228;e[109]=227;e[110]=229;e[111]=231;e[112]=233;e[113]=232;e[114]=234;e[115]=235;e[116]=237;e[117]=236;e[118]=238;e[119]=239;e[120]=241;e[121]=243;e[122]=242;e[123]=244;e[124]=246;e[125]=245;e[126]=250;e[127]=249;e[128]=251;e[129]=252;e[130]=8224;e[131]=176;e[132]=162;e[133]=163;e[134]=167;e[135]=8226;e[136]=182;e[137]=223;e[138]=174;e[139]=169;e[140]=8482;e[141]=180;e[142]=168;e[143]=8800;e[144]=198;e[145]=216;e[146]=8734;e[147]=177;e[148]=8804;e[149]=8805;e[150]=165;e[151]=181;e[152]=8706;e[153]=8721;e[154]=8719;e[156]=8747;e[157]=170;e[158]=186;e[159]=8486;e[160]=230;e[161]=248;e[162]=191;e[163]=161;e[164]=172;e[165]=8730;e[166]=402;e[167]=8776;e[168]=8710;e[169]=171;e[170]=187;e[171]=8230;e[179]=8220;e[180]=8221;e[181]=8216;e[182]=8217;e[200]=193;e[203]=205;e[207]=211;e[210]=218;e[223]=711;e[224]=321;e[225]=322;e[226]=352;e[227]=353;e[228]=381;e[229]=382;e[233]=221;e[234]=253;e[252]=263;e[253]=268;e[254]=269;e[258]=258;e[260]=260;e[261]=261;e[265]=280;e[266]=281;e[267]=282;e[268]=283;e[269]=313;e[275]=323;e[276]=324;e[278]=328;e[283]=344;e[284]=345;e[285]=346;e[286]=347;e[292]=367;e[295]=377;e[296]=378;e[298]=380;e[305]=963;e[306]=964;e[307]=966;e[308]=8215;e[309]=8252;e[310]=8319;e[311]=8359;e[312]=8592;e[313]=8593;e[337]=9552;e[493]=1039;e[494]=1040;e[672]=1488;e[673]=1489;e[674]=1490;e[675]=1491;e[676]=1492;e[677]=1493;e[678]=1494;e[679]=1495;e[680]=1496;e[681]=1497;e[682]=1498;e[683]=1499;e[684]=1500;e[685]=1501;e[686]=1502;e[687]=1503;e[688]=1504;e[689]=1505;e[690]=1506;e[691]=1507;e[692]=1508;e[693]=1509;e[694]=1510;e[695]=1511;e[696]=1512;e[697]=1513;e[698]=1514;e[705]=1524;e[706]=8362;e[710]=64288;e[711]=64298;e[759]=1617;e[761]=1776;e[763]=1778;e[775]=1652;e[777]=1764;e[778]=1780;e[779]=1781;e[780]=1782;e[782]=771;e[783]=64726;e[786]=8363;e[788]=8532;e[790]=768;e[791]=769;e[792]=768;e[795]=803;e[797]=64336;e[798]=64337;e[799]=64342;e[800]=64343;e[801]=64344;e[802]=64345;e[803]=64362;e[804]=64363;e[805]=64364;e[2424]=7821;e[2425]=7822;e[2426]=7823;e[2427]=7824;e[2428]=7825;e[2429]=7826;e[2430]=7827;e[2433]=7682;e[2678]=8045;e[2679]=8046;e[2830]=1552;e[2838]=686;e[2840]=751;e[2842]=753;e[2843]=754;e[2844]=755;e[2846]=757;e[2856]=767;e[2857]=848;e[2858]=849;e[2862]=853;e[2863]=854;e[2864]=855;e[2865]=861;e[2866]=862;e[2906]=7460;e[2908]=7462;e[2909]=7463;e[2910]=7464;e[2912]=7466;e[2913]=7467;e[2914]=7468;e[2916]=7470;e[2917]=7471;e[2918]=7472;e[2920]=7474;e[2921]=7475;e[2922]=7476;e[2924]=7478;e[2925]=7479;e[2926]=7480;e[2928]=7482;e[2929]=7483;e[2930]=7484;e[2932]=7486;e[2933]=7487;e[2934]=7488;e[2936]=7490;e[2937]=7491;e[2938]=7492;e[2940]=7494;e[2941]=7495;e[2942]=7496;e[2944]=7498;e[2946]=7500;e[2948]=7502;e[2950]=7504;e[2951]=7505;e[2952]=7506;e[2954]=7508;e[2955]=7509;e[2956]=7510;e[2958]=7512;e[2959]=7513;e[2960]=7514;e[2962]=7516;e[2963]=7517;e[2964]=7518;e[2966]=7520;e[2967]=7521;e[2968]=7522;e[2970]=7524;e[2971]=7525;e[2972]=7526;e[2974]=7528;e[2975]=7529;e[2976]=7530;e[2978]=1537;e[2979]=1538;e[2980]=1539;e[2982]=1549;e[2983]=1551;e[2984]=1552;e[2986]=1554;e[2987]=1555;e[2988]=1556;e[2990]=1623;e[2991]=1624;e[2995]=1775;e[2999]=1791;e[3002]=64290;e[3003]=64291;e[3004]=64292;e[3006]=64294;e[3007]=64295;e[3008]=64296;e[3011]=1900;e[3014]=8223;e[3015]=8244;e[3017]=7532;e[3018]=7533;e[3019]=7534;e[3075]=7590;e[3076]=7591;e[3079]=7594;e[3080]=7595;e[3083]=7598;e[3084]=7599;e[3087]=7602;e[3088]=7603;e[3091]=7606;e[3092]=7607;e[3095]=7610;e[3096]=7611;e[3099]=7614;e[3100]=7615;e[3103]=7618;e[3104]=7619;e[3107]=8337;e[3108]=8338;e[3116]=1884;e[3119]=1885;e[3120]=1885;e[3123]=1886;e[3124]=1886;e[3127]=1887;e[3128]=1887;e[3131]=1888;e[3132]=1888;e[3135]=1889;e[3136]=1889;e[3139]=1890;e[3140]=1890;e[3143]=1891;e[3144]=1891;e[3147]=1892;e[3148]=1892;e[3153]=580;e[3154]=581;e[3157]=584;e[3158]=585;e[3161]=588;e[3162]=589;e[3165]=891;e[3166]=892;e[3169]=1274;e[3170]=1275;e[3173]=1278;e[3174]=1279;e[3181]=7622;e[3182]=7623;e[3282]=11799;e[3316]=578;e[3379]=42785;e[3393]=1159;e[3416]=8377})),ji=getLookupTableFactory((function(e){e[227]=322;e[264]=261;e[291]=346})),Xi=getLookupTableFactory((function(e){e[1]=32;e[4]=65;e[5]=192;e[6]=193;e[9]=196;e[17]=66;e[18]=67;e[21]=268;e[24]=68;e[28]=69;e[29]=200;e[30]=201;e[32]=282;e[38]=70;e[39]=71;e[44]=72;e[47]=73;e[48]=204;e[49]=205;e[58]=74;e[60]=75;e[62]=76;e[68]=77;e[69]=78;e[75]=79;e[76]=210;e[80]=214;e[87]=80;e[89]=81;e[90]=82;e[92]=344;e[94]=83;e[97]=352;e[100]=84;e[104]=85;e[109]=220;e[115]=86;e[116]=87;e[121]=88;e[122]=89;e[124]=221;e[127]=90;e[129]=381;e[258]=97;e[259]=224;e[260]=225;e[263]=228;e[268]=261;e[271]=98;e[272]=99;e[273]=263;e[275]=269;e[282]=100;e[286]=101;e[287]=232;e[288]=233;e[290]=283;e[295]=281;e[296]=102;e[336]=103;e[346]=104;e[349]=105;e[350]=236;e[351]=237;e[361]=106;e[364]=107;e[367]=108;e[371]=322;e[373]=109;e[374]=110;e[381]=111;e[382]=242;e[383]=243;e[386]=246;e[393]=112;e[395]=113;e[396]=114;e[398]=345;e[400]=115;e[401]=347;e[403]=353;e[410]=116;e[437]=117;e[442]=252;e[448]=118;e[449]=119;e[454]=120;e[455]=121;e[457]=253;e[460]=122;e[462]=382;e[463]=380;e[853]=44;e[855]=58;e[856]=46;e[876]=47;e[878]=45;e[882]=45;e[894]=40;e[895]=41;e[896]=91;e[897]=93;e[923]=64;e[1004]=48;e[1005]=49;e[1006]=50;e[1007]=51;e[1008]=52;e[1009]=53;e[1010]=54;e[1011]=55;e[1012]=56;e[1013]=57;e[1081]=37;e[1085]=43;e[1086]=45}));function getStandardFontName(e){const t=normalizeFontName(e);return Ki()[t]}function isKnownFontName(e){const t=normalizeFontName(e);return!!(Ki()[t]||qi()[t]||Oi()[t]||Pi()[t])}class ToUnicodeMap{constructor(e=[]){this._map=e}get length(){return this._map.length}forEach(e){for(const t in this._map)e(t,this._map[t].codePointAt(0))}has(e){return void 0!==this._map[e]}get(e){return this._map[e]}charCodeOf(e){const t=this._map;if(t.length<=65536)return t.indexOf(e);for(const i in t)if(t[i]===e)return 0|i;return-1}amend(e){for(const t in e)this._map[t]=e[t]}}class IdentityToUnicodeMap{constructor(e,t){this.firstChar=e;this.lastChar=t}get length(){return this.lastChar+1-this.firstChar}forEach(e){for(let t=this.firstChar,i=this.lastChar;t<=i;t++)e(t,t)}has(e){return this.firstChar<=e&&e<=this.lastChar}get(e){if(this.firstChar<=e&&e<=this.lastChar)return String.fromCharCode(e)}charCodeOf(e){return Number.isInteger(e)&&e>=this.firstChar&&e<=this.lastChar?e:-1}amend(e){unreachable("Should not call amend()")}}class CFFFont{constructor(e,t){this.properties=t;const i=new CFFParser(e,t,Gi);this.cff=i.parse();this.cff.duplicateFirstGlyph();const a=new CFFCompiler(this.cff);this.seacs=this.cff.seacs;try{this.data=a.compile()}catch{warn("Failed to compile font "+t.loadedName);this.data=e}this._createBuiltInEncoding()}get numGlyphs(){return this.cff.charStrings.count}getCharset(){return this.cff.charset.charset}getGlyphMapping(){const e=this.cff,t=this.properties,{cidToGidMap:i,cMap:a}=t,r=e.charset.charset;let s,n;if(t.composite){let t,o;if(i?.length>0){t=Object.create(null);for(let e=0,a=i.length;e=0){const a=i[t];a&&(r[e]=a)}}r.length>0&&(this.properties.builtInEncoding=r)}}function getUint32(e,t){return(e[t]<<24|e[t+1]<<16|e[t+2]<<8|e[t+3])>>>0}function getUint16(e,t){return e[t]<<8|e[t+1]}function getInt16(e,t){return(e[t]<<24|e[t+1]<<16)>>16}function getInt8(e,t){return e[t]<<24>>24}function getFloat214(e,t){return getInt16(e,t)/16384}function getSubroutineBias(e){const t=e.length;let i=32768;t<1240?i=107:t<33900&&(i=1131);return i}function parseCmap(e,t,i){const a=1===getUint16(e,t+2)?getUint32(e,t+8):getUint32(e,t+16),r=getUint16(e,t+a);let s,n,o;if(4===r){getUint16(e,t+a+2);const i=getUint16(e,t+a+6)>>1;n=t+a+14;s=[];for(o=0;o>1;i0;)l.push({flags:s})}for(i=0;i>1;p=!0;break;case 4:n+=r.pop();moveTo(s,n);p=!0;break;case 5:for(;r.length>0;){s+=r.shift();n+=r.shift();lineTo(s,n)}break;case 6:for(;r.length>0;){s+=r.shift();lineTo(s,n);if(0===r.length)break;n+=r.shift();lineTo(s,n)}break;case 7:for(;r.length>0;){n+=r.shift();lineTo(s,n);if(0===r.length)break;s+=r.shift();lineTo(s,n)}break;case 8:for(;r.length>0;){c=s+r.shift();h=n+r.shift();l=c+r.shift();C=h+r.shift();s=l+r.shift();n=C+r.shift();bezierCurveTo(c,h,l,C,s,n)}break;case 10:d=r.pop();f=null;if(i.isCFFCIDFont){const e=i.fdSelect.getFDIndex(a);if(e>=0&&eMath.abs(n-t)?s+=r.shift():n+=r.shift();bezierCurveTo(c,h,l,C,s,n);break;default:throw new FormatError(`unknown operator: 12 ${m}`)}break;case 14:if(r.length>=4){const e=r.pop(),a=r.pop();n=r.pop();s=r.pop();t.save();t.translate(s,n);let o=lookupCmap(i.cmap,String.fromCharCode(i.glyphNameMap[Bi[e]]));compileCharString(i.glyphs[o.glyphId],t,i,o.glyphId);t.restore();o=lookupCmap(i.cmap,String.fromCharCode(i.glyphNameMap[Bi[a]]));compileCharString(i.glyphs[o.glyphId],t,i,o.glyphId)}return;case 19:case 20:o+=r.length>>1;g+=o+7>>3;p=!0;break;case 21:n+=r.pop();s+=r.pop();moveTo(s,n);p=!0;break;case 22:s+=r.pop();moveTo(s,n);p=!0;break;case 24:for(;r.length>2;){c=s+r.shift();h=n+r.shift();l=c+r.shift();C=h+r.shift();s=l+r.shift();n=C+r.shift();bezierCurveTo(c,h,l,C,s,n)}s+=r.shift();n+=r.shift();lineTo(s,n);break;case 25:for(;r.length>6;){s+=r.shift();n+=r.shift();lineTo(s,n)}c=s+r.shift();h=n+r.shift();l=c+r.shift();C=h+r.shift();s=l+r.shift();n=C+r.shift();bezierCurveTo(c,h,l,C,s,n);break;case 26:r.length%2&&(s+=r.shift());for(;r.length>0;){c=s;h=n+r.shift();l=c+r.shift();C=h+r.shift();s=l;n=C+r.shift();bezierCurveTo(c,h,l,C,s,n)}break;case 27:r.length%2&&(n+=r.shift());for(;r.length>0;){c=s+r.shift();h=n;l=c+r.shift();C=h+r.shift();s=l+r.shift();n=C;bezierCurveTo(c,h,l,C,s,n)}break;case 28:r.push((e[g]<<24|e[g+1]<<16)>>16);g+=2;break;case 29:d=r.pop()+i.gsubrsBias;f=i.gsubrs[d];f&&parse(f);break;case 30:for(;r.length>0;){c=s;h=n+r.shift();l=c+r.shift();C=h+r.shift();s=l+r.shift();n=C+(1===r.length?r.shift():0);bezierCurveTo(c,h,l,C,s,n);if(0===r.length)break;c=s+r.shift();h=n;l=c+r.shift();C=h+r.shift();n=C+r.shift();s=l+(1===r.length?r.shift():0);bezierCurveTo(c,h,l,C,s,n)}break;case 31:for(;r.length>0;){c=s+r.shift();h=n;l=c+r.shift();C=h+r.shift();n=C+r.shift();s=l+(1===r.length?r.shift():0);bezierCurveTo(c,h,l,C,s,n);if(0===r.length)break;c=s;h=n+r.shift();l=c+r.shift();C=h+r.shift();s=l+r.shift();n=C+(1===r.length?r.shift():0);bezierCurveTo(c,h,l,C,s,n)}break;default:if(m<32)throw new FormatError(`unknown operator: ${m}`);if(m<247)r.push(m-139);else if(m<251)r.push(256*(m-247)+e[g++]+108);else if(m<255)r.push(256*-(m-251)-e[g++]-108);else{r.push((e[g]<<24|e[g+1]<<16|e[g+2]<<8|e[g+3])/65536);g+=4}}p&&(r.length=0)}}(e)}class Commands{cmds=[];transformStack=[];currentTransform=[1,0,0,1,0,0];add(e,t){if(t){const[i,a,r,s,n,o]=this.currentTransform;for(let e=0,g=t.length;e=0&&e2*getUint16(e,t)}const s=[];let n=r(t,0);for(let i=a;ie+(t.getSize()+3&-4)),0)}write(){const e=this.getSize(),t=new DataView(new ArrayBuffer(e)),i=e>131070,a=i?4:2,r=new DataView(new ArrayBuffer((this.glyphs.length+1)*a));i?r.setUint32(0,0):r.setUint16(0,0);let s=0,n=0;for(const e of this.glyphs){s+=e.write(s,t);s=s+3&-4;n+=a;i?r.setUint32(n,s):r.setUint16(n,s>>1)}return{isLocationLong:i,loca:new Uint8Array(r.buffer),glyf:new Uint8Array(t.buffer)}}scale(e){for(let t=0,i=this.glyphs.length;te+t.getSize()),0);return this.header.getSize()+e}write(e,t){if(!this.header)return 0;const i=e;e+=this.header.write(e,t);if(this.simple)e+=this.simple.write(e,t);else for(const i of this.composites)e+=i.write(e,t);return e-i}scale(e){if(!this.header)return;const t=(this.header.xMin+this.header.xMax)/2;this.header.scale(t,e);if(this.simple)this.simple.scale(t,e);else for(const i of this.composites)i.scale(t,e)}}class GlyphHeader{constructor({numberOfContours:e,xMin:t,yMin:i,xMax:a,yMax:r}){this.numberOfContours=e;this.xMin=t;this.yMin=i;this.xMax=a;this.yMax=r}static parse(e,t){return[10,new GlyphHeader({numberOfContours:t.getInt16(e),xMin:t.getInt16(e+2),yMin:t.getInt16(e+4),xMax:t.getInt16(e+6),yMax:t.getInt16(e+8)})]}getSize(){return 10}write(e,t){t.setInt16(e,this.numberOfContours);t.setInt16(e+2,this.xMin);t.setInt16(e+4,this.yMin);t.setInt16(e+6,this.xMax);t.setInt16(e+8,this.yMax);return 10}scale(e,t){this.xMin=Math.round(e+(this.xMin-e)*t);this.xMax=Math.round(e+(this.xMax-e)*t)}}class Contour{constructor({flags:e,xCoordinates:t,yCoordinates:i}){this.xCoordinates=t;this.yCoordinates=i;this.flags=e}}class SimpleGlyph{constructor({contours:e,instructions:t}){this.contours=e;this.instructions=t}static parse(e,t,i){const a=[];for(let r=0;r255?e+=2:o>0&&(e+=1);t=s;o=Math.abs(n-i);o>255?e+=2:o>0&&(e+=1);i=n}}return e}write(e,t){const i=e,a=[],r=[],s=[];let n=0,o=0;for(const i of this.contours){for(let e=0,t=i.xCoordinates.length;e=0?18:2;a.push(e)}else a.push(c)}n=g;const l=i.yCoordinates[e];c=l-o;if(0===c){t|=32;r.push(0)}else{const e=Math.abs(c);if(e<=255){t|=c>=0?36:4;r.push(e)}else r.push(c)}o=l;s.push(t)}t.setUint16(e,a.length-1);e+=2}t.setUint16(e,this.instructions.length);e+=2;if(this.instructions.length){new Uint8Array(t.buffer,0,t.buffer.byteLength).set(this.instructions,e);e+=this.instructions.length}for(const i of s)t.setUint8(e++,i);for(let i=0,r=a.length;i=-128&&this.argument1<=127&&this.argument2>=-128&&this.argument2<=127||(e+=2):this.argument1>=0&&this.argument1<=255&&this.argument2>=0&&this.argument2<=255||(e+=2);return e}write(e,t){const i=e;2&this.flags?this.argument1>=-128&&this.argument1<=127&&this.argument2>=-128&&this.argument2<=127||(this.flags|=1):this.argument1>=0&&this.argument1<=255&&this.argument2>=0&&this.argument2<=255||(this.flags|=1);t.setUint16(e,this.flags);t.setUint16(e+2,this.glyphIndex);e+=4;if(1&this.flags){if(2&this.flags){t.setInt16(e,this.argument1);t.setInt16(e+2,this.argument2)}else{t.setUint16(e,this.argument1);t.setUint16(e+2,this.argument2)}e+=4}else{t.setUint8(e,this.argument1);t.setUint8(e+1,this.argument2);e+=2}if(256&this.flags){t.setUint16(e,this.instructions.length);e+=2;if(this.instructions.length){new Uint8Array(t.buffer,0,t.buffer.byteLength).set(this.instructions,e);e+=this.instructions.length}}return e-i}scale(e,t){}}function writeInt16(e,t,i){e[t]=i>>8&255;e[t+1]=255&i}function writeInt32(e,t,i){e[t]=i>>24&255;e[t+1]=i>>16&255;e[t+2]=i>>8&255;e[t+3]=255&i}function writeData(e,t,i){if(i instanceof Uint8Array)e.set(i,t);else if("string"==typeof i)for(let a=0,r=i.length;ai;){i<<=1;a++}const r=i*t;return{range:r,entry:a,rangeShift:t*e-r}}toArray(){let e=this.sfnt;const t=this.tables,i=Object.keys(t);i.sort();const a=i.length;let r,s,n,o,g,c=12+16*a;const l=[c];for(r=0;r>>0;l.push(c)}const h=new Uint8Array(c);for(r=0;r>>0}writeInt32(h,c+4,e);writeInt32(h,c+8,l[r]);writeInt32(h,c+12,t[g].length);c+=16}return h}addTable(e,t){if(e in this.tables)throw new Error("Table "+e+" already exists");this.tables[e]=t}}const _i=[4],zi=[5],$i=[6],Aa=[7],ea=[8],ta=[12,35],ia=[14],aa=[21],ra=[22],sa=[30],na=[31];class Type1CharString{constructor(){this.width=0;this.lsb=0;this.flexing=!1;this.output=[];this.stack=[]}convert(e,t,i){const a=e.length;let r,s,n,o=!1;for(let g=0;ga)return!0;const r=a-e;for(let e=r;e>8&255,255&t);else{t=65536*t|0;this.output.push(255,t>>24&255,t>>16&255,t>>8&255,255&t)}}this.output.push(...t);i?this.stack.splice(r,e):this.stack.length=0;return!1}}function isHexDigit(e){return e>=48&&e<=57||e>=65&&e<=70||e>=97&&e<=102}function decrypt(e,t,i){if(i>=e.length)return new Uint8Array(0);let a,r,s=0|t;for(a=0;a>8;s=52845*(t+s)+22719&65535}return o}function isSpecial(e){return 47===e||91===e||93===e||123===e||125===e||40===e||41===e}class Type1Parser{constructor(e,t,i){if(t){const t=e.getBytes(),i=!((isHexDigit(t[0])||isWhiteSpace(t[0]))&&isHexDigit(t[1])&&isHexDigit(t[2])&&isHexDigit(t[3])&&isHexDigit(t[4])&&isHexDigit(t[5])&&isHexDigit(t[6])&&isHexDigit(t[7]));e=new Stream(i?decrypt(t,55665,4):function decryptAscii(e,t,i){let a=0|t;const r=e.length,s=new Uint8Array(r>>>1);let n,o;for(n=0,o=0;n>8;a=52845*(e+a)+22719&65535}}return s.slice(i,o)}(t,55665,4))}this.seacAnalysisEnabled=!!i;this.stream=e;this.nextChar()}readNumberArray(){this.getToken();const e=[];for(;;){const t=this.getToken();if(null===t||"]"===t||"}"===t)break;e.push(parseFloat(t||0))}return e}readNumber(){const e=this.getToken();return parseFloat(e||0)}readInt(){const e=this.getToken();return 0|parseInt(e||0,10)}readBoolean(){return"true"===this.getToken()?1:0}nextChar(){return this.currentChar=this.stream.getByte()}prevChar(){this.stream.skip(-2);return this.currentChar=this.stream.getByte()}getToken(){let e=!1,t=this.currentChar;for(;;){if(-1===t)return null;if(e)10!==t&&13!==t||(e=!1);else if(37===t)e=!0;else if(!isWhiteSpace(t))break;t=this.nextChar()}if(isSpecial(t)){this.nextChar();return String.fromCharCode(t)}let i="";do{i+=String.fromCharCode(t);t=this.nextChar()}while(t>=0&&!isWhiteSpace(t)&&!isSpecial(t));return i}readCharStrings(e,t){return-1===t?e:decrypt(e,4330,t)}extractFontProgram(e){const t=this.stream,i=[],a=[],r=Object.create(null);r.lenIV=4;const s={subrs:[],charstrings:[],properties:{privateData:r}};let n,o,g,c;for(;null!==(n=this.getToken());)if("/"===n){n=this.getToken();switch(n){case"CharStrings":this.getToken();this.getToken();this.getToken();this.getToken();for(;;){n=this.getToken();if(null===n||"end"===n)break;if("/"!==n)continue;const e=this.getToken();o=this.readInt();this.getToken();g=o>0?t.getBytes(o):new Uint8Array(0);c=s.properties.privateData.lenIV;const i=this.readCharStrings(g,c);this.nextChar();n=this.getToken();"noaccess"===n?this.getToken():"/"===n&&this.prevChar();a.push({glyph:e,encoded:i})}break;case"Subrs":this.readInt();this.getToken();for(;"dup"===this.getToken();){const e=this.readInt();o=this.readInt();this.getToken();g=o>0?t.getBytes(o):new Uint8Array(0);c=s.properties.privateData.lenIV;const a=this.readCharStrings(g,c);this.nextChar();n=this.getToken();"noaccess"===n&&this.getToken();i[e]=a}break;case"BlueValues":case"OtherBlues":case"FamilyBlues":case"FamilyOtherBlues":const e=this.readNumberArray();e.length>0&&e.length,0;break;case"StemSnapH":case"StemSnapV":s.properties.privateData[n]=this.readNumberArray();break;case"StdHW":case"StdVW":s.properties.privateData[n]=this.readNumberArray()[0];break;case"BlueShift":case"lenIV":case"BlueFuzz":case"BlueScale":case"LanguageGroup":s.properties.privateData[n]=this.readNumber();break;case"ExpansionFactor":s.properties.privateData[n]=this.readNumber()||.06;break;case"ForceBold":s.properties.privateData[n]=this.readBoolean()}}for(const{encoded:t,glyph:r}of a){const a=new Type1CharString,n=a.convert(t,i,this.seacAnalysisEnabled);let o=a.output;n&&(o=[14]);const g={glyphName:r,charstring:o,width:a.width,lsb:a.lsb,seac:a.seac};".notdef"===r?s.charstrings.unshift(g):s.charstrings.push(g);if(e.builtInEncoding){const t=e.builtInEncoding.indexOf(r);t>-1&&void 0===e.widths[t]&&t>=e.firstChar&&t<=e.lastChar&&(e.widths[t]=a.width)}}return s}extractFontHeader(e){let t;for(;null!==(t=this.getToken());)if("/"===t){t=this.getToken();switch(t){case"FontMatrix":const i=this.readNumberArray();e.fontMatrix=i;break;case"Encoding":const a=this.getToken();let r;if(/^\d+$/.test(a)){r=[];const e=0|parseInt(a,10);this.getToken();for(let i=0;i=r){n+=i;for(;n=0&&(a[e]=r)}}return type1FontGlyphMapping(e,a,i)}hasGlyphId(e){if(e<0||e>=this.numGlyphs)return!1;if(0===e)return!0;return this.charstrings[e-1].charstring.length>0}getSeacs(e){const t=[];for(let i=0,a=e.length;i0;e--)t[e]-=t[e-1];Q.setByName(e,t)}s.topDict.privateDict=Q;const u=new CFFIndex;for(l=0,h=a.length;l0&&e.toUnicode.amend(t)}class fonts_Glyph{constructor(e,t,i,a,r,s,n,o,g){this.originalCharCode=e;this.fontChar=t;this.unicode=i;this.accent=a;this.width=r;this.vmetric=s;this.operatorListId=n;this.isSpace=o;this.isInFont=g}get category(){return shadow(this,"category",function getCharUnicodeCategory(e){const t=Ni.get(e);if(t)return t;const i=e.match(Ri),a={isWhitespace:!!i?.[1],isZeroWidthDiacritic:!!i?.[2],isInvisibleFormatMark:!!i?.[3]};Ni.set(e,a);return a}(this.unicode),!0)}}function int16(e,t){return(e<<8)+t}function writeSignedInt16(e,t,i){e[t+1]=i;e[t]=i>>>8}function signedInt16(e,t){const i=(e<<8)+t;return 32768&i?i-65536:i}function string16(e){return String.fromCharCode(e>>8&255,255&e)}function safeString16(e){e>32767?e=32767:e<-32768&&(e=-32768);return String.fromCharCode(e>>8&255,255&e)}function isTrueTypeCollectionFile(e){return"ttcf"===bytesToString(e.peekBytes(4))}function getFontFileType(e,{type:t,subtype:i,composite:a}){let r,s;if(function isTrueTypeFile(e){const t=e.peekBytes(4);return 65536===readUint32(t,0)||"true"===bytesToString(t)}(e)||isTrueTypeCollectionFile(e))r=a?"CIDFontType2":"TrueType";else if(function isOpenTypeFile(e){return"OTTO"===bytesToString(e.peekBytes(4))}(e))r=a?"CIDFontType2":"OpenType";else if(function isType1File(e){const t=e.peekBytes(2);return 37===t[0]&&33===t[1]||128===t[0]&&1===t[1]}(e))r=a?"CIDFontType0":"MMType1"===t?"MMType1":"Type1";else if(function isCFFFile(e){const t=e.peekBytes(4);return t[0]>=1&&t[3]>=1&&t[3]<=4}(e))if(a){r="CIDFontType0";s="CIDFontType0C"}else{r="MMType1"===t?"MMType1":"Type1";s="Type1C"}else{warn("getFontFileType: Unable to detect correct font file Type/Subtype.");r=t;s=i}return[r,s]}function applyStandardFontGlyphMap(e,t){for(const i in t)e[+i]=t[i]}function buildToFontChar(e,t,i){const a=[];let r;for(let i=0,s=e.length;il){g++;if(g>=oa.length){warn("Ran out of space in font private use area.");break}c=oa[g][0];l=oa[g][1]}const E=c++;0===Q&&(Q=i);let u=a.get(C);"string"==typeof u&&(u=u.codePointAt(0));if(u&&!(h=u,oa[0][0]<=h&&h<=oa[0][1]||oa[1][0]<=h&&h<=oa[1][1])&&!o.has(Q)){s.set(u,Q);o.add(Q)}r[E]=Q;n[C]=E}var h;return{toFontChar:n,charCodeToGlyphId:r,toUnicodeExtraMap:s,nextAvailableFontCharCode:c}}function createCmapTable(e,t,i){const a=function getRanges(e,t,i){const a=[];for(const t in e)e[t]>=i||a.push({fontCharCode:0|t,glyphId:e[t]});if(t)for(const[e,r]of t)r>=i||a.push({fontCharCode:e,glyphId:r});0===a.length&&a.push({fontCharCode:0,glyphId:0});a.sort((function fontGetRangesSort(e,t){return e.fontCharCode-t.fontCharCode}));const r=[],s=a.length;for(let e=0;e65535?2:1;let s,n,o,g,c="\0\0"+string16(r)+"\0\0"+string32(4+8*r);for(s=a.length-1;s>=0&&!(a[s][0]<=65535);--s);const l=s+1;a[s][0]<65535&&65535===a[s][1]&&(a[s][1]=65534);const h=a[s][1]<65535?1:0,C=l+h,Q=OpenTypeFileBuilder.getSearchParams(C,2);let E,u,d,f,p="",m="",y="",w="",b="",D=0;for(s=0,n=l;s0){m+="ÿÿ";p+="ÿÿ";y+="\0";w+="\0\0"}const S="\0\0"+string16(2*C)+string16(Q.range)+string16(Q.entry)+string16(Q.rangeShift)+m+"\0\0"+p+y+w+b;let k="",R="";if(r>1){c+="\0\0\n"+string32(4+8*r+4+S.length);k="";for(s=0,n=a.length;se||!o)&&(o=e);g 123 are reserved for internal usage");n|=1<65535&&(g=65535)}else{o=0;g=255}const l=e.bbox||[0,0,0,0],h=i.unitsPerEm||(e.fontMatrix?1/Math.max(...e.fontMatrix.slice(0,4).map(Math.abs)):1e3),C=e.ascentScaled?1:h/ga,Q=i.ascent||Math.round(C*(e.ascent||l[3]));let E=i.descent||Math.round(C*(e.descent||l[1]));E>0&&e.descent>0&&l[1]<0&&(E=-E);const u=i.yMax||Q,d=-i.yMin||-E;return"\0$ô\0\0\0Š»\0\0\0ŒŠ»\0\0ß\x001\0\0\0\0"+String.fromCharCode(e.fixedPitch?9:0)+"\0\0\0\0\0\0"+string32(a)+string32(r)+string32(s)+string32(n)+"*21*"+string16(e.italicAngle?1:0)+string16(o||e.firstChar)+string16(g||e.lastChar)+string16(Q)+string16(E)+"\0d"+string16(u)+string16(d)+"\0\0\0\0\0\0\0\0"+string16(e.xHeight)+string16(e.capHeight)+string16(0)+string16(o||e.firstChar)+"\0"}function createPostTable(e){return"\0\0\0"+string32(Math.floor(65536*e.italicAngle))+"\0\0\0\0"+string32(e.fixedPitch?1:0)+"\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"}function createPostscriptName(e){return e.replaceAll(/[^\x21-\x7E]|[[\](){}<>/%]/g,"").slice(0,63)}function createNameTable(e,t){t||(t=[[],[]]);const i=[t[0][0]||"Original licence",t[0][1]||e,t[0][2]||"Unknown",t[0][3]||"uniqueID",t[0][4]||e,t[0][5]||"Version 0.11",t[0][6]||createPostscriptName(e),t[0][7]||"Unknown",t[0][8]||"Unknown",t[0][9]||"Unknown"],a=[];let r,s,n,o,g;for(r=0,s=i.length;r0;if((n||o)&&"CIDFontType2"===i&&this.cidEncoding.startsWith("Identity-")){const i=e.cidToGidMap,a=[];applyStandardFontGlyphMap(a,Wi());/Arial-?Black/i.test(t)?applyStandardFontGlyphMap(a,ji()):/Calibri/i.test(t)&&applyStandardFontGlyphMap(a,Xi());if(i){for(const e in a){const t=a[e];void 0!==i[t]&&(a[+e]=i[t])}i.length!==this.toUnicode.length&&e.hasIncludedToUnicodeMap&&this.toUnicode instanceof IdentityToUnicodeMap&&this.toUnicode.forEach((function(e,t){const r=a[e];void 0===i[r]&&(a[+e]=t)}))}this.toUnicode instanceof IdentityToUnicodeMap||this.toUnicode.forEach((function(e,t){a[+e]=t}));this.toFontChar=a;this.toUnicode=new ToUnicodeMap(a)}else if(/Symbol/i.test(a))this.toFontChar=buildToFontChar(Ei,Di(),this.differences);else if(/Dingbats/i.test(a))this.toFontChar=buildToFontChar(ui,Fi(),this.differences);else if(n||o){const e=buildToFontChar(this.defaultEncoding,Di(),this.differences);"CIDFontType2"!==i||this.cidEncoding.startsWith("Identity-")||this.toUnicode instanceof IdentityToUnicodeMap||this.toUnicode.forEach((function(t,i){e[+t]=i}));this.toFontChar=e}else{const e=Di(),i=[];this.toUnicode.forEach(((t,a)=>{if(!this.composite){const i=getUnicodeForGlyph(this.differences[t]||this.defaultEncoding[t],e);-1!==i&&(a=i)}i[+t]=a}));this.composite&&this.toUnicode instanceof IdentityToUnicodeMap&&/Tahoma|Verdana/i.test(t)&&applyStandardFontGlyphMap(i,Wi());this.toFontChar=i}amendFallbackToUnicode(e);this.loadedName=a.split("-",1)[0]}checkAndRepair(e,t,i){const a=["OS/2","cmap","head","hhea","hmtx","maxp","name","post","loca","glyf","fpgm","prep","cvt ","CFF "];function readTables(e,t){const i=Object.create(null);i["OS/2"]=null;i.cmap=null;i.head=null;i.hhea=null;i.hmtx=null;i.maxp=null;i.name=null;i.post=null;for(let r=0;r>>0,a=e.getInt32()>>>0,r=e.getInt32()>>>0,s=e.pos;e.pos=e.start||0;e.skip(a);const n=e.getBytes(r);e.pos=s;if("head"===t){n[8]=n[9]=n[10]=n[11]=0;n[17]|=32}return{tag:t,checksum:i,length:r,offset:a,data:n}}function readOpenTypeHeader(e){return{version:e.getString(4),numTables:e.getUint16(),searchRange:e.getUint16(),entrySelector:e.getUint16(),rangeShift:e.getUint16()}}function sanitizeGlyph(e,t,i,a,r,s){const n={length:0,sizeOfInstructions:0};if(t<0||t>=e.length||i>e.length||i-t<=12)return n;const o=e.subarray(t,i),g=signedInt16(o[2],o[3]),c=signedInt16(o[4],o[5]),l=signedInt16(o[6],o[7]),h=signedInt16(o[8],o[9]);if(g>l){writeSignedInt16(o,2,l);writeSignedInt16(o,6,g)}if(c>h){writeSignedInt16(o,4,h);writeSignedInt16(o,8,c)}const C=signedInt16(o[0],o[1]);if(C<0){if(C<-1)return n;a.set(o,r);n.length=o.length;return n}let Q,E=10,u=0;for(Q=0;Qo.length)return n;if(!s&&f>0){a.set(o.subarray(0,d),r);a.set([0,0],r+d);a.set(o.subarray(p,y),r+d+2);y-=f;o.length-y>3&&(y=y+3&-4);n.length=y;return n}if(o.length-y>3){y=y+3&-4;a.set(o.subarray(0,y),r);n.length=y;return n}a.set(o,r);n.length=o.length;return n}function readNameTable(e){const i=(t.start||0)+e.offset;t.pos=i;const a=[[],[]],r=[],s=e.length,n=i+s;if(0!==t.getUint16()||s<6)return[a,r];const o=t.getUint16(),g=t.getUint16();let c,l;for(c=0;cn)continue;t.pos=s;const o=e.name;if(e.encoding){let i="";for(let a=0,r=e.length;a0&&(c+=e-1)}}else{if(d||p){warn("TT: nested FDEFs not allowed");u=!0}d=!0;h=c;n=C.pop();t.functionsDefined[n]={data:g,i:c}}else if(!d&&!p){n=C.at(-1);if(isNaN(n))info("TT: CALL empty stack (or invalid entry).");else{t.functionsUsed[n]=!0;if(n in t.functionsStackDeltas){const e=C.length+t.functionsStackDeltas[n];if(e<0){warn("TT: CALL invalid functions stack delta.");t.hintsValid=!1;return}C.length=e}else if(n in t.functionsDefined&&!E.includes(n)){Q.push({data:g,i:c,stackTop:C.length-1});E.push(n);o=t.functionsDefined[n];if(!o){warn("TT: CALL non-existent function");t.hintsValid=!1;return}g=o.data;c=o.i}}}if(!d&&!p){let t=0;e<=142?t=r[e]:e>=192&&e<=223?t=-1:e>=224&&(t=-2);if(e>=113&&e<=117){a=C.pop();isNaN(a)||(t=2*-a)}for(;t<0&&C.length>0;){C.pop();t++}for(;t>0;){C.push(NaN);t--}}}t.tooComplexToFollowFunctions=u;const m=[g];c>g.length&&m.push(new Uint8Array(c-g.length));if(h>l){warn("TT: complementing a missing function tail");m.push(new Uint8Array([34,45]))}!function foldTTTable(e,t){if(t.length>1){let i,a,r=0;for(i=0,a=t.length;i>>0,s=[];for(let t=0;t>>0);const n={ttcTag:t,majorVersion:i,minorVersion:a,numFonts:r,offsetTable:s};switch(i){case 1:return n;case 2:n.dsigTag=e.getInt32()>>>0;n.dsigLength=e.getInt32()>>>0;n.dsigOffset=e.getInt32()>>>0;return n}throw new FormatError(`Invalid TrueType Collection majorVersion: ${i}.`)}(e),r=t.split("+");let s;for(let n=0;n0||!(i.cMap instanceof IdentityCMap));if("OTTO"===s.version&&!t||!n.head||!n.hhea||!n.maxp||!n.post){g=new Stream(n["CFF "].data);o=new CFFFont(g,i);adjustWidths(i);return this.convert(e,o,i)}delete n.glyf;delete n.loca;delete n.fpgm;delete n.prep;delete n["cvt "];this.isOpenType=!0}if(!n.maxp)throw new FormatError('Required "maxp" table is not found');t.pos=(t.start||0)+n.maxp.offset;let l=t.getInt32();const h=t.getUint16();if(65536!==l&&20480!==l){if(6===n.maxp.length)l=20480;else{if(!(n.maxp.length>=32))throw new FormatError('"maxp" table has a wrong version number');l=65536}!function writeUint32(e,t,i){e[t+3]=255&i;e[t+2]=i>>>8;e[t+1]=i>>>16;e[t]=i>>>24}(n.maxp.data,0,l)}if(i.scaleFactors?.length===h&&c){const{scaleFactors:e}=i,t=int16(n.head.data[50],n.head.data[51]),a=new GlyfTable({glyfTable:n.glyf.data,isGlyphLocationsLong:t,locaTable:n.loca.data,numGlyphs:h});a.scale(e);const{glyf:r,loca:s,isLocationLong:o}=a.write();n.glyf.data=r;n.loca.data=s;if(o!==!!t){n.head.data[50]=0;n.head.data[51]=o?1:0}const g=n.hmtx.data;for(let t=0;t>8&255;g[i+1]=255&a;writeSignedInt16(g,i+2,Math.round(e[t]*signedInt16(g[i+2],g[i+3])))}}let C=h+1,Q=!0;if(C>65535){Q=!1;C=h;warn("Not enough space in glyfs to duplicate first glyph.")}let E=0,u=0;if(l>=65536&&n.maxp.length>=32){t.pos+=8;if(t.getUint16()>2){n.maxp.data[14]=0;n.maxp.data[15]=2}t.pos+=4;E=t.getUint16();t.pos+=4;u=t.getUint16()}n.maxp.data[4]=C>>8;n.maxp.data[5]=255&C;const d=function sanitizeTTPrograms(e,t,i,a){const r={functionsDefined:[],functionsUsed:[],functionsStackDeltas:[],tooComplexToFollowFunctions:!1,hintsValid:!0};e&&sanitizeTTProgram(e,r);t&&sanitizeTTProgram(t,r);e&&function checkInvalidFunctions(e,t){if(!e.tooComplexToFollowFunctions)if(e.functionsDefined.length>t){warn("TT: more functions defined than expected");e.hintsValid=!1}else for(let i=0,a=e.functionsUsed.length;it){warn("TT: invalid function id: "+i);e.hintsValid=!1;return}if(e.functionsUsed[i]&&!e.functionsDefined[i]){warn("TT: undefined function: "+i);e.hintsValid=!1;return}}}(r,a);if(i&&1&i.length){const e=new Uint8Array(i.length+1);e.set(i.data);i.data=e}return r.hintsValid}(n.fpgm,n.prep,n["cvt "],E);if(!d){delete n.fpgm;delete n.prep;delete n["cvt "]}!function sanitizeMetrics(e,t,i,a,r,s){if(!t){i&&(i.data=null);return}e.pos=(e.start||0)+t.offset;e.pos+=4;e.pos+=2;e.pos+=2;e.pos+=2;e.pos+=2;e.pos+=2;e.pos+=2;e.pos+=2;e.pos+=2;e.pos+=2;const n=e.getUint16();e.pos+=8;e.pos+=2;let o=e.getUint16();if(0!==n){if(!(2&int16(a.data[44],a.data[45]))){t.data[22]=0;t.data[23]=0}}if(o>r){info(`The numOfMetrics (${o}) should not be greater than the numGlyphs (${r}).`);o=r;t.data[34]=(65280&o)>>8;t.data[35]=255&o}const g=r-o-(i.length-4*o>>1);if(g>0){const e=new Uint8Array(i.length+2*g);e.set(i.data);if(s){e[i.length]=i.data[2];e[i.length+1]=i.data[3]}i.data=e}}(t,n.hhea,n.hmtx,n.head,C,Q);if(!n.head)throw new FormatError('Required "head" table is not found');!function sanitizeHead(e,t,i){const a=e.data,r=function int32(e,t,i,a){return(e<<24)+(t<<16)+(i<<8)+a}(a[0],a[1],a[2],a[3]);if(r>>16!=1){info("Attempting to fix invalid version in head table: "+r);a[0]=0;a[1]=1;a[2]=0;a[3]=0}const s=int16(a[50],a[51]);if(s<0||s>1){info("Attempting to fix invalid indexToLocFormat in head table: "+s);const e=t+1;if(i===e<<1){a[50]=0;a[51]=0}else{if(i!==e<<2)throw new FormatError("Could not fix indexToLocFormat: "+s);a[50]=0;a[51]=1}}}(n.head,h,c?n.loca.length:0);let f=Object.create(null);if(c){const e=int16(n.head.data[50],n.head.data[51]),t=function sanitizeGlyphLocations(e,t,i,a,r,s,n){let o,g,c;if(a){o=4;g=function fontItemDecodeLong(e,t){return e[t]<<24|e[t+1]<<16|e[t+2]<<8|e[t+3]};c=function fontItemEncodeLong(e,t,i){e[t]=i>>>24&255;e[t+1]=i>>16&255;e[t+2]=i>>8&255;e[t+3]=255&i}}else{o=2;g=function fontItemDecode(e,t){return e[t]<<9|e[t+1]<<1};c=function fontItemEncode(e,t,i){e[t]=i>>9&255;e[t+1]=i>>1&255}}const l=s?i+1:i,h=o*(1+l),C=new Uint8Array(h);C.set(e.data.subarray(0,h));e.data=C;const Q=t.data,E=Q.length,u=new Uint8Array(E);let d,f;const p=[];for(d=0,f=0;dE&&(e=E);p.push({index:d,offset:e,endOffset:0})}p.sort(((e,t)=>e.offset-t.offset));for(d=0;de.index-t.index));for(d=0;dn&&(n=e.sizeOfInstructions);w+=t;c(C,f,w)}if(0===w){const e=new Uint8Array([0,1,0,0,0,0,0,0,0,0,0,0,0,0,49,0]);for(d=0,f=o;di+w)t.data=u.subarray(0,i+w);else{t.data=new Uint8Array(i+w);t.data.set(u.subarray(0,w))}t.data.set(u.subarray(0,i),w);c(e.data,C.length-o,w+i)}else t.data=u.subarray(0,w);return{missingGlyphs:y,maxSizeOfInstructions:n}}(n.loca,n.glyf,h,e,d,Q,u);f=t.missingGlyphs;if(l>=65536&&n.maxp.length>=32){n.maxp.data[26]=t.maxSizeOfInstructions>>8;n.maxp.data[27]=255&t.maxSizeOfInstructions}}if(!n.hhea)throw new FormatError('Required "hhea" table is not found');if(0===n.hhea.data[10]&&0===n.hhea.data[11]){n.hhea.data[10]=255;n.hhea.data[11]=255}const p={unitsPerEm:int16(n.head.data[18],n.head.data[19]),yMax:signedInt16(n.head.data[42],n.head.data[43]),yMin:signedInt16(n.head.data[38],n.head.data[39]),ascent:signedInt16(n.hhea.data[4],n.hhea.data[5]),descent:signedInt16(n.hhea.data[6],n.hhea.data[7]),lineGap:signedInt16(n.hhea.data[8],n.hhea.data[9])};this.ascent=p.ascent/p.unitsPerEm;this.descent=p.descent/p.unitsPerEm;this.lineGap=p.lineGap/p.unitsPerEm;if(this.cssFontInfo?.lineHeight){this.lineHeight=this.cssFontInfo.metrics.lineHeight;this.lineGap=this.cssFontInfo.metrics.lineGap}else this.lineHeight=this.ascent-this.descent+this.lineGap;n.post&&function readPostScriptTable(e,i,a){const r=(t.start||0)+e.offset;t.pos=r;const s=r+e.length,n=t.getInt32();t.skip(28);let o,g,c=!0;switch(n){case 65536:o=vi;break;case 131072:const e=t.getUint16();if(e!==a){c=!1;break}const r=[];for(g=0;g=32768){c=!1;break}r.push(e)}if(!c)break;const l=[],h=[];for(;t.pos65535)throw new FormatError("Max size of CID is 65,535");let r=-1;t?r=a:void 0!==e[a]&&(r=e[a]);r>=0&&r>>0;let l=!1;if(o?.platformId!==r||o?.encodingId!==s){if(0!==r||0!==s&&1!==s&&3!==s)if(1===r&&0===s)l=!0;else if(3!==r||1!==s||!a&&o){if(i&&3===r&&0===s){l=!0;let i=!0;if(e>3;e.push(a);i=Math.max(a,i)}const a=[];for(let e=0;e<=i;e++)a.push({firstCode:t.getUint16(),entryCount:t.getUint16(),idDelta:signedInt16(t.getByte(),t.getByte()),idRangePos:t.pos+t.getUint16()});for(let i=0;i<256;i++)if(0===e[i]){t.pos=a[0].idRangePos+2*i;Q=t.getUint16();h.push({charCode:i,glyphId:Q})}else{const r=a[e[i]];for(C=0;C>1;t.skip(6);const i=[];let a;for(a=0;a>1)-(e-a);r.offsetIndex=n;o=Math.max(o,n+r.end-r.start+1)}else r.offsetIndex=-1}const g=[];for(C=0;C>>0;for(C=0;C>>0,i=t.getInt32()>>>0;let a=t.getInt32()>>>0;for(let t=e;t<=i;t++)h.push({charCode:t,glyphId:a++})}}}h.sort((function(e,t){return e.charCode-t.charCode}));for(let e=1;e=61440&&t<=61695&&(t&=255);m[t]=e.glyphId}else for(const e of s)m[e.charCode]=e.glyphId;if(i.glyphNames&&(o.length||this.differences.length))for(let e=0;e<256;++e){if(!g&&void 0!==m[e])continue;const t=this.differences[e]||o[e];if(!t)continue;const a=i.glyphNames.indexOf(t);a>0&&hasGlyph(a)&&(m[e]=a)}}0===m.length&&(m[0]=0);let y=C-1;Q||(y=0);if(!i.cssFontInfo){const e=adjustMapping(m,hasGlyph,y,this.toUnicode);this.toFontChar=e.toFontChar;n.cmap={tag:"cmap",data:createCmapTable(e.charCodeToGlyphId,e.toUnicodeExtraMap,C)};n["OS/2"]&&function validateOS2Table(e,t){t.pos=(t.start||0)+e.offset;const i=t.getUint16();t.skip(60);const a=t.getUint16();if(i<4&&768&a)return!1;if(t.getUint16()>t.getUint16())return!1;t.skip(6);if(0===t.getUint16())return!1;e.data[8]=e.data[9]=0;return!0}(n["OS/2"],t)||(n["OS/2"]={tag:"OS/2",data:createOS2Table(i,e.charCodeToGlyphId,p)})}if(!c)try{g=new Stream(n["CFF "].data);o=new CFFParser(g,i,Gi).parse();o.duplicateFirstGlyph();const e=new CFFCompiler(o);n["CFF "].data=e.compile()}catch{warn("Failed to compile font "+i.loadedName)}if(n.name){const[t,a]=readNameTable(n.name);n.name.data=createNameTable(e,t);this.psName=t[0][6]||null;i.composite||function adjustTrueTypeToUnicode(e,t,i){if(e.isInternalFont)return;if(e.hasIncludedToUnicodeMap)return;if(e.hasEncoding)return;if(e.toUnicode instanceof IdentityToUnicodeMap)return;if(!t)return;if(0===i.length)return;if(e.defaultEncoding===Qi)return;for(const e of i)if(!isWinNameRecord(e))return;const a=Qi,r=[],s=Di();for(const e in a){const t=a[e];if(""===t)continue;const i=s[t];void 0!==i&&(r[e]=String.fromCharCode(i))}r.length>0&&e.toUnicode.amend(r)}(i,this.isSymbolicFont,a)}else n.name={tag:"name",data:createNameTable(this.name)};const w=new OpenTypeFileBuilder(s.version);for(const e in n)w.addTable(e,n[e].data);return w.toArray()}convert(e,t,i){i.fixedPitch=!1;i.builtInEncoding&&function adjustType1ToUnicode(e,t){if(e.isInternalFont)return;if(e.hasIncludedToUnicodeMap)return;if(t===e.defaultEncoding)return;if(e.toUnicode instanceof IdentityToUnicodeMap)return;const i=[],a=Di();for(const r in t){if(e.hasEncoding&&(e.baseEncodingName||void 0!==e.differences[r]))continue;const s=getUnicodeForGlyph(t[r],a);-1!==s&&(i[r]=String.fromCharCode(s))}i.length>0&&e.toUnicode.amend(i)}(i,i.builtInEncoding);let a=1;t instanceof CFFFont&&(a=t.numGlyphs-1);const s=t.getGlyphMapping(i);let n=null,o=s,g=null;if(!i.cssFontInfo){n=adjustMapping(s,t.hasGlyphId.bind(t),a,this.toUnicode);this.toFontChar=n.toFontChar;o=n.charCodeToGlyphId;g=n.toUnicodeExtraMap}const c=t.numGlyphs;function getCharCodes(e,t){let i=null;for(const a in e)t===e[a]&&(i||=[]).push(0|a);return i}function createCharCode(e,t){for(const i in e)if(t===e[i])return 0|i;n.charCodeToGlyphId[n.nextAvailableFontCharCode]=t;return n.nextAvailableFontCharCode++}const l=t.seacs;if(n&&l?.length){const e=i.fontMatrix||r,a=t.getCharset(),o=Object.create(null);for(let t in l){t|=0;const i=l[t],r=Bi[i[2]],g=Bi[i[3]],c=a.indexOf(r),h=a.indexOf(g);if(c<0||h<0)continue;const C={x:i[0]*e[0]+i[1]*e[2]+e[4],y:i[0]*e[1]+i[1]*e[3]+e[5]},Q=getCharCodes(s,t);if(Q)for(const e of Q){const t=n.charCodeToGlyphId,i=createCharCode(t,c),a=createCharCode(t,h);o[e]={baseFontCharCode:i,accentFontCharCode:a,accentOffset:C}}}i.seacMap=o}const h=i.fontMatrix?1/Math.max(...i.fontMatrix.slice(0,4).map(Math.abs)):1e3,C=new OpenTypeFileBuilder("OTTO");C.addTable("CFF ",t.data);C.addTable("OS/2",createOS2Table(i,o));C.addTable("cmap",createCmapTable(o,g,c));C.addTable("head","\0\0\0\0\0\0\0\0\0\0_<õ\0\0"+safeString16(h)+"\0\0\0\0ž\v~'\0\0\0\0ž\v~'\0\0"+safeString16(i.descent)+"ÿ"+safeString16(i.ascent)+string16(i.italicAngle?2:0)+"\0\0\0\0\0\0\0");C.addTable("hhea","\0\0\0"+safeString16(i.ascent)+safeString16(i.descent)+"\0\0ÿÿ\0\0\0\0\0\0"+safeString16(i.capHeight)+safeString16(Math.tan(i.italicAngle)*i.xHeight)+"\0\0\0\0\0\0\0\0\0\0\0\0"+string16(c));C.addTable("hmtx",function fontFieldsHmtx(){const e=t.charstrings,i=t.cff?t.cff.widths:null;let a="\0\0\0\0";for(let t=1,r=c;t=65520&&e<=65535?0:e>=62976&&e<=63743?Si()[e]||e:173===e?45:e}(i)}this.isType3Font&&(r=i);let l=null;if(this.seacMap?.[e]){c=!0;const t=this.seacMap[e];i=t.baseFontCharCode;l={fontChar:String.fromCodePoint(t.accentFontCharCode),offset:t.accentOffset}}let h="";"number"==typeof i&&(i<=1114111?h=String.fromCodePoint(i):warn(`charToGlyph - invalid fontCharCode: ${i}`));if(this.missingFile&&this.vertical&&1===h.length){const e=Yi()[h.charCodeAt(0)];e&&(h=g=String.fromCharCode(e))}s=new fonts_Glyph(e,h,g,l,a,o,r,t,c);return this._glyphCache[e]=s}charsToGlyphs(e){let t=this._charsCache[e];if(t)return t;t=[];if(this.cMap){const i=Object.create(null),a=e.length;let r=0;for(;rt.length%2==1,a=this.toUnicode instanceof IdentityToUnicodeMap?e=>this.toUnicode.charCodeOf(e):e=>this.toUnicode.charCodeOf(String.fromCodePoint(e));for(let r=0,s=e.length;r55295&&(s<57344||s>65533)&&r++;if(this.toUnicode){const e=a(s);if(-1!==e){if(hasCurrentBufErrors()){t.push(i.join(""));i.length=0}for(let t=(this.cMap?this.cMap.getCharCodeLength(e):1)-1;t>=0;t--)i.push(String.fromCharCode(e>>8*t&255));continue}}if(!hasCurrentBufErrors()){t.push(i.join(""));i.length=0}i.push(String.fromCodePoint(s))}t.push(i.join(""));return t}}class ErrorFont{constructor(e){this.error=e;this.loadedName="g_font_error";this.missingFile=!0}charsToGlyphs(){return[]}encodeString(e){return[e]}exportData(e=!1){return{error:this.error}}}const la=2,ha=3,Ca=4,Ba=5,Qa=6,Ea=7;class Pattern{constructor(){unreachable("Cannot initialize Pattern.")}static parseShading(e,t,i,a,r){const s=e instanceof BaseStream?e.dict:e,n=s.get("ShadingType");try{switch(n){case la:case ha:return new RadialAxialShading(s,t,i,a,r);case Ca:case Ba:case Qa:case Ea:return new MeshShading(e,t,i,a,r);default:throw new FormatError("Unsupported ShadingType: "+n)}}catch(e){if(e instanceof MissingDataException)throw e;warn(e);return new DummyShading}}}class BaseShading{static SMALL_NUMBER=1e-6;getIR(){unreachable("Abstract method `getIR` called.")}}class RadialAxialShading extends BaseShading{constructor(e,t,i,a,r){super();this.shadingType=e.get("ShadingType");let s=0;this.shadingType===la?s=4:this.shadingType===ha&&(s=6);this.coordsArr=e.getArray("Coords");if(!isNumberArray(this.coordsArr,s))throw new FormatError("RadialAxialShading: Invalid /Coords array.");const n=ColorSpace.parse({cs:e.getRaw("CS")||e.getRaw("ColorSpace"),xref:t,resources:i,pdfFunctionFactory:a,localColorSpaceCache:r});this.bbox=lookupNormalRect(e.getArray("BBox"),null);let o=0,g=1;const c=e.getArray("Domain");isNumberArray(c,2)&&([o,g]=c);let l=!1,h=!1;const C=e.getArray("Extend");(function isBooleanArray(e,t){return Array.isArray(e)&&(null===t||e.length===t)&&e.every((e=>"boolean"==typeof e))})(C,2)&&([l,h]=C);if(!(this.shadingType!==ha||l&&h)){const[e,t,i,a,r,s]=this.coordsArr,n=Math.hypot(e-a,t-r);i<=s+n&&s<=i+n&&warn("Unsupported radial gradient.")}this.extendStart=l;this.extendEnd=h;const Q=e.getRaw("Function"),E=a.createFromArray(Q),u=(g-o)/840,d=this.colorStops=[];if(o>=g||u<=0){info("Bad shading domain.");return}const f=new Float32Array(n.numComps),p=new Float32Array(1);let m,y=0;p[0]=o;E(p,0,f,0);let w=n.getRgb(f,0);const b=Util.makeHexColor(w[0],w[1],w[2]);d.push([0,b]);let D=1;p[0]=o+u;E(p,0,f,0);let S=n.getRgb(f,0),k=S[0]-w[0]+1,R=S[1]-w[1]+1,N=S[2]-w[2]+1,G=S[0]-w[0]-1,M=S[1]-w[1]-1,U=S[2]-w[2]-1;for(let e=2;e<840;e++){p[0]=o+e*u;E(p,0,f,0);m=n.getRgb(f,0);const t=e-y;k=Math.min(k,(m[0]-w[0]+1)/t);R=Math.min(R,(m[1]-w[1]+1)/t);N=Math.min(N,(m[2]-w[2]+1)/t);G=Math.max(G,(m[0]-w[0]-1)/t);M=Math.max(M,(m[1]-w[1]-1)/t);U=Math.max(U,(m[2]-w[2]-1)/t);if(!(G<=k&&M<=R&&U<=N)){const e=Util.makeHexColor(S[0],S[1],S[2]);d.push([D/840,e]);k=m[0]-S[0]+1;R=m[1]-S[1]+1;N=m[2]-S[2]+1;G=m[0]-S[0]-1;M=m[1]-S[1]-1;U=m[2]-S[2]-1;y=D;w=S}D=e;S=m}const x=Util.makeHexColor(S[0],S[1],S[2]);d.push([1,x]);let L="transparent";if(e.has("Background")){m=n.getRgb(e.get("Background"),0);L=Util.makeHexColor(m[0],m[1],m[2])}if(!l){d.unshift([0,L]);d[1][0]+=BaseShading.SMALL_NUMBER}if(!h){d.at(-1)[0]-=BaseShading.SMALL_NUMBER;d.push([1,L])}this.colorStops=d}getIR(){const{coordsArr:e,shadingType:t}=this;let i,a,r,s,n;if(t===la){a=[e[0],e[1]];r=[e[2],e[3]];s=null;n=null;i="axial"}else if(t===ha){a=[e[0],e[1]];r=[e[3],e[4]];s=e[2];n=e[5];i="radial"}else unreachable(`getPattern type unknown: ${t}`);return["RadialAxial",i,this.bbox,this.colorStops,a,r,s,n]}}class MeshStreamReader{constructor(e,t){this.stream=e;this.context=t;this.buffer=0;this.bufferLength=0;const i=t.numComps;this.tmpCompsBuf=new Float32Array(i);const a=t.colorSpace.numComps;this.tmpCsCompsBuf=t.colorFn?new Float32Array(a):this.tmpCompsBuf}get hasData(){if(this.stream.end)return this.stream.pos0)return!0;const e=this.stream.getByte();if(e<0)return!1;this.buffer=e;this.bufferLength=8;return!0}readBits(e){let t=this.buffer,i=this.bufferLength;if(32===e){if(0===i)return(this.stream.getByte()<<24|this.stream.getByte()<<16|this.stream.getByte()<<8|this.stream.getByte())>>>0;t=t<<24|this.stream.getByte()<<16|this.stream.getByte()<<8|this.stream.getByte();const e=this.stream.getByte();this.buffer=e&(1<>i)>>>0}if(8===e&&0===i)return this.stream.getByte();for(;i>i}align(){this.buffer=0;this.bufferLength=0}readFlag(){return this.readBits(this.context.bitsPerFlag)}readCoordinate(){const e=this.context.bitsPerCoordinate,t=this.readBits(e),i=this.readBits(e),a=this.context.decode,r=e<32?1/((1<s?s:e;t=t>n?n:t;i=ie*r[t])):i;let n,o=-2;const g=[];for(const[e,t]of a.map(((e,t)=>[e,t])).sort((([e],[t])=>e-t)))if(-1!==e)if(e===o+1){n.push(s[t]);o+=1}else{o=e;n=[s[t]];g.push(e,n)}return g}(e),i=new Dict(null);i.set("BaseFont",Name.get(e));i.set("Type",Name.get("Font"));i.set("Subtype",Name.get("CIDFontType2"));i.set("Encoding",Name.get("Identity-H"));i.set("CIDToGIDMap",Name.get("Identity"));i.set("W",t);i.set("FirstChar",t[0]);i.set("LastChar",t.at(-2)+t.at(-1).length-1);const a=new Dict(null);i.set("FontDescriptor",a);const r=new Dict(null);r.set("Ordering","Identity");r.set("Registry","Adobe");r.set("Supplement",0);i.set("CIDSystemInfo",r);return i}class PostScriptParser{constructor(e){this.lexer=e;this.operators=[];this.token=null;this.prev=null}nextToken(){this.prev=this.token;this.token=this.lexer.getToken()}accept(e){if(this.token.type===e){this.nextToken();return!0}return!1}expect(e){if(this.accept(e))return!0;throw new FormatError(`Unexpected symbol: found ${this.token.type} expected ${e}.`)}parse(){this.nextToken();this.expect(sr.LBRACE);this.parseBlock();this.expect(sr.RBRACE);return this.operators}parseBlock(){for(;;)if(this.accept(sr.NUMBER))this.operators.push(this.prev.value);else if(this.accept(sr.OPERATOR))this.operators.push(this.prev.value);else{if(!this.accept(sr.LBRACE))return;this.parseCondition()}}parseCondition(){const e=this.operators.length;this.operators.push(null,null);this.parseBlock();this.expect(sr.RBRACE);if(this.accept(sr.IF)){this.operators[e]=this.operators.length;this.operators[e+1]="jz"}else{if(!this.accept(sr.LBRACE))throw new FormatError("PS Function: error parsing conditional.");{const t=this.operators.length;this.operators.push(null,null);const i=this.operators.length;this.parseBlock();this.expect(sr.RBRACE);this.expect(sr.IFELSE);this.operators[t]=this.operators.length;this.operators[t+1]="j";this.operators[e]=i;this.operators[e+1]="jz"}}}}const sr={LBRACE:0,RBRACE:1,NUMBER:2,OPERATOR:3,IF:4,IFELSE:5};class PostScriptToken{static get opCache(){return shadow(this,"opCache",Object.create(null))}constructor(e,t){this.type=e;this.value=t}static getOperator(e){return PostScriptToken.opCache[e]||=new PostScriptToken(sr.OPERATOR,e)}static get LBRACE(){return shadow(this,"LBRACE",new PostScriptToken(sr.LBRACE,"{"))}static get RBRACE(){return shadow(this,"RBRACE",new PostScriptToken(sr.RBRACE,"}"))}static get IF(){return shadow(this,"IF",new PostScriptToken(sr.IF,"IF"))}static get IFELSE(){return shadow(this,"IFELSE",new PostScriptToken(sr.IFELSE,"IFELSE"))}}class PostScriptLexer{constructor(e){this.stream=e;this.nextChar();this.strBuf=[]}nextChar(){return this.currentChar=this.stream.getByte()}getToken(){let e=!1,t=this.currentChar;for(;;){if(t<0)return Et;if(e)10!==t&&13!==t||(e=!1);else if(37===t)e=!0;else if(!isWhiteSpace(t))break;t=this.nextChar()}switch(0|t){case 48:case 49:case 50:case 51:case 52:case 53:case 54:case 55:case 56:case 57:case 43:case 45:case 46:return new PostScriptToken(sr.NUMBER,this.getNumber());case 123:this.nextChar();return PostScriptToken.LBRACE;case 125:this.nextChar();return PostScriptToken.RBRACE}const i=this.strBuf;i.length=0;i[0]=String.fromCharCode(t);for(;(t=this.nextChar())>=0&&(t>=65&&t<=90||t>=97&&t<=122);)i.push(String.fromCharCode(t));const a=i.join("");switch(a.toLowerCase()){case"if":return PostScriptToken.IF;case"ifelse":return PostScriptToken.IFELSE;default:return PostScriptToken.getOperator(a)}}getNumber(){let e=this.currentChar;const t=this.strBuf;t.length=0;t[0]=String.fromCharCode(e);for(;(e=this.nextChar())>=0&&(e>=48&&e<=57||45===e||46===e);)t.push(String.fromCharCode(e));const i=parseFloat(t.join(""));if(isNaN(i))throw new FormatError(`Invalid floating point number: ${i}`);return i}}class BaseLocalCache{constructor(e){this._onlyRefs=!0===e?.onlyRefs;if(!this._onlyRefs){this._nameRefMap=new Map;this._imageMap=new Map}this._imageCache=new RefSetCache}getByName(e){this._onlyRefs&&unreachable("Should not call `getByName` method.");const t=this._nameRefMap.get(e);return t?this.getByRef(t):this._imageMap.get(e)||null}getByRef(e){return this._imageCache.get(e)||null}set(e,t,i){unreachable("Abstract method `set` called.")}}class LocalImageCache extends BaseLocalCache{set(e,t=null,i){if("string"!=typeof e)throw new Error('LocalImageCache.set - expected "name" argument.');if(t){if(this._imageCache.has(t))return;this._nameRefMap.set(e,t);this._imageCache.put(t,i)}else this._imageMap.has(e)||this._imageMap.set(e,i)}}class LocalColorSpaceCache extends BaseLocalCache{set(e=null,t=null,i){if("string"!=typeof e&&!t)throw new Error('LocalColorSpaceCache.set - expected "name" and/or "ref" argument.');if(t){if(this._imageCache.has(t))return;null!==e&&this._nameRefMap.set(e,t);this._imageCache.put(t,i)}else this._imageMap.has(e)||this._imageMap.set(e,i)}}class LocalFunctionCache extends BaseLocalCache{constructor(e){super({onlyRefs:!0})}set(e=null,t,i){if(!t)throw new Error('LocalFunctionCache.set - expected "ref" argument.');this._imageCache.has(t)||this._imageCache.put(t,i)}}class LocalGStateCache extends BaseLocalCache{set(e,t=null,i){if("string"!=typeof e)throw new Error('LocalGStateCache.set - expected "name" argument.');if(t){if(this._imageCache.has(t))return;this._nameRefMap.set(e,t);this._imageCache.put(t,i)}else this._imageMap.has(e)||this._imageMap.set(e,i)}}class LocalTilingPatternCache extends BaseLocalCache{constructor(e){super({onlyRefs:!0})}set(e=null,t,i){if(!t)throw new Error('LocalTilingPatternCache.set - expected "ref" argument.');this._imageCache.has(t)||this._imageCache.put(t,i)}}class RegionalImageCache extends BaseLocalCache{constructor(e){super({onlyRefs:!0})}set(e=null,t,i){if(!t)throw new Error('RegionalImageCache.set - expected "ref" argument.');this._imageCache.has(t)||this._imageCache.put(t,i)}}class GlobalImageCache{static NUM_PAGES_THRESHOLD=2;static MIN_IMAGES_TO_CACHE=10;static MAX_BYTE_SIZE=5e7;#F=new RefSet;constructor(){this._refCache=new RefSetCache;this._imageCache=new RefSetCache}get#S(){let e=0;for(const t of this._imageCache)e+=t.byteSize;return e}get#k(){return!(this._imageCache.size+e)):null}class PDFFunction{static getSampleArray(e,t,i,a){let r,s,n=1;for(r=0,s=e.length;r>g)*l;c&=(1<i?e=i:e0&&(C=s[h-1]);let Q=a[1];h>1,c=r.length>>1,l=new PostScriptEvaluator(o),h=Object.create(null);let C=8192;const Q=new Float32Array(c);return function constructPostScriptFn(e,t,i,a){let r,n,o="";const E=Q;for(r=0;re&&(n=e)}d[r]=n}if(C>0){C--;h[o]=d}i.set(d,a)}}}function isPDFFunction(e){let t;if(e instanceof Dict)t=e;else{if(!(e instanceof BaseStream))return!1;t=e.dict}return t.has("FunctionType")}class PostScriptStack{static MAX_STACK_SIZE=100;constructor(e){this.stack=e?Array.from(e):[]}push(e){if(this.stack.length>=PostScriptStack.MAX_STACK_SIZE)throw new Error("PostScript function stack overflow.");this.stack.push(e)}pop(){if(this.stack.length<=0)throw new Error("PostScript function stack underflow.");return this.stack.pop()}copy(e){if(this.stack.length+e>=PostScriptStack.MAX_STACK_SIZE)throw new Error("PostScript function stack overflow.");const t=this.stack;for(let i=t.length-e,a=e-1;a>=0;a--,i++)t.push(t[i])}index(e){this.push(this.stack[this.stack.length-e-1])}roll(e,t){const i=this.stack,a=i.length-e,r=i.length-1,s=a+(t-Math.floor(t/e)*e);for(let e=a,t=r;e0?t.push(n<>o);break;case"ceiling":n=t.pop();t.push(Math.ceil(n));break;case"copy":n=t.pop();t.copy(n);break;case"cos":n=t.pop();t.push(Math.cos(n%360/180*Math.PI));break;case"cvi":n=0|t.pop();t.push(n);break;case"cvr":break;case"div":o=t.pop();n=t.pop();t.push(n/o);break;case"dup":t.copy(1);break;case"eq":o=t.pop();n=t.pop();t.push(n===o);break;case"exch":t.roll(2,1);break;case"exp":o=t.pop();n=t.pop();t.push(n**o);break;case"false":t.push(!1);break;case"floor":n=t.pop();t.push(Math.floor(n));break;case"ge":o=t.pop();n=t.pop();t.push(n>=o);break;case"gt":o=t.pop();n=t.pop();t.push(n>o);break;case"idiv":o=t.pop();n=t.pop();t.push(n/o|0);break;case"index":n=t.pop();t.index(n);break;case"le":o=t.pop();n=t.pop();t.push(n<=o);break;case"ln":n=t.pop();t.push(Math.log(n));break;case"log":n=t.pop();t.push(Math.log10(n));break;case"lt":o=t.pop();n=t.pop();t.push(n=t?new AstLiteral(t):e.max<=t?e:new AstMin(e,t)}class PostScriptCompiler{compile(e,t,i){const a=[],r=[],s=t.length>>1,n=i.length>>1;let o,g,c,l,h,C,Q,E,u=0;for(let e=0;et.min){o.unshift("Math.max(",s,", ");o.push(")")}if(n4){a=!0;t=0}else{a=!1;t=1}const g=[];for(s=0;s=0&&"ET"===Ir[e];--e)Ir[e]="EN";for(let e=s+1;e0&&(t=Ir[s-1]);let i=h;e+1E&&isOdd(E)&&(d=E)}for(E=u;E>=d;--E){let e=-1;for(s=0,n=g.length;s=0){reverseValues(gr,e,s);e=-1}}else e<0&&(e=s);e>=0&&reverseValues(gr,e,g.length)}for(s=0,n=gr.length;s"!==e||(gr[s]="")}return createBidiText(gr.join(""),a)}const cr={style:"normal",weight:"normal"},lr={style:"normal",weight:"bold"},hr={style:"italic",weight:"normal"},Cr={style:"italic",weight:"bold"},Qr=new Map([["Times-Roman",{local:["Times New Roman","Times-Roman","Times","Liberation Serif","Nimbus Roman","Nimbus Roman L","Tinos","Thorndale","TeX Gyre Termes","FreeSerif","Linux Libertine O","Libertinus Serif","DejaVu Serif","Bitstream Vera Serif","Ubuntu"],style:cr,ultimate:"serif"}],["Times-Bold",{alias:"Times-Roman",style:lr,ultimate:"serif"}],["Times-Italic",{alias:"Times-Roman",style:hr,ultimate:"serif"}],["Times-BoldItalic",{alias:"Times-Roman",style:Cr,ultimate:"serif"}],["Helvetica",{local:["Helvetica","Helvetica Neue","Arial","Arial Nova","Liberation Sans","Arimo","Nimbus Sans","Nimbus Sans L","A030","TeX Gyre Heros","FreeSans","DejaVu Sans","Albany","Bitstream Vera Sans","Arial Unicode MS","Microsoft Sans Serif","Apple Symbols","Cantarell"],path:"LiberationSans-Regular.ttf",style:cr,ultimate:"sans-serif"}],["Helvetica-Bold",{alias:"Helvetica",path:"LiberationSans-Bold.ttf",style:lr,ultimate:"sans-serif"}],["Helvetica-Oblique",{alias:"Helvetica",path:"LiberationSans-Italic.ttf",style:hr,ultimate:"sans-serif"}],["Helvetica-BoldOblique",{alias:"Helvetica",path:"LiberationSans-BoldItalic.ttf",style:Cr,ultimate:"sans-serif"}],["Courier",{local:["Courier","Courier New","Liberation Mono","Nimbus Mono","Nimbus Mono L","Cousine","Cumberland","TeX Gyre Cursor","FreeMono","Linux Libertine Mono O","Libertinus Mono"],style:cr,ultimate:"monospace"}],["Courier-Bold",{alias:"Courier",style:lr,ultimate:"monospace"}],["Courier-Oblique",{alias:"Courier",style:hr,ultimate:"monospace"}],["Courier-BoldOblique",{alias:"Courier",style:Cr,ultimate:"monospace"}],["ArialBlack",{local:["Arial Black"],style:{style:"normal",weight:"900"},fallback:"Helvetica-Bold"}],["ArialBlack-Bold",{alias:"ArialBlack"}],["ArialBlack-Italic",{alias:"ArialBlack",style:{style:"italic",weight:"900"},fallback:"Helvetica-BoldOblique"}],["ArialBlack-BoldItalic",{alias:"ArialBlack-Italic"}],["ArialNarrow",{local:["Arial Narrow","Liberation Sans Narrow","Helvetica Condensed","Nimbus Sans Narrow","TeX Gyre Heros Cn"],style:cr,fallback:"Helvetica"}],["ArialNarrow-Bold",{alias:"ArialNarrow",style:lr,fallback:"Helvetica-Bold"}],["ArialNarrow-Italic",{alias:"ArialNarrow",style:hr,fallback:"Helvetica-Oblique"}],["ArialNarrow-BoldItalic",{alias:"ArialNarrow",style:Cr,fallback:"Helvetica-BoldOblique"}],["Calibri",{local:["Calibri","Carlito"],style:cr,fallback:"Helvetica"}],["Calibri-Bold",{alias:"Calibri",style:lr,fallback:"Helvetica-Bold"}],["Calibri-Italic",{alias:"Calibri",style:hr,fallback:"Helvetica-Oblique"}],["Calibri-BoldItalic",{alias:"Calibri",style:Cr,fallback:"Helvetica-BoldOblique"}],["Wingdings",{local:["Wingdings","URW Dingbats"],style:cr}],["Wingdings-Regular",{alias:"Wingdings"}],["Wingdings-Bold",{alias:"Wingdings"}]]),Er=new Map([["Arial-Black","ArialBlack"]]);function getFamilyName(e){const t=new Set(["thin","extralight","ultralight","demilight","semilight","light","book","regular","normal","medium","demibold","semibold","bold","extrabold","ultrabold","black","heavy","extrablack","ultrablack","roman","italic","oblique","ultracondensed","extracondensed","condensed","semicondensed","normal","semiexpanded","expanded","extraexpanded","ultraexpanded","bolditalic"]);return e.split(/[- ,+]+/g).filter((e=>!t.has(e.toLowerCase()))).join(" ")}function generateFont({alias:e,local:t,path:i,fallback:a,style:r,ultimate:s},n,o,g=!0,c=!0,l=""){const h={style:null,ultimate:null};if(t){const e=l?` ${l}`:"";for(const i of t)n.push(`local(${i}${e})`)}if(e){const t=Qr.get(e),s=l||function getStyleToAppend(e){switch(e){case lr:return"Bold";case hr:return"Italic";case Cr:return"Bold Italic";default:if("bold"===e?.weight)return"Bold";if("italic"===e?.style)return"Italic"}return""}(r);Object.assign(h,generateFont(t,n,o,g&&!a,c&&!i,s))}r&&(h.style=r);s&&(h.ultimate=s);if(g&&a){const e=Qr.get(a),{ultimate:t}=generateFont(e,n,o,g,c&&!i,l);h.ultimate||=t}c&&i&&o&&n.push(`url(${o}${i})`);return h}function getFontSubstitution(e,t,i,a,r,s){if(a.startsWith("InvalidPDFjsFont_"))return null;"TrueType"!==s&&"Type1"!==s||!/^[A-Z]{6}\+/.test(a)||(a=a.slice(7));const n=a=normalizeFontName(a);let o=e.get(n);if(o)return o;let g=Qr.get(a);if(!g)for(const[e,t]of Er)if(a.startsWith(e)){a=`${t}${a.substring(e.length)}`;g=Qr.get(a);break}let c=!1;if(!g){g=Qr.get(r);c=!0}const l=`${t.getDocId()}_s${t.createFontId()}`;if(!g){if(!validateFontName(a)){warn(`Cannot substitute the font because of its name: ${a}`);e.set(n,null);return null}const t=/bold/gi.test(a),i=/oblique|italic/gi.test(a),r=t&&i&&Cr||t&&lr||i&&hr||cr;o={css:`"${getFamilyName(a)}",${l}`,guessFallback:!0,loadedName:l,baseFontName:a,src:`local(${a})`,style:r};e.set(n,o);return o}const h=[];c&&validateFontName(a)&&h.push(`local(${a})`);const{style:C,ultimate:Q}=generateFont(g,h,i),E=null===Q,u=E?"":`,${Q}`;o={css:`"${getFamilyName(a)}",${l}${u}`,guessFallback:E,loadedName:l,baseFontName:a,src:h.join(","),style:C};e.set(n,o);return o}class ImageResizer{static#R=2048;static#y=FeatureTest.isImageDecoderSupported;constructor(e,t){this._imgData=e;this._isMask=t}static get canUseImageDecoder(){return shadow(this,"canUseImageDecoder",this.#y?ImageDecoder.isTypeSupported("image/bmp"):Promise.resolve(!1))}static needsToBeResized(e,t){if(e<=this.#R&&t<=this.#R)return!1;const{MAX_DIM:i}=this;if(e>i||t>i)return!0;const a=e*t;if(this._hasMaxArea)return a>this.MAX_AREA;if(a(this.MAX_AREA=this.#R**2)}static get MAX_DIM(){return shadow(this,"MAX_DIM",this._guessMax(2048,65537,0,1))}static get MAX_AREA(){this._hasMaxArea=!0;return shadow(this,"MAX_AREA",this._guessMax(this.#R,this.MAX_DIM,128,0)**2)}static set MAX_AREA(e){if(e>=0){this._hasMaxArea=!0;shadow(this,"MAX_AREA",e)}}static setOptions({canvasMaxAreaInBytes:e=-1,isImageDecoderSupported:t=!1}){this._hasMaxArea||(this.MAX_AREA=e>>2);this.#y=t}static _areGoodDims(e,t){try{const i=new OffscreenCanvas(e,t),a=i.getContext("2d");a.fillRect(0,0,1,1);const r=a.getImageData(0,0,1,1).data[3];i.width=i.height=1;return 0!==r}catch{return!1}}static _guessMax(e,t,i,a){for(;e+i+1yt){const e=this.#N();if(e)return e}const a=this._encodeBMP();let r,s;if(await ImageResizer.canUseImageDecoder){r=new ImageDecoder({data:a,type:"image/bmp",preferAnimation:!1,transfer:[a.buffer]});s=r.decode().catch((e=>{warn(`BMP image decoding failed: ${e}`);return createImageBitmap(new Blob([this._encodeBMP().buffer],{type:"image/bmp"}))})).finally((()=>{r.close()}))}else s=createImageBitmap(new Blob([a.buffer],{type:"image/bmp"}));const{MAX_AREA:n,MAX_DIM:o}=ImageResizer,g=Math.max(t/o,i/o,Math.sqrt(t*i/n)),c=Math.max(g,2),l=Math.round(10*(g+1.25))/10/c,h=Math.floor(Math.log2(l)),C=new Array(h+2).fill(2);C[0]=c;C.splice(-1,1,l/(1<>n,g=a>>n;let c,l=a;try{c=new Uint8Array(s)}catch{let e=Math.floor(Math.log2(s+1));for(;;)try{c=new Uint8Array(2**e-1);break}catch{e-=1}l=Math.floor((2**e-1)/(4*i));const t=i*l*4;t>n;e>3,n=i+3&-4;if(i!==n){const e=new Uint8Array(n*t);let a=0;for(let s=0,o=t*i;s>>8;t[i++]=255&r}}}else{if(!ArrayBuffer.isView(e))throw new Error("Invalid data format, must be a string or TypedArray.");t=e.slice();i=t.byteLength}const a=i>>2,r=i-4*a,s=new Uint32Array(t.buffer,0,a);let n=0,o=0,g=this.h1,c=this.h2;const l=3432918353,h=461845907,C=11601,Q=13715;for(let e=0;e>>17;n=n*h&dr|n*Q&fr;g^=n;g=g<<13|g>>>19;g=5*g+3864292196}else{o=s[e];o=o*l&dr|o*C&fr;o=o<<15|o>>>17;o=o*h&dr|o*Q&fr;c^=o;c=c<<13|c>>>19;c=5*c+3864292196}n=0;switch(r){case 3:n^=t[4*a+2]<<16;case 2:n^=t[4*a+1]<<8;case 1:n^=t[4*a];n=n*l&dr|n*C&fr;n=n<<15|n>>>17;n=n*h&dr|n*Q&fr;1&a?g^=n:c^=n}this.h1=g;this.h2=c}hexdigest(){let e=this.h1,t=this.h2;e^=t>>>1;e=3981806797*e&dr|36045*e&fr;t=4283543511*t&dr|(2950163797*(t<<16|e>>>16)&dr)>>>16;e^=t>>>1;e=444984403*e&dr|60499*e&fr;t=3301882366*t&dr|(3120437893*(t<<16|e>>>16)&dr)>>>16;e^=t>>>1;return(e>>>0).toString(16).padStart(8,"0")+(t>>>0).toString(16).padStart(8,"0")}}function addState(e,t,i,a,r){let s=e;for(let e=0,i=t.length-1;e1e3){c=Math.max(c,C);Q+=h+2;C=0;h=0}l.push({transform:t,x:C,y:Q,w:i.width,h:i.height});C+=i.width+2;h=Math.max(h,i.height)}const E=Math.max(c,C)+1,u=Q+h+1,d=new Uint8Array(E*u*4),f=E<<2;for(let e=0;e=0;){t[s-4]=t[s];t[s-3]=t[s+1];t[s-2]=t[s+2];t[s-1]=t[s+3];t[s+i]=t[s+i-4];t[s+i+1]=t[s+i-3];t[s+i+2]=t[s+i-2];t[s+i+3]=t[s+i-1];s-=f}}const p={width:E,height:u};if(e.isOffscreenCanvasSupported){const e=new OffscreenCanvas(E,u);e.getContext("2d").putImageData(new ImageData(new Uint8ClampedArray(d.buffer),E,u),0,0);p.bitmap=e.transferToImageBitmap();p.data=null}else{p.kind=R;p.data=d}i.splice(s,4*g,et);a.splice(s,4*g,[p,l]);return s+1}));addState(pr,[xA,HA,_e,LA],null,(function iterateImageMaskGroup(e,t){const i=e.fnArray,a=(t-(e.iCurr-3))%4;switch(a){case 0:return i[t]===xA;case 1:return i[t]===HA;case 2:return i[t]===_e;case 3:return i[t]===LA}throw new Error(`iterateImageMaskGroup - invalid pos: ${a}`)}),(function foundImageMaskGroup(e,t){const i=e.fnArray,a=e.argsArray,r=e.iCurr,s=r-3,n=r-2,o=r-1;let g=Math.floor((t-s)/4);if(g<10)return t-(t-s)%4;let c,l,h=!1;const C=a[o][0],Q=a[n][0],E=a[n][1],u=a[n][2],d=a[n][3];if(E===u){h=!0;c=n+4;let e=o+4;for(let t=1;t=4&&i[s-4]===i[n]&&i[s-3]===i[o]&&i[s-2]===i[g]&&i[s-1]===i[c]&&a[s-4][0]===l&&a[s-4][1]===h){C++;Q-=5}let E=Q+4;for(let e=1;e=i)break}a=(a||pr)[e[t]];if(a&&!Array.isArray(a)){s.iCurr=t;t++;if(!a.checkFn||(0,a.checkFn)(s)){r=a;a=null}else a=null}else t++}this.state=a;this.match=r;this.lastProcessed=t}flush(){for(;this.match;){const e=this.queue.fnArray.length;this.lastProcessed=(0,this.match.processFn)(this.context,e);this.match=null;this.state=null;this._optimize()}}reset(){this.state=null;this.match=null;this.lastProcessed=0}}class OperatorList{static CHUNK_SIZE=1e3;static CHUNK_SIZE_ABOUT=this.CHUNK_SIZE-5;constructor(e=0,t){this._streamSink=t;this.fnArray=[];this.argsArray=[];this.optimizer=!t||e&u?new NullOptimizer(this):new QueueOptimizer(this);this.dependencies=new Set;this._totalLength=0;this.weight=0;this._resolved=t?null:Promise.resolve()}set isOffscreenCanvasSupported(e){this.optimizer.isOffscreenCanvasSupported=e}get length(){return this.argsArray.length}get ready(){return this._resolved||this._streamSink.ready}get totalLength(){return this._totalLength+this.length}addOp(e,t){this.optimizer.push(e,t);this.weight++;this._streamSink&&(this.weight>=OperatorList.CHUNK_SIZE||this.weight>=OperatorList.CHUNK_SIZE_ABOUT&&(e===LA||e===ie))&&this.flush()}addImageOps(e,t,i,a=!1){if(a){this.addOp(xA);this.addOp(UA,[[["SMask",!1]]])}void 0!==i&&this.addOp(Ke,["OC",i]);this.addOp(e,t);void 0!==i&&this.addOp(Te,[]);a&&this.addOp(LA)}addDependency(e){if(!this.dependencies.has(e)){this.dependencies.add(e);this.addOp(DA,[e])}}addDependencies(e){for(const t of e)this.addDependency(t)}addOpList(e){if(e instanceof OperatorList){for(const t of e.dependencies)this.dependencies.add(t);for(let t=0,i=e.length;ta&&(e=a);return e}function resizeImageMask(e,t,i,a,r,s){const n=r*s;let o;o=t<=8?new Uint8Array(n):t<=16?new Uint16Array(n):new Uint32Array(n);const g=i/r,c=a/s;let l,h,C,Q,E=0;const u=new Uint16Array(r),d=i;for(l=0;l0&&Number.isInteger(i.height)&&i.height>0&&(i.width!==C||i.height!==Q)){warn("PDFImage - using the Width/Height of the image data, rather than the image dictionary.");C=i.width;Q=i.height}if(C<1||Q<1)throw new FormatError(`Invalid image width: ${C} or height: ${Q}`);this.width=C;this.height=Q;this.interpolate=c.get("I","Interpolate");this.imageMask=c.get("IM","ImageMask")||!1;this.matte=c.get("Matte")||!1;let E=i.bitsPerComponent;if(!E){E=c.get("BPC","BitsPerComponent");if(!E){if(!this.imageMask)throw new FormatError(`Bits per component missing in image: ${this.imageMask}`);E=1}}this.bpc=E;if(!this.imageMask){let r=c.getRaw("CS")||c.getRaw("ColorSpace");const s=!!r;if(s)this.jpxDecoderOptions?.smaskInData&&(r=Name.get("DeviceRGBA"));else if(this.jpxDecoderOptions)r=Name.get("DeviceRGBA");else switch(i.numComps){case 1:r=Name.get("DeviceGray");break;case 3:r=Name.get("DeviceRGB");break;case 4:r=Name.get("DeviceCMYK");break;default:throw new Error(`Images with ${i.numComps} color components not supported.`)}this.colorSpace=ColorSpace.parse({cs:r,xref:e,resources:a?t:null,pdfFunctionFactory:o,localColorSpaceCache:g});this.numComps=this.colorSpace.numComps;if(this.jpxDecoderOptions){this.jpxDecoderOptions.numComponents=s?this.numComp:0;this.jpxDecoderOptions.isIndexedColormap="Indexed"===this.colorSpace.name}}this.decode=c.getArray("D","Decode");this.needsDecode=!1;if(this.decode&&(this.colorSpace&&!this.colorSpace.isDefaultDecode(this.decode,E)||n&&!ColorSpace.isDefaultDecode(this.decode,1))){this.needsDecode=!0;const e=(1<>3)*i,o=e.byteLength;let g,c;if(!a||r&&!(n===o))if(r){g=new Uint8Array(n);g.set(e);g.fill(255,o)}else g=new Uint8Array(e);else g=e;if(r)for(c=0;c>7&1;n[C+1]=h>>6&1;n[C+2]=h>>5&1;n[C+3]=h>>4&1;n[C+4]=h>>3&1;n[C+5]=h>>2&1;n[C+6]=h>>1&1;n[C+7]=1&h;C+=8}if(C>=1}}}}else{let i=0;h=0;for(C=0,l=s;C>a;r<0?r=0:r>c&&(r=c);n[C]=r;h&=(1<n[a+1]){t=255;break}}o[l]=t}}}if(o)for(l=0,C=3,h=t*a;l>3,l=t&&ImageResizer.needsToBeResized(i,a);if(!this.smask&&!this.mask&&"DeviceRGBA"===this.colorSpace.name){r.kind=R;const e=r.data=await this.getImageBytes(o*n*4,{});return t?l?ImageResizer.createImage(r,!1):this.createBitmap(R,i,a,e):r}if(!e){let e;"DeviceGray"===this.colorSpace.name&&1===g?e=S:"DeviceRGB"!==this.colorSpace.name||8!==g||this.needsDecode||(e=k);if(e&&!this.smask&&!this.mask&&i===n&&a===o){const s=await this.#G(n,o);if(s)return s;const g=await this.getImageBytes(o*c,{});if(t)return l?ImageResizer.createImage({data:g,kind:e,width:i,height:a,interpolate:this.interpolate},this.needsDecode):this.createBitmap(e,n,o,g);r.kind=e;r.data=g;if(this.needsDecode){assert(e===S,"PDFImage.createImageData: The image must be grayscale.");const t=r.data;for(let e=0,i=t.length;e>3,n=await this.getImageBytes(a*s,{internal:!0}),o=this.getComponents(n);let g,c;if(1===r){c=i*a;if(this.needsDecode)for(g=0;g0&&t.args[0].count++}class TimeSlotManager{static TIME_SLOT_DURATION_MS=20;static CHECK_TIME_EVERY=100;constructor(){this.reset()}check(){if(++this.checkedh){const e="Image exceeded maximum allowed size and was removed.";if(this.options.ignoreErrors){warn(e);return}throw new Error(e)}let C;o.has("OC")&&(C=await this.parseMarkedContentProps(o.get("OC"),e));let Q,E;if(o.get("IM","ImageMask")||!1){const e=o.get("I","Interpolate"),i=c+7>>3,n=t.getBytes(i*l),h=o.getArray("D","Decode");if(this.parsingType3Font){Q=PDFImage.createRawMask({imgArray:n,width:c,height:l,imageIsFromDecodeStream:t instanceof DecodeStream,inverseDecode:h?.[0]>0,interpolate:e});Q.cached=!!r;E=[Q];a.addImageOps(_e,E,C);if(r){const e={fn:_e,args:E,optionalContent:C};s.set(r,g,e);g&&this._regionalImageCache.set(null,g,e)}return}Q=await PDFImage.createMask({imgArray:n,width:c,height:l,imageIsFromDecodeStream:t instanceof DecodeStream,inverseDecode:h?.[0]>0,interpolate:e,isOffscreenCanvasSupported:this.options.isOffscreenCanvasSupported});if(Q.isSingleOpaquePixel){a.addImageOps(at,[],C);if(r){const e={fn:at,args:[],optionalContent:C};s.set(r,g,e);g&&this._regionalImageCache.set(null,g,e)}return}const u=`mask_${this.idFactory.createObjId()}`;a.addDependency(u);Q.dataLen=Q.bitmap?Q.width*Q.height*4:Q.data.length;this._sendImgData(u,Q);E=[{data:u,width:Q.width,height:Q.height,interpolate:Q.interpolate,count:1}];a.addImageOps(_e,E,C);if(r){const e={objId:u,fn:_e,args:E,optionalContent:C};s.set(r,g,e);g&&this._regionalImageCache.set(null,g,e)}return}const u=o.has("SMask")||o.has("Mask");if(i&&c+l<200&&!u){try{const r=new PDFImage({xref:this.xref,res:e,image:t,isInline:i,pdfFunctionFactory:this._pdfFunctionFactory,localColorSpaceCache:n});Q=await r.createImageData(!0,!1);a.isOffscreenCanvasSupported=this.options.isOffscreenCanvasSupported;a.addImageOps(At,[Q],C)}catch(e){const t=`Unable to decode inline image: "${e}".`;if(!this.options.ignoreErrors)throw new Error(t);warn(t)}return}let d=`img_${this.idFactory.createObjId()}`,f=!1;if(this.parsingType3Font)d=`${this.idFactory.getDocId()}_type3_${d}`;else if(r&&g){f=this.globalImageCache.shouldCache(g,this.pageIndex);if(f){assert(!i,"Cannot cache an inline image globally.");d=`${this.idFactory.getDocId()}_${d}`}}a.addDependency(d);E=[d,c,l];a.addImageOps($e,E,C,u);if(f){if(this.globalImageCache.hasDecodeFailed(g)){this.globalImageCache.setData(g,{objId:d,fn:$e,args:E,optionalContent:C,hasMask:u,byteSize:0});this._sendImgData(d,null,f);return}if(c*l>25e4||u){const e=await this.handler.sendWithPromise("commonobj",[d,"CopyLocalImage",{imageRef:g}]);if(e){this.globalImageCache.setData(g,{objId:d,fn:$e,args:E,optionalContent:C,hasMask:u,byteSize:0});this.globalImageCache.addByteSize(g,e);return}}}PDFImage.buildImage({xref:this.xref,res:e,image:t,isInline:i,pdfFunctionFactory:this._pdfFunctionFactory,localColorSpaceCache:n}).then((async e=>{Q=await e.createImageData(!1,this.options.isOffscreenCanvasSupported);Q.dataLen=Q.bitmap?Q.width*Q.height*4:Q.data.length;Q.ref=g;f&&this.globalImageCache.addByteSize(g,Q.dataLen);return this._sendImgData(d,Q,f)})).catch((e=>{warn(`Unable to decode image "${d}": "${e}".`);g&&this.globalImageCache.addDecodeFailed(g);return this._sendImgData(d,null,f)}));if(r){const e={objId:d,fn:$e,args:E,optionalContent:C,hasMask:u};s.set(r,g,e);if(g){this._regionalImageCache.set(null,g,e);f&&this.globalImageCache.setData(g,{objId:d,fn:$e,args:E,optionalContent:C,hasMask:u,byteSize:0})}}}handleSMask(e,t,i,a,r,s){const n=e.get("G"),o={subtype:e.get("S").name,backdrop:e.get("BC")},g=e.get("TR");if(isPDFFunction(g)){const e=this._pdfFunctionFactory.create(g),t=new Uint8Array(256),i=new Float32Array(1);for(let a=0;a<256;a++){i[0]=a/255;e(i,0,i,0);t[a]=255*i[0]|0}o.transferMap=t}return this.buildFormXObject(t,n,o,i,a,r.state.clone(),s)}handleTransferFunction(e){let t;if(Array.isArray(e))t=e;else{if(!isPDFFunction(e))return null;t=[e]}const i=[];let a=0,r=0;for(const e of t){const t=this.xref.fetchIfRef(e);a++;if(isName(t,"Identity")){i.push(null);continue}if(!isPDFFunction(t))return null;const s=this._pdfFunctionFactory.create(t),n=new Uint8Array(256),o=new Float32Array(1);for(let e=0;e<256;e++){o[0]=e/255;s(o,0,o,0);n[e]=255*o[0]|0}i.push(n);r++}return 1!==a&&4!==a||0===r?null:i}handleTilingType(e,t,i,a,r,s,n,o){const g=new OperatorList,c=Dict.merge({xref:this.xref,dictArray:[r.get("Resources"),i]});return this.getOperatorList({stream:a,task:n,resources:c,operatorList:g}).then((function(){const i=g.getIR(),a=getTilingPatternIR(i,r,t);s.addDependencies(g.dependencies);s.addOp(e,a);r.objId&&o.set(null,r.objId,{operatorListIR:i,dict:r})})).catch((e=>{if(!(e instanceof AbortException)){if(!this.options.ignoreErrors)throw e;warn(`handleTilingType - ignoring pattern: "${e}".`)}}))}async handleSetFont(e,t,i,a,r,s,n=null,o=null){const g=t?.[0]instanceof Name?t[0].name:null;let c=await this.loadFont(g,i,e,n,o);if(c.font.isType3Font)try{await c.loadType3Data(this,e,r);a.addDependencies(c.type3Dependencies)}catch(e){c=new TranslatedFont({loadedName:"g_font_error",font:new ErrorFont(`Type3 font load error: ${e}`),dict:c.font,evaluatorOptions:this.options})}s.font=c.font;c.send(this.handler);return c.loadedName}handleText(e,t){const i=t.font,a=i.charsToGlyphs(e);if(i.data){(!!(t.textRenderingMode&D)||"Pattern"===t.fillColorSpace.name||i.disableFontFace||this.options.disableFontFace)&&PartialEvaluator.buildFontPaths(i,a,this.handler,this.options)}return a}ensureStateFont(e){if(e.font)return;const t=new FormatError("Missing setFont (Tf) operator before text rendering operator.");if(!this.options.ignoreErrors)throw t;warn(`ensureStateFont: "${t}".`)}async setGState({resources:e,gState:t,operatorList:i,cacheKey:a,task:r,stateManager:s,localGStateCache:n,localColorSpaceCache:o}){const g=t.objId;let c=!0;const l=[];let h=Promise.resolve();for(const a of t.getKeys()){const n=t.get(a);switch(a){case"Type":break;case"LW":case"LC":case"LJ":case"ML":case"D":case"RI":case"FL":case"CA":case"ca":l.push([a,n]);break;case"Font":c=!1;h=h.then((()=>this.handleSetFont(e,null,n[0],i,r,s.state).then((function(e){i.addDependency(e);l.push([a,[e,n[1]]])}))));break;case"BM":l.push([a,normalizeBlendMode(n)]);break;case"SMask":if(isName(n,"None")){l.push([a,!1]);break}if(n instanceof Dict){c=!1;h=h.then((()=>this.handleSMask(n,e,i,r,s,o)));l.push([a,!0])}else warn("Unsupported SMask type");break;case"TR":const t=this.handleTransferFunction(n);l.push([a,t]);break;case"OP":case"op":case"OPM":case"BG":case"BG2":case"UCR":case"UCR2":case"TR2":case"HT":case"SM":case"SA":case"AIS":case"TK":info("graphic state operator "+a);break;default:info("Unknown graphic state operator "+a)}}await h;l.length>0&&i.addOp(UA,[l]);c&&n.set(a,g,l)}loadFont(e,t,i,a=null,r=null){const errorFont=async()=>new TranslatedFont({loadedName:"g_font_error",font:new ErrorFont(`Font "${e}" is not available.`),dict:t,evaluatorOptions:this.options});let s;if(t)t instanceof Ref&&(s=t);else{const t=i.get("Font");t&&(s=t.getRaw(e))}if(s){if(this.type3FontRefs?.has(s))return errorFont();if(this.fontCache.has(s))return this.fontCache.get(s);try{t=this.xref.fetchIfRef(s)}catch(e){warn(`loadFont - lookup failed: "${e}".`)}}if(!(t instanceof Dict)){if(!this.options.ignoreErrors&&!this.parsingType3Font){warn(`Font "${e}" is not available.`);return errorFont()}warn(`Font "${e}" is not available -- attempting to fallback to a default font.`);t=a||PartialEvaluator.fallbackFontDict}if(t.cacheKey&&this.fontCache.has(t.cacheKey))return this.fontCache.get(t.cacheKey);const{promise:n,resolve:o}=Promise.withResolvers();let g;try{g=this.preEvaluateFont(t);g.cssFontInfo=r}catch(e){warn(`loadFont - preEvaluateFont failed: "${e}".`);return errorFont()}const{descriptor:c,hash:l}=g,h=s instanceof Ref;let C;if(l&&c instanceof Dict){const e=c.fontAliases||=Object.create(null);if(e[l]){const t=e[l].aliasRef;if(h&&t&&this.fontCache.has(t)){this.fontCache.putAlias(s,t);return this.fontCache.get(s)}}else e[l]={fontID:this.idFactory.createFontId()};h&&(e[l].aliasRef=s);C=e[l].fontID}else C=this.idFactory.createFontId();assert(C?.startsWith("f"),'The "fontID" must be (correctly) defined.');if(h)this.fontCache.put(s,n);else{t.cacheKey=`cacheKey_${C}`;this.fontCache.put(t.cacheKey,n)}t.loadedName=`${this.idFactory.getDocId()}_${C}`;this.translateFont(g).then((e=>{o(new TranslatedFont({loadedName:t.loadedName,font:e,dict:t,evaluatorOptions:this.options}))})).catch((e=>{warn(`loadFont - translateFont failed: "${e}".`);o(new TranslatedFont({loadedName:t.loadedName,font:new ErrorFont(e instanceof Error?e.message:e),dict:t,evaluatorOptions:this.options}))}));return n}buildPath(e,t,i,a=!1){const r=e.length-1;i||(i=[]);if(r<0||e.fnArray[r]!==rt){if(a){warn(`Encountered path operator "${t}" inside of a text object.`);e.addOp(xA,null)}let r;switch(t){case OA:const e=i[0]+i[2],t=i[1]+i[3];r=[Math.min(i[0],e),Math.min(i[1],t),Math.max(i[0],e),Math.max(i[1],t)];break;case JA:case vA:r=[i[0],i[1],i[0],i[1]];break;default:r=[1/0,1/0,-1/0,-1/0]}e.addOp(rt,[[t],i,r]);a&&e.addOp(LA,null)}else{const a=e.argsArray[r];a[0].push(t);a[1].push(...i);const s=a[2];switch(t){case OA:const e=i[0]+i[2],t=i[1]+i[3];s[0]=Math.min(s[0],i[0],e);s[1]=Math.min(s[1],i[1],t);s[2]=Math.max(s[2],i[0],e);s[3]=Math.max(s[3],i[1],t);break;case JA:case vA:s[0]=Math.min(s[0],i[0]);s[1]=Math.min(s[1],i[1]);s[2]=Math.max(s[2],i[0]);s[3]=Math.max(s[3],i[1])}}}parseColorSpace({cs:e,resources:t,localColorSpaceCache:i}){return ColorSpace.parseAsync({cs:e,xref:this.xref,resources:t,pdfFunctionFactory:this._pdfFunctionFactory,localColorSpaceCache:i}).catch((e=>{if(e instanceof AbortException)return null;if(this.options.ignoreErrors){warn(`parseColorSpace - ignoring ColorSpace: "${e}".`);return null}throw e}))}parseShading({shading:e,resources:t,localColorSpaceCache:i,localShadingPatternCache:a}){let r,s=a.get(e);if(s)return s;try{r=Pattern.parseShading(e,this.xref,t,this._pdfFunctionFactory,i).getIR()}catch(t){if(t instanceof AbortException)return null;if(this.options.ignoreErrors){warn(`parseShading - ignoring shading: "${t}".`);a.set(e,null);return null}throw t}s=`pattern_${this.idFactory.createObjId()}`;this.parsingType3Font&&(s=`${this.idFactory.getDocId()}_type3_${s}`);a.set(e,s);this.parsingType3Font?this.handler.send("commonobj",[s,"Pattern",r]):this.handler.send("obj",[s,this.pageIndex,"Pattern",r]);return s}handleColorN(e,t,i,a,r,s,n,o,g,c){const l=i.pop();if(l instanceof Name){const h=r.getRaw(l.name),C=h instanceof Ref&&g.getByRef(h);if(C)try{const r=a.base?a.base.getRgb(i,0):null,s=getTilingPatternIR(C.operatorListIR,C.dict,r);e.addOp(t,s);return}catch{}const Q=this.xref.fetchIfRef(h);if(Q){const r=Q instanceof BaseStream?Q.dict:Q,l=r.get("PatternType");if(l===yr){const o=a.base?a.base.getRgb(i,0):null;return this.handleTilingType(t,o,s,Q,r,e,n,g)}if(l===wr){const i=r.get("Shading"),a=this.parseShading({shading:i,resources:s,localColorSpaceCache:o,localShadingPatternCache:c});if(a){const i=lookupMatrix(r.getArray("Matrix"),null);e.addOp(t,["Shading",a,i])}return}throw new FormatError(`Unknown PatternType: ${l}`)}}throw new FormatError(`Unknown PatternName: ${l}`)}_parseVisibilityExpression(e,t,i){if(++t>10){warn("Visibility expression is too deeply nested");return}const a=e.length,r=this.xref.fetchIfRef(e[0]);if(!(a<2)&&r instanceof Name){switch(r.name){case"And":case"Or":case"Not":i.push(r.name);break;default:warn(`Invalid operator ${r.name} in visibility expression`);return}for(let r=1;r0)return{type:"OCMD",expression:t}}const t=i.get("OCGs");if(Array.isArray(t)||t instanceof Dict){const e=[];if(Array.isArray(t))for(const i of t)e.push(i.toString());else e.push(t.objId);return{type:a,ids:e,policy:i.get("P")instanceof Name?i.get("P").name:null,expression:null}}if(t instanceof Ref)return{type:a,id:t.toString()}}return null}getOperatorList({stream:e,task:t,resources:i,operatorList:a,initialState:r=null,fallbackFontDict:s=null}){i||=Dict.empty;r||=new EvalState;if(!a)throw new Error('getOperatorList: missing "operatorList" parameter');const n=this,o=this.xref;let g=!1;const c=new LocalImageCache,l=new LocalColorSpaceCache,h=new LocalGStateCache,C=new LocalTilingPatternCache,Q=new Map,E=i.get("XObject")||Dict.empty,u=i.get("Pattern")||Dict.empty,d=new StateManager(r),f=new EvaluatorPreprocessor(e,o,d),p=new TimeSlotManager;function closePendingRestoreOPS(e){for(let e=0,t=f.savedStatesDepth;e0&&a.addOp(UA,[t]);e=null;continue}}next(new Promise((function(e,r){if(!k)throw new FormatError("GState must be referred to by name.");const s=i.get("ExtGState");if(!(s instanceof Dict))throw new FormatError("ExtGState should be a dictionary.");const o=s.get(S);if(!(o instanceof Dict))throw new FormatError("GState should be a dictionary.");n.setGState({resources:i,gState:o,operatorList:a,cacheKey:S,task:t,stateManager:d,localGStateCache:h,localColorSpaceCache:l}).then(e,r)})).catch((function(e){if(!(e instanceof AbortException)){if(!n.options.ignoreErrors)throw e;warn(`getOperatorList - ignoring ExtGState: "${e}".`)}})));return;case JA:case vA:case YA:case KA:case TA:case qA:case OA:n.buildPath(a,r,e,g);continue;case Je:case ve:case qe:case Oe:continue;case Ke:if(!(e[0]instanceof Name)){warn(`Expected name for beginMarkedContentProps arg0=${e[0]}`);a.addOp(Ke,["OC",null]);continue}if("OC"===e[0].name){next(n.parseMarkedContentProps(e[1],i).then((e=>{a.addOp(Ke,["OC",e])})).catch((e=>{if(!(e instanceof AbortException)){if(!n.options.ignoreErrors)throw e;warn(`getOperatorList - ignoring beginMarkedContentProps: "${e}".`);a.addOp(Ke,["OC",null])}})));return}e=[e[0].name,e[1]instanceof Dict?e[1].get("MCID"):null];break;default:if(null!==e){for(w=0,b=e.length;w{if(!(e instanceof AbortException)){if(!this.options.ignoreErrors)throw e;warn(`getOperatorList - ignoring errors during "${t.name}" task: "${e}".`);closePendingRestoreOPS()}}))}getTextContent({stream:e,task:t,resources:i,stateManager:s=null,includeMarkedContent:n=!1,sink:o,seenStyles:g=new Set,viewBox:c,lang:l=null,markedContentData:h=null,disableNormalization:C=!1,keepWhiteSpace:Q=!1}){i||=Dict.empty;s||=new StateManager(new TextState);n&&(h||={level:0});const E={items:[],styles:Object.create(null),lang:l},u={initialized:!1,str:[],totalWidth:0,totalHeight:0,width:0,height:0,vertical:!1,prevTransform:null,textAdvanceScale:0,spaceInFlowMin:0,spaceInFlowMax:0,trackingSpaceMin:1/0,negativeSpaceMax:-1/0,notASpace:-1/0,transform:null,fontName:null,hasEOL:!1},d=[" "," "];let f=0;function saveLastChar(e){const t=(f+1)%2,i=" "!==d[f]&&" "===d[t];d[f]=e;f=t;return!Q&&i}function shouldAddWhitepsace(){return!Q&&" "!==d[f]&&" "===d[(f+1)%2]}function resetLastChars(){d[0]=d[1]=" ";f=0}const p=this,m=this.xref,y=[];let w=null;const b=new LocalImageCache,D=new LocalGStateCache,S=new EvaluatorPreprocessor(e,m,s);let k;function pushWhitespace({width:e=0,height:t=0,transform:i=u.prevTransform,fontName:a=u.fontName}){E.items.push({str:" ",dir:"ltr",width:e,height:t,transform:i,fontName:a,hasEOL:!1})}function getCurrentTextTransform(){const e=k.font,t=[k.fontSize*k.textHScale,0,0,k.fontSize,0,k.textRise];if(e.isType3Font&&(k.fontSize<=1||e.isCharBBox)&&!isArrayEqual(k.fontMatrix,r)){const i=e.bbox[3]-e.bbox[1];i>0&&(t[3]*=i*k.fontMatrix[3])}return Util.transform(k.ctm,Util.transform(k.textMatrix,t))}function ensureTextContentItem(){if(u.initialized)return u;const{font:e,loadedName:t}=k;if(!g.has(t)){g.add(t);E.styles[t]={fontFamily:e.fallbackName,ascent:e.ascent,descent:e.descent,vertical:e.vertical};if(p.options.fontExtraProperties&&e.systemFontInfo){const i=E.styles[t];i.fontSubstitution=e.systemFontInfo.css;i.fontSubstitutionLoadedName=e.systemFontInfo.loadedName}}u.fontName=t;const i=u.transform=getCurrentTextTransform();if(e.vertical){u.width=u.totalWidth=Math.hypot(i[0],i[1]);u.height=u.totalHeight=0;u.vertical=!0}else{u.width=u.totalWidth=0;u.height=u.totalHeight=Math.hypot(i[2],i[3]);u.vertical=!1}const a=Math.hypot(k.textLineMatrix[0],k.textLineMatrix[1]),r=Math.hypot(k.ctm[0],k.ctm[1]);u.textAdvanceScale=r*a;const{fontSize:s}=k;u.trackingSpaceMin=.102*s;u.notASpace=.03*s;u.negativeSpaceMax=-.2*s;u.spaceInFlowMin=.102*s;u.spaceInFlowMax=.6*s;u.hasEOL=!1;u.initialized=!0;return u}function updateAdvanceScale(){if(!u.initialized)return;const e=Math.hypot(k.textLineMatrix[0],k.textLineMatrix[1]),t=Math.hypot(k.ctm[0],k.ctm[1])*e;if(t!==u.textAdvanceScale){if(u.vertical){u.totalHeight+=u.height*u.textAdvanceScale;u.height=0}else{u.totalWidth+=u.width*u.textAdvanceScale;u.width=0}u.textAdvanceScale=t}}function runBidiTransform(e){let t=e.str.join("");C||(t=function normalizeUnicode(e){if(!Ct){Ct=/([\u00a0\u00b5\u037e\u0eb3\u2000-\u200a\u202f\u2126\ufb00-\ufb04\ufb06\ufb20-\ufb36\ufb38-\ufb3c\ufb3e\ufb40-\ufb41\ufb43-\ufb44\ufb46-\ufba1\ufba4-\ufba9\ufbae-\ufbb1\ufbd3-\ufbdc\ufbde-\ufbe7\ufbea-\ufbf8\ufbfc-\ufbfd\ufc00-\ufc5d\ufc64-\ufcf1\ufcf5-\ufd3d\ufd88\ufdf4\ufdfa-\ufdfb\ufe71\ufe77\ufe79\ufe7b\ufe7d]+)|(\ufb05+)/gu;Bt=new Map([["ſt","ſt"]])}return e.replaceAll(Ct,((e,t,i)=>t?t.normalize("NFKC"):Bt.get(i)))}(t));const i=bidi(t,-1,e.vertical);return{str:i.str,dir:i.dir,width:Math.abs(e.totalWidth),height:Math.abs(e.totalHeight),transform:e.transform,fontName:e.fontName,hasEOL:e.hasEOL}}async function handleSetFont(e,a){const s=await p.loadFont(e,a,i);if(s.font.isType3Font)try{await s.loadType3Data(p,i,t)}catch{}k.loadedName=s.loadedName;k.font=s.font;k.fontMatrix=s.font.fontMatrix||r}function applyInverseRotation(e,t,i){const a=Math.hypot(i[0],i[1]);return[(i[0]*e+i[1]*t)/a,(i[2]*e+i[3]*t)/a]}function compareWithLastPosition(e){const t=getCurrentTextTransform();let i=t[4],a=t[5];if(k.font?.vertical){if(ic[2]||a+ec[3])return!1}else if(i+ec[2]||ac[3])return!1;if(!k.font||!u.prevTransform)return!0;let r=u.prevTransform[4],s=u.prevTransform[5];if(r===i&&s===a)return!0;let n=-1;t[0]&&0===t[1]&&0===t[2]?n=t[0]>0?0:180:t[1]&&0===t[0]&&0===t[3]&&(n=t[1]>0?90:270);switch(n){case 0:break;case 90:[i,a]=[a,i];[r,s]=[s,r];break;case 180:[i,a,r,s]=[-i,-a,-r,-s];break;case 270:[i,a]=[-a,-i];[r,s]=[-s,-r];break;default:[i,a]=applyInverseRotation(i,a,t);[r,s]=applyInverseRotation(r,s,u.prevTransform)}if(k.font.vertical){const e=(s-a)/u.textAdvanceScale,t=i-r,n=Math.sign(u.height);if(e.5*u.width){appendEOL();return!0}resetLastChars();flushTextContentItem();return!0}if(Math.abs(t)>u.width){appendEOL();return!0}e<=n*u.notASpace&&resetLastChars();if(e<=n*u.trackingSpaceMin)if(shouldAddWhitepsace()){resetLastChars();flushTextContentItem();pushWhitespace({height:Math.abs(e)})}else u.height+=e;else if(!addFakeSpaces(e,u.prevTransform,n))if(0===u.str.length){resetLastChars();pushWhitespace({height:Math.abs(e)})}else u.height+=e;Math.abs(t)>.25*u.width&&flushTextContentItem();return!0}const o=(i-r)/u.textAdvanceScale,g=a-s,l=Math.sign(u.width);if(o.5*u.height){appendEOL();return!0}resetLastChars();flushTextContentItem();return!0}if(Math.abs(g)>u.height){appendEOL();return!0}o<=l*u.notASpace&&resetLastChars();if(o<=l*u.trackingSpaceMin)if(shouldAddWhitepsace()){resetLastChars();flushTextContentItem();pushWhitespace({width:Math.abs(o)})}else u.width+=o;else if(!addFakeSpaces(o,u.prevTransform,l))if(0===u.str.length){resetLastChars();pushWhitespace({width:Math.abs(o)})}else u.width+=o;Math.abs(g)>.25*u.height&&flushTextContentItem();return!0}function buildTextContentItem({chars:e,extraSpacing:t}){const i=k.font;if(!e){const e=k.charSpacing+t;e&&(i.vertical?k.translateTextMatrix(0,-e):k.translateTextMatrix(e*k.textHScale,0));Q&&compareWithLastPosition(0);return}const a=i.charsToGlyphs(e),r=k.fontMatrix[0]*k.fontSize;for(let e=0,s=a.length;e0){const e=y.join("");y.length=0;buildTextContentItem({chars:e,extraSpacing:0})}break;case Be:if(!s.state.font){p.ensureStateFont(s.state);continue}buildTextContentItem({chars:G[0],extraSpacing:0});break;case Ee:if(!s.state.font){p.ensureStateFont(s.state);continue}k.carriageReturn();buildTextContentItem({chars:G[0],extraSpacing:0});break;case ue:if(!s.state.font){p.ensureStateFont(s.state);continue}k.wordSpacing=G[0];k.charSpacing=G[1];k.carriageReturn();buildTextContentItem({chars:G[2],extraSpacing:0});break;case He:flushTextContentItem();w??=i.get("XObject")||Dict.empty;N=G[0]instanceof Name;f=G[0].name;if(N&&b.getByName(f))break;next(new Promise((function(e,a){if(!N)throw new FormatError("XObject must be referred to by name.");let r=w.getRaw(f);if(r instanceof Ref){if(b.getByRef(r)){e();return}if(p.globalImageCache.getData(r,p.pageIndex)){e();return}r=m.fetch(r)}if(!(r instanceof BaseStream))throw new FormatError("XObject should be a stream");const E=r.dict.get("Subtype");if(!(E instanceof Name))throw new FormatError("XObject should have a Name subtype");if("Form"!==E.name){b.set(f,r.dict.objId,!0);e();return}const u=s.state.clone(),d=new StateManager(u),y=lookupMatrix(r.dict.getArray("Matrix"),null);y&&d.transform(y);enqueueChunk();const D={enqueueInvoked:!1,enqueue(e,t){this.enqueueInvoked=!0;o.enqueue(e,t)},get desiredSize(){return o.desiredSize},get ready(){return o.ready}};p.getTextContent({stream:r,task:t,resources:r.dict.get("Resources")||i,stateManager:d,includeMarkedContent:n,sink:D,seenStyles:g,viewBox:c,lang:l,markedContentData:h,disableNormalization:C,keepWhiteSpace:Q}).then((function(){D.enqueueInvoked||b.set(f,r.dict.objId,!0);e()}),a)})).catch((function(e){if(!(e instanceof AbortException)){if(!p.options.ignoreErrors)throw e;warn(`getTextContent - ignoring XObject: "${e}".`)}})));return;case UA:N=G[0]instanceof Name;f=G[0].name;if(N&&D.getByName(f))break;next(new Promise((function(e,t){if(!N)throw new FormatError("GState must be referred to by name.");const a=i.get("ExtGState");if(!(a instanceof Dict))throw new FormatError("ExtGState should be a dictionary.");const r=a.get(f);if(!(r instanceof Dict))throw new FormatError("GState should be a dictionary.");const s=r.get("Font");if(s){flushTextContentItem();k.fontName=null;k.fontSize=s[1];handleSetFont(null,s[0]).then(e,t)}else{D.set(f,r.objId,!0);e()}})).catch((function(e){if(!(e instanceof AbortException)){if(!p.options.ignoreErrors)throw e;warn(`getTextContent - ignoring ExtGState: "${e}".`)}})));return;case Ye:flushTextContentItem();if(n){h.level++;E.items.push({type:"beginMarkedContent",tag:G[0]instanceof Name?G[0].name:null})}break;case Ke:flushTextContentItem();if(n){h.level++;let e=null;G[1]instanceof Dict&&(e=G[1].get("MCID"));E.items.push({type:"beginMarkedContentProps",id:Number.isInteger(e)?`${p.idFactory.getPageObjId()}_mc${e}`:null,tag:G[0]instanceof Name?G[0].name:null})}break;case Te:flushTextContentItem();if(n){if(0===h.level)break;h.level--;E.items.push({type:"endMarkedContent"})}break;case LA:!e||e.font===k.font&&e.fontSize===k.fontSize&&e.fontName===k.fontName||flushTextContentItem()}if(E.items.length>=o.desiredSize){d=!0;break}}if(d)next(br);else{flushTextContentItem();enqueueChunk();e()}})).catch((e=>{if(!(e instanceof AbortException)){if(!this.options.ignoreErrors)throw e;warn(`getTextContent - ignoring errors during "${t.name}" task: "${e}".`);flushTextContentItem();enqueueChunk()}}))}async extractDataStructures(e,t){const i=this.xref;let a;const r=this.readToUnicode(t.toUnicode);if(t.composite){const i=e.get("CIDSystemInfo");i instanceof Dict&&(t.cidSystemInfo={registry:stringToPDFString(i.get("Registry")),ordering:stringToPDFString(i.get("Ordering")),supplement:i.get("Supplement")});try{const t=e.get("CIDToGIDMap");t instanceof BaseStream&&(a=t.getBytes())}catch(e){if(!this.options.ignoreErrors)throw e;warn(`extractDataStructures - ignoring CIDToGIDMap data: "${e}".`)}}const s=[];let n,o=null;if(e.has("Encoding")){n=e.get("Encoding");if(n instanceof Dict){o=n.get("BaseEncoding");o=o instanceof Name?o.name:null;if(n.has("Differences")){const e=n.get("Differences");let t=0;for(const a of e){const e=i.fetchIfRef(a);if("number"==typeof e)t=e;else{if(!(e instanceof Name))throw new FormatError(`Invalid entry in 'Differences' array: ${e}`);s[t++]=e.name}}}}else if(n instanceof Name)o=n.name;else{const e="Encoding is not a Name nor a Dict";if(!this.options.ignoreErrors)throw new FormatError(e);warn(e)}"MacRomanEncoding"!==o&&"MacExpertEncoding"!==o&&"WinAnsiEncoding"!==o&&(o=null)}const g=!t.file||t.isInternalFont,c=Pi()[t.name];o&&g&&c&&(o=null);if(o)t.defaultEncoding=getEncoding(o);else{const e=!!(t.flags&Hi),i=!!(t.flags&Ji);n=Bi;"TrueType"!==t.type||i||(n=Qi);if(e||c){n=Ci;g&&(/Symbol/i.test(t.name)?n=Ei:/Dingbats/i.test(t.name)?n=ui:/Wingdings/i.test(t.name)&&(n=Qi))}t.defaultEncoding=n}t.differences=s;t.baseEncodingName=o;t.hasEncoding=!!o||s.length>0;t.dict=e;t.toUnicode=await r;const l=await this.buildToUnicode(t);t.toUnicode=l;a&&(t.cidToGidMap=this.readCidToGidMap(a,l));return t}_simpleFontToUnicode(e,t=!1){assert(!e.composite,"Must be a simple font.");const i=[],a=e.defaultEncoding.slice(),r=e.baseEncodingName,s=e.differences;for(const e in s){const t=s[e];".notdef"!==t&&(a[e]=t)}const n=Di();for(const s in a){let o=a[s];if(""===o)continue;let g=n[o];if(void 0!==g){i[s]=String.fromCharCode(g);continue}let c=0;switch(o[0]){case"G":3===o.length&&(c=parseInt(o.substring(1),16));break;case"g":5===o.length&&(c=parseInt(o.substring(1),16));break;case"C":case"c":if(o.length>=3&&o.length<=4){const i=o.substring(1);if(t){c=parseInt(i,16);break}c=+i;if(Number.isNaN(c)&&Number.isInteger(parseInt(i,16)))return this._simpleFontToUnicode(e,!0)}break;case"u":g=getUnicodeForGlyph(o,n);-1!==g&&(c=g);break;default:switch(o){case"f_h":case"f_t":case"T_h":i[s]=o.replaceAll("_","");continue}}if(c>0&&c<=1114111&&Number.isInteger(c)){if(r&&c===+s){const e=getEncoding(r);if(e&&(o=e[s])){i[s]=String.fromCharCode(n[o]);continue}}i[s]=String.fromCodePoint(c)}}return i}async buildToUnicode(e){e.hasIncludedToUnicodeMap=e.toUnicode?.length>0;if(e.hasIncludedToUnicodeMap){!e.composite&&e.hasEncoding&&(e.fallbackToUnicode=this._simpleFontToUnicode(e));return e.toUnicode}if(!e.composite)return new ToUnicodeMap(this._simpleFontToUnicode(e));if(e.composite&&(e.cMap.builtInCMap&&!(e.cMap instanceof IdentityCMap)||"Adobe"===e.cidSystemInfo?.registry&&("GB1"===e.cidSystemInfo.ordering||"CNS1"===e.cidSystemInfo.ordering||"Japan1"===e.cidSystemInfo.ordering||"Korea1"===e.cidSystemInfo.ordering))){const{registry:t,ordering:i}=e.cidSystemInfo,a=Name.get(`${t}-${i}-UCS2`),r=await CMapFactory.create({encoding:a,fetchBuiltInCMap:this._fetchBuiltInCMapBound,useCMap:null}),s=[],n=[];e.cMap.forEach((function(e,t){if(t>65535)throw new FormatError("Max size of CID is 65,535");const i=r.lookup(t);if(i){n.length=0;for(let e=0,t=i.length;e>1;(0!==r||t.has(s))&&(i[s]=r)}return i}extractWidths(e,t,i){const a=this.xref;let r=[],s=0;const n=[];let o;if(i.composite){const t=e.get("DW");s="number"==typeof t?Math.ceil(t):1e3;const g=e.get("W");if(Array.isArray(g))for(let e=0,t=g.length;e{const t=g.get(e),r=new OperatorList;return a.getOperatorList({stream:t,task:i,resources:c,operatorList:r}).then((()=>{r.fnArray[0]===fe&&this._removeType3ColorOperators(r,E);l[e]=r.getIR();for(const e of r.dependencies)n.add(e)})).catch((function(t){warn(`Type3 font resource "${e}" is not available.`);const i=new OperatorList;l[e]=i.getIR()}))}));this.type3Loaded=o.then((()=>{s.charProcOperatorList=l;if(this._bbox){s.isCharBBox=!0;s.bbox=this._bbox}}));return this.type3Loaded}_removeType3ColorOperators(e,t=NaN){const i=Util.normalizeRect(e.argsArray[0].slice(2)),a=i[2]-i[0],r=i[3]-i[1],s=Math.hypot(a,r);if(0===a||0===r){e.fnArray.splice(0,1);e.argsArray.splice(0,1)}else if(0===t||Math.round(s/t)>=10){this._bbox||(this._bbox=[1/0,1/0,-1/0,-1/0]);this._bbox[0]=Math.min(this._bbox[0],i[0]);this._bbox[1]=Math.min(this._bbox[1],i[1]);this._bbox[2]=Math.max(this._bbox[2],i[2]);this._bbox[3]=Math.max(this._bbox[3],i[3])}let n=0,o=e.length;for(;n=JA&&s<=$A;if(r.variableArgs)o>n&&info(`Command ${a}: expected [0, ${n}] args, but received ${o} args.`);else{if(o!==n){const e=this.nonProcessedArgs;for(;o>n;){e.push(t.shift());o--}for(;oEvaluatorPreprocessor.MAX_INVALID_PATH_OPS)throw new FormatError(`Invalid ${e}`);warn(`Skipping ${e}`);null!==t&&(t.length=0);continue}}this.preprocessCommand(s,t);e.fn=s;e.args=t;return!0}if(i===Et)return!1;if(null!==i){null===t&&(t=[]);t.push(i);if(t.length>33)throw new FormatError("Too many arguments")}}}preprocessCommand(e,t){switch(0|e){case xA:this.stateManager.save();break;case LA:this.stateManager.restore();break;case HA:this.stateManager.transform(t)}}}class DefaultAppearanceEvaluator extends EvaluatorPreprocessor{constructor(e){super(new StringStream(e))}parse(){const e={fn:0,args:[]},t={fontSize:0,fontName:"",fontColor:new Uint8ClampedArray(3)};try{for(;;){e.args.length=0;if(!this.read(e))break;if(0!==this.savedStatesDepth)continue;const{fn:i,args:a}=e;switch(0|i){case oe:const[e,i]=a;e instanceof Name&&(t.fontName=e.name);"number"==typeof i&&i>0&&(t.fontSize=i);break;case Re:ColorSpace.singletons.rgb.getRgbItem(a,0,t.fontColor,0);break;case Se:ColorSpace.singletons.gray.getRgbItem(a,0,t.fontColor,0);break;case Ge:ColorSpace.singletons.cmyk.getRgbItem(a,0,t.fontColor,0)}}}catch(e){warn(`parseDefaultAppearance - ignoring errors: "${e}".`)}return t}}function parseDefaultAppearance(e){return new DefaultAppearanceEvaluator(e).parse()}class AppearanceStreamEvaluator extends EvaluatorPreprocessor{constructor(e,t,i){super(e);this.stream=e;this.evaluatorOptions=t;this.xref=i;this.resources=e.dict?.get("Resources")}parse(){const e={fn:0,args:[]};let t={scaleFactor:1,fontSize:0,fontName:"",fontColor:new Uint8ClampedArray(3),fillColorSpace:ColorSpace.singletons.gray},i=!1;const a=[];try{for(;;){e.args.length=0;if(i||!this.read(e))break;const{fn:r,args:s}=e;switch(0|r){case xA:a.push({scaleFactor:t.scaleFactor,fontSize:t.fontSize,fontName:t.fontName,fontColor:t.fontColor.slice(),fillColorSpace:t.fillColorSpace});break;case LA:t=a.pop()||t;break;case he:t.scaleFactor*=Math.hypot(s[0],s[1]);break;case oe:const[e,r]=s;e instanceof Name&&(t.fontName=e.name);"number"==typeof r&&r>0&&(t.fontSize=r*t.scaleFactor);break;case me:t.fillColorSpace=ColorSpace.parse({cs:s[0],xref:this.xref,resources:this.resources,pdfFunctionFactory:this._pdfFunctionFactory,localColorSpaceCache:this._localColorSpaceCache});break;case be:t.fillColorSpace.getRgbItem(s,0,t.fontColor,0);break;case Re:ColorSpace.singletons.rgb.getRgbItem(s,0,t.fontColor,0);break;case Se:ColorSpace.singletons.gray.getRgbItem(s,0,t.fontColor,0);break;case Ge:ColorSpace.singletons.cmyk.getRgbItem(s,0,t.fontColor,0);break;case Be:case Qe:case Ee:case ue:i=!0}}}catch(e){warn(`parseAppearanceStream - ignoring errors: "${e}".`)}this.stream.reset();delete t.scaleFactor;delete t.fillColorSpace;return t}get _localColorSpaceCache(){return shadow(this,"_localColorSpaceCache",new LocalColorSpaceCache)}get _pdfFunctionFactory(){return shadow(this,"_pdfFunctionFactory",new PDFFunctionFactory({xref:this.xref,isEvalSupported:this.evaluatorOptions.isEvalSupported}))}}function getPdfColor(e,t){if(e[0]===e[1]&&e[1]===e[2]){return`${numberToString(e[0]/255)} ${t?"g":"G"}`}return Array.from(e,(e=>numberToString(e/255))).join(" ")+" "+(t?"rg":"RG")}class FakeUnicodeFont{constructor(e,t){this.xref=e;this.widths=null;this.firstChar=1/0;this.lastChar=-1/0;this.fontFamily=t;const i=new OffscreenCanvas(1,1);this.ctxMeasure=i.getContext("2d",{willReadFrequently:!0});FakeUnicodeFont._fontNameId||(FakeUnicodeFont._fontNameId=1);this.fontName=Name.get(`InvalidPDFjsFont_${t}_${FakeUnicodeFont._fontNameId++}`)}get fontDescriptorRef(){if(!FakeUnicodeFont._fontDescriptorRef){const e=new Dict(this.xref);e.set("Type",Name.get("FontDescriptor"));e.set("FontName",this.fontName);e.set("FontFamily","MyriadPro Regular");e.set("FontBBox",[0,0,0,0]);e.set("FontStretch",Name.get("Normal"));e.set("FontWeight",400);e.set("ItalicAngle",0);FakeUnicodeFont._fontDescriptorRef=this.xref.getNewPersistentRef(e)}return FakeUnicodeFont._fontDescriptorRef}get descendantFontRef(){const e=new Dict(this.xref);e.set("BaseFont",this.fontName);e.set("Type",Name.get("Font"));e.set("Subtype",Name.get("CIDFontType0"));e.set("CIDToGIDMap",Name.get("Identity"));e.set("FirstChar",this.firstChar);e.set("LastChar",this.lastChar);e.set("FontDescriptor",this.fontDescriptorRef);e.set("DW",1e3);const t=[],i=[...this.widths.entries()].sort();let a=null,r=null;for(const[e,s]of i)if(a)if(e===a+r.length)r.push(s);else{t.push(a,r);a=e;r=[s]}else{a=e;r=[s]}a&&t.push(a,r);e.set("W",t);const s=new Dict(this.xref);s.set("Ordering","Identity");s.set("Registry","Adobe");s.set("Supplement",0);e.set("CIDSystemInfo",s);return this.xref.getNewPersistentRef(e)}get baseFontRef(){const e=new Dict(this.xref);e.set("BaseFont",this.fontName);e.set("Type",Name.get("Font"));e.set("Subtype",Name.get("Type0"));e.set("Encoding",Name.get("Identity-H"));e.set("DescendantFonts",[this.descendantFontRef]);e.set("ToUnicode",Name.get("Identity-H"));return this.xref.getNewPersistentRef(e)}get resources(){const e=new Dict(this.xref),t=new Dict(this.xref);t.set(this.fontName.name,this.baseFontRef);e.set("Font",t);return e}_createContext(){this.widths=new Map;this.ctxMeasure.font=`1000px ${this.fontFamily}`;return this.ctxMeasure}createFontResources(e){const t=this._createContext();for(const i of e.split(/\r\n?|\n/))for(const e of i.split("")){const i=e.charCodeAt(0);if(this.widths.has(i))continue;const a=t.measureText(e),r=Math.ceil(a.width);this.widths.set(i,r);this.firstChar=Math.min(i,this.firstChar);this.lastChar=Math.max(i,this.lastChar)}return this.resources}static getFirstPositionInfo(e,t,i){const[a,r,o,g]=e;let c=o-a,l=g-r;t%180!=0&&([c,l]=[l,c]);const h=s*i;return{coords:[0,l+n*i-h],bbox:[0,0,c,l],matrix:0!==t?getRotationMatrix(t,l,h):void 0}}createAppearance(e,t,i,a,r,o){const g=this._createContext(),c=[];let l=-1/0;for(const t of e.split(/\r\n?|\n/)){c.push(t);const e=g.measureText(t).width;l=Math.max(l,e);for(const e of codePointIter(t)){const t=String.fromCodePoint(e);let i=this.widths.get(e);if(void 0===i){const a=g.measureText(t);i=Math.ceil(a.width);this.widths.set(e,i);this.firstChar=Math.min(e,this.firstChar);this.lastChar=Math.max(e,this.lastChar)}}}l*=a/1e3;const[h,C,Q,E]=t;let u=Q-h,d=E-C;i%180!=0&&([u,d]=[d,u]);let f=1;l>u&&(f=u/l);let p=1;const m=s*a,y=n*a,w=m*c.length;w>d&&(p=d/w);const b=a*Math.min(f,p),D=["q",`0 0 ${numberToString(u)} ${numberToString(d)} re W n`,"BT",`1 0 0 1 0 ${numberToString(d+y)} Tm 0 Tc ${getPdfColor(r,!0)}`,`/${this.fontName.name} ${numberToString(b)} Tf`],{resources:S}=this;if(1!==(o="number"==typeof o&&o>=0&&o<=1?o:1)){D.push("/R0 gs");const e=new Dict(this.xref),t=new Dict(this.xref);t.set("ca",o);t.set("CA",o);t.set("Type",Name.get("ExtGState"));e.set("R0",t);S.set("ExtGState",e)}const k=numberToString(m);for(const e of c)D.push(`0 -${k} Td <${stringToUTF16HexString(e)}> Tj`);D.push("ET","Q");const R=D.join("\n"),N=new Dict(this.xref);N.set("Subtype",Name.get("Form"));N.set("Type",Name.get("XObject"));N.set("BBox",[0,0,u,d]);N.set("Length",R.length);N.set("Resources",S);if(i){const e=getRotationMatrix(i,u,d);N.set("Matrix",e)}const G=new StringStream(R);G.dict=N;return G}}class NameOrNumberTree{constructor(e,t,i){this.root=e;this.xref=t;this._type=i}getAll(){const e=new Map;if(!this.root)return e;const t=this.xref,i=new RefSet;i.put(this.root);const a=[this.root];for(;a.length>0;){const r=t.fetchIfRef(a.shift());if(!(r instanceof Dict))continue;if(r.has("Kids")){const e=r.get("Kids");if(!Array.isArray(e))continue;for(const t of e){if(i.has(t))throw new FormatError(`Duplicate entry in "${this._type}" tree.`);a.push(t);i.put(t)}continue}const s=r.get(this._type);if(Array.isArray(s))for(let i=0,a=s.length;i10){warn(`Search depth limit reached for "${this._type}" tree.`);return null}const r=i.get("Kids");if(!Array.isArray(r))return null;let s=0,n=r.length-1;for(;s<=n;){const a=s+n>>1,o=t.fetchIfRef(r[a]),g=o.get("Limits");if(et.fetchIfRef(g[1]))){i=o;break}s=a+1}}if(s>n)return null}const r=i.get(this._type);if(Array.isArray(r)){let i=0,a=r.length-2;for(;i<=a;){const s=i+a>>1,n=s+(1&s),o=t.fetchIfRef(r[n]);if(eo))return r[n+1];i=n+2}}}return null}get(e){return this.xref.fetchIfRef(this.getRaw(e))}}class NameTree extends NameOrNumberTree{constructor(e,t){super(e,t,"Names")}}class NumberTree extends NameOrNumberTree{constructor(e,t){super(e,t,"Nums")}}function clearGlobalCaches(){!function clearPatternCaches(){ua=Object.create(null)}();!function clearPrimitiveCaches(){ut=Object.create(null);dt=Object.create(null);ft=Object.create(null)}();!function clearUnicodeCaches(){Ni.clear()}();JpxImage.cleanup()}function pickPlatformItem(e){return e instanceof Dict?e.has("UF")?e.get("UF"):e.has("F")?e.get("F"):e.has("Unix")?e.get("Unix"):e.has("Mac")?e.get("Mac"):e.has("DOS")?e.get("DOS"):null:null}class FileSpec{#U=!1;constructor(e,t,i=!1){if(e instanceof Dict){this.xref=t;this.root=e;e.has("FS")&&(this.fs=e.get("FS"));e.has("RF")&&warn("Related file specifications are not supported");i||(e.has("EF")?this.#U=!0:warn("Non-embedded file specifications are not supported"))}}get filename(){let e="";const t=pickPlatformItem(this.root);t&&"string"==typeof t&&(e=stringToPDFString(t).replaceAll("\\\\","\\").replaceAll("\\/","/").replaceAll("\\","/"));return shadow(this,"filename",e||"unnamed")}get content(){if(!this.#U)return null;this._contentRef||=pickPlatformItem(this.root?.get("EF"));let e=null;if(this._contentRef){const t=this.xref.fetchIfRef(this._contentRef);t instanceof BaseStream?e=t.getBytes():warn("Embedded file specification points to non-existing/invalid content")}else warn("Embedded file specification does not have any content");return e}get description(){let e="";const t=this.root?.get("Desc");t&&"string"==typeof t&&(e=stringToPDFString(t));return shadow(this,"description",e)}get serializable(){return{rawFilename:this.filename,filename:(e=this.filename,e.substring(e.lastIndexOf("/")+1)),content:this.content,description:this.description};var e}}const Dr=0,Fr=-2,Sr=-3,kr=-4,Rr=-5,Nr=-6,Gr=-9;function isWhitespace(e,t){const i=e[t];return" "===i||"\n"===i||"\r"===i||"\t"===i}class XMLParserBase{_resolveEntities(e){return e.replaceAll(/&([^;]+);/g,((e,t)=>{if("#x"===t.substring(0,2))return String.fromCodePoint(parseInt(t.substring(2),16));if("#"===t.substring(0,1))return String.fromCodePoint(parseInt(t.substring(1),10));switch(t){case"lt":return"<";case"gt":return">";case"amp":return"&";case"quot":return'"';case"apos":return"'"}return this.onResolveEntity(t)}))}_parseContent(e,t){const i=[];let a=t;function skipWs(){for(;a"!==e[a]&&"/"!==e[a];)++a;const r=e.substring(t,a);skipWs();for(;a"!==e[a]&&"/"!==e[a]&&"?"!==e[a];){skipWs();let t="",r="";for(;a"!==e[i]&&"?"!==e[i]&&"/"!==e[i];)++i;const a=e.substring(t,i);!function skipWs(){for(;i"!==e[i+1]);)++i;return{name:a,value:e.substring(r,i),parsed:i-t}}parseXml(e){let t=0;for(;t",i);if(t<0){this.onError(Gr);return}this.onEndElement(e.substring(i,t));i=t+1;break;case"?":++i;const a=this._parseProcessingInstruction(e,i);if("?>"!==e.substring(i+a.parsed,i+a.parsed+2)){this.onError(Sr);return}this.onPi(a.name,a.value);i+=a.parsed+2;break;case"!":if("--"===e.substring(i+1,i+3)){t=e.indexOf("--\x3e",i+3);if(t<0){this.onError(Rr);return}this.onComment(e.substring(i+3,t));i=t+3}else if("[CDATA["===e.substring(i+1,i+8)){t=e.indexOf("]]>",i+8);if(t<0){this.onError(Fr);return}this.onCdata(e.substring(i+8,t));i=t+3}else{if("DOCTYPE"!==e.substring(i+1,i+8)){this.onError(Nr);return}{const a=e.indexOf("[",i+8);let r=!1;t=e.indexOf(">",i+8);if(t<0){this.onError(kr);return}if(a>0&&t>a){t=e.indexOf("]>",i+8);if(t<0){this.onError(kr);return}r=!0}const s=e.substring(i+8,t+(r?1:0));this.onDoctype(s);i=t+(r?2:1)}}break;default:const r=this._parseContent(e,i);if(null===r){this.onError(Nr);return}let s=!1;if("/>"===e.substring(i+r.parsed,i+r.parsed+2))s=!0;else if(">"!==e.substring(i+r.parsed,i+r.parsed+1)){this.onError(Gr);return}this.onBeginElement(r.name,r.attributes,s);i+=r.parsed+(s?2:1)}}else{for(;i0}searchNode(e,t){if(t>=e.length)return this;const i=e[t];if(i.name.startsWith("#")&&t0){a.push([r,0]);r=r.childNodes[0]}else{if(0===a.length)return null;for(;0!==a.length;){const[e,t]=a.pop(),i=t+1;if(i");for(const t of this.childNodes)t.dump(e);e.push(``)}else this.nodeValue?e.push(`>${encodeToXmlString(this.nodeValue)}`):e.push("/>")}else e.push(encodeToXmlString(this.nodeValue))}}class SimpleXMLParser extends XMLParserBase{constructor({hasAttributes:e=!1,lowerCaseName:t=!1}){super();this._currentFragment=null;this._stack=null;this._errorCode=Dr;this._hasAttributes=e;this._lowerCaseName=t}parseFromString(e){this._currentFragment=[];this._stack=[];this._errorCode=Dr;this.parseXml(e);if(this._errorCode!==Dr)return;const[t]=this._currentFragment;return t?{documentElement:t}:void 0}onText(e){if(function isWhitespaceString(e){for(let t=0,i=e.length;t\\376\\377([^<]+)/g,(function(e,t){const i=t.replaceAll(/\\([0-3])([0-7])([0-7])/g,(function(e,t,i,a){return String.fromCharCode(64*t+8*i+1*a)})).replaceAll(/&(amp|apos|gt|lt|quot);/g,(function(e,t){switch(t){case"amp":return"&";case"apos":return"'";case"gt":return">";case"lt":return"<";case"quot":return'"'}throw new Error(`_repair: ${t} isn't defined.`)})),a=[">"];for(let e=0,t=i.length;e=32&&t<127&&60!==t&&62!==t&&38!==t?a.push(String.fromCharCode(t)):a.push("&#x"+(65536+t).toString(16).substring(1)+";")}return a.join("")}))}_getSequence(e){const t=e.nodeName;return"rdf:bag"!==t&&"rdf:seq"!==t&&"rdf:alt"!==t?null:e.childNodes.filter((e=>"rdf:li"===e.nodeName))}_parseArray(e){if(!e.hasChildNodes())return;const[t]=e.childNodes,i=this._getSequence(t)||[];this._metadataMap.set(e.nodeName,i.map((e=>e.textContent.trim())))}_parse(e){let t=e.documentElement;if("rdf:rdf"!==t.nodeName){t=t.firstChild;for(;t&&"rdf:rdf"!==t.nodeName;)t=t.nextSibling}if(t&&"rdf:rdf"===t.nodeName&&t.hasChildNodes())for(const e of t.childNodes)if("rdf:description"===e.nodeName)for(const t of e.childNodes){const e=t.nodeName;switch(e){case"#text":continue;case"dc:creator":case"dc:subject":this._parseArray(t);continue}this._metadataMap.set(e,t.textContent.trim())}}get serializable(){return{parsedData:this._metadataMap,rawData:this._data}}}const Mr=1,Ur=2,xr=3,Lr=4,Hr=5;class StructTreeRoot{constructor(e,t){this.dict=e;this.ref=t instanceof Ref?t:null;this.roleMap=new Map;this.structParentIds=null}init(){this.readRoleMap()}#x(e,t,i){if(!(e instanceof Ref)||t<0)return;this.structParentIds||=new RefSetCache;let a=this.structParentIds.get(e);if(!a){a=[];this.structParentIds.put(e,a)}a.push([t,i])}addAnnotationIdToPage(e,t){this.#x(e,t,Lr)}readRoleMap(){const e=this.dict.get("RoleMap");if(e instanceof Dict)for(const[t,i]of e)i instanceof Name&&this.roleMap.set(t,i.name)}static async canCreateStructureTree({catalogRef:e,pdfManager:t,newAnnotationsByPage:i}){if(!(e instanceof Ref)){warn("Cannot save the struct tree: no catalog reference.");return!1}let a=0,r=!0;for(const[e,s]of i){const{ref:i}=await t.getPage(e);if(!(i instanceof Ref)){warn(`Cannot save the struct tree: page ${e} has no ref.`);r=!0;break}for(const e of s)if(e.accessibilityData?.type){e.parentTreeId=a++;r=!1}}if(r){for(const e of i.values())for(const t of e)delete t.parentTreeId;return!1}return!0}static async createStructureTree({newAnnotationsByPage:e,xref:t,catalogRef:i,pdfManager:a,changes:r}){const s=a.catalog.cloneDict(),n=new RefSetCache;n.put(i,s);const o=t.getNewTemporaryRef();s.set("StructTreeRoot",o);const g=new Dict(t);g.set("Type",Name.get("StructTreeRoot"));const c=t.getNewTemporaryRef();g.set("ParentTree",c);const l=[];g.set("K",l);n.put(o,g);const h=new Dict(t),C=[];h.set("Nums",C);const Q=await this.#L({newAnnotationsByPage:e,structTreeRootRef:o,structTreeRoot:null,kids:l,nums:C,xref:t,pdfManager:a,changes:r,cache:n});g.set("ParentTreeNextKey",Q);n.put(c,h);for(const[e,t]of n.items())r.put(e,{data:t})}async canUpdateStructTree({pdfManager:e,xref:t,newAnnotationsByPage:i}){if(!this.ref){warn("Cannot update the struct tree: no root reference.");return!1}let a=this.dict.get("ParentTreeNextKey");if(!Number.isInteger(a)||a<0){warn("Cannot update the struct tree: invalid next key.");return!1}const r=this.dict.get("ParentTree");if(!(r instanceof Dict)){warn("Cannot update the struct tree: ParentTree isn't a dict.");return!1}const s=r.get("Nums");if(!Array.isArray(s)){warn("Cannot update the struct tree: nums isn't an array.");return!1}const n=new NumberTree(r,t);for(const t of i.keys()){const{pageDict:i}=await e.getPage(t);if(!i.has("StructParents"))continue;const a=i.get("StructParents");if(!Number.isInteger(a)||!Array.isArray(n.get(a))){warn(`Cannot save the struct tree: page ${t} has a wrong id.`);return!1}}let o=!0;for(const[t,r]of i){const{pageDict:i}=await e.getPage(t);StructTreeRoot.#H({elements:r,xref:this.dict.xref,pageDict:i,numberTree:n});for(const e of r)if(e.accessibilityData?.type){e.accessibilityData.structParent>=0||(e.parentTreeId=a++);o=!1}}if(o){for(const e of i.values())for(const t of e){delete t.parentTreeId;delete t.structTreeParent}return!1}return!0}async updateStructureTree({newAnnotationsByPage:e,pdfManager:t,changes:i}){const a=this.dict.xref,r=this.dict.clone(),s=this.ref,n=new RefSetCache;n.put(s,r);let o,g=r.getRaw("ParentTree");if(g instanceof Ref)o=a.fetch(g);else{o=g;g=a.getNewTemporaryRef();r.set("ParentTree",g)}o=o.clone();n.put(g,o);let c=o.getRaw("Nums"),l=null;if(c instanceof Ref){l=c;c=a.fetch(l)}c=c.slice();l||o.set("Nums",c);const h=await StructTreeRoot.#L({newAnnotationsByPage:e,structTreeRootRef:s,structTreeRoot:this,kids:null,nums:c,xref:a,pdfManager:t,changes:i,cache:n});if(-1!==h){r.set("ParentTreeNextKey",h);l&&n.put(l,c);for(const[e,t]of n.items())i.put(e,{data:t})}}static async#L({newAnnotationsByPage:e,structTreeRootRef:t,structTreeRoot:i,kids:a,nums:r,xref:s,pdfManager:n,changes:o,cache:g}){const c=Name.get("OBJR");let l,h=-1;for(const[C,Q]of e){const e=await n.getPage(C),{ref:E}=e,u=E instanceof Ref;for(const{accessibilityData:n,ref:d,parentTreeId:f,structTreeParent:p}of Q){if(!n?.type)continue;const{structParent:Q}=n;if(i&&Number.isInteger(Q)&&Q>=0){let t=(l||=new Map).get(C);if(void 0===t){t=new StructTreePage(i,e.pageDict).collectObjects(E);l.set(C,t)}const a=t?.get(Q);if(a){const e=s.fetch(a).clone();StructTreeRoot.#J(e,n);o.put(a,{data:e});continue}}h=Math.max(h,f);const m=s.getNewTemporaryRef(),y=new Dict(s);StructTreeRoot.#J(y,n);await this.#v({structTreeParent:p,tagDict:y,newTagRef:m,structTreeRootRef:t,fallbackKids:a,xref:s,cache:g});const w=new Dict(s);y.set("K",w);w.set("Type",c);u&&w.set("Pg",E);w.set("Obj",d);g.put(m,y);r.push(f,m)}}return h+1}static#J(e,{type:t,title:i,lang:a,alt:r,expanded:s,actualText:n}){e.set("S",Name.get(t));i&&e.set("T",stringToAsciiOrUTF16BE(i));a&&e.set("Lang",stringToAsciiOrUTF16BE(a));r&&e.set("Alt",stringToAsciiOrUTF16BE(r));s&&e.set("E",stringToAsciiOrUTF16BE(s));n&&e.set("ActualText",stringToAsciiOrUTF16BE(n))}static#H({elements:e,xref:t,pageDict:i,numberTree:a}){const r=new Map;for(const t of e)if(t.structTreeParentId){const e=parseInt(t.structTreeParentId.split("_mc")[1],10);let i=r.get(e);if(!i){i=[];r.set(e,i)}i.push(t)}const s=i.get("StructParents");if(!Number.isInteger(s))return;const n=a.get(s),updateElement=(e,i,a)=>{const s=r.get(e);if(s){const e=i.getRaw("P"),r=t.fetchIfRef(e);if(e instanceof Ref&&r instanceof Dict){const e={ref:a,dict:i};for(const t of s)t.structTreeParent=e}return!0}return!1};for(const e of n){if(!(e instanceof Ref))continue;const i=t.fetch(e),a=i.get("K");if(Number.isInteger(a))updateElement(a,i,e);else if(Array.isArray(a))for(let r of a){r=t.fetchIfRef(r);if(Number.isInteger(r)&&updateElement(r,i,e))break;if(!(r instanceof Dict))continue;if(!isName(r.get("Type"),"MCR"))break;const a=r.get("MCID");if(Number.isInteger(a)&&updateElement(a,i,e))break}}}static async#v({structTreeParent:e,tagDict:t,newTagRef:i,structTreeRootRef:a,fallbackKids:r,xref:s,cache:n}){let o,g=null;if(e){({ref:g}=e);o=e.dict.getRaw("P")||a}else o=a;t.set("P",o);const c=s.fetchIfRef(o);if(!c){r.push(i);return}let l=n.get(o);if(!l){l=c.clone();n.put(o,l)}const h=l.getRaw("K");let C=h instanceof Ref?n.get(h):null;if(!C){C=s.fetchIfRef(h);C=Array.isArray(C)?C.slice():[h];const e=s.getNewTemporaryRef();l.set("K",e);n.put(e,C)}const Q=C.indexOf(g);C.splice(Q>=0?Q+1:C.length,0,i)}}class StructElementNode{constructor(e,t){this.tree=e;this.dict=t;this.kids=[];this.parseKids()}get role(){const e=this.dict.get("S"),t=e instanceof Name?e.name:"",{root:i}=this.tree;return i.roleMap.has(t)?i.roleMap.get(t):t}parseKids(){let e=null;const t=this.dict.getRaw("Pg");t instanceof Ref&&(e=t.toString());const i=this.dict.get("K");if(Array.isArray(i))for(const t of i){const i=this.parseKid(e,t);i&&this.kids.push(i)}else{const t=this.parseKid(e,i);t&&this.kids.push(t)}}parseKid(e,t){if(Number.isInteger(t))return this.tree.pageDict.objId!==e?null:new StructElement({type:Mr,mcid:t,pageObjId:e});let i=null;t instanceof Ref?i=this.dict.xref.fetch(t):t instanceof Dict&&(i=t);if(!i)return null;const a=i.getRaw("Pg");a instanceof Ref&&(e=a.toString());const r=i.get("Type")instanceof Name?i.get("Type").name:null;if("MCR"===r){if(this.tree.pageDict.objId!==e)return null;const t=i.getRaw("Stm");return new StructElement({type:Ur,refObjId:t instanceof Ref?t.toString():null,pageObjId:e,mcid:i.get("MCID")})}if("OBJR"===r){if(this.tree.pageDict.objId!==e)return null;const t=i.getRaw("Obj");return new StructElement({type:xr,refObjId:t instanceof Ref?t.toString():null,pageObjId:e})}return new StructElement({type:Hr,dict:i})}}class StructElement{constructor({type:e,dict:t=null,mcid:i=null,pageObjId:a=null,refObjId:r=null}){this.type=e;this.dict=t;this.mcid=i;this.pageObjId=a;this.refObjId=r;this.parentNode=null}}class StructTreePage{constructor(e,t){this.root=e;this.rootDict=e?e.dict:null;this.pageDict=t;this.nodes=[]}collectObjects(e){if(!(this.root&&this.rootDict&&e instanceof Ref))return null;const t=this.rootDict.get("ParentTree");if(!t)return null;const i=this.root.structParentIds?.get(e);if(!i)return null;const a=new Map,r=new NumberTree(t,this.rootDict.xref);for(const[e]of i){const t=r.getRaw(e);t instanceof Ref&&a.set(e,t)}return a}parse(e){if(!(this.root&&this.rootDict&&e instanceof Ref))return;const t=this.rootDict.get("ParentTree");if(!t)return;const i=this.pageDict.get("StructParents"),a=this.root.structParentIds?.get(e);if(!Number.isInteger(i)&&!a)return;const r=new Map,s=new NumberTree(t,this.rootDict.xref);if(Number.isInteger(i)){const e=s.get(i);if(Array.isArray(e))for(const t of e)t instanceof Ref&&this.addNode(this.rootDict.xref.fetch(t),r)}if(a)for(const[e,t]of a){const i=s.get(e);if(i){const e=this.addNode(this.rootDict.xref.fetchIfRef(i),r);1===e?.kids?.length&&e.kids[0].type===xr&&(e.kids[0].type=t)}}}addNode(e,t,i=0){if(i>40){warn("StructTree MAX_DEPTH reached.");return null}if(!(e instanceof Dict))return null;if(t.has(e))return t.get(e);const a=new StructElementNode(this,e);t.set(e,a);const r=e.get("P");if(!r||isName(r.get("Type"),"StructTreeRoot")){this.addTopLevelNode(e,a)||t.delete(e);return a}const s=this.addNode(r,t,i+1);if(!s)return a;let n=!1;for(const t of s.kids)if(t.type===Hr&&t.dict===e){t.parentNode=a;n=!0}n||t.delete(e);return a}addTopLevelNode(e,t){const i=this.rootDict.get("K");if(!i)return!1;if(i instanceof Dict){if(i.objId!==e.objId)return!1;this.nodes[0]=t;return!0}if(!Array.isArray(i))return!0;let a=!1;for(let r=0;r40){warn("StructTree too deep to be fully serialized.");return}const a=Object.create(null);a.role=e.role;a.children=[];t.children.push(a);let r=e.dict.get("Alt");"string"!=typeof r&&(r=e.dict.get("ActualText"));"string"==typeof r&&(a.alt=stringToPDFString(r));const s=e.dict.get("A");if(s instanceof Dict){const e=lookupNormalRect(s.getArray("BBox"),null);if(e)a.bbox=e;else{const e=s.get("Width"),t=s.get("Height");"number"==typeof e&&e>0&&"number"==typeof t&&t>0&&(a.bbox=[0,0,e,t])}}const n=e.dict.get("Lang");"string"==typeof n&&(a.lang=stringToPDFString(n));for(const t of e.kids){const e=t.type===Hr?t.parentNode:null;e?nodeToSerializable(e,a,i+1):t.type===Mr||t.type===Ur?a.children.push({type:"content",id:`p${t.pageObjId}_mc${t.mcid}`}):t.type===xr?a.children.push({type:"object",id:t.refObjId}):t.type===Lr&&a.children.push({type:"annotation",id:`pdfjs_internal_id_${t.refObjId}`})}}const e=Object.create(null);e.children=[];e.role="Root";for(const t of this.nodes)t&&nodeToSerializable(t,e);return e}}function isValidExplicitDest(e){if(!Array.isArray(e)||e.length<2)return!1;const[t,i,...a]=e;if(!(t instanceof Ref||Number.isInteger(t)))return!1;if(!(i instanceof Name))return!1;const r=a.length;let s=!0;switch(i.name){case"XYZ":if(r<2||r>3)return!1;break;case"Fit":case"FitB":return 0===r;case"FitH":case"FitBH":case"FitV":case"FitBV":if(r>1)return!1;break;case"FitR":if(4!==r)return!1;s=!1;break;default:return!1}for(const e of a)if(!("number"==typeof e||s&&null===e))return!1;return!0}function fetchDest(e){e instanceof Dict&&(e=e.get("D"));return isValidExplicitDest(e)?e:null}function fetchRemoteDest(e){let t=e.get("D");if(t){t instanceof Name&&(t=t.name);if("string"==typeof t)return stringToPDFString(t);if(isValidExplicitDest(t))return JSON.stringify(t)}return null}class Catalog{constructor(e,t){this.pdfManager=e;this.xref=t;this._catDict=t.getCatalogObj();if(!(this._catDict instanceof Dict))throw new FormatError("Catalog object is not a dictionary.");this.toplevelPagesDict;this._actualNumPages=null;this.fontCache=new RefSetCache;this.builtInCMapCache=new Map;this.standardFontDataCache=new Map;this.globalImageCache=new GlobalImageCache;this.pageKidsCountCache=new RefSetCache;this.pageIndexCache=new RefSetCache;this.pageDictCache=new RefSetCache;this.nonBlendModesSet=new RefSet;this.systemFontCache=new Map}cloneDict(){return this._catDict.clone()}get version(){const e=this._catDict.get("Version");if(e instanceof Name){if(mt.test(e.name))return shadow(this,"version",e.name);warn(`Invalid PDF catalog version: ${e.name}`)}return shadow(this,"version",null)}get lang(){const e=this._catDict.get("Lang");return shadow(this,"lang",e&&"string"==typeof e?stringToPDFString(e):null)}get needsRendering(){const e=this._catDict.get("NeedsRendering");return shadow(this,"needsRendering","boolean"==typeof e&&e)}get collection(){let e=null;try{const t=this._catDict.get("Collection");t instanceof Dict&&t.size>0&&(e=t)}catch(e){if(e instanceof MissingDataException)throw e;info("Cannot fetch Collection entry; assuming no collection is present.")}return shadow(this,"collection",e)}get acroForm(){let e=null;try{const t=this._catDict.get("AcroForm");t instanceof Dict&&t.size>0&&(e=t)}catch(e){if(e instanceof MissingDataException)throw e;info("Cannot fetch AcroForm entry; assuming no forms are present.")}return shadow(this,"acroForm",e)}get acroFormRef(){const e=this._catDict.getRaw("AcroForm");return shadow(this,"acroFormRef",e instanceof Ref?e:null)}get metadata(){const e=this._catDict.getRaw("Metadata");if(!(e instanceof Ref))return shadow(this,"metadata",null);let t=null;try{const i=this.xref.fetch(e,!this.xref.encrypt?.encryptMetadata);if(i instanceof BaseStream&&i.dict instanceof Dict){const e=i.dict.get("Type"),a=i.dict.get("Subtype");if(isName(e,"Metadata")&&isName(a,"XML")){const e=stringToUTF8String(i.getString());e&&(t=new MetadataParser(e).serializable)}}}catch(e){if(e instanceof MissingDataException)throw e;info(`Skipping invalid Metadata: "${e}".`)}return shadow(this,"metadata",t)}get markInfo(){let e=null;try{e=this._readMarkInfo()}catch(e){if(e instanceof MissingDataException)throw e;warn("Unable to read mark info.")}return shadow(this,"markInfo",e)}_readMarkInfo(){const e=this._catDict.get("MarkInfo");if(!(e instanceof Dict))return null;const t={Marked:!1,UserProperties:!1,Suspects:!1};for(const i in t){const a=e.get(i);"boolean"==typeof a&&(t[i]=a)}return t}get structTreeRoot(){let e=null;try{e=this._readStructTreeRoot()}catch(e){if(e instanceof MissingDataException)throw e;warn("Unable read to structTreeRoot info.")}return shadow(this,"structTreeRoot",e)}_readStructTreeRoot(){const e=this._catDict.getRaw("StructTreeRoot"),t=this.xref.fetchIfRef(e);if(!(t instanceof Dict))return null;const i=new StructTreeRoot(t,e);i.init();return i}get toplevelPagesDict(){const e=this._catDict.get("Pages");if(!(e instanceof Dict))throw new FormatError("Invalid top-level pages dictionary.");return shadow(this,"toplevelPagesDict",e)}get documentOutline(){let e=null;try{e=this._readDocumentOutline()}catch(e){if(e instanceof MissingDataException)throw e;warn("Unable to read document outline.")}return shadow(this,"documentOutline",e)}_readDocumentOutline(){let e=this._catDict.get("Outlines");if(!(e instanceof Dict))return null;e=e.getRaw("First");if(!(e instanceof Ref))return null;const t={items:[]},i=[{obj:e,parent:t}],a=new RefSet;a.put(e);const r=this.xref,s=new Uint8ClampedArray(3);for(;i.length>0;){const t=i.shift(),n=r.fetchIfRef(t.obj);if(null===n)continue;n.has("Title")||warn("Invalid outline item encountered.");const o={url:null,dest:null,action:null};Catalog.parseDestDictionary({destDict:n,resultObj:o,docBaseUrl:this.baseUrl,docAttachments:this.attachments});const g=n.get("Title"),c=n.get("F")||0,l=n.getArray("C"),h=n.get("Count");let C=s;!isNumberArray(l,3)||0===l[0]&&0===l[1]&&0===l[2]||(C=ColorSpace.singletons.rgb.getRgb(l,0));const Q={action:o.action,attachment:o.attachment,dest:o.dest,url:o.url,unsafeUrl:o.unsafeUrl,newWindow:o.newWindow,setOCGState:o.setOCGState,title:"string"==typeof g?stringToPDFString(g):"",color:C,count:Number.isInteger(h)?h:void 0,bold:!!(2&c),italic:!!(1&c),items:[]};t.parent.items.push(Q);e=n.getRaw("First");if(e instanceof Ref&&!a.has(e)){i.push({obj:e,parent:Q});a.put(e)}e=n.getRaw("Next");if(e instanceof Ref&&!a.has(e)){i.push({obj:e,parent:t.parent});a.put(e)}}return t.items.length>0?t.items:null}get permissions(){let e=null;try{e=this._readPermissions()}catch(e){if(e instanceof MissingDataException)throw e;warn("Unable to read permissions.")}return shadow(this,"permissions",e)}_readPermissions(){const e=this.xref.trailer.get("Encrypt");if(!(e instanceof Dict))return null;let t=e.get("P");if("number"!=typeof t)return null;t+=2**32;const i=[];for(const e in w){const a=w[e];t&a&&i.push(a)}return i}get optionalContentConfig(){let e=null;try{const t=this._catDict.get("OCProperties");if(!t)return shadow(this,"optionalContentConfig",null);const i=t.get("D");if(!i)return shadow(this,"optionalContentConfig",null);const a=t.get("OCGs");if(!Array.isArray(a))return shadow(this,"optionalContentConfig",null);const r=new RefSetCache;for(const e of a)e instanceof Ref&&!r.has(e)&&r.put(e,this.#Y(e));e=this.#K(i,r)}catch(e){if(e instanceof MissingDataException)throw e;warn(`Unable to read optional content config: ${e}`)}return shadow(this,"optionalContentConfig",e)}#Y(e){const t=this.xref.fetch(e),i={id:e.toString(),name:null,intent:null,usage:{print:null,view:null},rbGroups:[]},a=t.get("Name");"string"==typeof a&&(i.name=stringToPDFString(a));let r=t.getArray("Intent");Array.isArray(r)||(r=[r]);r.every((e=>e instanceof Name))&&(i.intent=r.map((e=>e.name)));const s=t.get("Usage");if(!(s instanceof Dict))return i;const n=i.usage,o=s.get("Print");if(o instanceof Dict){const e=o.get("PrintState");if(e instanceof Name)switch(e.name){case"ON":case"OFF":n.print={printState:e.name}}}const g=s.get("View");if(g instanceof Dict){const e=g.get("ViewState");if(e instanceof Name)switch(e.name){case"ON":case"OFF":n.view={viewState:e.name}}}return i}#K(e,t){function parseOnOff(e){const i=[];if(Array.isArray(e))for(const a of e)a instanceof Ref&&t.has(a)&&i.push(a.toString());return i}function parseOrder(e,i=0){if(!Array.isArray(e))return null;const r=[];for(const s of e){if(s instanceof Ref&&t.has(s)){a.put(s);r.push(s.toString());continue}const e=parseNestedOrder(s,i);e&&r.push(e)}if(i>0)return r;const s=[];for(const[e]of t.items())a.has(e)||s.push(e.toString());s.length&&r.push({name:null,order:s});return r}function parseNestedOrder(e,t){if(++t>r){warn("parseNestedOrder - reached MAX_NESTED_LEVELS.");return null}const a=i.fetchIfRef(e);if(!Array.isArray(a))return null;const s=i.fetchIfRef(a[0]);if("string"!=typeof s)return null;const n=parseOrder(a.slice(1),t);return n?.length?{name:stringToPDFString(s),order:n}:null}const i=this.xref,a=new RefSet,r=10;!function parseRBGroups(e){if(Array.isArray(e))for(const a of e){const e=i.fetchIfRef(a);if(!Array.isArray(e)||!e.length)continue;const r=new Set;for(const i of e)if(i instanceof Ref&&t.has(i)&&!r.has(i.toString())){r.add(i.toString());t.get(i).rbGroups.push(r)}}}(e.get("RBGroups"));return{name:"string"==typeof e.get("Name")?stringToPDFString(e.get("Name")):null,creator:"string"==typeof e.get("Creator")?stringToPDFString(e.get("Creator")):null,baseState:e.get("BaseState")instanceof Name?e.get("BaseState").name:null,on:parseOnOff(e.get("ON")),off:parseOnOff(e.get("OFF")),order:parseOrder(e.get("Order")),groups:[...t]}}setActualNumPages(e=null){this._actualNumPages=e}get hasActualNumPages(){return null!==this._actualNumPages}get _pagesCount(){const e=this.toplevelPagesDict.get("Count");if(!Number.isInteger(e))throw new FormatError("Page count in top-level pages dictionary is not an integer.");return shadow(this,"_pagesCount",e)}get numPages(){return this.hasActualNumPages?this._actualNumPages:this._pagesCount}get destinations(){const e=this._readDests(),t=Object.create(null);if(e instanceof NameTree)for(const[i,a]of e.getAll()){const e=fetchDest(a);e&&(t[stringToPDFString(i)]=e)}else if(e instanceof Dict)for(const[i,a]of e){const e=fetchDest(a);e&&(t[i]=e)}return shadow(this,"destinations",t)}getDestination(e){const t=this._readDests();if(t instanceof NameTree){const i=fetchDest(t.get(e));if(i)return i;const a=this.destinations[e];if(a){warn(`Found "${e}" at an incorrect position in the NameTree.`);return a}}else if(t instanceof Dict){const i=fetchDest(t.get(e));if(i)return i}return null}_readDests(){const e=this._catDict.get("Names");return e?.has("Dests")?new NameTree(e.getRaw("Dests"),this.xref):this._catDict.has("Dests")?this._catDict.get("Dests"):void 0}get pageLabels(){let e=null;try{e=this._readPageLabels()}catch(e){if(e instanceof MissingDataException)throw e;warn("Unable to read page labels.")}return shadow(this,"pageLabels",e)}_readPageLabels(){const e=this._catDict.getRaw("PageLabels");if(!e)return null;const t=new Array(this.numPages);let i=null,a="";const r=new NumberTree(e,this.xref).getAll();let s="",n=1;for(let e=0,o=this.numPages;e=1))throw new FormatError("Invalid start in PageLabel dictionary.");n=e}else n=1}switch(i){case"D":s=n;break;case"R":case"r":s=toRomanNumerals(n,"r"===i);break;case"A":case"a":const e=26,t="a"===i?97:65,a=n-1;s=String.fromCharCode(t+a%e).repeat(Math.floor(a/e)+1);break;default:if(i)throw new FormatError(`Invalid style "${i}" in PageLabel dictionary.`);s=""}t[e]=a+s;n++}return t}get pageLayout(){const e=this._catDict.get("PageLayout");let t="";if(e instanceof Name)switch(e.name){case"SinglePage":case"OneColumn":case"TwoColumnLeft":case"TwoColumnRight":case"TwoPageLeft":case"TwoPageRight":t=e.name}return shadow(this,"pageLayout",t)}get pageMode(){const e=this._catDict.get("PageMode");let t="UseNone";if(e instanceof Name)switch(e.name){case"UseNone":case"UseOutlines":case"UseThumbs":case"FullScreen":case"UseOC":case"UseAttachments":t=e.name}return shadow(this,"pageMode",t)}get viewerPreferences(){const e=this._catDict.get("ViewerPreferences");if(!(e instanceof Dict))return shadow(this,"viewerPreferences",null);let t=null;for(const i of e.getKeys()){const a=e.get(i);let r;switch(i){case"HideToolbar":case"HideMenubar":case"HideWindowUI":case"FitWindow":case"CenterWindow":case"DisplayDocTitle":case"PickTrayByPDFSize":"boolean"==typeof a&&(r=a);break;case"NonFullScreenPageMode":if(a instanceof Name)switch(a.name){case"UseNone":case"UseOutlines":case"UseThumbs":case"UseOC":r=a.name;break;default:r="UseNone"}break;case"Direction":if(a instanceof Name)switch(a.name){case"L2R":case"R2L":r=a.name;break;default:r="L2R"}break;case"ViewArea":case"ViewClip":case"PrintArea":case"PrintClip":if(a instanceof Name)switch(a.name){case"MediaBox":case"CropBox":case"BleedBox":case"TrimBox":case"ArtBox":r=a.name;break;default:r="CropBox"}break;case"PrintScaling":if(a instanceof Name)switch(a.name){case"None":case"AppDefault":r=a.name;break;default:r="AppDefault"}break;case"Duplex":if(a instanceof Name)switch(a.name){case"Simplex":case"DuplexFlipShortEdge":case"DuplexFlipLongEdge":r=a.name;break;default:r="None"}break;case"PrintPageRange":if(Array.isArray(a)&&a.length%2==0){a.every(((e,t,i)=>Number.isInteger(e)&&e>0&&(0===t||e>=i[t-1])&&e<=this.numPages))&&(r=a)}break;case"NumCopies":Number.isInteger(a)&&a>0&&(r=a);break;default:warn(`Ignoring non-standard key in ViewerPreferences: ${i}.`);continue}if(void 0!==r){t||(t=Object.create(null));t[i]=r}else warn(`Bad value, for key "${i}", in ViewerPreferences: ${a}.`)}return shadow(this,"viewerPreferences",t)}get openAction(){const e=this._catDict.get("OpenAction"),t=Object.create(null);if(e instanceof Dict){const i=new Dict(this.xref);i.set("A",e);const a={url:null,dest:null,action:null};Catalog.parseDestDictionary({destDict:i,resultObj:a});Array.isArray(a.dest)?t.dest=a.dest:a.action&&(t.action=a.action)}else Array.isArray(e)&&(t.dest=e);return shadow(this,"openAction",objectSize(t)>0?t:null)}get attachments(){const e=this._catDict.get("Names");let t=null;if(e instanceof Dict&&e.has("EmbeddedFiles")){const i=new NameTree(e.getRaw("EmbeddedFiles"),this.xref);for(const[e,a]of i.getAll()){const i=new FileSpec(a,this.xref);t||(t=Object.create(null));t[stringToPDFString(e)]=i.serializable}}return shadow(this,"attachments",t)}get xfaImages(){const e=this._catDict.get("Names");let t=null;if(e instanceof Dict&&e.has("XFAImages")){const i=new NameTree(e.getRaw("XFAImages"),this.xref);for(const[e,a]of i.getAll()){t||(t=new Dict(this.xref));t.set(stringToPDFString(e),a)}}return shadow(this,"xfaImages",t)}_collectJavaScript(){const e=this._catDict.get("Names");let t=null;function appendIfJavaScriptDict(e,i){if(!(i instanceof Dict))return;if(!isName(i.get("S"),"JavaScript"))return;let a=i.get("JS");if(a instanceof BaseStream)a=a.getString();else if("string"!=typeof a)return;a=stringToPDFString(a).replaceAll("\0","");a&&(t||=new Map).set(e,a)}if(e instanceof Dict&&e.has("JavaScript")){const t=new NameTree(e.getRaw("JavaScript"),this.xref);for(const[e,i]of t.getAll())appendIfJavaScriptDict(stringToPDFString(e),i)}const i=this._catDict.get("OpenAction");i&&appendIfJavaScriptDict("OpenAction",i);return t}get jsActions(){const e=this._collectJavaScript();let t=collectActions(this.xref,this._catDict,mA);if(e){t||=Object.create(null);for(const[i,a]of e)i in t?t[i].push(a):t[i]=[a]}return shadow(this,"jsActions",t)}async fontFallback(e,t){const i=await Promise.all(this.fontCache);for(const a of i)if(a.loadedName===e){a.fallback(t);return}}async cleanup(e=!1){clearGlobalCaches();this.globalImageCache.clear(e);this.pageKidsCountCache.clear();this.pageIndexCache.clear();this.pageDictCache.clear();this.nonBlendModesSet.clear();const t=await Promise.all(this.fontCache);for(const{dict:e}of t)delete e.cacheKey;this.fontCache.clear();this.builtInCMapCache.clear();this.standardFontDataCache.clear();this.systemFontCache.clear()}async getPageDict(e){const t=[this.toplevelPagesDict],i=new RefSet,a=this._catDict.getRaw("Pages");a instanceof Ref&&i.put(a);const r=this.xref,s=this.pageKidsCountCache,n=this.pageIndexCache,o=this.pageDictCache;let g=0;for(;t.length;){const a=t.pop();if(a instanceof Ref){const c=s.get(a);if(c>=0&&g+c<=e){g+=c;continue}if(i.has(a))throw new FormatError("Pages tree contains circular reference.");i.put(a);const l=await(o.get(a)||r.fetchAsync(a));if(l instanceof Dict){let t=l.getRaw("Type");t instanceof Ref&&(t=await r.fetchAsync(t));if(isName(t,"Page")||!l.has("Kids")){s.has(a)||s.put(a,1);n.has(a)||n.put(a,g);if(g===e)return[l,a];g++;continue}}t.push(l);continue}if(!(a instanceof Dict))throw new FormatError("Page dictionary kid reference points to wrong type of object.");const{objId:c}=a;let l=a.getRaw("Count");l instanceof Ref&&(l=await r.fetchAsync(l));if(Number.isInteger(l)&&l>=0){c&&!s.has(c)&&s.put(c,l);if(g+l<=e){g+=l;continue}}let h=a.getRaw("Kids");h instanceof Ref&&(h=await r.fetchAsync(h));if(!Array.isArray(h)){let t=a.getRaw("Type");t instanceof Ref&&(t=await r.fetchAsync(t));if(isName(t,"Page")||!a.has("Kids")){if(g===e)return[a,null];g++;continue}throw new FormatError("Page dictionary kids object is not an array.")}for(let e=h.length-1;e>=0;e--){const i=h[e];t.push(i);a===this.toplevelPagesDict&&i instanceof Ref&&!o.has(i)&&o.put(i,r.fetchAsync(i))}}throw new Error(`Page index ${e} not found.`)}async getAllPageDicts(e=!1){const{ignoreErrors:t}=this.pdfManager.evaluatorOptions,i=[{currentNode:this.toplevelPagesDict,posInKids:0}],a=new RefSet,r=this._catDict.getRaw("Pages");r instanceof Ref&&a.put(r);const s=new Map,n=this.xref,o=this.pageIndexCache;let g=0;function addPageDict(e,t){t&&!o.has(t)&&o.put(t,g);s.set(g++,[e,t])}function addPageError(i){if(i instanceof XRefEntryException&&!e)throw i;if(e&&t&&0===g){warn(`getAllPageDicts - Skipping invalid first page: "${i}".`);i=Dict.empty}s.set(g++,[i,null])}for(;i.length>0;){const e=i.at(-1),{currentNode:t,posInKids:r}=e;let s=t.getRaw("Kids");if(s instanceof Ref)try{s=await n.fetchAsync(s)}catch(e){addPageError(e);break}if(!Array.isArray(s)){addPageError(new FormatError("Page dictionary kids object is not an array."));break}if(r>=s.length){i.pop();continue}const o=s[r];let g;if(o instanceof Ref){if(a.has(o)){addPageError(new FormatError("Pages tree contains circular reference."));break}a.put(o);try{g=await n.fetchAsync(o)}catch(e){addPageError(e);break}}else g=o;if(!(g instanceof Dict)){addPageError(new FormatError("Page dictionary kid reference points to wrong type of object."));break}let c=g.getRaw("Type");if(c instanceof Ref)try{c=await n.fetchAsync(c)}catch(e){addPageError(e);break}isName(c,"Page")||!g.has("Kids")?addPageDict(g,o instanceof Ref?o:null):i.push({currentNode:g,posInKids:0});e.posInKids++}return s}getPageIndex(e){const t=this.pageIndexCache.get(e);if(void 0!==t)return Promise.resolve(t);const i=this.xref;let a=0;const next=t=>function pagesBeforeRef(t){let a,r=0;return i.fetchAsync(t).then((function(i){if(isRefsEqual(t,e)&&!isDict(i,"Page")&&!(i instanceof Dict&&!i.has("Type")&&i.has("Contents")))throw new FormatError("The reference does not point to a /Page dictionary.");if(!i)return null;if(!(i instanceof Dict))throw new FormatError("Node must be a dictionary.");a=i.getRaw("Parent");return i.getAsync("Parent")})).then((function(e){if(!e)return null;if(!(e instanceof Dict))throw new FormatError("Parent must be a dictionary.");return e.getAsync("Kids")})).then((function(e){if(!e)return null;const s=[];let n=!1;for(const a of e){if(!(a instanceof Ref))throw new FormatError("Kid must be a reference.");if(isRefsEqual(a,t)){n=!0;break}s.push(i.fetchAsync(a).then((function(e){if(!(e instanceof Dict))throw new FormatError("Kid node must be a dictionary.");e.has("Count")?r+=e.get("Count"):r++})))}if(!n)throw new FormatError("Kid reference not found in parent's kids.");return Promise.all(s).then((function(){return[r,a]}))}))}(t).then((t=>{if(!t){this.pageIndexCache.put(e,a);return a}const[i,r]=t;a+=i;return next(r)}));return next(e)}get baseUrl(){const e=this._catDict.get("URI");if(e instanceof Dict){const t=e.get("Base");if("string"==typeof t){const e=createValidAbsoluteUrl(t,null,{tryConvertEncoding:!0});if(e)return shadow(this,"baseUrl",e.href)}}return shadow(this,"baseUrl",this.pdfManager.docBaseUrl)}static parseDestDictionary({destDict:e,resultObj:t,docBaseUrl:i=null,docAttachments:a=null}){if(!(e instanceof Dict)){warn("parseDestDictionary: `destDict` must be a dictionary.");return}let r,s,n=e.get("A");if(!(n instanceof Dict))if(e.has("Dest"))n=e.get("Dest");else{n=e.get("AA");n instanceof Dict&&(n.has("D")?n=n.get("D"):n.has("U")&&(n=n.get("U")))}if(n instanceof Dict){const e=n.get("S");if(!(e instanceof Name)){warn("parseDestDictionary: Invalid type in Action dictionary.");return}const i=e.name;switch(i){case"ResetForm":const e=n.get("Flags"),o=!(1&("number"==typeof e?e:0)),g=[],c=[];for(const e of n.get("Fields")||[])e instanceof Ref?c.push(e.toString()):"string"==typeof e&&g.push(stringToPDFString(e));t.resetForm={fields:g,refs:c,include:o};break;case"URI":r=n.get("URI");r instanceof Name&&(r="/"+r.name);break;case"GoTo":s=n.get("D");break;case"Launch":case"GoToR":const l=n.get("F");if(l instanceof Dict){const e=new FileSpec(l,null,!0),{rawFilename:t}=e.serializable;r=t}else"string"==typeof l&&(r=l);const h=fetchRemoteDest(n);h&&"string"==typeof r&&(r=r.split("#",1)[0]+"#"+h);const C=n.get("NewWindow");"boolean"==typeof C&&(t.newWindow=C);break;case"GoToE":const Q=n.get("T");let E;if(a&&Q instanceof Dict){const e=Q.get("R"),t=Q.get("N");isName(e,"C")&&"string"==typeof t&&(E=a[stringToPDFString(t)])}if(E){t.attachment=E;const e=fetchRemoteDest(n);e&&(t.attachmentDest=e)}else warn('parseDestDictionary - unimplemented "GoToE" action.');break;case"Named":const u=n.get("N");u instanceof Name&&(t.action=u.name);break;case"SetOCGState":const d=n.get("State"),f=n.get("PreserveRB");if(!Array.isArray(d)||0===d.length)break;const p=[];for(const e of d)if(e instanceof Name)switch(e.name){case"ON":case"OFF":case"Toggle":p.push(e.name)}else e instanceof Ref&&p.push(e.toString());if(p.length!==d.length)break;t.setOCGState={state:p,preserveRB:"boolean"!=typeof f||f};break;case"JavaScript":const m=n.get("JS");let y;m instanceof BaseStream?y=m.getString():"string"==typeof m&&(y=m);const w=y&&recoverJsURL(stringToPDFString(y));if(w){r=w.url;t.newWindow=w.newWindow;break}default:if("JavaScript"===i||"SubmitForm"===i)break;warn(`parseDestDictionary - unsupported action: "${i}".`)}}else e.has("Dest")&&(s=e.get("Dest"));if("string"==typeof r){const e=createValidAbsoluteUrl(r,i,{addDefaultProtocol:!0,tryConvertEncoding:!0});e&&(t.url=e.href);t.unsafeUrl=r}if(s){s instanceof Name&&(s=s.name);"string"==typeof s?t.dest=stringToPDFString(s):isValidExplicitDest(s)&&(t.dest=s)}}}function addChildren(e,t){if(e instanceof Dict)e=e.getRawValues();else if(e instanceof BaseStream)e=e.dict.getRawValues();else if(!Array.isArray(e))return;for(const a of e)((i=a)instanceof Ref||i instanceof Dict||i instanceof BaseStream||Array.isArray(i))&&t.push(a);var i}class ObjectLoader{constructor(e,t,i){this.dict=e;this.keys=t;this.xref=i;this.refSet=null}async load(){if(this.xref.stream.isDataLoaded)return;const{keys:e,dict:t}=this;this.refSet=new RefSet;const i=[];for(const a of e){const e=t.getRaw(a);void 0!==e&&i.push(e)}return this._walk(i)}async _walk(e){const t=[],i=[];for(;e.length;){let a=e.pop();if(a instanceof Ref){if(this.refSet.has(a))continue;try{this.refSet.put(a);a=this.xref.fetch(a)}catch(e){if(!(e instanceof MissingDataException)){warn(`ObjectLoader._walk - requesting all data: "${e}".`);this.refSet=null;const{manager:t}=this.xref.stream;return t.requestAllChunks()}t.push(a);i.push({begin:e.begin,end:e.end})}}if(a instanceof BaseStream){const e=a.getBaseStreams();if(e){let r=!1;for(const t of e)if(!t.isDataLoaded){r=!0;i.push({begin:t.start,end:t.end})}r&&t.push(a)}}addChildren(a,e)}if(i.length){await this.xref.stream.manager.requestRanges(i);for(const e of t)e instanceof Ref&&this.refSet.remove(e);return this._walk(t)}this.refSet=null}}const Jr=Symbol(),vr=Symbol(),Yr=Symbol(),Kr=Symbol(),Tr=Symbol(),qr=Symbol(),Or=Symbol(),Pr=Symbol(),Wr=Symbol(),jr=Symbol("content"),Xr=Symbol("data"),Vr=Symbol(),Zr=Symbol("extra"),_r=Symbol(),zr=Symbol(),$r=Symbol(),As=Symbol(),es=Symbol(),ts=Symbol(),is=Symbol(),as=Symbol(),rs=Symbol(),ss=Symbol(),ns=Symbol(),os=Symbol(),gs=Symbol(),Is=Symbol(),cs=Symbol(),ls=Symbol(),hs=Symbol(),Cs=Symbol(),Bs=Symbol(),Qs=Symbol(),Es=Symbol(),us=Symbol(),ds=Symbol(),fs=Symbol(),ps=Symbol(),ms=Symbol(),ys=Symbol(),ws=Symbol(),bs=Symbol(),Ds=Symbol(),Fs=Symbol(),Ss=Symbol(),ks=Symbol("namespaceId"),Rs=Symbol("nodeName"),Ns=Symbol(),Gs=Symbol(),Ms=Symbol(),Us=Symbol(),xs=Symbol(),Ls=Symbol(),Hs=Symbol(),Js=Symbol(),vs=Symbol("root"),Ys=Symbol(),Ks=Symbol(),Ts=Symbol(),qs=Symbol(),Os=Symbol(),Ws=Symbol(),js=Symbol(),Xs=Symbol(),Vs=Symbol(),Zs=Symbol(),_s=Symbol(),zs=Symbol("uid"),$s=Symbol(),An={config:{id:0,check:e=>e.startsWith("http://www.xfa.org/schema/xci/")},connectionSet:{id:1,check:e=>e.startsWith("http://www.xfa.org/schema/xfa-connection-set/")},datasets:{id:2,check:e=>e.startsWith("http://www.xfa.org/schema/xfa-data/")},form:{id:3,check:e=>e.startsWith("http://www.xfa.org/schema/xfa-form/")},localeSet:{id:4,check:e=>e.startsWith("http://www.xfa.org/schema/xfa-locale-set/")},pdf:{id:5,check:e=>"http://ns.adobe.com/xdp/pdf/"===e},signature:{id:6,check:e=>"http://www.w3.org/2000/09/xmldsig#"===e},sourceSet:{id:7,check:e=>e.startsWith("http://www.xfa.org/schema/xfa-source-set/")},stylesheet:{id:8,check:e=>"http://www.w3.org/1999/XSL/Transform"===e},template:{id:9,check:e=>e.startsWith("http://www.xfa.org/schema/xfa-template/")},xdc:{id:10,check:e=>e.startsWith("http://www.xfa.org/schema/xdc/")},xdp:{id:11,check:e=>"http://ns.adobe.com/xdp/"===e},xfdf:{id:12,check:e=>"http://ns.adobe.com/xfdf/"===e},xhtml:{id:13,check:e=>"http://www.w3.org/1999/xhtml"===e},xmpmeta:{id:14,check:e=>"http://ns.adobe.com/xmpmeta/"===e}},en={pt:e=>e,cm:e=>e/2.54*72,mm:e=>e/25.4*72,in:e=>72*e,px:e=>e},tn=/([+-]?\d+\.?\d*)(.*)/;function stripQuotes(e){return e.startsWith("'")||e.startsWith('"')?e.slice(1,-1):e}function getInteger({data:e,defaultValue:t,validate:i}){if(!e)return t;e=e.trim();const a=parseInt(e,10);return!isNaN(a)&&i(a)?a:t}function getFloat({data:e,defaultValue:t,validate:i}){if(!e)return t;e=e.trim();const a=parseFloat(e);return!isNaN(a)&&i(a)?a:t}function getKeyword({data:e,defaultValue:t,validate:i}){return e&&i(e=e.trim())?e:t}function getStringOption(e,t){return getKeyword({data:e,defaultValue:t[0],validate:e=>t.includes(e)})}function getMeasurement(e,t="0"){t||="0";if(!e)return getMeasurement(t);const i=e.trim().match(tn);if(!i)return getMeasurement(t);const[,a,r]=i,s=parseFloat(a);if(isNaN(s))return getMeasurement(t);if(0===s)return 0;const n=en[r];return n?n(s):s}function getRatio(e){if(!e)return{num:1,den:1};const t=e.trim().split(/\s*:\s*/).map((e=>parseFloat(e))).filter((e=>!isNaN(e)));1===t.length&&t.push(1);if(0===t.length)return{num:1,den:1};const[i,a]=t;return{num:i,den:a}}function getRelevant(e){return e?e.trim().split(/\s+/).map((e=>({excluded:"-"===e[0],viewname:e.substring(1)}))):[]}class HTMLResult{static get FAILURE(){return shadow(this,"FAILURE",new HTMLResult(!1,null,null,null))}static get EMPTY(){return shadow(this,"EMPTY",new HTMLResult(!0,null,null,null))}constructor(e,t,i,a){this.success=e;this.html=t;this.bbox=i;this.breakNode=a}isBreak(){return!!this.breakNode}static breakNode(e){return new HTMLResult(!1,null,null,e)}static success(e,t=null){return new HTMLResult(!0,e,t,null)}}class FontFinder{constructor(e){this.fonts=new Map;this.cache=new Map;this.warned=new Set;this.defaultFont=null;this.add(e)}add(e,t=null){for(const t of e)this.addPdfFont(t);for(const e of this.fonts.values())e.regular||(e.regular=e.italic||e.bold||e.bolditalic);if(!t||0===t.size)return;const i=this.fonts.get("PdfJS-Fallback-PdfJS-XFA");for(const e of t)this.fonts.set(e,i)}addPdfFont(e){const t=e.cssFontInfo,i=t.fontFamily;let a=this.fonts.get(i);if(!a){a=Object.create(null);this.fonts.set(i,a);this.defaultFont||(this.defaultFont=a)}let r="";const s=parseFloat(t.fontWeight);0!==parseFloat(t.italicAngle)?r=s>=700?"bolditalic":"italic":s>=700&&(r="bold");if(!r){(e.name.includes("Bold")||e.psName?.includes("Bold"))&&(r="bold");(e.name.includes("Italic")||e.name.endsWith("It")||e.psName?.includes("Italic")||e.psName?.endsWith("It"))&&(r+="italic")}r||(r="regular");a[r]=e}getDefault(){return this.defaultFont}find(e,t=!0){let i=this.fonts.get(e)||this.cache.get(e);if(i)return i;const a=/,|-|_| |bolditalic|bold|italic|regular|it/gi;let r=e.replaceAll(a,"");i=this.fonts.get(r);if(i){this.cache.set(e,i);return i}r=r.toLowerCase();const s=[];for(const[e,t]of this.fonts.entries())e.replaceAll(a,"").toLowerCase().startsWith(r)&&s.push(t);if(0===s.length)for(const[,e]of this.fonts.entries())e.regular.name?.replaceAll(a,"").toLowerCase().startsWith(r)&&s.push(e);if(0===s.length){r=r.replaceAll(/psmt|mt/gi,"");for(const[e,t]of this.fonts.entries())e.replaceAll(a,"").toLowerCase().startsWith(r)&&s.push(t)}if(0===s.length)for(const e of this.fonts.values())e.regular.name?.replaceAll(a,"").toLowerCase().startsWith(r)&&s.push(e);if(s.length>=1){1!==s.length&&t&&warn(`XFA - Too many choices to guess the correct font: ${e}`);this.cache.set(e,s[0]);return s[0]}if(t&&!this.warned.has(e)){this.warned.add(e);warn(`XFA - Cannot find the font: ${e}`)}return null}}function selectFont(e,t){return"italic"===e.posture?"bold"===e.weight?t.bolditalic:t.italic:"bold"===e.weight?t.bold:t.regular}class FontInfo{constructor(e,t,i,a){this.lineHeight=i;this.paraMargin=t||{top:0,bottom:0,left:0,right:0};if(!e){[this.pdfFont,this.xfaFont]=this.defaultFont(a);return}this.xfaFont={typeface:e.typeface,posture:e.posture,weight:e.weight,size:e.size,letterSpacing:e.letterSpacing};const r=a.find(e.typeface);if(r){this.pdfFont=selectFont(e,r);this.pdfFont||([this.pdfFont,this.xfaFont]=this.defaultFont(a))}else[this.pdfFont,this.xfaFont]=this.defaultFont(a)}defaultFont(e){const t=e.find("Helvetica",!1)||e.find("Myriad Pro",!1)||e.find("Arial",!1)||e.getDefault();if(t?.regular){const e=t.regular;return[e,{typeface:e.cssFontInfo.fontFamily,posture:"normal",weight:"normal",size:10,letterSpacing:0}]}return[null,{typeface:"Courier",posture:"normal",weight:"normal",size:10,letterSpacing:0}]}}class FontSelector{constructor(e,t,i,a){this.fontFinder=a;this.stack=[new FontInfo(e,t,i,a)]}pushData(e,t,i){const a=this.stack.at(-1);for(const t of["typeface","posture","weight","size","letterSpacing"])e[t]||(e[t]=a.xfaFont[t]);for(const e of["top","bottom","left","right"])isNaN(t[e])&&(t[e]=a.paraMargin[e]);const r=new FontInfo(e,t,i||a.lineHeight,this.fontFinder);r.pdfFont||(r.pdfFont=a.pdfFont);this.stack.push(r)}popFont(){this.stack.pop()}topFont(){return this.stack.at(-1)}}class TextMeasure{constructor(e,t,i,a){this.glyphs=[];this.fontSelector=new FontSelector(e,t,i,a);this.extraHeight=0}pushData(e,t,i){this.fontSelector.pushData(e,t,i)}popFont(e){return this.fontSelector.popFont()}addPara(){const e=this.fontSelector.topFont();this.extraHeight+=e.paraMargin.top+e.paraMargin.bottom}addString(e){if(!e)return;const t=this.fontSelector.topFont(),i=t.xfaFont.size;if(t.pdfFont){const a=t.xfaFont.letterSpacing,r=t.pdfFont,s=r.lineHeight||1.2,n=t.lineHeight||Math.max(1.2,s)*i,o=s-(void 0===r.lineGap?.2:r.lineGap),g=Math.max(1,o)*i,c=i/1e3,l=r.defaultWidth||r.charsToGlyphs(" ")[0].width;for(const t of e.split(/[\u2029\n]/)){const e=r.encodeString(t).join(""),i=r.charsToGlyphs(e);for(const e of i){const t=e.width||l;this.glyphs.push([t*c+a,n,g,e.unicode,!1])}this.glyphs.push([0,0,0,"\n",!0])}this.glyphs.pop()}else{for(const t of e.split(/[\u2029\n]/)){for(const e of t.split(""))this.glyphs.push([i,1.2*i,i,e,!1]);this.glyphs.push([0,0,0,"\n",!0])}this.glyphs.pop()}}compute(e){let t=-1,i=0,a=0,r=0,s=0,n=0,o=!1,g=!0;for(let c=0,l=this.glyphs.length;ce){a=Math.max(a,s);s=0;r+=n;n=d;t=-1;i=0;o=!0;g=!1}else{n=Math.max(d,n);i=s;s+=l;t=c}else if(s+l>e){r+=n;n=d;if(-1!==t){c=t;a=Math.max(a,i);s=0;t=-1;i=0}else{a=Math.max(a,s);s=l}o=!0;g=!1}else{s+=l;n=Math.max(d,n)}}a=Math.max(a,s);r+=n+this.extraHeight;return{width:1.02*a,height:r,isBroken:o}}}const an=/^[^.[]+/,rn=/^[^\]]+/,sn=0,nn=1,on=2,gn=3,In=4,cn=new Map([["$data",(e,t)=>e.datasets?e.datasets.data:e],["$record",(e,t)=>(e.datasets?e.datasets.data:e)[os]()[0]],["$template",(e,t)=>e.template],["$connectionSet",(e,t)=>e.connectionSet],["$form",(e,t)=>e.form],["$layout",(e,t)=>e.layout],["$host",(e,t)=>e.host],["$dataWindow",(e,t)=>e.dataWindow],["$event",(e,t)=>e.event],["!",(e,t)=>e.datasets],["$xfa",(e,t)=>e],["xfa",(e,t)=>e],["$",(e,t)=>t]]),ln=new WeakMap;function parseExpression(e,t,i=!0){let a=e.match(an);if(!a)return null;let[r]=a;const s=[{name:r,cacheName:"."+r,index:0,js:null,formCalc:null,operator:sn}];let n=r.length;for(;n0&&l.push(e)}if(0!==l.length||o||0!==g)e=isFinite(c)?l.filter((e=>ce[c])):l.flat();else{const i=t[ls]();if(!(t=i))return null;g=-1;e=[t]}}return 0===e.length?null:e}function createDataNode(e,t,i){const a=parseExpression(i);if(!a)return null;if(a.some((e=>e.operator===nn)))return null;const r=cn.get(a[0].name);let s=0;if(r){e=r(e,t);s=1}else e=t||e;for(let t=a.length;se[js]())).join("")}get[Bn](){const e=Object.getPrototypeOf(this);if(!e._attributes){const t=e._attributes=new Set;for(const e of Object.getOwnPropertyNames(this)){if(null===this[e]||this[e]instanceof XFAObject||this[e]instanceof XFAObjectArray)break;t.add(e)}}return shadow(this,Bn,e._attributes)}[ms](e){let t=this;for(;t;){if(t===e)return!0;t=t[ls]()}return!1}[ls](){return this[Dn]}[cs](){return this[ls]()}[os](e=null){return e?this[e]:this[Qn]}[Vr](){const e=Object.create(null);this[jr]&&(e.$content=this[jr]);for(const t of Object.getOwnPropertyNames(this)){const i=this[t];null!==i&&(i instanceof XFAObject?e[t]=i[Vr]():i instanceof XFAObjectArray?i.isEmpty()||(e[t]=i.dump()):e[t]=i)}return e}[_s](){return null}[Vs](){return HTMLResult.EMPTY}*[gs](){for(const e of this[os]())yield e}*[fn](e,t){for(const i of this[gs]())if(!e||t===e.has(i[Rs])){const e=this[es](),t=i[Vs](e);t.success||(this[Zr].failingNode=i);yield t}}[zr](){return null}[vr](e,t){this[Zr].children.push(e)}[es](){}[Kr]({filter:e=null,include:t=!0}){if(this[Zr].generator){const e=this[es](),t=this[Zr].failingNode[Vs](e);if(!t.success)return t;t.html&&this[vr](t.html,t.bbox);delete this[Zr].failingNode}else this[Zr].generator=this[fn](e,t);for(;;){const e=this[Zr].generator.next();if(e.done)break;const t=e.value;if(!t.success)return t;t.html&&this[vr](t.html,t.bbox)}this[Zr].generator=null;return HTMLResult.EMPTY}[qs](e){this[Sn]=new Set(Object.keys(e))}[mn](e){const t=this[Bn],i=this[Sn];return[...e].filter((e=>t.has(e)&&!i.has(e)))}[Ys](e,t=new Set){for(const i of this[Qn])i[Fn](e,t)}[Fn](e,t){const i=this[pn](e,t);i?this[hn](i,e,t):this[Ys](e,t)}[pn](e,t){const{use:i,usehref:a}=this;if(!i&&!a)return null;let r=null,s=null,n=null,o=i;if(a){o=a;a.startsWith("#som(")&&a.endsWith(")")?s=a.slice(5,-1):a.startsWith(".#som(")&&a.endsWith(")")?s=a.slice(6,-1):a.startsWith("#")?n=a.slice(1):a.startsWith(".#")&&(n=a.slice(2))}else i.startsWith("#")?n=i.slice(1):s=i;this.use=this.usehref="";if(n)r=e.get(n);else{r=searchNode(e.get(vs),this,s,!0,!1);r&&(r=r[0])}if(!r){warn(`XFA - Invalid prototype reference: ${o}.`);return null}if(r[Rs]!==this[Rs]){warn(`XFA - Incompatible prototype: ${r[Rs]} !== ${this[Rs]}.`);return null}if(t.has(r)){warn("XFA - Cycle detected in prototypes use.");return null}t.add(r);const g=r[pn](e,t);g&&r[hn](g,e,t);r[Ys](e,t);t.delete(r);return r}[hn](e,t,i){if(i.has(e)){warn("XFA - Cycle detected in prototypes use.");return}!this[jr]&&e[jr]&&(this[jr]=e[jr]);new Set(i).add(e);for(const t of this[mn](e[Sn])){this[t]=e[t];this[Sn]&&this[Sn].add(t)}for(const a of Object.getOwnPropertyNames(this)){if(this[Bn].has(a))continue;const r=this[a],s=e[a];if(r instanceof XFAObjectArray){for(const e of r[Qn])e[Fn](t,i);for(let a=r[Qn].length,n=s[Qn].length;aXFAObject[En](e))):"object"==typeof e&&null!==e?Object.assign({},e):e}[Pr](){const e=Object.create(Object.getPrototypeOf(this));for(const t of Object.getOwnPropertySymbols(this))try{e[t]=this[t]}catch{shadow(e,t,this[t])}e[zs]=`${e[Rs]}${Rn++}`;e[Qn]=[];for(const t of Object.getOwnPropertyNames(this)){if(this[Bn].has(t)){e[t]=XFAObject[En](this[t]);continue}const i=this[t];e[t]=i instanceof XFAObjectArray?new XFAObjectArray(i[wn]):null}for(const t of this[Qn]){const i=t[Rs],a=t[Pr]();e[Qn].push(a);a[Dn]=e;null===e[i]?e[i]=a:e[i][Qn].push(a)}return e}[os](e=null){return e?this[Qn].filter((t=>t[Rs]===e)):this[Qn]}[ts](e){return this[e]}[is](e,t,i=!0){return Array.from(this[as](e,t,i))}*[as](e,t,i=!0){if("parent"!==e){for(const i of this[Qn]){i[Rs]===e&&(yield i);i.name===e&&(yield i);(t||i[Ds]())&&(yield*i[as](e,t,!1))}i&&this[Bn].has(e)&&(yield new XFAAttribute(this,e,this[e]))}else yield this[Dn]}}class XFAObjectArray{constructor(e=1/0){this[wn]=e;this[Qn]=[]}get isXFAObject(){return!1}get isXFAObjectArray(){return!0}push(e){if(this[Qn].length<=this[wn]){this[Qn].push(e);return!0}warn(`XFA - node "${e[Rs]}" accepts no more than ${this[wn]} children`);return!1}isEmpty(){return 0===this[Qn].length}dump(){return 1===this[Qn].length?this[Qn][0][Vr]():this[Qn].map((e=>e[Vr]()))}[Pr](){const e=new XFAObjectArray(this[wn]);e[Qn]=this[Qn].map((e=>e[Pr]()));return e}get children(){return this[Qn]}clear(){this[Qn].length=0}}class XFAAttribute{constructor(e,t,i){this[Dn]=e;this[Rs]=t;this[jr]=i;this[Wr]=!1;this[zs]="attribute"+Rn++}[ls](){return this[Dn]}[ps](){return!0}[rs](){return this[jr].trim()}[Os](e){e=e.value||"";this[jr]=e.toString()}[js](){return this[jr]}[ms](e){return this[Dn]===e||this[Dn][ms](e)}}class XmlObject extends XFAObject{constructor(e,t,i={}){super(e,t);this[jr]="";this[un]=null;if("#text"!==t){const e=new Map;this[Cn]=e;for(const[t,a]of Object.entries(i))e.set(t,new XFAAttribute(this,t,a));if(i.hasOwnProperty(Ns)){const e=i[Ns].xfa.dataNode;void 0!==e&&("dataGroup"===e?this[un]=!1:"dataValue"===e&&(this[un]=!0))}}this[Wr]=!1}[Zs](e){const t=this[Rs];if("#text"===t){e.push(encodeToXmlString(this[jr]));return}const i=utf8StringToString(t),a=this[ks]===Nn?"xfa:":"";e.push(`<${a}${i}`);for(const[t,i]of this[Cn].entries()){const a=utf8StringToString(t);e.push(` ${a}="${encodeToXmlString(i[jr])}"`)}null!==this[un]&&(this[un]?e.push(' xfa:dataNode="dataValue"'):e.push(' xfa:dataNode="dataGroup"'));if(this[jr]||0!==this[Qn].length){e.push(">");if(this[jr])"string"==typeof this[jr]?e.push(encodeToXmlString(this[jr])):this[jr][Zs](e);else for(const t of this[Qn])t[Zs](e);e.push(``)}else e.push("/>")}[Gs](e){if(this[jr]){const e=new XmlObject(this[ks],"#text");this[Yr](e);e[jr]=this[jr];this[jr]=""}this[Yr](e);return!0}[Us](e){this[jr]+=e}[_r](){if(this[jr]&&this[Qn].length>0){const e=new XmlObject(this[ks],"#text");this[Yr](e);e[jr]=this[jr];delete this[jr]}}[Vs](){return"#text"===this[Rs]?HTMLResult.success({name:"#text",value:this[jr]}):HTMLResult.EMPTY}[os](e=null){return e?this[Qn].filter((t=>t[Rs]===e)):this[Qn]}[As](){return this[Cn]}[ts](e){const t=this[Cn].get(e);return void 0!==t?t:this[os](e)}*[as](e,t){const i=this[Cn].get(e);i&&(yield i);for(const i of this[Qn]){i[Rs]===e&&(yield i);t&&(yield*i[as](e,t))}}*[$r](e,t){const i=this[Cn].get(e);!i||t&&i[Wr]||(yield i);for(const i of this[Qn])yield*i[$r](e,t)}*[ns](e,t,i){for(const a of this[Qn]){a[Rs]!==e||i&&a[Wr]||(yield a);t&&(yield*a[ns](e,t,i))}}[ps](){return null===this[un]?0===this[Qn].length||this[Qn][0][ks]===An.xhtml.id:this[un]}[rs](){return null===this[un]?0===this[Qn].length?this[jr].trim():this[Qn][0][ks]===An.xhtml.id?this[Qn][0][js]().trim():null:this[jr].trim()}[Os](e){e=e.value||"";this[jr]=e.toString()}[Vr](e=!1){const t=Object.create(null);e&&(t.$ns=this[ks]);this[jr]&&(t.$content=this[jr]);t.$name=this[Rs];t.children=[];for(const i of this[Qn])t.children.push(i[Vr](e));t.attributes=Object.create(null);for(const[e,i]of this[Cn])t.attributes[e]=i[jr];return t}}class ContentObject extends XFAObject{constructor(e,t){super(e,t);this[jr]=""}[Us](e){this[jr]+=e}[_r](){}}class OptionObject extends ContentObject{constructor(e,t,i){super(e,t);this[bn]=i}[_r](){this[jr]=getKeyword({data:this[jr],defaultValue:this[bn][0],validate:e=>this[bn].includes(e)})}[Tr](e){super[Tr](e);delete this[bn]}}class StringObject extends ContentObject{[_r](){this[jr]=this[jr].trim()}}class IntegerObject extends ContentObject{constructor(e,t,i,a){super(e,t);this[dn]=i;this[kn]=a}[_r](){this[jr]=getInteger({data:this[jr],defaultValue:this[dn],validate:this[kn]})}[Tr](e){super[Tr](e);delete this[dn];delete this[kn]}}class Option01 extends IntegerObject{constructor(e,t){super(e,t,0,(e=>1===e))}}class Option10 extends IntegerObject{constructor(e,t){super(e,t,1,(e=>0===e))}}function measureToString(e){return"string"==typeof e?"0px":Number.isInteger(e)?`${e}px`:`${e.toFixed(2)}px`}const Gn={anchorType(e,t){const i=e[cs]();if(i&&(!i.layout||"position"===i.layout)){"transform"in t||(t.transform="");switch(e.anchorType){case"bottomCenter":t.transform+="translate(-50%, -100%)";break;case"bottomLeft":t.transform+="translate(0,-100%)";break;case"bottomRight":t.transform+="translate(-100%,-100%)";break;case"middleCenter":t.transform+="translate(-50%,-50%)";break;case"middleLeft":t.transform+="translate(0,-50%)";break;case"middleRight":t.transform+="translate(-100%,-50%)";break;case"topCenter":t.transform+="translate(-50%,0)";break;case"topRight":t.transform+="translate(-100%,0)"}}},dimensions(e,t){const i=e[cs]();let a=e.w;const r=e.h;if(i.layout?.includes("row")){const t=i[Zr],r=e.colSpan;let s;if(-1===r){s=t.columnWidths.slice(t.currentColumn).reduce(((e,t)=>e+t),0);t.currentColumn=0}else{s=t.columnWidths.slice(t.currentColumn,t.currentColumn+r).reduce(((e,t)=>e+t),0);t.currentColumn=(t.currentColumn+e.colSpan)%t.columnWidths.length}isNaN(s)||(a=e.w=s)}t.width=""!==a?measureToString(a):"auto";t.height=""!==r?measureToString(r):"auto"},position(e,t){const i=e[cs]();if(!i?.layout||"position"===i.layout){t.position="absolute";t.left=measureToString(e.x);t.top=measureToString(e.y)}},rotate(e,t){if(e.rotate){"transform"in t||(t.transform="");t.transform+=`rotate(-${e.rotate}deg)`;t.transformOrigin="top left"}},presence(e,t){switch(e.presence){case"invisible":t.visibility="hidden";break;case"hidden":case"inactive":t.display="none"}},hAlign(e,t){if("para"===e[Rs])switch(e.hAlign){case"justifyAll":t.textAlign="justify-all";break;case"radix":t.textAlign="left";break;default:t.textAlign=e.hAlign}else switch(e.hAlign){case"left":t.alignSelf="start";break;case"center":t.alignSelf="center";break;case"right":t.alignSelf="end"}},margin(e,t){e.margin&&(t.margin=e.margin[_s]().margin)}};function setMinMaxDimensions(e,t){if("position"===e[cs]().layout){e.minW>0&&(t.minWidth=measureToString(e.minW));e.maxW>0&&(t.maxWidth=measureToString(e.maxW));e.minH>0&&(t.minHeight=measureToString(e.minH));e.maxH>0&&(t.maxHeight=measureToString(e.maxH))}}function layoutText(e,t,i,a,r,s){const n=new TextMeasure(t,i,a,r);"string"==typeof e?n.addString(e):e[xs](n);return n.compute(s)}function layoutNode(e,t){let i=null,a=null,r=!1;if((!e.w||!e.h)&&e.value){let s=0,n=0;if(e.margin){s=e.margin.leftInset+e.margin.rightInset;n=e.margin.topInset+e.margin.bottomInset}let o=null,g=null;if(e.para){g=Object.create(null);o=""===e.para.lineHeight?null:e.para.lineHeight;g.top=""===e.para.spaceAbove?0:e.para.spaceAbove;g.bottom=""===e.para.spaceBelow?0:e.para.spaceBelow;g.left=""===e.para.marginLeft?0:e.para.marginLeft;g.right=""===e.para.marginRight?0:e.para.marginRight}let c=e.font;if(!c){const t=e[hs]();let i=e[ls]();for(;i&&i!==t;){if(i.font){c=i.font;break}i=i[ls]()}}const l=(e.w||t.width)-s,h=e[Cs].fontFinder;if(e.value.exData&&e.value.exData[jr]&&"text/html"===e.value.exData.contentType){const t=layoutText(e.value.exData[jr],c,g,o,h,l);a=t.width;i=t.height;r=t.isBroken}else{const t=e.value[js]();if(t){const e=layoutText(t,c,g,o,h,l);a=e.width;i=e.height;r=e.isBroken}}null===a||e.w||(a+=s);null===i||e.h||(i+=n)}return{w:a,h:i,isBroken:r}}function computeBbox(e,t,i){let a;if(""!==e.w&&""!==e.h)a=[e.x,e.y,e.w,e.h];else{if(!i)return null;let r=e.w;if(""===r){if(0===e.maxW){const t=e[cs]();r="position"===t.layout&&""!==t.w?0:e.minW}else r=Math.min(e.maxW,i.width);t.attributes.style.width=measureToString(r)}let s=e.h;if(""===s){if(0===e.maxH){const t=e[cs]();s="position"===t.layout&&""!==t.h?0:e.minH}else s=Math.min(e.maxH,i.height);t.attributes.style.height=measureToString(s)}a=[e.x,e.y,r,s]}return a}function fixDimensions(e){const t=e[cs]();if(t.layout?.includes("row")){const i=t[Zr],a=e.colSpan;let r;r=-1===a?i.columnWidths.slice(i.currentColumn).reduce(((e,t)=>e+t),0):i.columnWidths.slice(i.currentColumn,i.currentColumn+a).reduce(((e,t)=>e+t),0);isNaN(r)||(e.w=r)}t.layout&&"position"!==t.layout&&(e.x=e.y=0);"table"===e.layout&&""===e.w&&Array.isArray(e.columnWidths)&&(e.w=e.columnWidths.reduce(((e,t)=>e+t),0))}function layoutClass(e){switch(e.layout){case"position":default:return"xfaPosition";case"lr-tb":return"xfaLrTb";case"rl-row":return"xfaRlRow";case"rl-tb":return"xfaRlTb";case"row":return"xfaRow";case"table":return"xfaTable";case"tb":return"xfaTb"}}function toStyle(e,...t){const i=Object.create(null);for(const a of t){const t=e[a];if(null!==t)if(Gn.hasOwnProperty(a))Gn[a](e,i);else if(t instanceof XFAObject){const e=t[_s]();e?Object.assign(i,e):warn(`(DEBUG) - XFA - style for ${a} not implemented yet`)}}return i}function createWrapper(e,t){const{attributes:i}=t,{style:a}=i,r={name:"div",attributes:{class:["xfaWrapper"],style:Object.create(null)},children:[]};i.class.push("xfaWrapped");if(e.border){const{widths:i,insets:s}=e.border[Zr];let n,o,g=s[0],c=s[3];const l=s[0]+s[2],h=s[1]+s[3];switch(e.border.hand){case"even":g-=i[0]/2;c-=i[3]/2;n=`calc(100% + ${(i[1]+i[3])/2-h}px)`;o=`calc(100% + ${(i[0]+i[2])/2-l}px)`;break;case"left":g-=i[0];c-=i[3];n=`calc(100% + ${i[1]+i[3]-h}px)`;o=`calc(100% + ${i[0]+i[2]-l}px)`;break;case"right":n=h?`calc(100% - ${h}px)`:"100%";o=l?`calc(100% - ${l}px)`:"100%"}const C=["xfaBorder"];isPrintOnly(e.border)&&C.push("xfaPrintOnly");const Q={name:"div",attributes:{class:C,style:{top:`${g}px`,left:`${c}px`,width:n,height:o}},children:[]};for(const e of["border","borderWidth","borderColor","borderRadius","borderStyle"])if(void 0!==a[e]){Q.attributes.style[e]=a[e];delete a[e]}r.children.push(Q,t)}else r.children.push(t);for(const e of["background","backgroundClip","top","left","width","height","minWidth","minHeight","maxWidth","maxHeight","transform","transformOrigin","visibility"])if(void 0!==a[e]){r.attributes.style[e]=a[e];delete a[e]}r.attributes.style.position="absolute"===a.position?"absolute":"relative";delete a.position;if(a.alignSelf){r.attributes.style.alignSelf=a.alignSelf;delete a.alignSelf}return r}function fixTextIndent(e){const t=getMeasurement(e.textIndent,"0px");if(t>=0)return;const i="padding"+("left"===("right"===e.textAlign?"right":"left")?"Left":"Right"),a=getMeasurement(e[i],"0px");e[i]=a-t+"px"}function setAccess(e,t){switch(e.access){case"nonInteractive":t.push("xfaNonInteractive");break;case"readOnly":t.push("xfaReadOnly");break;case"protected":t.push("xfaDisabled")}}function isPrintOnly(e){return e.relevant.length>0&&!e.relevant[0].excluded&&"print"===e.relevant[0].viewname}function getCurrentPara(e){const t=e[hs]()[Zr].paraStack;return t.length?t.at(-1):null}function setPara(e,t,i){if(i.attributes.class?.includes("xfaRich")){if(t){""===e.h&&(t.height="auto");""===e.w&&(t.width="auto")}const a=getCurrentPara(e);if(a){const e=i.attributes.style;e.display="flex";e.flexDirection="column";switch(a.vAlign){case"top":e.justifyContent="start";break;case"bottom":e.justifyContent="end";break;case"middle":e.justifyContent="center"}const t=a[_s]();for(const[i,a]of Object.entries(t))i in e||(e[i]=a)}}}function setFontFamily(e,t,i,a){if(!i){delete a.fontFamily;return}const r=stripQuotes(e.typeface);a.fontFamily=`"${r}"`;const s=i.find(r);if(s){const{fontFamily:i}=s.regular.cssFontInfo;i!==r&&(a.fontFamily=`"${i}"`);const n=getCurrentPara(t);if(n&&""!==n.lineHeight)return;if(a.lineHeight)return;const o=selectFont(e,s);o&&(a.lineHeight=Math.max(1.2,o.lineHeight))}}function fixURL(e){const t=createValidAbsoluteUrl(e,null,{addDefaultProtocol:!0,tryConvertEncoding:!0});return t?t.href:null}function createLine(e,t){return{name:"div",attributes:{class:["lr-tb"===e.layout?"xfaLr":"xfaRl"]},children:t}}function flushHTML(e){if(!e[Zr])return null;const t={name:"div",attributes:e[Zr].attributes,children:e[Zr].children};if(e[Zr].failingNode){const i=e[Zr].failingNode[zr]();i&&(e.layout.endsWith("-tb")?t.children.push(createLine(e,[i])):t.children.push(i))}return 0===t.children.length?null:t}function addHTML(e,t,i){const a=e[Zr],r=a.availableSpace,[s,n,o,g]=i;switch(e.layout){case"position":a.width=Math.max(a.width,s+o);a.height=Math.max(a.height,n+g);a.children.push(t);break;case"lr-tb":case"rl-tb":if(!a.line||1===a.attempt){a.line=createLine(e,[]);a.children.push(a.line);a.numberInLine=0}a.numberInLine+=1;a.line.children.push(t);if(0===a.attempt){a.currentWidth+=o;a.height=Math.max(a.height,a.prevHeight+g)}else{a.currentWidth=o;a.prevHeight=a.height;a.height+=g;a.attempt=0}a.width=Math.max(a.width,a.currentWidth);break;case"rl-row":case"row":{a.children.push(t);a.width+=o;a.height=Math.max(a.height,g);const e=measureToString(a.height);for(const t of a.children)t.attributes.style.height=e;break}case"table":case"tb":a.width=Math.min(r.width,Math.max(a.width,o));a.height+=g;a.children.push(t)}}function getAvailableSpace(e){const t=e[Zr].availableSpace,i=e.margin?e.margin.topInset+e.margin.bottomInset:0,a=e.margin?e.margin.leftInset+e.margin.rightInset:0;switch(e.layout){case"lr-tb":case"rl-tb":return 0===e[Zr].attempt?{width:t.width-a-e[Zr].currentWidth,height:t.height-i-e[Zr].prevHeight}:{width:t.width-a,height:t.height-i-e[Zr].height};case"rl-row":case"row":return{width:e[Zr].columnWidths.slice(e[Zr].currentColumn).reduce(((e,t)=>e+t)),height:t.height-a};case"table":case"tb":return{width:t.width-a,height:t.height-i-e[Zr].height};default:return t}}function checkDimensions(e,t){if(null===e[hs]()[Zr].firstUnsplittable)return!0;if(0===e.w||0===e.h)return!0;const i=e[cs](),a=i[Zr]?.attempt||0,[,r,s,n]=function getTransformedBBox(e){let t,i,a=""===e.w?NaN:e.w,r=""===e.h?NaN:e.h,[s,n]=[0,0];switch(e.anchorType||""){case"bottomCenter":[s,n]=[a/2,r];break;case"bottomLeft":[s,n]=[0,r];break;case"bottomRight":[s,n]=[a,r];break;case"middleCenter":[s,n]=[a/2,r/2];break;case"middleLeft":[s,n]=[0,r/2];break;case"middleRight":[s,n]=[a,r/2];break;case"topCenter":[s,n]=[a/2,0];break;case"topRight":[s,n]=[a,0]}switch(e.rotate||0){case 0:[t,i]=[-s,-n];break;case 90:[t,i]=[-n,s];[a,r]=[r,-a];break;case 180:[t,i]=[s,n];[a,r]=[-a,-r];break;case 270:[t,i]=[n,-s];[a,r]=[-r,a]}return[e.x+t+Math.min(0,a),e.y+i+Math.min(0,r),Math.abs(a),Math.abs(r)]}(e);switch(i.layout){case"lr-tb":case"rl-tb":return 0===a?e[hs]()[Zr].noLayoutFailure?""!==e.w?Math.round(s-t.width)<=2:t.width>2:!(""!==e.h&&Math.round(n-t.height)>2)&&(""!==e.w?Math.round(s-t.width)<=2||0===i[Zr].numberInLine&&t.height>2:t.width>2):!!e[hs]()[Zr].noLayoutFailure||!(""!==e.h&&Math.round(n-t.height)>2)&&((""===e.w||Math.round(s-t.width)<=2||!i[bs]())&&t.height>2);case"table":case"tb":return!!e[hs]()[Zr].noLayoutFailure||(""===e.h||e[ws]()?(""===e.w||Math.round(s-t.width)<=2||!i[bs]())&&t.height>2:Math.round(n-t.height)<=2);case"position":if(e[hs]()[Zr].noLayoutFailure)return!0;if(""===e.h||Math.round(n+r-t.height)<=2)return!0;return n+r>e[hs]()[Zr].currentContentArea.h;case"rl-row":case"row":return!!e[hs]()[Zr].noLayoutFailure||(""===e.h||Math.round(n-t.height)<=2);default:return!0}}const Mn=An.template.id,Un="http://www.w3.org/2000/svg",xn=/^H(\d+)$/,Ln=new Set(["image/gif","image/jpeg","image/jpg","image/pjpeg","image/png","image/apng","image/x-png","image/bmp","image/x-ms-bmp","image/tiff","image/tif","application/octet-stream"]),Hn=[[[66,77],"image/bmp"],[[255,216,255],"image/jpeg"],[[73,73,42,0],"image/tiff"],[[77,77,0,42],"image/tiff"],[[71,73,70,56,57,97],"image/gif"],[[137,80,78,71,13,10,26,10],"image/png"]];function getBorderDims(e){if(!e||!e.border)return{w:0,h:0};const t=e.border[ss]();return t?{w:t.widths[0]+t.widths[2]+t.insets[0]+t.insets[2],h:t.widths[1]+t.widths[3]+t.insets[1]+t.insets[3]}:{w:0,h:0}}function hasMargin(e){return e.margin&&(e.margin.topInset||e.margin.rightInset||e.margin.bottomInset||e.margin.leftInset)}function _setValue(e,t){if(!e.value){const t=new Value({});e[Yr](t);e.value=t}e.value[Os](t)}function*getContainedChildren(e){for(const t of e[os]())t instanceof SubformSet?yield*t[gs]():yield t}function isRequired(e){return"error"===e.validate?.nullTest}function setTabIndex(e){for(;e;){if(!e.traversal){e[Ws]=e[ls]()[Ws];return}if(e[Ws])return;let t=null;for(const i of e.traversal[os]())if("next"===i.operation){t=i;break}if(!t||!t.ref){e[Ws]=e[ls]()[Ws];return}const i=e[hs]();e[Ws]=++i[Ws];const a=i[Ks](t.ref,e);if(!a)return;e=a[0]}}function applyAssist(e,t){const i=e.assist;if(i){const e=i[Vs]();e&&(t.title=e);const a=i.role.match(xn);if(a){const e="heading",i=a[1];t.role=e;t["aria-level"]=i}}if("table"===e.layout)t.role="table";else if("row"===e.layout)t.role="row";else{const i=e[ls]();"row"===i.layout&&(t.role="TH"===i.assist?.role?"columnheader":"cell")}}function ariaLabel(e){if(!e.assist)return null;const t=e.assist;return t.speak&&""!==t.speak[jr]?t.speak[jr]:t.toolTip?t.toolTip[jr]:null}function valueToHtml(e){return HTMLResult.success({name:"div",attributes:{class:["xfaRich"],style:Object.create(null)},children:[{name:"span",attributes:{style:Object.create(null)},value:e}]})}function setFirstUnsplittable(e){const t=e[hs]();if(null===t[Zr].firstUnsplittable){t[Zr].firstUnsplittable=e;t[Zr].noLayoutFailure=!0}}function unsetFirstUnsplittable(e){const t=e[hs]();t[Zr].firstUnsplittable===e&&(t[Zr].noLayoutFailure=!1)}function handleBreak(e){if(e[Zr])return!1;e[Zr]=Object.create(null);if("auto"===e.targetType)return!1;const t=e[hs]();let i=null;if(e.target){i=t[Ks](e.target,e[ls]());if(!i)return!1;i=i[0]}const{currentPageArea:a,currentContentArea:r}=t[Zr];if("pageArea"===e.targetType){i instanceof PageArea||(i=null);if(e.startNew){e[Zr].target=i||a;return!0}if(i&&i!==a){e[Zr].target=i;return!0}return!1}i instanceof ContentArea||(i=null);const s=i&&i[ls]();let n,o=s;if(e.startNew)if(i){const e=s.contentArea.children,t=e.indexOf(r),a=e.indexOf(i);-1!==t&&te;a[Zr].noLayoutFailure=!0;const n=t[Vs](i);e[vr](n.html,n.bbox);a[Zr].noLayoutFailure=r;t[cs]=s}class AppearanceFilter extends StringObject{constructor(e){super(Mn,"appearanceFilter");this.id=e.id||"";this.type=getStringOption(e.type,["optional","required"]);this.use=e.use||"";this.usehref=e.usehref||""}}class Arc extends XFAObject{constructor(e){super(Mn,"arc",!0);this.circular=getInteger({data:e.circular,defaultValue:0,validate:e=>1===e});this.hand=getStringOption(e.hand,["even","left","right"]);this.id=e.id||"";this.startAngle=getFloat({data:e.startAngle,defaultValue:0,validate:e=>!0});this.sweepAngle=getFloat({data:e.sweepAngle,defaultValue:360,validate:e=>!0});this.use=e.use||"";this.usehref=e.usehref||"";this.edge=null;this.fill=null}[Vs](){const e=this.edge||new Edge({}),t=e[_s](),i=Object.create(null);"visible"===this.fill?.presence?Object.assign(i,this.fill[_s]()):i.fill="transparent";i.strokeWidth=measureToString("visible"===e.presence?e.thickness:0);i.stroke=t.color;let a;const r={xmlns:Un,style:{width:"100%",height:"100%",overflow:"visible"}};if(360===this.sweepAngle)a={name:"ellipse",attributes:{xmlns:Un,cx:"50%",cy:"50%",rx:"50%",ry:"50%",style:i}};else{const e=this.startAngle*Math.PI/180,t=this.sweepAngle*Math.PI/180,s=this.sweepAngle>180?1:0,[n,o,g,c]=[50*(1+Math.cos(e)),50*(1-Math.sin(e)),50*(1+Math.cos(e+t)),50*(1-Math.sin(e+t))];a={name:"path",attributes:{xmlns:Un,d:`M ${n} ${o} A 50 50 0 ${s} 0 ${g} ${c}`,vectorEffect:"non-scaling-stroke",style:i}};Object.assign(r,{viewBox:"0 0 100 100",preserveAspectRatio:"none"})}const s={name:"svg",children:[a],attributes:r};if(hasMargin(this[ls]()[ls]()))return HTMLResult.success({name:"div",attributes:{style:{display:"inline",width:"100%",height:"100%"}},children:[s]});s.attributes.style.position="absolute";return HTMLResult.success(s)}}class Area extends XFAObject{constructor(e){super(Mn,"area",!0);this.colSpan=getInteger({data:e.colSpan,defaultValue:1,validate:e=>e>=1||-1===e});this.id=e.id||"";this.name=e.name||"";this.relevant=getRelevant(e.relevant);this.use=e.use||"";this.usehref=e.usehref||"";this.x=getMeasurement(e.x,"0pt");this.y=getMeasurement(e.y,"0pt");this.desc=null;this.extras=null;this.area=new XFAObjectArray;this.draw=new XFAObjectArray;this.exObject=new XFAObjectArray;this.exclGroup=new XFAObjectArray;this.field=new XFAObjectArray;this.subform=new XFAObjectArray;this.subformSet=new XFAObjectArray}*[gs](){yield*getContainedChildren(this)}[Ds](){return!0}[fs](){return!0}[vr](e,t){const[i,a,r,s]=t;this[Zr].width=Math.max(this[Zr].width,i+r);this[Zr].height=Math.max(this[Zr].height,a+s);this[Zr].children.push(e)}[es](){return this[Zr].availableSpace}[Vs](e){const t=toStyle(this,"position"),i={style:t,id:this[zs],class:["xfaArea"]};isPrintOnly(this)&&i.class.push("xfaPrintOnly");this.name&&(i.xfaName=this.name);const a=[];this[Zr]={children:a,width:0,height:0,availableSpace:e};const r=this[Kr]({filter:new Set(["area","draw","field","exclGroup","subform","subformSet"]),include:!0});if(!r.success){if(r.isBreak())return r;delete this[Zr];return HTMLResult.FAILURE}t.width=measureToString(this[Zr].width);t.height=measureToString(this[Zr].height);const s={name:"div",attributes:i,children:a},n=[this.x,this.y,this[Zr].width,this[Zr].height];delete this[Zr];return HTMLResult.success(s,n)}}class Assist extends XFAObject{constructor(e){super(Mn,"assist",!0);this.id=e.id||"";this.role=e.role||"";this.use=e.use||"";this.usehref=e.usehref||"";this.speak=null;this.toolTip=null}[Vs](){return this.toolTip?.[jr]||null}}class Barcode extends XFAObject{constructor(e){super(Mn,"barcode",!0);this.charEncoding=getKeyword({data:e.charEncoding?e.charEncoding.toLowerCase():"",defaultValue:"",validate:e=>["utf-8","big-five","fontspecific","gbk","gb-18030","gb-2312","ksc-5601","none","shift-jis","ucs-2","utf-16"].includes(e)||e.match(/iso-8859-\d{2}/)});this.checksum=getStringOption(e.checksum,["none","1mod10","1mod10_1mod11","2mod10","auto"]);this.dataColumnCount=getInteger({data:e.dataColumnCount,defaultValue:-1,validate:e=>e>=0});this.dataLength=getInteger({data:e.dataLength,defaultValue:-1,validate:e=>e>=0});this.dataPrep=getStringOption(e.dataPrep,["none","flateCompress"]);this.dataRowCount=getInteger({data:e.dataRowCount,defaultValue:-1,validate:e=>e>=0});this.endChar=e.endChar||"";this.errorCorrectionLevel=getInteger({data:e.errorCorrectionLevel,defaultValue:-1,validate:e=>e>=0&&e<=8});this.id=e.id||"";this.moduleHeight=getMeasurement(e.moduleHeight,"5mm");this.moduleWidth=getMeasurement(e.moduleWidth,"0.25mm");this.printCheckDigit=getInteger({data:e.printCheckDigit,defaultValue:0,validate:e=>1===e});this.rowColumnRatio=getRatio(e.rowColumnRatio);this.startChar=e.startChar||"";this.textLocation=getStringOption(e.textLocation,["below","above","aboveEmbedded","belowEmbedded","none"]);this.truncate=getInteger({data:e.truncate,defaultValue:0,validate:e=>1===e});this.type=getStringOption(e.type?e.type.toLowerCase():"",["aztec","codabar","code2of5industrial","code2of5interleaved","code2of5matrix","code2of5standard","code3of9","code3of9extended","code11","code49","code93","code128","code128a","code128b","code128c","code128sscc","datamatrix","ean8","ean8add2","ean8add5","ean13","ean13add2","ean13add5","ean13pwcd","fim","logmars","maxicode","msi","pdf417","pdf417macro","plessey","postauscust2","postauscust3","postausreplypaid","postausstandard","postukrm4scc","postusdpbc","postusimb","postusstandard","postus5zip","qrcode","rfid","rss14","rss14expanded","rss14limited","rss14stacked","rss14stackedomni","rss14truncated","telepen","ucc128","ucc128random","ucc128sscc","upca","upcaadd2","upcaadd5","upcapwcd","upce","upceadd2","upceadd5","upcean2","upcean5","upsmaxicode"]);this.upsMode=getStringOption(e.upsMode,["usCarrier","internationalCarrier","secureSymbol","standardSymbol"]);this.use=e.use||"";this.usehref=e.usehref||"";this.wideNarrowRatio=getRatio(e.wideNarrowRatio);this.encrypt=null;this.extras=null}}class Bind extends XFAObject{constructor(e){super(Mn,"bind",!0);this.match=getStringOption(e.match,["once","dataRef","global","none"]);this.ref=e.ref||"";this.picture=null}}class BindItems extends XFAObject{constructor(e){super(Mn,"bindItems");this.connection=e.connection||"";this.labelRef=e.labelRef||"";this.ref=e.ref||"";this.valueRef=e.valueRef||""}}class Bookend extends XFAObject{constructor(e){super(Mn,"bookend");this.id=e.id||"";this.leader=e.leader||"";this.trailer=e.trailer||"";this.use=e.use||"";this.usehref=e.usehref||""}}class BooleanElement extends Option01{constructor(e){super(Mn,"boolean");this.id=e.id||"";this.name=e.name||"";this.use=e.use||"";this.usehref=e.usehref||""}[Vs](e){return valueToHtml(1===this[jr]?"1":"0")}}class Border extends XFAObject{constructor(e){super(Mn,"border",!0);this.break=getStringOption(e.break,["close","open"]);this.hand=getStringOption(e.hand,["even","left","right"]);this.id=e.id||"";this.presence=getStringOption(e.presence,["visible","hidden","inactive","invisible"]);this.relevant=getRelevant(e.relevant);this.use=e.use||"";this.usehref=e.usehref||"";this.corner=new XFAObjectArray(4);this.edge=new XFAObjectArray(4);this.extras=null;this.fill=null;this.margin=null}[ss](){if(!this[Zr]){const e=this.edge.children.slice();if(e.length<4){const t=e.at(-1)||new Edge({});for(let i=e.length;i<4;i++)e.push(t)}const t=e.map((e=>e.thickness)),i=[0,0,0,0];if(this.margin){i[0]=this.margin.topInset;i[1]=this.margin.rightInset;i[2]=this.margin.bottomInset;i[3]=this.margin.leftInset}this[Zr]={widths:t,insets:i,edges:e}}return this[Zr]}[_s](){const{edges:e}=this[ss](),t=e.map((e=>{const t=e[_s]();t.color||="#000000";return t})),i=Object.create(null);this.margin&&Object.assign(i,this.margin[_s]());"visible"===this.fill?.presence&&Object.assign(i,this.fill[_s]());if(this.corner.children.some((e=>0!==e.radius))){const e=this.corner.children.map((e=>e[_s]()));if(2===e.length||3===e.length){const t=e.at(-1);for(let i=e.length;i<4;i++)e.push(t)}i.borderRadius=e.map((e=>e.radius)).join(" ")}switch(this.presence){case"invisible":case"hidden":i.borderStyle="";break;case"inactive":i.borderStyle="none";break;default:i.borderStyle=t.map((e=>e.style)).join(" ")}i.borderWidth=t.map((e=>e.width)).join(" ");i.borderColor=t.map((e=>e.color)).join(" ");return i}}class Break extends XFAObject{constructor(e){super(Mn,"break",!0);this.after=getStringOption(e.after,["auto","contentArea","pageArea","pageEven","pageOdd"]);this.afterTarget=e.afterTarget||"";this.before=getStringOption(e.before,["auto","contentArea","pageArea","pageEven","pageOdd"]);this.beforeTarget=e.beforeTarget||"";this.bookendLeader=e.bookendLeader||"";this.bookendTrailer=e.bookendTrailer||"";this.id=e.id||"";this.overflowLeader=e.overflowLeader||"";this.overflowTarget=e.overflowTarget||"";this.overflowTrailer=e.overflowTrailer||"";this.startNew=getInteger({data:e.startNew,defaultValue:0,validate:e=>1===e});this.use=e.use||"";this.usehref=e.usehref||"";this.extras=null}}class BreakAfter extends XFAObject{constructor(e){super(Mn,"breakAfter",!0);this.id=e.id||"";this.leader=e.leader||"";this.startNew=getInteger({data:e.startNew,defaultValue:0,validate:e=>1===e});this.target=e.target||"";this.targetType=getStringOption(e.targetType,["auto","contentArea","pageArea"]);this.trailer=e.trailer||"";this.use=e.use||"";this.usehref=e.usehref||"";this.script=null}}class BreakBefore extends XFAObject{constructor(e){super(Mn,"breakBefore",!0);this.id=e.id||"";this.leader=e.leader||"";this.startNew=getInteger({data:e.startNew,defaultValue:0,validate:e=>1===e});this.target=e.target||"";this.targetType=getStringOption(e.targetType,["auto","contentArea","pageArea"]);this.trailer=e.trailer||"";this.use=e.use||"";this.usehref=e.usehref||"";this.script=null}[Vs](e){this[Zr]={};return HTMLResult.FAILURE}}class Button extends XFAObject{constructor(e){super(Mn,"button",!0);this.highlight=getStringOption(e.highlight,["inverted","none","outline","push"]);this.id=e.id||"";this.use=e.use||"";this.usehref=e.usehref||"";this.extras=null}[Vs](e){const t=this[ls]()[ls](),i={name:"button",attributes:{id:this[zs],class:["xfaButton"],style:{}},children:[]};for(const e of t.event.children){if("click"!==e.activity||!e.script)continue;const t=recoverJsURL(e.script[jr]);if(!t)continue;const a=fixURL(t.url);a&&i.children.push({name:"a",attributes:{id:"link"+this[zs],href:a,newWindow:t.newWindow,class:["xfaLink"],style:{}},children:[]})}return HTMLResult.success(i)}}class Calculate extends XFAObject{constructor(e){super(Mn,"calculate",!0);this.id=e.id||"";this.override=getStringOption(e.override,["disabled","error","ignore","warning"]);this.use=e.use||"";this.usehref=e.usehref||"";this.extras=null;this.message=null;this.script=null}}class Caption extends XFAObject{constructor(e){super(Mn,"caption",!0);this.id=e.id||"";this.placement=getStringOption(e.placement,["left","bottom","inline","right","top"]);this.presence=getStringOption(e.presence,["visible","hidden","inactive","invisible"]);this.reserve=Math.ceil(getMeasurement(e.reserve));this.use=e.use||"";this.usehref=e.usehref||"";this.extras=null;this.font=null;this.margin=null;this.para=null;this.value=null}[Os](e){_setValue(this,e)}[ss](e){if(!this[Zr]){let{width:t,height:i}=e;switch(this.placement){case"left":case"right":case"inline":t=this.reserve<=0?t:this.reserve;break;case"top":case"bottom":i=this.reserve<=0?i:this.reserve}this[Zr]=layoutNode(this,{width:t,height:i})}return this[Zr]}[Vs](e){if(!this.value)return HTMLResult.EMPTY;this[Hs]();const t=this.value[Vs](e).html;if(!t){this[Ls]();return HTMLResult.EMPTY}const i=this.reserve;if(this.reserve<=0){const{w:t,h:i}=this[ss](e);switch(this.placement){case"left":case"right":case"inline":this.reserve=t;break;case"top":case"bottom":this.reserve=i}}const a=[];"string"==typeof t?a.push({name:"#text",value:t}):a.push(t);const r=toStyle(this,"font","margin","visibility");switch(this.placement){case"left":case"right":this.reserve>0&&(r.width=measureToString(this.reserve));break;case"top":case"bottom":this.reserve>0&&(r.height=measureToString(this.reserve))}setPara(this,null,t);this[Ls]();this.reserve=i;return HTMLResult.success({name:"div",attributes:{style:r,class:["xfaCaption"]},children:a})}}class Certificate extends StringObject{constructor(e){super(Mn,"certificate");this.id=e.id||"";this.name=e.name||"";this.use=e.use||"";this.usehref=e.usehref||""}}class Certificates extends XFAObject{constructor(e){super(Mn,"certificates",!0);this.credentialServerPolicy=getStringOption(e.credentialServerPolicy,["optional","required"]);this.id=e.id||"";this.url=e.url||"";this.urlPolicy=e.urlPolicy||"";this.use=e.use||"";this.usehref=e.usehref||"";this.encryption=null;this.issuers=null;this.keyUsage=null;this.oids=null;this.signing=null;this.subjectDNs=null}}class CheckButton extends XFAObject{constructor(e){super(Mn,"checkButton",!0);this.id=e.id||"";this.mark=getStringOption(e.mark,["default","check","circle","cross","diamond","square","star"]);this.shape=getStringOption(e.shape,["square","round"]);this.size=getMeasurement(e.size,"10pt");this.use=e.use||"";this.usehref=e.usehref||"";this.border=null;this.extras=null;this.margin=null}[Vs](e){const t=toStyle("margin"),i=measureToString(this.size);t.width=t.height=i;let a,r,s;const n=this[ls]()[ls](),o=n.items.children.length&&n.items.children[0][Vs]().html||[],g={on:(void 0!==o[0]?o[0]:"on").toString(),off:(void 0!==o[1]?o[1]:"off").toString()},c=(n.value?.[js]()||"off")===g.on||void 0,l=n[cs](),h=n[zs];let C;if(l instanceof ExclGroup){s=l[zs];a="radio";r="xfaRadio";C=l[Xr]?.[zs]||l[zs]}else{a="checkbox";r="xfaCheckbox";C=n[Xr]?.[zs]||n[zs]}const Q={name:"input",attributes:{class:[r],style:t,fieldId:h,dataId:C,type:a,checked:c,xfaOn:g.on,xfaOff:g.off,"aria-label":ariaLabel(n),"aria-required":!1}};s&&(Q.attributes.name=s);if(isRequired(n)){Q.attributes["aria-required"]=!0;Q.attributes.required=!0}return HTMLResult.success({name:"label",attributes:{class:["xfaLabel"]},children:[Q]})}}class ChoiceList extends XFAObject{constructor(e){super(Mn,"choiceList",!0);this.commitOn=getStringOption(e.commitOn,["select","exit"]);this.id=e.id||"";this.open=getStringOption(e.open,["userControl","always","multiSelect","onEntry"]);this.textEntry=getInteger({data:e.textEntry,defaultValue:0,validate:e=>1===e});this.use=e.use||"";this.usehref=e.usehref||"";this.border=null;this.extras=null;this.margin=null}[Vs](e){const t=toStyle(this,"border","margin"),i=this[ls]()[ls](),a={fontSize:`calc(${i.font?.size||10}px * var(--scale-factor))`},r=[];if(i.items.children.length>0){const e=i.items;let t=0,s=0;if(2===e.children.length){t=e.children[0].save;s=1-t}const n=e.children[t][Vs]().html,o=e.children[s][Vs]().html;let g=!1;const c=i.value?.[js]()||"";for(let e=0,t=n.length;eMath.min(Math.max(0,parseInt(e.trim(),10)),255))).map((e=>isNaN(e)?0:e));if(s.length<3)return{r:i,g:a,b:r};[i,a,r]=s;return{r:i,g:a,b:r}}(e.value):"";this.extras=null}[Bs](){return!1}[_s](){return this.value?Util.makeHexColor(this.value.r,this.value.g,this.value.b):null}}class Comb extends XFAObject{constructor(e){super(Mn,"comb");this.id=e.id||"";this.numberOfCells=getInteger({data:e.numberOfCells,defaultValue:0,validate:e=>e>=0});this.use=e.use||"";this.usehref=e.usehref||""}}class Connect extends XFAObject{constructor(e){super(Mn,"connect",!0);this.connection=e.connection||"";this.id=e.id||"";this.ref=e.ref||"";this.usage=getStringOption(e.usage,["exportAndImport","exportOnly","importOnly"]);this.use=e.use||"";this.usehref=e.usehref||"";this.picture=null}}class ContentArea extends XFAObject{constructor(e){super(Mn,"contentArea",!0);this.h=getMeasurement(e.h);this.id=e.id||"";this.name=e.name||"";this.relevant=getRelevant(e.relevant);this.use=e.use||"";this.usehref=e.usehref||"";this.w=getMeasurement(e.w);this.x=getMeasurement(e.x,"0pt");this.y=getMeasurement(e.y,"0pt");this.desc=null;this.extras=null}[Vs](e){const t={left:measureToString(this.x),top:measureToString(this.y),width:measureToString(this.w),height:measureToString(this.h)},i=["xfaContentarea"];isPrintOnly(this)&&i.push("xfaPrintOnly");return HTMLResult.success({name:"div",children:[],attributes:{style:t,class:i,id:this[zs]}})}}class Corner extends XFAObject{constructor(e){super(Mn,"corner",!0);this.id=e.id||"";this.inverted=getInteger({data:e.inverted,defaultValue:0,validate:e=>1===e});this.join=getStringOption(e.join,["square","round"]);this.presence=getStringOption(e.presence,["visible","hidden","inactive","invisible"]);this.radius=getMeasurement(e.radius);this.stroke=getStringOption(e.stroke,["solid","dashDot","dashDotDot","dashed","dotted","embossed","etched","lowered","raised"]);this.thickness=getMeasurement(e.thickness,"0.5pt");this.use=e.use||"";this.usehref=e.usehref||"";this.color=null;this.extras=null}[_s](){const e=toStyle(this,"visibility");e.radius=measureToString("square"===this.join?0:this.radius);return e}}class DateElement extends ContentObject{constructor(e){super(Mn,"date");this.id=e.id||"";this.name=e.name||"";this.use=e.use||"";this.usehref=e.usehref||""}[_r](){const e=this[jr].trim();this[jr]=e?new Date(e):null}[Vs](e){return valueToHtml(this[jr]?this[jr].toString():"")}}class DateTime extends ContentObject{constructor(e){super(Mn,"dateTime");this.id=e.id||"";this.name=e.name||"";this.use=e.use||"";this.usehref=e.usehref||""}[_r](){const e=this[jr].trim();this[jr]=e?new Date(e):null}[Vs](e){return valueToHtml(this[jr]?this[jr].toString():"")}}class DateTimeEdit extends XFAObject{constructor(e){super(Mn,"dateTimeEdit",!0);this.hScrollPolicy=getStringOption(e.hScrollPolicy,["auto","off","on"]);this.id=e.id||"";this.picker=getStringOption(e.picker,["host","none"]);this.use=e.use||"";this.usehref=e.usehref||"";this.border=null;this.comb=null;this.extras=null;this.margin=null}[Vs](e){const t=toStyle(this,"border","font","margin"),i=this[ls]()[ls](),a={name:"input",attributes:{type:"text",fieldId:i[zs],dataId:i[Xr]?.[zs]||i[zs],class:["xfaTextfield"],style:t,"aria-label":ariaLabel(i),"aria-required":!1}};if(isRequired(i)){a.attributes["aria-required"]=!0;a.attributes.required=!0}return HTMLResult.success({name:"label",attributes:{class:["xfaLabel"]},children:[a]})}}class Decimal extends ContentObject{constructor(e){super(Mn,"decimal");this.fracDigits=getInteger({data:e.fracDigits,defaultValue:2,validate:e=>!0});this.id=e.id||"";this.leadDigits=getInteger({data:e.leadDigits,defaultValue:-1,validate:e=>!0});this.name=e.name||"";this.use=e.use||"";this.usehref=e.usehref||""}[_r](){const e=parseFloat(this[jr].trim());this[jr]=isNaN(e)?null:e}[Vs](e){return valueToHtml(null!==this[jr]?this[jr].toString():"")}}class DefaultUi extends XFAObject{constructor(e){super(Mn,"defaultUi",!0);this.id=e.id||"";this.use=e.use||"";this.usehref=e.usehref||"";this.extras=null}}class Desc extends XFAObject{constructor(e){super(Mn,"desc",!0);this.id=e.id||"";this.use=e.use||"";this.usehref=e.usehref||"";this.boolean=new XFAObjectArray;this.date=new XFAObjectArray;this.dateTime=new XFAObjectArray;this.decimal=new XFAObjectArray;this.exData=new XFAObjectArray;this.float=new XFAObjectArray;this.image=new XFAObjectArray;this.integer=new XFAObjectArray;this.text=new XFAObjectArray;this.time=new XFAObjectArray}}class DigestMethod extends OptionObject{constructor(e){super(Mn,"digestMethod",["","SHA1","SHA256","SHA512","RIPEMD160"]);this.id=e.id||"";this.use=e.use||"";this.usehref=e.usehref||""}}class DigestMethods extends XFAObject{constructor(e){super(Mn,"digestMethods",!0);this.id=e.id||"";this.type=getStringOption(e.type,["optional","required"]);this.use=e.use||"";this.usehref=e.usehref||"";this.digestMethod=new XFAObjectArray}}class Draw extends XFAObject{constructor(e){super(Mn,"draw",!0);this.anchorType=getStringOption(e.anchorType,["topLeft","bottomCenter","bottomLeft","bottomRight","middleCenter","middleLeft","middleRight","topCenter","topRight"]);this.colSpan=getInteger({data:e.colSpan,defaultValue:1,validate:e=>e>=1||-1===e});this.h=e.h?getMeasurement(e.h):"";this.hAlign=getStringOption(e.hAlign,["left","center","justify","justifyAll","radix","right"]);this.id=e.id||"";this.locale=e.locale||"";this.maxH=getMeasurement(e.maxH,"0pt");this.maxW=getMeasurement(e.maxW,"0pt");this.minH=getMeasurement(e.minH,"0pt");this.minW=getMeasurement(e.minW,"0pt");this.name=e.name||"";this.presence=getStringOption(e.presence,["visible","hidden","inactive","invisible"]);this.relevant=getRelevant(e.relevant);this.rotate=getInteger({data:e.rotate,defaultValue:0,validate:e=>e%90==0});this.use=e.use||"";this.usehref=e.usehref||"";this.w=e.w?getMeasurement(e.w):"";this.x=getMeasurement(e.x,"0pt");this.y=getMeasurement(e.y,"0pt");this.assist=null;this.border=null;this.caption=null;this.desc=null;this.extras=null;this.font=null;this.keep=null;this.margin=null;this.para=null;this.traversal=null;this.ui=null;this.value=null;this.setProperty=new XFAObjectArray}[Os](e){_setValue(this,e)}[Vs](e){setTabIndex(this);if("hidden"===this.presence||"inactive"===this.presence)return HTMLResult.EMPTY;fixDimensions(this);this[Hs]();const t=this.w,i=this.h,{w:a,h:r,isBroken:s}=layoutNode(this,e);if(a&&""===this.w){if(s&&this[cs]()[bs]()){this[Ls]();return HTMLResult.FAILURE}this.w=a}r&&""===this.h&&(this.h=r);setFirstUnsplittable(this);if(!checkDimensions(this,e)){this.w=t;this.h=i;this[Ls]();return HTMLResult.FAILURE}unsetFirstUnsplittable(this);const n=toStyle(this,"font","hAlign","dimensions","position","presence","rotate","anchorType","border","margin");setMinMaxDimensions(this,n);if(n.margin){n.padding=n.margin;delete n.margin}const o=["xfaDraw"];this.font&&o.push("xfaFont");isPrintOnly(this)&&o.push("xfaPrintOnly");const g={style:n,id:this[zs],class:o};this.name&&(g.xfaName=this.name);const c={name:"div",attributes:g,children:[]};applyAssist(this,g);const l=computeBbox(this,c,e),h=this.value?this.value[Vs](e).html:null;if(null===h){this.w=t;this.h=i;this[Ls]();return HTMLResult.success(createWrapper(this,c),l)}c.children.push(h);setPara(this,n,h);this.w=t;this.h=i;this[Ls]();return HTMLResult.success(createWrapper(this,c),l)}}class Edge extends XFAObject{constructor(e){super(Mn,"edge",!0);this.cap=getStringOption(e.cap,["square","butt","round"]);this.id=e.id||"";this.presence=getStringOption(e.presence,["visible","hidden","inactive","invisible"]);this.stroke=getStringOption(e.stroke,["solid","dashDot","dashDotDot","dashed","dotted","embossed","etched","lowered","raised"]);this.thickness=getMeasurement(e.thickness,"0.5pt");this.use=e.use||"";this.usehref=e.usehref||"";this.color=null;this.extras=null}[_s](){const e=toStyle(this,"visibility");Object.assign(e,{linecap:this.cap,width:measureToString(this.thickness),color:this.color?this.color[_s]():"#000000",style:""});if("visible"!==this.presence)e.style="none";else switch(this.stroke){case"solid":e.style="solid";break;case"dashDot":case"dashDotDot":case"dashed":e.style="dashed";break;case"dotted":e.style="dotted";break;case"embossed":e.style="ridge";break;case"etched":e.style="groove";break;case"lowered":e.style="inset";break;case"raised":e.style="outset"}return e}}class Encoding extends OptionObject{constructor(e){super(Mn,"encoding",["adbe.x509.rsa_sha1","adbe.pkcs7.detached","adbe.pkcs7.sha1"]);this.id=e.id||"";this.use=e.use||"";this.usehref=e.usehref||""}}class Encodings extends XFAObject{constructor(e){super(Mn,"encodings",!0);this.id=e.id||"";this.type=getStringOption(e.type,["optional","required"]);this.use=e.use||"";this.usehref=e.usehref||"";this.encoding=new XFAObjectArray}}class Encrypt extends XFAObject{constructor(e){super(Mn,"encrypt",!0);this.id=e.id||"";this.use=e.use||"";this.usehref=e.usehref||"";this.certificate=null}}class EncryptData extends XFAObject{constructor(e){super(Mn,"encryptData",!0);this.id=e.id||"";this.operation=getStringOption(e.operation,["encrypt","decrypt"]);this.target=e.target||"";this.use=e.use||"";this.usehref=e.usehref||"";this.filter=null;this.manifest=null}}class Encryption extends XFAObject{constructor(e){super(Mn,"encryption",!0);this.id=e.id||"";this.type=getStringOption(e.type,["optional","required"]);this.use=e.use||"";this.usehref=e.usehref||"";this.certificate=new XFAObjectArray}}class EncryptionMethod extends OptionObject{constructor(e){super(Mn,"encryptionMethod",["","AES256-CBC","TRIPLEDES-CBC","AES128-CBC","AES192-CBC"]);this.id=e.id||"";this.use=e.use||"";this.usehref=e.usehref||""}}class EncryptionMethods extends XFAObject{constructor(e){super(Mn,"encryptionMethods",!0);this.id=e.id||"";this.type=getStringOption(e.type,["optional","required"]);this.use=e.use||"";this.usehref=e.usehref||"";this.encryptionMethod=new XFAObjectArray}}class Event extends XFAObject{constructor(e){super(Mn,"event",!0);this.activity=getStringOption(e.activity,["click","change","docClose","docReady","enter","exit","full","indexChange","initialize","mouseDown","mouseEnter","mouseExit","mouseUp","postExecute","postOpen","postPrint","postSave","postSign","postSubmit","preExecute","preOpen","prePrint","preSave","preSign","preSubmit","ready","validationState"]);this.id=e.id||"";this.listen=getStringOption(e.listen,["refOnly","refAndDescendents"]);this.name=e.name||"";this.ref=e.ref||"";this.use=e.use||"";this.usehref=e.usehref||"";this.extras=null;this.encryptData=null;this.execute=null;this.script=null;this.signData=null;this.submit=null}}class ExData extends ContentObject{constructor(e){super(Mn,"exData");this.contentType=e.contentType||"";this.href=e.href||"";this.id=e.id||"";this.maxLength=getInteger({data:e.maxLength,defaultValue:-1,validate:e=>e>=-1});this.name=e.name||"";this.rid=e.rid||"";this.transferEncoding=getStringOption(e.transferEncoding,["none","base64","package"]);this.use=e.use||"";this.usehref=e.usehref||""}[ds](){return"text/html"===this.contentType}[Gs](e){if("text/html"===this.contentType&&e[ks]===An.xhtml.id){this[jr]=e;return!0}if("text/xml"===this.contentType){this[jr]=e;return!0}return!1}[Vs](e){return"text/html"===this.contentType&&this[jr]?this[jr][Vs](e):HTMLResult.EMPTY}}class ExObject extends XFAObject{constructor(e){super(Mn,"exObject",!0);this.archive=e.archive||"";this.classId=e.classId||"";this.codeBase=e.codeBase||"";this.codeType=e.codeType||"";this.id=e.id||"";this.name=e.name||"";this.use=e.use||"";this.usehref=e.usehref||"";this.extras=null;this.boolean=new XFAObjectArray;this.date=new XFAObjectArray;this.dateTime=new XFAObjectArray;this.decimal=new XFAObjectArray;this.exData=new XFAObjectArray;this.exObject=new XFAObjectArray;this.float=new XFAObjectArray;this.image=new XFAObjectArray;this.integer=new XFAObjectArray;this.text=new XFAObjectArray;this.time=new XFAObjectArray}}class ExclGroup extends XFAObject{constructor(e){super(Mn,"exclGroup",!0);this.access=getStringOption(e.access,["open","nonInteractive","protected","readOnly"]);this.accessKey=e.accessKey||"";this.anchorType=getStringOption(e.anchorType,["topLeft","bottomCenter","bottomLeft","bottomRight","middleCenter","middleLeft","middleRight","topCenter","topRight"]);this.colSpan=getInteger({data:e.colSpan,defaultValue:1,validate:e=>e>=1||-1===e});this.h=e.h?getMeasurement(e.h):"";this.hAlign=getStringOption(e.hAlign,["left","center","justify","justifyAll","radix","right"]);this.id=e.id||"";this.layout=getStringOption(e.layout,["position","lr-tb","rl-row","rl-tb","row","table","tb"]);this.maxH=getMeasurement(e.maxH,"0pt");this.maxW=getMeasurement(e.maxW,"0pt");this.minH=getMeasurement(e.minH,"0pt");this.minW=getMeasurement(e.minW,"0pt");this.name=e.name||"";this.presence=getStringOption(e.presence,["visible","hidden","inactive","invisible"]);this.relevant=getRelevant(e.relevant);this.use=e.use||"";this.usehref=e.usehref||"";this.w=e.w?getMeasurement(e.w):"";this.x=getMeasurement(e.x,"0pt");this.y=getMeasurement(e.y,"0pt");this.assist=null;this.bind=null;this.border=null;this.calculate=null;this.caption=null;this.desc=null;this.extras=null;this.margin=null;this.para=null;this.traversal=null;this.validate=null;this.connect=new XFAObjectArray;this.event=new XFAObjectArray;this.field=new XFAObjectArray;this.setProperty=new XFAObjectArray}[fs](){return!0}[Bs](){return!0}[Os](e){for(const t of this.field.children){if(!t.value){const e=new Value({});t[Yr](e);t.value=e}t.value[Os](e)}}[bs](){return this.layout.endsWith("-tb")&&0===this[Zr].attempt&&this[Zr].numberInLine>0||this[ls]()[bs]()}[ws](){const e=this[cs]();if(!e[ws]())return!1;if(void 0!==this[Zr]._isSplittable)return this[Zr]._isSplittable;if("position"===this.layout||this.layout.includes("row")){this[Zr]._isSplittable=!1;return!1}if(e.layout?.endsWith("-tb")&&0!==e[Zr].numberInLine)return!1;this[Zr]._isSplittable=!0;return!0}[zr](){return flushHTML(this)}[vr](e,t){addHTML(this,e,t)}[es](){return getAvailableSpace(this)}[Vs](e){setTabIndex(this);if("hidden"===this.presence||"inactive"===this.presence||0===this.h||0===this.w)return HTMLResult.EMPTY;fixDimensions(this);const t=[],i={id:this[zs],class:[]};setAccess(this,i.class);this[Zr]||(this[Zr]=Object.create(null));Object.assign(this[Zr],{children:t,attributes:i,attempt:0,line:null,numberInLine:0,availableSpace:{width:Math.min(this.w||1/0,e.width),height:Math.min(this.h||1/0,e.height)},width:0,height:0,prevHeight:0,currentWidth:0});const a=this[ws]();a||setFirstUnsplittable(this);if(!checkDimensions(this,e))return HTMLResult.FAILURE;const r=new Set(["field"]);if(this.layout.includes("row")){const e=this[cs]().columnWidths;if(Array.isArray(e)&&e.length>0){this[Zr].columnWidths=e;this[Zr].currentColumn=0}}const s=toStyle(this,"anchorType","dimensions","position","presence","border","margin","hAlign"),n=["xfaExclgroup"],o=layoutClass(this);o&&n.push(o);isPrintOnly(this)&&n.push("xfaPrintOnly");i.style=s;i.class=n;this.name&&(i.xfaName=this.name);this[Hs]();const g="lr-tb"===this.layout||"rl-tb"===this.layout,c=g?2:1;for(;this[Zr].attempte>=1||-1===e});this.h=e.h?getMeasurement(e.h):"";this.hAlign=getStringOption(e.hAlign,["left","center","justify","justifyAll","radix","right"]);this.id=e.id||"";this.locale=e.locale||"";this.maxH=getMeasurement(e.maxH,"0pt");this.maxW=getMeasurement(e.maxW,"0pt");this.minH=getMeasurement(e.minH,"0pt");this.minW=getMeasurement(e.minW,"0pt");this.name=e.name||"";this.presence=getStringOption(e.presence,["visible","hidden","inactive","invisible"]);this.relevant=getRelevant(e.relevant);this.rotate=getInteger({data:e.rotate,defaultValue:0,validate:e=>e%90==0});this.use=e.use||"";this.usehref=e.usehref||"";this.w=e.w?getMeasurement(e.w):"";this.x=getMeasurement(e.x,"0pt");this.y=getMeasurement(e.y,"0pt");this.assist=null;this.bind=null;this.border=null;this.calculate=null;this.caption=null;this.desc=null;this.extras=null;this.font=null;this.format=null;this.items=new XFAObjectArray(2);this.keep=null;this.margin=null;this.para=null;this.traversal=null;this.ui=null;this.validate=null;this.value=null;this.bindItems=new XFAObjectArray;this.connect=new XFAObjectArray;this.event=new XFAObjectArray;this.setProperty=new XFAObjectArray}[fs](){return!0}[Os](e){_setValue(this,e)}[Vs](e){setTabIndex(this);if(!this.ui){this.ui=new Ui({});this.ui[Cs]=this[Cs];this[Yr](this.ui);let e;switch(this.items.children.length){case 0:e=new TextEdit({});this.ui.textEdit=e;break;case 1:e=new CheckButton({});this.ui.checkButton=e;break;case 2:e=new ChoiceList({});this.ui.choiceList=e}this.ui[Yr](e)}if(!this.ui||"hidden"===this.presence||"inactive"===this.presence||0===this.h||0===this.w)return HTMLResult.EMPTY;this.caption&&delete this.caption[Zr];this[Hs]();const t=this.caption?this.caption[Vs](e).html:null,i=this.w,a=this.h;let r=0,s=0;if(this.margin){r=this.margin.leftInset+this.margin.rightInset;s=this.margin.topInset+this.margin.bottomInset}let n=null;if(""===this.w||""===this.h){let t=null,i=null,a=0,o=0;if(this.ui.checkButton)a=o=this.ui.checkButton.size;else{const{w:t,h:i}=layoutNode(this,e);if(null!==t){a=t;o=i}else o=function fonts_getMetrics(e,t=!1){let i=null;if(e){const t=stripQuotes(e.typeface),a=e[Cs].fontFinder.find(t);i=selectFont(e,a)}if(!i)return{lineHeight:12,lineGap:2,lineNoGap:10};const a=e.size||10,r=i.lineHeight?Math.max(t?0:1.2,i.lineHeight):1.2,s=void 0===i.lineGap?.2:i.lineGap;return{lineHeight:r*a,lineGap:s*a,lineNoGap:Math.max(1,r-s)*a}}(this.font,!0).lineNoGap}n=getBorderDims(this.ui[ss]());a+=n.w;o+=n.h;if(this.caption){const{w:r,h:s,isBroken:n}=this.caption[ss](e);if(n&&this[cs]()[bs]()){this[Ls]();return HTMLResult.FAILURE}t=r;i=s;switch(this.caption.placement){case"left":case"right":case"inline":t+=a;break;case"top":case"bottom":i+=o}}else{t=a;i=o}if(t&&""===this.w){t+=r;this.w=Math.min(this.maxW<=0?1/0:this.maxW,this.minW+1e>=1&&e<=5});this.appearanceFilter=null;this.certificates=null;this.digestMethods=null;this.encodings=null;this.encryptionMethods=null;this.handler=null;this.lockDocument=null;this.mdp=null;this.reasons=null;this.timeStamp=null}}class Float extends ContentObject{constructor(e){super(Mn,"float");this.id=e.id||"";this.name=e.name||"";this.use=e.use||"";this.usehref=e.usehref||""}[_r](){const e=parseFloat(this[jr].trim());this[jr]=isNaN(e)?null:e}[Vs](e){return valueToHtml(null!==this[jr]?this[jr].toString():"")}}class template_Font extends XFAObject{constructor(e){super(Mn,"font",!0);this.baselineShift=getMeasurement(e.baselineShift);this.fontHorizontalScale=getFloat({data:e.fontHorizontalScale,defaultValue:100,validate:e=>e>=0});this.fontVerticalScale=getFloat({data:e.fontVerticalScale,defaultValue:100,validate:e=>e>=0});this.id=e.id||"";this.kerningMode=getStringOption(e.kerningMode,["none","pair"]);this.letterSpacing=getMeasurement(e.letterSpacing,"0");this.lineThrough=getInteger({data:e.lineThrough,defaultValue:0,validate:e=>1===e||2===e});this.lineThroughPeriod=getStringOption(e.lineThroughPeriod,["all","word"]);this.overline=getInteger({data:e.overline,defaultValue:0,validate:e=>1===e||2===e});this.overlinePeriod=getStringOption(e.overlinePeriod,["all","word"]);this.posture=getStringOption(e.posture,["normal","italic"]);this.size=getMeasurement(e.size,"10pt");this.typeface=e.typeface||"Courier";this.underline=getInteger({data:e.underline,defaultValue:0,validate:e=>1===e||2===e});this.underlinePeriod=getStringOption(e.underlinePeriod,["all","word"]);this.use=e.use||"";this.usehref=e.usehref||"";this.weight=getStringOption(e.weight,["normal","bold"]);this.extras=null;this.fill=null}[Tr](e){super[Tr](e);this[Cs].usedTypefaces.add(this.typeface)}[_s](){const e=toStyle(this,"fill"),t=e.color;if(t)if("#000000"===t)delete e.color;else if(!t.startsWith("#")){e.background=t;e.backgroundClip="text";e.color="transparent"}this.baselineShift&&(e.verticalAlign=measureToString(this.baselineShift));e.fontKerning="none"===this.kerningMode?"none":"normal";e.letterSpacing=measureToString(this.letterSpacing);if(0!==this.lineThrough){e.textDecoration="line-through";2===this.lineThrough&&(e.textDecorationStyle="double")}if(0!==this.overline){e.textDecoration="overline";2===this.overline&&(e.textDecorationStyle="double")}e.fontStyle=this.posture;e.fontSize=measureToString(.99*this.size);setFontFamily(this,this,this[Cs].fontFinder,e);if(0!==this.underline){e.textDecoration="underline";2===this.underline&&(e.textDecorationStyle="double")}e.fontWeight=this.weight;return e}}class Format extends XFAObject{constructor(e){super(Mn,"format",!0);this.id=e.id||"";this.use=e.use||"";this.usehref=e.usehref||"";this.extras=null;this.picture=null}}class Handler extends StringObject{constructor(e){super(Mn,"handler");this.id=e.id||"";this.type=getStringOption(e.type,["optional","required"]);this.use=e.use||"";this.usehref=e.usehref||""}}class Hyphenation extends XFAObject{constructor(e){super(Mn,"hyphenation");this.excludeAllCaps=getInteger({data:e.excludeAllCaps,defaultValue:0,validate:e=>1===e});this.excludeInitialCap=getInteger({data:e.excludeInitialCap,defaultValue:0,validate:e=>1===e});this.hyphenate=getInteger({data:e.hyphenate,defaultValue:0,validate:e=>1===e});this.id=e.id||"";this.pushCharacterCount=getInteger({data:e.pushCharacterCount,defaultValue:3,validate:e=>e>=0});this.remainCharacterCount=getInteger({data:e.remainCharacterCount,defaultValue:3,validate:e=>e>=0});this.use=e.use||"";this.usehref=e.usehref||"";this.wordCharacterCount=getInteger({data:e.wordCharacterCount,defaultValue:7,validate:e=>e>=0})}}class Image extends StringObject{constructor(e){super(Mn,"image");this.aspect=getStringOption(e.aspect,["fit","actual","height","none","width"]);this.contentType=e.contentType||"";this.href=e.href||"";this.id=e.id||"";this.name=e.name||"";this.transferEncoding=getStringOption(e.transferEncoding,["base64","none","package"]);this.use=e.use||"";this.usehref=e.usehref||""}[Vs](){if(this.contentType&&!Ln.has(this.contentType.toLowerCase()))return HTMLResult.EMPTY;let e=this[Cs].images&&this[Cs].images.get(this.href);if(!e&&(this.href||!this[jr]))return HTMLResult.EMPTY;e||"base64"!==this.transferEncoding||(e=function fromBase64Util(e){return Uint8Array.fromBase64?Uint8Array.fromBase64(e):stringToBytes(atob(e))}(this[jr]));if(!e)return HTMLResult.EMPTY;if(!this.contentType){for(const[t,i]of Hn)if(e.length>t.length&&t.every(((t,i)=>t===e[i]))){this.contentType=i;break}if(!this.contentType)return HTMLResult.EMPTY}const t=new Blob([e],{type:this.contentType});let i;switch(this.aspect){case"fit":case"actual":break;case"height":i={height:"100%",objectFit:"fill"};break;case"none":i={width:"100%",height:"100%",objectFit:"fill"};break;case"width":i={width:"100%",objectFit:"fill"}}const a=this[ls]();return HTMLResult.success({name:"img",attributes:{class:["xfaImage"],style:i,src:URL.createObjectURL(t),alt:a?ariaLabel(a[ls]()):null}})}}class ImageEdit extends XFAObject{constructor(e){super(Mn,"imageEdit",!0);this.data=getStringOption(e.data,["link","embed"]);this.id=e.id||"";this.use=e.use||"";this.usehref=e.usehref||"";this.border=null;this.extras=null;this.margin=null}[Vs](e){return"embed"===this.data?HTMLResult.success({name:"div",children:[],attributes:{}}):HTMLResult.EMPTY}}class Integer extends ContentObject{constructor(e){super(Mn,"integer");this.id=e.id||"";this.name=e.name||"";this.use=e.use||"";this.usehref=e.usehref||""}[_r](){const e=parseInt(this[jr].trim(),10);this[jr]=isNaN(e)?null:e}[Vs](e){return valueToHtml(null!==this[jr]?this[jr].toString():"")}}class Issuers extends XFAObject{constructor(e){super(Mn,"issuers",!0);this.id=e.id||"";this.type=getStringOption(e.type,["optional","required"]);this.use=e.use||"";this.usehref=e.usehref||"";this.certificate=new XFAObjectArray}}class Items extends XFAObject{constructor(e){super(Mn,"items",!0);this.id=e.id||"";this.name=e.name||"";this.presence=getStringOption(e.presence,["visible","hidden","inactive","invisible"]);this.ref=e.ref||"";this.save=getInteger({data:e.save,defaultValue:0,validate:e=>1===e});this.use=e.use||"";this.usehref=e.usehref||"";this.boolean=new XFAObjectArray;this.date=new XFAObjectArray;this.dateTime=new XFAObjectArray;this.decimal=new XFAObjectArray;this.exData=new XFAObjectArray;this.float=new XFAObjectArray;this.image=new XFAObjectArray;this.integer=new XFAObjectArray;this.text=new XFAObjectArray;this.time=new XFAObjectArray}[Vs](){const e=[];for(const t of this[os]())e.push(t[js]());return HTMLResult.success(e)}}class Keep extends XFAObject{constructor(e){super(Mn,"keep",!0);this.id=e.id||"";const t=["none","contentArea","pageArea"];this.intact=getStringOption(e.intact,t);this.next=getStringOption(e.next,t);this.previous=getStringOption(e.previous,t);this.use=e.use||"";this.usehref=e.usehref||"";this.extras=null}}class KeyUsage extends XFAObject{constructor(e){super(Mn,"keyUsage");const t=["","yes","no"];this.crlSign=getStringOption(e.crlSign,t);this.dataEncipherment=getStringOption(e.dataEncipherment,t);this.decipherOnly=getStringOption(e.decipherOnly,t);this.digitalSignature=getStringOption(e.digitalSignature,t);this.encipherOnly=getStringOption(e.encipherOnly,t);this.id=e.id||"";this.keyAgreement=getStringOption(e.keyAgreement,t);this.keyCertSign=getStringOption(e.keyCertSign,t);this.keyEncipherment=getStringOption(e.keyEncipherment,t);this.nonRepudiation=getStringOption(e.nonRepudiation,t);this.type=getStringOption(e.type,["optional","required"]);this.use=e.use||"";this.usehref=e.usehref||""}}class Line extends XFAObject{constructor(e){super(Mn,"line",!0);this.hand=getStringOption(e.hand,["even","left","right"]);this.id=e.id||"";this.slope=getStringOption(e.slope,["\\","/"]);this.use=e.use||"";this.usehref=e.usehref||"";this.edge=null}[Vs](){const e=this[ls]()[ls](),t=this.edge||new Edge({}),i=t[_s](),a=Object.create(null),r="visible"===t.presence?t.thickness:0;a.strokeWidth=measureToString(r);a.stroke=i.color;let s,n,o,g,c="100%",l="100%";if(e.w<=r){[s,n,o,g]=["50%",0,"50%","100%"];c=a.strokeWidth}else if(e.h<=r){[s,n,o,g]=[0,"50%","100%","50%"];l=a.strokeWidth}else"\\"===this.slope?[s,n,o,g]=[0,0,"100%","100%"]:[s,n,o,g]=[0,"100%","100%",0];const h={name:"svg",children:[{name:"line",attributes:{xmlns:Un,x1:s,y1:n,x2:o,y2:g,style:a}}],attributes:{xmlns:Un,width:c,height:l,style:{overflow:"visible"}}};if(hasMargin(e))return HTMLResult.success({name:"div",attributes:{style:{display:"inline",width:"100%",height:"100%"}},children:[h]});h.attributes.style.position="absolute";return HTMLResult.success(h)}}class Linear extends XFAObject{constructor(e){super(Mn,"linear",!0);this.id=e.id||"";this.type=getStringOption(e.type,["toRight","toBottom","toLeft","toTop"]);this.use=e.use||"";this.usehref=e.usehref||"";this.color=null;this.extras=null}[_s](e){e=e?e[_s]():"#FFFFFF";return`linear-gradient(${this.type.replace(/([RBLT])/," $1").toLowerCase()}, ${e}, ${this.color?this.color[_s]():"#000000"})`}}class LockDocument extends ContentObject{constructor(e){super(Mn,"lockDocument");this.id=e.id||"";this.type=getStringOption(e.type,["optional","required"]);this.use=e.use||"";this.usehref=e.usehref||""}[_r](){this[jr]=getStringOption(this[jr],["auto","0","1"])}}class Manifest extends XFAObject{constructor(e){super(Mn,"manifest",!0);this.action=getStringOption(e.action,["include","all","exclude"]);this.id=e.id||"";this.name=e.name||"";this.use=e.use||"";this.usehref=e.usehref||"";this.extras=null;this.ref=new XFAObjectArray}}class Margin extends XFAObject{constructor(e){super(Mn,"margin",!0);this.bottomInset=getMeasurement(e.bottomInset,"0");this.id=e.id||"";this.leftInset=getMeasurement(e.leftInset,"0");this.rightInset=getMeasurement(e.rightInset,"0");this.topInset=getMeasurement(e.topInset,"0");this.use=e.use||"";this.usehref=e.usehref||"";this.extras=null}[_s](){return{margin:measureToString(this.topInset)+" "+measureToString(this.rightInset)+" "+measureToString(this.bottomInset)+" "+measureToString(this.leftInset)}}}class Mdp extends XFAObject{constructor(e){super(Mn,"mdp");this.id=e.id||"";this.permissions=getInteger({data:e.permissions,defaultValue:2,validate:e=>1===e||3===e});this.signatureType=getStringOption(e.signatureType,["filler","author"]);this.use=e.use||"";this.usehref=e.usehref||""}}class Medium extends XFAObject{constructor(e){super(Mn,"medium");this.id=e.id||"";this.imagingBBox=function getBBox(e){const t=-1;if(!e)return{x:t,y:t,width:t,height:t};const i=e.trim().split(/\s*,\s*/).map((e=>getMeasurement(e,"-1")));if(i.length<4||i[2]<0||i[3]<0)return{x:t,y:t,width:t,height:t};const[a,r,s,n]=i;return{x:a,y:r,width:s,height:n}}(e.imagingBBox);this.long=getMeasurement(e.long);this.orientation=getStringOption(e.orientation,["portrait","landscape"]);this.short=getMeasurement(e.short);this.stock=e.stock||"";this.trayIn=getStringOption(e.trayIn,["auto","delegate","pageFront"]);this.trayOut=getStringOption(e.trayOut,["auto","delegate"]);this.use=e.use||"";this.usehref=e.usehref||""}}class Message extends XFAObject{constructor(e){super(Mn,"message",!0);this.id=e.id||"";this.use=e.use||"";this.usehref=e.usehref||"";this.text=new XFAObjectArray}}class NumericEdit extends XFAObject{constructor(e){super(Mn,"numericEdit",!0);this.hScrollPolicy=getStringOption(e.hScrollPolicy,["auto","off","on"]);this.id=e.id||"";this.use=e.use||"";this.usehref=e.usehref||"";this.border=null;this.comb=null;this.extras=null;this.margin=null}[Vs](e){const t=toStyle(this,"border","font","margin"),i=this[ls]()[ls](),a={name:"input",attributes:{type:"text",fieldId:i[zs],dataId:i[Xr]?.[zs]||i[zs],class:["xfaTextfield"],style:t,"aria-label":ariaLabel(i),"aria-required":!1}};if(isRequired(i)){a.attributes["aria-required"]=!0;a.attributes.required=!0}return HTMLResult.success({name:"label",attributes:{class:["xfaLabel"]},children:[a]})}}class Occur extends XFAObject{constructor(e){super(Mn,"occur",!0);this.id=e.id||"";this.initial=""!==e.initial?getInteger({data:e.initial,defaultValue:"",validate:e=>!0}):"";this.max=""!==e.max?getInteger({data:e.max,defaultValue:1,validate:e=>!0}):"";this.min=""!==e.min?getInteger({data:e.min,defaultValue:1,validate:e=>!0}):"";this.use=e.use||"";this.usehref=e.usehref||"";this.extras=null}[Tr](){const e=this[ls](),t=this.min;""===this.min&&(this.min=e instanceof PageArea||e instanceof PageSet?0:1);""===this.max&&(this.max=""===t?e instanceof PageArea||e instanceof PageSet?-1:1:this.min);-1!==this.max&&this.max!0});this.name=e.name||"";this.numbered=getInteger({data:e.numbered,defaultValue:1,validate:e=>!0});this.oddOrEven=getStringOption(e.oddOrEven,["any","even","odd"]);this.pagePosition=getStringOption(e.pagePosition,["any","first","last","only","rest"]);this.relevant=getRelevant(e.relevant);this.use=e.use||"";this.usehref=e.usehref||"";this.desc=null;this.extras=null;this.medium=null;this.occur=null;this.area=new XFAObjectArray;this.contentArea=new XFAObjectArray;this.draw=new XFAObjectArray;this.exclGroup=new XFAObjectArray;this.field=new XFAObjectArray;this.subform=new XFAObjectArray}[Fs](){if(!this[Zr]){this[Zr]={numberOfUse:0};return!0}return!this.occur||-1===this.occur.max||this[Zr].numberOfUsee.oddOrEven===t&&e.pagePosition===i));if(a)return a;a=this.pageArea.children.find((e=>"any"===e.oddOrEven&&e.pagePosition===i));if(a)return a;a=this.pageArea.children.find((e=>"any"===e.oddOrEven&&"any"===e.pagePosition));return a||this.pageArea.children[0]}}class Para extends XFAObject{constructor(e){super(Mn,"para",!0);this.hAlign=getStringOption(e.hAlign,["left","center","justify","justifyAll","radix","right"]);this.id=e.id||"";this.lineHeight=e.lineHeight?getMeasurement(e.lineHeight,"0pt"):"";this.marginLeft=e.marginLeft?getMeasurement(e.marginLeft,"0pt"):"";this.marginRight=e.marginRight?getMeasurement(e.marginRight,"0pt"):"";this.orphans=getInteger({data:e.orphans,defaultValue:0,validate:e=>e>=0});this.preserve=e.preserve||"";this.radixOffset=e.radixOffset?getMeasurement(e.radixOffset,"0pt"):"";this.spaceAbove=e.spaceAbove?getMeasurement(e.spaceAbove,"0pt"):"";this.spaceBelow=e.spaceBelow?getMeasurement(e.spaceBelow,"0pt"):"";this.tabDefault=e.tabDefault?getMeasurement(this.tabDefault):"";this.tabStops=(e.tabStops||"").trim().split(/\s+/).map(((e,t)=>t%2==1?getMeasurement(e):e));this.textIndent=e.textIndent?getMeasurement(e.textIndent,"0pt"):"";this.use=e.use||"";this.usehref=e.usehref||"";this.vAlign=getStringOption(e.vAlign,["top","bottom","middle"]);this.widows=getInteger({data:e.widows,defaultValue:0,validate:e=>e>=0});this.hyphenation=null}[_s](){const e=toStyle(this,"hAlign");""!==this.marginLeft&&(e.paddingLeft=measureToString(this.marginLeft));""!==this.marginRight&&(e.paddingRight=measureToString(this.marginRight));""!==this.spaceAbove&&(e.paddingTop=measureToString(this.spaceAbove));""!==this.spaceBelow&&(e.paddingBottom=measureToString(this.spaceBelow));if(""!==this.textIndent){e.textIndent=measureToString(this.textIndent);fixTextIndent(e)}this.lineHeight>0&&(e.lineHeight=measureToString(this.lineHeight));""!==this.tabDefault&&(e.tabSize=measureToString(this.tabDefault));this.tabStops.length;this.hyphenatation&&Object.assign(e,this.hyphenatation[_s]());return e}}class PasswordEdit extends XFAObject{constructor(e){super(Mn,"passwordEdit",!0);this.hScrollPolicy=getStringOption(e.hScrollPolicy,["auto","off","on"]);this.id=e.id||"";this.passwordChar=e.passwordChar||"*";this.use=e.use||"";this.usehref=e.usehref||"";this.border=null;this.extras=null;this.margin=null}}class template_Pattern extends XFAObject{constructor(e){super(Mn,"pattern",!0);this.id=e.id||"";this.type=getStringOption(e.type,["crossHatch","crossDiagonal","diagonalLeft","diagonalRight","horizontal","vertical"]);this.use=e.use||"";this.usehref=e.usehref||"";this.color=null;this.extras=null}[_s](e){e=e?e[_s]():"#FFFFFF";const t=this.color?this.color[_s]():"#000000",i="repeating-linear-gradient",a=`${e},${e} 5px,${t} 5px,${t} 10px`;switch(this.type){case"crossHatch":return`${i}(to top,${a}) ${i}(to right,${a})`;case"crossDiagonal":return`${i}(45deg,${a}) ${i}(-45deg,${a})`;case"diagonalLeft":return`${i}(45deg,${a})`;case"diagonalRight":return`${i}(-45deg,${a})`;case"horizontal":return`${i}(to top,${a})`;case"vertical":return`${i}(to right,${a})`}return""}}class Picture extends StringObject{constructor(e){super(Mn,"picture");this.id=e.id||"";this.use=e.use||"";this.usehref=e.usehref||""}}class Proto extends XFAObject{constructor(e){super(Mn,"proto",!0);this.appearanceFilter=new XFAObjectArray;this.arc=new XFAObjectArray;this.area=new XFAObjectArray;this.assist=new XFAObjectArray;this.barcode=new XFAObjectArray;this.bindItems=new XFAObjectArray;this.bookend=new XFAObjectArray;this.boolean=new XFAObjectArray;this.border=new XFAObjectArray;this.break=new XFAObjectArray;this.breakAfter=new XFAObjectArray;this.breakBefore=new XFAObjectArray;this.button=new XFAObjectArray;this.calculate=new XFAObjectArray;this.caption=new XFAObjectArray;this.certificate=new XFAObjectArray;this.certificates=new XFAObjectArray;this.checkButton=new XFAObjectArray;this.choiceList=new XFAObjectArray;this.color=new XFAObjectArray;this.comb=new XFAObjectArray;this.connect=new XFAObjectArray;this.contentArea=new XFAObjectArray;this.corner=new XFAObjectArray;this.date=new XFAObjectArray;this.dateTime=new XFAObjectArray;this.dateTimeEdit=new XFAObjectArray;this.decimal=new XFAObjectArray;this.defaultUi=new XFAObjectArray;this.desc=new XFAObjectArray;this.digestMethod=new XFAObjectArray;this.digestMethods=new XFAObjectArray;this.draw=new XFAObjectArray;this.edge=new XFAObjectArray;this.encoding=new XFAObjectArray;this.encodings=new XFAObjectArray;this.encrypt=new XFAObjectArray;this.encryptData=new XFAObjectArray;this.encryption=new XFAObjectArray;this.encryptionMethod=new XFAObjectArray;this.encryptionMethods=new XFAObjectArray;this.event=new XFAObjectArray;this.exData=new XFAObjectArray;this.exObject=new XFAObjectArray;this.exclGroup=new XFAObjectArray;this.execute=new XFAObjectArray;this.extras=new XFAObjectArray;this.field=new XFAObjectArray;this.fill=new XFAObjectArray;this.filter=new XFAObjectArray;this.float=new XFAObjectArray;this.font=new XFAObjectArray;this.format=new XFAObjectArray;this.handler=new XFAObjectArray;this.hyphenation=new XFAObjectArray;this.image=new XFAObjectArray;this.imageEdit=new XFAObjectArray;this.integer=new XFAObjectArray;this.issuers=new XFAObjectArray;this.items=new XFAObjectArray;this.keep=new XFAObjectArray;this.keyUsage=new XFAObjectArray;this.line=new XFAObjectArray;this.linear=new XFAObjectArray;this.lockDocument=new XFAObjectArray;this.manifest=new XFAObjectArray;this.margin=new XFAObjectArray;this.mdp=new XFAObjectArray;this.medium=new XFAObjectArray;this.message=new XFAObjectArray;this.numericEdit=new XFAObjectArray;this.occur=new XFAObjectArray;this.oid=new XFAObjectArray;this.oids=new XFAObjectArray;this.overflow=new XFAObjectArray;this.pageArea=new XFAObjectArray;this.pageSet=new XFAObjectArray;this.para=new XFAObjectArray;this.passwordEdit=new XFAObjectArray;this.pattern=new XFAObjectArray;this.picture=new XFAObjectArray;this.radial=new XFAObjectArray;this.reason=new XFAObjectArray;this.reasons=new XFAObjectArray;this.rectangle=new XFAObjectArray;this.ref=new XFAObjectArray;this.script=new XFAObjectArray;this.setProperty=new XFAObjectArray;this.signData=new XFAObjectArray;this.signature=new XFAObjectArray;this.signing=new XFAObjectArray;this.solid=new XFAObjectArray;this.speak=new XFAObjectArray;this.stipple=new XFAObjectArray;this.subform=new XFAObjectArray;this.subformSet=new XFAObjectArray;this.subjectDN=new XFAObjectArray;this.subjectDNs=new XFAObjectArray;this.submit=new XFAObjectArray;this.text=new XFAObjectArray;this.textEdit=new XFAObjectArray;this.time=new XFAObjectArray;this.timeStamp=new XFAObjectArray;this.toolTip=new XFAObjectArray;this.traversal=new XFAObjectArray;this.traverse=new XFAObjectArray;this.ui=new XFAObjectArray;this.validate=new XFAObjectArray;this.value=new XFAObjectArray;this.variables=new XFAObjectArray}}class Radial extends XFAObject{constructor(e){super(Mn,"radial",!0);this.id=e.id||"";this.type=getStringOption(e.type,["toEdge","toCenter"]);this.use=e.use||"";this.usehref=e.usehref||"";this.color=null;this.extras=null}[_s](e){e=e?e[_s]():"#FFFFFF";const t=this.color?this.color[_s]():"#000000";return`radial-gradient(circle at center, ${"toEdge"===this.type?`${e},${t}`:`${t},${e}`})`}}class Reason extends StringObject{constructor(e){super(Mn,"reason");this.id=e.id||"";this.name=e.name||"";this.use=e.use||"";this.usehref=e.usehref||""}}class Reasons extends XFAObject{constructor(e){super(Mn,"reasons",!0);this.id=e.id||"";this.type=getStringOption(e.type,["optional","required"]);this.use=e.use||"";this.usehref=e.usehref||"";this.reason=new XFAObjectArray}}class Rectangle extends XFAObject{constructor(e){super(Mn,"rectangle",!0);this.hand=getStringOption(e.hand,["even","left","right"]);this.id=e.id||"";this.use=e.use||"";this.usehref=e.usehref||"";this.corner=new XFAObjectArray(4);this.edge=new XFAObjectArray(4);this.fill=null}[Vs](){const e=this.edge.children.length?this.edge.children[0]:new Edge({}),t=e[_s](),i=Object.create(null);"visible"===this.fill?.presence?Object.assign(i,this.fill[_s]()):i.fill="transparent";i.strokeWidth=measureToString("visible"===e.presence?e.thickness:0);i.stroke=t.color;const a=(this.corner.children.length?this.corner.children[0]:new Corner({}))[_s](),r={name:"svg",children:[{name:"rect",attributes:{xmlns:Un,width:"100%",height:"100%",x:0,y:0,rx:a.radius,ry:a.radius,style:i}}],attributes:{xmlns:Un,style:{overflow:"visible"},width:"100%",height:"100%"}};if(hasMargin(this[ls]()[ls]()))return HTMLResult.success({name:"div",attributes:{style:{display:"inline",width:"100%",height:"100%"}},children:[r]});r.attributes.style.position="absolute";return HTMLResult.success(r)}}class RefElement extends StringObject{constructor(e){super(Mn,"ref");this.id=e.id||"";this.use=e.use||"";this.usehref=e.usehref||""}}class Script extends StringObject{constructor(e){super(Mn,"script");this.binding=e.binding||"";this.contentType=e.contentType||"";this.id=e.id||"";this.name=e.name||"";this.runAt=getStringOption(e.runAt,["client","both","server"]);this.use=e.use||"";this.usehref=e.usehref||""}}class SetProperty extends XFAObject{constructor(e){super(Mn,"setProperty");this.connection=e.connection||"";this.ref=e.ref||"";this.target=e.target||""}}class SignData extends XFAObject{constructor(e){super(Mn,"signData",!0);this.id=e.id||"";this.operation=getStringOption(e.operation,["sign","clear","verify"]);this.ref=e.ref||"";this.target=e.target||"";this.use=e.use||"";this.usehref=e.usehref||"";this.filter=null;this.manifest=null}}class Signature extends XFAObject{constructor(e){super(Mn,"signature",!0);this.id=e.id||"";this.type=getStringOption(e.type,["PDF1.3","PDF1.6"]);this.use=e.use||"";this.usehref=e.usehref||"";this.border=null;this.extras=null;this.filter=null;this.manifest=null;this.margin=null}}class Signing extends XFAObject{constructor(e){super(Mn,"signing",!0);this.id=e.id||"";this.type=getStringOption(e.type,["optional","required"]);this.use=e.use||"";this.usehref=e.usehref||"";this.certificate=new XFAObjectArray}}class Solid extends XFAObject{constructor(e){super(Mn,"solid",!0);this.id=e.id||"";this.use=e.use||"";this.usehref=e.usehref||"";this.extras=null}[_s](e){return e?e[_s]():"#FFFFFF"}}class Speak extends StringObject{constructor(e){super(Mn,"speak");this.disable=getInteger({data:e.disable,defaultValue:0,validate:e=>1===e});this.id=e.id||"";this.priority=getStringOption(e.priority,["custom","caption","name","toolTip"]);this.rid=e.rid||"";this.use=e.use||"";this.usehref=e.usehref||""}}class Stipple extends XFAObject{constructor(e){super(Mn,"stipple",!0);this.id=e.id||"";this.rate=getInteger({data:e.rate,defaultValue:50,validate:e=>e>=0&&e<=100});this.use=e.use||"";this.usehref=e.usehref||"";this.color=null;this.extras=null}[_s](e){const t=this.rate/100;return Util.makeHexColor(Math.round(e.value.r*(1-t)+this.value.r*t),Math.round(e.value.g*(1-t)+this.value.g*t),Math.round(e.value.b*(1-t)+this.value.b*t))}}class Subform extends XFAObject{constructor(e){super(Mn,"subform",!0);this.access=getStringOption(e.access,["open","nonInteractive","protected","readOnly"]);this.allowMacro=getInteger({data:e.allowMacro,defaultValue:0,validate:e=>1===e});this.anchorType=getStringOption(e.anchorType,["topLeft","bottomCenter","bottomLeft","bottomRight","middleCenter","middleLeft","middleRight","topCenter","topRight"]);this.colSpan=getInteger({data:e.colSpan,defaultValue:1,validate:e=>e>=1||-1===e});this.columnWidths=(e.columnWidths||"").trim().split(/\s+/).map((e=>"-1"===e?-1:getMeasurement(e)));this.h=e.h?getMeasurement(e.h):"";this.hAlign=getStringOption(e.hAlign,["left","center","justify","justifyAll","radix","right"]);this.id=e.id||"";this.layout=getStringOption(e.layout,["position","lr-tb","rl-row","rl-tb","row","table","tb"]);this.locale=e.locale||"";this.maxH=getMeasurement(e.maxH,"0pt");this.maxW=getMeasurement(e.maxW,"0pt");this.mergeMode=getStringOption(e.mergeMode,["consumeData","matchTemplate"]);this.minH=getMeasurement(e.minH,"0pt");this.minW=getMeasurement(e.minW,"0pt");this.name=e.name||"";this.presence=getStringOption(e.presence,["visible","hidden","inactive","invisible"]);this.relevant=getRelevant(e.relevant);this.restoreState=getStringOption(e.restoreState,["manual","auto"]);this.scope=getStringOption(e.scope,["name","none"]);this.use=e.use||"";this.usehref=e.usehref||"";this.w=e.w?getMeasurement(e.w):"";this.x=getMeasurement(e.x,"0pt");this.y=getMeasurement(e.y,"0pt");this.assist=null;this.bind=null;this.bookend=null;this.border=null;this.break=null;this.calculate=null;this.desc=null;this.extras=null;this.keep=null;this.margin=null;this.occur=null;this.overflow=null;this.pageSet=null;this.para=null;this.traversal=null;this.validate=null;this.variables=null;this.area=new XFAObjectArray;this.breakAfter=new XFAObjectArray;this.breakBefore=new XFAObjectArray;this.connect=new XFAObjectArray;this.draw=new XFAObjectArray;this.event=new XFAObjectArray;this.exObject=new XFAObjectArray;this.exclGroup=new XFAObjectArray;this.field=new XFAObjectArray;this.proto=new XFAObjectArray;this.setProperty=new XFAObjectArray;this.subform=new XFAObjectArray;this.subformSet=new XFAObjectArray}[cs](){const e=this[ls]();return e instanceof SubformSet?e[cs]():e}[fs](){return!0}[bs](){return this.layout.endsWith("-tb")&&0===this[Zr].attempt&&this[Zr].numberInLine>0||this[ls]()[bs]()}*[gs](){yield*getContainedChildren(this)}[zr](){return flushHTML(this)}[vr](e,t){addHTML(this,e,t)}[es](){return getAvailableSpace(this)}[ws](){const e=this[cs]();if(!e[ws]())return!1;if(void 0!==this[Zr]._isSplittable)return this[Zr]._isSplittable;if("position"===this.layout||this.layout.includes("row")){this[Zr]._isSplittable=!1;return!1}if(this.keep&&"none"!==this.keep.intact){this[Zr]._isSplittable=!1;return!1}if(e.layout?.endsWith("-tb")&&0!==e[Zr].numberInLine)return!1;this[Zr]._isSplittable=!0;return!0}[Vs](e){setTabIndex(this);if(this.break){if("auto"!==this.break.after||""!==this.break.afterTarget){const e=new BreakAfter({targetType:this.break.after,target:this.break.afterTarget,startNew:this.break.startNew.toString()});e[Cs]=this[Cs];this[Yr](e);this.breakAfter.push(e)}if("auto"!==this.break.before||""!==this.break.beforeTarget){const e=new BreakBefore({targetType:this.break.before,target:this.break.beforeTarget,startNew:this.break.startNew.toString()});e[Cs]=this[Cs];this[Yr](e);this.breakBefore.push(e)}if(""!==this.break.overflowTarget){const e=new Overflow({target:this.break.overflowTarget,leader:this.break.overflowLeader,trailer:this.break.overflowTrailer});e[Cs]=this[Cs];this[Yr](e);this.overflow.push(e)}this[Js](this.break);this.break=null}if("hidden"===this.presence||"inactive"===this.presence)return HTMLResult.EMPTY;(this.breakBefore.children.length>1||this.breakAfter.children.length>1)&&warn("XFA - Several breakBefore or breakAfter in subforms: please file a bug.");if(this.breakBefore.children.length>=1){const e=this.breakBefore.children[0];if(handleBreak(e))return HTMLResult.breakNode(e)}if(this[Zr]?.afterBreakAfter)return HTMLResult.EMPTY;fixDimensions(this);const t=[],i={id:this[zs],class:[]};setAccess(this,i.class);this[Zr]||(this[Zr]=Object.create(null));Object.assign(this[Zr],{children:t,line:null,attributes:i,attempt:0,numberInLine:0,availableSpace:{width:Math.min(this.w||1/0,e.width),height:Math.min(this.h||1/0,e.height)},width:0,height:0,prevHeight:0,currentWidth:0});const a=this[hs](),r=a[Zr].noLayoutFailure,s=this[ws]();s||setFirstUnsplittable(this);if(!checkDimensions(this,e))return HTMLResult.FAILURE;const n=new Set(["area","draw","exclGroup","field","subform","subformSet"]);if(this.layout.includes("row")){const e=this[cs]().columnWidths;if(Array.isArray(e)&&e.length>0){this[Zr].columnWidths=e;this[Zr].currentColumn=0}}const o=toStyle(this,"anchorType","dimensions","position","presence","border","margin","hAlign"),g=["xfaSubform"],c=layoutClass(this);c&&g.push(c);i.style=o;i.class=g;this.name&&(i.xfaName=this.name);if(this.overflow){const t=this.overflow[ss]();if(t.addLeader){t.addLeader=!1;handleOverflow(this,t.leader,e)}}this[Hs]();const l="lr-tb"===this.layout||"rl-tb"===this.layout,h=l?2:1;for(;this[Zr].attempt=1){const e=this.breakAfter.children[0];if(handleBreak(e)){this[Zr].afterBreakAfter=p;return HTMLResult.breakNode(e)}}delete this[Zr];return p}}class SubformSet extends XFAObject{constructor(e){super(Mn,"subformSet",!0);this.id=e.id||"";this.name=e.name||"";this.relation=getStringOption(e.relation,["ordered","choice","unordered"]);this.relevant=getRelevant(e.relevant);this.use=e.use||"";this.usehref=e.usehref||"";this.bookend=null;this.break=null;this.desc=null;this.extras=null;this.occur=null;this.overflow=null;this.breakAfter=new XFAObjectArray;this.breakBefore=new XFAObjectArray;this.subform=new XFAObjectArray;this.subformSet=new XFAObjectArray}*[gs](){yield*getContainedChildren(this)}[cs](){let e=this[ls]();for(;!(e instanceof Subform);)e=e[ls]();return e}[fs](){return!0}}class SubjectDN extends ContentObject{constructor(e){super(Mn,"subjectDN");this.delimiter=e.delimiter||",";this.id=e.id||"";this.name=e.name||"";this.use=e.use||"";this.usehref=e.usehref||""}[_r](){this[jr]=new Map(this[jr].split(this.delimiter).map((e=>{(e=e.split("=",2))[0]=e[0].trim();return e})))}}class SubjectDNs extends XFAObject{constructor(e){super(Mn,"subjectDNs",!0);this.id=e.id||"";this.type=getStringOption(e.type,["optional","required"]);this.use=e.use||"";this.usehref=e.usehref||"";this.subjectDN=new XFAObjectArray}}class Submit extends XFAObject{constructor(e){super(Mn,"submit",!0);this.embedPDF=getInteger({data:e.embedPDF,defaultValue:0,validate:e=>1===e});this.format=getStringOption(e.format,["xdp","formdata","pdf","urlencoded","xfd","xml"]);this.id=e.id||"";this.target=e.target||"";this.textEncoding=getKeyword({data:e.textEncoding?e.textEncoding.toLowerCase():"",defaultValue:"",validate:e=>["utf-8","big-five","fontspecific","gbk","gb-18030","gb-2312","ksc-5601","none","shift-jis","ucs-2","utf-16"].includes(e)||e.match(/iso-8859-\d{2}/)});this.use=e.use||"";this.usehref=e.usehref||"";this.xdpContent=e.xdpContent||"";this.encrypt=null;this.encryptData=new XFAObjectArray;this.signData=new XFAObjectArray}}class Template extends XFAObject{constructor(e){super(Mn,"template",!0);this.baseProfile=getStringOption(e.baseProfile,["full","interactiveForms"]);this.extras=null;this.subform=new XFAObjectArray}[_r](){0===this.subform.children.length&&warn("XFA - No subforms in template node.");this.subform.children.length>=2&&warn("XFA - Several subforms in template node: please file a bug.");this[Ws]=5e3}[ws](){return!0}[Ks](e,t){return e.startsWith("#")?[this[Qs].get(e.slice(1))]:searchNode(this,t,e,!0,!0)}*[Xs](){if(!this.subform.children.length)return HTMLResult.success({name:"div",children:[]});this[Zr]={overflowNode:null,firstUnsplittable:null,currentContentArea:null,currentPageArea:null,noLayoutFailure:!1,pageNumber:1,pagePosition:"first",oddOrEven:"odd",blankOrNotBlank:"nonBlank",paraStack:[]};const e=this.subform.children[0];e.pageSet[qr]();const t=e.pageSet.pageArea.children,i={name:"div",children:[]};let a=null,r=null,s=null;if(e.breakBefore.children.length>=1){r=e.breakBefore.children[0];s=r.target}else if(e.subform.children.length>=1&&e.subform.children[0].breakBefore.children.length>=1){r=e.subform.children[0].breakBefore.children[0];s=r.target}else if(e.break?.beforeTarget){r=e.break;s=r.beforeTarget}else if(e.subform.children.length>=1&&e.subform.children[0].break?.beforeTarget){r=e.subform.children[0].break;s=r.beforeTarget}if(r){const e=this[Ks](s,r[ls]());if(e instanceof PageArea){a=e;r[Zr]={}}}a||(a=t[0]);a[Zr]={numberOfUse:1};const n=a[ls]();n[Zr]={numberOfUse:1,pageIndex:n.pageArea.children.indexOf(a),pageSetIndex:0};let o,g=null,c=null,l=!0,h=0,C=0;for(;;){if(l)h=0;else{i.children.pop();if(3==++h){warn("XFA - Something goes wrong: please file a bug.");return i}}o=null;this[Zr].currentPageArea=a;const t=a[Vs]().html;i.children.push(t);if(g){this[Zr].noLayoutFailure=!0;t.children.push(g[Vs](a[Zr].space).html);g=null}if(c){this[Zr].noLayoutFailure=!0;t.children.push(c[Vs](a[Zr].space).html);c=null}const r=a.contentArea.children,s=t.children.filter((e=>e.attributes.class.includes("xfaContentarea")));l=!1;this[Zr].firstUnsplittable=null;this[Zr].noLayoutFailure=!1;const flush=t=>{const i=e[zr]();if(i){l||=i.children?.length>0;s[t].children.push(i)}};for(let t=C,a=r.length;t0;s[t].children.push(h.html)}else!l&&i.children.length>1&&i.children.pop();return i}if(h.isBreak()){const e=h.breakNode;flush(t);if("auto"===e.targetType)continue;if(e.leader){g=this[Ks](e.leader,e[ls]());g=g?g[0]:null}if(e.trailer){c=this[Ks](e.trailer,e[ls]());c=c?c[0]:null}if("pageArea"===e.targetType){o=e[Zr].target;t=1/0}else if(e[Zr].target){o=e[Zr].target;C=e[Zr].index+1;t=1/0}else t=e[Zr].index}else if(this[Zr].overflowNode){const e=this[Zr].overflowNode;this[Zr].overflowNode=null;const i=e[ss](),a=i.target;i.addLeader=null!==i.leader;i.addTrailer=null!==i.trailer;flush(t);const s=t;t=1/0;if(a instanceof PageArea)o=a;else if(a instanceof ContentArea){const e=r.indexOf(a);if(-1!==e)e>s?t=e-1:C=e;else{o=a[ls]();C=o.contentArea.children.indexOf(a)}}}else flush(t)}this[Zr].pageNumber+=1;o&&(o[Fs]()?o[Zr].numberOfUse+=1:o=null);a=o||a[Is]();yield null}}}class Text extends ContentObject{constructor(e){super(Mn,"text");this.id=e.id||"";this.maxChars=getInteger({data:e.maxChars,defaultValue:0,validate:e=>e>=0});this.name=e.name||"";this.rid=e.rid||"";this.use=e.use||"";this.usehref=e.usehref||""}[Jr](){return!0}[Gs](e){if(e[ks]===An.xhtml.id){this[jr]=e;return!0}warn(`XFA - Invalid content in Text: ${e[Rs]}.`);return!1}[Us](e){this[jr]instanceof XFAObject||super[Us](e)}[_r](){"string"==typeof this[jr]&&(this[jr]=this[jr].replaceAll("\r\n","\n"))}[ss](){return"string"==typeof this[jr]?this[jr].split(/[\u2029\u2028\n]/).reduce(((e,t)=>{t&&e.push(t);return e}),[]).join("\n"):this[jr][js]()}[Vs](e){if("string"==typeof this[jr]){const e=valueToHtml(this[jr]).html;if(this[jr].includes("\u2029")){e.name="div";e.children=[];this[jr].split("\u2029").map((e=>e.split(/[\u2028\n]/).reduce(((e,t)=>{e.push({name:"span",value:t},{name:"br"});return e}),[]))).forEach((t=>{e.children.push({name:"p",children:t})}))}else if(/[\u2028\n]/.test(this[jr])){e.name="div";e.children=[];this[jr].split(/[\u2028\n]/).forEach((t=>{e.children.push({name:"span",value:t},{name:"br"})}))}return HTMLResult.success(e)}return this[jr][Vs](e)}}class TextEdit extends XFAObject{constructor(e){super(Mn,"textEdit",!0);this.allowRichText=getInteger({data:e.allowRichText,defaultValue:0,validate:e=>1===e});this.hScrollPolicy=getStringOption(e.hScrollPolicy,["auto","off","on"]);this.id=e.id||"";this.multiLine=getInteger({data:e.multiLine,defaultValue:"",validate:e=>0===e||1===e});this.use=e.use||"";this.usehref=e.usehref||"";this.vScrollPolicy=getStringOption(e.vScrollPolicy,["auto","off","on"]);this.border=null;this.comb=null;this.extras=null;this.margin=null}[Vs](e){const t=toStyle(this,"border","font","margin");let i;const a=this[ls]()[ls]();""===this.multiLine&&(this.multiLine=a instanceof Draw?1:0);i=1===this.multiLine?{name:"textarea",attributes:{dataId:a[Xr]?.[zs]||a[zs],fieldId:a[zs],class:["xfaTextfield"],style:t,"aria-label":ariaLabel(a),"aria-required":!1}}:{name:"input",attributes:{type:"text",dataId:a[Xr]?.[zs]||a[zs],fieldId:a[zs],class:["xfaTextfield"],style:t,"aria-label":ariaLabel(a),"aria-required":!1}};if(isRequired(a)){i.attributes["aria-required"]=!0;i.attributes.required=!0}return HTMLResult.success({name:"label",attributes:{class:["xfaLabel"]},children:[i]})}}class Time extends StringObject{constructor(e){super(Mn,"time");this.id=e.id||"";this.name=e.name||"";this.use=e.use||"";this.usehref=e.usehref||""}[_r](){const e=this[jr].trim();this[jr]=e?new Date(e):null}[Vs](e){return valueToHtml(this[jr]?this[jr].toString():"")}}class TimeStamp extends XFAObject{constructor(e){super(Mn,"timeStamp");this.id=e.id||"";this.server=e.server||"";this.type=getStringOption(e.type,["optional","required"]);this.use=e.use||"";this.usehref=e.usehref||""}}class ToolTip extends StringObject{constructor(e){super(Mn,"toolTip");this.id=e.id||"";this.rid=e.rid||"";this.use=e.use||"";this.usehref=e.usehref||""}}class Traversal extends XFAObject{constructor(e){super(Mn,"traversal",!0);this.id=e.id||"";this.use=e.use||"";this.usehref=e.usehref||"";this.extras=null;this.traverse=new XFAObjectArray}}class Traverse extends XFAObject{constructor(e){super(Mn,"traverse",!0);this.id=e.id||"";this.operation=getStringOption(e.operation,["next","back","down","first","left","right","up"]);this.ref=e.ref||"";this.use=e.use||"";this.usehref=e.usehref||"";this.extras=null;this.script=null}get name(){return this.operation}[Ds](){return!1}}class Ui extends XFAObject{constructor(e){super(Mn,"ui",!0);this.id=e.id||"";this.use=e.use||"";this.usehref=e.usehref||"";this.extras=null;this.picture=null;this.barcode=null;this.button=null;this.checkButton=null;this.choiceList=null;this.dateTimeEdit=null;this.defaultUi=null;this.imageEdit=null;this.numericEdit=null;this.passwordEdit=null;this.signature=null;this.textEdit=null}[ss](){if(void 0===this[Zr]){for(const e of Object.getOwnPropertyNames(this)){if("extras"===e||"picture"===e)continue;const t=this[e];if(t instanceof XFAObject){this[Zr]=t;return t}}this[Zr]=null}return this[Zr]}[Vs](e){const t=this[ss]();return t?t[Vs](e):HTMLResult.EMPTY}}class Validate extends XFAObject{constructor(e){super(Mn,"validate",!0);this.formatTest=getStringOption(e.formatTest,["warning","disabled","error"]);this.id=e.id||"";this.nullTest=getStringOption(e.nullTest,["disabled","error","warning"]);this.scriptTest=getStringOption(e.scriptTest,["error","disabled","warning"]);this.use=e.use||"";this.usehref=e.usehref||"";this.extras=null;this.message=null;this.picture=null;this.script=null}}class Value extends XFAObject{constructor(e){super(Mn,"value",!0);this.id=e.id||"";this.override=getInteger({data:e.override,defaultValue:0,validate:e=>1===e});this.relevant=getRelevant(e.relevant);this.use=e.use||"";this.usehref=e.usehref||"";this.arc=null;this.boolean=null;this.date=null;this.dateTime=null;this.decimal=null;this.exData=null;this.float=null;this.image=null;this.integer=null;this.line=null;this.rectangle=null;this.text=null;this.time=null}[Os](e){const t=this[ls]();if(t instanceof Field&&t.ui?.imageEdit){if(!this.image){this.image=new Image({});this[Yr](this.image)}this.image[jr]=e[jr];return}const i=e[Rs];if(null===this[i]){for(const e of Object.getOwnPropertyNames(this)){const t=this[e];if(t instanceof XFAObject){this[e]=null;this[Js](t)}}this[e[Rs]]=e;this[Yr](e)}else this[i][jr]=e[jr]}[js](){if(this.exData)return"string"==typeof this.exData[jr]?this.exData[jr].trim():this.exData[jr][js]().trim();for(const e of Object.getOwnPropertyNames(this)){if("image"===e)continue;const t=this[e];if(t instanceof XFAObject)return(t[jr]||"").toString().trim()}return null}[Vs](e){for(const t of Object.getOwnPropertyNames(this)){const i=this[t];if(i instanceof XFAObject)return i[Vs](e)}return HTMLResult.EMPTY}}class Variables extends XFAObject{constructor(e){super(Mn,"variables",!0);this.id=e.id||"";this.use=e.use||"";this.usehref=e.usehref||"";this.boolean=new XFAObjectArray;this.date=new XFAObjectArray;this.dateTime=new XFAObjectArray;this.decimal=new XFAObjectArray;this.exData=new XFAObjectArray;this.float=new XFAObjectArray;this.image=new XFAObjectArray;this.integer=new XFAObjectArray;this.manifest=new XFAObjectArray;this.script=new XFAObjectArray;this.text=new XFAObjectArray;this.time=new XFAObjectArray}[Ds](){return!0}}class TemplateNamespace{static[$s](e,t){if(TemplateNamespace.hasOwnProperty(e)){const i=TemplateNamespace[e](t);i[qs](t);return i}}static appearanceFilter(e){return new AppearanceFilter(e)}static arc(e){return new Arc(e)}static area(e){return new Area(e)}static assist(e){return new Assist(e)}static barcode(e){return new Barcode(e)}static bind(e){return new Bind(e)}static bindItems(e){return new BindItems(e)}static bookend(e){return new Bookend(e)}static boolean(e){return new BooleanElement(e)}static border(e){return new Border(e)}static break(e){return new Break(e)}static breakAfter(e){return new BreakAfter(e)}static breakBefore(e){return new BreakBefore(e)}static button(e){return new Button(e)}static calculate(e){return new Calculate(e)}static caption(e){return new Caption(e)}static certificate(e){return new Certificate(e)}static certificates(e){return new Certificates(e)}static checkButton(e){return new CheckButton(e)}static choiceList(e){return new ChoiceList(e)}static color(e){return new Color(e)}static comb(e){return new Comb(e)}static connect(e){return new Connect(e)}static contentArea(e){return new ContentArea(e)}static corner(e){return new Corner(e)}static date(e){return new DateElement(e)}static dateTime(e){return new DateTime(e)}static dateTimeEdit(e){return new DateTimeEdit(e)}static decimal(e){return new Decimal(e)}static defaultUi(e){return new DefaultUi(e)}static desc(e){return new Desc(e)}static digestMethod(e){return new DigestMethod(e)}static digestMethods(e){return new DigestMethods(e)}static draw(e){return new Draw(e)}static edge(e){return new Edge(e)}static encoding(e){return new Encoding(e)}static encodings(e){return new Encodings(e)}static encrypt(e){return new Encrypt(e)}static encryptData(e){return new EncryptData(e)}static encryption(e){return new Encryption(e)}static encryptionMethod(e){return new EncryptionMethod(e)}static encryptionMethods(e){return new EncryptionMethods(e)}static event(e){return new Event(e)}static exData(e){return new ExData(e)}static exObject(e){return new ExObject(e)}static exclGroup(e){return new ExclGroup(e)}static execute(e){return new Execute(e)}static extras(e){return new Extras(e)}static field(e){return new Field(e)}static fill(e){return new Fill(e)}static filter(e){return new Filter(e)}static float(e){return new Float(e)}static font(e){return new template_Font(e)}static format(e){return new Format(e)}static handler(e){return new Handler(e)}static hyphenation(e){return new Hyphenation(e)}static image(e){return new Image(e)}static imageEdit(e){return new ImageEdit(e)}static integer(e){return new Integer(e)}static issuers(e){return new Issuers(e)}static items(e){return new Items(e)}static keep(e){return new Keep(e)}static keyUsage(e){return new KeyUsage(e)}static line(e){return new Line(e)}static linear(e){return new Linear(e)}static lockDocument(e){return new LockDocument(e)}static manifest(e){return new Manifest(e)}static margin(e){return new Margin(e)}static mdp(e){return new Mdp(e)}static medium(e){return new Medium(e)}static message(e){return new Message(e)}static numericEdit(e){return new NumericEdit(e)}static occur(e){return new Occur(e)}static oid(e){return new Oid(e)}static oids(e){return new Oids(e)}static overflow(e){return new Overflow(e)}static pageArea(e){return new PageArea(e)}static pageSet(e){return new PageSet(e)}static para(e){return new Para(e)}static passwordEdit(e){return new PasswordEdit(e)}static pattern(e){return new template_Pattern(e)}static picture(e){return new Picture(e)}static proto(e){return new Proto(e)}static radial(e){return new Radial(e)}static reason(e){return new Reason(e)}static reasons(e){return new Reasons(e)}static rectangle(e){return new Rectangle(e)}static ref(e){return new RefElement(e)}static script(e){return new Script(e)}static setProperty(e){return new SetProperty(e)}static signData(e){return new SignData(e)}static signature(e){return new Signature(e)}static signing(e){return new Signing(e)}static solid(e){return new Solid(e)}static speak(e){return new Speak(e)}static stipple(e){return new Stipple(e)}static subform(e){return new Subform(e)}static subformSet(e){return new SubformSet(e)}static subjectDN(e){return new SubjectDN(e)}static subjectDNs(e){return new SubjectDNs(e)}static submit(e){return new Submit(e)}static template(e){return new Template(e)}static text(e){return new Text(e)}static textEdit(e){return new TextEdit(e)}static time(e){return new Time(e)}static timeStamp(e){return new TimeStamp(e)}static toolTip(e){return new ToolTip(e)}static traversal(e){return new Traversal(e)}static traverse(e){return new Traverse(e)}static ui(e){return new Ui(e)}static validate(e){return new Validate(e)}static value(e){return new Value(e)}static variables(e){return new Variables(e)}}const Jn=An.datasets.id;function createText(e){const t=new Text({});t[jr]=e;return t}class Binder{constructor(e){this.root=e;this.datasets=e.datasets;this.data=e.datasets?.data||new XmlObject(An.datasets.id,"data");this.emptyMerge=0===this.data[os]().length;this.root.form=this.form=e.template[Pr]()}_isConsumeData(){return!this.emptyMerge&&this._mergeMode}_isMatchTemplate(){return!this._isConsumeData()}bind(){this._bindElement(this.form,this.data);return this.form}getData(){return this.data}_bindValue(e,t,i){e[Xr]=t;if(e[Bs]())if(t[ps]()){const i=t[rs]();e[Os](createText(i))}else if(e instanceof Field&&"multiSelect"===e.ui?.choiceList?.open){const i=t[os]().map((e=>e[jr].trim())).join("\n");e[Os](createText(i))}else this._isConsumeData()&&warn("XFA - Nodes haven't the same type.");else!t[ps]()||this._isMatchTemplate()?this._bindElement(e,t):warn("XFA - Nodes haven't the same type.")}_findDataByNameToConsume(e,t,i,a){if(!e)return null;let r,s;for(let a=0;a<3;a++){r=i[ns](e,!1,!0);for(;;){s=r.next().value;if(!s)break;if(t===s[ps]())return s}if(i[ks]===An.datasets.id&&"data"===i[Rs])break;i=i[ls]()}if(!a)return null;r=this.data[ns](e,!0,!1);s=r.next().value;if(s)return s;r=this.data[$r](e,!0);s=r.next().value;return s?.[ps]()?s:null}_setProperties(e,t){if(e.hasOwnProperty("setProperty"))for(const{ref:i,target:a,connection:r}of e.setProperty.children){if(r)continue;if(!i)continue;const s=searchNode(this.root,t,i,!1,!1);if(!s){warn(`XFA - Invalid reference: ${i}.`);continue}const[n]=s;if(!n[ms](this.data)){warn("XFA - Invalid node: must be a data node.");continue}const o=searchNode(this.root,e,a,!1,!1);if(!o){warn(`XFA - Invalid target: ${a}.`);continue}const[g]=o;if(!g[ms](e)){warn("XFA - Invalid target: must be a property or subproperty.");continue}const c=g[ls]();if(g instanceof SetProperty||c instanceof SetProperty){warn("XFA - Invalid target: cannot be a setProperty or one of its properties.");continue}if(g instanceof BindItems||c instanceof BindItems){warn("XFA - Invalid target: cannot be a bindItems or one of its properties.");continue}const l=n[js](),h=g[Rs];if(g instanceof XFAAttribute){const e=Object.create(null);e[h]=l;const t=Reflect.construct(Object.getPrototypeOf(c).constructor,[e]);c[h]=t[h]}else if(g.hasOwnProperty(jr)){g[Xr]=n;g[jr]=l;g[_r]()}else warn("XFA - Invalid node to use in setProperty")}}_bindItems(e,t){if(!e.hasOwnProperty("items")||!e.hasOwnProperty("bindItems")||e.bindItems.isEmpty())return;for(const t of e.items.children)e[Js](t);e.items.clear();const i=new Items({}),a=new Items({});e[Yr](i);e.items.push(i);e[Yr](a);e.items.push(a);for(const{ref:r,labelRef:s,valueRef:n,connection:o}of e.bindItems.children){if(o)continue;if(!r)continue;const e=searchNode(this.root,t,r,!1,!1);if(e)for(const t of e){if(!t[ms](this.datasets)){warn(`XFA - Invalid ref (${r}): must be a datasets child.`);continue}const e=searchNode(this.root,t,s,!0,!1);if(!e){warn(`XFA - Invalid label: ${s}.`);continue}const[o]=e;if(!o[ms](this.datasets)){warn("XFA - Invalid label: must be a datasets child.");continue}const g=searchNode(this.root,t,n,!0,!1);if(!g){warn(`XFA - Invalid value: ${n}.`);continue}const[c]=g;if(!c[ms](this.datasets)){warn("XFA - Invalid value: must be a datasets child.");continue}const l=createText(o[js]()),h=createText(c[js]());i[Yr](l);i.text.push(l);a[Yr](h);a.text.push(h)}else warn(`XFA - Invalid reference: ${r}.`)}}_bindOccurrences(e,t,i){let a;if(t.length>1){a=e[Pr]();a[Js](a.occur);a.occur=null}this._bindValue(e,t[0],i);this._setProperties(e,t[0]);this._bindItems(e,t[0]);if(1===t.length)return;const r=e[ls](),s=e[Rs],n=r[Es](e);for(let e=1,o=t.length;et.name===e.name)).length:i[a].children.length;const s=i[Es](e)+1,n=t.initial-r;if(n){const t=e[Pr]();t[Js](t.occur);t.occur=null;i[a].push(t);i[us](s,t);for(let e=1;e0)this._bindOccurrences(a,[e[0]],null);else if(this.emptyMerge){const e=t[ks]===Jn?-1:t[ks],i=a[Xr]=new XmlObject(e,a.name||"root");t[Yr](i);this._bindElement(a,i)}continue}if(!a[fs]())continue;let e=!1,r=null,s=null,n=null;if(a.bind){switch(a.bind.match){case"none":this._setAndBind(a,t);continue;case"global":e=!0;break;case"dataRef":if(!a.bind.ref){warn(`XFA - ref is empty in node ${a[Rs]}.`);this._setAndBind(a,t);continue}s=a.bind.ref}a.bind.picture&&(r=a.bind.picture[jr])}const[o,g]=this._getOccurInfo(a);if(s){n=searchNode(this.root,t,s,!0,!1);if(null===n){n=createDataNode(this.data,t,s);if(!n)continue;this._isConsumeData()&&(n[Wr]=!0);this._setAndBind(a,n);continue}this._isConsumeData()&&(n=n.filter((e=>!e[Wr])));n.length>g?n=n.slice(0,g):0===n.length&&(n=null);n&&this._isConsumeData()&&n.forEach((e=>{e[Wr]=!0}))}else{if(!a.name){this._setAndBind(a,t);continue}if(this._isConsumeData()){const i=[];for(;i.length0?i:null}else{n=t[ns](a.name,!1,this.emptyMerge).next().value;if(!n){if(0===o){i.push(a);continue}const e=t[ks]===Jn?-1:t[ks];n=a[Xr]=new XmlObject(e,a.name);this.emptyMerge&&(n[Wr]=!0);t[Yr](n);this._setAndBind(a,n);continue}this.emptyMerge&&(n[Wr]=!0);n=[n]}}n?this._bindOccurrences(a,n,r):o>0?this._setAndBind(a,t):i.push(a)}i.forEach((e=>e[ls]()[Js](e)))}}class DataHandler{constructor(e,t){this.data=t;this.dataset=e.datasets||null}serialize(e){const t=[[-1,this.data[os]()]];for(;t.length>0;){const i=t.at(-1),[a,r]=i;if(a+1===r.length){t.pop();continue}const s=r[++i[0]],n=e.get(s[zs]);if(n)s[Os](n);else{const t=s[As]();for(const i of t.values()){const t=e.get(i[zs]);if(t){i[Os](t);break}}}const o=s[os]();o.length>0&&t.push([-1,o])}const i=[''];if(this.dataset)for(const e of this.dataset[os]())"data"!==e[Rs]&&e[Zs](i);this.data[Zs](i);i.push("");return i.join("")}}const vn=An.config.id;class Acrobat extends XFAObject{constructor(e){super(vn,"acrobat",!0);this.acrobat7=null;this.autoSave=null;this.common=null;this.validate=null;this.validateApprovalSignatures=null;this.submitUrl=new XFAObjectArray}}class Acrobat7 extends XFAObject{constructor(e){super(vn,"acrobat7",!0);this.dynamicRender=null}}class ADBE_JSConsole extends OptionObject{constructor(e){super(vn,"ADBE_JSConsole",["delegate","Enable","Disable"])}}class ADBE_JSDebugger extends OptionObject{constructor(e){super(vn,"ADBE_JSDebugger",["delegate","Enable","Disable"])}}class AddSilentPrint extends Option01{constructor(e){super(vn,"addSilentPrint")}}class AddViewerPreferences extends Option01{constructor(e){super(vn,"addViewerPreferences")}}class AdjustData extends Option10{constructor(e){super(vn,"adjustData")}}class AdobeExtensionLevel extends IntegerObject{constructor(e){super(vn,"adobeExtensionLevel",0,(e=>e>=1&&e<=8))}}class Agent extends XFAObject{constructor(e){super(vn,"agent",!0);this.name=e.name?e.name.trim():"";this.common=new XFAObjectArray}}class AlwaysEmbed extends ContentObject{constructor(e){super(vn,"alwaysEmbed")}}class Amd extends StringObject{constructor(e){super(vn,"amd")}}class config_Area extends XFAObject{constructor(e){super(vn,"area");this.level=getInteger({data:e.level,defaultValue:0,validate:e=>e>=1&&e<=3});this.name=getStringOption(e.name,["","barcode","coreinit","deviceDriver","font","general","layout","merge","script","signature","sourceSet","templateCache"])}}class Attributes extends OptionObject{constructor(e){super(vn,"attributes",["preserve","delegate","ignore"])}}class AutoSave extends OptionObject{constructor(e){super(vn,"autoSave",["disabled","enabled"])}}class Base extends StringObject{constructor(e){super(vn,"base")}}class BatchOutput extends XFAObject{constructor(e){super(vn,"batchOutput");this.format=getStringOption(e.format,["none","concat","zip","zipCompress"])}}class BehaviorOverride extends ContentObject{constructor(e){super(vn,"behaviorOverride")}[_r](){this[jr]=new Map(this[jr].trim().split(/\s+/).filter((e=>e.includes(":"))).map((e=>e.split(":",2))))}}class Cache extends XFAObject{constructor(e){super(vn,"cache",!0);this.templateCache=null}}class Change extends Option01{constructor(e){super(vn,"change")}}class Common extends XFAObject{constructor(e){super(vn,"common",!0);this.data=null;this.locale=null;this.localeSet=null;this.messaging=null;this.suppressBanner=null;this.template=null;this.validationMessaging=null;this.versionControl=null;this.log=new XFAObjectArray}}class Compress extends XFAObject{constructor(e){super(vn,"compress");this.scope=getStringOption(e.scope,["imageOnly","document"])}}class CompressLogicalStructure extends Option01{constructor(e){super(vn,"compressLogicalStructure")}}class CompressObjectStream extends Option10{constructor(e){super(vn,"compressObjectStream")}}class Compression extends XFAObject{constructor(e){super(vn,"compression",!0);this.compressLogicalStructure=null;this.compressObjectStream=null;this.level=null;this.type=null}}class Config extends XFAObject{constructor(e){super(vn,"config",!0);this.acrobat=null;this.present=null;this.trace=null;this.agent=new XFAObjectArray}}class Conformance extends OptionObject{constructor(e){super(vn,"conformance",["A","B"])}}class ContentCopy extends Option01{constructor(e){super(vn,"contentCopy")}}class Copies extends IntegerObject{constructor(e){super(vn,"copies",1,(e=>e>=1))}}class Creator extends StringObject{constructor(e){super(vn,"creator")}}class CurrentPage extends IntegerObject{constructor(e){super(vn,"currentPage",0,(e=>e>=0))}}class Data extends XFAObject{constructor(e){super(vn,"data",!0);this.adjustData=null;this.attributes=null;this.incrementalLoad=null;this.outputXSL=null;this.range=null;this.record=null;this.startNode=null;this.uri=null;this.window=null;this.xsl=null;this.excludeNS=new XFAObjectArray;this.transform=new XFAObjectArray}}class Debug extends XFAObject{constructor(e){super(vn,"debug",!0);this.uri=null}}class DefaultTypeface extends ContentObject{constructor(e){super(vn,"defaultTypeface");this.writingScript=getStringOption(e.writingScript,["*","Arabic","Cyrillic","EastEuropeanRoman","Greek","Hebrew","Japanese","Korean","Roman","SimplifiedChinese","Thai","TraditionalChinese","Vietnamese"])}}class Destination extends OptionObject{constructor(e){super(vn,"destination",["pdf","pcl","ps","webClient","zpl"])}}class DocumentAssembly extends Option01{constructor(e){super(vn,"documentAssembly")}}class Driver extends XFAObject{constructor(e){super(vn,"driver",!0);this.name=e.name?e.name.trim():"";this.fontInfo=null;this.xdc=null}}class DuplexOption extends OptionObject{constructor(e){super(vn,"duplexOption",["simplex","duplexFlipLongEdge","duplexFlipShortEdge"])}}class DynamicRender extends OptionObject{constructor(e){super(vn,"dynamicRender",["forbidden","required"])}}class Embed extends Option01{constructor(e){super(vn,"embed")}}class config_Encrypt extends Option01{constructor(e){super(vn,"encrypt")}}class config_Encryption extends XFAObject{constructor(e){super(vn,"encryption",!0);this.encrypt=null;this.encryptionLevel=null;this.permissions=null}}class EncryptionLevel extends OptionObject{constructor(e){super(vn,"encryptionLevel",["40bit","128bit"])}}class Enforce extends StringObject{constructor(e){super(vn,"enforce")}}class Equate extends XFAObject{constructor(e){super(vn,"equate");this.force=getInteger({data:e.force,defaultValue:1,validate:e=>0===e});this.from=e.from||"";this.to=e.to||""}}class EquateRange extends XFAObject{constructor(e){super(vn,"equateRange");this.from=e.from||"";this.to=e.to||"";this._unicodeRange=e.unicodeRange||""}get unicodeRange(){const e=[],t=/U\+([0-9a-fA-F]+)/,i=this._unicodeRange;for(let a of i.split(",").map((e=>e.trim())).filter((e=>!!e))){a=a.split("-",2).map((e=>{const i=e.match(t);return i?parseInt(i[1],16):0}));1===a.length&&a.push(a[0]);e.push(a)}return shadow(this,"unicodeRange",e)}}class Exclude extends ContentObject{constructor(e){super(vn,"exclude")}[_r](){this[jr]=this[jr].trim().split(/\s+/).filter((e=>e&&["calculate","close","enter","exit","initialize","ready","validate"].includes(e)))}}class ExcludeNS extends StringObject{constructor(e){super(vn,"excludeNS")}}class FlipLabel extends OptionObject{constructor(e){super(vn,"flipLabel",["usePrinterSetting","on","off"])}}class config_FontInfo extends XFAObject{constructor(e){super(vn,"fontInfo",!0);this.embed=null;this.map=null;this.subsetBelow=null;this.alwaysEmbed=new XFAObjectArray;this.defaultTypeface=new XFAObjectArray;this.neverEmbed=new XFAObjectArray}}class FormFieldFilling extends Option01{constructor(e){super(vn,"formFieldFilling")}}class GroupParent extends StringObject{constructor(e){super(vn,"groupParent")}}class IfEmpty extends OptionObject{constructor(e){super(vn,"ifEmpty",["dataValue","dataGroup","ignore","remove"])}}class IncludeXDPContent extends StringObject{constructor(e){super(vn,"includeXDPContent")}}class IncrementalLoad extends OptionObject{constructor(e){super(vn,"incrementalLoad",["none","forwardOnly"])}}class IncrementalMerge extends Option01{constructor(e){super(vn,"incrementalMerge")}}class Interactive extends Option01{constructor(e){super(vn,"interactive")}}class Jog extends OptionObject{constructor(e){super(vn,"jog",["usePrinterSetting","none","pageSet"])}}class LabelPrinter extends XFAObject{constructor(e){super(vn,"labelPrinter",!0);this.name=getStringOption(e.name,["zpl","dpl","ipl","tcpl"]);this.batchOutput=null;this.flipLabel=null;this.fontInfo=null;this.xdc=null}}class Layout extends OptionObject{constructor(e){super(vn,"layout",["paginate","panel"])}}class Level extends IntegerObject{constructor(e){super(vn,"level",0,(e=>e>0))}}class Linearized extends Option01{constructor(e){super(vn,"linearized")}}class Locale extends StringObject{constructor(e){super(vn,"locale")}}class LocaleSet extends StringObject{constructor(e){super(vn,"localeSet")}}class Log extends XFAObject{constructor(e){super(vn,"log",!0);this.mode=null;this.threshold=null;this.to=null;this.uri=null}}class MapElement extends XFAObject{constructor(e){super(vn,"map",!0);this.equate=new XFAObjectArray;this.equateRange=new XFAObjectArray}}class MediumInfo extends XFAObject{constructor(e){super(vn,"mediumInfo",!0);this.map=null}}class config_Message extends XFAObject{constructor(e){super(vn,"message",!0);this.msgId=null;this.severity=null}}class Messaging extends XFAObject{constructor(e){super(vn,"messaging",!0);this.message=new XFAObjectArray}}class Mode extends OptionObject{constructor(e){super(vn,"mode",["append","overwrite"])}}class ModifyAnnots extends Option01{constructor(e){super(vn,"modifyAnnots")}}class MsgId extends IntegerObject{constructor(e){super(vn,"msgId",1,(e=>e>=1))}}class NameAttr extends StringObject{constructor(e){super(vn,"nameAttr")}}class NeverEmbed extends ContentObject{constructor(e){super(vn,"neverEmbed")}}class NumberOfCopies extends IntegerObject{constructor(e){super(vn,"numberOfCopies",null,(e=>e>=2&&e<=5))}}class OpenAction extends XFAObject{constructor(e){super(vn,"openAction",!0);this.destination=null}}class Output extends XFAObject{constructor(e){super(vn,"output",!0);this.to=null;this.type=null;this.uri=null}}class OutputBin extends StringObject{constructor(e){super(vn,"outputBin")}}class OutputXSL extends XFAObject{constructor(e){super(vn,"outputXSL",!0);this.uri=null}}class Overprint extends OptionObject{constructor(e){super(vn,"overprint",["none","both","draw","field"])}}class Packets extends StringObject{constructor(e){super(vn,"packets")}[_r](){"*"!==this[jr]&&(this[jr]=this[jr].trim().split(/\s+/).filter((e=>["config","datasets","template","xfdf","xslt"].includes(e))))}}class PageOffset extends XFAObject{constructor(e){super(vn,"pageOffset");this.x=getInteger({data:e.x,defaultValue:"useXDCSetting",validate:e=>!0});this.y=getInteger({data:e.y,defaultValue:"useXDCSetting",validate:e=>!0})}}class PageRange extends StringObject{constructor(e){super(vn,"pageRange")}[_r](){const e=this[jr].trim().split(/\s+/).map((e=>parseInt(e,10))),t=[];for(let i=0,a=e.length;i!1))}}class Pcl extends XFAObject{constructor(e){super(vn,"pcl",!0);this.name=e.name||"";this.batchOutput=null;this.fontInfo=null;this.jog=null;this.mediumInfo=null;this.outputBin=null;this.pageOffset=null;this.staple=null;this.xdc=null}}class Pdf extends XFAObject{constructor(e){super(vn,"pdf",!0);this.name=e.name||"";this.adobeExtensionLevel=null;this.batchOutput=null;this.compression=null;this.creator=null;this.encryption=null;this.fontInfo=null;this.interactive=null;this.linearized=null;this.openAction=null;this.pdfa=null;this.producer=null;this.renderPolicy=null;this.scriptModel=null;this.silentPrint=null;this.submitFormat=null;this.tagged=null;this.version=null;this.viewerPreferences=null;this.xdc=null}}class Pdfa extends XFAObject{constructor(e){super(vn,"pdfa",!0);this.amd=null;this.conformance=null;this.includeXDPContent=null;this.part=null}}class Permissions extends XFAObject{constructor(e){super(vn,"permissions",!0);this.accessibleContent=null;this.change=null;this.contentCopy=null;this.documentAssembly=null;this.formFieldFilling=null;this.modifyAnnots=null;this.plaintextMetadata=null;this.print=null;this.printHighQuality=null}}class PickTrayByPDFSize extends Option01{constructor(e){super(vn,"pickTrayByPDFSize")}}class config_Picture extends StringObject{constructor(e){super(vn,"picture")}}class PlaintextMetadata extends Option01{constructor(e){super(vn,"plaintextMetadata")}}class Presence extends OptionObject{constructor(e){super(vn,"presence",["preserve","dissolve","dissolveStructure","ignore","remove"])}}class Present extends XFAObject{constructor(e){super(vn,"present",!0);this.behaviorOverride=null;this.cache=null;this.common=null;this.copies=null;this.destination=null;this.incrementalMerge=null;this.layout=null;this.output=null;this.overprint=null;this.pagination=null;this.paginationOverride=null;this.script=null;this.validate=null;this.xdp=null;this.driver=new XFAObjectArray;this.labelPrinter=new XFAObjectArray;this.pcl=new XFAObjectArray;this.pdf=new XFAObjectArray;this.ps=new XFAObjectArray;this.submitUrl=new XFAObjectArray;this.webClient=new XFAObjectArray;this.zpl=new XFAObjectArray}}class Print extends Option01{constructor(e){super(vn,"print")}}class PrintHighQuality extends Option01{constructor(e){super(vn,"printHighQuality")}}class PrintScaling extends OptionObject{constructor(e){super(vn,"printScaling",["appdefault","noScaling"])}}class PrinterName extends StringObject{constructor(e){super(vn,"printerName")}}class Producer extends StringObject{constructor(e){super(vn,"producer")}}class Ps extends XFAObject{constructor(e){super(vn,"ps",!0);this.name=e.name||"";this.batchOutput=null;this.fontInfo=null;this.jog=null;this.mediumInfo=null;this.outputBin=null;this.staple=null;this.xdc=null}}class Range extends ContentObject{constructor(e){super(vn,"range")}[_r](){this[jr]=this[jr].trim().split(/\s*,\s*/,2).map((e=>e.split("-").map((e=>parseInt(e.trim(),10))))).filter((e=>e.every((e=>!isNaN(e))))).map((e=>{1===e.length&&e.push(e[0]);return e}))}}class Record extends ContentObject{constructor(e){super(vn,"record")}[_r](){this[jr]=this[jr].trim();const e=parseInt(this[jr],10);!isNaN(e)&&e>=0&&(this[jr]=e)}}class Relevant extends ContentObject{constructor(e){super(vn,"relevant")}[_r](){this[jr]=this[jr].trim().split(/\s+/)}}class Rename extends ContentObject{constructor(e){super(vn,"rename")}[_r](){this[jr]=this[jr].trim();(this[jr].toLowerCase().startsWith("xml")||new RegExp("[\\p{L}_][\\p{L}\\d._\\p{M}-]*","u").test(this[jr]))&&warn("XFA - Rename: invalid XFA name")}}class RenderPolicy extends OptionObject{constructor(e){super(vn,"renderPolicy",["server","client"])}}class RunScripts extends OptionObject{constructor(e){super(vn,"runScripts",["both","client","none","server"])}}class config_Script extends XFAObject{constructor(e){super(vn,"script",!0);this.currentPage=null;this.exclude=null;this.runScripts=null}}class ScriptModel extends OptionObject{constructor(e){super(vn,"scriptModel",["XFA","none"])}}class Severity extends OptionObject{constructor(e){super(vn,"severity",["ignore","error","information","trace","warning"])}}class SilentPrint extends XFAObject{constructor(e){super(vn,"silentPrint",!0);this.addSilentPrint=null;this.printerName=null}}class Staple extends XFAObject{constructor(e){super(vn,"staple");this.mode=getStringOption(e.mode,["usePrinterSetting","on","off"])}}class StartNode extends StringObject{constructor(e){super(vn,"startNode")}}class StartPage extends IntegerObject{constructor(e){super(vn,"startPage",0,(e=>!0))}}class SubmitFormat extends OptionObject{constructor(e){super(vn,"submitFormat",["html","delegate","fdf","xml","pdf"])}}class SubmitUrl extends StringObject{constructor(e){super(vn,"submitUrl")}}class SubsetBelow extends IntegerObject{constructor(e){super(vn,"subsetBelow",100,(e=>e>=0&&e<=100))}}class SuppressBanner extends Option01{constructor(e){super(vn,"suppressBanner")}}class Tagged extends Option01{constructor(e){super(vn,"tagged")}}class config_Template extends XFAObject{constructor(e){super(vn,"template",!0);this.base=null;this.relevant=null;this.startPage=null;this.uri=null;this.xsl=null}}class Threshold extends OptionObject{constructor(e){super(vn,"threshold",["trace","error","information","warning"])}}class To extends OptionObject{constructor(e){super(vn,"to",["null","memory","stderr","stdout","system","uri"])}}class TemplateCache extends XFAObject{constructor(e){super(vn,"templateCache");this.maxEntries=getInteger({data:e.maxEntries,defaultValue:5,validate:e=>e>=0})}}class Trace extends XFAObject{constructor(e){super(vn,"trace",!0);this.area=new XFAObjectArray}}class Transform extends XFAObject{constructor(e){super(vn,"transform",!0);this.groupParent=null;this.ifEmpty=null;this.nameAttr=null;this.picture=null;this.presence=null;this.rename=null;this.whitespace=null}}class Type extends OptionObject{constructor(e){super(vn,"type",["none","ascii85","asciiHex","ccittfax","flate","lzw","runLength","native","xdp","mergedXDP"])}}class Uri extends StringObject{constructor(e){super(vn,"uri")}}class config_Validate extends OptionObject{constructor(e){super(vn,"validate",["preSubmit","prePrint","preExecute","preSave"])}}class ValidateApprovalSignatures extends ContentObject{constructor(e){super(vn,"validateApprovalSignatures")}[_r](){this[jr]=this[jr].trim().split(/\s+/).filter((e=>["docReady","postSign"].includes(e)))}}class ValidationMessaging extends OptionObject{constructor(e){super(vn,"validationMessaging",["allMessagesIndividually","allMessagesTogether","firstMessageOnly","noMessages"])}}class Version extends OptionObject{constructor(e){super(vn,"version",["1.7","1.6","1.5","1.4","1.3","1.2"])}}class VersionControl extends XFAObject{constructor(e){super(vn,"VersionControl");this.outputBelow=getStringOption(e.outputBelow,["warn","error","update"]);this.sourceAbove=getStringOption(e.sourceAbove,["warn","error"]);this.sourceBelow=getStringOption(e.sourceBelow,["update","maintain"])}}class ViewerPreferences extends XFAObject{constructor(e){super(vn,"viewerPreferences",!0);this.ADBE_JSConsole=null;this.ADBE_JSDebugger=null;this.addViewerPreferences=null;this.duplexOption=null;this.enforce=null;this.numberOfCopies=null;this.pageRange=null;this.pickTrayByPDFSize=null;this.printScaling=null}}class WebClient extends XFAObject{constructor(e){super(vn,"webClient",!0);this.name=e.name?e.name.trim():"";this.fontInfo=null;this.xdc=null}}class Whitespace extends OptionObject{constructor(e){super(vn,"whitespace",["preserve","ltrim","normalize","rtrim","trim"])}}class Window extends ContentObject{constructor(e){super(vn,"window")}[_r](){const e=this[jr].trim().split(/\s*,\s*/,2).map((e=>parseInt(e,10)));if(e.some((e=>isNaN(e))))this[jr]=[0,0];else{1===e.length&&e.push(e[0]);this[jr]=e}}}class Xdc extends XFAObject{constructor(e){super(vn,"xdc",!0);this.uri=new XFAObjectArray;this.xsl=new XFAObjectArray}}class Xdp extends XFAObject{constructor(e){super(vn,"xdp",!0);this.packets=null}}class Xsl extends XFAObject{constructor(e){super(vn,"xsl",!0);this.debug=null;this.uri=null}}class Zpl extends XFAObject{constructor(e){super(vn,"zpl",!0);this.name=e.name?e.name.trim():"";this.batchOutput=null;this.flipLabel=null;this.fontInfo=null;this.xdc=null}}class ConfigNamespace{static[$s](e,t){if(ConfigNamespace.hasOwnProperty(e))return ConfigNamespace[e](t)}static acrobat(e){return new Acrobat(e)}static acrobat7(e){return new Acrobat7(e)}static ADBE_JSConsole(e){return new ADBE_JSConsole(e)}static ADBE_JSDebugger(e){return new ADBE_JSDebugger(e)}static addSilentPrint(e){return new AddSilentPrint(e)}static addViewerPreferences(e){return new AddViewerPreferences(e)}static adjustData(e){return new AdjustData(e)}static adobeExtensionLevel(e){return new AdobeExtensionLevel(e)}static agent(e){return new Agent(e)}static alwaysEmbed(e){return new AlwaysEmbed(e)}static amd(e){return new Amd(e)}static area(e){return new config_Area(e)}static attributes(e){return new Attributes(e)}static autoSave(e){return new AutoSave(e)}static base(e){return new Base(e)}static batchOutput(e){return new BatchOutput(e)}static behaviorOverride(e){return new BehaviorOverride(e)}static cache(e){return new Cache(e)}static change(e){return new Change(e)}static common(e){return new Common(e)}static compress(e){return new Compress(e)}static compressLogicalStructure(e){return new CompressLogicalStructure(e)}static compressObjectStream(e){return new CompressObjectStream(e)}static compression(e){return new Compression(e)}static config(e){return new Config(e)}static conformance(e){return new Conformance(e)}static contentCopy(e){return new ContentCopy(e)}static copies(e){return new Copies(e)}static creator(e){return new Creator(e)}static currentPage(e){return new CurrentPage(e)}static data(e){return new Data(e)}static debug(e){return new Debug(e)}static defaultTypeface(e){return new DefaultTypeface(e)}static destination(e){return new Destination(e)}static documentAssembly(e){return new DocumentAssembly(e)}static driver(e){return new Driver(e)}static duplexOption(e){return new DuplexOption(e)}static dynamicRender(e){return new DynamicRender(e)}static embed(e){return new Embed(e)}static encrypt(e){return new config_Encrypt(e)}static encryption(e){return new config_Encryption(e)}static encryptionLevel(e){return new EncryptionLevel(e)}static enforce(e){return new Enforce(e)}static equate(e){return new Equate(e)}static equateRange(e){return new EquateRange(e)}static exclude(e){return new Exclude(e)}static excludeNS(e){return new ExcludeNS(e)}static flipLabel(e){return new FlipLabel(e)}static fontInfo(e){return new config_FontInfo(e)}static formFieldFilling(e){return new FormFieldFilling(e)}static groupParent(e){return new GroupParent(e)}static ifEmpty(e){return new IfEmpty(e)}static includeXDPContent(e){return new IncludeXDPContent(e)}static incrementalLoad(e){return new IncrementalLoad(e)}static incrementalMerge(e){return new IncrementalMerge(e)}static interactive(e){return new Interactive(e)}static jog(e){return new Jog(e)}static labelPrinter(e){return new LabelPrinter(e)}static layout(e){return new Layout(e)}static level(e){return new Level(e)}static linearized(e){return new Linearized(e)}static locale(e){return new Locale(e)}static localeSet(e){return new LocaleSet(e)}static log(e){return new Log(e)}static map(e){return new MapElement(e)}static mediumInfo(e){return new MediumInfo(e)}static message(e){return new config_Message(e)}static messaging(e){return new Messaging(e)}static mode(e){return new Mode(e)}static modifyAnnots(e){return new ModifyAnnots(e)}static msgId(e){return new MsgId(e)}static nameAttr(e){return new NameAttr(e)}static neverEmbed(e){return new NeverEmbed(e)}static numberOfCopies(e){return new NumberOfCopies(e)}static openAction(e){return new OpenAction(e)}static output(e){return new Output(e)}static outputBin(e){return new OutputBin(e)}static outputXSL(e){return new OutputXSL(e)}static overprint(e){return new Overprint(e)}static packets(e){return new Packets(e)}static pageOffset(e){return new PageOffset(e)}static pageRange(e){return new PageRange(e)}static pagination(e){return new Pagination(e)}static paginationOverride(e){return new PaginationOverride(e)}static part(e){return new Part(e)}static pcl(e){return new Pcl(e)}static pdf(e){return new Pdf(e)}static pdfa(e){return new Pdfa(e)}static permissions(e){return new Permissions(e)}static pickTrayByPDFSize(e){return new PickTrayByPDFSize(e)}static picture(e){return new config_Picture(e)}static plaintextMetadata(e){return new PlaintextMetadata(e)}static presence(e){return new Presence(e)}static present(e){return new Present(e)}static print(e){return new Print(e)}static printHighQuality(e){return new PrintHighQuality(e)}static printScaling(e){return new PrintScaling(e)}static printerName(e){return new PrinterName(e)}static producer(e){return new Producer(e)}static ps(e){return new Ps(e)}static range(e){return new Range(e)}static record(e){return new Record(e)}static relevant(e){return new Relevant(e)}static rename(e){return new Rename(e)}static renderPolicy(e){return new RenderPolicy(e)}static runScripts(e){return new RunScripts(e)}static script(e){return new config_Script(e)}static scriptModel(e){return new ScriptModel(e)}static severity(e){return new Severity(e)}static silentPrint(e){return new SilentPrint(e)}static staple(e){return new Staple(e)}static startNode(e){return new StartNode(e)}static startPage(e){return new StartPage(e)}static submitFormat(e){return new SubmitFormat(e)}static submitUrl(e){return new SubmitUrl(e)}static subsetBelow(e){return new SubsetBelow(e)}static suppressBanner(e){return new SuppressBanner(e)}static tagged(e){return new Tagged(e)}static template(e){return new config_Template(e)}static templateCache(e){return new TemplateCache(e)}static threshold(e){return new Threshold(e)}static to(e){return new To(e)}static trace(e){return new Trace(e)}static transform(e){return new Transform(e)}static type(e){return new Type(e)}static uri(e){return new Uri(e)}static validate(e){return new config_Validate(e)}static validateApprovalSignatures(e){return new ValidateApprovalSignatures(e)}static validationMessaging(e){return new ValidationMessaging(e)}static version(e){return new Version(e)}static versionControl(e){return new VersionControl(e)}static viewerPreferences(e){return new ViewerPreferences(e)}static webClient(e){return new WebClient(e)}static whitespace(e){return new Whitespace(e)}static window(e){return new Window(e)}static xdc(e){return new Xdc(e)}static xdp(e){return new Xdp(e)}static xsl(e){return new Xsl(e)}static zpl(e){return new Zpl(e)}}const Yn=An.connectionSet.id;class ConnectionSet extends XFAObject{constructor(e){super(Yn,"connectionSet",!0);this.wsdlConnection=new XFAObjectArray;this.xmlConnection=new XFAObjectArray;this.xsdConnection=new XFAObjectArray}}class EffectiveInputPolicy extends XFAObject{constructor(e){super(Yn,"effectiveInputPolicy");this.id=e.id||"";this.name=e.name||"";this.use=e.use||"";this.usehref=e.usehref||""}}class EffectiveOutputPolicy extends XFAObject{constructor(e){super(Yn,"effectiveOutputPolicy");this.id=e.id||"";this.name=e.name||"";this.use=e.use||"";this.usehref=e.usehref||""}}class Operation extends StringObject{constructor(e){super(Yn,"operation");this.id=e.id||"";this.input=e.input||"";this.name=e.name||"";this.output=e.output||"";this.use=e.use||"";this.usehref=e.usehref||""}}class RootElement extends StringObject{constructor(e){super(Yn,"rootElement");this.id=e.id||"";this.name=e.name||"";this.use=e.use||"";this.usehref=e.usehref||""}}class SoapAction extends StringObject{constructor(e){super(Yn,"soapAction");this.id=e.id||"";this.name=e.name||"";this.use=e.use||"";this.usehref=e.usehref||""}}class SoapAddress extends StringObject{constructor(e){super(Yn,"soapAddress");this.id=e.id||"";this.name=e.name||"";this.use=e.use||"";this.usehref=e.usehref||""}}class connection_set_Uri extends StringObject{constructor(e){super(Yn,"uri");this.id=e.id||"";this.name=e.name||"";this.use=e.use||"";this.usehref=e.usehref||""}}class WsdlAddress extends StringObject{constructor(e){super(Yn,"wsdlAddress");this.id=e.id||"";this.name=e.name||"";this.use=e.use||"";this.usehref=e.usehref||""}}class WsdlConnection extends XFAObject{constructor(e){super(Yn,"wsdlConnection",!0);this.dataDescription=e.dataDescription||"";this.name=e.name||"";this.effectiveInputPolicy=null;this.effectiveOutputPolicy=null;this.operation=null;this.soapAction=null;this.soapAddress=null;this.wsdlAddress=null}}class XmlConnection extends XFAObject{constructor(e){super(Yn,"xmlConnection",!0);this.dataDescription=e.dataDescription||"";this.name=e.name||"";this.uri=null}}class XsdConnection extends XFAObject{constructor(e){super(Yn,"xsdConnection",!0);this.dataDescription=e.dataDescription||"";this.name=e.name||"";this.rootElement=null;this.uri=null}}class ConnectionSetNamespace{static[$s](e,t){if(ConnectionSetNamespace.hasOwnProperty(e))return ConnectionSetNamespace[e](t)}static connectionSet(e){return new ConnectionSet(e)}static effectiveInputPolicy(e){return new EffectiveInputPolicy(e)}static effectiveOutputPolicy(e){return new EffectiveOutputPolicy(e)}static operation(e){return new Operation(e)}static rootElement(e){return new RootElement(e)}static soapAction(e){return new SoapAction(e)}static soapAddress(e){return new SoapAddress(e)}static uri(e){return new connection_set_Uri(e)}static wsdlAddress(e){return new WsdlAddress(e)}static wsdlConnection(e){return new WsdlConnection(e)}static xmlConnection(e){return new XmlConnection(e)}static xsdConnection(e){return new XsdConnection(e)}}const Kn=An.datasets.id;class datasets_Data extends XmlObject{constructor(e){super(Kn,"data",e)}[ys](){return!0}}class Datasets extends XFAObject{constructor(e){super(Kn,"datasets",!0);this.data=null;this.Signature=null}[Gs](e){const t=e[Rs];("data"===t&&e[ks]===Kn||"Signature"===t&&e[ks]===An.signature.id)&&(this[t]=e);this[Yr](e)}}class DatasetsNamespace{static[$s](e,t){if(DatasetsNamespace.hasOwnProperty(e))return DatasetsNamespace[e](t)}static datasets(e){return new Datasets(e)}static data(e){return new datasets_Data(e)}}const Tn=An.localeSet.id;class CalendarSymbols extends XFAObject{constructor(e){super(Tn,"calendarSymbols",!0);this.name="gregorian";this.dayNames=new XFAObjectArray(2);this.eraNames=null;this.meridiemNames=null;this.monthNames=new XFAObjectArray(2)}}class CurrencySymbol extends StringObject{constructor(e){super(Tn,"currencySymbol");this.name=getStringOption(e.name,["symbol","isoname","decimal"])}}class CurrencySymbols extends XFAObject{constructor(e){super(Tn,"currencySymbols",!0);this.currencySymbol=new XFAObjectArray(3)}}class DatePattern extends StringObject{constructor(e){super(Tn,"datePattern");this.name=getStringOption(e.name,["full","long","med","short"])}}class DatePatterns extends XFAObject{constructor(e){super(Tn,"datePatterns",!0);this.datePattern=new XFAObjectArray(4)}}class DateTimeSymbols extends ContentObject{constructor(e){super(Tn,"dateTimeSymbols")}}class Day extends StringObject{constructor(e){super(Tn,"day")}}class DayNames extends XFAObject{constructor(e){super(Tn,"dayNames",!0);this.abbr=getInteger({data:e.abbr,defaultValue:0,validate:e=>1===e});this.day=new XFAObjectArray(7)}}class Era extends StringObject{constructor(e){super(Tn,"era")}}class EraNames extends XFAObject{constructor(e){super(Tn,"eraNames",!0);this.era=new XFAObjectArray(2)}}class locale_set_Locale extends XFAObject{constructor(e){super(Tn,"locale",!0);this.desc=e.desc||"";this.name="isoname";this.calendarSymbols=null;this.currencySymbols=null;this.datePatterns=null;this.dateTimeSymbols=null;this.numberPatterns=null;this.numberSymbols=null;this.timePatterns=null;this.typeFaces=null}}class locale_set_LocaleSet extends XFAObject{constructor(e){super(Tn,"localeSet",!0);this.locale=new XFAObjectArray}}class Meridiem extends StringObject{constructor(e){super(Tn,"meridiem")}}class MeridiemNames extends XFAObject{constructor(e){super(Tn,"meridiemNames",!0);this.meridiem=new XFAObjectArray(2)}}class Month extends StringObject{constructor(e){super(Tn,"month")}}class MonthNames extends XFAObject{constructor(e){super(Tn,"monthNames",!0);this.abbr=getInteger({data:e.abbr,defaultValue:0,validate:e=>1===e});this.month=new XFAObjectArray(12)}}class NumberPattern extends StringObject{constructor(e){super(Tn,"numberPattern");this.name=getStringOption(e.name,["full","long","med","short"])}}class NumberPatterns extends XFAObject{constructor(e){super(Tn,"numberPatterns",!0);this.numberPattern=new XFAObjectArray(4)}}class NumberSymbol extends StringObject{constructor(e){super(Tn,"numberSymbol");this.name=getStringOption(e.name,["decimal","grouping","percent","minus","zero"])}}class NumberSymbols extends XFAObject{constructor(e){super(Tn,"numberSymbols",!0);this.numberSymbol=new XFAObjectArray(5)}}class TimePattern extends StringObject{constructor(e){super(Tn,"timePattern");this.name=getStringOption(e.name,["full","long","med","short"])}}class TimePatterns extends XFAObject{constructor(e){super(Tn,"timePatterns",!0);this.timePattern=new XFAObjectArray(4)}}class TypeFace extends XFAObject{constructor(e){super(Tn,"typeFace",!0);this.name=""|e.name}}class TypeFaces extends XFAObject{constructor(e){super(Tn,"typeFaces",!0);this.typeFace=new XFAObjectArray}}class LocaleSetNamespace{static[$s](e,t){if(LocaleSetNamespace.hasOwnProperty(e))return LocaleSetNamespace[e](t)}static calendarSymbols(e){return new CalendarSymbols(e)}static currencySymbol(e){return new CurrencySymbol(e)}static currencySymbols(e){return new CurrencySymbols(e)}static datePattern(e){return new DatePattern(e)}static datePatterns(e){return new DatePatterns(e)}static dateTimeSymbols(e){return new DateTimeSymbols(e)}static day(e){return new Day(e)}static dayNames(e){return new DayNames(e)}static era(e){return new Era(e)}static eraNames(e){return new EraNames(e)}static locale(e){return new locale_set_Locale(e)}static localeSet(e){return new locale_set_LocaleSet(e)}static meridiem(e){return new Meridiem(e)}static meridiemNames(e){return new MeridiemNames(e)}static month(e){return new Month(e)}static monthNames(e){return new MonthNames(e)}static numberPattern(e){return new NumberPattern(e)}static numberPatterns(e){return new NumberPatterns(e)}static numberSymbol(e){return new NumberSymbol(e)}static numberSymbols(e){return new NumberSymbols(e)}static timePattern(e){return new TimePattern(e)}static timePatterns(e){return new TimePatterns(e)}static typeFace(e){return new TypeFace(e)}static typeFaces(e){return new TypeFaces(e)}}const qn=An.signature.id;class signature_Signature extends XFAObject{constructor(e){super(qn,"signature",!0)}}class SignatureNamespace{static[$s](e,t){if(SignatureNamespace.hasOwnProperty(e))return SignatureNamespace[e](t)}static signature(e){return new signature_Signature(e)}}const On=An.stylesheet.id;class Stylesheet extends XFAObject{constructor(e){super(On,"stylesheet",!0)}}class StylesheetNamespace{static[$s](e,t){if(StylesheetNamespace.hasOwnProperty(e))return StylesheetNamespace[e](t)}static stylesheet(e){return new Stylesheet(e)}}const Pn=An.xdp.id;class xdp_Xdp extends XFAObject{constructor(e){super(Pn,"xdp",!0);this.uuid=e.uuid||"";this.timeStamp=e.timeStamp||"";this.config=null;this.connectionSet=null;this.datasets=null;this.localeSet=null;this.stylesheet=new XFAObjectArray;this.template=null}[Ms](e){const t=An[e[Rs]];return t&&e[ks]===t.id}}class XdpNamespace{static[$s](e,t){if(XdpNamespace.hasOwnProperty(e))return XdpNamespace[e](t)}static xdp(e){return new xdp_Xdp(e)}}const Wn=An.xhtml.id,jn=Symbol(),Xn=new Set(["color","font","font-family","font-size","font-stretch","font-style","font-weight","margin","margin-bottom","margin-left","margin-right","margin-top","letter-spacing","line-height","orphans","page-break-after","page-break-before","page-break-inside","tab-interval","tab-stop","text-align","text-decoration","text-indent","vertical-align","widows","kerning-mode","xfa-font-horizontal-scale","xfa-font-vertical-scale","xfa-spacerun","xfa-tab-stops"]),Vn=new Map([["page-break-after","breakAfter"],["page-break-before","breakBefore"],["page-break-inside","breakInside"],["kerning-mode",e=>"none"===e?"none":"normal"],["xfa-font-horizontal-scale",e=>`scaleX(${Math.max(0,Math.min(parseInt(e)/100)).toFixed(2)})`],["xfa-font-vertical-scale",e=>`scaleY(${Math.max(0,Math.min(parseInt(e)/100)).toFixed(2)})`],["xfa-spacerun",""],["xfa-tab-stops",""],["font-size",(e,t)=>measureToString(.99*(e=t.fontSize=Math.abs(getMeasurement(e))))],["letter-spacing",e=>measureToString(getMeasurement(e))],["line-height",e=>measureToString(getMeasurement(e))],["margin",e=>measureToString(getMeasurement(e))],["margin-bottom",e=>measureToString(getMeasurement(e))],["margin-left",e=>measureToString(getMeasurement(e))],["margin-right",e=>measureToString(getMeasurement(e))],["margin-top",e=>measureToString(getMeasurement(e))],["text-indent",e=>measureToString(getMeasurement(e))],["font-family",e=>e],["vertical-align",e=>measureToString(getMeasurement(e))]]),Zn=/\s+/g,_n=/[\r\n]+/g,zn=/\r\n?/g;function mapStyle(e,t,i){const a=Object.create(null);if(!e)return a;const r=Object.create(null);for(const[t,i]of e.split(";").map((e=>e.split(":",2)))){const e=Vn.get(t);if(""===e)continue;let s=i;e&&(s="string"==typeof e?e:e(i,r));t.endsWith("scale")?a.transform=a.transform?`${a[t]} ${s}`:s:a[t.replaceAll(/-([a-zA-Z])/g,((e,t)=>t.toUpperCase()))]=s}a.fontFamily&&setFontFamily({typeface:a.fontFamily,weight:a.fontWeight||"normal",posture:a.fontStyle||"normal",size:r.fontSize||0},t,t[Cs].fontFinder,a);if(i&&a.verticalAlign&&"0px"!==a.verticalAlign&&a.fontSize){const e=.583,t=.333,i=getMeasurement(a.fontSize);a.fontSize=measureToString(i*e);a.verticalAlign=measureToString(Math.sign(getMeasurement(a.verticalAlign))*i*t)}i&&a.fontSize&&(a.fontSize=`calc(${a.fontSize} * var(--scale-factor))`);fixTextIndent(a);return a}const $n=new Set(["body","html"]);class XhtmlObject extends XmlObject{constructor(e,t){super(Wn,t);this[jn]=!1;this.style=e.style||""}[Tr](e){super[Tr](e);this.style=function checkStyle(e){return e.style?e.style.trim().split(/\s*;\s*/).filter((e=>!!e)).map((e=>e.split(/\s*:\s*/,2))).filter((([t,i])=>{"font-family"===t&&e[Cs].usedTypefaces.add(i);return Xn.has(t)})).map((e=>e.join(":"))).join(";"):""}(this)}[Jr](){return!$n.has(this[Rs])}[Us](e,t=!1){if(t)this[jn]=!0;else{e=e.replaceAll(_n,"");this.style.includes("xfa-spacerun:yes")||(e=e.replaceAll(Zn," "))}e&&(this[jr]+=e)}[xs](e,t=!0){const i=Object.create(null),a={top:NaN,bottom:NaN,left:NaN,right:NaN};let r=null;for(const[e,t]of this.style.split(";").map((e=>e.split(":",2))))switch(e){case"font-family":i.typeface=stripQuotes(t);break;case"font-size":i.size=getMeasurement(t);break;case"font-weight":i.weight=t;break;case"font-style":i.posture=t;break;case"letter-spacing":i.letterSpacing=getMeasurement(t);break;case"margin":const e=t.split(/ \t/).map((e=>getMeasurement(e)));switch(e.length){case 1:a.top=a.bottom=a.left=a.right=e[0];break;case 2:a.top=a.bottom=e[0];a.left=a.right=e[1];break;case 3:a.top=e[0];a.bottom=e[2];a.left=a.right=e[1];break;case 4:a.top=e[0];a.left=e[1];a.bottom=e[2];a.right=e[3]}break;case"margin-top":a.top=getMeasurement(t);break;case"margin-bottom":a.bottom=getMeasurement(t);break;case"margin-left":a.left=getMeasurement(t);break;case"margin-right":a.right=getMeasurement(t);break;case"line-height":r=getMeasurement(t)}e.pushData(i,a,r);if(this[jr])e.addString(this[jr]);else for(const t of this[os]())"#text"!==t[Rs]?t[xs](e):e.addString(t[jr]);t&&e.popFont()}[Vs](e){const t=[];this[Zr]={children:t};this[Kr]({});if(0===t.length&&!this[jr])return HTMLResult.EMPTY;let i;i=this[jn]?this[jr]?this[jr].replaceAll(zn,"\n"):void 0:this[jr]||void 0;return HTMLResult.success({name:this[Rs],attributes:{href:this.href,style:mapStyle(this.style,this,this[jn])},children:t,value:i})}}class A extends XhtmlObject{constructor(e){super(e,"a");this.href=fixURL(e.href)||""}}class B extends XhtmlObject{constructor(e){super(e,"b")}[xs](e){e.pushFont({weight:"bold"});super[xs](e);e.popFont()}}class Body extends XhtmlObject{constructor(e){super(e,"body")}[Vs](e){const t=super[Vs](e),{html:i}=t;if(!i)return HTMLResult.EMPTY;i.name="div";i.attributes.class=["xfaRich"];return t}}class Br extends XhtmlObject{constructor(e){super(e,"br")}[js](){return"\n"}[xs](e){e.addString("\n")}[Vs](e){return HTMLResult.success({name:"br"})}}class Html extends XhtmlObject{constructor(e){super(e,"html")}[Vs](e){const t=[];this[Zr]={children:t};this[Kr]({});if(0===t.length)return HTMLResult.success({name:"div",attributes:{class:["xfaRich"],style:{}},value:this[jr]||""});if(1===t.length){const e=t[0];if(e.attributes?.class.includes("xfaRich"))return HTMLResult.success(e)}return HTMLResult.success({name:"div",attributes:{class:["xfaRich"],style:{}},children:t})}}class I extends XhtmlObject{constructor(e){super(e,"i")}[xs](e){e.pushFont({posture:"italic"});super[xs](e);e.popFont()}}class Li extends XhtmlObject{constructor(e){super(e,"li")}}class Ol extends XhtmlObject{constructor(e){super(e,"ol")}}class P extends XhtmlObject{constructor(e){super(e,"p")}[xs](e){super[xs](e,!1);e.addString("\n");e.addPara();e.popFont()}[js](){return this[ls]()[os]().at(-1)===this?super[js]():super[js]()+"\n"}}class Span extends XhtmlObject{constructor(e){super(e,"span")}}class Sub extends XhtmlObject{constructor(e){super(e,"sub")}}class Sup extends XhtmlObject{constructor(e){super(e,"sup")}}class Ul extends XhtmlObject{constructor(e){super(e,"ul")}}class XhtmlNamespace{static[$s](e,t){if(XhtmlNamespace.hasOwnProperty(e))return XhtmlNamespace[e](t)}static a(e){return new A(e)}static b(e){return new B(e)}static body(e){return new Body(e)}static br(e){return new Br(e)}static html(e){return new Html(e)}static i(e){return new I(e)}static li(e){return new Li(e)}static ol(e){return new Ol(e)}static p(e){return new P(e)}static span(e){return new Span(e)}static sub(e){return new Sub(e)}static sup(e){return new Sup(e)}static ul(e){return new Ul(e)}}const Ao={config:ConfigNamespace,connection:ConnectionSetNamespace,datasets:DatasetsNamespace,localeSet:LocaleSetNamespace,signature:SignatureNamespace,stylesheet:StylesheetNamespace,template:TemplateNamespace,xdp:XdpNamespace,xhtml:XhtmlNamespace};class UnknownNamespace{constructor(e){this.namespaceId=e}[$s](e,t){return new XmlObject(this.namespaceId,e,t)}}class Root extends XFAObject{constructor(e){super(-1,"root",Object.create(null));this.element=null;this[Qs]=e}[Gs](e){this.element=e;return!0}[_r](){super[_r]();if(this.element.template instanceof Template){this[Qs].set(vs,this.element);this.element.template[Ys](this[Qs]);this.element.template[Qs]=this[Qs]}}}class Empty extends XFAObject{constructor(){super(-1,"",Object.create(null))}[Gs](e){return!1}}class Builder{constructor(e=null){this._namespaceStack=[];this._nsAgnosticLevel=0;this._namespacePrefixes=new Map;this._namespaces=new Map;this._nextNsId=Math.max(...Object.values(An).map((({id:e})=>e)));this._currentNamespace=e||new UnknownNamespace(++this._nextNsId)}buildRoot(e){return new Root(e)}build({nsPrefix:e,name:t,attributes:i,namespace:a,prefixes:r}){const s=null!==a;if(s){this._namespaceStack.push(this._currentNamespace);this._currentNamespace=this._searchNamespace(a)}r&&this._addNamespacePrefix(r);if(i.hasOwnProperty(Ns)){const e=Ao.datasets,t=i[Ns];let a=null;for(const[i,r]of Object.entries(t)){if(this._getNamespaceToUse(i)===e){a={xfa:r};break}}a?i[Ns]=a:delete i[Ns]}const n=this._getNamespaceToUse(e),o=n?.[$s](t,i)||new Empty;o[ys]()&&this._nsAgnosticLevel++;(s||r||o[ys]())&&(o[Or]={hasNamespace:s,prefixes:r,nsAgnostic:o[ys]()});return o}isNsAgnostic(){return this._nsAgnosticLevel>0}_searchNamespace(e){let t=this._namespaces.get(e);if(t)return t;for(const[i,{check:a}]of Object.entries(An))if(a(e)){t=Ao[i];if(t){this._namespaces.set(e,t);return t}break}t=new UnknownNamespace(++this._nextNsId);this._namespaces.set(e,t);return t}_addNamespacePrefix(e){for(const{prefix:t,value:i}of e){const e=this._searchNamespace(i);let a=this._namespacePrefixes.get(t);if(!a){a=[];this._namespacePrefixes.set(t,a)}a.push(e)}}_getNamespaceToUse(e){if(!e)return this._currentNamespace;const t=this._namespacePrefixes.get(e);if(t?.length>0)return t.at(-1);warn(`Unknown namespace prefix: ${e}.`);return null}clean(e){const{hasNamespace:t,prefixes:i,nsAgnostic:a}=e;t&&(this._currentNamespace=this._namespaceStack.pop());i&&i.forEach((({prefix:e})=>{this._namespacePrefixes.get(e).pop()}));a&&this._nsAgnosticLevel--}}class XFAParser extends XMLParserBase{constructor(e=null,t=!1){super();this._builder=new Builder(e);this._stack=[];this._globalData={usedTypefaces:new Set};this._ids=new Map;this._current=this._builder.buildRoot(this._ids);this._errorCode=Dr;this._whiteRegex=/^\s+$/;this._nbsps=/\xa0+/g;this._richText=t}parse(e){this.parseXml(e);if(this._errorCode===Dr){this._current[_r]();return this._current.element}}onText(e){e=e.replace(this._nbsps,(e=>e.slice(1)+" "));this._richText||this._current[Jr]()?this._current[Us](e,this._richText):this._whiteRegex.test(e)||this._current[Us](e.trim())}onCdata(e){this._current[Us](e)}_mkAttributes(e,t){let i=null,a=null;const r=Object.create({});for(const{name:s,value:n}of e)if("xmlns"===s)i?warn(`XFA - multiple namespace definition in <${t}>`):i=n;else if(s.startsWith("xmlns:")){const e=s.substring(6);a||(a=[]);a.push({prefix:e,value:n})}else{const e=s.indexOf(":");if(-1===e)r[s]=n;else{let t=r[Ns];t||(t=r[Ns]=Object.create(null));const[i,a]=[s.slice(0,e),s.slice(e+1)];(t[i]||=Object.create(null))[a]=n}}return[i,a,r]}_getNameAndPrefix(e,t){const i=e.indexOf(":");return-1===i?[e,null]:[e.substring(i+1),t?"":e.substring(0,i)]}onBeginElement(e,t,i){const[a,r,s]=this._mkAttributes(t,e),[n,o]=this._getNameAndPrefix(e,this._builder.isNsAgnostic()),g=this._builder.build({nsPrefix:o,name:n,attributes:s,namespace:a,prefixes:r});g[Cs]=this._globalData;if(i){g[_r]();this._current[Gs](g)&&g[Ts](this._ids);g[Tr](this._builder)}else{this._stack.push(this._current);this._current=g}}onEndElement(e){const t=this._current;if(t[ds]()&&"string"==typeof t[jr]){const e=new XFAParser;e._globalData=this._globalData;const i=e.parse(t[jr]);t[jr]=null;t[Gs](i)}t[_r]();this._current=this._stack.pop();this._current[Gs](t)&&t[Ts](this._ids);t[Tr](this._builder)}onError(e){this._errorCode=e}}class XFAFactory{constructor(e){try{this.root=(new XFAParser).parse(XFAFactory._createDocument(e));const t=new Binder(this.root);this.form=t.bind();this.dataHandler=new DataHandler(this.root,t.getData());this.form[Cs].template=this.form}catch(e){warn(`XFA - an error occurred during parsing and binding: ${e}`)}}isValid(){return this.root&&this.form}_createPagesHelper(){const e=this.form[Xs]();return new Promise(((t,i)=>{const nextIteration=()=>{try{const i=e.next();i.done?t(i.value):setTimeout(nextIteration,0)}catch(e){i(e)}};setTimeout(nextIteration,0)}))}async _createPages(){try{this.pages=await this._createPagesHelper();this.dims=this.pages.children.map((e=>{const{width:t,height:i}=e.attributes.style;return[0,0,parseInt(t),parseInt(i)]}))}catch(e){warn(`XFA - an error occurred during layout: ${e}`)}}getBoundingBox(e){return this.dims[e]}async getNumPages(){this.pages||await this._createPages();return this.dims.length}setImages(e){this.form[Cs].images=e}setFonts(e){this.form[Cs].fontFinder=new FontFinder(e);const t=[];for(let e of this.form[Cs].usedTypefaces){e=stripQuotes(e);this.form[Cs].fontFinder.find(e)||t.push(e)}return t.length>0?t:null}appendFonts(e,t){this.form[Cs].fontFinder.add(e,t)}async getPages(){this.pages||await this._createPages();const e=this.pages;this.pages=null;return e}serializeData(e){return this.dataHandler.serialize(e)}static _createDocument(e){return e["/xdp:xdp"]?Object.values(e).join(""):e["xdp:xdp"]}static getRichTextAsHtml(e){if(!e||"string"!=typeof e)return null;try{let t=new XFAParser(XhtmlNamespace,!0).parse(e);if(!["body","xhtml"].includes(t[Rs])){const e=XhtmlNamespace.body({});e[Yr](t);t=e}const i=t[Vs]();if(!i.success)return null;const{html:a}=i,{attributes:r}=a;if(r){r.class&&(r.class=r.class.filter((e=>!e.startsWith("xfa"))));r.dir="auto"}return{html:a,str:t[js]()}}catch(e){warn(`XFA - an error occurred during parsing of rich text: ${e}`)}return null}}class AnnotationFactory{static createGlobals(e){return Promise.all([e.ensureCatalog("acroForm"),e.ensureDoc("xfaDatasets"),e.ensureCatalog("structTreeRoot"),e.ensureCatalog("baseUrl"),e.ensureCatalog("attachments")]).then((([t,i,a,r,s])=>({pdfManager:e,acroForm:t instanceof Dict?t:Dict.empty,xfaDatasets:i,structTreeRoot:a,baseUrl:r,attachments:s})),(e=>{warn(`createGlobals: "${e}".`);return null}))}static async create(e,t,i,a,r,s,n){const o=r?await this._getPageIndex(e,t,i.pdfManager):null;return i.pdfManager.ensure(this,"_create",[e,t,i,a,r,s,o,n])}static _create(e,t,i,a,r=!1,s=null,n=null,o=null){const g=e.fetchIfRef(t);if(!(g instanceof Dict))return;const{acroForm:c,pdfManager:l}=i,h=t instanceof Ref?t.toString():`annot_${a.createObjId()}`;let C=g.get("Subtype");C=C instanceof Name?C.name:null;const Q={xref:e,ref:t,dict:g,subtype:C,id:h,annotationGlobals:i,collectFields:r,orphanFields:s,needAppearances:!r&&!0===c.get("NeedAppearances"),pageIndex:n,evaluatorOptions:l.evaluatorOptions,pageRef:o};switch(C){case"Link":return new LinkAnnotation(Q);case"Text":return new TextAnnotation(Q);case"Widget":let e=getInheritableProperty({dict:g,key:"FT"});e=e instanceof Name?e.name:null;switch(e){case"Tx":return new TextWidgetAnnotation(Q);case"Btn":return new ButtonWidgetAnnotation(Q);case"Ch":return new ChoiceWidgetAnnotation(Q);case"Sig":return new SignatureWidgetAnnotation(Q)}warn(`Unimplemented widget field type "${e}", falling back to base field type.`);return new WidgetAnnotation(Q);case"Popup":return new PopupAnnotation(Q);case"FreeText":return new FreeTextAnnotation(Q);case"Line":return new LineAnnotation(Q);case"Square":return new SquareAnnotation(Q);case"Circle":return new CircleAnnotation(Q);case"PolyLine":return new PolylineAnnotation(Q);case"Polygon":return new PolygonAnnotation(Q);case"Caret":return new CaretAnnotation(Q);case"Ink":return new InkAnnotation(Q);case"Highlight":return new HighlightAnnotation(Q);case"Underline":return new UnderlineAnnotation(Q);case"Squiggly":return new SquigglyAnnotation(Q);case"StrikeOut":return new StrikeOutAnnotation(Q);case"Stamp":return new StampAnnotation(Q);case"FileAttachment":return new FileAttachmentAnnotation(Q);default:r||warn(C?`Unimplemented annotation type "${C}", falling back to base annotation.`:"Annotation is missing the required /Subtype.");return new Annotation(Q)}}static async _getPageIndex(e,t,i){try{const a=await e.fetchIfRefAsync(t);if(!(a instanceof Dict))return-1;const r=a.getRaw("P");if(r instanceof Ref)try{return await i.ensureCatalog("getPageIndex",[r])}catch(e){info(`_getPageIndex -- not a valid page reference: "${e}".`)}if(a.has("Kids"))return-1;const s=await i.ensureDoc("numPages");for(let e=0;ee/255))}function getQuadPoints(e,t){const i=e.getArray("QuadPoints");if(!isNumberArray(i,null)||0===i.length||i.length%8>0)return null;const a=new Float32Array(i.length);for(let e=0,r=i.length;et[2]||Et[3]))return null;a.set([C,u,Q,u,C,E,Q,E],e)}return a}function getTransformMatrix(e,t,i){const[a,r,s,n]=Util.getAxialAlignedBoundingBox(t,i);if(a===s||r===n)return[1,0,0,1,e[0],e[1]];const o=(e[2]-e[0])/(s-a),g=(e[3]-e[1])/(n-r);return[o,0,0,g,e[0]-a*o,e[1]-r*g]}class Annotation{constructor(e){const{dict:t,xref:i,annotationGlobals:a,ref:r,orphanFields:s}=e,n=s?.get(r);n&&t.set("Parent",n);this.setTitle(t.get("T"));this.setContents(t.get("Contents"));this.setModificationDate(t.get("M"));this.setFlags(t.get("F"));this.setRectangle(t.getArray("Rect"));this.setColor(t.getArray("C"));this.setBorderStyle(t);this.setAppearance(t);this.setOptionalContent(t);const o=t.get("MK");this.setBorderAndBackgroundColors(o);this.setRotation(o,t);this.ref=e.ref instanceof Ref?e.ref:null;this._streams=[];this.appearance&&this._streams.push(this.appearance);const g=!!(this.flags&iA),c=!!(this.flags&aA);this.data={annotationFlags:this.flags,borderStyle:this.borderStyle,color:this.color,backgroundColor:this.backgroundColor,borderColor:this.borderColor,rotation:this.rotation,contentsObj:this._contents,hasAppearance:!!this.appearance,id:e.id,modificationDate:this.modificationDate,rect:this.rectangle,subtype:e.subtype,hasOwnCanvas:!1,noRotate:!!(this.flags&eA),noHTML:g&&c,isEditable:!1,structParent:-1};if(a.structTreeRoot){let i=t.get("StructParent");this.data.structParent=i=Number.isInteger(i)&&i>=0?i:-1;a.structTreeRoot.addAnnotationIdToPage(e.pageRef,i)}if(e.collectFields){const a=t.get("Kids");if(Array.isArray(a)){const e=[];for(const t of a)t instanceof Ref&&e.push(t.toString());0!==e.length&&(this.data.kidIds=e)}this.data.actions=collectActions(i,t,pA);this.data.fieldName=this._constructFieldName(t);this.data.pageIndex=e.pageIndex}const l=t.get("IT");l instanceof Name&&(this.data.it=l.name);this._isOffscreenCanvasSupported=e.evaluatorOptions.isOffscreenCanvasSupported;this._fallbackFontDict=null;this._needAppearances=!1}_hasFlag(e,t){return!!(e&t)}_buildFlags(e,t){let{flags:i}=this;if(void 0===e){if(void 0===t)return;return t?i&~AA:i&~$|AA}if(e){i|=AA;return t?i&~tA|$:i&~$|tA}i&=~($|tA);return t?i&~AA:i|AA}_isViewable(e){return!this._hasFlag(e,z)&&!this._hasFlag(e,tA)}_isPrintable(e){return this._hasFlag(e,AA)&&!this._hasFlag(e,$)&&!this._hasFlag(e,z)}mustBeViewed(e,t){const i=e?.get(this.data.id)?.noView;return void 0!==i?!i:this.viewable&&!this._hasFlag(this.flags,$)}mustBePrinted(e){const t=e?.get(this.data.id)?.noPrint;return void 0!==t?!t:this.printable}mustBeViewedWhenEditing(e,t=null){return e?!this.data.isEditable:!t?.has(this.data.id)}get viewable(){return null!==this.data.quadPoints&&(0===this.flags||this._isViewable(this.flags))}get printable(){return null!==this.data.quadPoints&&(0!==this.flags&&this._isPrintable(this.flags))}_parseStringHelper(e){const t="string"==typeof e?stringToPDFString(e):"";return{str:t,dir:t&&"rtl"===bidi(t).dir?"rtl":"ltr"}}setDefaultAppearance(e){const{dict:t,annotationGlobals:i}=e,a=getInheritableProperty({dict:t,key:"DA"})||i.acroForm.get("DA");this._defaultAppearance="string"==typeof a?a:"";this.data.defaultAppearanceData=parseDefaultAppearance(this._defaultAppearance)}setTitle(e){this._title=this._parseStringHelper(e)}setContents(e){this._contents=this._parseStringHelper(e)}setModificationDate(e){this.modificationDate="string"==typeof e?e:null}setFlags(e){this.flags=Number.isInteger(e)&&e>0?e:0;this.flags&z&&"Annotation"!==this.constructor.name&&(this.flags^=z)}hasFlag(e){return this._hasFlag(this.flags,e)}setRectangle(e){this.rectangle=lookupNormalRect(e,[0,0,0,0])}setColor(e){this.color=getRgbColor(e)}setLineEndings(e){this.lineEndings=["None","None"];if(Array.isArray(e)&&2===e.length)for(let t=0;t<2;t++){const i=e[t];if(i instanceof Name)switch(i.name){case"None":continue;case"Square":case"Circle":case"Diamond":case"OpenArrow":case"ClosedArrow":case"Butt":case"ROpenArrow":case"RClosedArrow":case"Slash":this.lineEndings[t]=i.name;continue}warn(`Ignoring invalid lineEnding: ${i}`)}}setRotation(e,t){this.rotation=0;let i=e instanceof Dict?e.get("R")||0:t.get("Rotate")||0;if(Number.isInteger(i)&&0!==i){i%=360;i<0&&(i+=360);i%90==0&&(this.rotation=i)}}setBorderAndBackgroundColors(e){if(e instanceof Dict){this.borderColor=getRgbColor(e.getArray("BC"),null);this.backgroundColor=getRgbColor(e.getArray("BG"),null)}else this.borderColor=this.backgroundColor=null}setBorderStyle(e){this.borderStyle=new AnnotationBorderStyle;if(e instanceof Dict)if(e.has("BS")){const t=e.get("BS");if(t instanceof Dict){const e=t.get("Type");if(!e||isName(e,"Border")){this.borderStyle.setWidth(t.get("W"),this.rectangle);this.borderStyle.setStyle(t.get("S"));this.borderStyle.setDashArray(t.getArray("D"))}}}else if(e.has("Border")){const t=e.getArray("Border");if(Array.isArray(t)&&t.length>=3){this.borderStyle.setHorizontalCornerRadius(t[0]);this.borderStyle.setVerticalCornerRadius(t[1]);this.borderStyle.setWidth(t[2],this.rectangle);4===t.length&&this.borderStyle.setDashArray(t[3],!0)}}else this.borderStyle.setWidth(0)}setAppearance(e){this.appearance=null;const t=e.get("AP");if(!(t instanceof Dict))return;const i=t.get("N");if(i instanceof BaseStream){this.appearance=i;return}if(!(i instanceof Dict))return;const a=e.get("AS");if(!(a instanceof Name&&i.has(a.name)))return;const r=i.get(a.name);r instanceof BaseStream&&(this.appearance=r)}setOptionalContent(e){this.oc=null;const t=e.get("OC");t instanceof Name?warn("setOptionalContent: Support for /Name-entry is not implemented."):t instanceof Dict&&(this.oc=t)}loadResources(e,t){return t.dict.getAsync("Resources").then((t=>{if(!t)return;return new ObjectLoader(t,e,t.xref).load().then((function(){return t}))}))}async getOperatorList(e,t,i,r){const{hasOwnCanvas:s,id:n,rect:o}=this.data;let g=this.appearance;const l=!!(s&&i&c);if(l&&(o[0]===o[2]||o[1]===o[3])){this.data.hasOwnCanvas=!1;return{opList:new OperatorList,separateForm:!1,separateCanvas:!1}}if(!g){if(!l)return{opList:new OperatorList,separateForm:!1,separateCanvas:!1};g=new StringStream("");g.dict=new Dict}const h=g.dict,C=await this.loadResources(["ExtGState","ColorSpace","Pattern","Shading","XObject","Font"],g),Q=lookupRect(h.getArray("BBox"),[0,0,1,1]),E=lookupMatrix(h.getArray("Matrix"),a),u=getTransformMatrix(o,Q,E),d=new OperatorList;let f;this.oc&&(f=await e.parseMarkedContentProps(this.oc,null));void 0!==f&&d.addOp(Ke,["OC",f]);d.addOp(Ve,[n,o,u,E,l]);await e.getOperatorList({stream:g,task:t,resources:C,operatorList:d,fallbackFontDict:this._fallbackFontDict});d.addOp(Ze,[]);void 0!==f&&d.addOp(Te,[]);this.reset();return{opList:d,separateForm:!1,separateCanvas:l}}async save(e,t,i,a){return null}get hasTextContent(){return!1}async extractTextContent(e,t,i){if(!this.appearance)return;const a=await this.loadResources(["ExtGState","Font","Properties","XObject"],this.appearance),r=[],s=[];let n=null;const o={desiredSize:Math.Infinity,ready:!0,enqueue(e,t){for(const t of e.items)if(void 0!==t.str){n||=t.transform.slice(-2);s.push(t.str);if(t.hasEOL){r.push(s.join("").trimEnd());s.length=0}}}};await e.getTextContent({stream:this.appearance,task:t,resources:a,includeMarkedContent:!0,keepWhiteSpace:!0,sink:o,viewBox:i});this.reset();s.length&&r.push(s.join("").trimEnd());if(r.length>1||r[0]){const e=this.appearance.dict,t=lookupRect(e.getArray("BBox"),null),i=lookupMatrix(e.getArray("Matrix"),null);this.data.textPosition=this._transformPoint(n,t,i);this.data.textContent=r}}_transformPoint(e,t,i){const{rect:a}=this.data;t||=[0,0,1,1];i||=[1,0,0,1,0,0];const r=getTransformMatrix(a,t,i);r[4]-=a[0];r[5]-=a[1];e=Util.applyTransform(e,r);return Util.applyTransform(e,i)}getFieldObject(){return this.data.kidIds?{id:this.data.id,actions:this.data.actions,name:this.data.fieldName,strokeColor:this.data.borderColor,fillColor:this.data.backgroundColor,type:"",kidIds:this.data.kidIds,page:this.data.pageIndex,rotation:this.rotation}:null}reset(){for(const e of this._streams)e.reset()}_constructFieldName(e){if(!e.has("T")&&!e.has("Parent")){warn("Unknown field name, falling back to empty field name.");return""}if(!e.has("Parent"))return stringToPDFString(e.get("T"));const t=[];e.has("T")&&t.unshift(stringToPDFString(e.get("T")));let i=e;const a=new RefSet;e.objId&&a.put(e.objId);for(;i.has("Parent");){i=i.get("Parent");if(!(i instanceof Dict)||i.objId&&a.has(i.objId))break;i.objId&&a.put(i.objId);i.has("T")&&t.unshift(stringToPDFString(i.get("T")))}return t.join(".")}}class AnnotationBorderStyle{constructor(){this.width=1;this.rawWidth=1;this.style=QA;this.dashArray=[3];this.horizontalCornerRadius=0;this.verticalCornerRadius=0}setWidth(e,t=[0,0,0,0]){if(e instanceof Name)this.width=0;else if("number"==typeof e){if(e>0){this.rawWidth=e;const i=(t[2]-t[0])/2,a=(t[3]-t[1])/2;if(i>0&&a>0&&(e>i||e>a)){warn(`AnnotationBorderStyle.setWidth - ignoring width: ${e}`);e=1}}this.width=e}}setStyle(e){if(e instanceof Name)switch(e.name){case"S":this.style=QA;break;case"D":this.style=EA;break;case"B":this.style=uA;break;case"I":this.style=dA;break;case"U":this.style=fA}}setDashArray(e,t=!1){if(Array.isArray(e)){let i=!0,a=!0;for(const t of e){if(!(+t>=0)){i=!1;break}t>0&&(a=!1)}if(0===e.length||i&&!a){this.dashArray=e;t&&this.setStyle(Name.get("D"))}else this.width=0}else e&&(this.width=0)}setHorizontalCornerRadius(e){Number.isInteger(e)&&(this.horizontalCornerRadius=e)}setVerticalCornerRadius(e){Number.isInteger(e)&&(this.verticalCornerRadius=e)}}class MarkupAnnotation extends Annotation{constructor(e){super(e);const{dict:t}=e;if(t.has("IRT")){const e=t.getRaw("IRT");this.data.inReplyTo=e instanceof Ref?e.toString():null;const i=t.get("RT");this.data.replyType=i instanceof Name?i.name:_}let i=null;if(this.data.replyType===Z){const e=t.get("IRT");this.setTitle(e.get("T"));this.data.titleObj=this._title;this.setContents(e.get("Contents"));this.data.contentsObj=this._contents;if(e.has("CreationDate")){this.setCreationDate(e.get("CreationDate"));this.data.creationDate=this.creationDate}else this.data.creationDate=null;if(e.has("M")){this.setModificationDate(e.get("M"));this.data.modificationDate=this.modificationDate}else this.data.modificationDate=null;i=e.getRaw("Popup");if(e.has("C")){this.setColor(e.getArray("C"));this.data.color=this.color}else this.data.color=null}else{this.data.titleObj=this._title;this.setCreationDate(t.get("CreationDate"));this.data.creationDate=this.creationDate;i=t.getRaw("Popup");t.has("C")||(this.data.color=null)}this.data.popupRef=i instanceof Ref?i.toString():null;t.has("RC")&&(this.data.richText=XFAFactory.getRichTextAsHtml(t.get("RC")))}setCreationDate(e){this.creationDate="string"==typeof e?e:null}_setDefaultAppearance({xref:e,extra:t,strokeColor:i,fillColor:a,blendMode:r,strokeAlpha:s,fillAlpha:n,pointsCallback:o}){let g=Number.MAX_VALUE,c=Number.MAX_VALUE,l=Number.MIN_VALUE,h=Number.MIN_VALUE;const C=["q"];t&&C.push(t);i&&C.push(`${i[0]} ${i[1]} ${i[2]} RG`);a&&C.push(`${a[0]} ${a[1]} ${a[2]} rg`);const Q=this.data.quadPoints||Float32Array.from([this.rectangle[0],this.rectangle[3],this.rectangle[2],this.rectangle[3],this.rectangle[0],this.rectangle[1],this.rectangle[2],this.rectangle[1]]);for(let e=0,t=Q.length;e"string"==typeof e)).map((e=>stringToPDFString(e))):e instanceof Name?stringToPDFString(e.name):"string"==typeof e?stringToPDFString(e):null}hasFieldFlag(e){return!!(this.data.fieldFlags&e)}_isViewable(e){return!0}mustBeViewed(e,t){return t?this.viewable:super.mustBeViewed(e,t)&&!this._hasFlag(this.flags,tA)}getRotationMatrix(e){let t=e?.get(this.data.id)?.rotation;void 0===t&&(t=this.rotation);if(0===t)return a;return getRotationMatrix(t,this.data.rect[2]-this.data.rect[0],this.data.rect[3]-this.data.rect[1])}getBorderAndBackgroundAppearances(e){let t=e?.get(this.data.id)?.rotation;void 0===t&&(t=this.rotation);if(!this.backgroundColor&&!this.borderColor)return"";const i=this.data.rect[2]-this.data.rect[0],a=this.data.rect[3]-this.data.rect[1],r=0===t||180===t?`0 0 ${i} ${a} re`:`0 0 ${a} ${i} re`;let s="";this.backgroundColor&&(s=`${getPdfColor(this.backgroundColor,!0)} ${r} f `);if(this.borderColor){s+=`${this.borderStyle.width||1} w ${getPdfColor(this.borderColor,!1)} ${r} S `}return s}async getOperatorList(e,t,i,a){if(i&C&&!(this instanceof SignatureWidgetAnnotation)&&!this.data.noHTML&&!this.data.hasOwnCanvas)return{opList:new OperatorList,separateForm:!0,separateCanvas:!1};if(!this._hasText)return super.getOperatorList(e,t,i,a);const r=await this._getAppearance(e,t,i,a);if(this.appearance&&null===r)return super.getOperatorList(e,t,i,a);const s=new OperatorList;if(!this._defaultAppearance||null===r)return{opList:s,separateForm:!1,separateCanvas:!1};const n=!!(this.data.hasOwnCanvas&&i&c),o=[0,0,this.data.rect[2]-this.data.rect[0],this.data.rect[3]-this.data.rect[1]],g=getTransformMatrix(this.data.rect,o,[1,0,0,1,0,0]);let l;this.oc&&(l=await e.parseMarkedContentProps(this.oc,null));void 0!==l&&s.addOp(Ke,["OC",l]);s.addOp(Ve,[this.data.id,this.data.rect,g,this.getRotationMatrix(a),n]);const h=new StringStream(r);await e.getOperatorList({stream:h,task:t,resources:this._fieldResources.mergedResources,operatorList:s});s.addOp(Ze,[]);void 0!==l&&s.addOp(Te,[]);return{opList:s,separateForm:!1,separateCanvas:n}}_getMKDict(e){const t=new Dict(null);e&&t.set("R",e);this.borderColor&&t.set("BC",getPdfColorArray(this.borderColor));this.backgroundColor&&t.set("BG",getPdfColorArray(this.backgroundColor));return t.size>0?t:null}amendSavedDict(e,t){}setValue(e,t,i,a){const{dict:r,ref:s}=function getParentToUpdate(e,t,i){const a=new RefSet,r=e,s={dict:null,ref:null};for(;e instanceof Dict&&!a.has(t);){a.put(t);if(e.has("T"))break;if(!((t=e.getRaw("Parent"))instanceof Ref))return s;e=i.fetch(t)}if(e instanceof Dict&&e!==r){s.dict=e;s.ref=t}return s}(e,this.ref,i);if(r){if(!a.has(s)){const e=r.clone();e.set("V",t);a.put(s,{data:e});return e}}else e.set("V",t);return null}async save(e,t,i,r){const s=i?.get(this.data.id),n=this._buildFlags(s?.noView,s?.noPrint);let o=s?.value,g=s?.rotation;if(o===this.data.fieldValue||void 0===o){if(!this._hasValueFromXFA&&void 0===g&&void 0===n)return;o||=this.data.fieldValue}if(void 0===g&&!this._hasValueFromXFA&&Array.isArray(o)&&Array.isArray(this.data.fieldValue)&&isArrayEqual(o,this.data.fieldValue)&&void 0===n)return;void 0===g&&(g=this.rotation);let c=null;if(!this._needAppearances){c=await this._getAppearance(e,t,h,i);if(null===c&&void 0===n)return}let l=!1;if(c?.needAppearances){l=!0;c=null}const{xref:C}=e,Q=C.fetchIfRef(this.ref);if(!(Q instanceof Dict))return;const E=new Dict(C);for(const e of Q.getKeys())"AP"!==e&&E.set(e,Q.getRaw(e));if(void 0!==n){E.set("F",n);if(null===c&&!l){const e=Q.getRaw("AP");e&&E.set("AP",e)}}const u={path:this.data.fieldName,value:o},d=this.setValue(E,Array.isArray(o)?o.map(stringToAsciiOrUTF16BE):stringToAsciiOrUTF16BE(o),C,r);this.amendSavedDict(i,d||E);const f=this._getMKDict(g);f&&E.set("MK",f);r.put(this.ref,{data:E,xfa:u,needAppearances:l});if(null!==c){const e=C.getNewTemporaryRef(),t=new Dict(C);E.set("AP",t);t.set("N",e);const s=this._getSaveFieldResources(C),n=new StringStream(c),o=n.dict=new Dict(C);o.set("Subtype",Name.get("Form"));o.set("Resources",s);o.set("BBox",[0,0,this.data.rect[2]-this.data.rect[0],this.data.rect[3]-this.data.rect[1]]);const g=this.getRotationMatrix(i);g!==a&&o.set("Matrix",g);r.put(e,{data:n,xfa:null,needAppearances:!1})}E.set("M",`D:${getModificationDate()}`)}async _getAppearance(e,t,i,a){if(this.hasFieldFlag(oA))return null;const r=a?.get(this.data.id);let s,n;if(r){s=r.formattedValue||r.value;n=r.rotation}if(void 0===n&&void 0===s&&!this._needAppearances&&(!this._hasValueFromXFA||this.appearance))return null;const g=this.getBorderAndBackgroundAppearances(a);if(void 0===s){s=this.data.fieldValue;if(!s)return`/Tx BMC q ${g}Q EMC`}Array.isArray(s)&&1===s.length&&(s=s[0]);assert("string"==typeof s,"Expected `value` to be a string.");s=s.trimEnd();if(this.data.combo){const e=this.data.options.find((({exportValue:e})=>s===e));s=e?.displayValue||s}if(""===s)return`/Tx BMC q ${g}Q EMC`;void 0===n&&(n=this.rotation);let c,l=-1;if(this.data.multiLine){c=s.split(/\r\n?|\n/).map((e=>e.normalize("NFC")));l=c.length}else c=[s.replace(/\r\n?|\n/,"").normalize("NFC")];let C=this.data.rect[3]-this.data.rect[1],Q=this.data.rect[2]-this.data.rect[0];90!==n&&270!==n||([Q,C]=[C,Q]);this._defaultAppearance||(this.data.defaultAppearanceData=parseDefaultAppearance(this._defaultAppearance="/Helvetica 0 Tf 0 g"));let E,u,d,f=await WidgetAnnotation._getFontData(e,t,this.data.defaultAppearanceData,this._fieldResources.mergedResources);const p=[];let m=!1;for(const e of c){const t=f.encodeString(e);t.length>1&&(m=!0);p.push(t.join(""))}if(m&&i&h)return{needAppearances:!0};if(m&&this._isOffscreenCanvasSupported){const i=this.data.comb?"monospace":"sans-serif",a=new FakeUnicodeFont(e.xref,i),r=a.createFontResources(c.join("")),n=r.getRaw("Font");if(this._fieldResources.mergedResources.has("Font")){const e=this._fieldResources.mergedResources.get("Font");for(const t of n.getKeys())e.set(t,n.getRaw(t))}else this._fieldResources.mergedResources.set("Font",n);const o=a.fontName.name;f=await WidgetAnnotation._getFontData(e,t,{fontName:o,fontSize:0},r);for(let e=0,t=p.length;e2)return`/Tx BMC q ${g}BT `+E+` 1 0 0 1 ${numberToString(2)} ${numberToString(D)} Tm (${escapeString(p[0])}) Tj ET Q EMC`;return`/Tx BMC q ${g}BT `+E+` 1 0 0 1 0 0 Tm ${this._renderText(p[0],f,u,Q,b,{shift:0},2,D)} ET Q EMC`}static async _getFontData(e,t,i,a){const r=new OperatorList,s={font:null,clone(){return this}},{fontName:n,fontSize:o}=i;await e.handleSetFont(a,[n&&Name.get(n),o],null,r,t,s,null);return s.font}_getTextWidth(e,t){return t.charsToGlyphs(e).reduce(((e,t)=>e+t.width),0)/1e3}_computeFontSize(e,t,i,a,r){let{fontSize:n}=this.data.defaultAppearanceData,o=(n||12)*s,g=Math.round(e/o);if(!n){const roundWithTwoDigits=e=>Math.floor(100*e)/100;if(-1===r){const r=this._getTextWidth(i,a);n=roundWithTwoDigits(Math.min(e/s,t/r));g=1}else{const c=i.split(/\r\n?|\n/),l=[];for(const e of c){const t=a.encodeString(e).join(""),i=a.charsToGlyphs(t),r=a.getCharPositions(t);l.push({line:t,glyphs:i,positions:r})}const isTooBig=i=>{let r=0;for(const s of l){r+=this._splitLine(null,a,i,t,s).length*i;if(r>e)return!0}return!1};g=Math.max(g,r);for(;;){o=e/g;n=roundWithTwoDigits(o/s);if(!isTooBig(n))break;g++}}const{fontName:c,fontColor:l}=this.data.defaultAppearanceData;this._defaultAppearance=function createDefaultAppearance({fontSize:e,fontName:t,fontColor:i}){return`/${escapePDFName(t)} ${e} Tf ${getPdfColor(i,!0)}`}({fontSize:n,fontName:c,fontColor:l})}return[this._defaultAppearance,n,e/g]}_renderText(e,t,i,a,r,s,n,o){let g;if(1===r){g=(a-this._getTextWidth(e,t)*i)/2}else if(2===r){g=a-this._getTextWidth(e,t)*i-n}else g=n;const c=numberToString(g-s.shift);s.shift=g;return`${c} ${o=numberToString(o)} Td (${escapeString(e)}) Tj`}_getSaveFieldResources(e){const{localResources:t,appearanceResources:i,acroFormResources:a}=this._fieldResources,r=this.data.defaultAppearanceData?.fontName;if(!r)return t||Dict.empty;for(const e of[t,i])if(e instanceof Dict){const t=e.get("Font");if(t instanceof Dict&&t.has(r))return e}if(a instanceof Dict){const i=a.get("Font");if(i instanceof Dict&&i.has(r)){const a=new Dict(e);a.set(r,i.getRaw(r));const s=new Dict(e);s.set("Font",a);return Dict.merge({xref:e,dictArray:[s,t],mergeSubDicts:!0})}}return t||Dict.empty}getFieldObject(){return null}}class TextWidgetAnnotation extends WidgetAnnotation{constructor(e){super(e);const{dict:t}=e;if(t.has("PMD")){this.flags|=$;this.data.hidden=!0;warn("Barcodes are not supported")}this.data.hasOwnCanvas=this.data.readOnly&&!this.data.noHTML;this._hasText=!0;"string"!=typeof this.data.fieldValue&&(this.data.fieldValue="");let i=getInheritableProperty({dict:t,key:"Q"});(!Number.isInteger(i)||i<0||i>2)&&(i=null);this.data.textAlignment=i;let a=getInheritableProperty({dict:t,key:"MaxLen"});(!Number.isInteger(a)||a<0)&&(a=0);this.data.maxLen=a;this.data.multiLine=this.hasFieldFlag(nA);this.data.comb=this.hasFieldFlag(BA)&&!this.hasFieldFlag(nA)&&!this.hasFieldFlag(oA)&&!this.hasFieldFlag(lA)&&0!==this.data.maxLen;this.data.doNotScroll=this.hasFieldFlag(CA)}get hasTextContent(){return!!this.appearance&&!this._needAppearances}_getCombAppearance(e,t,i,a,r,s,n,o,g,c,l){const h=r/this.data.maxLen,C=this.getBorderAndBackgroundAppearances(l),Q=[],E=t.getCharPositions(i);for(const[e,t]of E)Q.push(`(${escapeString(i.substring(e,t))}) Tj`);const u=Q.join(` ${numberToString(h)} 0 Td `);return`/Tx BMC q ${C}BT `+e+` 1 0 0 1 ${numberToString(n)} ${numberToString(o+g)} Tm ${u} ET Q EMC`}_getMultilineAppearance(e,t,i,a,r,s,n,o,g,c,l,h){const C=[],Q=r-2*o,E={shift:0};for(let e=0,s=t.length;ea){g.push(e.substring(C,i));C=i;Q=u;c=-1;h=-1}else{Q+=u;c=i;l=r;h=t}else if(Q+u>a)if(-1!==c){g.push(e.substring(C,l));C=l;t=h+1;c=-1;Q=0}else{g.push(e.substring(C,i));C=i;Q=u}else Q+=u}Ct?`\\${t}`:"\\s+"));new RegExp(`^\\s*${s}\\s*$`).test(this.data.fieldValue)&&(this.data.textContent=this.data.fieldValue.split("\n"))}getFieldObject(){return{id:this.data.id,value:this.data.fieldValue,defaultValue:this.data.defaultFieldValue||"",multiline:this.data.multiLine,password:this.hasFieldFlag(oA),charLimit:this.data.maxLen,comb:this.data.comb,editable:!this.data.readOnly,hidden:this.data.hidden,name:this.data.fieldName,rect:this.data.rect,actions:this.data.actions,page:this.data.pageIndex,strokeColor:this.data.borderColor,fillColor:this.data.backgroundColor,rotation:this.rotation,type:"text"}}}class ButtonWidgetAnnotation extends WidgetAnnotation{constructor(e){super(e);this.checkedAppearance=null;this.uncheckedAppearance=null;this.data.checkBox=!this.hasFieldFlag(gA)&&!this.hasFieldFlag(IA);this.data.radioButton=this.hasFieldFlag(gA)&&!this.hasFieldFlag(IA);this.data.pushButton=this.hasFieldFlag(IA);this.data.isTooltipOnly=!1;if(this.data.checkBox)this._processCheckBox(e);else if(this.data.radioButton)this._processRadioButton(e);else if(this.data.pushButton){this.data.hasOwnCanvas=!0;this.data.noHTML=!1;this._processPushButton(e)}else warn("Invalid field flags for button widget annotation")}async getOperatorList(e,t,i,r){if(this.data.pushButton)return super.getOperatorList(e,t,i,!1,r);let s=null,n=null;if(r){const e=r.get(this.data.id);s=e?e.value:null;n=e?e.rotation:null}if(null===s&&this.appearance)return super.getOperatorList(e,t,i,r);null==s&&(s=this.data.checkBox?this.data.fieldValue===this.data.exportValue:this.data.fieldValue===this.data.buttonValue);const o=s?this.checkedAppearance:this.uncheckedAppearance;if(o){const s=this.appearance,g=lookupMatrix(o.dict.getArray("Matrix"),a);n&&o.dict.set("Matrix",this.getRotationMatrix(r));this.appearance=o;const c=super.getOperatorList(e,t,i,r);this.appearance=s;o.dict.set("Matrix",g);return c}return{opList:new OperatorList,separateForm:!1,separateCanvas:!1}}async save(e,t,i,a){this.data.checkBox?this._saveCheckbox(e,t,i,a):this.data.radioButton&&this._saveRadioButton(e,t,i,a)}async _saveCheckbox(e,t,i,a){if(!i)return;const r=i.get(this.data.id),s=this._buildFlags(r?.noView,r?.noPrint);let n=r?.rotation,o=r?.value;if(void 0===n&&void 0===s){if(void 0===o)return;if(this.data.fieldValue===this.data.exportValue===o)return}let g=e.xref.fetchIfRef(this.ref);if(!(g instanceof Dict))return;g=g.clone();void 0===n&&(n=this.rotation);void 0===o&&(o=this.data.fieldValue===this.data.exportValue);const c={path:this.data.fieldName,value:o?this.data.exportValue:""},l=Name.get(o?this.data.exportValue:"Off");this.setValue(g,l,e.xref,a);g.set("AS",l);g.set("M",`D:${getModificationDate()}`);void 0!==s&&g.set("F",s);const h=this._getMKDict(n);h&&g.set("MK",h);a.put(this.ref,{data:g,xfa:c,needAppearances:!1})}async _saveRadioButton(e,t,i,a){if(!i)return;const r=i.get(this.data.id),s=this._buildFlags(r?.noView,r?.noPrint);let n=r?.rotation,o=r?.value;if(void 0===n&&void 0===s){if(void 0===o)return;if(this.data.fieldValue===this.data.buttonValue===o)return}let g=e.xref.fetchIfRef(this.ref);if(!(g instanceof Dict))return;g=g.clone();void 0===o&&(o=this.data.fieldValue===this.data.buttonValue);void 0===n&&(n=this.rotation);const c={path:this.data.fieldName,value:o?this.data.buttonValue:""},l=Name.get(o?this.data.buttonValue:"Off");o&&this.setValue(g,l,e.xref,a);g.set("AS",l);g.set("M",`D:${getModificationDate()}`);void 0!==s&&g.set("F",s);const h=this._getMKDict(n);h&&g.set("MK",h);a.put(this.ref,{data:g,xfa:c,needAppearances:!1})}_getDefaultCheckedAppearance(e,t){const i=this.data.rect[2]-this.data.rect[0],a=this.data.rect[3]-this.data.rect[1],r=[0,0,i,a],s=.8*Math.min(i,a);let n,o;if("check"===t){n={width:.755*s,height:.705*s};o="3"}else if("disc"===t){n={width:.791*s,height:.705*s};o="l"}else unreachable(`_getDefaultCheckedAppearance - unsupported type: ${t}`);const g=`q BT /PdfJsZaDb ${s} Tf 0 g ${numberToString((i-n.width)/2)} ${numberToString((a-n.height)/2)} Td (${o}) Tj ET Q`,c=new Dict(e.xref);c.set("FormType",1);c.set("Subtype",Name.get("Form"));c.set("Type",Name.get("XObject"));c.set("BBox",r);c.set("Matrix",[1,0,0,1,0,0]);c.set("Length",g.length);const l=new Dict(e.xref),h=new Dict(e.xref);h.set("PdfJsZaDb",this.fallbackFontDict);l.set("Font",h);c.set("Resources",l);this.checkedAppearance=new StringStream(g);this.checkedAppearance.dict=c;this._streams.push(this.checkedAppearance)}_processCheckBox(e){const t=e.dict.get("AP");if(!(t instanceof Dict))return;const i=t.get("N");if(!(i instanceof Dict))return;const a=this._decodeFormValue(e.dict.get("AS"));"string"==typeof a&&(this.data.fieldValue=a);const r=null!==this.data.fieldValue&&"Off"!==this.data.fieldValue?this.data.fieldValue:"Yes",s=i.getKeys();if(0===s.length)s.push("Off",r);else if(1===s.length)"Off"===s[0]?s.push(r):s.unshift("Off");else if(s.includes(r)){s.length=0;s.push("Off",r)}else{const e=s.find((e=>"Off"!==e));s.length=0;s.push("Off",e)}s.includes(this.data.fieldValue)||(this.data.fieldValue="Off");this.data.exportValue=s[1];const n=i.get(this.data.exportValue);this.checkedAppearance=n instanceof BaseStream?n:null;const o=i.get("Off");this.uncheckedAppearance=o instanceof BaseStream?o:null;this.checkedAppearance?this._streams.push(this.checkedAppearance):this._getDefaultCheckedAppearance(e,"check");this.uncheckedAppearance&&this._streams.push(this.uncheckedAppearance);this._fallbackFontDict=this.fallbackFontDict;null===this.data.defaultFieldValue&&(this.data.defaultFieldValue="Off")}_processRadioButton(e){this.data.buttonValue=null;const t=e.dict.get("Parent");if(t instanceof Dict){this.parent=e.dict.getRaw("Parent");const i=t.get("V");i instanceof Name&&(this.data.fieldValue=this._decodeFormValue(i))}const i=e.dict.get("AP");if(!(i instanceof Dict))return;const a=i.get("N");if(!(a instanceof Dict))return;for(const e of a.getKeys())if("Off"!==e){this.data.buttonValue=this._decodeFormValue(e);break}const r=a.get(this.data.buttonValue);this.checkedAppearance=r instanceof BaseStream?r:null;const s=a.get("Off");this.uncheckedAppearance=s instanceof BaseStream?s:null;this.checkedAppearance?this._streams.push(this.checkedAppearance):this._getDefaultCheckedAppearance(e,"disc");this.uncheckedAppearance&&this._streams.push(this.uncheckedAppearance);this._fallbackFontDict=this.fallbackFontDict;null===this.data.defaultFieldValue&&(this.data.defaultFieldValue="Off")}_processPushButton(e){const{dict:t,annotationGlobals:i}=e;if(t.has("A")||t.has("AA")||this.data.alternativeText){this.data.isTooltipOnly=!t.has("A")&&!t.has("AA");Catalog.parseDestDictionary({destDict:t,resultObj:this.data,docBaseUrl:i.baseUrl,docAttachments:i.attachments})}else warn("Push buttons without action dictionaries are not supported")}getFieldObject(){let e,t="button";if(this.data.checkBox){t="checkbox";e=this.data.exportValue}else if(this.data.radioButton){t="radiobutton";e=this.data.buttonValue}return{id:this.data.id,value:this.data.fieldValue||"Off",defaultValue:this.data.defaultFieldValue,exportValues:e,editable:!this.data.readOnly,name:this.data.fieldName,rect:this.data.rect,hidden:this.data.hidden,actions:this.data.actions,page:this.data.pageIndex,strokeColor:this.data.borderColor,fillColor:this.data.backgroundColor,rotation:this.rotation,type:t}}get fallbackFontDict(){const e=new Dict;e.set("BaseFont",Name.get("ZapfDingbats"));e.set("Type",Name.get("FallbackType"));e.set("Subtype",Name.get("FallbackType"));e.set("Encoding",Name.get("ZapfDingbatsEncoding"));return shadow(this,"fallbackFontDict",e)}}class ChoiceWidgetAnnotation extends WidgetAnnotation{constructor(e){super(e);const{dict:t,xref:i}=e;this.indices=t.getArray("I");this.hasIndices=Array.isArray(this.indices)&&this.indices.length>0;this.data.options=[];const a=getInheritableProperty({dict:t,key:"Opt"});if(Array.isArray(a))for(let e=0,t=a.length;e=0&&t0&&(this.data.options=this.data.fieldValue.map((e=>({exportValue:e,displayValue:e}))));this.data.combo=this.hasFieldFlag(cA);this.data.multiSelect=this.hasFieldFlag(hA);this._hasText=!0}getFieldObject(){const e=this.data.combo?"combobox":"listbox",t=this.data.fieldValue.length>0?this.data.fieldValue[0]:null;return{id:this.data.id,value:t,defaultValue:this.data.defaultFieldValue,editable:!this.data.readOnly,name:this.data.fieldName,rect:this.data.rect,numItems:this.data.fieldValue.length,multipleSelection:this.data.multiSelect,hidden:this.data.hidden,actions:this.data.actions,items:this.data.options,page:this.data.pageIndex,strokeColor:this.data.borderColor,fillColor:this.data.backgroundColor,rotation:this.rotation,type:e}}amendSavedDict(e,t){if(!this.hasIndices)return;let i=e?.get(this.data.id)?.value;Array.isArray(i)||(i=[i]);const a=[],{options:r}=this.data;for(let e=0,t=0,s=r.length;ei){i=a;t=e}}[Q,E]=this._computeFontSize(e,c-4,t,C,-1)}const u=E*s,d=(u-E)/2,f=Math.floor(g/u);let p=0;if(h.length>0){const e=Math.min(...h),t=Math.max(...h);p=Math.max(0,t-f+1);p>e&&(p=e)}const m=Math.min(p+f+1,l),y=["/Tx BMC q",`1 1 ${c} ${g} re W n`];if(h.length){y.push("0.600006 0.756866 0.854904 rg");for(const e of h)p<=e&&ee.trimEnd()));const{coords:e,bbox:t,matrix:i}=FakeUnicodeFont.getFirstPositionInfo(this.rectangle,this.rotation,a);this.data.textPosition=this._transformPoint(e,t,i)}if(this._isOffscreenCanvasSupported){const r=e.dict.get("CA"),s=new FakeUnicodeFont(i,"sans-serif");this.appearance=s.createAppearance(this._contents.str,this.rectangle,this.rotation,a,t,r);this._streams.push(this.appearance)}else warn("FreeTextAnnotation: OffscreenCanvas is not supported, annotation may not render correctly.")}}get hasTextContent(){return this._hasAppearance}static createNewDict(e,t,{apRef:i,ap:a}){const{color:r,fontSize:s,oldAnnotation:n,rect:o,rotation:g,user:c,value:l}=e,h=n||new Dict(t);h.set("Type",Name.get("Annot"));h.set("Subtype",Name.get("FreeText"));if(n){h.set("M",`D:${getModificationDate()}`);h.delete("RC")}else h.set("CreationDate",`D:${getModificationDate()}`);h.set("Rect",o);const C=`/Helv ${s} Tf ${getPdfColor(r,!0)}`;h.set("DA",C);h.set("Contents",stringToAsciiOrUTF16BE(l));h.set("F",4);h.set("Border",[0,0,0]);h.set("Rotate",g);c&&h.set("T",stringToAsciiOrUTF16BE(c));if(i||a){const e=new Dict(t);h.set("AP",e);i?e.set("N",i):e.set("N",a)}return h}static async createNewAppearanceStream(e,t,i){const{baseFontRef:a,evaluator:r,task:n}=i,{color:o,fontSize:g,rect:c,rotation:l,value:h}=e,C=new Dict(t),Q=new Dict(t);if(a)Q.set("Helv",a);else{const e=new Dict(t);e.set("BaseFont",Name.get("Helvetica"));e.set("Type",Name.get("Font"));e.set("Subtype",Name.get("Type1"));e.set("Encoding",Name.get("WinAnsiEncoding"));Q.set("Helv",e)}C.set("Font",Q);const E=await WidgetAnnotation._getFontData(r,n,{fontName:"Helv",fontSize:g},C),[u,d,f,p]=c;let m=f-u,y=p-d;l%180!=0&&([m,y]=[y,m]);const w=h.split("\n"),b=g/1e3;let D=-1/0;const S=[];for(let e of w){const t=E.encodeString(e);if(t.length>1)return null;e=t.join("");S.push(e);let i=0;const a=E.charsToGlyphs(e);for(const e of a)i+=e.width*b;D=Math.max(D,i)}let k=1;D>m&&(k=m/D);let R=1;const N=s*g,G=1*g,M=N*w.length;M>y&&(R=y/M);const U=g*Math.min(k,R);let x,L,H;switch(l){case 0:H=[1,0,0,1];L=[c[0],c[1],m,y];x=[c[0],c[3]-G];break;case 90:H=[0,1,-1,0];L=[c[1],-c[2],m,y];x=[c[1],-c[0]-G];break;case 180:H=[-1,0,0,-1];L=[-c[2],-c[3],m,y];x=[-c[2],-c[1]-G];break;case 270:H=[0,-1,1,0];L=[-c[3],c[0],m,y];x=[-c[3],c[2]-G]}const J=["q",`${H.join(" ")} 0 0 cm`,`${L.join(" ")} re W n`,"BT",`${getPdfColor(o,!0)}`,`0 Tc /Helv ${numberToString(U)} Tf`];J.push(`${x.join(" ")} Td (${escapeString(S[0])}) Tj`);const v=numberToString(N);for(let e=1,t=S.length;e{e.push(`${a[0]} ${a[1]} m`,`${a[2]} ${a[3]} l`,"S");return[t[0]-g,t[2]+g,t[7]-g,t[3]+g]}})}}}class SquareAnnotation extends MarkupAnnotation{constructor(e){super(e);const{dict:t,xref:i}=e;this.data.annotationType=x;this.data.hasOwnCanvas=this.data.noRotate;this.data.noHTML=!1;if(!this.appearance){const e=this.color?getPdfColorArray(this.color):[0,0,0],a=t.get("CA"),r=getRgbColor(t.getArray("IC"),null),s=r?getPdfColorArray(r):null,n=s?a:null;if(0===this.borderStyle.width&&!s)return;this._setDefaultAppearance({xref:i,extra:`${this.borderStyle.width} w`,strokeColor:e,fillColor:s,strokeAlpha:a,fillAlpha:n,pointsCallback:(e,t)=>{const i=t[4]+this.borderStyle.width/2,a=t[5]+this.borderStyle.width/2,r=t[6]-t[4]-this.borderStyle.width,n=t[3]-t[7]-this.borderStyle.width;e.push(`${i} ${a} ${r} ${n} re`);s?e.push("B"):e.push("S");return[t[0],t[2],t[7],t[3]]}})}}}class CircleAnnotation extends MarkupAnnotation{constructor(e){super(e);const{dict:t,xref:i}=e;this.data.annotationType=L;if(!this.appearance){const e=this.color?getPdfColorArray(this.color):[0,0,0],a=t.get("CA"),r=getRgbColor(t.getArray("IC"),null),s=r?getPdfColorArray(r):null,n=s?a:null;if(0===this.borderStyle.width&&!s)return;const o=4/3*Math.tan(Math.PI/8);this._setDefaultAppearance({xref:i,extra:`${this.borderStyle.width} w`,strokeColor:e,fillColor:s,strokeAlpha:a,fillAlpha:n,pointsCallback:(e,t)=>{const i=t[0]+this.borderStyle.width/2,a=t[1]-this.borderStyle.width/2,r=t[6]-this.borderStyle.width/2,n=t[7]+this.borderStyle.width/2,g=i+(r-i)/2,c=a+(n-a)/2,l=(r-i)/2*o,h=(n-a)/2*o;e.push(`${g} ${n} m`,`${g+l} ${n} ${r} ${c+h} ${r} ${c} c`,`${r} ${c-h} ${g+l} ${a} ${g} ${a} c`,`${g-l} ${a} ${i} ${c-h} ${i} ${c} c`,`${i} ${c+h} ${g-l} ${n} ${g} ${n} c`,"h");s?e.push("B"):e.push("S");return[t[0],t[2],t[7],t[3]]}})}}}class PolylineAnnotation extends MarkupAnnotation{constructor(e){super(e);const{dict:t,xref:i}=e;this.data.annotationType=J;this.data.hasOwnCanvas=this.data.noRotate;this.data.noHTML=!1;this.data.vertices=null;if(!(this instanceof PolygonAnnotation)){this.setLineEndings(t.getArray("LE"));this.data.lineEndings=this.lineEndings}const a=t.getArray("Vertices");if(!isNumberArray(a,null))return;const r=this.data.vertices=Float32Array.from(a);if(!this.appearance){const e=this.color?getPdfColorArray(this.color):[0,0,0],a=t.get("CA"),s=this.borderStyle.width||1,n=2*s,o=[1/0,1/0,-1/0,-1/0];for(let e=0,t=r.length;e{for(let t=0,i=r.length;t{for(const t of this.data.inkLists){for(let i=0,a=t.length;ie/255)));Q.set("CA",n);const u=new Dict(t);Q.set("AP",u);i?u.set("N",i):u.set("N",a);return Q}static async createNewAppearanceStream(e,t,i){if(e.outlines)return this.createNewAppearanceStreamForHighlight(e,t,i);const{color:a,rect:r,paths:s,thickness:n,opacity:o}=e,g=[`${n} w 1 J 1 j`,`${getPdfColor(a,!1)}`];1!==o&&g.push("/R0 gs");for(const e of s.lines){g.push(`${numberToString(e[4])} ${numberToString(e[5])} m`);for(let t=6,i=e.length;t{e.push(`${t[0]} ${t[1]} m`,`${t[2]} ${t[3]} l`,`${t[6]} ${t[7]} l`,`${t[4]} ${t[5]} l`,"f");return[t[0],t[2],t[7],t[3]]}})}}else this.data.popupRef=null}static createNewDict(e,t,{apRef:i,ap:a}){const{color:r,oldAnnotation:s,opacity:n,rect:o,rotation:g,user:c,quadPoints:l}=e,h=s||new Dict(t);h.set("Type",Name.get("Annot"));h.set("Subtype",Name.get("Highlight"));h.set(s?"M":"CreationDate",`D:${getModificationDate()}`);h.set("CreationDate",`D:${getModificationDate()}`);h.set("Rect",o);h.set("F",4);h.set("Border",[0,0,0]);h.set("Rotate",g);h.set("QuadPoints",l);h.set("C",Array.from(r,(e=>e/255)));h.set("CA",n);c&&h.set("T",stringToAsciiOrUTF16BE(c));if(i||a){const e=new Dict(t);h.set("AP",e);e.set("N",i||a)}return h}static async createNewAppearanceStream(e,t,i){const{color:a,rect:r,outlines:s,opacity:n}=e,o=[`${getPdfColor(a,!0)}`,"/R0 gs"],g=[];for(const e of s){g.length=0;g.push(`${numberToString(e[0])} ${numberToString(e[1])} m`);for(let t=2,i=e.length;t{e.push(`${t[4]} ${t[5]+1.3} m`,`${t[6]} ${t[7]+1.3} l`,"S");return[t[0],t[2],t[7],t[3]]}})}}else this.data.popupRef=null}}class SquigglyAnnotation extends MarkupAnnotation{constructor(e){super(e);const{dict:t,xref:i}=e;this.data.annotationType=K;if(this.data.quadPoints=getQuadPoints(t,null)){if(!this.appearance){const e=this.color?getPdfColorArray(this.color):[0,0,0],a=t.get("CA");this._setDefaultAppearance({xref:i,extra:"[] 0 d 1 w",strokeColor:e,strokeAlpha:a,pointsCallback:(e,t)=>{const i=(t[1]-t[5])/6;let a=i,r=t[4];const s=t[5],n=t[6];e.push(`${r} ${s+a} m`);do{r+=2;a=0===a?i:0;e.push(`${r} ${s+a} l`)}while(r{e.push((t[0]+t[4])/2+" "+(t[1]+t[5])/2+" m",(t[2]+t[6])/2+" "+(t[3]+t[7])/2+" l","S");return[t[0],t[2],t[7],t[3]]}})}}else this.data.popupRef=null}}class StampAnnotation extends MarkupAnnotation{#T;constructor(e){super(e);this.data.annotationType=q;this.#T=this.data.hasOwnCanvas=this.data.noRotate;this.data.isEditable=!this.data.noHTML;this.data.noHTML=!1}mustBeViewedWhenEditing(e,t=null){if(e){if(!this.data.isEditable)return!1;this.#T=this.data.hasOwnCanvas;this.data.hasOwnCanvas=!0;return!0}this.data.hasOwnCanvas=this.#T;return!t?.has(this.data.id)}static async createImage(e,t){const{width:i,height:a}=e,r=new OffscreenCanvas(i,a),s=r.getContext("2d",{alpha:!0});s.drawImage(e,0,0);const n=s.getImageData(0,0,i,a).data,o=new Uint32Array(n.buffer),g=o.some(FeatureTest.isLittleEndian?e=>e>>>24!=255:e=>!!(255&~e));if(g){s.fillStyle="white";s.fillRect(0,0,i,a);s.drawImage(e,0,0)}const c=r.convertToBlob({type:"image/jpeg",quality:1}).then((e=>e.arrayBuffer())),l=Name.get("XObject"),h=Name.get("Image"),C=new Dict(t);C.set("Type",l);C.set("Subtype",h);C.set("BitsPerComponent",8);C.set("ColorSpace",Name.get("DeviceRGB"));C.set("Filter",Name.get("DCTDecode"));C.set("BBox",[0,0,i,a]);C.set("Width",i);C.set("Height",a);let Q=null;if(g){const e=new Uint8Array(o.length);if(FeatureTest.isLittleEndian)for(let t=0,i=o.length;t>>24;else for(let t=0,i=o.length;t=0&&s<=1?s:null}}class DecryptStream extends DecodeStream{constructor(e,t,i){super(t);this.str=e;this.dict=e.dict;this.decrypt=i;this.nextChunk=null;this.initialized=!1}readBlock(){let e;if(this.initialized)e=this.nextChunk;else{e=this.str.getBytes(512);this.initialized=!0}if(!e?.length){this.eof=!0;return}this.nextChunk=this.str.getBytes(512);const t=this.nextChunk?.length>0;e=(0,this.decrypt)(e,!t);const i=this.bufferLength,a=i+e.length;this.ensureBuffer(a).set(e,i);this.bufferLength=a}}class ARCFourCipher{constructor(e){this.a=0;this.b=0;const t=new Uint8Array(256),i=e.length;for(let e=0;e<256;++e)t[e]=e;for(let a=0,r=0;a<256;++a){const s=t[a];r=r+s+e[a%i]&255;t[a]=t[r];t[r]=s}this.s=t}encryptBlock(e){let t=this.a,i=this.b;const a=this.s,r=e.length,s=new Uint8Array(r);for(let n=0;n>5&255;l[h++]=r>>13&255;l[h++]=r>>21&255;l[h++]=r>>>29&255;l[h++]=0;l[h++]=0;l[h++]=0;const E=new Int32Array(16);for(h=0;h>>32-o)|0;r=s}s=s+r|0;n=n+c|0;o=o+Q|0;g=g+u|0}return new Uint8Array([255&s,s>>8&255,s>>16&255,s>>>24&255,255&n,n>>8&255,n>>16&255,n>>>24&255,255&o,o>>8&255,o>>16&255,o>>>24&255,255&g,g>>8&255,g>>16&255,g>>>24&255])}}();class Word64{constructor(e,t){this.high=0|e;this.low=0|t}and(e){this.high&=e.high;this.low&=e.low}xor(e){this.high^=e.high;this.low^=e.low}or(e){this.high|=e.high;this.low|=e.low}shiftRight(e){if(e>=32){this.low=this.high>>>e-32|0;this.high=0}else{this.low=this.low>>>e|this.high<<32-e;this.high=this.high>>>e|0}}shiftLeft(e){if(e>=32){this.high=this.low<>>32-e;this.low<<=e}}rotateRight(e){let t,i;if(32&e){i=this.low;t=this.high}else{t=this.low;i=this.high}e&=31;this.low=t>>>e|i<<32-e;this.high=i>>>e|t<<32-e}not(){this.high=~this.high;this.low=~this.low}add(e){const t=(this.low>>>0)+(e.low>>>0);let i=(this.high>>>0)+(e.high>>>0);t>4294967295&&(i+=1);this.low=0|t;this.high=0|i}copyTo(e,t){e[t]=this.high>>>24&255;e[t+1]=this.high>>16&255;e[t+2]=this.high>>8&255;e[t+3]=255&this.high;e[t+4]=this.low>>>24&255;e[t+5]=this.low>>16&255;e[t+6]=this.low>>8&255;e[t+7]=255&this.low}assign(e){this.high=e.high;this.low=e.low}}const to=function calculateSHA256Closure(){function rotr(e,t){return e>>>t|e<<32-t}function ch(e,t,i){return e&t^~e&i}function maj(e,t,i){return e&t^e&i^t&i}function sigma(e){return rotr(e,2)^rotr(e,13)^rotr(e,22)}function sigmaPrime(e){return rotr(e,6)^rotr(e,11)^rotr(e,25)}function littleSigma(e){return rotr(e,7)^rotr(e,18)^e>>>3}const e=[1116352408,1899447441,3049323471,3921009573,961987163,1508970993,2453635748,2870763221,3624381080,310598401,607225278,1426881987,1925078388,2162078206,2614888103,3248222580,3835390401,4022224774,264347078,604807628,770255983,1249150122,1555081692,1996064986,2554220882,2821834349,2952996808,3210313671,3336571891,3584528711,113926993,338241895,666307205,773529912,1294757372,1396182291,1695183700,1986661051,2177026350,2456956037,2730485921,2820302411,3259730800,3345764771,3516065817,3600352804,4094571909,275423344,430227734,506948616,659060556,883997877,958139571,1322822218,1537002063,1747873779,1955562222,2024104815,2227730452,2361852424,2428436474,2756734187,3204031479,3329325298];return function hash(t,i,a){let r=1779033703,s=3144134277,n=1013904242,o=2773480762,g=1359893119,c=2600822924,l=528734635,h=1541459225;const C=64*Math.ceil((a+9)/64),Q=new Uint8Array(C);let E,u;for(E=0;E>>29&255;Q[E++]=a>>21&255;Q[E++]=a>>13&255;Q[E++]=a>>5&255;Q[E++]=a<<3&255;const f=new Uint32Array(64);for(E=0;E>>10)+f[u-7]+littleSigma(f[u-15])+f[u-16]|0;let t,i,a=r,C=s,d=n,m=o,y=g,w=c,b=l,D=h;for(u=0;u<64;++u){t=D+sigmaPrime(y)+ch(y,w,b)+e[u]+f[u];i=sigma(a)+maj(a,C,d);D=b;b=w;w=y;y=m+t|0;m=d;d=C;C=a;a=t+i|0}r=r+a|0;s=s+C|0;n=n+d|0;o=o+m|0;g=g+y|0;c=c+w|0;l=l+b|0;h=h+D|0}var p;return new Uint8Array([r>>24&255,r>>16&255,r>>8&255,255&r,s>>24&255,s>>16&255,s>>8&255,255&s,n>>24&255,n>>16&255,n>>8&255,255&n,o>>24&255,o>>16&255,o>>8&255,255&o,g>>24&255,g>>16&255,g>>8&255,255&g,c>>24&255,c>>16&255,c>>8&255,255&c,l>>24&255,l>>16&255,l>>8&255,255&l,h>>24&255,h>>16&255,h>>8&255,255&h])}}(),io=function calculateSHA512Closure(){function ch(e,t,i,a,r){e.assign(t);e.and(i);r.assign(t);r.not();r.and(a);e.xor(r)}function maj(e,t,i,a,r){e.assign(t);e.and(i);r.assign(t);r.and(a);e.xor(r);r.assign(i);r.and(a);e.xor(r)}function sigma(e,t,i){e.assign(t);e.rotateRight(28);i.assign(t);i.rotateRight(34);e.xor(i);i.assign(t);i.rotateRight(39);e.xor(i)}function sigmaPrime(e,t,i){e.assign(t);e.rotateRight(14);i.assign(t);i.rotateRight(18);e.xor(i);i.assign(t);i.rotateRight(41);e.xor(i)}function littleSigma(e,t,i){e.assign(t);e.rotateRight(1);i.assign(t);i.rotateRight(8);e.xor(i);i.assign(t);i.shiftRight(7);e.xor(i)}function littleSigmaPrime(e,t,i){e.assign(t);e.rotateRight(19);i.assign(t);i.rotateRight(61);e.xor(i);i.assign(t);i.shiftRight(6);e.xor(i)}const e=[new Word64(1116352408,3609767458),new Word64(1899447441,602891725),new Word64(3049323471,3964484399),new Word64(3921009573,2173295548),new Word64(961987163,4081628472),new Word64(1508970993,3053834265),new Word64(2453635748,2937671579),new Word64(2870763221,3664609560),new Word64(3624381080,2734883394),new Word64(310598401,1164996542),new Word64(607225278,1323610764),new Word64(1426881987,3590304994),new Word64(1925078388,4068182383),new Word64(2162078206,991336113),new Word64(2614888103,633803317),new Word64(3248222580,3479774868),new Word64(3835390401,2666613458),new Word64(4022224774,944711139),new Word64(264347078,2341262773),new Word64(604807628,2007800933),new Word64(770255983,1495990901),new Word64(1249150122,1856431235),new Word64(1555081692,3175218132),new Word64(1996064986,2198950837),new Word64(2554220882,3999719339),new Word64(2821834349,766784016),new Word64(2952996808,2566594879),new Word64(3210313671,3203337956),new Word64(3336571891,1034457026),new Word64(3584528711,2466948901),new Word64(113926993,3758326383),new Word64(338241895,168717936),new Word64(666307205,1188179964),new Word64(773529912,1546045734),new Word64(1294757372,1522805485),new Word64(1396182291,2643833823),new Word64(1695183700,2343527390),new Word64(1986661051,1014477480),new Word64(2177026350,1206759142),new Word64(2456956037,344077627),new Word64(2730485921,1290863460),new Word64(2820302411,3158454273),new Word64(3259730800,3505952657),new Word64(3345764771,106217008),new Word64(3516065817,3606008344),new Word64(3600352804,1432725776),new Word64(4094571909,1467031594),new Word64(275423344,851169720),new Word64(430227734,3100823752),new Word64(506948616,1363258195),new Word64(659060556,3750685593),new Word64(883997877,3785050280),new Word64(958139571,3318307427),new Word64(1322822218,3812723403),new Word64(1537002063,2003034995),new Word64(1747873779,3602036899),new Word64(1955562222,1575990012),new Word64(2024104815,1125592928),new Word64(2227730452,2716904306),new Word64(2361852424,442776044),new Word64(2428436474,593698344),new Word64(2756734187,3733110249),new Word64(3204031479,2999351573),new Word64(3329325298,3815920427),new Word64(3391569614,3928383900),new Word64(3515267271,566280711),new Word64(3940187606,3454069534),new Word64(4118630271,4000239992),new Word64(116418474,1914138554),new Word64(174292421,2731055270),new Word64(289380356,3203993006),new Word64(460393269,320620315),new Word64(685471733,587496836),new Word64(852142971,1086792851),new Word64(1017036298,365543100),new Word64(1126000580,2618297676),new Word64(1288033470,3409855158),new Word64(1501505948,4234509866),new Word64(1607167915,987167468),new Word64(1816402316,1246189591)];return function hash(t,i,a,r=!1){let s,n,o,g,c,l,h,C;if(r){s=new Word64(3418070365,3238371032);n=new Word64(1654270250,914150663);o=new Word64(2438529370,812702999);g=new Word64(355462360,4144912697);c=new Word64(1731405415,4290775857);l=new Word64(2394180231,1750603025);h=new Word64(3675008525,1694076839);C=new Word64(1203062813,3204075428)}else{s=new Word64(1779033703,4089235720);n=new Word64(3144134277,2227873595);o=new Word64(1013904242,4271175723);g=new Word64(2773480762,1595750129);c=new Word64(1359893119,2917565137);l=new Word64(2600822924,725511199);h=new Word64(528734635,4215389547);C=new Word64(1541459225,327033209)}const Q=128*Math.ceil((a+17)/128),E=new Uint8Array(Q);let u,d;for(u=0;u>>29&255;E[u++]=a>>21&255;E[u++]=a>>13&255;E[u++]=a>>5&255;E[u++]=a<<3&255;const p=new Array(80);for(u=0;u<80;u++)p[u]=new Word64(0,0);let m=new Word64(0,0),y=new Word64(0,0),w=new Word64(0,0),b=new Word64(0,0),D=new Word64(0,0),S=new Word64(0,0),k=new Word64(0,0),R=new Word64(0,0);const N=new Word64(0,0),G=new Word64(0,0),M=new Word64(0,0),U=new Word64(0,0);let x,L;for(u=0;u=1;--e){i=s[13];s[13]=s[9];s[9]=s[5];s[5]=s[1];s[1]=i;i=s[14];a=s[10];s[14]=s[6];s[10]=s[2];s[6]=i;s[2]=a;i=s[15];a=s[11];r=s[7];s[15]=s[3];s[11]=i;s[7]=a;s[3]=r;for(let e=0;e<16;++e)s[e]=this._inv_s[s[e]];for(let i=0,a=16*e;i<16;++i,++a)s[i]^=t[a];for(let e=0;e<16;e+=4){const t=this._mix[s[e]],a=this._mix[s[e+1]],r=this._mix[s[e+2]],n=this._mix[s[e+3]];i=t^a>>>8^a<<24^r>>>16^r<<16^n>>>24^n<<8;s[e]=i>>>24&255;s[e+1]=i>>16&255;s[e+2]=i>>8&255;s[e+3]=255&i}}i=s[13];s[13]=s[9];s[9]=s[5];s[5]=s[1];s[1]=i;i=s[14];a=s[10];s[14]=s[6];s[10]=s[2];s[6]=i;s[2]=a;i=s[15];a=s[11];r=s[7];s[15]=s[3];s[11]=i;s[7]=a;s[3]=r;for(let e=0;e<16;++e){s[e]=this._inv_s[s[e]];s[e]^=t[e]}return s}_encrypt(e,t){const i=this._s;let a,r,s;const n=new Uint8Array(16);n.set(e);for(let e=0;e<16;++e)n[e]^=t[e];for(let e=1;e=a;--i)if(e[i]!==t){t=0;break}o-=t;s[s.length-1]=e.subarray(0,16-t)}}const g=new Uint8Array(o);for(let e=0,t=0,i=s.length;e=256&&(o=255&(27^o))}for(let t=0;t<4;++t){i[e]=a^=i[e-32];e++;i[e]=r^=i[e-32];e++;i[e]=s^=i[e-32];e++;i[e]=n^=i[e-32];e++}}return i}}class PDF17{checkOwnerPassword(e,t,i,a){const r=new Uint8Array(e.length+56);r.set(e,0);r.set(t,e.length);r.set(i,e.length+t.length);return isArrayEqual(to(r,0,r.length),a)}checkUserPassword(e,t,i){const a=new Uint8Array(e.length+8);a.set(e,0);a.set(t,e.length);return isArrayEqual(to(a,0,a.length),i)}getOwnerKey(e,t,i,a){const r=new Uint8Array(e.length+56);r.set(e,0);r.set(t,e.length);r.set(i,e.length+t.length);const s=to(r,0,r.length);return new AES256Cipher(s).decryptBlock(a,!1,new Uint8Array(16))}getUserKey(e,t,i){const a=new Uint8Array(e.length+8);a.set(e,0);a.set(t,e.length);const r=to(a,0,a.length);return new AES256Cipher(r).decryptBlock(i,!1,new Uint8Array(16))}}class PDF20{_hash(e,t,i){let a=to(t,0,t.length).subarray(0,32),r=[0],s=0;for(;s<64||r.at(-1)>s-32;){const t=e.length+a.length+i.length,c=new Uint8Array(t);let l=0;c.set(e,l);l+=e.length;c.set(a,l);l+=a.length;c.set(i,l);const h=new Uint8Array(64*t);for(let e=0,i=0;e<64;e++,i+=t)h.set(c,i);r=new AES128Cipher(a.subarray(0,16)).encrypt(h,a.subarray(16,32));const C=r.slice(0,16).reduce(((e,t)=>e+t),0)%3;0===C?a=to(r,0,r.length):1===C?a=(n=r,o=0,g=r.length,io(n,o,g,!0)):2===C&&(a=io(r,0,r.length));s++}var n,o,g;return a.subarray(0,32)}checkOwnerPassword(e,t,i,a){const r=new Uint8Array(e.length+56);r.set(e,0);r.set(t,e.length);r.set(i,e.length+t.length);return isArrayEqual(this._hash(e,r,i),a)}checkUserPassword(e,t,i){const a=new Uint8Array(e.length+8);a.set(e,0);a.set(t,e.length);return isArrayEqual(this._hash(e,a,[]),i)}getOwnerKey(e,t,i,a){const r=new Uint8Array(e.length+56);r.set(e,0);r.set(t,e.length);r.set(i,e.length+t.length);const s=this._hash(e,r,i);return new AES256Cipher(s).decryptBlock(a,!1,new Uint8Array(16))}getUserKey(e,t,i){const a=new Uint8Array(e.length+8);a.set(e,0);a.set(t,e.length);const r=this._hash(e,a,[]);return new AES256Cipher(r).decryptBlock(i,!1,new Uint8Array(16))}}class CipherTransform{constructor(e,t){this.StringCipherConstructor=e;this.StreamCipherConstructor=t}createStream(e,t){const i=new this.StreamCipherConstructor;return new DecryptStream(e,t,(function cipherTransformDecryptStream(e,t){return i.decryptBlock(e,t)}))}decryptString(e){const t=new this.StringCipherConstructor;let i=stringToBytes(e);i=t.decryptBlock(i,!0);return bytesToString(i)}encryptString(e){const t=new this.StringCipherConstructor;if(t instanceof AESBaseCipher){const i=16-e.length%16;e+=String.fromCharCode(i).repeat(i);const a=new Uint8Array(16);if("undefined"!=typeof crypto)crypto.getRandomValues(a);else for(let e=0;e<16;e++)a[e]=Math.floor(256*Math.random());let r=stringToBytes(e);r=t.encrypt(r,a);const s=new Uint8Array(16+r.length);s.set(a);s.set(r,16);return bytesToString(s)}let i=stringToBytes(e);i=t.encrypt(i);return bytesToString(i)}}class CipherTransformFactory{static#q=new Uint8Array([40,191,78,94,78,117,138,65,100,0,78,86,255,250,1,8,46,46,0,182,208,104,62,128,47,12,169,254,100,83,105,122]);#O(e,t,i,a,r,s,n,o,g,c,l,h){if(t){const e=Math.min(127,t.length);t=t.subarray(0,e)}else t=[];const C=6===e?new PDF20:new PDF17;return C.checkUserPassword(t,o,n)?C.getUserKey(t,g,l):t.length&&C.checkOwnerPassword(t,a,s,i)?C.getOwnerKey(t,r,s,c):null}#P(e,t,i,a,r,s,n,o){const g=40+i.length+e.length,c=new Uint8Array(g);let l,h,C=0;if(t){h=Math.min(32,t.length);for(;C>8&255;c[C++]=r>>16&255;c[C++]=r>>>24&255;for(l=0,h=e.length;l=4&&!o){c[C++]=255;c[C++]=255;c[C++]=255;c[C++]=255}let Q=eo(c,0,C);const E=n>>3;if(s>=3)for(l=0;l<50;++l)Q=eo(Q,0,E);const u=Q.subarray(0,E);let d,f;if(s>=3){for(C=0;C<32;++C)c[C]=CipherTransformFactory.#q[C];for(l=0,h=e.length;l>3;if(i>=3)for(o=0;o<50;++o)g=eo(g,0,g.length);let l,h;if(i>=3){h=t;const e=new Uint8Array(c);for(o=19;o>=0;o--){for(let t=0;t>8&255;r[n++]=e>>16&255;r[n++]=255&t;r[n++]=t>>8&255;if(a){r[n++]=115;r[n++]=65;r[n++]=108;r[n++]=84}return eo(r,0,n).subarray(0,Math.min(i.length+5,16))}#X(e,t,i,a,r){if(!(t instanceof Name))throw new FormatError("Invalid crypt filter name.");const s=this,n=e.get(t.name),o=n?.get("CFM");if(!o||"None"===o.name)return function(){return new NullCipher};if("V2"===o.name)return function(){return new ARCFourCipher(s.#j(i,a,r,!1))};if("AESV2"===o.name)return function(){return new AES128Cipher(s.#j(i,a,r,!0))};if("AESV3"===o.name)return function(){return new AES256Cipher(r)};throw new FormatError("Unknown crypto method")}constructor(e,t,i){const a=e.get("Filter");if(!isName(a,"Standard"))throw new FormatError("unknown encryption method");this.filterName=a.name;this.dict=e;const r=e.get("V");if(!Number.isInteger(r)||1!==r&&2!==r&&4!==r&&5!==r)throw new FormatError("unsupported encryption algorithm");this.algorithm=r;let s=e.get("Length");if(!s)if(r<=3)s=40;else{const t=e.get("CF"),i=e.get("StmF");if(t instanceof Dict&&i instanceof Name){t.suppressEncryption=!0;const e=t.get(i.name);s=e?.get("Length")||128;s<40&&(s<<=3)}}if(!Number.isInteger(s)||s<40||s%8!=0)throw new FormatError("invalid key length");const n=stringToBytes(e.get("O")),o=stringToBytes(e.get("U")),g=n.subarray(0,32),c=o.subarray(0,32),l=e.get("P"),h=e.get("R"),C=(4===r||5===r)&&!1!==e.get("EncryptMetadata");this.encryptMetadata=C;const Q=stringToBytes(t);let E,u;if(i){if(6===h)try{i=utf8StringToString(i)}catch{warn("CipherTransformFactory: Unable to convert UTF8 encoded password.")}E=stringToBytes(i)}if(5!==r)u=this.#P(Q,E,g,c,l,h,s,C);else{const t=n.subarray(32,40),i=n.subarray(40,48),a=o.subarray(0,48),r=o.subarray(32,40),s=o.subarray(40,48),l=stringToBytes(e.get("OE")),C=stringToBytes(e.get("UE")),Q=stringToBytes(e.get("Perms"));u=this.#O(h,E,g,t,i,a,c,r,s,l,C,Q)}if(!u&&!i)throw new PasswordException("No password given",ot);if(!u&&i){const e=this.#W(E,g,h,s);u=this.#P(Q,e,g,c,l,h,s,C)}if(!u)throw new PasswordException("Incorrect Password",gt);this.encryptionKey=u;if(r>=4){const t=e.get("CF");t instanceof Dict&&(t.suppressEncryption=!0);this.cf=t;this.stmf=e.get("StmF")||Name.get("Identity");this.strf=e.get("StrF")||Name.get("Identity");this.eff=e.get("EFF")||this.stmf}}createCipherTransform(e,t){if(4===this.algorithm||5===this.algorithm)return new CipherTransform(this.#X(this.cf,this.strf,e,t,this.encryptionKey),this.#X(this.cf,this.stmf,e,t,this.encryptionKey));const i=this.#j(e,t,this.encryptionKey,!1),cipherConstructor=function(){return new ARCFourCipher(i)};return new CipherTransform(cipherConstructor,cipherConstructor)}}function decodeString(e){try{return stringToUTF8String(e)}catch(t){warn(`UTF-8 decoding failed: "${t}".`);return e}}class DatasetXMLParser extends SimpleXMLParser{constructor(e){super(e);this.node=null}onEndElement(e){const t=super.onEndElement(e);if(t&&"xfa:datasets"===e){this.node=t;throw new Error("Aborting DatasetXMLParser.")}}}class DatasetReader{constructor(e){if(e.datasets)this.node=new SimpleXMLParser({hasAttributes:!0}).parseFromString(e.datasets).documentElement;else{const t=new DatasetXMLParser({hasAttributes:!0});try{t.parseFromString(e["xdp:xdp"])}catch{}this.node=t.node}}getValue(e){if(!this.node||!e)return"";const t=this.node.searchNode(parseXFAPath(e),0);if(!t)return"";const i=t.firstChild;return"value"===i?.nodeName?t.children.map((e=>decodeString(e.textContent))):decodeString(t.textContent)}}class XRef{#V=null;constructor(e,t){this.stream=e;this.pdfManager=t;this.entries=[];this._xrefStms=new Set;this._cacheMap=new Map;this._pendingRefs=new RefSet;this._newPersistentRefNum=null;this._newTemporaryRefNum=null;this._persistentRefsCache=null}getNewPersistentRef(e){null===this._newPersistentRefNum&&(this._newPersistentRefNum=this.entries.length||1);const t=this._newPersistentRefNum++;this._cacheMap.set(t,e);return Ref.get(t,0)}getNewTemporaryRef(){if(null===this._newTemporaryRefNum){this._newTemporaryRefNum=this.entries.length||1;if(this._newPersistentRefNum){this._persistentRefsCache=new Map;for(let e=this._newTemporaryRefNum;e0;){const[n,o]=s;if(!Number.isInteger(n)||!Number.isInteger(o))throw new FormatError(`Invalid XRef range fields: ${n}, ${o}`);if(!Number.isInteger(i)||!Number.isInteger(a)||!Number.isInteger(r))throw new FormatError(`Invalid XRef entry fields length: ${n}, ${o}`);for(let s=t.entryNum;s=e.length);){i+=String.fromCharCode(a);a=e[t]}return i}function skipUntil(e,t,i){const a=i.length,r=e.length;let s=0;for(;t=a)break;t++;s++}return s}const e=/\b(endobj|\d+\s+\d+\s+obj|xref|trailer\s*<<)\b/g,t=/\b(startxref|\d+\s+\d+\s+obj)\b/g,i=/^(\d+)\s+(\d+)\s+obj\b/,a=new Uint8Array([116,114,97,105,108,101,114]),r=new Uint8Array([115,116,97,114,116,120,114,101,102]),s=new Uint8Array([47,88,82,101,102]);this.entries.length=0;this._cacheMap.clear();const n=this.stream;n.pos=0;const o=n.getBytes(),g=bytesToString(o),c=o.length;let l=n.start;const h=[],C=[];for(;l=c)break;Q=o[l]}while(10!==Q&&13!==Q);continue}const E=readToken(o,l);let u;if(E.startsWith("xref")&&(4===E.length||/\s/.test(E[4]))){l+=skipUntil(o,l,a);h.push(l);l+=skipUntil(o,l,r)}else if(u=i.exec(E)){const t=0|u[1],i=0|u[2],a=l+E.length;let r,h=!1;if(this.entries[t]){if(this.entries[t].gen===i)try{new Parser({lexer:new Lexer(n.makeSubStream(a))}).getObj();h=!0}catch(e){e instanceof ParserEOFException?warn(`indexObjects -- checking object (${E}): "${e}".`):h=!0}}else h=!0;h&&(this.entries[t]={offset:l-n.start,gen:i,uncompressed:!0});e.lastIndex=a;const Q=e.exec(g);if(Q){r=e.lastIndex+1-l;if("endobj"!==Q[1]){warn(`indexObjects: Found "${Q[1]}" inside of another "obj", caused by missing "endobj" -- trying to recover.`);r-=Q[1].length+1}}else r=c-l;const d=o.subarray(l,l+r),f=skipUntil(d,0,s);if(f0?Math.max(...this._xrefStms):null)}getEntry(e){const t=this.entries[e];return t&&!t.free&&t.offset?t:null}fetchIfRef(e,t=!1){return e instanceof Ref?this.fetch(e,t):e}fetch(e,t=!1){if(!(e instanceof Ref))throw new Error("ref object is not a reference");const i=e.num,a=this._cacheMap.get(i);if(void 0!==a){a instanceof Dict&&!a.objId&&(a.objId=e.toString());return a}let r=this.getEntry(i);if(null===r){this._cacheMap.set(i,r);return r}if(this._pendingRefs.has(e)){this._pendingRefs.remove(e);warn(`Ignoring circular reference: ${e}.`);return Qt}this._pendingRefs.put(e);try{r=r.uncompressed?this.fetchUncompressed(e,r,t):this.fetchCompressed(e,r,t);this._pendingRefs.remove(e)}catch(t){this._pendingRefs.remove(e);throw t}r instanceof Dict?r.objId=e.toString():r instanceof BaseStream&&(r.dict.objId=e.toString());return r}fetchUncompressed(e,t,i=!1){const a=e.gen;let r=e.num;if(t.gen!==a){const s=`Inconsistent generation in XRef: ${e}`;if(this._generationFallback&&t.gen0&&t[3]-t[1]>0)return t;warn(`Empty, or invalid, /${e} entry.`)}return null}get mediaBox(){return shadow(this,"mediaBox",this._getBoundingBox("MediaBox")||ao)}get cropBox(){return shadow(this,"cropBox",this._getBoundingBox("CropBox")||this.mediaBox)}get userUnit(){const e=this.pageDict.get("UserUnit");return shadow(this,"userUnit","number"==typeof e&&e>0?e:1)}get view(){const{cropBox:e,mediaBox:t}=this;if(e!==t&&!isArrayEqual(e,t)){const i=Util.intersect(e,t);if(i&&i[2]-i[0]>0&&i[3]-i[1]>0)return shadow(this,"view",i);warn("Empty /CropBox and /MediaBox intersection.")}return shadow(this,"view",t)}get rotate(){let e=this._getInheritableProperty("Rotate")||0;e%90!=0?e=0:e>=360?e%=360:e<0&&(e=(e%360+360)%360);return shadow(this,"rotate",e)}_onSubStreamError(e,t){if(!this.evaluatorOptions.ignoreErrors)throw e;warn(`getContentStream - ignoring sub-stream (${t}): "${e}".`)}getContentStream(){return this.pdfManager.ensure(this,"content").then((e=>e instanceof BaseStream?e:Array.isArray(e)?new StreamsSequenceStream(e,this._onSubStreamError.bind(this)):new NullStream))}get xfaData(){return shadow(this,"xfaData",this.xfaFactory?{bbox:this.xfaFactory.getBoundingBox(this.pageIndex)}:null)}async#Z(e,t,i){const a=[];for(const r of e)if(r.id){const e=Ref.fromString(r.id);if(!e){warn(`A non-linked annotation cannot be modified: ${r.id}`);continue}if(r.deleted){t.put(e,e);if(r.popupRef){const e=Ref.fromString(r.popupRef);e&&t.put(e,e)}continue}i?.put(e);r.ref=e;a.push(this.xref.fetchAsync(e).then((e=>{e instanceof Dict&&(r.oldAnnotation=e.clone())}),(()=>{warn(`Cannot fetch \`oldAnnotation\` for: ${e}.`)})));delete r.id}await Promise.all(a)}async saveNewAnnotations(e,t,i,a,r){if(this.xfaFactory)throw new Error("XFA: Cannot save new annotations.");const s=new PartialEvaluator({xref:this.xref,handler:e,pageIndex:this.pageIndex,idFactory:this._localIdFactory,fontCache:this.fontCache,builtInCMapCache:this.builtInCMapCache,standardFontDataCache:this.standardFontDataCache,globalImageCache:this.globalImageCache,systemFontCache:this.systemFontCache,options:this.evaluatorOptions}),n=new RefSetCache,o=new RefSet;await this.#Z(i,n,o);const g=this.pageDict,c=this.annotations.filter((e=>!(e instanceof Ref&&n.has(e)))),l=await AnnotationFactory.saveNewAnnotations(s,t,i,a,r);for(const{ref:e}of l.annotations)e instanceof Ref&&!o.has(e)&&c.push(e);const h=g.clone();h.set("Annots",c);r.put(this.ref,{data:h});for(const e of n)r.put(e,{data:null})}save(e,t,i,a){const r=new PartialEvaluator({xref:this.xref,handler:e,pageIndex:this.pageIndex,idFactory:this._localIdFactory,fontCache:this.fontCache,builtInCMapCache:this.builtInCMapCache,standardFontDataCache:this.standardFontDataCache,globalImageCache:this.globalImageCache,systemFontCache:this.systemFontCache,options:this.evaluatorOptions});return this._parsedAnnotations.then((function(e){const s=[];for(const n of e)s.push(n.save(r,t,i,a).catch((function(e){warn(`save - ignoring annotation data during "${t.name}" task: "${e}".`);return null})));return Promise.all(s)}))}loadResources(e){this.resourcesPromise||=this.pdfManager.ensure(this,"resources");return this.resourcesPromise.then((()=>new ObjectLoader(this.resources,e,this.xref).load()))}getOperatorList({handler:e,sink:t,task:i,intent:a,cacheKey:r,annotationStorage:s=null,modifiedIds:n=null}){const o=this.getContentStream(),h=this.loadResources(["ColorSpace","ExtGState","Font","Pattern","Properties","Shading","XObject"]),u=new PartialEvaluator({xref:this.xref,handler:e,pageIndex:this.pageIndex,idFactory:this._localIdFactory,fontCache:this.fontCache,builtInCMapCache:this.builtInCMapCache,standardFontDataCache:this.standardFontDataCache,globalImageCache:this.globalImageCache,systemFontCache:this.systemFontCache,options:this.evaluatorOptions}),f=this.xfaFactory?null:getNewAnnotationsMap(s),p=f?.get(this.pageIndex);let m=Promise.resolve(null),y=null;if(p){const e=this.pdfManager.ensureDoc("annotationGlobals");let t;const a=new Set;for(const{bitmapId:e,bitmap:t}of p)!e||t||a.has(e)||a.add(e);const{isOffscreenCanvasSupported:r}=this.evaluatorOptions;if(a.size>0){const e=p.slice();for(const[t,i]of s)t.startsWith(d)&&i.bitmap&&a.has(i.bitmapId)&&e.push(i);t=AnnotationFactory.generateImages(e,this.xref,r)}else t=AnnotationFactory.generateImages(p,this.xref,r);y=new RefSet;m=Promise.all([e,this.#Z(p,y,null)]).then((([e])=>e?AnnotationFactory.printNewAnnotations(e,u,i,p,t):null))}const w=Promise.all([o,h]).then((([s])=>{const n=new OperatorList(a,t);e.send("StartRenderPage",{transparency:u.hasBlendModes(this.resources,this.nonBlendModesSet),pageIndex:this.pageIndex,cacheKey:r});return u.getOperatorList({stream:s,task:i,resources:this.resources,operatorList:n}).then((function(){return n}))}));return Promise.all([w,this._parsedAnnotations,m]).then((function([e,t,r]){if(r){t=t.filter((e=>!(e.ref&&y.has(e.ref))));for(let e=0,i=r.length;ee.ref&&isRefsEqual(e.ref,a.refToReplace)));if(s>=0){t.splice(s,1,a);r.splice(e--,1);i--}}}t=t.concat(r)}if(0===t.length||a&Q){e.flush(!0);return{length:e.totalLength}}const o=!!(a&C),h=!!(a&E),d=!!(a&g),f=!!(a&c),p=!!(a&l),m=[];for(const e of t)(d||f&&e.mustBeViewed(s,o)&&e.mustBeViewedWhenEditing(h,n)||p&&e.mustBePrinted(s))&&m.push(e.getOperatorList(u,i,a,s).catch((function(e){warn(`getOperatorList - ignoring annotation data during "${i.name}" task: "${e}".`);return{opList:null,separateForm:!1,separateCanvas:!1}})));return Promise.all(m).then((function(t){let i=!1,a=!1;for(const{opList:r,separateForm:s,separateCanvas:n}of t){e.addOpList(r);i||=s;a||=n}e.flush(!0,{form:i,canvas:a});return{length:e.totalLength}}))}))}async extractTextContent({handler:e,task:t,includeMarkedContent:i,disableNormalization:a,sink:r}){const s=this.getContentStream(),n=this.loadResources(["ExtGState","Font","Properties","XObject"]),o=this.pdfManager.ensureCatalog("lang"),[g,,c]=await Promise.all([s,n,o]);return new PartialEvaluator({xref:this.xref,handler:e,pageIndex:this.pageIndex,idFactory:this._localIdFactory,fontCache:this.fontCache,builtInCMapCache:this.builtInCMapCache,standardFontDataCache:this.standardFontDataCache,globalImageCache:this.globalImageCache,systemFontCache:this.systemFontCache,options:this.evaluatorOptions}).getTextContent({stream:g,task:t,resources:this.resources,includeMarkedContent:i,disableNormalization:a,sink:r,viewBox:this.view,lang:c})}async getStructTree(){const e=await this.pdfManager.ensureCatalog("structTreeRoot");if(!e)return null;await this._parsedAnnotations;const t=await this.pdfManager.ensure(this,"_parseStructTree",[e]);return this.pdfManager.ensure(t,"serializable")}_parseStructTree(e){const t=new StructTreePage(e,this.pageDict);t.parse(this.ref);return t}async getAnnotationsData(e,t,i){const a=await this._parsedAnnotations;if(0===a.length)return a;const r=[],s=[];let n;const o=!!(i&g),h=!!(i&c),C=!!(i&l);for(const i of a){const a=o||h&&i.viewable;(a||C&&i.printable)&&r.push(i.data);if(i.hasTextContent&&a){n||=new PartialEvaluator({xref:this.xref,handler:e,pageIndex:this.pageIndex,idFactory:this._localIdFactory,fontCache:this.fontCache,builtInCMapCache:this.builtInCMapCache,standardFontDataCache:this.standardFontDataCache,globalImageCache:this.globalImageCache,systemFontCache:this.systemFontCache,options:this.evaluatorOptions});s.push(i.extractTextContent(n,t,[-1/0,-1/0,1/0,1/0]).catch((function(e){warn(`getAnnotationsData - ignoring textContent during "${t.name}" task: "${e}".`)})))}}await Promise.all(s);return r}get annotations(){const e=this._getInheritableProperty("Annots");return shadow(this,"annotations",Array.isArray(e)?e:[])}get _parsedAnnotations(){return shadow(this,"_parsedAnnotations",this.pdfManager.ensure(this,"annotations").then((async e=>{if(0===e.length)return e;const[t,i]=await Promise.all([this.pdfManager.ensureDoc("annotationGlobals"),this.pdfManager.ensureDoc("fieldObjects")]);if(!t)return[];const a=i?.orphanFields,r=[];for(const i of e)r.push(AnnotationFactory.create(this.xref,i,t,this._localIdFactory,!1,a,this.ref).catch((function(e){warn(`_parsedAnnotations: "${e}".`);return null})));const s=[];let n,o;for(const e of await Promise.all(r))e&&(e instanceof WidgetAnnotation?(o||=[]).push(e):e instanceof PopupAnnotation?(n||=[]).push(e):s.push(e));o&&s.push(...o);n&&s.push(...n);return s})))}get jsActions(){return shadow(this,"jsActions",collectActions(this.xref,this.pageDict,yA))}}const ro=new Uint8Array([37,80,68,70,45]),so=new Uint8Array([115,116,97,114,116,120,114,101,102]),no=new Uint8Array([101,110,100,111,98,106]);function find(e,t,i=1024,a=!1){const r=t.length,s=e.peekBytes(i),n=s.length-r;if(n<=0)return!1;if(a){const i=r-1;let a=s.length-1;for(;a>=i;){let n=0;for(;n=r){e.pos+=a-i;return!0}a--}}else{let i=0;for(;i<=n;){let a=0;for(;a=r){e.pos+=i;return!0}i++}}return!1}class PDFDocument{constructor(e,t){if(t.length<=0)throw new InvalidPDFException("The PDF file is empty, i.e. its size is zero bytes.");this.pdfManager=e;this.stream=t;this.xref=new XRef(t,e);this._pagePromises=new Map;this._version=null;const i={font:0};this._globalIdFactory=class{static getDocId(){return`g_${e.docId}`}static createFontId(){return"f"+ ++i.font}static createObjId(){unreachable("Abstract method `createObjId` called.")}static getPageObjId(){unreachable("Abstract method `getPageObjId` called.")}}}parse(e){this.xref.parse(e);this.catalog=new Catalog(this.pdfManager,this.xref)}get linearization(){let e=null;try{e=Linearization.create(this.stream)}catch(e){if(e instanceof MissingDataException)throw e;info(e)}return shadow(this,"linearization",e)}get startXRef(){const e=this.stream;let t=0;if(this.linearization){e.reset();if(find(e,no)){e.skip(6);let i=e.peekByte();for(;isWhiteSpace(i);){e.pos++;i=e.peekByte()}t=e.pos-e.start}}else{const i=1024,a=so.length;let r=!1,s=e.end;for(;!r&&s>0;){s-=i-a;s<0&&(s=0);e.pos=s;r=find(e,so,i,!0)}if(r){e.skip(9);let i;do{i=e.getByte()}while(isWhiteSpace(i));let a="";for(;i>=32&&i<=57;){a+=String.fromCharCode(i);i=e.getByte()}t=parseInt(a,10);isNaN(t)&&(t=0)}}return shadow(this,"startXRef",t)}checkHeader(){const e=this.stream;e.reset();if(!find(e,ro))return;e.moveStart();e.skip(ro.length);let t,i="";for(;(t=e.getByte())>32&&i.length<7;)i+=String.fromCharCode(t);mt.test(i)?this._version=i:warn(`Invalid PDF header version: ${i}`)}parseStartXRef(){this.xref.setStartXRef(this.startXRef)}get numPages(){let e=0;e=this.catalog.hasActualNumPages?this.catalog.numPages:this.xfaFactory?this.xfaFactory.getNumPages():this.linearization?this.linearization.numPages:this.catalog.numPages;return shadow(this,"numPages",e)}_hasOnlyDocumentSignatures(e,t=0){return!!Array.isArray(e)&&e.every((e=>{if(!((e=this.xref.fetchIfRef(e))instanceof Dict))return!1;if(e.has("Kids")){if(++t>10){warn("_hasOnlyDocumentSignatures: maximum recursion depth reached");return!1}return this._hasOnlyDocumentSignatures(e.get("Kids"),t)}const i=isName(e.get("FT"),"Sig"),a=e.get("Rect"),r=Array.isArray(a)&&a.every((e=>0===e));return i&&r}))}get _xfaStreams(){const e=this.catalog.acroForm;if(!e)return null;const t=e.get("XFA"),i={"xdp:xdp":"",template:"",datasets:"",config:"",connectionSet:"",localeSet:"",stylesheet:"","/xdp:xdp":""};if(t instanceof BaseStream&&!t.isEmpty){i["xdp:xdp"]=t;return i}if(!Array.isArray(t)||0===t.length)return null;for(let e=0,a=t.length;e0;e.hasFields=a;const r=t.get("XFA");e.hasXfa=Array.isArray(r)&&r.length>0||r instanceof BaseStream&&!r.isEmpty;const s=!!(1&t.get("SigFlags")),n=s&&this._hasOnlyDocumentSignatures(i);e.hasAcroForm=a&&!n;e.hasSignatures=s}catch(e){if(e instanceof MissingDataException)throw e;warn(`Cannot fetch form information: "${e}".`)}return shadow(this,"formInfo",e)}get documentInfo(){const e={PDFFormatVersion:this.version,Language:this.catalog.lang,EncryptFilterName:this.xref.encrypt?this.xref.encrypt.filterName:null,IsLinearized:!!this.linearization,IsAcroFormPresent:this.formInfo.hasAcroForm,IsXFAPresent:this.formInfo.hasXfa,IsCollectionPresent:!!this.catalog.collection,IsSignaturesPresent:this.formInfo.hasSignatures};let t;try{t=this.xref.trailer.get("Info")}catch(e){if(e instanceof MissingDataException)throw e;info("The document information dictionary is invalid.")}if(!(t instanceof Dict))return shadow(this,"documentInfo",e);for(const i of t.getKeys()){const a=t.get(i);switch(i){case"Title":case"Author":case"Subject":case"Keywords":case"Creator":case"Producer":case"CreationDate":case"ModDate":if("string"==typeof a){e[i]=stringToPDFString(a);continue}break;case"Trapped":if(a instanceof Name){e[i]=a;continue}break;default:let t;switch(typeof a){case"string":t=stringToPDFString(a);break;case"number":case"boolean":t=a;break;default:a instanceof Name&&(t=a)}if(void 0===t){warn(`Bad value, for custom key "${i}", in Info: ${a}.`);continue}e.Custom||(e.Custom=Object.create(null));e.Custom[i]=t;continue}warn(`Bad value, for key "${i}", in Info: ${a}.`)}return shadow(this,"documentInfo",e)}get fingerprints(){const e="\0".repeat(16);function validate(t){return"string"==typeof t&&16===t.length&&t!==e}const t=this.xref.trailer.get("ID");let i,a;if(Array.isArray(t)&&validate(t[0])){i=stringToBytes(t[0]);t[1]!==t[0]&&validate(t[1])&&(a=stringToBytes(t[1]))}else i=eo(this.stream.getByteRange(0,1024),0,1024);return shadow(this,"fingerprints",[toHexUtil(i),a?toHexUtil(a):null])}async _getLinearizationPage(e){const{catalog:t,linearization:i,xref:a}=this,r=Ref.get(i.objectNumberFirst,0);try{const e=await a.fetchAsync(r);if(e instanceof Dict){let i=e.getRaw("Type");i instanceof Ref&&(i=await a.fetchAsync(i));if(isName(i,"Page")||!e.has("Type")&&!e.has("Kids")&&e.has("Contents")){t.pageKidsCountCache.has(r)||t.pageKidsCountCache.put(r,1);t.pageIndexCache.has(r)||t.pageIndexCache.put(r,0);return[e,r]}}throw new FormatError("The Linearization dictionary doesn't point to a valid Page dictionary.")}catch(i){warn(`_getLinearizationPage: "${i.message}".`);return t.getPageDict(e)}}getPage(e){const t=this._pagePromises.get(e);if(t)return t;const{catalog:i,linearization:a,xfaFactory:r}=this;let s;s=r?Promise.resolve([Dict.empty,null]):a?.pageFirst===e?this._getLinearizationPage(e):i.getPageDict(e);s=s.then((([t,a])=>new Page({pdfManager:this.pdfManager,xref:this.xref,pageIndex:e,pageDict:t,ref:a,globalIdFactory:this._globalIdFactory,fontCache:i.fontCache,builtInCMapCache:i.builtInCMapCache,standardFontDataCache:i.standardFontDataCache,globalImageCache:i.globalImageCache,systemFontCache:i.systemFontCache,nonBlendModesSet:i.nonBlendModesSet,xfaFactory:r})));this._pagePromises.set(e,s);return s}async checkFirstPage(e=!1){if(!e)try{await this.getPage(0)}catch(e){if(e instanceof XRefEntryException){this._pagePromises.delete(0);await this.cleanup();throw new XRefParseException}}}async checkLastPage(e=!1){const{catalog:t,pdfManager:i}=this;t.setActualNumPages();let a;try{await Promise.all([i.ensureDoc("xfaFactory"),i.ensureDoc("linearization"),i.ensureCatalog("numPages")]);if(this.xfaFactory)return;a=this.linearization?this.linearization.numPages:t.numPages;if(!Number.isInteger(a))throw new FormatError("Page count is not an integer.");if(a<=1)return;await this.getPage(a-1)}catch(r){this._pagePromises.delete(a-1);await this.cleanup();if(r instanceof XRefEntryException&&!e)throw new XRefParseException;warn(`checkLastPage - invalid /Pages tree /Count: ${a}.`);let s;try{s=await t.getAllPageDicts(e)}catch(i){if(i instanceof XRefEntryException&&!e)throw new XRefParseException;t.setActualNumPages(1);return}for(const[e,[a,r]]of s){let s;if(a instanceof Error){s=Promise.reject(a);s.catch((()=>{}))}else s=Promise.resolve(new Page({pdfManager:i,xref:this.xref,pageIndex:e,pageDict:a,ref:r,globalIdFactory:this._globalIdFactory,fontCache:t.fontCache,builtInCMapCache:t.builtInCMapCache,standardFontDataCache:t.standardFontDataCache,globalImageCache:t.globalImageCache,systemFontCache:t.systemFontCache,nonBlendModesSet:t.nonBlendModesSet,xfaFactory:null}));this._pagePromises.set(e,s)}t.setActualNumPages(s.size)}}fontFallback(e,t){return this.catalog.fontFallback(e,t)}async cleanup(e=!1){return this.catalog?this.catalog.cleanup(e):clearGlobalCaches()}async#_(e,t,i,a,r,s,n){const{xref:o}=this;if(!(i instanceof Ref)||s.has(i))return;s.put(i);const g=await o.fetchAsync(i);if(!(g instanceof Dict))return;if(g.has("T")){const t=stringToPDFString(await g.getAsync("T"));e=""===e?t:`${e}.${t}`}else{let i=g;for(;;){i=i.getRaw("Parent")||t;if(i instanceof Ref){if(s.has(i))break;i=await o.fetchAsync(i)}if(!(i instanceof Dict))break;if(i.has("T")){const t=stringToPDFString(await i.getAsync("T"));e=""===e?t:`${e}.${t}`;break}}}t&&!g.has("Parent")&&isName(g.get("Subtype"),"Widget")&&n.put(i,t);a.has(e)||a.set(e,[]);a.get(e).push(AnnotationFactory.create(o,i,r,null,!0,n,null).then((e=>e?.getFieldObject())).catch((function(e){warn(`#collectFieldObjects: "${e}".`);return null})));if(!g.has("Kids"))return;const c=await g.getAsync("Kids");if(Array.isArray(c))for(const t of c)await this.#_(e,i,t,a,r,s,n)}get fieldObjects(){return shadow(this,"fieldObjects",this.pdfManager.ensureDoc("formInfo").then((async e=>{if(!e.hasFields)return null;const[t,i]=await Promise.all([this.pdfManager.ensureDoc("annotationGlobals"),this.pdfManager.ensureCatalog("acroForm")]);if(!t)return null;const a=new RefSet,r=Object.create(null),s=new Map,n=new RefSetCache;for(const e of await i.getAsync("Fields"))await this.#_("",null,e,s,t,a,n);const o=[];for(const[e,t]of s)o.push(Promise.all(t).then((t=>{(t=t.filter((e=>!!e))).length>0&&(r[e]=t)})));await Promise.all(o);return{allFields:r,orphanFields:n}})))}get hasJSActions(){return shadow(this,"hasJSActions",this.pdfManager.ensureDoc("_parseHasJSActions"))}async _parseHasJSActions(){const[e,t]=await Promise.all([this.pdfManager.ensureCatalog("jsActions"),this.pdfManager.ensureDoc("fieldObjects")]);return!!e||!!t&&Object.values(t.allFields).some((e=>e.some((e=>null!==e.actions))))}get calculationOrderIds(){const e=this.catalog.acroForm?.get("CO");if(!Array.isArray(e)||0===e.length)return shadow(this,"calculationOrderIds",null);const t=[];for(const i of e)i instanceof Ref&&t.push(i.toString());return shadow(this,"calculationOrderIds",t.length?t:null)}get annotationGlobals(){return shadow(this,"annotationGlobals",AnnotationFactory.createGlobals(this.pdfManager))}}class BasePdfManager{constructor(e){this._docBaseUrl=function parseDocBaseUrl(e){if(e){const t=createValidAbsoluteUrl(e);if(t)return t.href;warn(`Invalid absolute docBaseUrl: "${e}".`)}return null}(e.docBaseUrl);this._docId=e.docId;this._password=e.password;this.enableXfa=e.enableXfa;e.evaluatorOptions.isOffscreenCanvasSupported&&=FeatureTest.isOffscreenCanvasSupported;e.evaluatorOptions.isImageDecoderSupported&&=FeatureTest.isImageDecoderSupported;this.evaluatorOptions=Object.freeze(e.evaluatorOptions)}get docId(){return this._docId}get password(){return this._password}get docBaseUrl(){return this._docBaseUrl}get catalog(){return this.pdfDocument.catalog}ensureDoc(e,t){return this.ensure(this.pdfDocument,e,t)}ensureXRef(e,t){return this.ensure(this.pdfDocument.xref,e,t)}ensureCatalog(e,t){return this.ensure(this.pdfDocument.catalog,e,t)}getPage(e){return this.pdfDocument.getPage(e)}fontFallback(e,t){return this.pdfDocument.fontFallback(e,t)}loadXfaFonts(e,t){return this.pdfDocument.loadXfaFonts(e,t)}loadXfaImages(){return this.pdfDocument.loadXfaImages()}serializeXfaData(e){return this.pdfDocument.serializeXfaData(e)}cleanup(e=!1){return this.pdfDocument.cleanup(e)}async ensure(e,t,i){unreachable("Abstract method `ensure` called")}requestRange(e,t){unreachable("Abstract method `requestRange` called")}requestLoadedStream(e=!1){unreachable("Abstract method `requestLoadedStream` called")}sendProgressiveData(e){unreachable("Abstract method `sendProgressiveData` called")}updatePassword(e){this._password=e}terminate(e){unreachable("Abstract method `terminate` called")}}class LocalPdfManager extends BasePdfManager{constructor(e){super(e);const t=new Stream(e.source);this.pdfDocument=new PDFDocument(this,t);this._loadedStreamPromise=Promise.resolve(t)}async ensure(e,t,i){const a=e[t];return"function"==typeof a?a.apply(e,i):a}requestRange(e,t){return Promise.resolve()}requestLoadedStream(e=!1){return this._loadedStreamPromise}terminate(e){}}class NetworkPdfManager extends BasePdfManager{constructor(e){super(e);this.streamManager=new ChunkedStreamManager(e.source,{msgHandler:e.handler,length:e.length,disableAutoFetch:e.disableAutoFetch,rangeChunkSize:e.rangeChunkSize});this.pdfDocument=new PDFDocument(this,this.streamManager.getStream())}async ensure(e,t,i){try{const a=e[t];return"function"==typeof a?a.apply(e,i):a}catch(a){if(!(a instanceof MissingDataException))throw a;await this.requestRange(a.begin,a.end);return this.ensure(e,t,i)}}requestRange(e,t){return this.streamManager.requestRange(e,t)}requestLoadedStream(e=!1){return this.streamManager.requestAllChunks(e)}sendProgressiveData(e){this.streamManager.onReceiveData({chunk:e})}terminate(e){this.streamManager.abort(e)}}const oo=1,go=2,Io=1,co=2,lo=3,ho=4,Co=5,Bo=6,Qo=7,Eo=8;function onFn(){}function wrapReason(e){if(e instanceof AbortException||e instanceof InvalidPDFException||e instanceof MissingPDFException||e instanceof PasswordException||e instanceof UnexpectedResponseException||e instanceof UnknownErrorException)return e;e instanceof Error||"object"==typeof e&&null!==e||unreachable('wrapReason: Expected "reason" to be a (possibly cloned) Error.');switch(e.name){case"AbortException":return new AbortException(e.message);case"InvalidPDFException":return new InvalidPDFException(e.message);case"MissingPDFException":return new MissingPDFException(e.message);case"PasswordException":return new PasswordException(e.message,e.code);case"UnexpectedResponseException":return new UnexpectedResponseException(e.message,e.status);case"UnknownErrorException":return new UnknownErrorException(e.message,e.details)}return new UnknownErrorException(e.message,e.toString())}class MessageHandler{#z=new AbortController;constructor(e,t,i){this.sourceName=e;this.targetName=t;this.comObj=i;this.callbackId=1;this.streamId=1;this.streamSinks=Object.create(null);this.streamControllers=Object.create(null);this.callbackCapabilities=Object.create(null);this.actionHandler=Object.create(null);i.addEventListener("message",this.#$.bind(this),{signal:this.#z.signal})}#$({data:e}){if(e.targetName!==this.sourceName)return;if(e.stream){this.#AA(e);return}if(e.callback){const t=e.callbackId,i=this.callbackCapabilities[t];if(!i)throw new Error(`Cannot resolve callback ${t}`);delete this.callbackCapabilities[t];if(e.callback===oo)i.resolve(e.data);else{if(e.callback!==go)throw new Error("Unexpected callback case");i.reject(wrapReason(e.reason))}return}const t=this.actionHandler[e.action];if(!t)throw new Error(`Unknown action from worker: ${e.action}`);if(e.callbackId){const i=this.sourceName,a=e.sourceName,r=this.comObj;Promise.try(t,e.data).then((function(t){r.postMessage({sourceName:i,targetName:a,callback:oo,callbackId:e.callbackId,data:t})}),(function(t){r.postMessage({sourceName:i,targetName:a,callback:go,callbackId:e.callbackId,reason:wrapReason(t)})}))}else e.streamId?this.#eA(e):t(e.data)}on(e,t){const i=this.actionHandler;if(i[e])throw new Error(`There is already an actionName called "${e}"`);i[e]=t}send(e,t,i){this.comObj.postMessage({sourceName:this.sourceName,targetName:this.targetName,action:e,data:t},i)}sendWithPromise(e,t,i){const a=this.callbackId++,r=Promise.withResolvers();this.callbackCapabilities[a]=r;try{this.comObj.postMessage({sourceName:this.sourceName,targetName:this.targetName,action:e,callbackId:a,data:t},i)}catch(e){r.reject(e)}return r.promise}sendWithStream(e,t,i,a){const r=this.streamId++,s=this.sourceName,n=this.targetName,o=this.comObj;return new ReadableStream({start:i=>{const g=Promise.withResolvers();this.streamControllers[r]={controller:i,startCall:g,pullCall:null,cancelCall:null,isClosed:!1};o.postMessage({sourceName:s,targetName:n,action:e,streamId:r,data:t,desiredSize:i.desiredSize},a);return g.promise},pull:e=>{const t=Promise.withResolvers();this.streamControllers[r].pullCall=t;o.postMessage({sourceName:s,targetName:n,stream:Bo,streamId:r,desiredSize:e.desiredSize});return t.promise},cancel:e=>{assert(e instanceof Error,"cancel must have a valid reason");const t=Promise.withResolvers();this.streamControllers[r].cancelCall=t;this.streamControllers[r].isClosed=!0;o.postMessage({sourceName:s,targetName:n,stream:Io,streamId:r,reason:wrapReason(e)});return t.promise}},i)}#eA(e){const t=e.streamId,i=this.sourceName,a=e.sourceName,r=this.comObj,s=this,n=this.actionHandler[e.action],o={enqueue(e,s=1,n){if(this.isCancelled)return;const o=this.desiredSize;this.desiredSize-=s;if(o>0&&this.desiredSize<=0){this.sinkCapability=Promise.withResolvers();this.ready=this.sinkCapability.promise}r.postMessage({sourceName:i,targetName:a,stream:ho,streamId:t,chunk:e},n)},close(){if(!this.isCancelled){this.isCancelled=!0;r.postMessage({sourceName:i,targetName:a,stream:lo,streamId:t});delete s.streamSinks[t]}},error(e){assert(e instanceof Error,"error must have a valid reason");if(!this.isCancelled){this.isCancelled=!0;r.postMessage({sourceName:i,targetName:a,stream:Co,streamId:t,reason:wrapReason(e)})}},sinkCapability:Promise.withResolvers(),onPull:null,onCancel:null,isCancelled:!1,desiredSize:e.desiredSize,ready:null};o.sinkCapability.resolve();o.ready=o.sinkCapability.promise;this.streamSinks[t]=o;Promise.try(n,e.data,o).then((function(){r.postMessage({sourceName:i,targetName:a,stream:Eo,streamId:t,success:!0})}),(function(e){r.postMessage({sourceName:i,targetName:a,stream:Eo,streamId:t,reason:wrapReason(e)})}))}#AA(e){const t=e.streamId,i=this.sourceName,a=e.sourceName,r=this.comObj,s=this.streamControllers[t],n=this.streamSinks[t];switch(e.stream){case Eo:e.success?s.startCall.resolve():s.startCall.reject(wrapReason(e.reason));break;case Qo:e.success?s.pullCall.resolve():s.pullCall.reject(wrapReason(e.reason));break;case Bo:if(!n){r.postMessage({sourceName:i,targetName:a,stream:Qo,streamId:t,success:!0});break}n.desiredSize<=0&&e.desiredSize>0&&n.sinkCapability.resolve();n.desiredSize=e.desiredSize;Promise.try(n.onPull||onFn).then((function(){r.postMessage({sourceName:i,targetName:a,stream:Qo,streamId:t,success:!0})}),(function(e){r.postMessage({sourceName:i,targetName:a,stream:Qo,streamId:t,reason:wrapReason(e)})}));break;case ho:assert(s,"enqueue should have stream controller");if(s.isClosed)break;s.controller.enqueue(e.chunk);break;case lo:assert(s,"close should have stream controller");if(s.isClosed)break;s.isClosed=!0;s.controller.close();this.#tA(s,t);break;case Co:assert(s,"error should have stream controller");s.controller.error(wrapReason(e.reason));this.#tA(s,t);break;case co:e.success?s.cancelCall.resolve():s.cancelCall.reject(wrapReason(e.reason));this.#tA(s,t);break;case Io:if(!n)break;const o=wrapReason(e.reason);Promise.try(n.onCancel||onFn,o).then((function(){r.postMessage({sourceName:i,targetName:a,stream:co,streamId:t,success:!0})}),(function(e){r.postMessage({sourceName:i,targetName:a,stream:co,streamId:t,reason:wrapReason(e)})}));n.sinkCapability.reject(o);n.isCancelled=!0;delete this.streamSinks[t];break;default:throw new Error("Unexpected stream case")}}async#tA(e,t){await Promise.allSettled([e.startCall?.promise,e.pullCall?.promise,e.cancelCall?.promise]);delete this.streamControllers[t]}destroy(){this.#z?.abort();this.#z=null}}async function writeObject(e,t,i,{encrypt:a=null}){const r=a?.createCipherTransform(e.num,e.gen);i.push(`${e.num} ${e.gen} obj\n`);t instanceof Dict?await writeDict(t,i,r):t instanceof BaseStream?await writeStream(t,i,r):(Array.isArray(t)||ArrayBuffer.isView(t))&&await writeArray(t,i,r);i.push("\nendobj\n")}async function writeDict(e,t,i){t.push("<<");for(const a of e.getKeys()){t.push(` /${escapePDFName(a)} `);await writeValue(e.getRaw(a),t,i)}t.push(">>")}async function writeStream(e,t,i){let a=e.getBytes();const{dict:r}=e,[s,n]=await Promise.all([r.getAsync("Filter"),r.getAsync("DecodeParms")]),o=isName(Array.isArray(s)?await r.xref.fetchIfRefAsync(s[0]):s,"FlateDecode");if(a.length>=256||o)try{const e=new CompressionStream("deflate"),t=e.writable.getWriter();await t.ready;t.write(a).then((async()=>{await t.ready;await t.close()})).catch((()=>{}));const i=await new Response(e.readable).arrayBuffer();a=new Uint8Array(i);let g,c;if(s){if(!o){g=Array.isArray(s)?[Name.get("FlateDecode"),...s]:[Name.get("FlateDecode"),s];n&&(c=Array.isArray(n)?[null,...n]:[null,n])}}else g=Name.get("FlateDecode");g&&r.set("Filter",g);c&&r.set("DecodeParms",c)}catch(e){info(`writeStream - cannot compress data: "${e}".`)}let g=bytesToString(a);i&&(g=i.encryptString(g));r.set("Length",g.length);await writeDict(r,t,i);t.push(" stream\n",g,"\nendstream")}async function writeArray(e,t,i){t.push("[");let a=!0;for(const r of e){a?a=!1:t.push(" ");await writeValue(r,t,i)}t.push("]")}async function writeValue(e,t,i){if(e instanceof Name)t.push(`/${escapePDFName(e.name)}`);else if(e instanceof Ref)t.push(`${e.num} ${e.gen} R`);else if(Array.isArray(e)||ArrayBuffer.isView(e))await writeArray(e,t,i);else if("string"==typeof e){i&&(e=i.encryptString(e));t.push(`(${escapeString(e)})`)}else"number"==typeof e?t.push(numberToString(e)):"boolean"==typeof e?t.push(e.toString()):e instanceof Dict?await writeDict(e,t,i):e instanceof BaseStream?await writeStream(e,t,i):null===e?t.push("null"):warn(`Unhandled value in writer: ${typeof e}, please file a bug.`)}function writeInt(e,t,i,a){for(let r=t+i-1;r>i-1;r--){a[r]=255&e;e>>=8}return i+t}function writeString(e,t,i){for(let a=0,r=e.length;a1&&(s=i.documentElement.searchNode([r.at(-1)],0));s?s.childNodes=Array.isArray(a)?a.map((e=>new SimpleDOMNode("value",e))):[new SimpleDOMNode("#text",a)]:warn(`Node not found for path: ${t}`)}const a=[];i.documentElement.dump(a);return a.join("")}(a.fetchIfRef(t).getString(),i)}const r=new StringStream(e);r.dict=new Dict(a);r.dict.set("Type",Name.get("EmbeddedFile"));i.put(t,{data:r})}function getIndexes(e){const t=[];for(const{ref:i}of e)i.num===t.at(-2)+t.at(-1)?t[t.length-1]+=1:t.push(i.num,1);return t}function computeIDs(e,t,i){if(Array.isArray(t.fileIds)&&t.fileIds.length>0){const a=function computeMD5(e,t){const i=Math.floor(Date.now()/1e3),a=t.filename||"",r=[i.toString(),a,e.toString()];let s=r.reduce(((e,t)=>e+t.length),0);for(const e of Object.values(t.info)){r.push(e);s+=e.length}const n=new Uint8Array(s);let o=0;for(const e of r){writeString(e,o,n);o+=e.length}return bytesToString(eo(n))}(e,t);i.set("ID",[t.fileIds[0],a])}}async function incrementalUpdate({originalData:e,xrefInfo:t,changes:i,xref:a=null,hasXfa:r=!1,xfaDatasetsRef:s=null,hasXfaDatasetsEntry:n=!1,needAppearances:o,acroFormRef:g=null,acroForm:c=null,xfaData:l=null,useXrefStream:h=!1}){await async function updateAcroform({xref:e,acroForm:t,acroFormRef:i,hasXfa:a,hasXfaDatasetsEntry:r,xfaDatasetsRef:s,needAppearances:n,changes:o}){!a||r||s||warn("XFA - Cannot save it");if(!n&&(!a||!s||r))return;const g=t.clone();if(a&&!r){const e=t.get("XFA").slice();e.splice(2,0,"datasets");e.splice(3,0,s);g.set("XFA",e)}n&&g.set("NeedAppearances",!0);o.put(i,{data:g})}({xref:a,acroForm:c,acroFormRef:g,hasXfa:r,hasXfaDatasetsEntry:n,xfaDatasetsRef:s,needAppearances:o,changes:i});r&&updateXFA({xfaData:l,xfaDatasetsRef:s,changes:i,xref:a});const C=function getTrailerDict(e,t,i){const a=new Dict(null);a.set("Prev",e.startXRef);const r=e.newRef;if(i){t.put(r,{data:""});a.set("Size",r.num+1);a.set("Type",Name.get("XRef"))}else a.set("Size",r.num);null!==e.rootRef&&a.set("Root",e.rootRef);null!==e.infoRef&&a.set("Info",e.infoRef);null!==e.encryptRef&&a.set("Encrypt",e.encryptRef);return a}(t,i,h),Q=[],E=await async function writeChanges(e,t,i=[]){const a=[];for(const[r,{data:s}]of e.items())if(null!==s&&"string"!=typeof s){await writeObject(r,s,i,t);a.push({ref:r,data:i.join("")});i.length=0}else a.push({ref:r,data:s});return a.sort(((e,t)=>e.ref.num-t.ref.num))}(i,a,Q);let u=e.length;const d=e.at(-1);if(10!==d&&13!==d){Q.push("\n");u+=1}for(const{data:e}of E)null!==e&&Q.push(e);await(h?async function getXRefStreamTable(e,t,i,a,r){const s=[];let n=0,o=0;for(const{ref:e,data:a}of i){let i;n=Math.max(n,t);if(null!==a){i=Math.min(e.gen,65535);s.push([1,t,i]);t+=a.length}else{i=Math.min(e.gen+1,65535);s.push([0,0,i])}o=Math.max(o,i)}a.set("Index",getIndexes(i));const g=[1,getSizeInBytes(n),getSizeInBytes(o)];a.set("W",g);computeIDs(t,e,a);const c=g.reduce(((e,t)=>e+t),0),l=new Uint8Array(c*s.length),h=new Stream(l);h.dict=a;let C=0;for(const[e,t,i]of s){C=writeInt(e,g[0],C,l);C=writeInt(t,g[1],C,l);C=writeInt(i,g[2],C,l)}await writeObject(e.newRef,h,r,{});r.push("startxref\n",t.toString(),"\n%%EOF\n")}(t,u,E,C,Q):async function getXRefTable(e,t,i,a,r){r.push("xref\n");const s=getIndexes(i);let n=0;for(const{ref:e,data:a}of i){if(e.num===s[n]){r.push(`${s[n]} ${s[n+1]}\n`);n+=2}if(null!==a){r.push(`${t.toString().padStart(10,"0")} ${Math.min(e.gen,65535).toString().padStart(5,"0")} n\r\n`);t+=a.length}else r.push(`0000000000 ${Math.min(e.gen+1,65535).toString().padStart(5,"0")} f\r\n`)}computeIDs(t,e,a);r.push("trailer\n");await writeDict(a,r);r.push("\nstartxref\n",t.toString(),"\n%%EOF\n")}(t,u,E,C,Q));const f=Q.reduce(((e,t)=>e+t.length),e.length),p=new Uint8Array(f);p.set(e);let m=e.length;for(const e of Q){writeString(e,m,p);m+=e.length}return p}class PDFWorkerStream{constructor(e){this._msgHandler=e;this._contentLength=null;this._fullRequestReader=null;this._rangeRequestReaders=[]}getFullReader(){assert(!this._fullRequestReader,"PDFWorkerStream.getFullReader can only be called once.");this._fullRequestReader=new PDFWorkerStreamReader(this._msgHandler);return this._fullRequestReader}getRangeReader(e,t){const i=new PDFWorkerStreamRangeReader(e,t,this._msgHandler);this._rangeRequestReaders.push(i);return i}cancelAllRequests(e){this._fullRequestReader?.cancel(e);for(const t of this._rangeRequestReaders.slice(0))t.cancel(e)}}class PDFWorkerStreamReader{constructor(e){this._msgHandler=e;this.onProgress=null;this._contentLength=null;this._isRangeSupported=!1;this._isStreamingSupported=!1;const t=this._msgHandler.sendWithStream("GetReader");this._reader=t.getReader();this._headersReady=this._msgHandler.sendWithPromise("ReaderHeadersReady").then((e=>{this._isStreamingSupported=e.isStreamingSupported;this._isRangeSupported=e.isRangeSupported;this._contentLength=e.contentLength}))}get headersReady(){return this._headersReady}get contentLength(){return this._contentLength}get isStreamingSupported(){return this._isStreamingSupported}get isRangeSupported(){return this._isRangeSupported}async read(){const{value:e,done:t}=await this._reader.read();return t?{value:void 0,done:!0}:{value:e.buffer,done:!1}}cancel(e){this._reader.cancel(e)}}class PDFWorkerStreamRangeReader{constructor(e,t,i){this._msgHandler=i;this.onProgress=null;const a=this._msgHandler.sendWithStream("GetRangeReader",{begin:e,end:t});this._reader=a.getReader()}get isStreamingSupported(){return!1}async read(){const{value:e,done:t}=await this._reader.read();return t?{value:void 0,done:!0}:{value:e.buffer,done:!1}}cancel(e){this._reader.cancel(e)}}class WorkerTask{constructor(e){this.name=e;this.terminated=!1;this._capability=Promise.withResolvers()}get finished(){return this._capability.promise}finish(){this._capability.resolve()}terminate(){this.terminated=!0}ensureNotTerminated(){if(this.terminated)throw new Error("Worker task was terminated")}}class WorkerMessageHandler{static{"undefined"==typeof window&&!i&&"undefined"!=typeof self&&"function"==typeof self.postMessage&&"onmessage"in self&&this.initializeFromPort(self)}static setup(e,t){let i=!1;e.on("test",(t=>{if(!i){i=!0;e.send("test",t instanceof Uint8Array)}}));e.on("configure",(e=>{!function setVerbosityLevel(e){Number.isInteger(e)&&(It=e)}(e.verbosity)}));e.on("GetDocRequest",(e=>this.createDocumentHandler(e,t)))}static createDocumentHandler(e,t){let i,a=!1,r=null;const s=new Set,n=getVerbosityLevel(),{docId:o,apiVersion:g}=e,c="4.10.38";if(g!==c)throw new Error(`The API version "${g}" does not match the Worker version "${c}".`);const l=[];for(const e in[])l.push(e);if(l.length)throw new Error("The `Array.prototype` contains unexpected enumerable properties: "+l.join(", ")+"; thus breaking e.g. `for...in` iteration of `Array`s.");const h=o+"_worker";let C=new MessageHandler(h,o,t);function ensureNotTerminated(){if(a)throw new Error("Worker was terminated")}function startWorkerTask(e){s.add(e)}function finishWorkerTask(e){e.finish();s.delete(e)}async function loadDocument(e){await i.ensureDoc("checkHeader");await i.ensureDoc("parseStartXRef");await i.ensureDoc("parse",[e]);await i.ensureDoc("checkFirstPage",[e]);await i.ensureDoc("checkLastPage",[e]);const t=await i.ensureDoc("isPureXfa");if(t){const e=new WorkerTask("loadXfaFonts");startWorkerTask(e);await Promise.all([i.loadXfaFonts(C,e).catch((e=>{})).then((()=>finishWorkerTask(e))),i.loadXfaImages()])}const[a,r]=await Promise.all([i.ensureDoc("numPages"),i.ensureDoc("fingerprints")]);return{numPages:a,fingerprints:r,htmlForXfa:t?await i.ensureDoc("htmlForXfa"):null}}function setupDoc(e){function onSuccess(e){ensureNotTerminated();C.send("GetDoc",{pdfInfo:e})}function onFailure(e){ensureNotTerminated();if(e instanceof PasswordException){const t=new WorkerTask(`PasswordException: response ${e.code}`);startWorkerTask(t);C.sendWithPromise("PasswordRequest",e).then((function({password:e}){finishWorkerTask(t);i.updatePassword(e);pdfManagerReady()})).catch((function(){finishWorkerTask(t);C.send("DocException",e)}))}else C.send("DocException",wrapReason(e))}function pdfManagerReady(){ensureNotTerminated();loadDocument(!1).then(onSuccess,(function(e){ensureNotTerminated();e instanceof XRefParseException?i.requestLoadedStream().then((function(){ensureNotTerminated();loadDocument(!0).then(onSuccess,onFailure)})):onFailure(e)}))}ensureNotTerminated();(async function getPdfManager({data:e,password:t,disableAutoFetch:i,rangeChunkSize:a,length:s,docBaseUrl:n,enableXfa:g,evaluatorOptions:c}){const l={source:null,disableAutoFetch:i,docBaseUrl:n,docId:o,enableXfa:g,evaluatorOptions:c,handler:C,length:s,password:t,rangeChunkSize:a};if(e){l.source=e;return new LocalPdfManager(l)}const h=new PDFWorkerStream(C),Q=h.getFullReader(),E=Promise.withResolvers();let u,d=[],f=0;Q.headersReady.then((function(){if(Q.isRangeSupported){l.source=h;l.length=Q.contentLength;l.disableAutoFetch||=Q.isStreamingSupported;u=new NetworkPdfManager(l);for(const e of d)u.sendProgressiveData(e);d=[];E.resolve(u);r=null}})).catch((function(e){E.reject(e);r=null}));new Promise((function(e,t){const readChunk=function({value:e,done:i}){try{ensureNotTerminated();if(i){if(!u){const e=arrayBuffersToBytes(d);d=[];s&&e.length!==s&&warn("reported HTTP length is different from actual");l.source=e;u=new LocalPdfManager(l);E.resolve(u)}r=null;return}f+=e.byteLength;Q.isStreamingSupported||C.send("DocProgress",{loaded:f,total:Math.max(f,Q.contentLength||0)});u?u.sendProgressiveData(e):d.push(e);Q.read().then(readChunk,t)}catch(e){t(e)}};Q.read().then(readChunk,t)})).catch((function(e){E.reject(e);r=null}));r=e=>{h.cancelAllRequests(e)};return E.promise})(e).then((function(e){if(a){e.terminate(new AbortException("Worker was terminated."));throw new Error("Worker was terminated")}i=e;i.requestLoadedStream(!0).then((e=>{C.send("DataLoaded",{length:e.bytes.byteLength})}))})).then(pdfManagerReady,onFailure)}C.on("GetPage",(function(e){return i.getPage(e.pageIndex).then((function(e){return Promise.all([i.ensure(e,"rotate"),i.ensure(e,"ref"),i.ensure(e,"userUnit"),i.ensure(e,"view")]).then((function([e,t,i,a]){return{rotate:e,ref:t,refStr:t?.toString()??null,userUnit:i,view:a}}))}))}));C.on("GetPageIndex",(function(e){const t=Ref.get(e.num,e.gen);return i.ensureCatalog("getPageIndex",[t])}));C.on("GetDestinations",(function(e){return i.ensureCatalog("destinations")}));C.on("GetDestination",(function(e){return i.ensureCatalog("getDestination",[e.id])}));C.on("GetPageLabels",(function(e){return i.ensureCatalog("pageLabels")}));C.on("GetPageLayout",(function(e){return i.ensureCatalog("pageLayout")}));C.on("GetPageMode",(function(e){return i.ensureCatalog("pageMode")}));C.on("GetViewerPreferences",(function(e){return i.ensureCatalog("viewerPreferences")}));C.on("GetOpenAction",(function(e){return i.ensureCatalog("openAction")}));C.on("GetAttachments",(function(e){return i.ensureCatalog("attachments")}));C.on("GetDocJSActions",(function(e){return i.ensureCatalog("jsActions")}));C.on("GetPageJSActions",(function({pageIndex:e}){return i.getPage(e).then((function(e){return i.ensure(e,"jsActions")}))}));C.on("GetOutline",(function(e){return i.ensureCatalog("documentOutline")}));C.on("GetOptionalContentConfig",(function(e){return i.ensureCatalog("optionalContentConfig")}));C.on("GetPermissions",(function(e){return i.ensureCatalog("permissions")}));C.on("GetMetadata",(function(e){return Promise.all([i.ensureDoc("documentInfo"),i.ensureCatalog("metadata")])}));C.on("GetMarkInfo",(function(e){return i.ensureCatalog("markInfo")}));C.on("GetData",(function(e){return i.requestLoadedStream().then((function(e){return e.bytes}))}));C.on("GetAnnotations",(function({pageIndex:e,intent:t}){return i.getPage(e).then((function(i){const a=new WorkerTask(`GetAnnotations: page ${e}`);startWorkerTask(a);return i.getAnnotationsData(C,a,t).then((e=>{finishWorkerTask(a);return e}),(e=>{finishWorkerTask(a);throw e}))}))}));C.on("GetFieldObjects",(function(e){return i.ensureDoc("fieldObjects").then((e=>e?.allFields||null))}));C.on("HasJSActions",(function(e){return i.ensureDoc("hasJSActions")}));C.on("GetCalculationOrderIds",(function(e){return i.ensureDoc("calculationOrderIds")}));C.on("SaveDocument",(async function({isPureXfa:e,numPages:t,annotationStorage:a,filename:r}){const s=[i.requestLoadedStream(),i.ensureCatalog("acroForm"),i.ensureCatalog("acroFormRef"),i.ensureDoc("startXRef"),i.ensureDoc("xref"),i.ensureDoc("linearization"),i.ensureCatalog("structTreeRoot")],n=new RefSetCache,o=[],g=e?null:getNewAnnotationsMap(a),[c,l,h,Q,E,u,d]=await Promise.all(s),f=E.trailer.getRaw("Root")||null;let p;if(g){d?await d.canUpdateStructTree({pdfManager:i,xref:E,newAnnotationsByPage:g})&&(p=d):await StructTreeRoot.canCreateStructureTree({catalogRef:f,pdfManager:i,newAnnotationsByPage:g})&&(p=null);const e=AnnotationFactory.generateImages(a.values(),E,i.evaluatorOptions.isOffscreenCanvasSupported),t=void 0===p?o:[];for(const[a,r]of g)t.push(i.getPage(a).then((t=>{const i=new WorkerTask(`Save (editor): page ${a}`);startWorkerTask(i);return t.saveNewAnnotations(C,i,r,e,n).finally((function(){finishWorkerTask(i)}))})));null===p?o.push(Promise.all(t).then((async()=>{await StructTreeRoot.createStructureTree({newAnnotationsByPage:g,xref:E,catalogRef:f,pdfManager:i,changes:n})}))):p&&o.push(Promise.all(t).then((async()=>{await p.updateStructureTree({newAnnotationsByPage:g,pdfManager:i,changes:n})})))}if(e)o.push(i.serializeXfaData(a));else for(let e=0;ee.needAppearances)),b=l instanceof Dict&&l.get("XFA")||null;let D=null,S=!1;if(Array.isArray(b)){for(let e=0,t=b.length;e{E.resetNewTemporaryRef()}))}));C.on("GetOperatorList",(function(e,t){const a=e.pageIndex;i.getPage(a).then((function(i){const r=new WorkerTask(`GetOperatorList: page ${a}`);startWorkerTask(r);const s=n>=bA?Date.now():0;i.getOperatorList({handler:C,sink:t,task:r,intent:e.intent,cacheKey:e.cacheKey,annotationStorage:e.annotationStorage,modifiedIds:e.modifiedIds}).then((function(e){finishWorkerTask(r);s&&info(`page=${a+1} - getOperatorList: time=${Date.now()-s}ms, len=${e.length}`);t.close()}),(function(e){finishWorkerTask(r);r.terminated||t.error(e)}))}))}));C.on("GetTextContent",(function(e,t){const{pageIndex:a,includeMarkedContent:r,disableNormalization:s}=e;i.getPage(a).then((function(e){const i=new WorkerTask("GetTextContent: page "+a);startWorkerTask(i);const o=n>=bA?Date.now():0;e.extractTextContent({handler:C,task:i,sink:t,includeMarkedContent:r,disableNormalization:s}).then((function(){finishWorkerTask(i);o&&info(`page=${a+1} - getTextContent: time=`+(Date.now()-o)+"ms");t.close()}),(function(e){finishWorkerTask(i);i.terminated||t.error(e)}))}))}));C.on("GetStructTree",(function(e){return i.getPage(e.pageIndex).then((function(e){return i.ensure(e,"getStructTree")}))}));C.on("FontFallback",(function(e){return i.fontFallback(e.id,C)}));C.on("Cleanup",(function(e){return i.cleanup(!0)}));C.on("Terminate",(function(e){a=!0;const t=[];if(i){i.terminate(new AbortException("Worker was terminated."));const e=i.cleanup();t.push(e);i=null}else clearGlobalCaches();r?.(new AbortException("Worker was terminated."));for(const e of s){t.push(e.finished);e.terminate()}return Promise.all(t).then((function(){C.destroy();C=null}))}));C.on("Ready",(function(t){setupDoc(e);e=null}));return h}static initializeFromPort(e){const t=new MessageHandler("worker","main",e);this.setup(t,e);t.send("ready",null)}}var uo=__webpack_exports__.WorkerMessageHandler;export{uo as WorkerMessageHandler}; \ No newline at end of file diff --git a/crates/guara-cli/src/serve.rs b/crates/guara-cli/src/serve.rs index ee3e7e1..773459a 100644 --- a/crates/guara-cli/src/serve.rs +++ b/crates/guara-cli/src/serve.rs @@ -3,12 +3,17 @@ use guara_core::service::Engine; use serde_json::json; use std::io::Read; -use tiny_http::{Header, Method, Response, Server}; +use std::sync::Arc; +use tiny_http::{Header, Method, Request, Response, Server, StatusCode}; const INDEX: &str = include_str!("../../../apps/gui/ui/index.html"); const CSS: &str = include_str!("../../../apps/gui/ui/app.css"); const JS: &str = include_str!("../../../apps/gui/ui/app.js"); +const PREVIEW_JS: &str = include_str!("../../../apps/gui/ui/preview.js"); +const LOGO: &str = include_str!("../../../apps/gui/ui/guara-logo.svg"); const ICON: &str = include_str!("../../../apps/gui/ui/guara.svg"); +const PDF_JS: &str = include_str!("../../../apps/gui/ui/vendor/pdf.min.mjs"); +const PDF_WORKER: &str = include_str!("../../../apps/gui/ui/vendor/pdf.worker.min.mjs"); pub fn run(port: u16, open: bool) -> Result<(), String> { let server = Server::http(("127.0.0.1", port)).map_err(|e| e.to_string())?; @@ -19,78 +24,146 @@ pub fn run(port: u16, open: bool) -> Result<(), String> { .unwrap_or(port); let mut tok = [0u8; 16]; getrandom::getrandom(&mut tok).map_err(|e| e.to_string())?; - let token: String = tok.iter().map(|b| format!("{b:02x}")).collect(); + let token: Arc = tok + .iter() + .map(|b| format!("{b:02x}")) + .collect::() + .into(); let url = format!("http://127.0.0.1:{real_port}/?token={token}"); eprintln!("Guará UI em {url}\n(Ctrl+C para encerrar. Para ler discos brutos, rode como administrador/root.)"); if open { open_browser(&url); } - let eng = Engine::new(); - let hosts = [ + let eng = Arc::new(Engine::new()); + let hosts: Arc<[String; 2]> = Arc::new([ format!("127.0.0.1:{real_port}"), format!("localhost:{real_port}"), - ]; - for mut req in server.incoming_requests() { - let host_ok = req - .headers() - .iter() - .any(|h| h.field.equiv("Host") && hosts.iter().any(|x| x == h.value.as_str())); - if !host_ok { - let _ = req.respond(Response::from_string("host inválido").with_status_code(403)); - continue; - } - let path = req.url().split('?').next().unwrap_or("/").to_string(); - let ct = |v: &str| Header::from_bytes("Content-Type", v).unwrap(); - match (req.method().clone(), path.as_str()) { - (Method::Get, "/") | (Method::Get, "/index.html") => { - let _ = req.respond( - Response::from_string(INDEX).with_header(ct("text/html; charset=utf-8")), - ); - } - (Method::Get, "/app.css") => { - let _ = req - .respond(Response::from_string(CSS).with_header(ct("text/css; charset=utf-8"))); - } - (Method::Get, "/app.js") => { - let _ = req.respond( - Response::from_string(JS).with_header(ct("text/javascript; charset=utf-8")), - ); - } - (Method::Get, "/guara.svg") => { - let _ = req.respond(Response::from_string(ICON).with_header(ct("image/svg+xml"))); - } - (Method::Post, p) if p.starts_with("/rpc/") => { - let ok = req - .headers() - .iter() - .any(|h| h.field.equiv("X-Guara-Token") && h.value.as_str() == token); - if !ok { - let _ = - req.respond(Response::from_string("token inválido").with_status_code(401)); - continue; - } - let method = p.trim_start_matches("/rpc/").to_string(); - let mut body = String::new(); - let _ = req.as_reader().take(1 << 20).read_to_string(&mut body); - let params = serde_json::from_str(&body).unwrap_or(json!({})); - let (code, out) = match eng.rpc(&method, params) { - Ok(v) => (200, v), - Err(e) => (400, json!({ "error": e.to_string() })), - }; - let _ = req.respond( - Response::from_string(out.to_string()) - .with_status_code(code) - .with_header(ct("application/json")), - ); - } - _ => { - let _ = req.respond(Response::from_string("não encontrado").with_status_code(404)); - } - } + ]); + for req in server.incoming_requests() { + let (eng, token, hosts) = (eng.clone(), token.clone(), hosts.clone()); + // Uma thread por requisição: vídeo/áudio em streaming não pode travar a interface. + std::thread::spawn(move || handle(req, &eng, &token, &hosts[..])); } Ok(()) } +fn header(name: &str, value: &str) -> Header { + Header::from_bytes(name.as_bytes(), value.as_bytes()).unwrap() +} + +fn handle(mut req: Request, eng: &Engine, token: &str, hosts: &[String]) { + let host_ok = req + .headers() + .iter() + .any(|h| h.field.equiv("Host") && hosts.iter().any(|x| x == h.value.as_str())); + if !host_ok { + let _ = req.respond(Response::from_string("host inválido").with_status_code(403)); + return; + } + let full = req.url().to_string(); + let (path, query) = full.split_once('?').unwrap_or((full.as_str(), "")); + let ct = |v: &str| header("Content-Type", v); + match (req.method().clone(), path) { + (Method::Get, "/") | (Method::Get, "/index.html") => { + let _ = req + .respond(Response::from_string(INDEX).with_header(ct("text/html; charset=utf-8"))); + } + (Method::Get, "/app.css") => { + let _ = + req.respond(Response::from_string(CSS).with_header(ct("text/css; charset=utf-8"))); + } + (Method::Get, "/app.js") => { + let _ = req.respond( + Response::from_string(JS).with_header(ct("text/javascript; charset=utf-8")), + ); + } + (Method::Get, "/preview.js") => { + let _ = req.respond( + Response::from_string(PREVIEW_JS).with_header(ct("text/javascript; charset=utf-8")), + ); + } + (Method::Get, "/guara-logo.svg") => { + let _ = req.respond(Response::from_string(LOGO).with_header(ct("image/svg+xml"))); + } + (Method::Get, "/guara.svg") => { + let _ = req.respond(Response::from_string(ICON).with_header(ct("image/svg+xml"))); + } + (Method::Get, "/vendor/pdf.min.mjs") => { + let _ = req.respond( + Response::from_string(PDF_JS).with_header(ct("text/javascript; charset=utf-8")), + ); + } + (Method::Get, "/vendor/pdf.worker.min.mjs") => { + let _ = req.respond( + Response::from_string(PDF_WORKER).with_header(ct("text/javascript; charset=utf-8")), + ); + } + (Method::Get, p) if p.starts_with("/file/") => { + let tok_ok = query + .split('&') + .any(|kv| kv.strip_prefix("t=") == Some(token)); + if !tok_ok { + let _ = req.respond(Response::from_string("token inválido").with_status_code(401)); + return; + } + let mut it = p.trim_start_matches("/file/").split('/'); + let (job, id) = ( + it.next().unwrap_or(""), + it.next().and_then(|s| s.parse::().ok()), + ); + let range = req + .headers() + .iter() + .find(|h| h.field.equiv("Range")) + .map(|h| h.value.as_str().to_string()); + let Some(id) = id else { + let _ = req.respond(Response::from_string("id inválido").with_status_code(400)); + return; + }; + match eng.file_slice(job, id, range.as_deref()) { + Ok(slice) => { + let (status, len) = (slice.status(), slice.len() as usize); + let headers: Vec
    = + slice.headers().iter().map(|(k, v)| header(k, v)).collect(); + let resp = + Response::new(StatusCode(status), headers, slice.reader(), Some(len), None); + let _ = req.respond(resp); + } + Err(code) => { + let _ = + req.respond(Response::from_string("indisponível").with_status_code(code)); + } + } + } + (Method::Post, p) if p.starts_with("/rpc/") => { + let ok = req + .headers() + .iter() + .any(|h| h.field.equiv("X-Guara-Token") && h.value.as_str() == token); + if !ok { + let _ = req.respond(Response::from_string("token inválido").with_status_code(401)); + return; + } + let method = p.trim_start_matches("/rpc/").to_string(); + let mut body = String::new(); + let _ = req.as_reader().take(1 << 20).read_to_string(&mut body); + let params = serde_json::from_str(&body).unwrap_or(json!({})); + let (code, out) = match eng.rpc(&method, params) { + Ok(v) => (200, v), + Err(e) => (400, json!({ "error": e.to_string() })), + }; + let _ = req.respond( + Response::from_string(out.to_string()) + .with_status_code(code) + .with_header(ct("application/json")), + ); + } + _ => { + let _ = req.respond(Response::from_string("não encontrado").with_status_code(404)); + } + } +} + fn open_browser(url: &str) { #[cfg(target_os = "linux")] let _ = std::process::Command::new("xdg-open").arg(url).spawn(); diff --git a/crates/guara-core/src/lib.rs b/crates/guara-core/src/lib.rs index 010e5f6..3d3d79a 100644 --- a/crates/guara-core/src/lib.rs +++ b/crates/guara-core/src/lib.rs @@ -12,6 +12,7 @@ pub mod partition; pub mod recover; pub mod scan; pub mod service; +pub mod settings; pub mod signatures; pub mod source; pub mod types; diff --git a/crates/guara-core/src/partition.rs b/crates/guara-core/src/partition.rs index 92f6aa4..7c73465 100644 --- a/crates/guara-core/src/partition.rs +++ b/crates/guara-core/src/partition.rs @@ -92,17 +92,16 @@ fn detect_fat(b: &[u8]) -> Option<(FsKind, Option)> { let root_secs = (root_entries * 32).div_ceil(bps); let data = total.saturating_sub(reserved + nfats * fatsz + root_secs); let clusters = data / spc; - let kind = if clusters < 4085 { - FsKind::Fat12 - } else if clusters < 65525 { - FsKind::Fat16 - } else { + // O layout do BPB manda: raiz fixa zerada + FAT de 32 bits = FAT32, mesmo com poucos + // clusters (mkfs.vfat -F 32 em mídias pequenas gera isso e o Linux monta). + let is32 = root_entries == 0 && fat16 == 0 && fat32 != 0; + let kind = if is32 { FsKind::Fat32 + } else if clusters < 4085 { + FsKind::Fat12 + } else { + FsKind::Fat16 }; - // Coerência: FAT32 tem root_entries == 0 e fat16 == 0. - if (kind == FsKind::Fat32) != (root_entries == 0 && fat16 == 0) { - return None; - } Some((kind, Some(total * bps))) } diff --git a/crates/guara-core/src/recover.rs b/crates/guara-core/src/recover.rs index 0c6fa5c..8a14def 100644 --- a/crates/guara-core/src/recover.rs +++ b/crates/guara-core/src/recover.rs @@ -210,3 +210,42 @@ pub fn write_file(src: &dyn Source, f: &Found, path: &Path) -> Result { .map(|b| format!("{b:02x}")) .collect()) } + +/// Lê `buf.len()` bytes do conteúdo lógico de um achado a partir de `offset` +/// (usado para streaming/pré-visualização sem gravar em disco). +pub fn read_found_at( + src: &dyn Source, + f: &Found, + offset: u64, + buf: &mut [u8], +) -> std::io::Result { + if offset >= f.size || buf.is_empty() { + return Ok(0); + } + let want = buf.len().min((f.size - offset) as usize); + match &f.data { + DataLoc::Resident { bytes } => { + let o = offset as usize; + let n = want.min(bytes.len().saturating_sub(o)); + buf[..n].copy_from_slice(&bytes[o..o + n]); + Ok(n) + } + DataLoc::Extents { extents } => { + let mut pos = 0u64; + for e in extents { + let elen = e.len.min(f.size.saturating_sub(pos)); + if offset < pos + elen { + let within = offset - pos; + let n = want.min((elen - within) as usize); + if e.sparse { + buf[..n].fill(0); + return Ok(n); + } + return src.read_at(e.offset + within, &mut buf[..n]); + } + pos += elen; + } + Ok(0) + } + } +} diff --git a/crates/guara-core/src/service.rs b/crates/guara-core/src/service.rs index b924bda..1ca06e4 100644 --- a/crates/guara-core/src/service.rs +++ b/crates/guara-core/src/service.rs @@ -278,37 +278,18 @@ impl Engine { Ok(json!({ "total": total, "items": page })) } - pub fn preview(&self, id: &str, file: u64) -> Result { + /// Achado + origem para leitura posicional (streaming de pré-visualização). + pub fn open_file(&self, id: &str, file: u64) -> Result<(Found, Arc)> { let j = self.job(id)?; - let (f, src) = { - let s = j.st.lock().unwrap(); - let i = *s - .index - .get(&file) - .ok_or_else(|| Error::msg("arquivo não encontrado"))?; - ( - s.found[i].clone(), - j.src.clone().ok_or_else(|| Error::msg("sem origem"))?, - ) - }; - let mime = match f.ext.as_str() { - "jpg" | "jpeg" => "image/jpeg", - "png" => "image/png", - "gif" => "image/gif", - "webp" => "image/webp", - "bmp" => "image/bmp", - _ => return Ok(json!({ "mime": null })), - }; - if f.size > 8 * 1024 * 1024 { - return Ok(json!({ "mime": null, "reason": "grande demais para pré-visualizar" })); - } - let tmp = - std::env::temp_dir().join(format!("guara-preview-{}-{}", std::process::id(), f.id)); - let r = recover::write_file(src.as_ref(), &f, &tmp); - let bytes = std::fs::read(&tmp); - let _ = std::fs::remove_file(&tmp); - r?; - Ok(json!({ "mime": mime, "base64": base64(&bytes?) })) + let s = j.st.lock().unwrap(); + let i = *s + .index + .get(&file) + .ok_or_else(|| Error::msg("arquivo não encontrado"))?; + Ok(( + s.found[i].clone(), + j.src.clone().ok_or_else(|| Error::msg("sem origem"))?, + )) } // ---------------------------------------------------------------- recuperação @@ -534,12 +515,12 @@ impl Engine { .unwrap_or_default(); self.results(&s("job")?, &q)? } - "preview" => self.preview( - &s("job")?, - p.get("id") - .and_then(|v| v.as_u64()) - .ok_or_else(|| Error::msg("id ausente"))?, - )?, + "settings_get" => json!(crate::settings::load()), + "settings_set" => { + let st: crate::settings::Settings = serde_json::from_value(p.clone())?; + crate::settings::save(&st)?; + json!({}) + } "recover_start" => { let ids: Option> = p .get("ids") @@ -697,3 +678,175 @@ pub fn base64(data: &[u8]) -> String { } out } + +/// Tipo MIME para servir a pré-visualização. Formatos que poderiam executar +/// script (HTML/SVG/XML) saem como texto puro. +pub fn mime_for(ext: &str) -> &'static str { + match ext.to_ascii_lowercase().as_str() { + "jpg" | "jpeg" => "image/jpeg", + "png" => "image/png", + "gif" => "image/gif", + "webp" => "image/webp", + "bmp" => "image/bmp", + "avif" => "image/avif", + "ico" => "image/x-icon", + "mp4" | "m4v" => "video/mp4", + "mov" => "video/quicktime", + "webm" => "video/webm", + "mkv" => "video/x-matroska", + "mp3" => "audio/mpeg", + "wav" => "audio/wav", + "ogg" | "opus" => "audio/ogg", + "m4a" => "audio/mp4", + "aac" => "audio/aac", + "flac" => "audio/flac", + "pdf" => "application/pdf", + _ => "application/octet-stream", + } +} + +/// Trecho de um arquivo achado, pronto para responder a uma requisição HTTP +/// (com suporte a `Range`) tanto no modo `guara ui` quanto no app Tauri. +pub struct FileSlice { + found: Found, + src: Arc, + pub start: u64, + /// Inclusivo. + pub end: u64, + pub total: u64, + pub partial: bool, +} + +impl FileSlice { + pub fn len(&self) -> u64 { + if self.total == 0 { + 0 + } else { + self.end - self.start + 1 + } + } + pub fn is_empty(&self) -> bool { + self.len() == 0 + } + pub fn status(&self) -> u16 { + if self.partial { + 206 + } else { + 200 + } + } + pub fn headers(&self) -> Vec<(&'static str, String)> { + let mut h = vec![ + ("Content-Type", mime_for(&self.found.ext).to_string()), + ("Accept-Ranges", "bytes".into()), + ("Cache-Control", "no-store".into()), + ("X-Content-Type-Options", "nosniff".into()), + // Conteúdo recuperado é não confiável: nunca executa script nem carrega nada. + ( + "Content-Security-Policy", + "sandbox; default-src 'none'".into(), + ), + ("Access-Control-Allow-Origin", "*".into()), + ("Content-Disposition", "inline".into()), + ]; + if self.partial { + h.push(( + "Content-Range", + format!("bytes {}-{}/{}", self.start, self.end, self.total), + )); + } + h + } + /// Lê o trecho inteiro em memória (limitado a `cap` bytes). + pub fn read_all(&self, cap: u64) -> std::io::Result> { + let n = self.len().min(cap) as usize; + let mut out = vec![0u8; n]; + let mut got = 0; + while got < n { + let r = crate::recover::read_found_at( + self.src.as_ref(), + &self.found, + self.start + got as u64, + &mut out[got..], + )?; + if r == 0 { + break; + } + got += r; + } + out.truncate(got); + Ok(out) + } + pub fn reader(self) -> FileSliceReader { + FileSliceReader { + pos: self.start, + slice: self, + } + } +} + +pub struct FileSliceReader { + slice: FileSlice, + pos: u64, +} + +impl std::io::Read for FileSliceReader { + fn read(&mut self, buf: &mut [u8]) -> std::io::Result { + if self.pos > self.slice.end || self.slice.total == 0 { + return Ok(0); + } + let left = (self.slice.end - self.pos + 1) as usize; + let n = buf.len().min(left).min(1 << 20); + let r = crate::recover::read_found_at( + self.slice.src.as_ref(), + &self.slice.found, + self.pos, + &mut buf[..n], + )?; + self.pos += r as u64; + Ok(r) + } +} + +impl Engine { + /// Resolve `/file//` + cabeçalho Range. `Err(status)` em caso de falha. + pub fn file_slice( + &self, + job: &str, + id: u64, + range: Option<&str>, + ) -> std::result::Result { + let (found, src) = self.open_file(job, id).map_err(|_| 404u16)?; + let total = found.size; + let (mut start, mut end, mut partial) = (0u64, total.saturating_sub(1), false); + if let Some(spec) = range.and_then(|r| r.strip_prefix("bytes=")) { + let spec = spec.split(',').next().unwrap_or(""); + if let Some((a, b)) = spec.split_once('-') { + let parsed = match (a.trim().parse::(), b.trim().parse::()) { + (Ok(a), Ok(b)) => Some((a, b.min(total.saturating_sub(1)))), + (Ok(a), Err(_)) if b.trim().is_empty() => Some((a, total.saturating_sub(1))), + (Err(_), Ok(n)) if a.trim().is_empty() && n > 0 => { + Some((total.saturating_sub(n), total.saturating_sub(1))) + } + _ => None, + }; + if let Some((a, b)) = parsed { + if a >= total || a > b { + return Err(416); + } + start = a; + end = b; + partial = true; + } + } + } + Ok(FileSlice { + found, + src, + start, + end, + total, + partial, + }) + } +} diff --git a/crates/guara-core/src/settings.rs b/crates/guara-core/src/settings.rs new file mode 100644 index 0000000..7f86780 --- /dev/null +++ b/crates/guara-core/src/settings.rs @@ -0,0 +1,118 @@ +//! Preferências do usuário (tema etc.), compartilhadas entre o app normal e o +//! reiniciado como administrador. + +use crate::error::Result; +use serde::{Deserialize, Serialize}; +use std::path::PathBuf; + +#[derive(Debug, Clone, Serialize, Deserialize)] +pub struct Settings { + /// "auto", "light" ou "dark". + pub theme: String, +} + +impl Default for Settings { + fn default() -> Self { + Self { + theme: "auto".into(), + } + } +} + +/// Pasta de configuração do usuário *real*, mesmo quando rodando como root +/// via sudo/pkexec (para o tema não "mudar" ao elevar privilégios). +pub fn config_dir() -> PathBuf { + if let Ok(d) = std::env::var("GUARA_CONFIG_DIR") { + if !d.is_empty() { + return PathBuf::from(d); + } + } + #[cfg(unix)] + { + if let Some(home) = invoking_user_home() { + return default_dir(home); + } + } + default_dir(PathBuf::from( + std::env::var("HOME") + .or_else(|_| std::env::var("USERPROFILE")) + .unwrap_or_default(), + )) +} + +fn default_dir(home: PathBuf) -> PathBuf { + #[cfg(windows)] + { + if let Ok(a) = std::env::var("APPDATA") { + return PathBuf::from(a).join("Guara"); + } + home.join("AppData").join("Roaming").join("Guara") + } + #[cfg(target_os = "macos")] + { + home.join("Library") + .join("Application Support") + .join("Guara") + } + #[cfg(all(unix, not(target_os = "macos")))] + { + match std::env::var("XDG_CONFIG_HOME") { + Ok(x) + if !x.is_empty() + && std::env::var("SUDO_USER").is_err() + && std::env::var("PKEXEC_UID").is_err() => + { + PathBuf::from(x).join("guara") + } + _ => home.join(".config").join("guara"), + } + } +} + +/// Se somos root por sudo/pkexec, a home de quem invocou. +#[cfg(unix)] +fn invoking_user_home() -> Option { + // SAFETY: geteuid não tem pré-condições. + if unsafe { libc::geteuid() } != 0 { + return None; + } + let user = std::env::var("SUDO_USER").ok().filter(|u| u != "root"); + let uid = std::env::var("PKEXEC_UID").ok(); + let passwd = std::fs::read_to_string("/etc/passwd").ok()?; + for l in passwd.lines() { + let f: Vec<&str> = l.split(':').collect(); + if f.len() >= 6 && (user.as_deref() == Some(f[0]) || uid.as_deref() == Some(f[2])) { + return Some(PathBuf::from(f[5])); + } + } + None +} + +fn file() -> PathBuf { + config_dir().join("settings.json") +} + +pub fn load() -> Settings { + std::fs::read(file()) + .ok() + .and_then(|b| serde_json::from_slice(&b).ok()) + .unwrap_or_default() +} + +pub fn save(s: &Settings) -> Result<()> { + let dir = config_dir(); + std::fs::create_dir_all(&dir)?; + let path = file(); + std::fs::write(&path, serde_json::to_vec_pretty(s)?)?; + #[cfg(unix)] + { + // Como root, devolve a posse ao dono da pasta para o app normal conseguir regravar. + use std::os::unix::fs::MetadataExt; + if unsafe { libc::geteuid() } == 0 { + if let Ok(m) = std::fs::metadata(&dir) { + let _ = std::os::unix::fs::chown(&path, Some(m.uid()), Some(m.gid())); + } + } + } + Ok(()) +} diff --git a/crates/guara-core/tests/disk.rs b/crates/guara-core/tests/disk.rs index 047c0b2..e06a5b6 100644 --- a/crates/guara-core/tests/disk.rs +++ b/crates/guara-core/tests/disk.rs @@ -231,3 +231,74 @@ fn pausa_e_retoma_encontra_o_mesmo() { b.sort(); assert_eq!(a, b); } + +/// Streaming de pré-visualização: Range devolve exatamente os bytes do arquivo recuperado. +#[test] +fn file_slice_com_range_bate_com_o_arquivo_recuperado() { + use std::io::Read; + let Some(dir) = fixtures() else { return }; + let path = dir.join("ntfs.img"); + let eng = service::Engine::new(); + let job = eng + .start_scan( + path.to_str().unwrap(), + ScanOptions { + mode: ScanMode::Quick, + ..Default::default() + }, + ) + .unwrap(); + loop { + let st = eng.status(&job).unwrap(); + if st["status"] != "running" { + break; + } + std::thread::sleep(std::time::Duration::from_millis(20)); + } + let res = eng + .results( + &job, + &service::Query { + query: Some("relatorio.pdf".into()), + ..Default::default() + }, + ) + .unwrap(); + let id = res["items"][0]["id"].as_u64().unwrap(); + let size = res["items"][0]["size"].as_u64().unwrap(); + let want = expected(&dir, "ntfs") + .into_iter() + .find(|(_, p)| p.ends_with("relatorio.pdf")) + .unwrap() + .0; + + let full = eng.file_slice(&job, id, None).unwrap(); + assert_eq!((full.status(), full.len()), (200, size)); + let mut all = vec![]; + full.reader().read_to_end(&mut all).unwrap(); + assert_eq!(sha256(&all), want); + + let part = eng.file_slice(&job, id, Some("bytes=100-199")).unwrap(); + assert_eq!((part.status(), part.len()), (206, 100)); + assert_eq!(part.read_all(1 << 20).unwrap(), all[100..200]); + let tail = eng.file_slice(&job, id, Some("bytes=-50")).unwrap(); + assert_eq!(tail.read_all(1 << 20).unwrap(), all[all.len() - 50..]); + assert_eq!( + eng.file_slice(&job, id, Some(&format!("bytes={size}-"))) + .err(), + Some(416) + ); + assert_eq!(eng.file_slice(&job, 999_999, None).err(), Some(404)); +} + +#[test] +fn configuracoes_de_tema_persistem() { + let dir = tempfile::tempdir().unwrap(); + std::env::set_var("GUARA_CONFIG_DIR", dir.path()); + assert_eq!(settings::load().theme, "auto"); + settings::save(&settings::Settings { + theme: "dark".into(), + }) + .unwrap(); + assert_eq!(settings::load().theme, "dark"); +} diff --git a/crates/guara-core/tests/recovery.rs b/crates/guara-core/tests/recovery.rs index 86e62dd..4131aca 100644 --- a/crates/guara-core/tests/recovery.rs +++ b/crates/guara-core/tests/recovery.rs @@ -86,3 +86,58 @@ fn varredura_rapida_nao_faz_carving() { 7 ); } + +/// Regressão: mkfs.vfat -F 32 em mídia pequena (< 65525 clusters) é FAT32 pelo BPB. +#[test] +fn fat32_pequeno_com_poucos_clusters_e_reconhecido() { + use std::process::Command; + let dir = tempfile::tempdir().unwrap(); + let img = dir.path().join("p.img"); + let ok = Command::new("truncate") + .args(["-s", "32M"]) + .arg(&img) + .status() + .map(|s| s.success()) + .unwrap_or(false) + && Command::new("mkfs.vfat") + .args(["-F", "32"]) + .arg(&img) + .output() + .map(|o| o.status.success()) + .unwrap_or(false); + let file = dir.path().join("arquivo.txt"); + std::fs::write(&file, b"conteudo de teste\n".repeat(500)).unwrap(); + let ok = ok + && Command::new("mcopy") + .arg("-i") + .arg(&img) + .arg(&file) + .arg("::/") + .status() + .map(|s| s.success()) + .unwrap_or(false) + && Command::new("mdel") + .arg("-i") + .arg(&img) + .arg("::/arquivo.txt") + .status() + .map(|s| s.success()) + .unwrap_or(false); + if !ok { + eprintln!("SKIP: mtools/dosfstools ausentes"); + return; + } + let res = scan_path( + &img, + &ScanOptions { + mode: ScanMode::Quick, + ..Default::default() + }, + ); + let layout = res.layout.unwrap(); + assert_eq!(layout.partitions[0].fs, FsKind::Fat32); + assert_eq!(res.found.len(), 1); + let out = tempfile::tempdir().unwrap(); + recover_all(&img, &res.found, out.path()); + assert!(hashes_in(out.path()).contains_key(&sha256(&b"conteudo de teste\n".repeat(500)))); +} diff --git a/scripts/make-logo.py b/scripts/make-logo.py new file mode 100644 index 0000000..28aa196 --- /dev/null +++ b/scripts/make-logo.py @@ -0,0 +1,108 @@ +#!/usr/bin/env python3 +"""Gera a identidade visual do Guará: pixels de tamanhos distintos, soltos à esquerda, +que se juntam até formar a cabeça de um lobo-guará à direita. + +Uso: python3 scripts/make-logo.py (escreve apps/gui/ui/guara.svg e guara-logo.svg) +Determinístico (semente fixa): a mesma execução gera o mesmo desenho. +""" +import math +import random +from pathlib import Path + +OUT = Path(__file__).resolve().parent.parent / "apps/gui/ui" + +# Cabeça de lobo-guará de perfil, olhando para a direita (coordenadas 0..100). +WOLF = [ + (-18, 100), (-2, 76), (10, 62), (16, 54), (21, 2), (30, 24), (41, 40), (47, 38), (57, 0), (62, 34), (72, 46), + (88, 55), (100, 60), (100, 69), (88, 73), (74, 77), (68, 84), (62, 100), (40, 100), +] +EYE = (63, 54, 2.4) # x, y, raio (em coords do lobo) + + +def inside(poly, x, y): + c = False + j = len(poly) - 1 + for i in range(len(poly)): + xi, yi = poly[i] + xj, yj = poly[j] + if (yi > y) != (yj > y) and x < (xj - xi) * (y - yi) / (yj - yi) + xi: + c = not c + j = i + return c + + +def lerp(a, b, t): + return a + (b - a) * t + + +def hexmix(c1, c2, t): + a = [int(c1[i:i + 2], 16) for i in (1, 3, 5)] + b = [int(c2[i:i + 2], 16) for i in (1, 3, 5)] + return "#" + "".join(f"{round(lerp(x, y, t)):02x}" for x, y in zip(a, b)) + + +def smooth(t): + t = max(0.0, min(1.0, t)) + return t * t * (3 - 2 * t) + + +def pixels(x_from, x_to, c_left, c_right, seed=7): + rnd = random.Random(seed) + cell = 4.0 + out = [] + wolf_x0, wolf_w = 62, 98 # onde o lobo começa e quanto mede (em unidades do desenho) + for cy in range(25): + for cx in range(40): + x, y = cx * cell + cell / 2, cy * cell + cell / 2 + if not (x_from <= x <= x_to): + continue + t = smooth((x - 14) / 96) + wx, wy = (x - wolf_x0) * 100 / wolf_w, y + in_wolf = inside(WOLF, wx, wy) and math.hypot(wx - EYE[0], wy - EYE[1]) > EYE[2] + if in_wolf: + keep = 0.06 + 0.94 * t ** 1.15 + if t > 0.9: + keep = 1.0 + if rnd.random() > keep: + continue + size = cell * (0.28 + 0.72 * t ** 0.9) * (1 if t > 0.9 else rnd.uniform(0.65, 1.15)) + jit = (1 - t) ** 1.4 * cell * 0.9 + else: + if rnd.random() > 0.2 * (1 - t) ** 1.2 or x > 96: + continue + size = cell * rnd.uniform(0.22, 0.85) + jit = cell * 0.9 + size = min(size, cell * 1.05) + px = x - size / 2 + rnd.uniform(-jit, jit) + py = y - size / 2 + rnd.uniform(-jit, jit) + col = hexmix(c_left, c_right, max(0.0, min(1.0, t * 1.05 + rnd.uniform(-0.12, 0.12)))) + op = 0.5 + 0.5 * t if not in_wolf or t < 0.9 else 1 + out.append((px, py, size, col, op)) + return out + + +def rects(px, dx=0.0, dy=0.0): + return "".join( + f'' + for x, y, s, c, o in px + ) + + +def main(): + # Marca larga (fundo transparente): ciano claro -> verde-azulado profundo. + wide = pixels(0, 160, "#67e8f9", "#0f766e") + (OUT / "guara-logo.svg").write_text( + '' + rects(wide) + "\n" + ) + # Ícone quadrado: fundo verde-azulado escuro, pixels claros. + icon_px = pixels(30, 160, "#99f6e4", "#f0fdfa", seed=11) + (OUT / "guara.svg").write_text( + '' + '' + '' + '' + rects(icon_px) + "\n" + ) + + +if __name__ == "__main__": + main()