From 66e086b78f6c80f1cb1052e199818f8cdaa45487 Mon Sep 17 00:00:00 2001 From: Wenzhuo Liu Date: Tue, 7 Jan 2025 23:51:36 +0800 Subject: [PATCH] chore: upgrade typst template (#86) * chore: upgrade template * remove submodule and directly embed code * chore: bump to 0.12 * better fonts and source code block * breakable detail, compact link array, list indent * ci: add font download * zebra style code block * checkin crimson text font * upgrade to latest mitex --- .github/workflows/auto-release-typst.yml | 3 +- .github/workflows/test-build-typst.yml | 5 +- .gitmodules | 3 - oi-wiki-export-typst/constants.typ | 22 +- .../fonts/CrimsonText-Bold.ttf | Bin 0 -> 112116 bytes .../fonts/CrimsonText-BoldItalic.ttf | Bin 0 -> 114268 bytes .../fonts/CrimsonText-Italic.ttf | Bin 0 -> 109440 bytes .../fonts/CrimsonText-Regular.ttf | Bin 0 -> 106512 bytes .../fonts/CrimsonText-SemiBold.ttf | Bin 0 -> 110420 bytes .../fonts/CrimsonText-SemiBoldItalic.ttf | Bin 0 -> 111332 bytes oi-wiki-export-typst/fonts/OFL.txt | 93 + oi-wiki-export-typst/oi-wiki-export.typ | 104 +- oi-wiki-export-typst/oi-wiki.typ | 334 +- oi-wiki-export-typst/pymdownx-details.typ | 122 +- remark-typst | 1 - remark-typst/.gitignore | 67 + remark-typst/.gitmodules | 6 + remark-typst/LICENSE | 201 + remark-typst/README.md | 49 + remark-typst/escape-typst/.babelrc | 13 + remark-typst/escape-typst/.editorconfig | 4 + remark-typst/escape-typst/.gitattributes | 10 + .../escape-typst/.github/dependabot.yml | 7 + .../.github/workflows/auto-merge.yml | 15 + .../escape-typst/.github/workflows/tests.yml | 41 + remark-typst/escape-typst/.gitignore | 19 + remark-typst/escape-typst/.prettierignore | 1 + remark-typst/escape-typst/LICENSE.md | 18 + remark-typst/escape-typst/README.md | 74 + remark-typst/escape-typst/package.json | 74 + remark-typst/escape-typst/src/index.js | 86 + remark-typst/escape-typst/src/index.test.js | 132 + remark-typst/index.js | 19 + remark-typst/lib/compiler.js | 443 + remark-typst/lib/util.js | 123 + remark-typst/package-lock.json | 7656 +++++++++++++++++ remark-typst/package.json | 23 + remark-typst/remark-mathjax/.gitignore | 1 + remark-typst/remark-mathjax/.npmrc | 2 + remark-typst/remark-mathjax/browser.d.ts | 12 + remark-typst/remark-mathjax/browser.js | 5 + remark-typst/remark-mathjax/chtml.d.ts | 43 + remark-typst/remark-mathjax/chtml.js | 5 + remark-typst/remark-mathjax/index.d.ts | 48 + remark-typst/remark-mathjax/index.js | 1 + .../remark-mathjax/lib/adaptor.browser.js | 1 + remark-typst/remark-mathjax/lib/adaptor.js | 8 + remark-typst/remark-mathjax/lib/browser.js | 32 + remark-typst/remark-mathjax/lib/chtml.js | 24 + remark-typst/remark-mathjax/lib/core.js | 72 + .../lib/create-adapter.browser.js | 1 + .../lib/create-adapter.default.js | 6 + .../remark-mathjax/lib/create-plugin.js | 277 + .../remark-mathjax/lib/create-renderer.js | 66 + remark-typst/remark-mathjax/lib/input.js | 8 + .../remark-mathjax/lib/output-chtml.js | 7 + remark-typst/remark-mathjax/lib/output-svg.js | 7 + remark-typst/remark-mathjax/lib/renderer.js | 44 + remark-typst/remark-mathjax/lib/svg.js | 23 + remark-typst/remark-mathjax/license | 21 + remark-typst/remark-mathjax/package-lock.json | 812 ++ remark-typst/remark-mathjax/package.json | 82 + remark-typst/remark-mathjax/readme.md | 374 + remark-typst/remark-mathjax/svg.js | 5 + remark-typst/remark-mathjax/test.ts | 42 + remark-typst/remark-mathjax/tsconfig.json | 3 + remark-typst/remark-mathjax/tslint.json | 7 + 67 files changed, 11472 insertions(+), 335 deletions(-) create mode 100644 oi-wiki-export-typst/fonts/CrimsonText-Bold.ttf create mode 100644 oi-wiki-export-typst/fonts/CrimsonText-BoldItalic.ttf create mode 100644 oi-wiki-export-typst/fonts/CrimsonText-Italic.ttf create mode 100644 oi-wiki-export-typst/fonts/CrimsonText-Regular.ttf create mode 100644 oi-wiki-export-typst/fonts/CrimsonText-SemiBold.ttf create mode 100644 oi-wiki-export-typst/fonts/CrimsonText-SemiBoldItalic.ttf create mode 100644 oi-wiki-export-typst/fonts/OFL.txt delete mode 160000 remark-typst create mode 100644 remark-typst/.gitignore create mode 100644 remark-typst/.gitmodules create mode 100644 remark-typst/LICENSE create mode 100644 remark-typst/README.md create mode 100644 remark-typst/escape-typst/.babelrc create mode 100644 remark-typst/escape-typst/.editorconfig create mode 100644 remark-typst/escape-typst/.gitattributes create mode 100644 remark-typst/escape-typst/.github/dependabot.yml create mode 100644 remark-typst/escape-typst/.github/workflows/auto-merge.yml create mode 100644 remark-typst/escape-typst/.github/workflows/tests.yml create mode 100644 remark-typst/escape-typst/.gitignore create mode 100644 remark-typst/escape-typst/.prettierignore create mode 100644 remark-typst/escape-typst/LICENSE.md create mode 100644 remark-typst/escape-typst/README.md create mode 100644 remark-typst/escape-typst/package.json create mode 100644 remark-typst/escape-typst/src/index.js create mode 100644 remark-typst/escape-typst/src/index.test.js create mode 100644 remark-typst/index.js create mode 100644 remark-typst/lib/compiler.js create mode 100644 remark-typst/lib/util.js create mode 100644 remark-typst/package-lock.json create mode 100644 remark-typst/package.json create mode 100644 remark-typst/remark-mathjax/.gitignore create mode 100644 remark-typst/remark-mathjax/.npmrc create mode 100644 remark-typst/remark-mathjax/browser.d.ts create mode 100644 remark-typst/remark-mathjax/browser.js create mode 100644 remark-typst/remark-mathjax/chtml.d.ts create mode 100644 remark-typst/remark-mathjax/chtml.js create mode 100644 remark-typst/remark-mathjax/index.d.ts create mode 100644 remark-typst/remark-mathjax/index.js create mode 100644 remark-typst/remark-mathjax/lib/adaptor.browser.js create mode 100644 remark-typst/remark-mathjax/lib/adaptor.js create mode 100644 remark-typst/remark-mathjax/lib/browser.js create mode 100644 remark-typst/remark-mathjax/lib/chtml.js create mode 100644 remark-typst/remark-mathjax/lib/core.js create mode 100644 remark-typst/remark-mathjax/lib/create-adapter.browser.js create mode 100644 remark-typst/remark-mathjax/lib/create-adapter.default.js create mode 100644 remark-typst/remark-mathjax/lib/create-plugin.js create mode 100644 remark-typst/remark-mathjax/lib/create-renderer.js create mode 100644 remark-typst/remark-mathjax/lib/input.js create mode 100644 remark-typst/remark-mathjax/lib/output-chtml.js create mode 100644 remark-typst/remark-mathjax/lib/output-svg.js create mode 100644 remark-typst/remark-mathjax/lib/renderer.js create mode 100644 remark-typst/remark-mathjax/lib/svg.js create mode 100644 remark-typst/remark-mathjax/license create mode 100644 remark-typst/remark-mathjax/package-lock.json create mode 100644 remark-typst/remark-mathjax/package.json create mode 100644 remark-typst/remark-mathjax/readme.md create mode 100644 remark-typst/remark-mathjax/svg.js create mode 100644 remark-typst/remark-mathjax/test.ts create mode 100644 remark-typst/remark-mathjax/tsconfig.json create mode 100644 remark-typst/remark-mathjax/tslint.json diff --git a/.github/workflows/auto-release-typst.yml b/.github/workflows/auto-release-typst.yml index 386fe25..1c74c84 100644 --- a/.github/workflows/auto-release-typst.yml +++ b/.github/workflows/auto-release-typst.yml @@ -26,7 +26,7 @@ jobs: - uses: typst-community/setup-typst@v3 with: - typst-version: 0.11.1 + typst-version: 0.12.0 cache-dependency-path: oi-wiki-export-typst/oi-wiki.typ - name: Pre-build operations @@ -38,6 +38,7 @@ jobs: mkdir .fonts curl -L $(gh api /repos/lxgw/LxgwWenKai/releases/latest -q '.assets[].browser_download_url | select(contains("tar.gz"))') | tar xfz - -C .fonts + cp -r oi-wiki-export-typst/fonts/* .fonts git clone https://github.com/OI-wiki/OI-wiki.git --depth=1 --single-branch -b master cd remark-typst diff --git a/.github/workflows/test-build-typst.yml b/.github/workflows/test-build-typst.yml index 07c4beb..646a20f 100644 --- a/.github/workflows/test-build-typst.yml +++ b/.github/workflows/test-build-typst.yml @@ -27,7 +27,7 @@ jobs: - uses: typst-community/setup-typst@v3 with: - typst-version: 0.11.1 + typst-version: 0.12.0 cache-dependency-path: oi-wiki-export-typst/oi-wiki.typ - name: Pre-build operations @@ -39,7 +39,8 @@ jobs: mkdir .fonts curl -L $(gh api /repos/lxgw/LxgwWenKai/releases/latest -q '.assets[].browser_download_url | select(contains("tar.gz"))') | tar xfz - -C .fonts - + cp -r oi-wiki-export-typst/fonts/* .fonts + git clone https://github.com/OI-wiki/OI-wiki.git --depth=1 --single-branch -b master cd remark-typst npm install diff --git a/.gitmodules b/.gitmodules index f5ac7a4..e69de29 100644 --- a/.gitmodules +++ b/.gitmodules @@ -1,3 +0,0 @@ -[submodule "remark-typst"] - path = remark-typst - url = https://github.com/OI-Wiki/remark-typst.git diff --git a/oi-wiki-export-typst/constants.typ b/oi-wiki-export-typst/constants.typ index 5a1c06e..1b4f18d 100644 --- a/oi-wiki-export-typst/constants.typ +++ b/oi-wiki-export-typst/constants.typ @@ -6,8 +6,24 @@ // Default text size of raw block is 0.8rem // So we scale it back a little (equivalent to 9pt) // issue: https://github.com/typst/typst/issues/1331 -#let RAW_EM = 1.125em +#let RAW_EM = 1.1em +#let en-font = "Crimson" // Page dimensions minus margin -#let VISIBLE_WIDTH = 21cm - 1in -#let VISIBLE_HEIGHT = 29.7cm - 1.5in +#let serif-font = ( + en-font, + "Noto Serif CJK SC", + "Source Han Serif SC", +) +#let sans-font = ( + en-font, + "Noto Sans CJK SC", + "Source Han Sans SC", +) +#let emph-font = (en-font, "LXGW Wenkai") +#let raw-font = ("DejaVu Sans Mono", "Noto Sans CJK SC", "Source Han Sans SC") +#let math-font = ( + "New Computer Modern Math", + "Noto Serif CJK SC", + "Source Han Serif SC", +) diff --git a/oi-wiki-export-typst/fonts/CrimsonText-Bold.ttf b/oi-wiki-export-typst/fonts/CrimsonText-Bold.ttf new file mode 100644 index 0000000000000000000000000000000000000000..5753863ef1c3be15fccde995f2f153ff360e4831 GIT binary patch literal 112116 zcmcG%34C1DeJ_5_U1#4ln?@tej5MQt-(^W7*_KzyyN!&&mJJvigTX*BOB^RaLiPj_ zn-H@lF_5H9oCPqD5|vH{?j&H()USAllNZJq_wU8_jk^nO^Y#<=a0eC z@1A?^x#zbp=XV)rjQR0DjrrEBT0OPu+{SUnAN(7}_!Db3Z`$_B!0+y5`~xQ$%eAlB zwqvsX2Y+-c<6k+)m^ry=TSs^7(7}IYeEVNvmVF0qp1bw8(zjgA_>L90?l|zSJL-&w ztIjZfQys1!yW!S@H}CJ@Cm7$emNAd(;N0!E0`9}}{s;cG9XxXP4S)KpANAwe3C1T6 z-+2Apb((~@6>>n9m=4jwsrVD9?A58lrB z%I6rq;!=llibPn0uk4co#tFIY|40SwJnis zUvE!$fByjf4g~vqx+B4GIFeL)x~oEFE}Jz?IiRmMo6BW0*>onIHq)kQ7?E(eCyYVu zied0>+?_K+Jz=k=*y?IETR_wQKWE%)|DoM)YKfFxQ$}l=-KRAz-0t)wHPz9XP4)OS zHRabsfog}Uv^9ky-P{q%_|&yCN>bCDRSvJ|$~ay8Lfm~xk2D1wUYp;iX^P5in%@`n z@pRof?4-W2vEE@AAiZap$1&Cu-r&oN|`^k(hb88GfJr??p2JpX&cEKH~?= zjQF$Si0>~m;`-wHU&Av>?^Sx=^Xy;B;D1q^@q6sA7Ojfjt8i!Oy((vTvG~OAVrNQE z{5uPtQ^a`e+^hTx>{{%c%FkU}*g1Od|6DZkW%gzExE%R-`N+e?)t+MCTWYn+nc`{$ z7K(T+?aK?`#nLJtERKJbHW2Sn;xoSM&>WU}mC*R>m(2iWQ@DaME>e`97@}$eXM}FTsG`~lo zZDL+;ajyi#F*7?mn@@lALmztdqmO>@q4z&<|9jta;?7$RUcdk9t9JF}LXli={pV|g zmYjxkCMnJPA&fKWzTN>yUIBa_axE166hqPeOn)YH>FfJ*};(W~fMHkUOZ zz|*)E35%=pqG6_SsVL_G?Ca|-m-8kheNVRmWgzB;sPE~fAy5L4_bx@}wp>O=B{uY~NPSJc2g*Wm z=pm=yHqL)fw>txVzX~mZKl=LBx*2bZxm~&H#|%x6`rM}eZOxXmn_RQmAM1$v;`Z)Z z!}w4d3R&TX<__7MT4Zp-L24yZYx9}TS_4WHN;{y~U)A;3G!;@t@TQQJF{xFQY9Tcw zoTQ0_zrufn>ne+b$0xzdU2KBQkPcV4%J@dc6&R5v`FPwqARr&b~XGq?{3W&}BMmeB-mbJ5y{Gb$m z5KWfcfQ*|HRut1THfO+QsAn^rU^mMz@*E8J;J}}eoYpQdYZGAbViQZJag`mJXNr4>y z7U87-B>Xk@Hx_&?y|o25ly4uFqX8|>l7n?bca^SUr;1liX!f6%J%jLr(E>j|5%}Q} zKhRx-!IwbqjckZb=EoOMyQXSTJ4G4?FKX&u1Ih?Q-VC+e-O)7EJcOH5AaL7d2)w6T zQgud(uz_xpj9DQAtNajii)r~QTi(07WBZvSj$BPmr~g~q_q1*q)_1tv_VAL_+q?UY ziG82h4cVaZo=<#y{asT&fBU8TCUiGxXtK+n!&|nqDYh%WecYqaIGrgQnW~wlN{p== z?3j%!cFqljA7rMf?E`7mOgq8Y`d$au^^`u-*}>T4#OR8_zK*HRDa_ZnKN|{XT(;_R z-tH58-P2dj;-E3f;bIFi6+2KRZ1@bxdsxkase5#z+hXjdb*Zo1vSsu7ZJ#~j$kq%u zd~3%wZCk}&eAX~NTecrx@P_Trl^D9S^Ap?lJvPg^THKH?djg&>)1Fwo`;toZmjfl4 z%4_U-i!-xC5k>ejJY~TLN^sE9dG@Uf*OG+z`i17J2MQJQFgm?p9|(w%2_a* z)>cesoP7K9<<~Eq3ht(%pSa=~%N7SaB@B$tF<2&BW~6EIa7)Hr;X_vHAE=pk#57sV z#;r#Ox4&HrBerF5V0UIoc86YiYbFCcdW+^qg`DgXH2)&|-6EZi3QtkOUuTb%!HGvC z{55ue8Js*Y2|v$1Rt6{E4RFx=_t?9oye;~q@%aIw(c*~n?1bPVUdBbFGfS%^|L$S2 z+RCSpe*UG|Bxr;~q2aPsf4Dy-sFzFPQq@Q5t`PH>9)#-fogvmKaA_)ebyOBZ*H z{5$zZr`U~)-UwVLYydgpG<$EkjuCUn)0hYZl|rGEIj>hwo(CP2(8D z5U0a^lDS<@x9bG+z+3aMlg!4P4x953gulKIY7Y*S-44!ox%iv{yAyr^nH};+FK37x z6-2@AiU-&sQr@{IhaP3o{qMr z+L~&g$LX+}*xWmP!jeLS34Tqb4^m;sc8{scxj67w$~>GU{TmM~Usz=Q0~FGNj=s63 zw_!!y?I#=$FEVul6Psox0!z9sdYR{9@2Xqqx5V-tQGc+@r5n!1jz4d%ukLSgz!)Hp zVv$V@Ph*jsX)Jgq9<9PJ(d$|wUVp?9@Yp=5aEX#BULYy<RN@A3=TmIW#r4pm zkN_9gTb3{Jrw>%Ui~VcfSJY(N5IHESvf&DaL8=T|3naX>^0I?i9ebS|zHQOzAE}r@ zXs;`uB0swD?xMn4W|E2}fapTt;$3XVmd!;C<$8xTlocDzW)`TWw)KgLgT2%7C8=i# z$JbPn^$txro_f2gsISK6GJ+19QJ@N+ke911o9MoBc`5v!e^;J`-?NTQUiZn9-KHa-o?(2bfnOmLXiu^Q}-mW;)+Zg*Qp)=)4+xIW6A z_hE#%&eg7!)v1-lccx2^4e}G?UYpAdc@=}>X1~wo)WhQ+Qz51m<&*s}!({_48HU{+ z#1(II;?jqzn|+$oR%NqOm7==~?(bKgD3j~=<MMd$)K;xzly1yYH8f#Ujv?fj<&sl>-X zsiUkb-wx|V#3&6)vT(C6woQd#7(wNzrY0FHeTM?v5mPIQ1%iO?7I1Dzw zyfDC2no3NH|EsY$xVy%gGTK`69cD zeTDhH#-)cxIkc}7sRC;yjU(qg&BBXuOE@g9G?DBS$-Avyp8SOa4rlrR*S3? zu?xlfv^iafH-x&`eiMX6o=?7xMu6B(E;nR0U&UE{y0#_}kA_`j0JZTp8_W_DRtS6v z3W`zsqmmBG6_y{N@I*S|&BmgMYEPTnG%dpWq+^QI45-dr`@oL_(L}7iHaV5KX$`-> zKxd>Qq$Y^1xb)%MKDTpzUcRNEpz8z$ogc%y3%UPYy!&ysGrz5)0hyAkrWKVG{7$Ag z)xUH6r^1q2c$rY^m2(|A_^nz@l;Gy8>f3kSsvtTjqmFMgV7^ zeF=YtH(N4dumXOT{n&!vTY`ggUtxbBB8n7wDP$bT?^*#m7-9MRsKQN>ss`7&p`T<- zH+6QbT)-kiU_$MiX39i?2yW^N4+~?=ZmTI1vK2D6jJCJ!H1FxVF)dv zbV%K$a&RTLdo=GV0~H+fx7L#JdS@PYAM5MxXkFckNOM`H6T*F<_?Hap1wV z+!bgCuLV63Pv~JZdB3ZRMmIw%%;0r`Q9hSZbkk`cUHNa$xC}y)EO>&$Zmrh z0Y?x}yW8;LO5oB;^U@YaMB#5-dXFcd86KAn!=P+Mlv?0MaORyLIFfjW1n)>VSrmYS z#!vIy0*k^sKS)@WBgk6B2%`Mz`Ttb@71-XzUXleLu0Hro#?FX>C=Q%hulO~>RlbuW zzCeyFm4(ze?Qo{dIap?(y$@45w2Q;P?g(Qba z(AYpyjlirZ___WEl)&|rFm|Hq~G_61Pc;18%a1?1xm27|sK z{=wcL^ah+#q39a--E?e73;BOO?6JAYRV7c@bOuxY!AlPWrg}BVIe{yI{ktvfw+rk` zIN5~~{u+D3f)5aGB^*?7p8aN#G_HoOERG>*%u%~pd=^m@<|K+@|Ga>rsv&jD?>vhU z^3JhH`v#V#f&1_shJka0U z)tRkN)g=?vv2c~Jo#*(RSA_J+Z0G)gca$j%eynJ0XGdL^?puaA>e5%p97WUo&<_67 z|0;_-^wpOso1dKjC*^6xNByjU)#Ym_#KzxG*q;M=Wt5pMQOvy)l%dGb7Hlp*jJZY zt%%dg)ri#=S5w-T7uYw-R!RP^9RDi!W3>w6!@pAgT=_Fl!XO*Zuc(E80h=A=+YrH2 zon;jXQRPapN+_4*tg}5km>Wzcyl~=J18*Rwv{WfXUMYwK9xAAVs$82}kt~*za4&9in4|lhku7-gcpMAFHsyn+uNWP}2{?_5NC(tzI=-YGe z)S7#)?Tt1DT~)zIwPrSjs$1gvf%i|{yQgmuWYu$c_dxsfp7!>`*9fW-Zzpj2$qK59 z0oQnI?1qFFc2AC{-IMUb?nyZ9o`j3t!){ABNoWawnSHcux958h%_qE zm0N&?$>xn|w?FvPs=*8);(5W{s`?M%5u_V>Iv?J&@}9i|bxmHQx&72E7`?YD$n)*j zx9~?IvG$F7E&!W zbR451W?4|VXb#jb7vDlC$!qs;cIe=q+pfKB)6Ck{`LV%)p01XrH0u7U?Cfg3)lU3YXY zPECt~mxez71Kx<)*&AxvHEHP}M=!Jw$qv|&OC+Vqj}i5D$>%h+3}|xnUrn4 ze>*u*Ra9Cs>Xky4c{N2lCKN@4JFG%iI_shd3985%CsoV#;>r0MY^YU`yQM$xqM0%FYI%4 ztZeDuJ>YT}b+(5-XtU2=daRg+1s7AKCndP}3CYDcw?NuZ!pR~A99(*uJy>oL!im4yT!M`??|_8^jL!p|VH`Vb2!u9^!kSS zj*30bBDRmP@0En}3+XmQ8$jWT76=75c9ymt*)hGZ;m7f&iXgw#-M1-kK-x935&n@4 z=j@OzjyMYRP>!O&57=@~&uJTJ>9)mtN@#=Dp%6#Wv(4 z%{ZIZ+ubzMJW`)d)%v}xkvB?12vjBimW*cMDpaT!RIhNwg(0mpb#@Kx z>!{z@(9qGn3nn$nsT(IZ<&wi;|8PTHqvmS4Q;H3y^W1`O%|-| z{L!8LHh0=-b2~zMr1p1K-no8YUt3$>#If}^T+I$a@+DCNm zd#E5bab$1lBB@Z*cx&s%UWaOH$VO7BXh*GvfEI-CfmMSKLh>F-c!gvI&VEaA8ae}>1)#*>7`cp;%5khW<>O>z01XNwht50+-cov*MLE<6JZ zjB1LXv0}uqi23Wv6UeKs&QIpR_$JgX!o!FeqOR;Dhzk+p6A%*W970za5p*b>KIm+3 zZmg~Gd0^9w@=-c{5P=NF`2#XC2;*crYP=!;|A)hmo9U zy}70{>j_1=COUeyb{eYTRJyii9A-M-(%jxO)==kfni%Zc-bok`?<_F$B?~j36+129 z+A8cc!E?xU0xov^Y5uU>H~z2{>ydL17HO=ZymobQX3cFuvjoNc-@zHer{FK59`z~d zFUIDtqg^lF{j8`^uUwa*oWDWNnJpVjnT0QwRx9$YSbSg@r=gskmGc2w zxQ~J6X3Ou!8tEhp^nMh2|2@j*P#v@?Kaq=3uoej-Wn(t3sHomHk$YDVSy$Leij#_? zKsD3CYMP@QQPM;Xz9kcSAk+$rsp2><1ur3O$-*Q`7$6yozaS7qGYNuA;QA$sa}48K zMa`~jtu;-(9>o?mgW@R?rOFl-SnII>j1ARn6k;d^W}p&v@*b-qxp^ zpVtli(Z68o2Lhhf+DoTnjg_jqv==+r)%mO1>yWe`^ZA=BR#uus=O@apQ>^#DU%1hVy54AUVsyT(V$3siR!wHuta=ss zbdsR-6tZ!@xqwrm^WznBoW+QRb39lv;uZFskfoGOEyz+YvJQU;OL>wF_sbXN;n)Q2^3gu7Sp|AYN&40R70l~lQxpnT?8;j%ie?RxYN?=sHtB|4JkusFW z1V$yC;(rqUI{QT#oaCj1zsCNu41PlqexCik1s|ZjlyKneJo~3bQGWR>in?J=j5&pW z=|sF$n^IV%sA8d~qKbt^VC0Kf?b1~&-uV%M!_u6uUR*;Ir<}jI#-cd!Ty4-=b7|Jc z*)RAfn7{CRI@`zTSOH00c~5ZBJuk4|S#~9Zr5&K$mKDF0Z(Z6+nxXgv^+D?ibPA#l z?@Y4mKh+U6jOtocPN9H>a{O?1A4G}|^?}Irs;Y?8i=b4J&rCKpX0|qUR8i#=@1@W? zD%^>-s4^BrNWnqGsY+R2P-V$yTY^eKw94N&o!6SK+*rE7=b5-;qa@O5_>mtnrE8Yp zW|2r$McLChv|0J4;rF@Q5j2eEk~VwDKS;DE=~Z`8VO7Bss~(orI^;DyHXjmFAt7_< zy@|4ZfPEmGr^P-+ku$`86yayt-&k-OPx~sz7tZI){iA)A@WT0g38(m%gp1Sh1x%|H zOO#ak82h)Ss8YldB`>@}5olmaL7wPU(CBWqIgh*x*LQ4#9)U3ixdDIsB#D$IP$o1B z>XSIzvT5bSNPlm4b7NhyI#PuSGq#)Ww(N0nlwl$6$}{#$ppFDiDTfGKeBp_Ohiees zjU?;Jq)x%rF5z=Q{_w_VOLgf)!jGHl!+qU8qe2c@`TW?5Wu?$>PX`7D! zcODpj3F5ZI8H6dh-!HQ>7JNsE!ypx&VozS&EVawU&BV9Bi4XDi9|0#r>>=q?1v=`3 z4wycPn8+n(xw5`GZvl-mpyh)_pmHf;GiTzMu{<|zd0f?qT-Hn%FXN&(Rc-lKG0wVC z-rn4pPK85$kK2jE4nurMDv6w0ER%)pRA4?hS-~LXdNSbIfusV|S(m`MC?eqdJ@y}_ zv_vgx`^OSZ)bhkx7m2+8qoJmxsx&tTUEz*)O>uU5?KS_y7IV1ye{OYpWMdP>ruqCf z$)(<|fYl~Jk>rwqDP`%lUgQYvhwt59-*jxfS6EkRM` z9YLf?Mmoj8fB`X@gq|4*qyJ3hB~f55wiV`T4kxJ}GSo}IbVnSvoLf^q=A+`WcGr2` zF?LI>E0#i)xTrVtC0)avPJ1-%15YTOE1d7fIB%yTk(k=0+rAu#r(A^#s_JcbB$EH` z_uJHaj|bek5{c(r4rkB@v1cTCy7tl|?!Ya7Ip&NNKwf|C?R!Jjy31quP<0CT)u`b? zXU))uzU=h!ZS|hg1vB6bIBG^NRn_Ug{EIqBErA6gEm0gPq~$*dtSy9}=jf7D98bEJ ziYcLc`G*!rIe8~pU2?=}{`mz~moh&{n3p4nQZPqpZj!`uEidqo2}-GkM?!h@YuSeU z+FloU&VZTkKpnB79Cf=$)iGNAsZRS=GPMkE1b~5xNTh}N~n_71~VA8g>7c{j!cKZLlV6r${j@5799#P zZlPTSIJbz5@W7Z#v7ky+cr?;pBIHmW2mW2@Et<9Cwf?v>me929#zdsB|JNCsw;>(L z)Bf+Sjqg&mK)c7$+|^dIoc|LW{E}_(XkW6ypxwtA95UTi7~{5eNi4 z<1_1f^(PZ86}}`mN9>s3G;o;UG?$?Ih4Ay1y(i(sX&6tOhN_ZED_4#nEXfh45&sb* ziV>n($Yfwiju0|g`d{)+;xxII7pyb!5>7UcgulvzWoxARYYBgaa_+@ocOsPaVN4=4HE%4jqMqDUqeYGAhi-1a zV@fqIJz{#EoSOBkjwno8!*DAOAH;U6C*bl|h1`aAvKI*}9<^QkONZ`Q*=-p96@fsT z4{s{oNMH{=rU-lB2-*P&r=67W*VwaVaI!)r{5<=58JutiIIwyey_G6)M)eKYyW*W^ zsrwQ=Y5rshjyqprXD&Q#`NU6KRtr2{?S8E73_FnD7Xv$Xbtsgy(ZQ8XGJd14Lwo{u zjCK+oWeVXN>H;x`0?;}Xtr-xW`kdQk!%-oiz3=4RcO5&jXZP048>ia8 zfY6Soq7wwwrGan3xWGXnv=bqb+1~?egxbE43t=U7!uV0JEY-J(cp%VLX!-^rAg3uC zB)#;Yi&88Bs!HFlu zNVhe*d_%n`i?k)8+)TBF>-*QQPy^uP*bkc;ZUtm z6ID+tAyakf9sSSS41axgvgPz-3!x*6k=C)yL^TzLqDYx*#t9orm+^P$ z8)(^AI5)k@Tbi3*@`~nu3)9M+RII;`v%c~E@wS%wbTSdC3iwzr@1>)xku(S$R4)I5 zACO2PHJFpleTa{s7)62v>X6ze83wgk>BGNJhMyXk=xXpp9ocrLy?eMm-0p7}oz6{d zh{6;wJ>!XJtI0!ps5cX@>8;AtnxpNxVZUM5T&VDM)o)!Hu1dx`bCK!mKbLlE&bZTE zQxo)P?!eku;QD}>h}74SG!m31>YDyt$ivUDr-hV~@Z*qP1UHl?ZYz#fDGDN?AG4r? z{D(?mY*snDd*L0v;vF9^o2R-6{X`j5D?&e6f-27yp^x8ET#54OBJ|Ae0`$kq&x_E9 zZvd(NDKirn(Ae zqrMCIv4QPWvQmCjk^I<9@?&bH!nFQgMQ2(;id0@SOBabLD=(JaNo-hovFuJ_xyp;h zI~TwUHhdU_*g8+T6c93AQIEJ~{ld;>)#u3TD4@kExJYf%|#tGe{Ds0B`+7`OqND~=Rd=q0M`eKBfq90DC{n9wMkmqn$uLCWCt(W z<*XO&<+CdH75Ve2Dhl2P=YOp{0{&dXwzIwL8yn71omw~pYc2tgadz9VegeGxCm@{s=tVYDe#QH_B@IT)hNwGTr^4biTEV{(Y2Ee>qiGBa9E+;y~-X771dw9aeS4-uPjR(1v=uaC zTU#!f9IeJFPhCUH0vzp*gwY7k;c}Shwc~59Q{a!Z zCih9L2`NL;Si&KVE%?(6J)I$sqv#5efIZ)VLwD#}SH(H?&*BdP0m>YThwA9mR%+S? z&xy^cmJ!v}$ytAI=SbHGa!rltI**fe@D9teAeN&%EcK*=IZehnZMP_=g0YT+ONB^3 zENs!d4gbRA2;Z&vJP1U0BCIfcFzissfJO;Z_loOQj31t?Z%T%}b>C=f*_CT)x7%H+ zv7&=N(wy{#{CZRxy$?HdrDo*1vB|?@IIKFbW%AY5=(ih5%ZayCp=Zh4B%cVUlK)QT z&Hqkv3}W}R4|0U?W8W+GEjoX<*q@y84R-g%gQ`I@fRh+{%p4?6g2#y(8vbSe-&lqX z=KGw~>JfF*RHdt-&PkT!ifv>#`YVi3&JaTPqltydGCX5Q87D*)?G!ppC-P0Y3ocf}}aJU_s*KPV* zYVr1BeS#(;k|rzej=q`|;|1%`Dli=CE*~2j z)r@T|4PDu;a0vOQdR{M^k`_zbvpExoMzcBi@Zm_I&YdKDuDefe4x~(&t0RXe(<`=g z^tr;#H^t0-BU>CDH}>8bH+OB>)R@W4q&7j}^i^*SwHd?L=bN{#%xRNdlSyNwHBkHWy z!;}KoG%P*NUOCRz`1x`YMd)j43V2sT&)O?$5-Lq|O``p^8iTuz& zXGdKP`hvQ_Z(I3RcZJv${3bLObQG$~vP&=@1p>(_?lLe?)DXP|R@5FbphQ223fW2x zrw`buXA|fR4*_vR<0H^SW^WvCoPol1eG zi0!GK3y8|rbJo&S-;wQzRQWtoAyVNijQ)Z`Bzu82ywGE~V4{f{K-dnDc)u7uI6AOD zKR(+LO#IZS?#mW+W6!#K-{Wbjt4X=du^Y#rLq~SCMm%PHzOkevo9lQym|fA-?Q>v< z#9IhWm$S6x#|6JiIARInBrxI*qHlq+=)2BN_tjl)|Zr@6|Vt`SsrCSWgDfZPtA9%HT|*j ziv{C84|`@tj+-fs`>L8-FzzW9#TN@i=thYJUTzYfT`SQ(Auar=%zwnM& zIo4m?C9+lJ*hl+IP{b1il;Q~=EZcvwVCCqi(I^{62;vD(f#${$QP`88#VOAK46jj~ zz3yy>gN{^@1|M6~Pok?h=+FQinr1m2TF$zzr}df1JZEcG=Qm7l80c$lwg_^Zk6T{o zWeIX1MEL^{>0Jv*uPb2&bn_JRTwG;op;dyfIm@EU&FiR>+Q{CQ_q9jh%k{us z8>Dm`wF9n!0S09tPXIuuU`K7}o+#^jYpL7>MG8WSFdcgA-bU26DE%k*!@CalcP_1Uq}mSK#QUxDYGFy7GwlGN;AUjHPzhI zSE|mCGocS(Ki)cFQ{z!=WOb;{>(!6yu7ilqm&NWWJWowlL=^oW(6%53v`-yd9r6UL z!kIv@uDyL_lWr!W#*YfIbt=w)zyrODeH5~H#FD))2-%B%LgaacrF$n|8aG9D%|aKcGbk{{m#~*#K8Kj+cW|}-NTh?cih>$u?wzb2nPa@6*l)b zOm^4s_YXGa^NH4&UN@M&^kO#KhH8Rj6KG6O5JkNCsL)4Gh)%!~O8P@W&+H(2l+YI} zsEMB*W$C)0<19N&ZUc(`X(fPrhw}H#f&tA=7%Y zB@9RJ$O_ZTrEx91xn+1=1&3SNx#}1<8{4K9rsj&g&p#TecNeX&w!xQ8EtcAU-GMT$ zFVDBFA8&oGa7iZH%J%MN>Y~#~-4WYc6}zEqOmfu0qu~2Nh*G<0XXZ&bQm9W7?ey(- zV-DUZB5A0FN57;aH_Yy;Kbi|Admtt&kH7WdyIRO?_rUpCw4uV3MWg(8U|;(Y-NH+i z2X0&s8OB5ZrTu*$s==##WjpLd1^9d4>Mn!IUX7B7u4lxM$JS))y788@j1tvPUh0v{z3otC(;h30=LuHRIA#;N&#mXci&l3hH3 zW*`oft2hm@O?I~>`^AXC(i%hr>Iq@@#OLoNI3vsZUBdFl4CR(L?u|i1H;PCLx*x*6 zI;|6L3MhYtb+Q{}g&~m`igYdhgp&vWRqYl4R%KxT_aXuaP4gg?g(^t}-g(#pqP`dU zB8AiD;=*j++1b(F+S1&Xfk-RoV^PLSoQV(?((@>WC^DugQ}T6Cz;R^31GegrZtooF z^Eh>fZrD(dro&IN^$hxagWa0uMW<3d(fRNo%1%`U9e`b$>egDjjc*R6spTjRzN0G; z;Zg1bS(I`gKC`6+C7CFpPozpvvfL%~@ni`~c#_aF4vLD0u)jx@hnSN^*jn}n)^2v8 z>LHGkT*}5MH)uB{0Ob$@U`4?j$o@o32%#ZpY~uv_t*F4xoC>=LRhlNk;pi#}HBATW zG7AP{kQk4^;i2Nte6BRgL_+CA`6!qH6s{GMLN(U7acX_-nyFPQCtI6qs)K%4#2qnp z=EP|cxLI6eNJy+w{+A3~`LkLsQ^hH(%ixhWBwJgPwJmLbmuzdTt!Zr?zaqr)|Jzzy z+uT}H+e$Yz*VeXPvRyf@iRbu6b)AK&ta9p~iMv08?*)EE`YBfT$R&6~P|9E#$7BV^ zz%Ox@XrM$zkN&y@CBH;c#^*Pn!x<xmBUNuFWiEr^y}6U6|B2;-L2PL zy)-S*LH}}E(BCdC=pY;@YW$`6C0SWT!hv^$=!r+=zhB$ZQj7mCylGVI9=_1?Mj`P6Z0yCA1?mn3d!k5b}v;9dg?y7<7)*W<3!H~ zw-!&vf`9nPhG0`h^w5q7IZHN>q=Bb@A}Ir>eT&jp&=OSjbE_55Ax^z1LPwwu_5vTG ze4BOeQ?JQ;ui~4PuS2>&HUC!^w=rDx(|M)S`0$8~u56P!YW`RAS@v`Blxs^eUP2+` zbF4m}qLa5I&CwME()vOC%G314Ol{ZI^ak*Xo@fGeAtqaYaNsh|Zk{p%R z;z4+lhuNC^s+}w9RHjUmUyf)$nT#rbkkpDe@mGfecDVP(UL@K@le|L*HqUHWzh?Ey ziJ^hsj^?Ie)OJ=VoHE0aR8BwTocu(IM2sRjE~>JrtPipdsXs*TDC-BJ%w-MJG9y8? zIqEG)XG{y#V;=f8CmKl>O~~B3A&(3BDOa@_Y76@PX(TYTV>NwYp%oifubP<)x|`v( zop5F2L+GCu=MOt8%*+Z$vS3VV9xw7mZoO^r((l-Gf7b5}I^YCo4$}ivavtqOuKvUOpk|?AsT>;;Qc+3~Z zsco%(sH&=G2&bV`rzf0ox2{WU-uqVQ;**s=#-w{F62{q5(32nt&`L0%YECmYP*bD| zJZw3lAbAs?KS9`qy!i(Ez{Mk~LDXSMnj<7>B$whVzAv&KmdwKsBF-$>gTP}-ndxpF z&Zx^WUn%3Oz6l!@_RPuOoHq(d-b>q;qIBM^ejb#3gQWD$qmt4`3zU9=KO`s}*C{i@ zeq~X5j^5L{k1{X;5qTxgKxAOVeq~EzU|BzNt=z>6{2#GH@`Mg0gL;I2 zhdspB=hsBASD9*jd0`rLG<2E)Wis42Nea&(CxL?1D8GOYgqW!Vg=ShxoB61Tf}_bXz_&)OCyoh9YHD76@*N180AVv6&*PG0ygywlb?gJ zJh3sCypnqq^rBL{^&G5?REumc3e=T{iIYL2006 z@c9Vct<|ELMDOZVeEG-=zWp7y*VHT@n2A&^h|GZN1-3*E=vE;yKEsa+i6P+>8I$nS zJY&HJ3A;u3S%L%W@EetN!1`V`l<$WmRg!3djboR@DqKfYXSw*;Ex>X|8$x4CA{hm4 zKyEpn-xl_wgbf71h5sGjHwr#Rtq~>dfxzX%VohyVfSw3G9L6pDERUS^<4f(n*fp{H zcgWpGq=clWgpV>`ma-C%9)0~F#)Gnfh04(B*$W(1(tMij%2wAK| zk_uFS912yKAb@ca5f{pVoWxz4JS+hbm_q9dk(~l`8{5{=)^JN39a|Be7TGgafmYJ8_h4-hLq+ei{ywIm@$P>ZF znZqWafFHsTEt6%|*zcnfDqpp~8X03R_fiQJTvph0B1TNn46CV<%nx&Y;->NOnlsDp>x5(7)F4!Vihsfy4b$q()?uUwVp4whqg~-&(u~@~T z9Wj(g_m!X&5s`25dFn7Kaj2|E@->61!u#^%!Ep4~L0ns=uo@T?n|dn-B4?-_E~~66 zuav6J*JGUe;F}CXIaNcwEFoyf|T83M3JMr4Jqef%FtoJfaWj(qz)t zHqult`U;=}DT=6C7ZFV;5j6aM7qt+Gx5oL%`f?Jo_6B=EF{F#pEq=kP(gfh@5g zzLfDRn;7!l{v4G~*qsi+>!JeT6 zn&8*&Ux5ww|8i^B&l?)^zW}dJcmA&$`PO(3vCp5f_W7~0x28RkZ(X)W>VyT&($0Zn zh`*na977FP3iPhFFBo@50n+V$5ve}W#QhHtF9fKX%5#O z-AAdVXj^^5cmuxeW%O;l^hHZV^68_VRBbfrv8@;xy>UE$aCCgUZ&z;^T~b4O?O>)V zp?T2~(brNpm>aMEi18?RLv$i97`z}v zs6Fi@M1YkZ#FzPG`oEs)1k>8gJu-W3}DF)HxO(g$FlhIZb_JsCn zshmHD6u`E?kPYL=uJGT5^;5gKJE_8jY3a%z7@D|kZ4{lD78(CMu>0yvbN7$Yut4Ph z`CiKw^?Dp`)o!FmuNz)}XwdHKF6cfPjN!IV{Z4b;x3iR=6?-D+6?7_e%O44Pm2k2{ zB>XhHAJ-M;#~w!D7p-QSDN9&~Kn|*6v4>X9hVnFTx`}J1HmsZ4yk_&NG1O0HhOv#y z1*A1I5Z3>@hAdIh5oFih$58~5G{({*KUgzwf2sI17rCklkEdBPrau4y(p1fM2F5~ z$JSj&prJ^JS9y}d*Nv|_ydn^^JGH9GRUZSq6K83S0Fqmwti+5Q)7PBG@)J+BxMa}VR zL9;`*SSJ%u8bcisAaGxd40gI*x}%Q!ua4HG+k?Y{otxWtwK&|hioK;HoM_CY#&Xv? z90AAbKGl8z3M(0PBvy8{4<$mao9(vdP6TFBL2quTWpWkXTD+0Kz_VhfKXVuDg@n@n zOX%aPB=kCZ`y%w&zb=g>t6PpeBRVrCfvfVd&)i!YOSqC_Pm5{*oR6;c%`wx z6=J2x(};*^4QjvFBC2|b{ja=d3%9GQ>C-pB1=YvVak>GN#VKgscM>9BS4^Gcl4A~K z)}qYKJ}1A94eqkqV4@v|D37(yBJ?e~-Og;>ZaY{u%@Q}G!T7?*E`1-)KwBT-5Jldi zfI45p*{&U%rq`|+9~~M*XssucLNii>9pZx2MHA2BiLf1oHr?Vm6U)>P#`F;NIzAl%EU^tId zQ@McIOXUJRD7v!6syMQweX4F#n)LA_6P??8o1?Mjs}enR4dZ68+L34pdpzNU$CGIG z;fpcZ>SnLU=k3W{(_h`0y>u?t9MD`gtFC~nZkOrQGW|cb8D=zOgti|zyb%-*AtM1jSTCRYIsP`&~E)?VAF(6NwoP}8@VlT#O65M zpNMFhJvU&kp8i>_sd=j1nR>L@-tR~T|7D{$q$8JFzV;q=N8VWjfmm-sl908t;R=L%I;&J_7E|@~?rjDL)`H zVP2es0zM%f2yQ6P{w>K2?|hfQvVe+c(<)IhOIZU^F)PMoEAD*e-E^l1&pD(#FXw|H zcgo&IIRoWfoAf#){d~80{d77ca|)rt^}&i+&kDcKJAXId1*)Tnl>g#EZiv-NJyAHJ zhK_Q|7_!9E)IV}9vU3dmQifz`eH|!}4*Y2fgU^l_6v8ZcT^z}oTGiX#m~F{XVUM1M zwE}h))=g1;BhM;}@`TE^q(EiXUn+A*2=T!v^sv*R8DrZbdZ59kh3h-Fbj?|2x6SE>j1`qYH_eRK20vZ~7X?E4 z@AWxw>HuW|E*<+Xc0uTtR|K9v!~WW`y|FtYt|Q@3;2SH1FFBsHj)XtXeya>l8b-p; zutzO;j&@nX1!bIG6o-^^Qq+a+1r6L&e3GbTAt-8D?vZ}!UoWU-iO#R7c)}_6G1Lsm z9+Fm_fLyhT)AiyBg}G?$m31*kwxPMOKSrcon?=d?G{Bs zNPOA_hfp#Gtm7a7r;KiR;Jc zJ7q;qB0E=7{nMf)Xzpi#x~atMEm0&STiA8%94^-t79{J}1lZa5n|(03r# z6oqyDUl4rwAfqoBj5q=wnXL&GNJ9jS;2iF2;bi8z2|s|ZU3 z=hr*hTN>))u(JFvL&ujhMhZPJvsqz-;FAGxf`}l5>jNeiE&EVR4VP$u*qzcT)-_W# zc+9CkV{iB3GpE$&$(>77*HN)XU0j{n2%cw`v{se&v~6T{;rTW1@olfF|n6|BMAZ z4N>Q)b|3w_N_U`tX8HJh9ZWi;w74?6;GV*iC`e7w#~pTT+qibk>dA?LzV5D$)`t3E zz~=@E_M?%gjB~056v#~`6rjVVzyLMr1Afq@522L;ehdogg(CQ*kaf+%4$R0BelRGf zLRRyT!}y}viYj6%F?MDX)wLAxwk4xmjA(VRIZ18%>|OmnI2-XK9ryM(%!G6Cz8c^{ z8H*q_P!kMR!_zS9Gv-+};&kYD9aBS2C%?mkZ&lLAUhoGkGVLC_`z2S;P@9pX_K6a% zr#wE-OC6i~Y>}Wp2zOBY;dZCr9rj#0YkJT^;NMNJl$*ewkmCOnIE57FH(BzO;ADYF z_!$ldL~u31$-0p6Qz))0!O72+@YAR_k?=vHjw1YQ5nlP+M|q%Z9&0>!`bpkfDK)^; zh?OWSKye4zZ%G=9_qWyrQRA^=YeQPY2dJi3!7)=e_QL$E&M$G%ur6BlvFIQRdgOaS zrAPzPheqhjxpv@D*OL^CN>>a(8v!x|CX9db!?TXuNqVFH70#5nI1zM&v9K}(Wk0Y!J~$DJcG~V zX2)wA$1{rNPU#avrr#4mYYe@$Cy*J26ww1(mE$g$7TVMPP{>71F*VH-^f+{Lx~a)g z6@WAX$Z!SCs(Va)k@g&L#T-64+i|`#CCenMuAg>_ZP_`UAh;<+C|W?{%~5x0oKEI~FkQAP*=M(-E@!J(q5No}_@l zpO7;DDDYaa6(yXcjD#2b90?~WL-2wRBcUW?C_B|m>7Uxe5$k|C6pu*pd^u&uw&#HvSZ|(uvp0U!2dplp2Lmob9rx$Lcknk zv@sTh&9UJeoqVKNIpmgh60vYqqlzEVOcW%BYSn#KGf|K>1^61u#$q@n9hVx610JP0 z#W<2}3Ic~^Q-aJqxWAD#1_sttm3ow-jWE^bk^BJ(4bZ_wQg13`41OHwM+n_)3u(VU z8gGmnYS;ym;Uo3;)a6s^ADgbR%?UMXYACG3QQIw?M^he{NQqc?4az&T(4}uUG;^a} z`v6gd*c(9+zr;ewd-#yRnS_%^OmM`(ca=sHok-{zak^WMC3=w1(_>;RVyoEoBJ`{U zeXqa;#V{flkE({aN5(LYk`sU|Pi+3*)mcPoZeqt(Ac)Mr&^Gj1nnJr~dlf<$!*KEebJ--ucqOWAWQ){9qaYvd_Z9kqx`3P$Ob>Iaw-uUQtk%5pswsh7lPYqtgzv||3^bi}|wsQJled>1;St)@o;EVL<*}D**_*FiP&xxr$=!T#Vf_(O0 zGwLK=VFk=bnC?*^N6-QpAK1Vt-jj$=iJCqnd^{eN{LxytQsgY{MWZg*FL1oj!6s!V z>dbAxFr?T>5(X<)gB&OOGvX`>LAO~@xfx4*L zD9}XX>g_G}HTwESqAhu}{f$+}tMReGEYdG;MpR#1oLGPT%R0;eL>t}p@teu*E;V{E zV`0PW-Z|OO=!<$np2jdLiNb*{?i^}xI?(|nu%%X4Bz zSoEpsD(>^u`wCj{on9+x#Qzs-CGGf5uaz|A|BJPf*4$3`@&+~U+n@pF^-}pUA&bbt z19FhxM}dqYCk@SAthoi%K#8K%`OOIJa+8wao2i@>ry`V~RDg>qn1wukRBOJ95x#p36_^2O)B^!(Y+pMLJqXTipw{?x;t_}B+O zaL@6(?mTwup@UGgQrAYsXJg*Ju3an~FRzW^W?n`mi!en7Uq6NJ?jI0k9vKqWywK=` zw6yZiM)WOc=`W$j`hr$D3pKcu*40}ZTRXKyYCPGT3A@w!#sBz{u4{pW$K`?yR(^ju zwfGJf=F_@B|D%@F|jS z?*fmSGpyPBp(T{Q@%87w_w^rq*Y{NT`?Iz`V6MFxcrZ%GY55Phf`q*6i7}^g>{}Dk( zCqMa+gOJJ$RI(FFv&U0Y!eJDW67F>yO1KM+!GN%cu1=sflAlZHDITcuul+G3)rL=g z4F5{{`g!{N?9k?ng&dwRD^41VBzR=Wvv-k)H9TV8Obn~!)ORB-4Yso#{ita{Nc2^6 z?|jFHKlqN1z4N1QJAV6ZHynQbWxFoeviXb+>({PXolobvq2NP*M*nEJgiv?2I((=71NM42KPJ&@pSCdg-Mx9yjQR%suSVKM5bJVn zs)@;F8ChjDfEvm;t8}6uTMO$*x3UILe{MY;XX+57x#3WHZbcQgv%XkqZD< zX*H}_oEDqh)M+uGZ(?BH+@H%Ka&iSgjxdNiuhXzbNV?^v3%E7% zUbdwg+{dii+a9`MC)~wn^>ukELx|bAjZ5TJ6)aBRkspGC0!~dTTeDiZV*-*5QzsEh_L}U;BfI#Fm`&ApW&91W`rwXMy3( z9S?}~q@ien)1o=|F7l)~_Y--fNhN&OJKy}?2j2r_@PVT@U3bmZS022Cdt9Ihws}Ym zr0_A32GPcAKg$h*?zNH_75>$9KvDuTX-GHmuuIfj_E`2coafoIUdz3#S?8yuCR7jh zwoae-0U7nsk%9+83#Eh_3Q-*>CHz?bt2)rHhJ>s&To>_Hg;@%5fI&yeB+-~PpSe*Q0C{p=GT|L6za{lJ^HP4lH3LAHW}nx25+KZJ0e{rV=YOXC0VdLH&ZS#B5o)e$YQKc1lRQ}S)ISb0 zQ$XWJt3!GXC^L0(W7o|(TVI_X$Sp04*Xc;Ji3t!Nx34791RoUM$56||G0~d1k!6t{ zITOU^*$Qp#=EK`bAsj<`gECd+;A@#vT&32of?h}(U7rKZN028gC`XWiUnf`6x(s7% zRwJ}>8bx{l0_RGKgR~K8_MW)k>&7*+D%?U3n{zi!r~Aa+M4xDBKHfU}^ zzS3+Xc<^|2P}%{f;)bLV~R$ZMq&Yg5AGgVUHBOq4hGl5{(_mwsQ>vp|8lk>U`?noICK z+_@FCBeQ{s0ltwT4UPokoSxc`P`~E2xe?|Ihk3!Ox<6o!i)_9-V15bPY085-mv3Jvo;7RXHy8z! z0a6QXY&8u0`iG0!_a_I@cn$?Je+oEaR5zgj@sks&2?*j9bKXZ& zALIR+o!*7E4vJYjM9CJ&***fRvlf-7LKy`})(YTm!HXG-BS>bormc0`q1(6>jQrKz zON_X4{=N7fd?7NRcApr*yl<`cHrxaN0}Ak+d=nuut%g7E#BhlT1JO^|BkZA?syt3} z)}4yA+3V&&9mr#zIdF2#)IzHMD;UzG3dZoe}T5`kdi7 zV5Dzns79?R+7)aOm=MyS3_FtoTGs90Zb=@m5O+||F=TJpQ9cha6}J-#4xuQ)sY6Vy z2OlG@f$}Tb>qQ>4(9IO>?*rgE)69(en$;h&&_GVUAL$UU?p6m>IP$>IESx*s%;}6f zc@v@dd)|K69k(94`NkvHUvb&NeS3Cq+(0(w0bih)soR(}|I4WqVxv2*Lu}BW7d&7m zLi_()8avxki{vh#>_Uq14C=;axQ%Di0cgj1_#kBdA1K_joU=iL1*bC{C`p7pkycpu zcD9oaUC$OUqjrs_3rs()sP5OUK^x~@+>djAmGETM#=9%*MbUgwKy8^GRrACtH4}W>N-##fkFxIR|ncQ>=+`hq#c;U7T-;=0;b1x8GOKGNSdKz~y=V>`Fe-q*88%CJ!w zM3M~gMk<%8N=D*{vGb@W<~wf`XC)+nf$kI&|ESp9!(PkWPgm)R_ugOzYdv-usKbl|E3 z4u@v8Is-mjdLk4mn68GpuV z7QD=BAc_%wHRUuB)`3GTAjg&*wp7jBymEII>WoO(Mv56wl!ZFhJ@@92p;=s=YeFxNP-fqDm-Nx?gW}Y-pgbxV*BQ0h1No%4J`%zS|p$^D|W7FX^T0E zzMwxA!hk*yOSlwdDybH)MYP!bJ(nHanJte-V-BaqlhgHRX?4%=8BKoN;Em{_8Y~7? zrF>Q!pk0Am@e=zmR-ht$zUoK<4IbSG6(8!+Xph}kgfaj>QFDR(ESO{xu&O{Fz?L+b zxM9v$L^vN#A3CCt?X+&qC*Oi9XaZ?j=pI1mo%9X-a$wG*XoS{u_6xw`{Y+?UE#wk0 zkIRPkv(%T;=*C9SX|!y_Sa|V*LJ>I%VNk)9vD~$_MxLBOFULo_6|WwPgqzzs`#P*q zmn!v-=7N2B)fGFpFWQp{7ks{s)_Ci>^G#_qCdg$olS>CCB~c4#s(D3kF<(MKOe&(kIV4Z$9=cj7M50(lfhI|j} zMI{>MPRyW--R>zm6{#&)8u*)&ZML0_{d_0t5pK3jzkUc%3hy`D-{VZN2OZO|`-<80 zG-NaB0e*0%cY_CX3Wuv+I4~9DErLLTz_wWhI2WY3(;>+aFt*6ZK1RbQc{doFgy8s` zy(73hnmj>_oZ>RR!{uTw&09gx4tKK7lXtkj#cI9)D&kcJ=zEyXfUs}~Xm=Imp4r_^ zmwiiH(j|x0syHIf%MM#L>lqg#TJCKs7FLbqR$eF7b~itg9$klW9z|R7wzDMB?(g+U zOuNJq?_Qc;wr|AX)i1J-gRez|qOiGYK@UNI09#NhX0);LW6|p3WZk8Jv?F8Y#kdqJJ0IvPNbGDTOPG`;|LBPmi4hMBFx~Q6j1dG@4KfDn1 zG%iKq`_kK$q5@Q^En~`?9f9ee1iWUH_cE{FWD8g%7b|E!dsvN3|4y_*eld^Lmj=6m z+}hGi_?u=|*UL{~;XqF>vd6`%fn3r946R+C$_EJt3WP+h!(woA5U$4&OhW|k*b5FX zHS}#g#piqv{FPoNR7ZNpE8{I?uUi11NgZp5I7p!ZV~F;kUNUFwhs0$r!DPWbrw5Ei zT=}{T4*aZdTkqwn=7?DR!R|BLySG#hh@vCziWG)+L`-6G$$;H#^SVv;WK+B~q#}SH zEhyQ^zU{*RoCsS3-KFwaK2vR3w~T7lP&cPn3f*g4*ezmmbjPMh!0EEvP17Il%Ej7? z9)&q~wJf7ks$;!Aj8hs$kRig{`cC6L_&oblEQO6+^U<#17ZbsPX9*{J;^W z>(+0n+M|(7D$*2f$~V>e=#cm-kowlB4`J)QSP`V`8A?cCiHD!dXsr9J?#kBgzU}t85r=SVN;E}6i>pgOe@DdHvR8rZ6z&Sbmp&YKf8vb#b&E1XauAw?WL9F>z-w6+%5wsHqZMLRT=QQ1R4R{jRYF5x^Z}RFf0m_P+=-)C5`n(10qq&%czVgn5++jlh~Qv zqGUCb6zz?Mdu5c7TNIc3%LzBLE9NP;)LQu0utm|FRtZp)7*G!X^kFWoLT9zDNcIR2 ziLtt*o6-2^sa_aptI(X^RL(1aW9&jotFeT1Rzc9b27m-aP2Hl?3ihfK<0|yHOmB>Y z0%@Npqt{@zE7m^TI)N&G@sQOmqxrj}I%TJz3UJMwGBBe0EB ziw#BQ!+{W%4;m))00+ArIyCytA{T>>D|A%}*;=4ToL;C!0E#d{RzgL9tArn3CX|ZV zbU5g8pp7&PDuWww4TqMMPls&NSxJD2VHOY(n3h@-6c@CIBxfY!i)RW=0btt(r~{;^ zx+K?lCfeH;@^xg|*T_EEt}70AsaQ;-Vp(%7^94L$N1>){Ce>&66%ys)Bvx909*}2u z3sIpU3|9wINe5g{UIb{QFs4c7q9js#W=s*=!POZMAxIGYj7d{dBq7S8#yom@kQ|lo z@nXDmP-&N6)>Vz>fSKr}n!q|G;5C4x@OkYt;kBQ?uI&+C!vT)ZYjeeG z*a!4H;U%_TJS?g7Ja~9f^(Q{gOjPwpPZvOE;xT;6VXEj;bV(45Pw`zZvp(@=e2VW9 zUIzYzz&`piKE!i%;RWUpkK!|Oy#L+!?C-{Bg76~Ci+A8NjKR21tlt-9yD*;rz-Kg` z{k8Gzua5`s{8;=OKBe&-s*UGReLU;{#`9-W>!y@i|`7X4MM9KG6lEcdP>-Xq+aZD)GR7`Jpk>-XZ{TQ_B+ryD@<$=pn(*GTyI<`!o#7+ndX0bMbP~+8&Lzmg5O{8wf4vEa6Gv7IY`Jd>UVHMH?-OQHRZK zlbZ0E~LN6z9;h8?MpHI>Powc3x}h+%XeVIKj$ zN$U)azjbDYWwACu`C{4ne$H$aKF_adn-S?6bXCg=ZaRb1^J&htMIfF060^ngtb$Mw zTUiRj#XVv#ev(D=XW{*@6#YU<*!UO;6jHy)-qT6svK@wj47LD~A&OaQ$p@tupKl*^@>H8@@1n=2FmPeNcMkj{KIkbvB3A|Xh=y2iyn z56(-I3AmU&`Tk%gmMoe>>A`*DL&MRyYWJAx8{yFU+B=-KXd%++D23y8yI5XbnOGgM z*%V9C?wPYI`b;ZZ0fbj8W;o167fAIBxb;4@veJ{!0v!^PUpSkc&3A~?GGG5f9(!ZZ6V`z0Cm|hblpcWE zNFE%1A>;+uXZV5SAJ9wOiOca2yv>>BXB|PbSAexBimJ0%bbG>a-BS+4f)0Bm;PU#B z;{lKrNm6Bp#TpB`{iQ(Ks@mkRH`Wz&dGa<#5Ex8QTuhReAvMmCw|io6bA!Nqo}kkM zy--a!97(T759PeRum&Ka0DRH`XDDX#T47=XFV!UbV=jLjEnulrn8lF`y1ej;2y15k zflUer;Vnp2<3Y|e@h;SE$~wLR{uM9G6IlHwoC^pAkR&xufd)tO<&(`99O4!e&S|*| zm?b8w!|RFV5eZj|?H*TqY1m=0jZ5zQ{@FYIBB!#1Z^tWX8F?X`*e21R4?8EA)&AA5rR^bY+S zT%($mwf3E=8S~y1l+bs`9@r3YJ4Vj1ZE%|Jvjk%DO3{peA2gdEq`zt~rmn<4Ouo;A zFvorP_eZeh81sW;zyFo=0c!G5*TmTc@vP07iIYkYZ)u5hm4MCsLHv=pO3Dj%q2*)B z&SllK8B2$@i1Z!8W(Zrh9f>3YTZ>=qf;~r#q&}ty%Orx;AeRccATTQleO#Agx{CNC z3z`<018M3<2>0O3583_V-@u9VD%VM234LNUX_H2-&8e z6H6JOJn2v4yr(*>K5tERQZ z_u3}dvb5I~+GjLRA}OrqRn7F@C<>CEvPQBtb08%vw8v55Y4$v`LEDB`0p7<&j*mld z9D zPqEZ%-8*#0!rnnZ%-_5J{b$B!o@IXox3CG#oTsEX2U(D%*aRylT4E`B8ZH}RC=jNZ zoNBVNr%Zsl)ykGu+2rVwY4vR$a8UEgOYc~@;^@J3F6cVGiJsh^%ZG+8-<|KCFnH-r zh}8ZLF>-YMOE^KigOH7Ii$ly&=O38wU@usW)|OaQ7-B;t$Z0)@RYS9ZqC&Eb|7t{P z!Mr&nC-F)pQ}flpxd(}l5N~T{awHFhDIbzd#j@F)A6c0-DV{>atc9{(Z#JZvQG%je z7w;O&>VpIRNYJh+cB^VhX8i*rp~6^O*ya^kv?ZSJ=qx1$a_LI4*xr(fcf>^Ir~M4f z)Mtc_Z*kI^xL**H#Y`mf^Gi2F`coDyKH5POT@TSQBn+hz(TLk6b4`W2(P(}&&o0Qk z#`)F*FjO9kNzKmJfxbO77tI{Xc|5t0S&QVoiYdEtByTpCizX?Q4`^C`Wb!&I&?I6V z@k~p5F{wTvb}T(}4NFQP z=;Os|KH!I1!=^|rK}4Hx8T?exSEZwv(-r zl*>=fcWIK0wuXo}jLs`EML+I0n#SOqKpmzyxN&Z}$k~T+z($KGmhf`7X10||E{igF zX~pYpz4WN)@SE)L!u{Qhf+SPGi6Oo8q;A6qOf&bRy6ajYAfQ7kHWmZGyR)?Gun7Sc zsL>80XtkXr2My;1N|PFvG8w6deby^Jjqh&}#y=ItCO|?N2|!K+%mj7|I%^?iFhS}i@PqL? zD4Q};uYh|XsKe)*(OZHo#z4sqXN21W%amI>RFjDlhXn%#E%Y|?U;^oE!vyY{|AzQ< z%7d-H!JT5M;xl;HqmI*vry*gI zeF?f#K|D)%2X;#l&-yLxS^fPG`s!+r6~cBw>?|97vnmy1y+IG0BtX)-!SGN1U|5aj zvlEjmqpIE>9xH2V*QUYuFYw+Zb7`hRcEySnn&x6Kt=hvDRGB14+HH$|f(2{F=yMo- zNKiguM;c8zXE1%71%jL-exqWPIL3@w1~+x7TJu<_U00(kCnvJ`=%lTEBq>?lmTNzo2ycH}co6Rg$jeBF zgYCePzzJc3-BPDgFU~s`CEySSk&^kVT!7AX7S-tv*}P6wb%L_&?BjO5H!xHm%1^YAX^s9s$h3l)=G^5|$mJITjFYE)0JcFsy6f>*xR1ZjS6*YN1 z3SS}e6%eODY7J!Z5kWPJs+r;y7G|;_+6F;LVK)JZ0_H79QWkb-HW9Dj?6?k<5xnxQ z+SZ!O#-o%Orm4a%w#%*r%DI}n0Dr|cWjIw6>!ls!#xM5J@J^wBhj9@#zQ(owUiv{U z0LV^Kys_arm}G?nZbhLrLHGj~Dg}=G&jTa?CB%8n0UV*g`3L*#+4pQnwgpsc%;SkQ z>9LGmacb`M!@-VJsBgqsOys?;>|j&3Z+MDnKJa&k+1i4NwM;z{|FItYakJ>e_hs~JMgGnVj7;f1(6mO3O%pMohL*Yzclds@w>hl%T zp+t}5P3Qc9q^zYf;cUXAtmy~hDRa2tYh&d~CgSj#+$L9-t=yk*XtLer@`%MmaX57p zSiZ6xai`0v1Y^Vba8E%l^ruCOGg^*er}tr}ch2tg<<&zSOtGH56z#ukUSU(#?b9PpH0S*8LQ9+J5FqH7oFLBf$xV(yMzs<7xn!kok8#BjGQY>5OxNK z2UIOrD7XN|2IF25QH8px#h-{h$J4RnJlF_*FGc>$0-Pj;fvw#wLFVz;10GY;Xp_I) z=fKuEOR;>X)ohmoPQS{ghP^#agISk1pC~y-`a-FW;P864=2YyNnBGJu!>a17$qjE9 zGPdvsMPKbWWWphxxjb+|w8w`wwj5OoJ>mQ?SU{?rc1N(+ z7ByCmIxS+lpSW~n=1lRA;;66!Jv84^brqS}v@RfO=A~mqrVuq$InoZsqL>)ma|l;q zpZ5wXaNaignY}_!hb#m+I zlKx6pM*)QH^T40Af~_$6@6fK+vlD9sn+7S8e#7-f$T3LU`N*-J+Ei@z&hUXe?Q(NcNTolW@}kS%?&p@QW4Ky~kRBU|siurj>!^~2SJ0;*V}t{jJit+&>Sj5 z#5aof!q2u&*e0A)-5StDNja+t$@yng+C#`tT#D53m`+tkYHNKaQj9gn%41mRn2M8g-4vplfNULpo?N1Z67UZPB7 z1_|L1NfdIeHsE(iM0W*6;_4pO6S@?VS3pIaE&jOY?B3?38B4_9w!Uj>+r%!g!^HN#s@K~ElF4>y$`LY((Zwlv{_0*u^<5@Od8Qxe*u5KLx>6t8w6^|61UQxBFKrmPA@r>K8+H(1D#Np^;4~IL8(XQ51 zVrcqUi=}fUTu5!}>BWM%kg51t@or&EI78SWe6Skb&|E4OWJTT5j;7?BtfD3iz@3Rj zW-_u|s0_AWP$hWD6hIpak^&iM($MQt#_~&S2l>PhRv~$7{0g3^$>)P8chc~ z@4|*~?h_*<^``k3NoeaQ$&Esa--Uc7FGJv~SV+cszui$bT1)AwIS5E=;4+2FC@2p^ zRK}KY300t#=DUE6AcaEZbf(la3PY8E(D_)p*UbDjPc#;YWV*5*{NGizY*~`-HjB*d zb%evAQF_~(?efQ+)_AC6($kqtu5vr$p-^8J+Gj}4a3~nmJ@F2&*=O}HYuViDDpbdV z4zyl~21227tkrGyT6|;8@quPbD4na=LqGEbGQH>r7PTef%??Kl@jzrq31jFIw3}y< zPYD-tKhW9TOjBU{p);7Gf$_k^N2HBMZ#0VDsHlEK^aA3Zi+TKjoCoj@#C$GGDd%Wz zx@54wrJSA0O*N*U6N4uY63X}+n7jii=!P{}=hp~!)p)(meI3MuIGe}fa*Y7$EUm7> zn!C?m-CA08L4W@RtI92F&hJ^Wdt~XJ{{B5nM|KZohqKuwh4yxwPz~A0a-opUmWnxK zmWU2yYs$H?;>uk^xU)o07}~k2*oJnn<9h}M_KYvtGrTE}kl1L!mP}Hh$CDl@cPw*S z5vvLKB)G^;Si56byZ7_8y9he+wS4ssZUDZ__IA;1+0!SQ%%nRBl1A&N308|{-Roq) zVzNN_RTbHR18+9%1r#nRO!$G7M7$C!x&LBgEe~FDF<@>l+_m-0(dv?+!GY{Wxr-Xt z)OFfxiY4TKa7O2)TB$0Qn>c4Z4)42sc1csg zs~Ah?VkPk3aM>M^;7B~)*)N%bj#ePq!NLm8yaaHgcM5soF|c)2xE#?=(wIE#G2wgS z>k%sm2>pCtPgV0lIRGBFEnp8A5nJ*-&_Vasl}|7O9CA`tkUti-J+VCNyA>tZhQ#(1$? z*g9fFoaZRbHnSqe?5r&Y-Y}p+-i|%pwM@IulvJvU2$k?H$rYO2lbEMotjubrF z<7PrQ=uUZ3##iushWTFs&)3}V{6y_Lqal3f-Hk6A1~4}2x6F=)UeFvDQn!8bwm7=R8b9dBXJ}U4_&QDdlbZ-MfTDIBDg=FC!TyY ze#4W6zG@GDHkzp;la73`aBNYY37jc-18HcYcm+*8sJj!Mgz=@dsn7XR1k{Yz@Uc0> zV#5%SD1C0KX zAl5YzoqPT$;e>6cy+Kw3Z~MU;EW#&<_wXT7t9Kjkqb+T=H=pb6;%#X?Ak&P>`Dy{_ zaxiiXr4DLBR~M{al2Zi|S6&FMJI$KB7hl2l%5WD3EY^Sx7QjXH&P688?2Jb&Yopjx{B6|xCZaxLuh}yPh4$WfdZqcmC$8r z%Dq_&;W(3a(>UpQFBe;b`AY&f6+}_vqMT}Z8Wzfi)d-kBYCo|q>rS<34IkP+iUkF2 zhG)LRJ^)W#GyG}D{%rNaCWt`u!HMO5U|LKc*n*wlrwzE%=bo z*yeDhW4?gbZZ;{MlO<=c-DF9E@nXns#jKM91{$A4wL)Vz-!p$L%U7 zE@VyY0U)&_Z%H^GSp^#MKs$tq>Uccl2Yb&XoL0mXE!bf=g{DwILPi+nWP8}r(Ka~J-6aDjrz2Br!8?y+lAAN}^E+dC{&{;xWeMHkk$U2p zcDkdrb6{C#JDxEz-uj{C?e7N<3C=u+j>nI{&R7Xci( zH6*=I2`pv5p^{mFg3OK}2~S}v`fAX2N)oDJ;n3LuEf-dXs>+08f<28?QPjG?4X|O* z^M<-?@G{!^<><7!Vg2Nau_dj|nRGJV1b-zuqvJ3b@}Kx;02Kk~Xj!0l469nNoe(Il zSXL?s%okKLD0D7Wu+qqUuMk~$;Zz~dOz#&9rnV(;-!Y`Ss2zp0DdP>eow{am51rfT zaNrC@%jj*Z>K>b#@W(Z+*lVp+clDbsg{3ioITi2Aq!P%|=xj2F6=!l?o5d7g<@q{# zd^j9-pVQe9>0H;!!dgJKN#%7pi)x8`N{+`BIh?b0ukK#o1~a16`%$rZ`gOsU;1?L$ z5u+RFi{h2y4Z?ci*Hv2)V-vg30RtS!2<#8kOUMPQ*;6x6)XtoMw z;-}IMtSUCaVzKQ22yL9VwV-JKYkdMW#sJ2GiOSyLAFX{o&JMRl79K|J%W*3b2*S`y z)(h)buNtck4fOW-d~Tp^_I(YMn1JCieHS2e$%ex{RCTci2z7FAWHOeqlk zxEpy^R*xG$Li&>R-S(y=B$})u`CcqEr}v<83L#R|Li{T-NLLFFQ$?IfEKwrSR2e9h3XRrn|^ni=_40A3_CEM%Hd8{#@qX&MJ}%#wiVS?o@5EJ`ROcXj;< zC+^!)bxp0DSf0-L^lT=F7VRW>Kt*KaL7-v}x@siF*)35RXFgbMBW*oHjEUG3(NG0E z%g9(G7Z(|j%37DZ+h%T&m7KkA`#@pR*6l)#PuNw+!q*^OEj#zJqA!tXZL_;wHn&@n z?HFdVJ(*fE>epK}$*U|$?)LWBb@Q_9(AnKV&zZW@p?6j6o%wLU612J;=MS0zWvN>8 zl0$9}j}xe>y+&GBSG{R6xDb*~X;ln^q_YwrPcUlObUna>_b?6NAI2%hqS6Nrli$yi zzB08RMtMF~ylz7(k0W;_9!Bj7TP`c(^f!@6CQ|-T6kW-tqWV>k#LgVkb}A-kF0EIg zE{a3dOIGjMaluO;Y()KU2nlD08-GLhrNbcZn_^4)0YGVp-zLw~Un^pKyC{7{*AOft#E05-PE4b=-CFqmm@g&jf4n}lzIql(D_6=hJDsLj+$ zUD^&S$|S8t4u{a*TF9nTP^P_(9%m0_oHbb#9i~X7w*zMy=^oDX@cxCCP%BN*n9D- zwc9*xQokTuqA^+dlq_n>7iCq?LX~*j!ty}ka7WNgy)&xlpRb_a z4*z0Ph-C0DY-U6|fjZZv2e3)_zfH{JjWM7hn{N@N8x)f@B&)Ybreip#;4L=-hz-kx z!d4tcCLS}HZfCvbf^n_to4wW-mPLLsJar*IhQ`=28P`I_p^GQ`FP>`@!>+8TF0+uG zhk{_Z^RjW#G)byHOj{T;SP6LMkomtET9C9IS?!{f6)SLIGREE2I-B?H(eM2Z49ZiX<~cxs%$}06`lL(F(jeN?DL!m{%#qO zLpbPnTfzyM|At+U3J&&r#I}2ckE1Xc0uA$!(3=T!g>6T&Ch~BR0_ngFO}IfmdOFuv3-wEdTTc08C^3$%4tK!|H8JQ# zN(vMg6eHGBd5K5Ruf#sO@V8UfYw5ehC>noNKIC%C`P(Twm$45No>yUcOE31yCKuF` z+xW7*x9}`qu@|}#d{viWy)eP$ma;?MA-Sy+eC?L=f6pPxiOl?geTIEl@PKm6HU0{T zp34=$uw*(=vQh@4k=T;yrzI<}(JuFRrf*Z6p}4HP^B z&you{GEZ_9R13=VFqm!cm8Wm>c-ZB#YLTX&W=kYRb&5|~V@~sD#eVa{Zv~i59IfV1 zK?7d)Db#Fvg_O`-Eyex!u#ZSyiOHv%|!GH;LA$U3v7~V7eLcvzjYz{=x>c4DxeC zDCd(h#TDeSc(G<_%5#hR`N-f1J9%7QuNQzTKo6lX@5!qnLu%0fTxuwA+C6Hl&OtaM zr0FNvDy+`*RbY1H-eK%8(#|1uH;G@cMrpm;%=g=C@3 zzDSbrB16bwN)2L8At`sUy;p`9#A)jk{tP%@vSzYcVM zFEi^Me~yF^AhX)!fbJ@UBe1x@tWA2rUBGuok-7a>_5pa{)>JLjrRLDl4IM zPdMC@h761dIjIY^0BP*m8sRS9xbaiX)b*B4MffksFF-{N^>a*POjJI>RJ%}pU& zw(ws}NT`4+0~DnQv0Yrl!-^nUb@aC$e1NICG8o4i^8H?PDqlJTDLTDGE1BoKOWX@a< zUyJ}rS+fBV6i|gNI3MbH8g5qCMXK;KEOw(wM#OlrJ7GEEIpe};V4y3vvz#$2@X>+f zKy1CFrq$LEG#D^;0V}O5+$0ARfiH^`8w!EZ7GdE*s9;isd^!_Bb9SVJep*q6w`f;>$YPlCCS+wTY`e2Ui+`n_FVp}MU#A5XHro*&dfsW(ArLkF-eCUKsA9MRs!)I zVAhZmZ#HMtR;N|md!-n zu$ypt>V6yN-qhN!@E(9*!I)CDtDr=YQw|r2 zqOt=*B8zTe{2E@ywqhKRAl*&*WZdT!&SYmAAT%^>%-X0~Lkzw~UaCsrOzdRiTMAJZ zv0rduMD0<7SirxaL$ZVOJ(TmUCJLNARC12TcmO-byx-%D5#{&a7rrHY*|; zOadRylO<;9i3gg(a&)lG<};(X07?>Iy;DDTxE1?~?YqtjD?txV!x6<{_b7>prt;v* z!btYZ{AF}~ude4E(Ne%{R~)G}mK#cstuVW+lEoTifo+E>iUVgJ{wY)l-za3@yIxvF zC>`I=5f`9o?!|6#ZUz@9@iP1XCxgTVBgI`SyN9FY<$70abZ>I$ zrfBl~^E%hInI%Nam%2-x$WCy_y_xvZhgNR8zFK+L`NM4wf%4t(fLsIn*9@zfIQ5Y5 zB?Dd^&@zxM@RndQD)OULetF%NR$l%SFR0y4mje z?=6o7O%CyZ!~OCbt?bN}#MJ6U3vlg9d&l-;)3-Oim#gG%@5|o`9*YX~7p3nv ztpAuWC2SJjWb6TweBre~?#2;^8F?cb^_7JO7se7el!m-D6WamFiTyxoG~b76>q58S z8W^0+1k9iMy|o**REuj?FIyS`Kn41JZCbNwa>dfAWm5xvr6yxp-Oh!URH_|SI+m)U z$4auqm&So>-j+ZHrd|I>5cOw4(u8=Fzv62g4Ui8n)sYlGxE z_!!c7QTS_UDM_xS!22rgMZlR8HvKdiIcZ!+NzJVekE)~BjBn9|);!rch1lb(5FdmUQAsh-<6oWaJNde#t3}H9i7MKeqA(IZy zxg7C+eB%32Ag!fVm^CDiv{#d&&1H$S`t<^HYw8NHOR+1rGOEc#TM_(i9SO&?iW*s& zefdk=9~KoR#9y)ZfS;wS2^eTbfPE69ga?dl$nE$=SQ`k4O0b;cGP;uD(x#H)PL+x= z7_NXI>&t_@`0UHyAfKQr_Ggi_FPl@L5Kr6RIyAxaHQ`q7eS`MGyWGshecCE}EOHvFA z5{VfLA`U2;^77Yb*NWyH!s`42tCJx;CP*7I1?P365sQo1+IS3gL3AJ~YDQ)fKW7zA z*lMjBPEFAgDZitA;3WjXlv$?568lx~Ci&&BW3eV^18c+6nhHN6aO|{lgs1;slr%SXB ziwBUfysp#iGh0&mwEvRsCOIfY5{ZZul$*L?ZzJ+QBm9@-;-iKJpkTZ-a!R&%6(a|F z5sW-zl_J!CF-+9C^&{9=DPpR!=&o$HVlzwe}x(|Tj% z5qS4{gtgVF3~&f(y`c{<`3Q7K{J9<;Gs*}h^&WH#CneGsl`YT!P2glOAl9dng3w&b z=aN0C9y}?L^Au2kS0)iau^|!%Aa6b)E+$BqhgrGshU~JmWJ9Tf>ReKc7rNqbO2izC zOir;z{q9ga8!&6xaw^p0N8by?8bo#eM8%n(;#>t`PDX%P`pw4@5Sw*gp07vGC>l>Z z9_eaG=hu{70GNi#wgcykDv*rA=@u*qphnn{`dv7dr@V=Zs!#tbsNDKhe+9+WPyZ{Z zH}R|fiUe-zo}D@*9^CGWE&^2i_P)#^jnxbf1&}NReh|rYvR6dUX zsxd-+Y|5uo(T-S$PHr4Kif`apU=b^)bFLyoUeI|noH+E8G?Il$=N}U7?MVlMv#Kl6 zlxS~Dx_n+)amFrL_@LbtkB7oOPq;On2#0*$aP!^s2uVbo>9;_c`ZZ8U%H$m{QL+`J zO^sh6dJF&B5ea8gycy>S;2;E+oJxdrSJ_<#%W^U&ckEL{l;WX8EtOu3o&YTj->@+? zol8e__8s^6a-AiFL&`aAsa$MxIoq2QbFk$1D1f_=Y=FBCr0wFb-I}$~6t$U@p8<7P2xBU67z*MM zqA<(?DRYFt8mmDeg3ryrf`16(kfxeVW2z;0sbQ){*)Ny(;BklqV8VQk^(kT%X!fj6 zX==}Sya6>+)TaM)c8X48hUVJb#lA=(Z_!+8c`1Bht7>!f*QRJpobn!NrWWZoF^{Yj zLW24~!l>{oAXzc?(O(e|l!&wE$(DuYkduAgNSCtpq+;&dKMyx~}&>^$*S zWWnk}7x$euk?IP}4E$iw^ASUWm|Rc!uU=ps+Y#Y_Ftyh6UlF0J%R5qSXMbmbcylw_ zf42NQ-qM_iH8-^*Z{(Qr)VYKoMLYzSBYTruvWZ3=QE_^k7mVGkHwLPA2G2jR{1=zD*ljKYK?0#QJ_bcI+ z_(&(m87Cekz6qWs?8MGx)uiqQ>z&;#uw?>K@OiMTa57R@z}T?GNTqOsB<3hro^^TtQ>tzVta`Aa5P7Lk;NUv4STLS~jBWM^we* zF9pqD=1x~zQ8wGtNNSr>^rYSSNzlcouWI#_O@E&$y7*V;)#A`tVy|e;``ytXGeaNW@ zjY8Ogd{y!))b!N!ET69Hr`$_1?@AIqukbLEI;ZzA5;(8$Fp@Q=^Dqk9*VOE~(l|Q} z%+i>!;Y6)T7}PJ#l`Eu85mAt94^EQ>l|z zb#Nk1mS6xB9wkapmtgB`e}#bv59%~5l>v(<40j$7LH~c_T)B{i@_E#IB{P~F^<=Y+{c%wP4d0FOc;OcDQ;6@!IBk2NKCZ-q z3KWt=*dJX3X1^FIo;+2M>_+0FiNHWwlKnov9#|r(-g0({!)B6fZim}p_l81v`kI+O z;pa17e-#px63ci^8=ilhq%kDuKbI59aybbB3Vt|~7mm$5i>SYc#>>%3qr~WGb?9cQ zIN-dVvwF2j_S>TYeMu9>`hA0996{lOb zcpRD|6)-gOKe4N!b1C8jA$pw#S)Azm0u4sAK!f?n|BePDTIOmn_`V2Y;Miw5O9O8~CI|AeP*Vf$V)dv_NQZ{=7O$T-6rLeYrJwq|g@aBz zw5d3Y*K;Oj&)b~iMyHLFsBzl7w%NmGks8mMRy%6CDa;ad(6Bm0SwFx@Q^ZIAP9u$q z&j~-0c7f97VQ66>9_BGBzv{Ya9MDouWJ8l`W* zVyCA*kEdRE@>4-hvrh#j8BS=fD3)YEFO^)X)ss(lbQQ(tkv90n6`QWo@tH4)ehwetMyIkEnG`Eb$_OXY?Z~dll>Pn|$DEk=ig{>^Ar{Mf~d=ni6YB2}M&c_@yZDPvJ%q39vK_?#zFZ^HWu> zt2V=q^rAA{-r@Im*b#$A+?bWcrzXJpnT&KUlRFl3!_yr=JX>NDbcP?EnP3xKW?b-? zAubG%D4;4JOBsEJAU90nMGd2ZP{pVSi53aWaGWo40Safxc7l(lCSAyOB1$(z%N$Za zAz8kg$C$N1z^Uso#4?;{v!$|}D-bFSKkfx~fy=D<94TPvXY5W9@GE(}WbDxM!ds=& z!L@8Wof|_PWX`sU&o`yXz)d&NimaJgCH!pWC(y}=SAh6<#tPekkJx&DR;2nL%mLm& zP&8WJ>s7riS_&k<9K^cq~(rM~j zujDviK-UtVU0l~fUkz}nTR88_(aAM}aNLCj24U0Sg|C=3w=RfF&ZruWAs+EMCX(^ zWe_qgMC?$%RCC_X{kn5vQzAOfkzbb| zho%A!M4PY8khk0~ovz8-8d4;AYr)p==VU>~R&h^J%5Hbbv7&C9{>Q~7o74qZ=!nJa zM!UgQz%tvno zY>ne@%yzCGfb8MLXRFOU{J&XXvT}}eD;9@*O~K9@~s0Kq;XWc)}QN@Sr=Acy-e@caA$t6Zk+ z<_IEwJR*n%#CZaWCn^-kP?UC1JYanpVAX`k=%w2{ zjmp|#F8^$R1@{0!yf0a8M!zd6N*uCHqb?lK08m-d`3cmLLqcLaL7a)goY9hh z2n2T&p-OTR%^PjDkmsXqRP(^y79H-cMgC4t z;;}44O;atWBzD57qX+ zoZbV`C~+|dk1-*n$jr{Y=Hda$WlK33pX=r^b7{4>i)Yb|{rV!VpQjhu;A`f4gidiH zg%^+u0OSP$y&BL3kb5i**$@7U21bC9!`6bZkhp~g6y(m5ky~k!;dbe0%cg6t7xgq^ z=!M1TY~RWLn6X8scHW|@16%MIqx6D(Q+QT<0}w)LsFI{GKpfN@AUfrSkUo8>DQGr( zt=5)=*Oe}#K=PXa?9-w?+3j`!zeG+tBK^tno?DvpkJ~1i% zPI?j932!ld*z|IEm9Hv4P=2BQ8C~G* zT1d-jz1oC!mbO#7TDx0&oAy!dbJ~}+?`S`=G+Qc`No&PAVf}{n`_^At|7eqJPP=TM zcDNi#N3&ztvBt60@fF9jj-NPw?RWt}U5~Tu9CEI3Zg8IC+~d5;d6V-640U zx>NyRUKI;(pNme)p%`Uv_`T{WJHUJg@gocsF`?c@O$l_|EWc_Z{?I=eyhYkne-O z$NkR*(t*~%KwvpA`7a1u8aN!dKk&Z56M-)Uz8(0HzFOa+@6r$I*Xg(E59#j->cLE~ zEjS*!HuPdx3G3m{MV^m-BKn2s*P`Ex{zvprF(q~+c4zFJu@A+biaitiUhLE%HhY}x5rjxD7f#mY!hUCuV<;lB~Z%;mv{7&-6$zLb`lDaf? zICV$r&8h#B`bg@Fsb|vr(pRN#PCt-o%M4~#WG&f1Hl6LtF3YaVZp)c+{#-uyh1}P2 z-^=|+?r(WH@6N~aMM#FX=HH+HRQ~Dwck(~Z|Do`QV!qf}94<~2Hx+jj_Z6=!-dMb= z_+arp#g7&LsrY>H7sdZ7zF1O9?(#$B50wA0{N3_To1bd_dh_!wQ!VGT>}|QG(v@IE2 zvU_U501ZQ z{PE?f<;}}0%g2_lUVhf{3zi>Pe(j3GD}Fd}_QdXqLlZYoykX*P6Cas)V&a*}wUcL0 z?w-7K^6=!nlaEY(bn@xR?@s>b%70q2<{lR?(f^beE-J%=kGtb|H%F~?0@V25AFZ<{{MSGI1s4)-+y4&fh!N( zb>J-r{&vauCI9%kme*}~-E{~14qkC6erW8_p+j#z^o2vexOCvsotNHw>64fK`m*3< zW0&o_?D%ERUmm>thRgqOMb{OVUGeA@pS&`1W#^TbUU}n{cVGF_tDIL2Up0BvwO1c} z{f=wO*ZlC>C$2kiz3uwnUH{_Y;lq0lf8_8Fj+Bl(a6|76@3_%@<9Ba*^5)BrjvhVl z=ySJ}ZrOOtJB}&G)*k!At@^Dax88B<4{lp?+gon?$?cije|X0ocRX|FeRsZa*Qf42 z{D$xw&U?fA-tb@d^xt#;J%6}&*BjsT#y{V8(S6t4f8G6`yZ@JO3cP9Qo8I`Q&%J5- zf$9T?A9(7`$KL#@H~;d%)(6jd@RkQZ{NVKQ%JC(~R~*0c_|3=fJbwT2M~=Vi_y>=F z^7tUwDKp$i|n_n~h;?0R_X!?!;C&ySQJS^vmokNm&hz63t1BHO#Fy3+|sXJ1J$ zb_gJnPU!3b5lMGC><}?vf}-hcBoLCAghf2qf7pN2SM3)e|1ZI`UIhC9jH~91R0wU zb{3GI;iuN`1k4^Js8s;Eo((<`;p$xQMbGi3^F%^V&?##_ewq2p{a8f6@6BK?#xbgA z0c_q#@&V>B&i`F-9qQ{WV15L@%#OqD{eKhwin;wW6DP14pm6?mH>eOnbT6UDZ{WM%gvFZXq22fa`qr3EX!N7~ z!~4SC_)6seFQA=zDj#j53vlQ$+U9$3)SnBMVA|_HfU3Yr^|R1U2&#?i9OF6*=M(ti zn(;he4juk~!({Yp24H?5;aq@vOX>t0R`~u-z>fdkX9H84=xwrz-sVk!Pe8u}xDoWf zaNP>PmkE>$S9;Igu7kV+_0j?;#n^xr`Q9i7%D>>5*^B!42K~xT^aJl8{2*XI?*Ay_ zneTSgX#~C?JVM};Q(R0>LtKF$eWA-%XlYbK#ssnw`F1!n(Atwf9>;rwD5RsUz@2#Tn zF0rB~{f^vZ!JWZh@CTiAtkl$ zYP6)#pOv16d6K-)CIr?l;E8%hEyKkIuMGKv=_F;+SNGAx;IO_QaKA**A>u(e^kpz? zyFff8N67{7(mWzHc|abPpGmJu!ufRhILl(YdP99;vYMhysiuLZ?eIS&;nRO(lP4x$ zkzAczn>;u9+T;h4f3(Hg5^c%wMD()_z>#0s@J9@{71^3?ZMMa>r&9W++|yU}jqV%U zH?ePW--^C91A1RD{q)My5C5#N!hpUEXcG=G6s3Abj)5j?;V*hu9+b!A&nf}m#nv_1 zqdvkU0ckP-nuz3t!z z$$8MEnl)K=dezU;>&3cWAwPmX{P*i)KFW9XUhwZj*opfk-FugN7kL-{I@TAbUyqFv z;U6TH$TY@OZCY#EVA_m|$JoYn z$Q)`I=e=Br$F74+_ddZe>7-D0E|kNxk}qE^flv&FUIX0b-B6YIq$oM*g4 ze1zWl82pLfstM{6HBsH9Myn^qzhtzGhwtzLd6B$Wy5u-HO;*TS*$f}z0=Wua#E0c$ zvICyPkK|v_N{`F$)i_nB#;Y4uy2?=vs#(oa*Qk2sQBSB!ED@NZ7OE<>Mb)SU_|8Lr z^_03rRiHIJr&6&X^Kx~e8mI>0o6u2sR)W#DM!;u^IY4~1HVZqhhG7HZ<@hqi6=I;c zN!%qCi`&pQ`~fxc0NyOGid|widJ}qTg2ZXeXopLS#OHowqRhn!qxi^^oPraPFO`#U zeDU?NUEU}c$@}o#+PQLt+$*=sSLJK+3%Oc;g&sN>&*+bMbK=X+G68SMJ{XCfhu*8V zxKP^gmPi$aGGAoN3&q7UTR3F_W+(>X>p_=@QF6E#D+{qYZv+-NjKrI)NL1l1?UCi8 z4By?X#4pNea=e%#%kW8)t3{ox#8{|7P8Usb22PEt6V3Skc^k%_^W|)DgPbR>!|(n@ z@&>U|-Xm^7zj?o0E>`1RxdHFWjdGoMR6c^QP(O|@1V4$dc5f0-<9)JKJ||w3Tf__a z0?nW>1L`5QRz0HDsWs|;b)Qx4cqZDK8V#v5cW! zR*4z1MqDEsL<>fft@sLkBetl`!P|H)MoIHzt5_hf6*tQHVxhcFTrcO!`^7_YrFd9A zDAvk{#A9;3cwBCfkBTR-*K@OcT5Q2+?J4mbzI6Vw+$y%qm+;l|ZQ>=I`@KiLECO;Qn$*;vpc}kqZ>i>UY zZfh(~fI23>#q#?=fm3p@B?2F2k|vB4%y^UHYdM(pFpHn?cKAgEihtuB@hjd?Ka1fq zM~uLT#wCYf*Nq)-Qp{INhqy>);uM<b?=b3iaX_P z;&zN8mdihg74j}|uUsbXlXr`INhN?1Ejx!?L)g9_ib+ekS zTGj1pk-7ov`0(L-yG;|5%iQJoSix2icIjBna@o`}EhkAESYArd*}-Y??I{gv(Q{nM>wv#-s6+QDnbNdaR~hA}#kpJtLlV6F+RhTqJYeePfil$Pu5xP@cUg*N>R&$T ziZU=KwU^nnk`e@sC{MC!1w<8;m)kmYZfJzh>ZBNVHqAlt4&vNdQf7lS+C4TcxTLHC zAvTH&CMu7pyo#g>%=ab1TAI~WrHM&pn&7RMDY(bt_GIEp9_!f}A*zUDYk;UMFR%8L zYcj38+$cf0ts3P?b(W`V0d||)rkVSDP^LgvNtqUy>ePZ#ou~mMsYur>Y;IV>R^1U; z>9kQK6*oy&pRi`Ga93#ogHjObvbEdVkynQ!pg$~hX<0={l4nwRS!#JoxlJ2!SsCJz z$S#H|=~|#&>*Y$@j28e~JqWj{&Qvs)RHsK%m9?6zf+AYrpmeR5-A3Amp;%^72^Q!( zqN1EwDvDU!VEg7?VZ!Bh4oc~4I3f1#4aurYk!er?y7#ZJx!Y4cRH4QUZ{HwkwUTwjq86v0NZ!3I@OT#Iy7*xD;>S|rStu0`3$mX>vx ztBcC}X`wZ#^U}3w``Am%#$KieCZ!-en!{u49U{s#xvV29%B4wmZKyiq5nvPcCW0nRAC1e zwx`0#E=>&IjMaYJ9%AjHLnwD?nHH7mw7In~G{4YPG&!fO;>84f1U(X~;hjz=Ss(^+ z($f(Wl&0O0med!`I}T-xO-t9}?H!V?39vU^d)qrqbWOB(nCY5i?+Bo4A1pAY>v{H$ zK)NQ|JA&wXzP+OtUDNEahHih&QUOb++A=gbjh>ct&F&W&*BN<@9+~bJIiNGLMUS-E zg%+N6)^egy&+A2{a{8Aq1?96ruf8ZBT~kp$y7oi)=-MCUqw4^akFFP>d~_X%^3nA| zl#i~1P(He5*lol3K^kngRcHwnHgtNjg4%=!S1p6uti!GiPSXbCdCbJ4FcK}c#|JXi zQ;

`#Cw#9MiQdUln(RS=`j(w9G*r0W#KIhE9=cG272PXXDAS+j3d+Tu9U9xPRMC zp!exfTM8F(&k6b~8lGCvkt1WNta-2p3eaPk3Op>Hf^;q4o)JGRT`TxctZ3L(U>|}i z5^?=8WjvC)1ekVod;7@Lk?4ZT@Zv+Si#JjMJ`f)R3lBx#6{p36&5Z7}KeKgMg;NW0 zrPZ`&q}pu5+9C6z?rgRUU7lu1b^5q%S_SnfBQ7o5Vzvd?lD3!!1SFO_sizG_r;Yrf zL27Y@WfSr?=|U>JvFfZNh>CMQ$IE= zwIC_Quf3#{8+wjJ2Rt;*XO&U7yC^M%>Wu7Sl%~@JqhW$r{jtaB1W$N$hL(q?e9T$G z$3mQpiPrMLGtRCJ!DT#I(G7Fkit!TmS!;rw8niYZW}aw=@1Yn(2?$BVrS{GE@)n3m zAUNbQ;u(pMQsNPLO(w7g3F@7g0^H@vzPcZ00*{1R}1{$wH7VWOQQFoVaVnyA~wz zwCN=A%w`^nAf7o$d~v7LxqQbd=IJD*xK<~LeLmz|tc$!(CyC*Dog{`Ez&pHC-U7a3 zc{l1Lu`kp~V!sI~hwJhd=_E1StdqpB7`&Hs%DaW{Sl+EVN$j`jB(X0+%1d;4x9cP^ zwCf}>++p7w!XsPFlC&8IX}j^G3GcFUXPOpNqnY}Z%=5j_(*=G2?wy3;q+E)3o&J-r zxkCgxpBG{Pe*6w1dPH!xInA6Dgp( z5yn4-yaa!aDC+1Zmt2Y;2}{c8zPhMmAl+{b5_*6rDo^UTfP%K+^AOTJVo6mgb0UKN zMg-@=v2~sW-Ks9zX7SU+o_x$ySPmBKP?=Jl3i+r^b=LxlgXf)_R_*<45bP)VC#|*lc9~~m>%9k(p z`*zZyvahlm{9z)`G(osTlW2zju?4F+r;9q#1`lNxe9f5vnagY6MR!!n@~u;TiX&p{|J&X&T^9&4f(S9ljUnRtrySHK^`Vd}-40-5)(w_xLWU zwoZ;I$cIW)&$`*VREp({T${jfL1w}W9y#Jf7YX(ZRmj=+mO2l zWvPL+JfLSHtOT#v|8H>19*tQP&o;#ju+`o1_Y{l6~O*P>`4jGWu zf|?o3twGnQn5{tde;I4hCg!qM)K+wk23)Hkp%Id5ptlXSX=MFdKvVq_?`2{%&WW^P zrmLBGZK6x^xNZ{c;Oe;!G7v-Uw5NQ1+IUb8@J6Cc9@vUXW`o9hJG3E;@-4)+aiZJM zPHm9a-7aKJdPbTN-U^#gOK9-3%|u8T_diUf&qSf4@IHiRuZKU(h6&LR-azcDrmua# zj~)o0`Wv#B43;7AsfWUg9R@#hIK1nT@NP$;2U>>Nf*ABvu`*6#7c{(;UQsO*WN(>> zIf$=h5zpU&!{_`tR<-;rZ@>)7jdG#92_Ei6@@BbM-Xd?6x5*{&*cQM$ z-wv*RX!U&DKS5oTu|$E?ZUFdy);+$5irPsyj{Gw@_zEH!Z)GdG*%7Wo`J*+uZ2zW`tK zR(#!H8|HJii<$Bj`21gmXZtnGP3(eK{dKt;e*Z?f2R`Ci@Rjd{pV%$ml5fK|Tr7T- z0`nK|%6;$_kA$CizkE-=kFnmLF@yPm7=<~FgYcBMV5aC}c?h#bhcWliDnEsP{2F;g z9)%a2{NtnHCm$nz#7q+AB`^;&R>I>f;c=EH@LiDaRiP?O zT&luVgo?!e?`W)oj}`M&oR}o8Rq-l8T&H@gM9jSQQRj*4F&8;sov&;vMfJsO70q7Z z^HbsxHBj7ud8y1|R(#d=qV+x)$??*Qx8(4PvKwO{^Acu;w!wv(~Ygjf=;qqPIxI z8i78TA_Y51?iDMT%3sZcyh~@u@h18U4NLP4$*~TfL*+Rr}PR)PD7z zdSCrn9Z(;rgX%-|k@{F2Qh&j`^C#+4OJQY8&77LR*^Tv??n1YIb>whu&`-*Q)A6cJ>KC6EOdLSX1B2( zj!d_apTl>}u{!m1l{F1bbB#m=A+D_h?GE{Zt1iL#m z(erW|Nt}g&Zlm;W|I#}R>tz}`Wx7K~b`^|dI5M-cf=8YqHp^iiRq1Kb^T;yNW)*~t z>Yf(HG*rzpRLsgzqsLfAch)=Vv)GVg6w+l#a}@-RHZ&fsYit?aR^L!v6Efz^OtRSy zj?8Q$v+OMESUdoa2 zm{`};Vl=oS!*;$lTx4(+8M?b2p%d$7H%|Ao%%0WYncWsRQP(MCVrzq^wXX9i$aLoz zDRPZ`bMq{d^wLi1EUhCm*U%={&^EWwI?1n;mdpGk<{6Um@a zJ=|^R?9L0A++}6AQQBfdTer{ZhPB=9(8=AbJXzN#aI)Tx117iBqxvUvYc>=xGRim1 zp6{|;&bAA=yvtU-F0ZbyX{l+gZ`BhO7}hT+uv|X9#pCNp3k)?13PZ}f5*tYj`NcVw za=#?Sx;?V+y-e=7iVG}L{i<$=BY5f=9l($*>r_80n@X>)vv@i!jb7P!s-1>~oksh1 z8a3eL=L1i_p-`dmycGI+cOzXP*9hbpHBxBEDa;P^7*_S@Rt@%$RsFPfWCnU_I`7f3 z8(BMi*Ia9*UlH_@JBEZ*br~(VsdrQp>CQB?$n=Rav~v_$tNlb;YS)z% zy%a7Z2iFi)KO?Z-C`i50#n<~i6j@vzM^<)z$c!^}$!2q*|2A~W&bH2+-cnQ3*x+fb zuCKDr^jEBbTY;s)uNty-*_qica|7(5tJW!Oh_%5ly%A|tT#ivuIoXy*U2dbF+#D_) z`hVlu?0gU8TO0jEnrhGiH2K@h*UuZ$^`0oxU1Zq0$ap?{J(h12gt(_4BPse zdXdp0iVWS|nW0VHdZs2_r;w)K^#4Z693y3}k$-N!rA04wOJ}L^9x!Sl*Jz=+h90>^ z))v1~TUt43NNe}nME`H3%QH%!XOuc`h`EjW|2Dt8d~x}D3&`@d_92E2c}CuOMb-Nm7^ zyIFm0aRd1305bqQWOrmcUA^Ylv@~T9(y8jkrddH4 z(`PWzHn)k1;I=w+2~75?ZJOP}6sefyDB%7HSFST$`T4_@ONMKXF1T^_tQHo`1PLa> z5KN>lm?&MaF)VTDowdW^WWl%^g7b5fYZ9?K9EFAs*#%)x9R@@1RpY6yF(hTXYJ+RcLm=2)!dJ|3QLoE4$i3ZwAKXI)=!@eUX12+eKNV_WI6QTBDm@W&eI<`d{!&p zGONB3zkV#OHC0WG)n@nXmL^V`WhBkg-*PBIuC=+Psky18t-h(z(-7!sX=$1}yBRND zTwCg=*R}Oxvbt$*qfRx{)V76CS+gB^fJ{Hy;YSbgqq7Y<%a5OEA3xDPexmg!Hrv6C z8u$6VxV=_2&8qChO_C_KcecZ6$aZCT8o0{`zg|7r4jwe&ULOf%I|_U8W9XNf`wVd8 zhSoJT&Gb|@&4IyuvNN-+s6hUO*cGV%_;KLlWx4`c1!0}aaczZlYRI=%-BelrH-$Q5 zr!xL=IsP|!em7b9em4&NCemL&|L9!4iRxA;|9GeWO#$D8>53L)G;)O-db>C-!YBkR z2nE^vMfbE;*bYVUhtL@>HkwU>EBCwA|V0E&B zw@1Qvi|=mXbQ_!}0-wCZ{6ZnH3+u^o@;3a^5}x*(fNvJdfU%kucnx+ANceT02Yyk! z4g9|NGw=uS0!i@${uNf2BVYJv8-bf~ijI`06%Jg3$Eq5KeJq9l#{|#M3OU(u2II7&LhW^7`#^k z-ZSthc$MH!dIh0@TvCCOJ^~NedbI&NG+$6JWB=_AwFA3+UQ@5b)AmPL;C!TplNGur z2)j^4#p6mvMuVrV5wilOnKdnqqTeh}%S#|7+8${C^h;1b!`-E z3VXx1r7#0g4H_KgZAeGg9k5aauDfujQ@bfWT8W9`NeXx=O@#SyKytvifE_*l?+(~4 zl% zE9BCQ$$#Uoi~slJ>D}GMI zIl|Cio%z>QK0W4ab$({Lp1BSEX?7id-i`Y8>{!p8O49Qmm)Fk{U7THdpIzf~w}GB= z?2_73EQbv{YfR4(JsKvm`qR=Bpt&Q3zWVDK2i@qxW{arPLe~W*KT}{(4RrC=~EHGi_={Vkl z==so26~F}O1qcR203rcVfEYk5APx`@NC5N(Bm$BEA@U>dH}Ye^A;4b%hXJ1eJ_Y<0 za0GA^a18a_M`C^jv!^lG4HJXiFfn*H#>gUo8&C`w2^a+!4HyF$3#b5i0F{6$Kn)_a2i8fZl*aKoX!2;5by!BES;B?SOW` za=<-+6@YsI_W|w)tOPs&Sc4X!Fw;Y)gwifl+OHLXnWF%d?R>n`F2H`V7+P5ao?+NO z)(@kWBFs6D#0;Vxs|;?#8}bjB^C`uMBc`xR5+r?inf4dR;g0^5^)<4kRj$t3rX?YsbY335e!Aq48jkQcz%tWOM-aQX2rbPThQfw%(|L*-l`W{CxopN!s9K8oxVT9 z?qnlcDG&r4EW?4xM$v2w$+n1wEp9-|TZ8%PSj<;%#9k+|MGV^_2sZdxHvo?>^4SW# z*b2Sa3cX;3B;4CDvQb<@bw+tsBb>^hSo<*6-on~jSo=`cK9aSMWbMOP`ykdnh_w%b z_E91Ts~O_ZAH<`ECD*Xz8kStclGYxGKZf2OK?qh6TnRi4yZho~ z1)fb4Rt{8S&sz>nIaLkl{1B~5Sz;rTY6pw`iVUIJ%nU5Re%-%Ft ziCyP3&P?HPWEOmW%e@3fLi3>{STM1K|CZ=mcOaoHzkcig=7S5~l(x z0JVSyKnq|VU;$t;U>N|b@A$e*9u5l*>l-#ObOU3J@g|)PJ&EuanBLBK7vsH*4=~=R z)698@=_8DfGyaBfSTM()=8#`G#H@!ij$j#s?X{#dyCF5(Lh}Odn(XCF2u}Pci-}0z7#ALT0#ya7+f%R>o0`lVjp=%s@ZF z5gQ_o1Gh20mGOpfw1IF3)4K?VPYo{x&SN|^9IYVS$@D136O3@QfbezU&xG@ykMQTh zYl#kTVBErZ9^(a!7c*{Wye@nhIPW7m@c@TBWQ3E1$C=(1z6bJm5{_CN{yFG(2!no~ zF~;NJpK|yw5f~?hf6Z8@ztidP9}upG{1Op_QY*$`6dN%hDFZl>v5oP72s=VbBIM4~T7Sw;QF)O&81H8M7UTVl4>CT?_!#3a8J}Q$it$hQL`q(ih3F_N<0!@n zjFTDnV?2oQuqgCiQNyB~z@wOMh(cc#RmylO;|j*Lj2oiRqeabQdU4c!pxYTQWBgnc z+FsN{jMp)KobfY^pNrat*qu!8Vf+r`_Zj~XjdmFIDdW!>f6e$i#y>>;f(?9%=;-0m z3!`t14r3hC4HqH2dkAqRGS2|UHiITkJ;cr-S&R!9509qUF-(^*oEj&! zWy}fi>}LFB%v+%MGkuWpVI%w)!kII+Hg;6(gxChcF{c>+#36!l3u8;HH8v_XfoYw; zHZ~cl`f(OjjBq z%OM#uS^gAY!~!E0cp>9D=4@o#Ch!+GpD|(~?N-KjGF}t60kJQ{Z3o`OSYxb*?26lq z@RM<;f%h>!!1!d`A%q+;XgmvX$KwbyXMErIKA?Xk9B*daHy+PIe1t*AfgWhk8B7z- zA-na?i?99-9)Z|mBYYg_Nkqq&86j8s_!EZ3Z;s!Z(2sEZ493kIGKlFpOgosqp7A2a zOBgR@yp}NJtNkOF=Cmghu<7@@*w%P6Zkhr zGXLhV@ox_L9p6j*fM3J(OBm~S@iQ1}ckxSDgq}PDcH#cGAD{(>?gJbEpw)#Q0Z=^J z8>dCv4E+`3RWkssEDXM#(B*)YfHk;BYYRh54C@OR2tZp4gGWDf1FmRsVQ5`p#Q?M{ zeJqVD+EiFI0Hckt8OF6)^s>&kF19YUK4jfw-D=%q-ETdFa&>w8p@DTb;4J{^)_PEw zt#5(rp!IMM);iZr0KE2R%p0sXY#YP#1~@rQy@uI?*YT@PpFKE_e$QDqo&j@kzse7; z2fYZe1h5oMaiz3R0nnDMTLC)&-Af}-4q-h8_!4jefEH=}3HBEN3&0A90we(X z0g{btKhfX1*Z9BFy4||my3)GFx&e07tS{hx7vlC=4_FUbk64dezpB=5qL}lnNdk z;=h44oXe>$;gGS+IRksdq@3Wr19%+Aj^ng5SmtDwsY|G2nn$V!POvOpqBPGreL*$!E3hj1>h&ASGrON5UJn^>7Amiaxbn}_L{@QF(A ztMFk-*}{1>u;d1gZQv3$aM}jaT>Oj6{w!%Lo*`|;^OQQKf{VWG99h&TAo3yf?t!%Mt*kY}m>T{0GWc#EMk9deB zJkIr)#{3!HO^}0r3Kj@r{+(Q+om`fk%=0dXFJ_zH!P0Kw9B*OHTbT0}=DgSY1f1;y}*VieouQJo$k=Daj^{`A2%e;x}>sqd_)uy|_GmG`V zig`A&eDr4spThZ0;b+9dC7R21n#`QF%$dwOl5LLuA0a16jyOp&#YvVnj`JGh zoe61^y!Qf+_tH~5p7R~g`HuGvM94(WcRaVft(usghC0o7g zft%SH%heu!f=-0!fchqt}F11l`0hY zgn};`PPbm28#6Otld2X4dEbUj)L0(Q0;8P^6?laMIl*qZM;*a`-9I z5MFoEVGV2kIk&e{q^&rGT^dq+!SVyxK0FsLW4S#?dH)1Cu^hgb<;Su$7PEYOO$}*p zWtoTB8i&~$1K1jWr?lcQ+oTGs2k?xm?-266@^Uy?<}l}en00=UEF->S%lwrsbC`90 zmvy_9?Q@u|@r4)T80;)T?($x?$wby?B54T!H)-`1>+=z#9EGM5OjN)>wVL5BqhOc3_k;LvG%GbsEjNamO&4)2Sx@6!ES%QD`5xsb zB9ZOpRL_F57hCKL;t_Z2{A@i>a&|NSZkDrKw-rA% z4vu}DQ+?$97@T`J)ywL3&@bauc?zMPVGnUiJ6qDumQ3S1JxFa#j_{IY?4}6dK+|ZV zIhQ)N*kJWJBphV>TljSkt4zuzN94*+BKd{=|U_Yl3i+rUUy8hbgBT zg}V{hPdE-c2g}q|xSOJ`RF&8d*r?iY*MM>AJeaM#keAU&nX_F_os9Y2EDkXJAmdWTC5$&QeuMG-jN2KnW@-F3 z#rcSo*KLg7=3e`86Sd0~^u&tI+}}OG*1w5r&igN}n-{6gi4|No3%QA#CoJ<5qOsEweWJRb!{6ZW zH#mGUhfgNj^cm5n&zNUF^Wb+YQZ+G86Vc`{qRnB@Vo9`nBk znqu_za?6eNa=UoF+#V4_i+;s7RaLW^#Yx7$RyWj7mtnLJTE^63vA#@1fJfSB7ls_b z*v>eMaRKAujEfkLVO&CMn&p(%`o>y$W$Wz9R$19PySY`?(W+~#zUYJf>G*IK_RS~Y z--cc9j?VuA>}wx^z3L^{hh8QtFlXM3ed7x;N4yNXy=zgN1tO?$s@o=4VLh`=Zgoup zJ~*~;s!g66KXIH*MNOJG-liO-h*cA?cf_XnmlYgBI7%3RuSR1OOe^|)w0mBbQqglj_jSg#*5I!;?tNE!dl6rSalOj8(p#3oryBC;*M{#t z2;qwmPS?doIDX4ug`-{`S{)gH{Ae{$B-UG?Oh%l(a`Lxvx&?gc0?$a3BaBtMg}+}9wGwHrhb)Pm?^p=};G7VOleWoLSSO5K=VV8` zhvBE=Rl)(hN;rh{#QzU$$2dxXcXsEFd+=i?J?)}L8tk5@eeu`_zn&x_r3JiL5zSI1 zOO=RQkB~=cG>u#_ZUUc~{k7BwzlzY;=$*#?T8cZ4J^emOf+bm4QV2_mWJyshDVoY6 znw5#xcZ->-5GA}wj$>Slr)(>Jr|iZ$BQwT*?_kBqN8s1L0%;b{;w0-$ILlgzU5G)r z$_EW!i=yXAf&TzP4+3Jl} z%G7qveAQbqRyrxXQ()hFfLHQZX+6dO3RXr7LO9k}A$%F|di;(;I7&plnT|2d4Vr#^ z=@`?=>O$1=aGXkkGnjA9_ZL=k_}HPVX~!iZpXa8kLboT~@JW%OlIOW^DdU%PFlIWhy8X7C{%7H5 z7{AVq>!(lLe9aBV`uW|AAHjUD`1EuPPrpf1se8IR6l4Fa6!pi^{Fad)N+km~E`pF4@0FHF-)= z6s9a};>x_vnWkt=Ib(4XL@~8%80YC7h6<33vUB&&oriZHJ`lZWPbN`xSm|!FJUTKw zG&WWpt8)7P;h|V48jWR?;h{*_tdz^efEO-?@ zG*%rNt+C3&pA(O+)Q{wmUocn&-O}_;H4QT~zOb%S3%Y?}T;~za^*{VW{IRqoF{sWeWd^q8rt)z<&A!X5k1G7> z?>;@+-GJEKfcO*-uL1EU^{*rZGnKFKB4c9ajB=}L&tw(lN%m!NkNOJgihDFy_;U{K zXx#hX8!P`s%lMnrZ#2fg+A@BtdUfMjpXYpyXT4QD-hghdP@C7W34X%GYVl>d0J^=_rvOsB?Q(IYk&@)=6}F5wFvGQ5XTs7x8?%;1(G3PBUb8c5pHlF0O?2Bu?mGT~YRZ~){L4ysAna^--HO7FC z`x+3R<|AuDq#F<~uzy?y(M6KnfcOCa0P{#b^fWPbtGd4d@d@r>4@z7 z_1K3G*Gg}B6Ju|B=Ud(h(-sS+0j(Md4-XGPACoRNJbRT#{D+Stw)NG|L1D z-94>V$Lh-2G`&hB3~FQ2~cTL_ltSEZG z#f^=X;VD%!RDZ`{kHZb+>{mn3tYUucB2D%d2zJRXH>G6ms7gj7srPJje7~=Pb3qDneKB@48#$CEU6ym?%IqddY zy2A)VeM4vWY|H3o*O13kNu1-BVGWr2pJ#2QAV_v4#0&i2S|OOa z^i%A@k8{0MQ-lh?v-{3B=R@9~Fsu^!nUEX=O5@|CObJKKqV$3tPyL+g| zml)W3*A7R=P_NhD*U5V)=SuCKF0DiLt)DqEq4xA>*v7+_%Lvc$yJmcb$7zO5P`WZx z9z2kCnlr;2PE5kIQTeNP?(Qlo-oNl(`24XgmwErU=Fxyzfj9M?z-&t3{v7*}z-)8> z`03INVOBygLwWMINdNzI>H6j<_KFvnb^Z?MIqVVV?;t&gz1+3*OXUD8qds=*V=gcS zw>4G<29c_0>KUded{Gbrx`{2qQeq{xGg*5nfIQoIxCZ;S(w{qKFG#)iik5!F#sM-tflF$FEaWO$j)>!M9IbGMV1Kt!r;g z4@Z4Gp>n6ktxcGl?p)aO&eI#xM$c%MYFg^+H{Nh&-K95%{aP{`^O*T^MjZw&1_U*TB9*-0%dXsFST@GqrVLSZyRb$^v5$T6UUgnk_j7 z*>Oj8=mprY-Cc~040WyRUWb|aM6_hSl!!?A@WMouTCja+T7h7ITBK}MD8scR;@sk0 zlVc~|d3kttHWKLX<^v=9r*iS}fqfp!rEhl|{xt<*(`}pQ-hStHJiI!w@%nq#kM1Av zJG0RXzqLX0w7l;itoMDj-6?LUbFiDimKsy>(z>Rz(q3haF zXcR4@?HnFrY<}y8*>#gcJBD|#LDsoFLTVzhOifga71}3;tF7wdrEy^n51EE(6pOS& zG?9`RRb3`Gdh-o+@sh~N-)C~&&yBlN%dqrDXCdU4D>1|1ia}d+zJ`?HfR$4sC&e^oMv^g#`_xSk}HZ4xr7OJfW6oYkuj$G)46711M zeoHMHhI^ccMLGa$v?g}frZKvyVT_s%(>To>mg%tWCR0>wysItHV{Vs11}JXhT$I0s z^%;Qmxw&B_8vn)B$d=u*d^HCQ<=^b#YV(bi>eeeg-b*bAn{~|>Jq&|2gI8ZTan9A?nU1(oRA49dm7{YAYn-;vGvfBtx(3AfTdJxPZ_RqCgtDc;Np4_b{j)vDhEOiLHb`!dh32%K3 z6=}gFb{utbha=;tJLMw{_47*R*2Wss8d~cjcV2c=Xs84<)FHNK=MK0-GgA`{?ex-) z5KM8XoTeuYLk6CYt%91`sZ3@%JR&G380s*0q*3TxNG4(*Vqms+CMS}tOG}CHlFl0OOT!SRd@RpIpjdqT|v z)x3ZIYqv=^2c8yJ6Pm-hd&|Uu$@I>h-Q7tem3J!U*}!ST7Y_!sHbsm3_FJ1?y>0)y z;qX{JBORJg-Bg>q@pq;UoOa)njym0j8Ph;ezoJ^Mz)kM3WyY*7cqrnXh34HNu<|L} zgKS8?4MF-&LOjbp+ln`_Mw##?A%xxdec}DcwMnbUnP1?cRWpHcm1JK+ya0=n?4Y_& zBW;&&z^8c)drd9c0h(ODRbh_PhZhvhfRTS2H|DoL-46qyfTVzfsSYFqIG4UndI!mZ zvFJ1rW+@qPO>=O0a2>n@N=oqMAct$A*SzYQt1iFnz@FVZOVOF*33vjjh9`hM8vz3m z2LRb9s9!~_fWiZa50Q942tZg79U!_ku99aYgd~RW5ykg0Lxinps~@XYWjH~CG;#oj z;pUp+>eel{zTMG|Fp_Ve-yJ-yt9r6c)tr`+>>l;s#8bL9pjh|bscTxIO?A7s=|;HC zw6sE3$@Gs8T6kYqkFLAT!i_g8Ib9FM5T)=A4|@D#0~!KM5s$;umE!jf#C>2U_=bw1 zTM;;BMyY7M9UO1GD_L=+jIf1hl_P`;vFQusHw7usZV}MEL0U z5*=Q{>(E0^m;ewzW$9PYt=|S6-^|Xk2Wr9B98{R+o|Bg;niKx%>$uaVVxOfeir=Ad zA31D31aN(xYsg#Gj+$`S(mULssB_UvW@ibeW~~Rq^u(HaYOSfu!4KC`XYYTIs|ucEm~KHq9n`+9Q{UA z=QbY|3Pn?Ia6oNRF}Ta&3ddKog2PfO)6QF#^MPwdF%^f~<&L{+uYe=CBA6X>snq1>q_RUu9V%rVhP_J#=w2&a+WYC{A~If_^s z0{e*5EE;0NDyiV@DC|YfNLMYpaJc5jz!aOB92*^mf-hr$UZ3s8Ko>MXYl@Ib_pKbWXIXBY+v?8{*dqsFb*1joV|7x zZeQfD7Q2&#_!KOemi<9ekl!z&8WQ4pCZo@d{fj&Y{${}i65?6bwZ|7aP?JtEzEmwGsEsKhRtG~EZ=Jx>;71k>`*#*?d_##DtQAU724}!blALI9)!+(4{ ztypb>RjWvUUwj`0oA!8>%6O;G-u3$XJ*~UmeEhe+i3GKg+k4xdi|kq#-gwV5;0}7m zj|keMA_4SzmhEcAgB=_BI^N#r6ovuqJ<>*uMypkr z8e}6P5fvj#1F0y(fCXNzATn;7;23*(f?etwNnBQQhubVw8=iLEuB+Qif8|u)lON5h zrgw6}Tj&q{Ui&LF7M@EEwjHjy-H121ye8EVIAUh`Z=Fs}|J(ke<#wvr&WuW$^UpT4 zgs>27UHo;S4NeGJeVqMAE3E`XSplse8GsOW=C^GTC#B+OrUahs^#k8nrC)m zc&NWO8A0U1|_L9WpVSspz)aWM(GH!|SVl-6hsie79wI0PN8v+3~0Rdjd}`uyXd10X<$_i&Wb zh?!Z!r5q<|TRMNf$HsS0Lo1e>FoK4kukQuTam?-GZ{n1BN92XqGw&3GXsnO9PqO-b zF)p+nJr7lhU|i6&;*TomULGBrQ7&q4nlMITSo+}2tj#Zh2EVv_ zRHwo9ErY9VMYs*=cWb7TbK~jE%VD6|bReReYX6IC`UmHZ`QoOj-SY5S?8KLTf?9}E zz~)`-byB{3$MUdhZs7*>>#gwKlC}B>X%=`S7!|yS}aZ51=qeZu;JuyWzO(Zm@t|6w2TC{)ClP>FW zU`6R2Hq~M$oLlek5PZ3Q%}9A--U$DH{6WRxGR%+#ASE-MJ95>bG-9_?x6$8)Kxl5q zBlqq%JONAAdtvi3bUoY7^6RA`7- zNe#hkD>Q_Jp!|k}ILF6ULCg?eNC+Xz7f9iPU;Y!4e3l(xciQ~Yg+#?TJa)|o%UN9j zzqF1h>VnNL3CmD4O^2VT>**b|U$aF8Y$I~gDU8x}u4|{nR=xW_H(hA32dVtFE$a6|rA+Ob*;%~|&onC~Xkf>LcLaq0fn|jo6@L$FU%!na|EWbN2 ze&OEm<{`4r1VS zNcVG7=ze*B;ubmg9N)WY^_gWepJa09|H;y;n&U#_zv}!w_FeC3+?Af4>b2zR&n>qr zz;nOAa}~jJN7(UN0KSkV0noMRp!7y7@AfoY$l3CqCB+uhV|=C-Z#JH`f2<#(mgkr z^WD`kKaq=$I8h3+Z@OdW_WN(&GCp?b)QOI#$4|Ur_sGFf#4p7&3I2bb&Hn|# ze+|3AhS&@qk`SL_zgQE3@>3GxdA6cH(O!e%s1o8?_UCJ?@k5cHk`P~J|1Kfwekj(M zQQjc@89)e2=Ud{5>uWXYe#G7Wo5()NwY~&dTUIwJARg8FR+pTrH_D9)-5(VdHFFZ6fA}o){Y~x1%IdDNu@e0rh0tu$@z!fu(ndQvgKOJm1;Z z+dJMjUg_`E;dc)kqw@)mVTx_iP-7^c2c>v=8ad zj*krY_jZ=Esdy~tc3JEIKj2@kO>wwo3~>*HubR1L@}VxCYNkL}y$}X~GFVb3dq7y` zh=j5?ebW)lUo zp52#GD|nnrpV$lEYirQ=iJhdG2apitWk`r~?15GYd2U1TKwr+YgX~|nKTVPs#Yrc{ zi$dB8cWF~Vt^$(ia6;F(VBrFMQJU5T{JWf*>y(>Q7=}4@>2)^pJmzA9YSPW^d+8aL zC7e}Es|THXP?|vT08X@CaW5PWSq={2jBekyXVLv{-FKzW;#NTMX%2*d3P?h`+jE+(s-0VUw;UhVLZ0@B=5{Cu8>yP6er|MM_p!>K zI-P1W1Rs#zo&oQkzq1L;Nxt*@$PZY!t~u6+qZ>{ zkh6dN+=XupZt73EgwGQj{c_BeFXo(DOfj9RW9u!OYzOGdcU?Q{R$`IPT!6bxZ>2r{ zv+>KWJzlE2Lv$wcr%S(5PCyQJv*X+$89ICgOoA;qg5pOBMxiYV_gI4z#Fh=iT~^zW z1!;&uKht!aFFEbRWNw)P!>C5M8~mwX39L~jg;0!`Y~5I(l<36EnkHzJu~%@|#zC!m zvAMRrLN{D%CL|=icMoTW5AHd>_o{{M(_=$}&eWKyO#=uwl)Q!f@I zNLGR@=vup5s@C*;y6eDX$6S}L#;VzYKBpPH@XJU!<=^ay=`OVc2CC6jbyjO5rq}=G zI&DU4fhiJPxR+(5A*^7fr{;$zPI7Fl$93r&s z6SlVfe5>8wfFOTZLOjpjunM9~TqYqX8pM8VX98$#($jM0IXfrc@Ww?gV(ZK&*_Z5@ zmo`^~<@*9Vw7fQ&vgu1d<6nlwJIOZJHWs*!Fgb!eI3m%|0SY1!qyyANaaKS$7Ni4& zXV}}_Ud&~D9*4yy`6PLUu|fr^uYyCrG2#Eoz;dM_;V~QlC}8uXG#;@HrS3@RpQ>FA z1>P1kQlrJhK&CJdP4%U^H}C5#?kvYOufr4R&gHto-FJoKU7HU&6VaaNPN?;nu1vK( z-qR6i>mDif@181zt&bY6#B@(_Aly^D%HP{lJv5ys?~vZ~TY^R(vT3yPM2UdVEMOWC z@EAT$Rky&~Irb<&yrP!$uJL_-o6%p-__j(ptn`K#S+^f87-upMy=Y3glkeqjpePY$TnPu~yY?Jda zTA#;I*^Al?!iJn}^B;I91zY2U@;>C{Pu0Q`*aBuC95B=>Nk!Q<%XNed$>%|)h$7Y~ zqJa(3*!lHE@K#30ev*;b*_pKg4%eJpHxx@B>@FErvXLpOn`xwnpgYJit77jE)*2KL zP9tJ$R4|*2Jg-nxmq1@=q|c{>4NK{2&-Upa z_hwrUd4>?Nt`6GuA8k|o+Cs&QXnOA`w#z466o7X9o}%lcn3S2iaBjJ_X~Ej1?7muj zg9k#l9q8GkD5%<77$_;)wtd`Tqprf>+^f2Mcn5iPy9NwNSWzb9ScHE=HMO-438|cs z=X@>>dbsAjbbmAggd$o4!#CTCQk?FgjhT-3z>Il$xNSM!vvN0RAUV6JTCo2vPrOWI zCk~q2fx|)jGZ(@7<4(QZrN92AQ2$1=!)H9Q0{zejf@_83eoW|t=h+{ukc!mOPU34w zp@evfJ>FW$gf*f|sbvt)E`8;EryXzav}HN9)V&Pm{itehsfTJj32AtFpL6VguX>WX zmNifrbKUY4B1_v_u0zu={nhz{_H!H*u?@}!m;O`v8mySDsO<2q3xnS}=|J4VBv-ac zn>%457zoicP;*Gu9#!;GIjG1Owb3X6NE5qx2__zAwdslR>QEsUi-de07u(9WI&8m| z%0Hp~iv>t3>UznmrSuQgZ3r6=mjOZ$W&9FyTdg9iOK@ZhAdb&3I~omk;@(Om21`{{ z?hBk&p)^to@sl9b<-?;GG!);6Kj7>Q9k@f^`}WJe zUa07X%L)V)!w6F8rnfuw{UbM@yzU1suj&uDEI3wyAUu4S=vdwB4+O@)yLj(L(uV?r zVh8zCxr6Z13OY#$ii=B#Poc7FxrUYyWCuuy=W#M}EeMK>ONeLLS64w4h>}f+rGH&{ zD#LzO>P{e6`7HaeT%{2^mrp`9T!6rCca|Wa-#^Z47pvi7>7_}*L-ke9F1>Jm3-KBH z0c^4PU978(ty=dH?z!l?@>wpdn)3`dUSiHn6AN?#l`NT)5y?puB% zv57|meow-%ROc0_pEl8#LveX6DFm-bel*qZv^)WKAAat*&Z$vs3c~LmD@j@)S~v zhEj{@Tsl^Oxn;(@m*1%CJ&w|fvU{(y$342Px-jJJ_bKTDsyRj{4YS&BIm&rOaa;ZQ z#oSEi?Fp~PA5h|zd?H+(h;n}QsaSvfJF6;a5>tP-u4mmu@xb<tzSJ{Yv=5?)7PFnv3SLi`7N8~Hq1`18^pPz_EIE-_p;cX{7wq46Pkf#asg}; zgm8@5LvU~aWw+G|t}VL+vm+J*s5og#go(l+5x6I-B{npzwO$nRMB)SOOTy^xDXzBV9E#O5=DHp9 z^bWfGh0u`^jx#MIJ>HnA#4@;gFy`&;^_bp1m%kVWT@i6q<{orLJ?MUwsJNZ3kRO(f z?m!%|?ZP`E*|eGYn^`L^Mh!>Q7ckpyJ=*Q?cy(9Epn_B*6L$K$Qg8l9M{UQh4UwYH z?L{RNb`q7Bf=+Kw=0e05(0}|5ZxEChbX7@%%RKwX`Nvu*-+&a@%h!aUGX@gk zEMLDucI92j9+nX2`0uY;V}|%kLQozTF=gURIg@q@IrAC5tj1i{H-pE|vTNBLwQ#Q= zoOx(n-k~vmd?${A!Sj*=o?R~BU{e(x;EsCGX$(OJ3raiPD(b7QAI3QbhMSx?wzzlq z!uGkg(p;vvzpdz{2yMg;v-Qw@>FQ^Vh>4Jy!SuNUP)KN#6LvY>&JP5JhEdJuaEDw$9FaoNb0iq~r`Ns35sly+o)4;rTUOZg zSi13rcx@)(^eDbyM6)#TBdACx6i^{Z9P$rBznra~!K-U`8-h4QLY(7Qv~mb`;%USr z-Ud2f4sRzqRs@|FdfjNHw-@;ebz$8&A`_C*ahuZU*CL!A6kIG)`6Lyx$69F&de*O? zj{WjOvp76DGTc$lC)=V$3rE{yWQ7r3@m~-GI)~^BLeZuyC=B&3l{jcDh$b!y&2L}u zYS@8g;0!x4rI`R?7?;t>5i^xib&sCsK}X0D3?N zaF{^=8QgL>oGz!+{YQt7yPP=YMu**eYA_h|%HIW{~rqVSlq~9ymtWkP_n4YphHVWdBKs7wV^@8l7?EUC8Q?5YN@UE(rns^CKh_ zZc`pY=H=8MwTX?e3-&}iI2Jlc!@+6FY2FQ9t4GLGRY#GX9U?2Pgu_nB6-Ld_8c+!A zV0s_x3s25PQLK~fmKiKA3=87F3jA!*RDo;?>{+HE{sQyHphS?1ARqs8kM@q_1BU8M zsy(5|nG@aDZ-4`?+<4&+Erq+^HM~i1?jj*p_cV|YbjDUftUkH_ zBiJ;cfP^6axRZ3wkCt{fM`6>vz{2N`*w)|?+Zs$Q{X+e!IF=zRU3|n$a#W?#3IU3&I^^1 z&Mw}Jny%Xxc6RrHzhv%avxo!k=u)hRhLCGw`$BxnO&x9Pr#hj6Tz>T83{sI%OyUqcU2J#4-kQc~;t8ETzpzsJ)m_a+;}TgE*4AEZhpFML?*Y+OdPQ$8=MK zXchFva(J}tNVuzX^h%|;p=Y|^J=S^3^0kE%W?1udR1)cww;X-7qvGrw*tREs%0Qt$ zvzC6rzrsHQcYjEpjn~lv6y6dl>Cj|JfgDp&0;rVR0pAYZKdR0|#-t3R6*-fk@=zuf z^gB#e;w9+|U@I5cjfpDQRk$@oIY$))qWaF?u1*ggJUyEmc8zN2c-V>-&ifM4?vg8L zhBHIOkhOQi=na>Rd#wvUiiNC}w~AXnbN|BZ)nk{M6PFyyl2;|(N_hh$8_Ij{sE__s4K<+O#vZnzXZTl?I&@ii@-%r4%{gCD{f#+qZ_EKc)nsG* z9WCSkhSJ3P6a8+>_*aCErzbU(M_yfjqOXX$NjduP?e?fLrF^fk#{H;skmK~6bV{F~ z>(AMk!~aS7Y-7$l+3V|=P||9wF$d7l6;JRI>iR95c6|C(P!%@Dey(<}fO`xl9zQ1G zKGuZ$M}^`R@`=w5HJ*%rrZEZ(HmJ~~&I8CGHpky*L*r>EPuPGz*jVLp9GfN1?cje7 z&aL8H=z-e4HpEAZ9LF7y{zQu~{4i7{RE+>a%dc2GjtvdE%N^p;}rEB z-!!qQuP2j=hP`f9cr zH<36E}d=K_6&fVUZ;cx?;6|8+hwb6Cm6b+5UHcxny)|6~JWkJ8Q{xc`5tZ?i|s3PwTm2id>Dl5~7j!+9)|_6Gs!Agv%F z0rTk6f1VEkhPtJO8Zf`$|DfF7xW{8Sx~H-*I&EA5s?>10`w;t6yT%}o@}a#8P%9(7 z=s+;TnL#xM;XJoi4L9m+6d2bED2N&?-MAZ_-nhC*6`;8tE?A2OT68$2CQ4$XS`LgV zggPuVSN-RTX@_gsUFh$z^U$tCTQ{$t8tm`xDiv}WL^cAf#%pfja1-fKKZBOeA{Zr| zW3q#Z5n`aY$oLiu^>9>u6R8+ga6!F@-9%ifD%j+HSTbp6`^Z4n!ojvgv=>Yp>TaLf zQmCcYuOHbkys#so71QC)yov3hI55)IJs9bJAUBe2^W-z37eYDBn;uL@t?B-3IjZ@5 zIM3i32nPE5OU_^=)>mok?jGtc)do|}sjf)U8P>e*g;>6@>HD2i$x3E$JgL2}Ewsb% zrZeFPQCiT8G$p#xN=^CqLgwT+WX>LcoMaSI*NZIiAHi~HXCv%YH7^RolsKwvlm+Y> zFdIrR8}h)p5H^?xcCx*`dDz+ZWG#!Os9>9-ges-uS3n>YQz>)S*Ha#;jAYY3uhYTW zd3$4n5oa!m4pmfJh+vaxf=qOBmPD{ZWlw~CA&}Ac4$K1R_gbY}zP-rxO@4injt~;At7Sqcj&WY;*U1Xxo-T;g;#G z9VX@mU4dYvk`C0GjA|U*zI|?PZ*SNWFU1S-f%%2h)eQzDPNVmEqu{g{-j(!@+`VZ0 zt+WGj8pjT}LqgBf+c!p^x~x9hT%)XDbj3=dPqe+#!wdEM-l}}0vC_HQiH~*IJuiTd z$I+kW?X_SKmM@Zs<_J_1PNH$u=4F)o!CoX27{-@fHe#AK-W`ZJp*yNoS3?~QU>r0C zcb|gyy(Z}4T5=NA1siG;TPC**4U|ifu-}I`-#8z4)~P|xx1F_K#^<*6+a!!_vf5@9 z9aAI1-8DATQ!d}MUJvOSF@EoGuiI%_$|V}L^-JlhU$2agN1`Y!9f(JJN~r4gJ2Qi5 z!n}9G(5arD*~^nzttkaoq3FD@BOF|2cj*yr|H91G<6Av$VR#WBr6j*yfHpj86KD_jk z^OLlzLh2`l)JwiR55C;ZjvYyN1Pb>TE$SsMRK!4Ik`5mo2Pd18*PenBI?j$Fka|Z14!uf)l`Ta-uHs7w z>J>V=kd3r(wZ^q|_@n{X*J*si8XP{JU5mv#3{i7o7MAmQ&@jz*m!V(ygEjd5-th** zOAbIU4a9JW(xB)$_7f3{X;idOV_96ZM&GW}VI^qOdX(-C_@rqmNutAAJq^H8$+S`|VLBPF|2bdcW|E9805wEjcP=>vPLxOYA^1 zyty9yB$zyg(pZ&$p8OCauS89F*+++Ci z$nQ(I-*3Wwj=UuME@%DC_oN+4zWuqoc4;nfdg0qV7l;Aok27G)K3I$ssqaLwP60pM&{+8y3 zNtOngb_E^w^M=~cK&9PgIBZ}|6OGJ?)eN_W!z6dGv1&z#z2wEUIniuSm-?gL7LN%z z-E?=vt-U0B`a6QL$q~Q9XM0P9M0Bd^`=MrYY#oE2CU3^Z)MIlP#rf%tO&Wmmk1c)R z{G6?^=Y*W{rG3!$KY+$w&;GLJ&2w~phrULL4575`PgA?x0rZlD6>*vjUWMbhl_~Ud zb_X51*HD*)ljGEhgdKANvs942{po~I?P8vGh9)9aapq;rtlz9T3CrU?TvM-UPH(*# z%A=Ebm^gw?0in2Y;eYJBHIq&deFW}>{++V* z@4nVpIKDsdV^HUBp+!g89QIUvIU|9ZDwxyig4a@!Fj)Y8aM)2;c&L0=fTl*kOW1eE zh}}Vy&6}!YoNd~@dH2lvvAOD8I@K19gxDw_wM{nZD$*Imv8wnD?yn;R?jcMS*>NI9 zW(zqfIE$zVi-qhp1P$=JT%p2-bA1av<*`_(yru8J(@NuKwXtc_iF9 z7f&RQJ0huo84iY0__)t_|KNtyWbZdq{i#GLqU+gMurD0De(cD2(h~_7dWUu0dNUM> zIy5xwv3m1~YBE{mXYwNxu|&2oIu#$j@X@Y}JL*^bR2!z5c}B8D$ta7$n`);&U3NaWp)(i(*tAez=llQe+ z;>D8l!uQlQ1H7=U(V3I~Bd~ZCdtVJvbKRKEz#TloogB4|PHka?8#XEj7rD8fM z;%is&tH^4sqnYG@+!l#u$|qjbgcMGx?dFpOdGSy_uSyDNTGCf4retWn(C<-B)*4zO(E?D-#aAV8wTuZ+kJ;|O%kwu+syijYF`he;DGOdlmaq1UX~P) zb`&H>9Kk1 zW?_#@{66;YpvKa7mbMDLQh_D@;Q4t_1y@01P~O%+^HKvX{RQm4G0@G$hS_*+)CUuq zFZ3i775xen^*+YYLyE*Mi{@g`Im%8C8VYw*+{2z>Q)l?R0y)l7_9VU#@<)fu!euVz_BPoVo zeB18$P|-+RnbCE7CZ2c1K)9wZp*}{uAG)N%+G_=rYvP-sITW|fLyMqOCut9ARh~++ z3a_Y*2ZvU?_{09{*FI!jMZDCrfhP29GU|GT&NRz!njY?M-bf(DgiL<-H{w<24*i z=L!Oj<{;&H1m$q_dmB#vB0*>BNYEkfhEE03ft$lJO(*g>f^3F;{9qgYU+FEqy3tn%)V=AWKQ8|+DPX-DO9L8x6o*2xw z*XhB#i5`IPc#oda{jv zeExdXAd1+U>3X4=I4c9YKG3KeJA~H*q?O>Fqa#^E8shcSgH2%|O(i0?vBou<_w6f( zYv`eu&-#5XC+p_uD{tp?;Igmg@fA_m%c5DQwo@>1Jxg#HCQvg=0K3;U72)q{DcG^C^Pc=E&7;vtbxPim zswRF)vh(nTST%44-MCYt_UiL|sMI)dX&7C)%3AyNd`N_pMjxAmRaEWf{rS z9!+!OkXfa74cfof*&TqDt*v){WhE1wbvWW~Q%nByGG4&O1Pe*|F7~Wr>|kyGBs|f} zwodmW7S$d_1d^Npl+)_`40bbz!O?ce!3+nx+d_#MdJQ3luL_pu?9hQ7+c(aRk5PJ_ z@|N(@kMU#nxqS+@kUB=1q3%ACHfa7Os=-7aSZvW!nV5AgZ!~|DTB|#cKj{qA zfAWcC?gPr8a*0G~BZ|08pR+LAwYr!K94s&_tn!^#Mc(Ngdz(Ezvkd-8cE3G-m!KN-5-L1Tf?zaH>ZOxXW7!D?NU`xF@>lz<8V!>HUm2mdaiYKN6RH0Ww`D2 zj1jh96yg3_l42{ze<7fVi&B3~z5}(RFGrM6$Ky8Kz3EVGCg@l5ec71vCoKZ>(!})7 z=1_u3X0_AjP%~re_f%!}1N8=YdmqcT_NmMXN1&0B4){5X$Nbqq7I`!u_ciip4f~L~ zR8pC#SB*s<-npqXduU|G=F)~kozX%f2s!a;=C2P3>eBdIg>Oyc$dg@Bhkiu()^hZb%j=_W6~46`efWqy zs^mqUOpe~)$SO5qvFo946mnqo8T_jv2PS8{^Sb&vG37<@5RD=Sc0}gDGVD_6jbAEv zS$g7sP%Ac^p}hN5^=JEv$au*$&$h|Y8KOZ07EfX0;;ju_7|H|UjF!a2`)pXsZQ(=G zB8!FGoT9NJJUo086&1`l)CTiNeSNbUtX{e*ZBc1N;ge3iNLZnN4=7vYMcL{DoJo{L zaGvrUjdQ5rSy-QFL5ATvxou)sOP+Ap5l~D+aa=*oA3MiW7U;iC$u8pnoBnY#=x|!T zpo>nC#=8<~rbrBN+f0)q>ezM*9K6NmhmY9&Fhg$(EYLVC_1J1?U`%9}fib`m#^f4L zuy@pX3ge^=vZzl!af1C+;FSvUGQdV1-1XQt;J z?pUaj3k{?Ov-jgnJoRymk8GVdv9mWAL>othdxy77p4`krzw=3ntI3p`5PJl3c)dS2L*Qcf_69pFLsH|&q4ocwW9PF_?eZGJ8* z5{`P42{`3xf&;Fj_)7CV&{N&0QJQBD*8Ekcq8gbPlK-9fel}$n3CVqkCgGC++8MM_ zLxvVYfKqMgGL!FBLUFxm!haTjP<`01nUHUt0G|Uve7ja@esX?zu+pBS(hrgy_!-i9 z6FD#P%ht~LimLjGv9cl(W|~l+NPfkl@9&yzpS^kW#_r`K^Cd zPxAgtY9Ql6AJs}Go)t60oZrb0| zpUzN};uA|n{t@7K44LpB*YINaqOcn!m8MnZsyTqOc-jI=OVPW88fKQ^Y~eT;)6by5 zw2o?O+om3a$D2pPDv=Yn8)Np+2^f`XkI~44p|6HuM6b<`gUB0sJ z{LPFpEJ@uSD8B9*)i2)}lpjp$CF$PJ_JaLW1*c zO%it@9M50hN@o#{${|;82borq8EG`kSWWAfnn$F5C3iwr{}tYZNFLj~Y3IVGeVg~q zZNxXQr-lbRD-)o*{hc0=nSul4EaA*BTAa}dVh~xFYOjA*ni9! zz?X!zq#jQWl)~TE9pOypGl61s*UY+`FCC4Z|Bs*_C!m9FB)fUKGC37_oi(=aV15er zy9<`q=kR`g=qBpUA=;3{ad)OsKT$fimDDkWdSQ(U#FRw@A&^s}B%6pJ<-tk_<3Wev zj5@{bR>7dTJ=Ktv3fXidWSP|E&~AsewxJJZf#RT}=u)3UE!>b!ukw#ooN?MSRLZ1t z{t%9}SGo$0U<^Z zSXnE_5#ie?;vfVID*B0vn1ScGcd4w5p)>v!yuap+A?7iGk6YHOw#crUU^p=jLx2Jw zqHN3I(5b;&mU@S3RC5BVSe7W1K#P;*CqQxU8B}9j^buC9 zP#a%08M+Tv7e>WX?nSh>z-w1tQrMDQBb zgo#s@!ge6Lj(88uCyKTkb3~z&G#W)JMMUeMM)Rl_7copYg0y0)QmYt zx9;nh*fTg1&rPNJx;AwM*N<98Bo+yKLg9elh~>PYT&Ba9&aF?iN8I|M=pCpeD^9oN z+eUU2`6-kgAmjOvaU!r;SG1^ilY@z za%-VhM1j0*T$@DSb?^nYvMRDs^X)s`jB%K zuAP_S*-WI-4n^0(`Wu~k#;Fgl!2Pi4jX90mmQw&amiY9)i%iN#q4g-k@+I0Um%g{O zK>Q2MiE%K}Qyr?zlBmKjUHU32sGHa6bi#crW0y^`J`wAICvyS>Roa><&61pbXF{H@ShGpwN`IBYqFMS&4rbq^9?|qFpH%0F# z_ul%sDcX6?WA9xc+piz;H$UN5RX&Fn-!T3lw}?`p1Oqil@X65JQ)dWr3KPjL9^`C8 zZEOTb&r0!_+r<|6LZhZxCL54mKsa+*K0yYp$@C*zXhnie*op`$!E8L&(}lJaR1453 zFhc48nFgd#?TBc&R1^_znSZO7C23k&NKkH_?SF5$wL zmZf4Kxw$qTFV6MU_s{cUxBjHyjt5aw(;TO|d>Ti*QJmBjxD>m%9DU@LCM;Ef%F%~! zmZPHr?_%^Kv2VHFeT|uCo6jWbeP}(@`}D}j$zQLi_u)(H=nir=?r;{pA?HDT>e(mi zK5T2`yt>!ELw&7B*jrbv1uj{2&j;8eYr=(AtoJzkomFr%&1ZwuJ;@Mbt3OW*z8_%s zw2Z&cUYDYpkKo;rBu6ghNo5FUXHhqI$tL35-Pm7n=mTe7Uf*P2Q9*=cjDlp0y}#J! z&^X($Y^w||cpB?_S`pgow7xe8GlllM^ zOq2*6Jg{fi=D8N_wn&{jUIBBg)NUfLv%1J^tSW4f-%#guC!>AY<<(}L$RIeM%_1Q1T@#e4)*HGOQC3@NB2ha@oZZe#<(637z=eLQXYx1_O1!O>m|{) zWBBTQgYEg@`^|u}qZWME-2QwP*pgTgdC%_%IXLTTjuI{8=sEgur8qzHGhlFv;X8JH z&;aEql@8HCPoy&yex{LxmxnwHqz#4!vT1yE(qL13s-X?4^!}n8uDl#s86}1z)Aacf zIzBC`V3680jNU{c*purU4n{n&fW(gKH`)h>Ly>gYqxl1xl}d-(+#T^)zGHf0V&Ch& z8BZlb?sPOcUB33tsU}L&-M#+WYsZ~~Gt;r;rf{siqks6WJB}qU*#T_OX(D_N4(|yix?9%Fd-d? zpQy>Bx>(1e+l8-CmCz+$1`{?Q{Qzl0kaMm0r&d;F zLu_cUzptl|FXi*?g?u}Gk0=J!$|)E`QcQYQlv03U5tl%FFEAwuFC)#TDb5R3jU0zQWNDisy&d@5nS}qjU$#!d2kz=I8=^4d}(u( zI8m-~j@@goF+-GZK#PujSmPeS59GD}@cd1xA!bRh^(J8pD0GrhSwfEL5W9wdZ2QxB zFh>ZgfN$=^@v96zU!*Qfb8{PV=QP^M-O6U}a?=G(TtM3#I%^6}aO%2t8j(qqP~-K; z^2_dULz{>%E9AsazG%oavCHLL1Xm#fh&C*g#4M=9Q}pqqjkJWV*f- z?ut^r zL`M(T!dG8)#gYAc7q;cwyNkt+&|Hbwn~&9XF6x$Ls7*9DfR-g@Z=RuDd4v{hUoUuW z?O}sSRQ+I3A5=R`ifqaA8g~UIqJw1%2T7dX*VoU@7U`@ly8h#=ZKtp0tnIE_H{^!= z>(DRLaQO6=zBk?IiSsJ7yz$rj-zd3IHk9n&-rd!D%C>PF_d5GD?oHDk6h?>oQ!QO_ zsB4anjyQI698`)BKdW)@^A?6x0IeV?AmWHQ+%J(*-O*>?o841olYD`?myfWk!to`OJt3(6CHYVPyn^XgSp z+~p#86|cmALXz(H{ryi>cXdzqOoBqDyQ|JQ|MOpd`wEaIG&EEV9$@*=#H%pD>qn+3BsF8ST-gGwY2eRz|BtROb1? zm9JT47s*BlU)L{P;6}p$k%S)uz73D3?_wC3nt=L|>#p6uk4ZP3x%Rf}ZacBC@AUpt zC}1-^H8I>IXJIZAL%n^GIlh{PMiQ`mI3uK;1eW>S{qF91eq;Vof zkl;cN1*kBBW9UdQm&f66z(BgJ=@~Ba%N>|+*n62O63o2_Q}rHuV7@cIXAxQEexK#@ zg~zKpa#S6BY5R6xeKMEn2F$7Ltn(p+&iFjJT4D;f1P&w9&RVR#@HT}LW< zz%UNpxn*LD$VQ(yRIMPI3)$%Zc>JzzGVF7wLj29XSR>7Iv#ou#I+I`iolmeMI?~k- z?{FuB@Ja$Flq7KCX6ZrcjndQnryQ(E?gW&y0nrO%+>hLJ&5Pg@O+9pg83zEaL_u+j zz40w3SVE?Mb&Li00-ApG$Ivi_dEhkAhhYAQgtE6@O}=OY6^um-HMouJ;Q+esa@QhA zX3qJWok4;GqaY%`-@OQW2=3tZ%8SGuh)*cw`+|48$0rW;M@2xTjH1XFUj686#v~lr z(;t&&0*-O&ienGVbU>E><+s1}~jI7;{%|;!;s7D9q2;mOdOy~R4 z+;Cti5a@05#=~~6mQei2fGgycj|{}c7(qI2lPT2DAwUBmj5%uY9L^phpU>k}TUm6Lbi7 zrfnekf(N_-?!Ac4k#1!X{gD&}aHZ?H!+5(bp9%XsD5XvAIMd7@j<7($y9lDtW38bT z)=KQ~_$FiHDd0!Id*PM6M6k2fk%=rE+hk-hJ51D)?emv;i!=Fk;}R-g^J>NgLF{u# zzaM)A?XI^~8;svQ1J|%y(cCDqu;GSpIQ4a}0J+`t4Fb12AAII*KgpzzeE6A9e(;m; zdDl;V;B7zqrYBza+K2DI`_7veuRDG8Fs0AbD#d&@9g7GK{Z{tY=p`I_y<937bfk~c z6u!Tjq_H+zMj-f#C6aE0$Xjg(1Ug@qq^xlG{$0f3X(AhO_|*zBJv2wOVMq~(?$O)^ zuWwjUV}kw|cLMHBEKWfPU|BL?7rukPJ7U#I6 zu*YvOeRnLRCMz3~7zh*5W`>9ADM%9yAxt=QLkJT+3Hu&UjQgN_zLW28C`PW7Ly7Jn zbD_QsH(jSt$>679>b;wBWO%r_4mrD+W42ymn!V{=1~ogT7#Q$4U8c%Krpt1f*2N(6 zLQL_J;0^uD{g{oQNCn0T0#F}wx#Tke54tBfrV5A+Zg-DD_*WI69xd$Gbu?~w-+=p2&JrwIa|$@zemuXi!3ti)L7L6x_?dxn||#R1vh z@@s=g-jf5?3jc#xzH?|O>`hc4{WlP+PDEUv1;{s<(NWxj|IwF2)e&|PO3_2PeE9Ku=HWN12OYgeD^HO(!!j1fuAArZo_`zV5s_C4qx6N8G;cmcx5@?kE%- zVY}q*i`ov8TSW>&ja4Jj#`s6~Y>0l~xT|F;97!7pR&_9St)$Jrya6&?NuYk9y4!85 zR<#kCs14wordHQfxmdbD;?OC*$$Agg5U~p5V{N(!Kr682^pnT!Sc+DDpnh@>i`oU># zLQB8WOMojYvtKhTZTKZyvVPbBt=i}7tLuYXwdwGVkiTxnY4{N1e$v}}6W{O+1M2n0 z(}$4XSKMFqE7mLU8@_?4$?0zClOO-sN1yrGcRl@6Z+qhLM_+&6J-42__L@Tn_U`U$ z@s+S3E#%@`;n0`bq1UVNmzVm9ISV(<KF|5lCe$-v z3cr%(@5ugS6Td>`7K438_W4?6?uY0YVivh=Y5(?CzUe;hRIHgq0*3;T{k!4mNI zm;hLL3K1n|83+_ZYcy1YCKCWIdN;hdqV?~Fx643VBslMUZXa`B^n&THsQZ2wh>m>5 zCIdRyK05LomV7>80fYb`NuEU*hYKDO0EltJ7{7Kf$tSrzKKF$y4!UM2A}Bl74@GmJ z>7X{t`3;A4X18V_!twpDWT1fnc&~Rwffvgi7?6|{#Z)wSI@hgpqsgrs)6v-14JnW~ z^QJdE{^-LG-g(FQTW-4X>XXNh9N5ElV)R9LC8KsoV3UU0R za7?YoY4%ar)-_pAcyj6ZMAhgU-yE#_+?ukl112?~)w)76y>c{udlS_;&L7f!rCB*t zPhTP(hiARlNN#R%w*~u+i(4+Z z)oq3eqan(V9&4WfiAp}Pj&AGqq#11vA&Yw$RoOYli^m~nrmIRV%$sTMq+Qz zFM8=>X?m;Ut-48R#g`04Y%22jqpx}BjtggQII&Rdxkt;?D^j>eF9VvZfPV=`TCqV< zu%R+oadl127Dwgm2e|gFQ1F;?ORuJ0mCH1m_l4EI)0DZ}QdoQtZ)_iS6?8v53Sqm!&}G`hjb<|+4kb_obZ z?$Q^f>!jzpkugMy6p+Y>!je!6q01e*3ROHD=pBKf#VM=CNzWN5Jq>!kQh6F7#%Ey_ zr3TIpY3~)RR$%5q9y*l*U$r}I{9Ly+_$GP;WtAn=sYgS<)n`{<1UPY@E0qL%l&BB1 zXz#XGBU%NBOLU-Of?q2N;p$U(^ilH~!( z+K^Vkb>0sJp+Ea13uYwOq8oGzip3?dAcqEr+<;)c+A&Go-@AUyje|o5hTe3FL<{$A zFr36aB;2nfg0|g{64`jk*uXwH9N5SeIw*!*rGr-(O)&k~qpyGHfqU;hclPwD!w36B zv1bUlEW2Jsfy>gwS0tf#LVc!B>2{!sWdD8@Q6#G*@rqKn-(#Z4A*Ak)4+z;LRik+S zmBUL`$l_&$=|m7^5RI2t#b-oOQUuik@aa4=yHN#^MmL~$xQvR!S{unVhtcGcGS3J@ zwvkClWC1DY5-0etYLZEea|t*=ML{hX!sJDCuOU%bRl&?*@Hq=whA4VaNs?N(Z#0T( zKwx}@!*u618v*ad1Qc1jFfi8oX@G{Jk^9-3t~-75#IYj>_wU#~IbN&8{3xsl8y7q8 zflZeoJa#RugpHQ+0YwBTDR*nDZ8N1~(CK zLBVy~S46%U$prm`w}Ya@Hjwq!(9DgbJhb##9bkh9x&cAaG2XACw?xdQ*N-41Fw~N| zgqW?5-Ro{yAzteyu{y*m@mlvZiElolQT@0!bYAVT<{wLN>$?sCXB%rP?7wqfsV67P zuRNG7JFybXwt))5bCz$7Lv0;6ToS~#k!As@r!GCu?nV|Cbw%CR-R(l9({)`@VTeZ& zg$sx(f<$y0zZ7YaTB9n`!eD1q^tRSTXH+ZF6e%&nm=cAI;&cq`hpJPQduMHD)Qi>8 z(zfHn(VCG*wRF=R(YQ-VSF2uMgt2_UmyPRg)f3J~-Osnj%ZIvEQ~SKnhAlm4pdd>s z6$txPm%3$3b5~`%TA$k%%0nQN=B4km<9tH0rIa)Vv5hh=oNipWdU~ZP7nc@%s3;l@ zdsDs?mS8hmTeAep>qZ4MPNpW%kjN)Gqw&_ZQhRLpP{p6{quxfy7Y`Wx``adp`{v5q zCMIs&I#%1VHB_(8&P8f?uV*>U{+j(d@&?{;@G~Z$-aFZV9dRq-+IB&nMHjZU-vCJ= z;n0mq*kw6#;o!G84TC<8KvphjpxaTZZPkDTF4|{v*^3q*1hz*0m@>Z>J6ViPq8}l;R7d7Ko3r)^8uW7`U&kyzUAmz6}sM6IlZw`{0L>-J73GHJ!%oX7l5Ml z%!JRty3tqgW#rl1Ck0TStBDNg)zbxMQ?NrwBnqLrM>ZX-g=#Jn8biQI9-wLw0ydFO zfpTZ#+Z0G9bhhy7W%x6Vxmsv+;nvQ`zS`)*Ewy;P5ceBuD4H6r#BJFM%Z*(NwLL%e z;GV6w&F}xI2X;@69zAp8k*I&NHh0tAH|OkTBaPVfwpzQu+65y(f8=Qw+(nn6LYAaSh?iNRwZQRKW2 zVf&+#w%r-i5h9k1b9gc46_0z1TUP#tzcHAaU%E4xarscD*#n?dkjSMa4Yy{bL+pgt z4(AP@p&*rjE&osa_-XzGDl1QQ#}U+zI^H-V_9Sw=Wa&vK-ycb(H2UX!0qfi%y|L@6RZtlSGz+O+ zP9S0(rZwaSL9e7BR+JSaJp@HjP+63E(LsC?O?LpRNt8*t zQXv!o-xsMdPU`kb4jfgNc0_I}c?FcGj2Hlc4g!E3bi^W*dKXwQw>u|i0-;nYRvbyW ztCc|Bhtq9tt@u;^MmJ>0r5g?u+B=6LW5uznE+{!86iK8~^(}M3`Z$qn*f5bwGZu(t z%C3+{uGfc$CQla%TWVvc_tZg)&E*%_Z}X>6O>ap0T-TK}kqUys5`ccE-dF^|MSyt% z4(zhT&SPsz!UHR+>#crIK}d+v?_c!-X*PeBA}}JGJiFOrLXGiCQnQZ9W<#Y&SvL|u zrwFh~gzbVr!pE;`C?(aIEYfy&SX-vlQ%D0Q*LMLCHUuf*R?!aTuET9g^Zyj%pC2FyNJIvTMhPS@6 z-aOVVpFVQvXD;5F=TY;juigB>fvMxo*??Pk?I!=Ej`FxKGRazw~jKs(HV*$v`N*A>6iZ$c!!P?KVl!`uaz>? zg;5&sj)bUrjUd|;pnx`}$W9fk6*C)Yp=I&h$XulalAU3h)x12o;)&jfa|h$mqEUy$ z1YwA$a@9f}j7F$+I0zDM7K+&$cVG7oP0i-Eof&QJX+EhcR&uD7h;6(!dwe)GRarbFD`sq0qqJwHz@C)%?wqcT`Ld;uy7cMt zL@2!j0wo&W?nnV97;3Bkh<#PSO1WDAtl(4xte{f{faNrRh1e?N3w?m0no_i;Rqr5V zB7l8=H6%FwLouA6z7$~Mbq8Ro0GM61jR0n0$N?C6K%z+jj%T{n&g{wB~uBeLMcbWajIjjm2kjGWj$D_pkABYkt30H63({dNGa)Mzr#b1 z#cKJuU;VNgS})`9`I+l3oGr51MC;|}hYwzReRb&@K}caz26X*S_Ne3svD{1w3kH~! zhy}92EPTg)042CP66E?D+LOWrH1we3qvfro;_SYX__Y`5n1MthR}UuC%FagX>YcU9 ze3O1nOrB`9M<|tU&Z_AYnOzzd`Dp zY(FG(8fDd%tD0LygA&F+jHn~i@+x&z2R(y0r?U8XB0jG2q^0?NzmxSdkEZiOemU9* z{ZZ1?47cn-f)60|>&Qj^9(zh^NJHH^*{2~kUBtYpt{;(hv&xSqq0K6MqtbOF=Wl!LShg2k}X-rai{T0!kq2FQZ$GAzQVH)bOyS&n`4I?RJk} z)eVdC97fMDZ|I#jgv-&Wt(%ISkIs!%j_giqhHALIih4J85?R3iE`1lfKPkPg3kn1L zVVEI~U>HYGaS9YEnu0n|vW9J^+QkmX>dQbND#>nnlN)hT1NRB>r-jnS>14nsIMXDX z?2A8+Y=bi)@=_$x5Z^eW58<(MnRGfw_R+Lv3(f>I3NRx{yIRlWLb6hxgkvJ(Wtv9` z?aM{$>3YClPEMXQLYmv_vhCSyvVjOZ-Iyr&{DGifiPuu;SgU0Da`D<8Wc>5x7l0XQ z_BII>e56LVTF!@k3c;iRJM0aFU;u_(lIif$5*l^w6or5x@sc~V0-=IHY#_l7@-Ldb zqkg51FF#fdsy~A|O0eFju3;spd19OgU6HuTLex7Lt%GlXfF6X~Tb92g`(i%z1}=YC zxdjB}HmWn&!(4zX`my744}0)AB=S3Zu!qlK@ws=t_>81iWQ+FJhtE;*{DQQMD#~ww zw>~IMK$t_$C;t*tDCZNSx1|>m81ZIY4Ix*!SI3A+y{o$P5-adG;%ZnLLj`{W-Qhp; zGA`oDr1Y>SNBJofc4l8e zMd!crFgL1;@}J;7LuE_9CH8RndH%cn%~G|uhgDu>Wekd0vTp#0oHg|Kw2iy}ZNs~x z8{D15-G734ReQTkW2<89DEl(T7AHcxjy3$#^7qko=WPhu9dqOwgc>7^7%)vbce1NOjY6*ONXlCzvzy5LLR#jHDfVP z4z*gn?j7TW(K^n^TK<9bhsav5@K%Ol|60KN8Yl}lLLIql^yEgzStVnKzE zJpUtc?_;<(fP25R{G-8}ffLvn{yOYTmA9}XRNtwEpBNvsi=M?n0XvCobgec3U40 z+wj%)sBx$L%l)b9ScHj22+ktZnK6rfxg0BW1ZX@LiCuN>%zm+s)bGAKi~ZD=f55H> z)Yj0OHsC0d1xLodA7Q;PhoNbzkhCwrqu|89pxYvx8YGRE*4>E{ScEtL<#O%4q+-6Z zQArTinXblT5BAUMH-p)7pg!Rq zjtoskqRD!&T-njAAN70U9$(xa2*{p4S_L%l!yhb>xc93?IXplpKSg^k#$JcF~YG$UI2e5I` z3EDXJ8!M3fduz9@7AjZf8_w4GV`A$-qr%d!Nk7j{2#Qmeo^vShbAkd(qtc^njy(e| z66=CHV=GRBzOY4-Ef&f}4w)5VLZ8fHMWd~Qjq&Nx1GTZ)|1)%Sd{=Au=-4hiA;s7* zyBBpK_Df%M(0&L;D2}#u2!z03I>3&qbzDnahFuGDE-F_7@ot6HE-f&LvQCHbj0zjo z>N6^yQVm$7=_yc(H4k+WL9xmGP}}ju1xdyOa{nzjuQ-!-&2OI@Z8ht~d^{S0=TF+t z_OEn@q|*@5o(@5bl1RSFBO>9jNVz02m`uLC(!fqWHc7?ra)%0qRDHF zx0OgH0&y%ub*1uoZ?ZN~E02`ZK6fG>HFX2lF&7&Sc_L#YZl4y51l)lf6bP7X%yKCf z%nX-ID-|w{l=A*eBJTFsme1=?#|!aPt!`Jq<^Ey$ze)cc=a!ayT~7jyByfTcN5c$& z2z(R}MsNl>9o1~`pTOR#%?-uHm2%1#H&ql9Pz+lMrjh!jWQw+Lw6fQ)D%F%P3v-I) zOB$IWC7dWAHz|QbGbA7TEM$i*(st>6U3baLWn~yuR)v&KZr%#Yg2Vc3Kw0*hQ2kLs z6cK>j<04U>op<}d!7{|*N1Pk!3no3a{(cD4r|3D3^lCiH+0oP8DwDQvo7*}w-9}Tq zW}{v$AVV*ih($sHkK2V#%v9UQkF|rxIkjA&VXgjwZ3ycVgoXG;h7Kw`y7C9M1`p{P z%D)!3Ca3o5NNw1cc79FBwaC;RkA@<+$6c1e#D7JTb_HRA1qsQEmFNplvlLzsKfi99$+&DAsTh=n5CHoit zL)0;db|IBRP9S%{!x+saxx{Fq&b z&!Z$S!23j-K=u-egg+)N3`%;!1&FbPq&M6rlHcy}ghmpNF5ktZL0RY8 z{%A~E9S)Wd>1%M6M6uJb>%4-K0H_g>>^P@TfG(?iQ#0M_*Stm&vZS5?)nV{o{093= zq|&))RAck=#fgMz2gRt)(dxT(^mBLuKYqi9HW2iW4iO{5HuvL?D1T~$5&tvi2=3FL zqsGA|@VU3Q(DvpDtoxt;llMBZ{6E?7RE^kHk#@a8o!+vV4=JNQ3A#BB)? zPR`Aaq(Z?k13?{|9eQr-Ywl`pIlDDz$bp3ie)2sBZ``}fM!Dr+b>Sl5`FXr&JKmF% z;@wCDH7Wc0KD{)Rh;Y1?LG&V4H6`p4PLTlUGJ;!!&a>?^jq0_B!@3;bU5Gd0MdZG@ z)WCQwQDX1A`j>WWJvSFbFG0^OJI9`QdhfMwfgxNEwX4l1X`S}+8`+)wpQWwRXm=P_ z7$kA3t%ko~KY<2vnye^`upYtbjVg;H>6EmUZB-n_Ojt@ts;N{fU_E^nB$yBhjKnEP zYQ*dvtcG7d8VPB?UO6xtkB9A$8-XjwQFtBMdb+D#Khxm4;&0?(+yYW!MB!@iyx&J-r%@X5`Vrz)kR2lK@-&ipXU z(H_5%9mN`F$tKnSbRaznHg#wLtJH}0VgY+TE6wII0Tgy4o+?gTEQ(H@=m|*;SZm)O zK;keKL}27d$H?<^$p}vJH;VAgF_bIIH~iszDpd)?i(NZ7mP{3LaM=uLQPlg^^wC}W zAN8R=MtUscuSX&Ibqdqf>WPJHVTd!Iue@`paO6ldkw8~pbPMsRzP**HOlf`s{dw5( zOUtikPs?#I*jl$Nd{&2SG^sq$J3JW%YxLN`F-s4Z;-!KD`94~y0FHtLI`GyL7z3`z zO*M{XXy2H-t!aN0VU-hi&MH1%vx>CwcX7kF6`rgoUGAtnuLi(+< zlQgZlWpAKavvmG$ZU*Lpx~5LuHtG3@+iKqZBv+HViE{4zMKk0!@-DYud+Do~7UuCk zmft14PI?4#@Os`Cmcm1X`4E$;B#2iXn;xPSY~+_kSYb%zsN$kDqhXh2DVaw7&VUh` z4A_yVCy;Q3$AXiiIdJpe!W;e_Z>aEN-=`{Q$3)k-``9-q1cM{)*r4h&2j3dL>07jOj_FtCRGJGdJe7Xxu2rAcy8TbVG zw=r+gLO}SjMXbdKFkwh?jk?!a2D51y>>IAgXmDaI7chcT0Z$}q2gpt$UBJ78;@z#4 zcjM(xVbWQW(k!~kkr+Me72lISqJ!N0CVn%zpWTS>Q?PnL8X0ePS~8s)5RnkFF1CsubI)kefy@xAm3d>-vTbW1lz9@n;Wv|EMQx*1EU29CY%kFg8ayPxLY_{b^*&$?lCgg|N_oZ84gL^`H zto!;QgngbaB8l?WX~^tQ80A9@4S5euK~y{lO$*j`lnz7XF}NMM4h02j8u}HX5{iQM z0*VE{9{2%hDEeidO#G{WqaNqG``}XYYjfga!fx?s zk!D%AaRl!o)p;ek(_Gei-}S;pdFdf zpjFvmJB&3u#iSin{EBbF-JHqVhKfwR0Iz53bNMG-2)b0!n7f(JGB#I1T`sjcQ{a|2 z)lB20@5D);TRG{6y7wdh!FAnEk8Gm+4Vq1XubYO+kmF_`cAwfCaZ`a)Uzc2(?t;ln za+|9A0>W!0a2yj3qg4sO1CB|@d-3tR?>uwE=~E{b4(yxXG1IA(a+wGiARVy1dcYGT z6I80b^Apk49s1BeKN6&)lVpw*=ZB*Y3s}IBM(JCE1%ZAzVR4XsabApwXD~X@L9|hc zW_VtdE4DeW&R#n?977ErPb8q!cGSY7Asa{MZKNyXF4Ln%ykSH`%mt@vTS~rQCEKvK zO~>Xo6K;-{a-w>_TmnIBTKa04?oCL{Poi9>=DNv<}Kn_&KcZe4l~sw zA~grT(eX{M*u*@Dtfg4UJo1>T>OtO|s;P!{5rfKZgq=dkrR+MKq^T;`N+wJwCENFWob|4n{ znVE6fW6g}6yu+S4v#oJ(+MN%jedD{!fVuBLPtOMaJYPK_nG#!Q{_%F z0G5gd@e_Q2HkondtEbFl)GZBApIN zT_6e+V2jhh{`bOBgCeSe!f2qipd1#74fva=N#wOmleK7=%Vxml9&LX2%+1@~^_qD< z1RQrom0dQvE<$Rmqq$8$O`uAQ$1GV$gK@RDM%_crPZ}XUEPK526fb#XHRgk;gE|Nm zpfi*Xm!eg#KB%$d-T8awIj5FMAykE#+_PsA)=xOit)PYGJ;A+)=FrJlarr=M5zEXD zX!>{IQ+F@@NL~7t9liYo3SJxkp9(7jmtxC*!XDypljfykh=D+5OI1FQf!Bi6Z6fG& zNV&Dm@$h0icq@)bQ06q;9SCJcSSsW{P!0&w;OFpQC^C?8g?*nDPaPL-jMh-2R?LeS zhElQE}k{piAt)0=-1K1_a-Wxad)gTHC~T- zT)9LnmMTTkLDdLYf$3ss%UneBOdYJpL4_MsusWU%sQEyrklj5E{;szVRQ@hj%+>St zd|)J3$=0w31!*_0@$;|_6{UmH&BES#%`nr{J-enR0A_>=6d?~v>qIpQUJ1EgxqxgE zl6>%sL$Vddk8+8klD5yybcPzGgXM#%M4%WfI`K(Vji0QvuwY`lMC^>96~xJCJ4F@% zq)*4fNgM5$o}kdteqz@g0SOmqOSS*A^@hpGYwq1Tcm34l>3b)}Z-7(iu=DFkcWAn~ zzd6)IP>>FJF;hy^qO-+-7Jw`#TW+WJ08BiJ$-h2_chnIhlY=wZBH$X3?Dw* zo;)#f_4bj*(FwOckcT zej*Y{*eJow-g4O!xW1Zkp(U(VExOP_k#hs7TL{sG6WjFb|JC**t_q?$$U8&B;I`YF z@wMSEdH+zNY}bkgH=tLhmS0le%s+ydzh_CWlpf+R2w{_7!=7d1h$rwM5@JT2+~smu zybvP7K|Ah^BUaRdkh0zxK+HqW!=yA8YAqrhV1#mCt#{wdXH`|nfUbVCqnr2ZkiDsCWu^k2Y*N!lJ&vI0n8y-8IYY$;!?N%}6z)*baEb2x+1{ z4J`r&(4nBeo>dWaJO}Rtj{7X=k&%s} z>43#1CoQ$&kEp5qC)M^mgcG#Xb0rEdGd4TfN)40|_qOxne0&suoM( zf`weYC|0YJz|e_O@=|Z%LWU3`AFaE;Y>LdEz!#ccbvA%7;Nmbh&Z9S;%5E{xvO+&k zn{mt9y|~TUid)y*z`ZV4$TGtwHo+Bf`NOJpZ1e4*OV}#a@Z5MD8wb4Bm%qlIVLyNu ze^#3BZjXWX7m%1aS%hi@E3gCBPs z?fL?>2qe`|#5%94iJ^kd{rc42;)LzKT@DRb(Giqfm~h2Io_Hza zU-}y+deH|)tMaE~We;oC=Z|8wZs{!h18yLu9M-w+oeE13y9z#j)Py|*hC8#Mq23PwPj>WG7d*wv{|ld#X?obk4lw<8Yl`x!Vuv1@u^I46koLprIUL{A*cns+pE=6m6NsFsWJ@4 zGVGyWK*r0j!q>iEI?i@<%N0nFjVgK2CJ$3BM}bK56m|h-N|*vbQmJ6Ex(IN{ivSr4XKHQujJOx(s6}Y|h-_N(6a_ZD z+BZ>%)2n^ct9ywEW%3_8vU}IIt;5YS>`@6+qel=n9e9Tf*HdIli~@`S^3{H*yEt^5 zIR#1pC?GRbari=R!*fC0>xgDSxC zA+Wa`h{Iy&@dtJu4#gXLP7PbGvwXW|Or6}CW9$GJO2&DR3whBATZ7U<9ZpIX zssAE3=oLPZ#}iOHkVcA#5SW8EdQER|+zK6@+TQGy_U@XWZifTmV6%vy)EC6@eNVLe z-FStan*we?qN?HmoS+T8sP+GFXf<>a@&OP!SE^yvr44bdfnTGUd)~JH+#QGx<9^c) zykl}<#{WLWrM+L_@4>IPp%?M4>r;x41)^5_(F4a{e?b3x%PcAJ82#LTUpK7{O*J5n z$xlw6o}%w!ar$}UTr(#7l$bR$Ja@-#>_5dJ{4*jmuVRO~=qaG^QFu~zFR>AeH*tW)Zjpx-o4C*97K62bvTL16N5@`X!ZoxJS6t> zCL(#!8~O|dnxzkWQGz~W0~@ROEG|I^fCc~3=X!UZ?vk$XpmhH&=WaT4;|-^;IdW+K z?j7CYImF0?Qa&S%BcM$u{*V9QE}o<)DezP2q*3Rfa)a% zfV&1F6l^*IdC^{*Y&pPXJVFoP?+TFoR$z~wh{-4^aoTj>WL;;v&qB=F<4yR|vf-PY z@YL?tWKT&O2kAv*;O_0s7&mT>BXQaThF&(@o%!tzuADV|=gdXJcQcm*QH^V<>69CV zi1jd{xb#fK8}*KRgF!Qz`e(bn>;JyL9#S1U73%M_+x>u0|D>VreP!=1q4OJZm z)wpQllMbICyh4cWIuBVFx11s|n4<$YtV>7TZb@=ax+h!1b#$4D$3lLJ^D0;xR1p#3 zLK3W2WCi#$k$UQ!;y4AwQ$)i!3AxUR6vEKJ4k$j0eF9nI7R*UYpVgu1mXuE^iH{+x zS@pAY0X{wiiT#q2_ywiN;B~RAt{%*~w3lCk#r#**Kq{fwL+KlkNo_ixJ`dA1Xr+OG z+23d1LDcmPU&vCsa|#)!7~P1->W0uJJc{f#5JM+k&}r|EkMNA+G6e{dXvc2CjVMhb z3|WPI8sUH*lq8mFtVV{c&Xw1ROc+i3Bw}+0m&Q{AOOshKns#4qL6}rV`UCcDmULpg z#Q9N1Ab9P%7(O};7$uvXfzv3gZnG@^L2nB&rXMlsKhM4(Ap`t#c@O!b$(%%%wQA2i z7lmaMmtvvix2UJCEy~h^LGu)kSPLf3MmOCyb{k zB>D|{GN!yqk)M*o3G+={e$vQ<^*3>7wIqcSaQ`lQ9xDq=d1+_28?*swl!b)T0Gz_A z2%8V`JkLXzbjqY5oh%x0qc%`F8OcZUC_EJQ`w%7VLale43KRAOOdHffB|0JkuV8K$ zWQM*)W_PNV#J{EQDhc)pCGo@FXZBz=ni|SPQ^OwyaN)l{?tcarMWwsgzp|Z({fbj> zNNB%O$c?$et_KW)K0rC)z?D;wWQF#~<)bbaA|d0hcz{C2ENDZ6N29AE$bkaG;D-w7 z9o28LkH9?RHngQZifRHa*oV++&v?<=rg|~~?d_I7?ShRclSS?eL@W^K?;x6BSo&-? z7z2&>g2tCAU=|i#MnZvys5-PWMZH&m%Y9@=23{j@mRf-V%<&7yW)hemg;Zwaftr)z zM&NaY`(ddN)gTCME;}+rGEh%{Bp58o_7g%3qO@F7jfAYO(qF9D9e#Qms%oR*NQnv4Mc*&!G? zDfW6DvWG&UbSNE<$?$;-{jywkZ0f2ol!&(cGBh}~`k zulANL`I!%!nV9l9C2aW9+R}0$oC-u~HsIO{`-Yf}$ec|%v++TC*l;%4P&N^#*^~>_ zGD%g~0+NhW6+1w9*b67t*_%~m>DOr}LUY^p zW_&oRq=rTUjqTeSiQ$OS*#7-wBI!p=NG{<`BvU?SN9q&-jfklCv%h1XLbss3&%!(= za+axEsvn{e#WdocGx#<~@m!JKcfc^T2?M~Mp%D;V4=RWOyyImBdNM+CXq)p6i-P&! zQO(6lvTNx*vJdpn#YckgSJf}LtU1@q6rDE2{+R9Mp9K$Wh+WAhVRPxntzv%=xrQ{6 z2*Lr79akiP2;SoEObpArT zN3S+g0Th-J5m55T($E7D7Zc;i!=$x)7@r z`v4OK$<2|-(~Yfh)3xi&c(XfXgY0pA{O<9gZAr`8bJOJ1vFg@a*xj+=qGpZMrf&k1 zQGG$(&M!S386CmyT7)u!TFxjc1pv~&G*wG-84V|x4KiLv$#(>tfP?l_d|GAGo_zB-T>CBtb$ANn0Ee!!X}Uf+z$I)J8!Du9}3ltt0b^YbT87^r+0n?4rP(M?Z9VdmuI z(g%%XlG7X~a@AL2IFP$>I3dJDyDv800sN)?Rc0q~#3hWj+$eDY) zyFw5&Oo%l^&p^jyE{cK?hODXH1`!R&QOGl?Qp(p0^< zK!w>OvK*STu3$Yn0-)#b6ck7+w&vC)ydjqJ{zwj zDnY+1=8i#%x0po%HW10CsK5a7hSoa>g{g)L-Gw&4l0ppQjIE{pFF)scyt89`VRUNe z_(CC^@f#!2v`>3}^}A@=uZ!;#Bstw}`(J+A#ZK-UZ=GoGnQEPwsuU*Mp*@w(ly~>i zPp*DlF1M$Ad&Cc%czgLJ`SXJif(VNn8L~*pDmS{aSqSk!1~Wkk1QAs1wh#pwatCG0 zk`@C7+8+U1R$*m)quU3dW#cCaVt$-A65RZFZzSk>^>6G>zJhJhXj{OiGolX?w#I>^ zEyovj?OcVX)29}0JbvTB{X38CI(B);3jcVJl^4n*F;fzu$|B6d39`r!{C&+UhB@Y6 z0l%dWuD~C=d*#np1&SL2KZ1#L8eXOR+;Zh?| zYe!e)i`r~b_D*aMguUTpwQOcG0e2;m_1hCo_m=tnoe|A!jusrrLNb=WfjS&tkjfMR zUyi7xA0L9!4n7D^JEX~nQUAxsu`ICbN)2gXvWg85ggx3XBudSG(D zA|uCj>QGZPy~unh$N^z1h53x@6jY?@n$7pM<`KlN%v{&jjLGv8W)KNQ&@EA?(H_Ff zBgjbj6m)o0VL>(vghEKR!BuDD8bLZ7<{ISZN_#ucI|@}5Gnyhv1ba_LX!fE}OlhX#a>cJ|=`P#MZYN0z`90rdJNR#d zQ)4DUQYbJL6rMRiqA6-tfs{kgPQ(y<4L+>UUXj!TF`qBSZetRb4ICQ^jtwfHxQiXlX5ukAJrStw81zYfgX|m9^-)bHeGNZh zHx7rsDi7};RyFFdv|My45lzyi3%CWfkFU;0;VkD&+x<=K$8fi?}2x&k{D&iW|MMEtxaOyP0ZUX`(Ek1 z5yyvlA0M1I!f96K-J;VLQ^gcFp7^tBrcw-Zo{Yxz9P}aYcx_C^#G$I!;_*q?`ru#= z?c;ZZ3zfWuiH{#c2Ev`|CXShBG4rULl=4zXI@(2>9i-M!KppI0Dg=8fqVO0jTN;8& z(LopR%wal2#<6x9iodWMYRWh8&Am?Ceo8F5wVf=X#IrRAO z6#3WXBZQ}=LL%mG1zLoq6k$hoL2bo>>P{PQOcoGQU$Lm(x*}2hA3Tmd7V>kR8EWNK zL{{;cmi1b-RP_WpEzMNzM#7GJbOUi8xN3M4mdgLpZP zonxfRuh%@O;0kHV1`0LP_Cl9m^lw(S19MN{bnlX@pimuVK0ApzPkjoNGZ65ONXu0M zg|J}+m=RX$dRp{vpx^@-!5rGuyPvj8(6dW#C#v*Hh9!FRiibtWP@i)3h|nby=@Sz% zZK2N!0x~v&B7dDshYE%G>_GxTUeG=P!BGuT5TqEdhs#y4l(LOlo~Q@}agVE3%Qos+ zAL?w9CB3rrqNUjcqb6)zF1RVOVH7zm)jR=6*Pju@#E5zvY7&YM{pJds0&-^(eK5tD z9fdFJbI@2(xkH)~cGU*ter!8R^@u+twnz#ZTkycshVr^m4^_*8m8u`NJ6Mg#$+rh$ z!OYKI8%ItQ{{33-H-D;>$WNA%`3dn4e*+(`<|*m#_@@y;TNQ8Ls8)v)CrqKcj!BnB z$36-r?Cq&ksFFZY!ZJ@4qv3k87!8S<9nuN*J($Sf4F6_Mj2tEj5n0AUd_`s`3Vf~( zDe6z*XfnwB(4IHPXB+t_MB_p+X0h)@izT<6k*!K2C#!x^6?U@kN&m9h*e+}B*uwZu z2agHcd_l2d#iE7Sz|#k+l^O*qP5tpgYI;$ZrNFng}qk>j`&Swov+7cWa)gOEuJdg&(pDV113Wr>I!ue2iD^XcFQk zldgdyafm+(+u`b|QY`8E$~34L6=Shg(5zHN&5c13g9<--)9f+walT9w~?jp-dnci${ltVxD+{tA)`Z{*HQM zF<1|?1-49tG3amPGFf;`J!U2gLq9{lPJkVQzuxN8AQdKQQsjsVI*}E)iyaN;sbHA^ zPKpjA7F;as_qe|e|AtHZj?UAw7CJ`a-hHUI^d@7&3RWD1n}^a6_ z6+NMXYPX6dTvo8S`!b>fdwvt)fM#_T>wJlS6j2;eF)KGt7izlnaF8g4cri?8BEYWQ z>Cte?rv97!WZFG62hXuLmG;`aCa(*i19@?6~tkWsmdkZG* zDWHWH1Z5=@LB$aGs@d{yF7KBffls6;Jx+V_Y?{GyWUSh^oZEhKo3ZX zMTTqNXmA!S`}lE+d+lqvSGZL~DWww8FmRY)rO1jT5!2pBC-nAsZ`X;aVIBAc1B1v; z67G~*2~`S|a56nzuh~d3az_F&co)4Kx(dp8XIVNN8O<4PkL3#|d~w~2!qk+Jy!^H0 zwDj)fe*<0Z)fhu2x^T}rHGTM#JMTIG!CWAQ%!mC9K@mj-o zIyllu*|w*U!bYe(vg@0LL}+ZRs4CHNEns?WkI&EJRq{IZr5O$Moj&)a3yr^5eD2Ex z8h@Yo+~?y+bP}KYyjSC>n1Sc}d`jcbh|hiAq45uj&wZM%@ehg5eLAc04~x%zdZ+Q9 z6QBE(M&mzEpI0D5;~y8F`+KPIUj)v;XO6g@62B2#m+B{ig7oDVY$4jj5R*WFHu_~? z%N*H-MU3H@cCi&hnVM2HWwP(Mkv##P0OQFbDREXHrZsF^OJFUY<(IJQ%u zoyJ}#QpgLcnW~lyBonua?U`ZrZCk~t3B?G6^e{5e4=S6`c_OC%J7qt;BZ4Si>u3$Lh zGQ&a2nOei!kTV6JB2;3IvLi^}SR@5fKC%%*6KnhNnHiIIvG240h79~9S^n0m4Fie` zoc+-AL=8|F($OVh)x-cSaCFsG4Pm{4z`CVYs~kvWWh4VehDXY+R>_}EB6=U;`|SIu z2APh;;}eBKIu(g0#&H5)M%Dyg^SAu#>>l}c=uMl}7le*P zaZn_y2slH8FN-IVau98<=qLYrW@sow|1jPg`Csw>Tdsh!QT4tnNDCs)mKYKp8;K!r zR!ousDsfdXSGNs-_M0fvP@0%=hv?=Ogk0 zs83k}zUENj1q5h~ibL%pGO1uWRCZ_)f>NAt&Q*0r7F>AXGrMgqar)i0ANilJqgCrZ z5+ymp{)K%8RiZt>X~f;plmJ@z#iT_?DV7!}do>cWliuWN_9{+zK*s2a2R$y!u3r&3 zzPIuh`&VIACZdGhHb5{ zJRz#9hH^4K%b#?qu^dX@Od&~MaW^t8i+|O0!I+S@{5+KQpn6o$C?=bT!^AnfApIGC z3$&H?!Ou{T8PzI-9RhG7Hh}7c_HmvFg0vt?mccC1E8af1Xzfj@M6(71L500gjOJ#= zrqgNfW8Y$b!>@Z)a47h#Bd&nslDcsz9LCoI-a0sB-&zNF>ps%VlKjuuo8<axpA* zyK@a;CZ)JPnD=2jB;^Fv7D!uidcZgq(FHOLRH)O$aBvugP}n!t7(yx33-qpMaUzQ7 zaNhw-=snu-cuD4EkH@RTvtGvRrO%*aRx{~I*ytyQMj@6`jmR#w*7An7jL8#Z88Q7x zuWgl3O6J<2D;Ke1wuy{#TN^_)%8bjEK}N7tVgJTn7HcGrI({;A zKoU0JhY9zq6<~iW)N-)jSq0Vbp*fQo`*Ld-Mh7I8X^jO9SD>KqN_%E#=_Lzo{b&&; zvpbCQf9p-Pi5;h3IX=7~o;zr2OOt&od z!X?O1NC6qJcXj^fD8%>2*t;R3mzCb$0SW0U%4H(foXTa&XUTwmoZMPe>@Wx|3!))J zEg>4}#Dj6@QSya?jtiRxWn{Gfg1J?_(rPBT+6Y((R`^du9-8*n7~x{*qvnd z-kcX{&I?1OYDLU>^@u@5H=pv`#R2Q?KtV;3wV5HrX-{oB;J#H_l}RM=>ErNW;Z?A^a6pfNgxEWgfx->0g_Fj1&GuHK~o`t z6ilIsh=>v*A_5{HA~qiE8&Cv9MMXqJ#E#ftMMcDph*&u5ABlf?Hob1^D zP2^ZpcabUke4i8(crR51wr1lnwRlTp7pGn->@KvP;_nB-oYdq2_U(C#lMe3J zyLofJek^t~KBAVMw|`*P58FRFwOeh_$3a_y<;wK2iAIDbc1$-0dU*wUC3o@iG8(&C z@WOc0WTfrnJwm-ZcJYY_3`(&;*XY3)>X3K>@Q_fU9j5Ns>T@h8$L9gGBz968Xquj zbLojws`Fh6U20tByWEDV+Ti+x>ocyeyOp~&x!vHl((Nwy58Y3>|A9SRyLcpcSUtvj zO!c_I<1UX!J)ZU0=kbBZNsr$=y*)d7_V$YK>h1NA*G{k3yx#XZ;q|Nc$38!s+)SaS zSW{oqFw>Q$4^3a1&iZ=zcJz(&&F~%XJJq+|_eS4Uz7P67<+~Th7xnP_*3aRO<2e0$ z_;2xl$^Q-iWB%XxI|94{%mGOO9|XP>_)g&Gfj7}e zTNbvtV;%N6ioib5ojPspyr=WKoxkY(V}v2XHzG1(b;N%nUWj-r;#9;hUEFc1S=TPT zyJUCy#Js`$gn765E%RsQ(~-u=kjSSa_eFjXc{1|1D4(c^sPw2|QRPwdqn1Rii+Ut_ zLUd(xL-eBPJEAv5KOMcV>%6YFcHPj`)-9o1|8Ds)=`llNCdN#UnHSR>v$p&6?(@3e z8k-k8A+|DhPHao;9kH8YpN`!Z`$3QKJ*M`U-D63Qbv+*J@pR8!aoyvR;|9hJiz|#P zkDC!UFK%(%intANkH&3}I}mp??(4WS7G*J6I#~W=*FT70r1?opl2#?%lk`Z^w&cv@;mMOz!c#0M`%>Oc`6T6J${8FQ`9SL2)TOC+ zrfyE%k-9(i-PAABs?y#_JCgQ!+V^R{rMsqgOz)PSnx2)OpI(?=*4MpnVBgrjxApzF z?}>gJ`aRL_nSOiwm-TPz|5^Xj86qPfqjN@lM&FDP8CPd~HDKL&RSd3p zvf|e%_fPq0YQxkoE9X{)RXtpFdRqRp-P66NPnrH`b#V3c>Yr+|Ylhd1skySItY&)6 z+?pjdch)>uv$f{Mnm22X)_hm`F*Z;zdq>tqU&$I z{`Tv4EKm!k-ym+7b;D0LdfvEyk^QFqH=Ve-_~ut{{%LXQ;#(HK(>$a3&gNZ93`<5X z+129OGPvc|TQY9>Vrj(En5E6Pu3h%kZB@5zyY08-xyx@~{>|;fZhvLPzLh;zZdetz z>c=~h?zsAnTkm*gwd?9$tEaF2&+5~Uw~op;~)#+r_6hOTK^^T68BwMA=7)>f^( zX6>A{H>_Q<_V%@F*WSDKp|!1RcdUJ3?WuJg*Ns_s+qw_$^0+JOu4Q*^yX*M+xb?Hw z@3>puopE>F-Mcn)+t9q>rF%NxGi&4Mjr%wLd~Y|c4HvS*y2&#ZJb1Nl#?J!t{OR{< z>al}#{iJMGi(`yKx-2%PqD^;2E6+ci0uiN_J3jq?35NR}KevHObo_Jy3>RMNaG zncK$i$Kf&^pUJL{*JZZjEW<&^pVApl!%9Z?-C>n!2gi2V9d1vvTPL`8LfFq_o-pB* z5Oo1yt|{!ee+%+g5h(9Onf@2pg>aXGwz%#`{t4RdaaGH4M*A+uj&}IK@t)iWU3v-= zmCl3FiH1AQEE)-u;y-}0I2K6@Ml>w2!12}bwX`@60RF&zfbIu>$8Iu4{spiC_AhRi z<{OMT2!Dl3@jAK5XHW(m)Z<9&Z$N(LIN1iu&+)^*1&Q~><-p+X7^Aj2#u&Q-u5yeq z)B`4f9)asEfGqg;#Wexfv4C1UBiW*d94)N!ZEOJfGoIr#$GdV5&eVAv*F&iPXK^O& z+mP*(*xBG!=;7PYP2yXEL7i?`j~;;fb#a^&I~}Jl<8}r3Qe^-(IdXwDe+ms{oA{lpcpJ%X2#HcbpPGIra)WmZG^jwyOiU{{ntr;JKP8 zT;)WZk@+n2qEsZv*)W5LJHEpClROzs z@e@Wqzr|@}ak$3e8X*Q?&vK=Q%0GT+g&rN=a=W92<*_UGa@K?BQ!0vF6mHZsf6hL9* zSU!lj4`G@@pa_+JfPV)*^B+N5yAO4RgGaFMN;K^Fo#mfsONxcX&|L(o{&)`$;kxya z2ZW1iaGZmkI~C)_fj9!fUG0M$u#dEQ9VTm>M1EIAi+<_Fa%%|FQn3;_^tDWC`H~Qr;~##xsL$U0T92q5kP5T{sE7% z!QLcr1_{%YA1tmHF#wuoggn8DMW=9RWzQ7PV=rxq!XNk(^AlXIb&UBV%Vn|Qgm@7g z?LSynjPiHv;OByxTBoK!XGYK!vlpgdt$=$wBZ!SCZh_c6z0Iv)N^ZHhSNQy9uE6HCzu2$e;X4xxH20#!na)hhV^$f1fVgdU4v;%5y(HEOPJ}QUE`Em(%l(ETo z%e?rM%PCzzAX{mcW+Ip!JWM)M-`qmfaOE2C6YU{r8aM_4P0qbg!Lbf0>5 z&Dnc?Q<$+qT4LrMD>sVA5fRZV zVnoE)h{?!FC313Y#7489In3P2Y}Rv2RPw zDCjxRet%+q$Av#f_dkw^K*tGkb*ykKbS(Ij^vLOFhkkrE*~vlJ!|dMnLOY&|V~%5= z9ovHcnqw~=gWexq1eknu8gK_8KFU6F#xusVn;V8!5&mYteOS3|#mqaQKEg=zQT44l zr+znJ`B_{1pfOoV`xzn(Ifh||a>GW$1BNZAc(jRzBgPQpKI2=)_l!r{_>AwhQQFmb z04p;N5lvX5+BlR2S};-dSG8)fx>{YShNA6_@e--lG z3H3<3d*q72c%sIMa%?|7T{MX~c&0Xp`^5d?VeCWvoHz`-p(epsI8g-4TQYGpkRf>5>kVwKwvKeSeCWwjRN)an=5VxVFUM%hsx1vVYiv4)bUle=r zcA=-nU7W@19Y?xLZ|wHkQTCCs63aK_csWvDAxC2d);!omua^tuYT2x2$yIWn+$Eov zFJM;B-Ds_Yq$i%yU-4%05|J_tZ@y0G)pZt8vIE|_X6&O8EwW@9&OYyf6M>TP7EZ@H zww`!P48oY`K+NFDLQ9v4vFO1ViOmsZ@=ClJibSCtB}(z;n=D6&@v;za)2l_LES2S= zT22*pavJtUsuVMDl6a%66LVz~-Y>JowfO#Dh;ta%$d%$Ixj@`0SBSgiTJZq-XPe}G z;z4<@ctma%HoQBYz>XS^$%n*ty!W4$Tg5h=PlyxZd(3Y538&BefH&gpc+(w_`-O*ah$2}aZk9KQ7hpZ!D_)i_idWG3QNo74hg_^u{~7r;Nl3yC|%J=!IEA{m>3)pxymgRB*`m=8NsUV|OB z>&0x@Am+mVPaCIcV}u&V4B`ui z#^PyblXG}G{4U(YA9zRni8s`5==G$amywFMY+v-yETXUMjm;|)(1S@7=`vmvW6zkY z&=XmP9@}zxi)fZNiWUrZ-h$;#OXXs*L@p95y+Q|$u+PWoB2Es4eCJG8GinfGE;_PKJT5N_mTX1$ErDqGt&ej>i z&E;m>?gE=JX5yAu>64vXmTPm(EsV4ox)qJSvJlMSErn)VK>?gHi^9#ebfVIWip;GV zH*$pIe|w7KayO#4#MwvUz8h*~I8V zo8SeFk+{cjY6Njb3@_R4C(4LpyNf6-Dk?82vdOrjBE1Af=5mxL+FI1h=3+7Dnr+5z zB`A|yc0r-dE!t{xkG7%)5Tv-5&6ULsNtnx9-Ab)y@}%O1YuP7kGZyET*<5-?!ZX|4 zVs1fNtqCsOAfYP?iwnX_Mi&)E7eyACZJA>V;TKMF(X-Oa=4P>ZWXEm63xK8Wj@xK! zG}I;9T4GbBQ*5#f8L_$b>}B(?m?^g=6w4?|!Gio|78emqaSrF!)3U|GB(ig@JtNx{ z$IEh|B6(}E$T(yHdGA(i&TWYierY|AC8Ho7E7OTyVu)XTvSnbbYxLaD6y}lRjFKCc}Y$$o1X_@*~6%0AW%a#Ke`)@ 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 UC|KxGXrkaX2z?Q(xLx-De@otEMF0Q* literal 0 HcmV?d00001 diff --git a/oi-wiki-export-typst/fonts/CrimsonText-Regular.ttf b/oi-wiki-export-typst/fonts/CrimsonText-Regular.ttf new file mode 100644 index 0000000000000000000000000000000000000000..f24bf2a122807547786e7edb5daf96fb0fdbfcac GIT binary patch literal 106512 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%0D0PLgjTIb>WrgG#unQ7=U)lE)yX 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�sW-H5GMvWJkhpoqpydY)K0G6A?v5 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"<3+T(%;>30uG?v3W103G884b~Iw z?UJrZus2-wu*{XNSJ>Nw=$c}052ovt_Vy6E4zj}UOo`ssJU+72Ie$bDu{h=RS2S7i%UIqQ=IuQENHQla_;0NhyyH>6zm22qq zWI44753YJTwONN;VNXo2MKPizjceKE$4$IAXA#_wPv2uq#166jdY=`fBOgXzCJR+OchIqtiyC3o6Bn z54|qlNO}0ILmVtT41HIEo(Qr4bfbCSWO&ie$p2NG7Y3T+(-J0g~ zQEPfR^(mvSFWnuW1!~E=1NsH_EOSy%8;VXFnVOjJHyNtGp^r z55!9qon3&-lMKAP4E@8Uc{~se{eN1aCoee-B@{wWT(}hQyG$Vvgt}xaIuTSxAQ~Lr zAeTr2jvjhjkq{O@vnTB;3yo!j&ldOzst5KnZILztX1b;`Ne@M5qG^R`qp47;#gV== zR>rWjE=o$%wGnusll01n1k=u{(5-!OHx@~qV;7?m|Fz|nrJdR%YLgsS(1a0W;!mBsxiP(}|9;8AQj}Orm4#CMwenvT`bu5D%3}NClNi zNF~vX0a8UYgj5p^AvHup$Sjtt09Y-{MOYonMc8bXi?BH?7h&}*7h!W*F2WjEF2WjN z;}M+|*u;1GC?wo$p!q>C;J8{>7cP&t&X*E!yna4DgKs57_`I=6y3;2$6EHqHc zvB*G)d@=Z3W3ar%K#5?9ffB*3pdH!CZzR1 z1nsq*{O;g8=C{f~iTq9jCGyqCd9A_kE(0ZkHUlMsyY0Kecx0@YDc9m%XZ+-AY8OGy=Y{BpAHM?$9~GJvFeo57I9>&W znh`@V>4mRR2#yGIz7l~&|3M;fIkJR-B+~hc7-jxb%uATh5e4mi&sQ`E2UZGso%9`AQZcjG@9 zvn|W;R4wy<@4HujmkkKBxHy~G32kHm&5i2_1}-swrkgmvt1aF(aSP_rj+;37i(*VX z5OXZUOx%juuH_~kg!z{3CLWCWn(s_J#19X{dVnM|KHLwFkiAub8E+H0mKx#0ri3QU zKQ`kqyIG=Ev|@%b6LZZO2%0ECOf{}9PRINWs2ez*zE4cFMM!BBvq4qK_xYI3Y(=g{ z#J3=Q0P}1`87-K<#xgXNQpXhYLs;&~WOX#MeMAEU2rPaEXsX_Wy zl9%xq$E0X4O5Z8#3H8B}+6^LsA zO&zXOZ{v~H0-M*O^q)_smf&A&9$2;t+O%*Dc~C++cs0Z3S92>dBr0TEP`jASQnZQ% zEETmOgQ6bSN=ViKPSxP3foB8D-wd2u4$)4A?`s0ClhAI6Ruf&ECv@XrN806UA{{Bz zelJ(9PZ|$u1GALeYARSW4H6seQ$q@sn-9Mz;jL)D8u)d$3t5w%ohHP$z$Vll>iujp z2^=Q;FLN0lDs&*;O?W0R^9L^(eIDv}Smce3-!f2IafWR$=7e#Ks0_ngdjw{;ZJ2+K z#H@QXX1!z3Gp&OcAr3R>@iIXsqD%h~^U76NkK9A{M9=p(nJjzBE8u0gQfe|)_C|}X zmT9sNW|{lSe(*gEkXK=5{V?Y5?U zISk&45%L<$(T~JD_O+OWe-HDQ`Qkh2#GIx}7GTD>5Od9=G1ojsj)i|~JZ79H$m`%6 zm?VqXKQI~I5Qi+0Q{+^5(r>_;=`uM@-YBQb8KOqcgmpfUH_39$je0P9Un#33dIMR5 zS@v17R@TYca*nLWI_n0^;@>BmFe`sE`r<6vEL+4s@EqpAgECLf$L#Y$%tq(R#h8o! z9IGq7m$$;RvP>?=ocj=XCvKN3QVTWhr&m*1#`oX%O~Vkn%72OJ{(?~r|=f|JNyJM z%NV0guiuxm)hR40i!$)L+0H^K` z{+aO-GtoG42>u57-|}m$Ntz)32%pJW_%G&TrvIG$CuZ2^VTS#J{8oM^zn4FV>*SAE z_c9T_R4mrO^shxs!tqdnbh4}pRv{`>g^ABZkqTE4$|kN?kt#|>W1nHHii7`sp-Mo1 zyhtVDJ$H-hp?bn2+e=*`mcU23SY4?!m8yEfi$z|oeyYECTn!Mn!k;w|(^ZqzAZ3T| zyF^UE@F5)o7xL3(sw^>8Wy9Mn{(rEsDnka*paJrbLW~iC) z7?#5mSD`A!jjBpji|OJ^c)ItgS@7A_@w|OKRwv9*4dTC4BYbx^t7gpFw_@&ozFGjU z;v)DJZ&6Fst?+igCLR@=@!i*0c(dc-rAx$Uqlf5;u}Uv^|CYmpxB|2OE8*W;1z+WA z%>5glfP2(hb+1~d?o;d4{a7P#4(kBUV;!MIJ&370tbM@Bgx_Ecw-x8+J%P0XcZvwL z0V}&6QXAnFycYhXN8lCQC3dS{!L#(J+AN$H_=RH)Lb(`;@!p%_w_*=`nlFeK#nbR^ z9)Mpk5UVX7Q(HtDd|Io;Dsi`H6KllnY#ZIbs6q_w{dmmnpcN;%`~ssbaiC73XJ=FzDGWnd2i;+&ol4y&8x{L zKQkzQuBWoOu^}kGaaLnP^&BJJ;Rwoidn)I(vK)>Kw^^RUcg+rW8u==!>l+uCnexJ1 zm37UP^XAsnS1$~8RW-JHDl4lSTCD|@9x8%W$}o%0$V7B=qo>u(Y)a;Eg%|j74lHQ( z)YV(vY!j>7kB`$dO@^tO%T(26@^_h{y0Syvost-3In6B2{2;ffz1v@Vr)j+mQ>F}e z*yt|Bh=(I1Gc$DbC2TVt0b?pW%|;oSX5P%aurb~9!kDJ0nWl)D*=p=K>)6hEM|~EW zTudchCO21J&{$LAv4+Ifv8{FWRn=kRE-fUB?cm7BG7HPf3?J`jSnC9?Uh4!ulV-8r z$l?r`0No4`I`ij+Pw>lcCYthPn?}#hv`#emPW0oO&C)wEvU7}F*=8%v&JCaF$I{|% zm}Q;hXN7_cgTBDzUSQT+foZn_lTU%K>dks{xdSKFHa43LuE4aNuMHQNR0XE&Zb!tV z+IbDLJk9gw)_dl)22C<#3Y*kY?`f&+d|8r42DEJ=526b4}fI zUEwAEGEDKea+YCb9Gu84yI_cU&*eEX3Wl2TP9xrJ%IwY!oYG}wx2bKRDXrUQb<^5z zcf^!#R-R(W6EwwW$AMFt>rnkuxHX#sm<0_n%|66sy@72Pc0-q~LT;$4t8T7tscSJZ z<(byc%d_4vtJ&l0Nb^iF^76yVx-y$tO#X%0)-t~=g@!#caS|GLT!neoX?|5V)Db%E zk`7>KX81HeD_cr#s>Zhg6Fy9`sBjKZ*4UAhnt^yOKhvo2wqnGsOi)t8%jGlz!NcF&8x+!Qs_ z6frX=yw+day3YE?lVm;{nS~*B>Gh43^(DpQ4J}+|39g~4Zgx^n|-M)S!^!!-=<7iS>bbLHCIMFzM_zPCgt-xCER}EPP?~E*0Kt1eX zh}Ow$Xn4I}elyXmxNNhcva_rW2HyrhzS*oD`hWA;?0gRl32*RYX{kmB(CBY3Uq5eh zH+rHBcY$f^0`vLs^;o`9kgG7Tv8!h)Fm3B=>IG(tC@^JrXGAo1>zNu2nZg?XrT;f` zW}7*4%<^-FSep&4n>)3}d%&!P9J7Vym~!M4gg5(XZEfMKVJ+Qj6aBxLFW1yQ*VH<9 zXh19V|E+#y`O@%N4rxQ7JJ>$1Arl)liE-tDUe(}wQChGP7x;DdLrrD#O!4xZVT-z$7((Tlc#g}w4L$ksc`_+b}=B5gSnm~k`Dj3!>tYbKv z;T(qbpsPigjle^8N0!qSvbegrF`a;cRW&ru4aS&0osrfBjf{l0)}l*bG^D0+UNd7P zVx}XH`zKtv&T!@D4_DR<*KC7v!@Rl8%$N~kOo+*tP=hgH24izr;xIaEhr`K?aWxqa z$yTmnB6T?OO&PNCY!Dp=L+@4Xsj4G6 z4y~!1H4n5H%^C9GqtdLf@mnO*VZ6FBbB#w1r+*Hy&aG>}uODkmb!B5iRe*b5b0cTT zG_z(JZ#k%t6W-L^*wonETG!a%sSolrH#aVr*Mt`@uFZ9`YFk4Xt!iA*U|{vtHLYQ! zYnCGyA;S-M_~AqS@GKM0^rI)-M^Ctqo^a!d&2n&~#{G~GZm*S%b1Oo)NfO5P&T=?S z-mY{{J$Lz_H>xMg!Gk8;8zZ4CM}7!DhJLxZ&j3YEL~Uc^98X2#d>G8fJ0mk370AC3 zyCRJrKMtI+Y6y^-XX_M>Ys=OtA>W1@rpolc$u|f)h4D|z_P@#XyU85lcjGW_qW$Ib zPtM_+m~Kk>r#t;`^7zJP2%4APz!h%F?c%g3QwdngacM+`e{MtI^b9itHIQx@xW)K$ zpopwXBZhJW+c(qcf}a`L`top<1mxjp8Mc_gEZC(LV%d8ISR6|5SLkVJ6`vr3pxdIhmTtf_#ek7EXGtJ)@F zq3?bXj~S!`m}7eldzr7m{L#D6AC-bY>*ei26%Ua9*G_F(_*a<&(Ndl?Yuiu#2cEQQm!z$;{_Fn+>lW)yp{%QkU(n3p321jXn(gQQyd6K6 zN@?Ctx+uD+yRfd*pTfN6judZ)m;52ZcYi6pk&1MdiKx3u!QGcW`Yy~DbLsWpQ(T&Z z?z>96TxwSwWbtXl`XHyFm+sw8n3sIY|4)BDOBhVBQwJ9D>fU`+l6RALwRc~qEss!X zNP810Z&Etl`3moD2cLdS2il+dLkZ9iWe~qN!5jaC5k2tj3@Mi6AsVwh#Bk|GJmoSZ z=6t4fEGJv*a;0}l$P~yAt-v4U{3n0it#`SctY7CoDMJfWm;bP=%W*g3ihOB4tvc_2 zQhy)C&tLz&e#k%V=XqQ%wX;=sK53Vu`iVH~Jp2FuXS4?{hxRP~lD{rG8L&Ozh_D3a z1%4%DbWHRxp`wfM0TCI44>$oP#0&uJ7gGYbBDN2D^Dy+!)JuopU132l9)mtT4sVTM zyfv$^=kIp>+u(V58gG2^MI^wJI$UV*x_u#1l~Xz4lR@8)r%)kS5JC__5uy;H5n>SH z5aJOM5E2oR5PBf=L`bG9ICOwR2RL+qLkBo?fI|m3bbvz#ICOwR2RL+qLkBo?fI|m3 zbbv#LIDr=PCxnj>{*3T3!Y2qP5&nX33gJ@(j6Fb2@Ce2alSQGL0*|CcrF-90S0iNN zX%7|81HORpBEnvTmk_A0co|_o!Yc^p5fuDKKV`pO@DN2{MC5=E%MD*-GS(~H3Hp2B zJ#zEdXAH(ZkBfK|%!BtV5bfqp(2%x@wN8G0tLo^h;a5PZJh zg7SN4iw#uJRkpFc*vl3U&;Hx6@(1w52e1W0;dTEjc0YcB{c4f$vwsPQ zJzs$TgAsWQkEDa(DG$dU_9zvF-RJOXW6yb}$^+9v@z5o?Konf zAH$K6Q-NnP%wsq*vH&sT7%w6iH9xWyG1CbGuK-@lF%2BkWX3N>{OgfNBGDp%9gAE} zc;qUEYZ$I)xRK#zhT9mv9=QXQI^!=e+;7GchqoF3C>|{_@)X0fQ31feV0bnXW1`5j zk!b&s7bzyHS5!72z6jZgN11p+XH2gsJOfd^8K!gUgebKBs9_98F`N*Eb{{oA3avP* zl;KQI2a1Vtg;d0}S6} zc$ia0eiii{N<2pphw`JWXe+~{#2Cb+Fzmx{V6+1<6Qj!ka~Y0cI5FCZ zm@y_^0(=_d8=}_%uVGlvu$kdPh8v=nB6X#Sqg6+5GI6wI-~J2O|*-W@uv=$FOINhWLJr+Zkpu z%wsr`VFAN&45!C5pxo&(Xvs0PjIW8=47`=$Vus5Zu41?*W<63jGQKV51>idv>I{#? zpzX!%XZSk9w;3K`cr4~4q@H5@3x;1ZJWDV(Ar|d0<|4t^0EVFqqZlT{_CkDb#+Sst z8GAT3o#8Ns*(SaM@uL_oWH^CgF~gY*OHG_8s~Dfnu!-S(hD%~8bv5H_89u=9k=QM< z+hd<$d>6yL3=c5;AhrV%9%uM5!*j7{ld-26o{RkoILGwp9hZdTLaYo0LBxb}48a(V zN$1oNaZbdfBsK#Y_=vbZzz1@?5#uoN+)kRdxI=O8#*JY(kzonL8ivytmYXr_Kv~at zGsA@pmoi+*uq}>gHZZ=4;S&s>irX2tCvG3(2N@oXI|&(1F#I}R0soxg8HPs8dB%Sr z7;lfy1Po?qkGBDjW4tFr&5ZBYN!i*nJbrV0Ui^-DJ$@v^0*2!l7BQR}KRvzzC%+O+ z1H;yyeUNK0+x^Lqm{-VVR($;#RT-F@uwJGjQ;}o z#d!3z@n_@FZsR#MAvm0>u;B%(}AVTd-0)PW2g9Fxm% z1jC7m=wlP7CDsF$Gpr%lqc{=mJaJ(n`qjjz5_bZwWZ1^=sYLX~i5pD(3E-O&2^y3q z5|0Ak!*CzN6Nv{AbI8Qs1%A@RKWCianZ&O#N!znm)uk};JW_u!;*-!;lY$wynK5yl z^gEK?PCAmLG3>|C&M=c<9>b9g3mA@LSj2ED!)*+ABuxjO3dU<0wkEAdDGdx;lNJMC z&iE>ZYZz{1%FPUYd`KRhV_smmpW*8ak0qh?CLK%q2=El)Jpy{5UrqXw;aP?k7+xfZ z)KI`E#uFI!?t!sHj{ywR85Z|IJM1xx;V6cM3@0!w?t%8)V;yivA(;8u{55})WtPRFI zy0D!^ID&8t0amb`!dNMwE7)KY+m{GLho{?iu`4YSwup>Ez!Mz_>qO$2j>K$?4Zp!` z+Yol(9#42AEEG8tVH5(ij~vFhwCT7OB1}LiMxZpJL+gv2jnITJ9|87^T!FA!ghZ@~ z*buQLVrRtuh{F*b5ho&O=A+A_0LdfJvLlWnoIp4!0wRur>SV;{u+@L!ZTMH}t)_1x z4wiilzXjjG@48-W-z%`1Uqn2Guo9sSVI9H-gnfQt6L37AOowMVVvk=Mp3I0t2;F5D zkXl5Xfz{)1#S>_=;rg|KNBn?$Jc;xX3W_HhTTcWHp&x=BArm1FVWj9A@kGQ^u-ndv zJrVmN4n`b`c-Lo{h%*siN1TuN!KQ4%Hk&QZ*3+ihGHv~AcECK_NLztzoUO<<)i&K$ zVXL*lVg(wQtJR`SW*F}3Yz7p#T<^rnr+0Z zmq`Y-nCa<+Hz@~LstIzg0nE9d7oIqYIs&|#rCPzMhgp7&vYzSdSe^2Ol^Bgw_{9KV;#-OARxk>$LRWxkQ^P{9_yk>tTQFUZ0J*`B?KQqU=L z;A7Z_>96+g0S)>d*e8Fb!Xjwx3$&sl8$ zI_9&F^Uh~G-@+WWab3@2UDjL5A;TuFo{2gph?itBf)Omh{}jAI!b zY};{6KZfbY1lW)_gmZ;h&cU|-#MkNY=@YK;^K5hUI*1X>M-WfU5~JQ_Dd(E#Z3JHI zoewz4i}#G2#N|$6`bplEh`E8worGPkSx-3gtmV>QWqU@mJ-4wvjUM2B%Q8^j%rmsU@6R z!t`z~cMCr+XIb(axeXMvByQ%=${cdoGFLMnJ9D73$fdM1hb-@2!igTcJ9+}1#Qq8? zj;Yyz?=gNDdtxZYfRjKUirpR*Qw;byyzNqs$NAP$e2i596hDlh+)0p1LCkZ2$I~Gs7t4Wj{22vl#lx)EVQP)y49olu^OWj6#C*#wJjlBS+!isPZ`m@7n9sM&=ON~B znr(8Lc*+#Ez)8vl?*Q510^6Zd9pso#7?K@MGoRC}@84O%(`=11Y>m@wjo)+XNtS9p zTjMnA{t0#!O87dcJ>1UmUof{XSk8x7w$E6q&sc`fn9pZS^BHsghc^#-L%hEOpC#S~ zz{TnxfD5>HT|j)0N_Dh=a^XBRvgb%EQmthf z8kyTs3$@7$+_zldTI)|VlIFyvXj3@*L0n+`kOjSpSjzRalGPL1OB5XCv1T z%e4^AGDNcs4)q((OHWW7b9=*-gz91^c8C#YdcS*_{vE0X?5HH$-pMgIr4^~qafyQU zMKno55a;w!>OUEu%bX8z`?-rPe}HTA0Jns@Sc?Npe;3nNGW{N=-_6hL9|y#n%x4d4no6}MQ#th|&h;XVcHot~0`O5ak>NcYLw0+VIqYKjEo6VZrzSBZ%ZG7o zTDYC>qP8u2cpu}`KNGYJC&=Ym*usHq|KBmUp2Qg^p`#RhosMd!7u&xl+u!K(v&sG_ zk?e0#FB0TjY19WIhH7CK)q=dzyOm-{FPuh6PscYb`8RC0ZL( zE~(5}vZhY&U%+Q6@e%KHZNAU-_&%5NKFj|;m;OFVRM-hR03NYyU=Hl;9HE@>I*-Ij ziQ}+KbE=w-yLC7Vvjk_kmSYE|1$#5Au>Z0N`z)8>t`++%mt)`L8nqrA+L(3|u#GrF zbDP=$8Tk1X`K;Zi40#MMjAuEY+sP?zIYl!zzaNF% zZ6(8d_}#sf;cfixexCc5)zqtq#g;6V z%01Nvep5foZSOUHil=k?KggqzJ89H`djAgaK^l#Sjr^{8(1OMMRu3DJhSd)l0%xe-~ z=QW9kL>w)w7GG9Y&TSHB8D6ZaubU-pwAft6)nG$}?1>1E)M%%R?8nf~Fq2^(!;uUN z7>;9DMC-=o)Rwx28acgXUPX(nXqng4B5P@7JJyr-!WjU;_>aQr14&ZD$pVhf|2&)> zFbcm&i?G+fRF-3XK@;}oFNY_69d^{?SE5`hg7c@jHTekEjB9eQs~GV3`21;_Ja^rs z37U#2o^+k293@Cq6R|%>Q~WChK5!i4j6iEFf^fBV;>NwizG<+>9%_P#47q2;3JHpd zWN3_Kj5jUjG!V~i2kR;b4`&$9FqUBqL;f9%)eTf;0QTUYlIN5a^vI)VwFh0Z&HE9U z2cr85mR6!)GU#ZeN%1u%eU*9dyH=R@<>qy!c}1_v`KFotXjDsl=sp&hDwfKbsozv#Fs!n;Q1Bso_7H z8u7EKHosKk4LS|aA7)_4rf6G$attOfizMQ4M|P6(6bGU(s3cBKmN?Vbh@r_&Csxi} zCud@p`R}mH{2lB$KZNAx(5nO>_ez{PjH92ZMF1+mM-U!BSdW=miIXlu8AbuF5@boO|2zW#`yq$_sRp3OX$5prfpJ0sojriF2DTDMfj$NXIWx zl=>ui z40@gv=;?PdjpgIjs9$UWiB_gs@e0<8#cDFTy5x_1ogpvswOn2RRV*F{&??jpS_3^< x3Wj2OEBc@rR#gj6bn)+t!`W7H@B0{KK7$75-}D z&fPQlZ~opLjQ^ycF>_|?&Yu1T{glr5(l+dJ=?MD3fOStYlcF)<2u_ulwZk-FE=)$Mb#+e_AJR{m_XgI{)(+o}FTR{5z+P zFW=<)yH}bRpTT-Id

96N|Z zsyViV<&0k*$l)x@wv|g9$SpE~XT=y!dyr{H^87ZGQ_ZE;5kERGqQy5HdoSl8nSLdg z)te~AQylvmm8%N4E>CeSUSi3wCVDBE{t@PF7nfq@RNXmt0Mn0P3BSeRtxS22bGx2n z8#%WEroWzZ8^<*Bxu#RNMh%?vbmnS5=abJg1G(0(a&7~;lx3WQKiB1PrtGhpP?s&h z6;7%7t5DSy7P)X0jnifcu+iaUIP7&9I5(Duvtgs~RG>!SJlF&^Nmb%$BF=r);#SBe zH5WOo!99SpaCf7kXWR$57}!Fb(z;8nMky<(M4SyI$g8txAbvyu_a77Ys9TsfmLBd& z+>F>;Ib;sQpBTwcXUuL+D z;pYt3Gn~fo9fq$moW<~MhSRyvKg#$5#&2f0heK{rZxjFA7J<~7IR8bn)~ggEo?`d| zx6w7!Mwp*z{JzGs{g>RDuW9Iz%O{cfZ&1OuWkc8uI2&$YJd$HB~pLB$w1++s4>XX#O<|`=yBo>Z72Ed zU0mdF{HjHG5r^|!WO#^hLwC-91JiV4niQt76K;5wY4D30r5t0LiG<6~nTFR3b&7Dj zk5RY>(<~tzX9$UhQ-mAdB-}8Z!#6WMzo(%_2p5w$?cbPwD&tWcPInti?2)4UdjiK3 z9PNc_)AvFh;Jr|XL`W638;Y~EJyTq$s+u`V;=V#apX&O$sj@3=S(UN1*j6p$5l|s{ zpQp^AUGs7P!#swC3`a36VOYv=3hh3X)y;JcwQ_oMYh|;X)!aI(SA;aqVsEc)fNGXWO-xpEyOH@5&B|wV(I~S@EGZgoR-?utR?$9xv${){2FZkel^Wq2g$H(a(B3U4 zu02aA(1 z%7ib!Vc#f!z)9M0oOPx4!tXdOmPZpkPl7gy`~|$1OsYjX9gPwSU!>D7)SsRH0{wZu z?$c->`nkG4ThEW)UMZZO@vU@drZj)O9=;xXha7sn=w44Zl!uQ%!ju^(==|!XSlTUj zrC3cGm(qG(miqGeF257+^*iz2zZ38CJMq516L0#Rct4kT+E1j6tBmwJZVGUEmh?-= zkjwI=J%$v59U+ET3TGMvLN>EQ972dn8lZu|uRkpWJA(``(Ba(u6r6B9fD^6mnEeeU7$Xw7W7Y=r2Q0*Bl7>9m&4k~q-pBzfCgny@1gZQ# z#)EMJ=ric|1oEO>CAdK;*wsXPH4VUNzm|5In$A+w9nvu(7N?ebie9)WAs*{-qDX~y zI-PD1z#2Um_cP~XFV#@&{Twbv;D(OTxTF0VXc;HqzUERvH#Sek31_;WqKfaysKsp( zGq6i{CT`fETPNs7>UrWOym8)&ong1(6!h)b3q?Dj?#G<_0B(84DR1l+qZ_L?i$CE_ zb_-5tKZU#9?bsbfXRLSf3F|#LLA_TT5bt3p&=Kqe`VhOO=p-}UZT+?Q8_rnMY3lFA zkK#N|@eA5Jh56G5_e2EoO%QYgM0aV%y$^ib1K$~)iQPj3WiH*|AoKa&hN0LoMRzpN zP13lLURbhiNAAt3+dyb(aV4M4vOAfC?i<0kM--2FWeXY=V6@FKij zUDt88z7F?pH}J{%1vmk}gjyCnPlj*6x`vbD)Y7<(c^wACdiAhy!@bO#(WlS@@qdoT zi91q^!VsBE>9Fq#yOTMEC#Ud5ibpYPY5IBmR_8d$agyVxH@RU1?L^!z>?@XP4@M8| zLVOkQb#;iiLMxr@$U|@*?wp4==Mg|0i&@G*`?19gm5+K11Xl!WF-LC0$@tx9aiiFS zJCF{d-APwF3ebqYu>*HXJd1R@5QA`hy#e)uM18n^`vh@t7-4QIPvt=pR7b5I9?XLe z^AHHCZ5W}?BA>m;=?L}%o { + if query(it.target).len() == 0 { + return text(fill: red, "<未找到引用" + str(it.target) + ">") + } + it +} /* BEGIN meta */ #set text( @@ -16,27 +22,33 @@ #set page( header: none, paper: "a4", - margin: (top: .8in, inside: .4in, bottom: .7in, outside: .6in), header-ascent: .3in, fill: luma(95%), ) #align(center + horizon)[ // OI-Wiki logo - #image.decode("", height: 4cm) + #image.decode( + "", + height: 4cm, + ) #text( 25pt, - font: ("New Computer Modern", "Noto Serif CJK SC"), + font: serif-font, weight: 700, )[OI Wiki (Beta)] #v(4cm) #text( 18pt, - font: ("New Computer Modern", "Noto Serif CJK SC"), + font: serif-font, )[ OI Wiki 项目组 - #datetime.today().display("[year] 年 [month padding:none] 月 [day padding:none] 日") + #( + datetime + .today() + .display("[year] 年 [month padding:none] 月 [day padding:none] 日") + ) ] ] @@ -56,7 +68,7 @@ #set text( ROOT_EM, - font: ("New Computer Modern", "Noto Serif CJK SC"), + font: serif-font, ) #set par( @@ -66,13 +78,16 @@ // issues: https://github.com/typst/typst/issues/311 // https://github.com/typst/typst/issues/1410 // first-line-indent: 2em, + linebreaks: "optimized", + justify: true, ) +#show raw.where(block: true): set par(justify: false) #set block(spacing: .8em) #set strong(delta: 0) #show strong: set text( - font: ("New Computer Modern", "Noto Sans CJK SC"), + font: sans-font, // New Computer Modern: 400 |----->700 // Noto Sans CJK: 400 500<-| 700 // DejaVu Sans Mono: 400 |----->700 @@ -82,75 +97,63 @@ ) #set heading(numbering: "1.1") -#show heading: set block(spacing: 0em) #show heading: set text( - font: ("New Computer Modern", "Noto Sans CJK SC"), + font: sans-font, weight: 551, ) -#show heading.where(level: 1): set text(25pt) -#show heading.where(level: 2): set text(20pt) -#show heading.where(level: 3): set text(17pt) -#show heading.where(level: 4): set text(14pt) -#show heading.where(level: 5): set text(12pt) -#show heading.where(level: 6): set text(10pt) -#show heading: it => { - // NOTE: dynamic spacing? - // v(1fr, weak: true) - v(1.4em) - it - v(.2em) -} +#show heading.where(level: 1): set text(18pt) #show heading.where(level: 2): it => { - v(2em) - align(center)[#it] - v(2em) + set text(16pt) + v(1em, weak: true) + align(center, it) + v(1em, weak: true) +} +#show heading.where(level: 3): it => { + set text(14pt) + v(1em, weak: true) + it + v(1em, weak: true) } +#show heading.where(level: 4): set text(12pt) +#show heading.where(level: 5): set text(11pt) +#show heading.where(level: 6): set text(10pt) -#show emph: set text( - font: ("New Computer Modern", "LXGW Wenkai") -) +#show emph: set text(font: emph-font) -#show math.equation: set text( - font: ("New Computer Modern Math", "LXGW Wenkai") -) +#show math.equation: set text(font: math-font) #show raw: set text( RAW_EM, - font: ("DejaVu Sans Mono", "LXGW Wenkai"), + font: raw-font, ) + #show raw.where(block: false): it => highlight( fill: luma(95%), - it + it, ) /* END article formatting */ /* BEGIN outline */ -#show outline.entry.where( - level: 1 -): it => { - v(20pt, weak: true) - text(14pt)[#strong(it)] +#show outline.entry.where(level: 1): it => { + v(2em, weak: true) + text(12pt, font: sans-font, it) } -#outline(indent: auto) +#outline(indent: 2em) /* END outline */ /* BEGIN main */ -#set page( - header: page-header -) +#set page(header: page-header) #counter(page).update(1) #show heading.where(level: 1): it => { set text( 25pt, - font: ("New Computer Modern", "Noto Serif CJK SC"), + font: serif-font, weight: 700, ) - set par( - first-line-indent: 0em, - ) + set par(first-line-indent: 0em) align(horizon)[ 第#counter(heading).display("一")章 @@ -170,13 +173,11 @@ // of bullet: 778 units // of whitespace: 333 units #set list( - indent: 1em, - body-indent: -.778em + 1em, + indent: 2em, ) #show list: set block(width: 100%) #set enum( - indent: 1em, - body-indent: -.5em -.278em + 1em, + indent: 2em, ) #show enum: set block(width: 100%) @@ -185,7 +186,6 @@ #show footnote.entry: it => { set text(9pt) - show parbreak: none it } @@ -202,6 +202,6 @@ #align( center + horizon, - text(17pt)[https://oi-wiki.org] + text(17pt)[https://oi-wiki.org], ) /* END back cover */ diff --git a/oi-wiki-export-typst/oi-wiki.typ b/oi-wiki-export-typst/oi-wiki.typ index b1406ce..169bfa7 100644 --- a/oi-wiki-export-typst/oi-wiki.typ +++ b/oi-wiki-export-typst/oi-wiki.typ @@ -6,68 +6,113 @@ #import "@preview/tablex:0.0.8": tablex #import "@preview/tiaoma:0.2.0" -#import "@preview/mitex:0.2.3": mi, mitex -/* END imports */ +#import "@preview/mitex:0.2.5": mi, mitex +#import "@preview/codly:1.1.1": * +#import "@preview/codly-languages:0.1.1": * +#let sourcecode(body, highlight_color: rgb("#fffd11a1").lighten(70%)) = { + let rlines = () + show raw.where(block: true): it => { + set par(justify: false) + block( + fill: luma(245), + stroke: 1pt + luma(245), + inset: (top: 4pt, bottom: 4pt), + radius: 4pt, + width: 100%, + stack( + ..it.lines.map(raw_line => block( + inset: 3pt, + width: 100%, + stroke: none, + fill: if calc.rem(raw_line.number, 2) == 0 { + luma(100%) + } else { + none + }, + grid( + columns: (1em + 4pt, 1fr), + align: (right + horizon, left), + column-gutter: 0.7em, + row-gutter: 0.6em, + if rlines.contains(raw_line.number) { + text(highlight_color.darken(89%), [#raw_line.number]) + } else { + text(gray, [#raw_line.number]) + }, + raw_line, + ), + )), + ), + ) + } + body +} -#let page-header = locate( - loc => { - if calc.odd(loc.page()) { - // NOTE: not able to programatically hide headings on new chapters for now - // issue: https://github.com/typst/typst/issues/1613 - let section = query(selector(heading.where(level: 2)).before(loc), loc) - if section == () { - return none - } - let sect-number(..headings) = { - let levels = headings.pos() +/* END imports */ - if levels.len() > 1 { - [#levels.at(0).#levels.at(1)] - } else { - none - } - } +#let page-header = context { + let loc = here() + if calc.odd(loc.page()) { + // NOTE: not able to programatically hide headings on new chapters for now + // issue: https://github.com/typst/typst/issues/1613 + let section = query(selector(heading.where(level: 2)).before(loc)) + if section == () { + return none + } - text(9pt, number-width: "tabular")[ - #emph[ - #counter(heading).display(sect-number) - #h(1em) - #smallcaps(section.last().body) - ] - #h(1fr) - #counter(page).display("1") - ] - } else { - let chapters = query(selector(heading.where(level: 1)).before(loc), loc) - // HACK: don't add headers in outlines (Chapter 0) - // This is only a workaround. Detailed mechanism of typst's pagebreaks - // needs to be further researched. - let chapter-counter = counter(heading.where(level: 1)).at(loc) - if chapter-counter == (0,) { - return none + let sect-number(..headings) = { + let levels = headings.pos() + + if levels.len() > 1 { + [#levels.at(0).#levels.at(1)] + } else { + none } + } - text(9pt, number-width: "tabular")[ - #counter(page).display("1") - #h(1fr) - 第#counter(heading.where(level: 1)).display("一")章 + text(9pt, number-width: "tabular")[ + #emph[ + #counter(heading).display(sect-number) #h(1em) - #chapters.last().body + #smallcaps(section.last().body) ] + #h(1fr) + #counter(page).display("1") + ] + } else { + let chapters = query(selector(heading.where(level: 1)).before(loc)) + // HACK: don't add headers in outlines (Chapter 0) + // This is only a workaround. Detailed mechanism of typst's pagebreaks + // needs to be further researched. + let chapter-counter = counter(heading.where(level: 1)).at(loc) + if chapter-counter == (0,) { + return none } - }, + + text(9pt, number-width: "tabular")[ + #counter(page).display("1") + #h(1fr) + 第#counter(heading.where(level: 1)).display("一")章 + #h(1em) + #chapters.last().body + ] + } +} ) -#let horizontalrule = align(center, block(sym.ast.op + h(1em) + sym.ast.op + h(1em) + sym.ast.op)) +#let horizontalrule = align( + center, + block(sym.ast.op + h(1em) + sym.ast.op + h(1em) + sym.ast.op), +) #let blockquote(content) = { - set text(fill: luma(50%)) + set text(fill: luma(20%)) block( - stroke: (left: (thickness: 4pt, paint: luma(50%), cap: "square")), - inset: (left: 2em), - spacing: 1.6em, + stroke: (left: (thickness: 3pt, paint: luma(80%), cap: "square")), + inset: (left: 1em), + spacing: 1.5em, content, ) } @@ -75,135 +120,25 @@ #let authors(authors) = blockquote[*Authors:* #authors] #let kbd(string) = { - let key = box(outset: .2em, inset: (x: .1em), fill: luma(95%), stroke: ( - bottom: (paint: luma(50%), thickness: 2pt, cap: "round"), - x: (paint: luma(50%), thickness: 1pt, cap: "round"), - ), radius: .2em, raw(string)) + let key = box( + outset: .2em, + inset: (x: .1em), + fill: luma(95%), + stroke: ( + bottom: (paint: luma(50%), thickness: 2pt, cap: "round"), + x: (paint: luma(50%), thickness: 1pt, cap: "round"), + ), + radius: .2em, + raw(string), + ) h(.5em) + key + h(.5em) } -#let codeblock(code, lang: str, unwrapped: false) = { - let radius = if unwrapped { - (bottom: .2em) - } else { - .2em - } - let stroke = if unwrapped { - ( - top: (thickness: 1pt, paint: luma(75%), dash: "dashed"), - bottom: 1pt + luma(75%), - x: 1pt + luma(75%), - ) - } else { - 1pt + luma(75%) - } - - // Code block with line numbers - // Issue: https://github.com/typst/typst/issues/344 - // Reference: https://gist.github.com/mpizenberg/c6ed7bc3992ee5dfed55edce508080bb - let lines = code.replace("\t", " ").split("\n") - let digits = str(lines.len()).len() - - // Width of glyphs in DejaVu Sans Mono is 1233 units - let glyph-width = (1233 / 2048) * 0.8 * RAW_EM - let number-width = (digits + 2) * glyph-width - let track-width = (digits + 5) * glyph-width - - grid( - columns: 2, - column-gutter: -100%, - // Background & line numbers - block( - width: 100%, - radius: radius, - inset: (left: track-width, y: .5em), - fill: luma(95%), - stroke: stroke, - { - set text( - 0.8 * RAW_EM, - font: ("DejaVu Sans Mono", "LXGW WenKai"), - fill: luma(75%), - ) - - for (i, line) in lines.enumerate() { - box( - width: 0pt, - inset: (right: track-width - number-width), - align(right, str(i + 1)), - ) - hide(line) - linebreak() - } - }, - ), - // The code itself - block( - width: 100%, - inset: (left: track-width, y: .5em), - raw(block: true, lang: lang, code), - ), - ) +#let img-auto(src, alt: str) = { + image(src, alt: alt) } -// Auto-sized image. -// NOTE: optimized image sizing is in progress -// issue: https://github.com/typst/typst/issues/436 -#let img-auto(src, alt: str) = style(styles => { - let img = image(src) - let (width, height) = measure(img, styles) - - let max-image-width = VISIBLE_WIDTH - ROOT_EM * 8 - let max-image-height = VISIBLE_HEIGHT / 2 - ROOT_EM * 8 - - if width / height > max-image-width / max-image-height { - set image(width: calc.min(width, max-image-width)) - - v(.8em) - align(center, img) - v(.8em) - } else { - set image(height: calc.min(height, max-image-height)) - - v(.8em) - align(center, img) - v(.8em) - } - // BEGIN trigonometric solution - // let hori = VISIBLE_WIDTH.pt() - // let radius = hori / 2 - // let ratio = width / height - // let vert = hori / ratio - // let diag = calc.sqrt(radius * radius + vert * vert) - // let factor = diag / radius - // set image(width: calc.min(width, VISIBLE_WIDTH / factor)) - // figure(img, caption: alt) - // END trigonometric solution - // BEGIN another trigonometric solution - // let endpoint = MAX_IMAGE_HEIGHT - MAX_IMAGE_WIDTH / 2 - // let max-ratio = MAX_IMAGE_WIDTH / endpoint - // if width / height > max-ratio { - // set image(width: calc.min(width / 2, max-image-width)) - // figure(img, caption: alt) - // } else { - // let r = max-ratio / 2 - // let v = max-ratio / (width / height) - // let b1 = calc.sqrt((v - 1) * (v - 1) + r * r) - // let c1 = calc.sqrt(v * v + r * r) - // let a = 1 - // let b = r - // let B = calc.acos((a * a + c1 * c1 - b1 * b1) / (2 * a * c1)) - // let A = calc.asin(a * calc.sin(B) / b) - // let C = 180deg - A - B - // let c = (a * calc.sin(C) / calc.sin(A)) - // let f = c1 / c - // set image(width: calc.min(width / 2, max-image-width / f)) - // figure(img, caption: alt) - // } - // END another trigonometric solution -}) - #let svg-math(svg, display: false) = style(styles => { let img = image.decode(svg) let (width, height) = measure(img, styles) @@ -220,10 +155,21 @@ set text(9pt) set par(leading: .5em) - grid(columns: (1fr, .75in, 1fr, .5in), rows: .5in, ..content) + grid(columns: ( + 1fr, + 1cm, + 1fr, + 1cm, + 1fr, + 1cm, + ), rows: 1cm, column-gutter: .2cm, row-gutter: .2cm, ..content) } -#let links-cell(content) = block(width: 100%, height: 100%, align(horizon, content)) -#let qrcode(arg) = tiaoma.qrcode(arg, width: .4in) +#let links-cell(content) = block( + width: 100%, + height: 100%, + align(horizon, content), +) +#let qrcode(arg) = tiaoma.qrcode(arg, width: .9cm) #let tablex-custom(columns: (), aligns: (), ..cells) = { set text(9pt) @@ -232,18 +178,11 @@ center, block( radius: .2em, - inset: (x: .5em), stroke: 1pt + luma(75%), - tablex( + table( columns: columns, - column-gutter: 1fr, - // NOTE: repeat-header has no effect when the table is in a container - // it is also a little buggy right now, so we are not enabling it at this moment - // issue: https://github.com/PgBiel/typst-tablex/issues/43 - repeat-header: false, align: (col, row) => aligns.at(col), stroke: 1pt + luma(75%), - auto-vlines: false, ..cells, ), ), @@ -256,35 +195,10 @@ panic("#tabbed receives exactly two content blocks") } - block[ - #block( - width: 100%, - fill: luma(85%), - stroke: (top: 1pt + luma(75%), x: 1pt + luma(75%)), - below: 0em, - inset: (x: 1em, y: .5em), - radius: (top: .2em), - )[ - #show parbreak: none - - #strong(items.at(0)) - ] + let (tab, content) = items - #if not unwrap { - block( - width: 100%, - stroke: ( - top: (thickness: 1pt, paint: luma(75%), dash: "dashed"), - bottom: 1pt + luma(75%), - x: 1pt + luma(75%), - ), - above: 0em, - inset: (x: 1em, y: .5em), - radius: (bottom: .2em), - items.at(1), - ) - } else { - items.at(1) - } + [ + - #tab + #content ] } diff --git a/oi-wiki-export-typst/pymdownx-details.typ b/oi-wiki-export-typst/pymdownx-details.typ index d35818d..c6fdd5f 100644 --- a/oi-wiki-export-typst/pymdownx-details.typ +++ b/oi-wiki-export-typst/pymdownx-details.typ @@ -1,29 +1,55 @@ +#import "@preview/gentle-clues:1.1.0": * +#import "constants.typ": * /* BEGIN constants */ -#let note-color = (bright: cmyk(10%, 5%, 0%, 0%), dark: cmyk(40%, 20%, 0%, 0%)) -#let abstract-color = (bright: cmyk(10%, 0%, 0%, 0%), dark: cmyk(40%, 0%, 0%, 0%)) -#let info-color = (bright: cmyk(10%, 0%, 5%, 0%), dark: cmyk(40%, 0%, 20%, 0%)) -#let tip-color = (bright: cmyk(10%, 0%, 10%, 0%), dark: cmyk(40%, 0%, 40%, 0%)) -#let success-color = (bright: cmyk(5%, 0%, 10%, 0%), dark: cmyk(20%, 0%, 40%, 0%)) -#let question-color = (bright: cmyk(0%, 0%, 10%, 0%), dark: cmyk(0%, 0%, 40%, 0%)) -#let warning-color = (bright: cmyk(0%, 5%, 10%, 0%), dark: cmyk(0%, 20%, 40%, 0%)) -#let failure-color = (bright: cmyk(0%, 10%, 10%, 0%), dark: cmyk(0%, 40%, 40%, 0%)) -#let danger-color = (bright: cmyk(0%, 10%, 5%, 0%), dark: cmyk(0%, 40%, 20%, 0%)) -#let bug-color = (bright: cmyk(0%, 10%, 0%, 0%), dark: cmyk(0%, 40%, 0%, 0%)) -#let example-color = (bright: cmyk(5%, 10%, 0%, 0%), dark: cmyk(20%, 40%, 0%, 0%)) -#let quote-color = (bright: cmyk(10%, 10%, 0%, 0%), dark: cmyk(40%, 40%, 0%, 0%)) +#let note-color = (bright: cmyk(10%, 5%, 0%, 0%), dark: cmyk(40%, 20%, 0%, 0%)) +#let abstract-color = ( + bright: cmyk(10%, 0%, 0%, 0%), + dark: cmyk(40%, 0%, 0%, 0%), +) +#let info-color = (bright: cmyk(10%, 0%, 5%, 0%), dark: cmyk(40%, 0%, 20%, 0%)) +#let tip-color = (bright: cmyk(10%, 0%, 10%, 0%), dark: cmyk(40%, 0%, 40%, 0%)) +#let success-color = ( + bright: cmyk(5%, 0%, 10%, 0%), + dark: cmyk(20%, 0%, 40%, 0%), +) +#let question-color = ( + bright: cmyk(0%, 0%, 10%, 0%), + dark: cmyk(0%, 0%, 40%, 0%), +) +#let warning-color = ( + bright: cmyk(0%, 5%, 10%, 0%), + dark: cmyk(0%, 20%, 40%, 0%), +) +#let failure-color = ( + bright: cmyk(0%, 10%, 10%, 0%), + dark: cmyk(0%, 40%, 40%, 0%), +) +#let danger-color = ( + bright: cmyk(0%, 10%, 5%, 0%), + dark: cmyk(0%, 40%, 20%, 0%), +) +#let bug-color = (bright: cmyk(0%, 10%, 0%, 0%), dark: cmyk(0%, 40%, 0%, 0%)) +#let example-color = ( + bright: cmyk(5%, 10%, 0%, 0%), + dark: cmyk(20%, 40%, 0%, 0%), +) +#let quote-color = ( + bright: cmyk(10%, 10%, 0%, 0%), + dark: cmyk(40%, 40%, 0%, 0%), +) -#let note-icon = image.decode("") -#let abstract-icon = image.decode("") -#let info-icon = image.decode("") -#let tip-icon = image.decode("") -#let success-icon = image.decode("") -#let question-icon = image.decode("") -#let warning-icon = image.decode("") -#let failure-icon = image.decode("") -#let danger-icon = image.decode("") -#let bug-icon = image.decode("") -#let example-icon = image.decode("") -#let quote-icon = image.decode("") +#let note-icon = image.decode("") +#let abstract-icon = image.decode("") +#let info-icon = image.decode("") +#let tip-icon = image.decode("") +#let success-icon = image.decode("") +#let question-icon = image.decode("") +#let warning-icon = image.decode("") +#let failure-icon = image.decode("") +#let danger-icon = image.decode("") +#let bug-icon = image.decode("") +#let example-icon = image.decode("") +#let quote-icon = image.decode("") /* END constants */ #let details(type: str, unwrap: false, ..items) = { @@ -31,7 +57,7 @@ if items.len() != 2 { panic("#details receives exactly two content blocks") } - + let (title, content) = items let (color, icon) = if type == "abstract" { (abstract-color, abstract-icon) } else if type == "info" { @@ -57,42 +83,12 @@ } else { (note-color, note-icon) } - - block[ - #block( - width: 100%, - fill: color.bright, - stroke: ( - top: 1pt + color.dark, - x: 1pt + color.dark - ), - below: 0em, - inset: (x: 1em, y: .5em), - radius: (top: .2em), - )[ - #show parbreak: [] - - #box(height: 1.25em, baseline: .25em, icon) - #h(.5em) - #strong(items.at(0)) - ] - - #if not unwrap { - block( - width: 100%, - stroke: ( - top: (thickness: 1pt, paint: color.dark, dash: "dashed"), - bottom: 1pt + color.dark, - x: 1pt + color.dark - ), - above: 0em, - inset: (x: 1em, y: .5em), - radius: (bottom: .2em), - - items.at(1) - ) - } else { - items.at(1) - } - ] + clue( + title: title, + icon: icon, + accent-color: color.dark, + title-font: sans-font, + breakable: true, + content, + ) } diff --git a/remark-typst b/remark-typst deleted file mode 160000 index 3c5c8c1..0000000 --- a/remark-typst +++ /dev/null @@ -1 +0,0 @@ -Subproject commit 3c5c8c1827e3e2b27d43e7f13593578df72eca32 diff --git a/remark-typst/.gitignore b/remark-typst/.gitignore new file mode 100644 index 0000000..722a9aa --- /dev/null +++ b/remark-typst/.gitignore @@ -0,0 +1,67 @@ +# Logs +logs +*.log +npm-debug.log* +yarn-debug.log* +yarn-error.log* + +# Runtime data +pids +*.pid +*.seed +*.pid.lock + +# Directory for instrumented libs generated by jscoverage/JSCover +lib-cov + +# Coverage directory used by tools like istanbul +coverage + +# nyc test coverage +.nyc_output + +# Grunt intermediate storage (http://gruntjs.com/creating-plugins#storing-task-files) +.grunt + +# Bower dependency directory (https://bower.io/) +bower_components + +# node-waf configuration +.lock-wscript + +# Compiled binary addons (https://nodejs.org/api/addons.html) +build/Release + +# Dependency directories +node_modules/ +jspm_packages/ + +# TypeScript v1 declaration files +typings/ + +# Optional npm cache directory +.npm + +# Optional eslint cache +.eslintcache + +# Optional REPL history +.node_repl_history + +# Output of 'npm pack' +*.tgz + +# Yarn Integrity file +.yarn-integrity + +# dotenv environment variables file +.env + +# next.js build output +.next + +test +.remarkrc +test.js +*.pdf + diff --git a/remark-typst/.gitmodules b/remark-typst/.gitmodules new file mode 100644 index 0000000..88cffbe --- /dev/null +++ b/remark-typst/.gitmodules @@ -0,0 +1,6 @@ +[submodule "escape-typst"] + path = escape-typst + url = https://github.com/megakite/escape-typst +[submodule "remark-mathjax"] + path = remark-mathjax + url = https://github.com/megakite/remark-mathjax.git diff --git a/remark-typst/LICENSE b/remark-typst/LICENSE new file mode 100644 index 0000000..261eeb9 --- /dev/null +++ b/remark-typst/LICENSE @@ -0,0 +1,201 @@ + 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 + + APPENDIX: How to apply the Apache License to your work. + + To apply the Apache License to your work, attach the following + boilerplate notice, with the fields enclosed by brackets "[]" + replaced with your own identifying information. (Don't include + the brackets!) The text should be enclosed in the appropriate + comment syntax for the file format. We also recommend that a + file or class name and description of purpose be included on the + same "printed page" as the copyright notice for easier + identification within third-party archives. + + Copyright [yyyy] [name of copyright owner] + + 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. diff --git a/remark-typst/README.md b/remark-typst/README.md new file mode 100644 index 0000000..cb311a6 --- /dev/null +++ b/remark-typst/README.md @@ -0,0 +1,49 @@ +# OI Wiki: Export to PDF (WIP) + +为 OI Wiki 的 Typst PDF 自动化导出工具开发的 Markdown 到 Typst 编译器。 + +**注意:本项目正在开发当中,请勿用于生产环境。** + +## 使用方法 + +请使用下面的命令克隆本仓库: + +```sh +git clone --recurse-submodules --remote-submodules https://github.com/OI-wiki/remark-typst.git +``` + +按如下方法使用: + +```js +import { unified } from 'unified' +import remarkParse from 'remark-parse' +import remarkTypst from 'remark-typst' +import vfile from 'to-vfile' + +unified() + .use(remarkParse) // 调用 remark 解析引擎 + .use(remarkTypst, { // 编译到 Typst + prefix: filename.replace(prefixRegEx, "").replace(/md$/, ""), // 文件名(不含 md 后缀) + depth: depth, // 指定

对应标题深度(0, 1, 2 分别表示一、二、三级标题),用于全书的结构组织 + current: filename, // 文件名(含 md 后缀) + root: path.join(oiwikiRoot, 'docs'), // OI Wiki 的 docs 目录位置 + path: filename.replace(/\.md$/, "/") // 去掉 md 后的路径 + }) + .process(vfile.readSync(filename), function (err, file) { + if (err) { + throw err + } + file.dirname = 'typ' + file.stem = filename.replace(prefixRegEx, "") + file.extname = '.typ' + vfile.writeSync(file) + }) // 保存到文件(md 后缀换成 typ) +``` + +## 依赖 + +参见 `package.json`。 + +## 维护 + +编译器核心代码位于 `remark-typst/lib/compiler.js` 中,其中用到的某些函数位于 `remark-typst/lib/util.js`。remark 的所有种类 AST 结点都通过 `parse` 这一个函数处理。 diff --git a/remark-typst/escape-typst/.babelrc b/remark-typst/escape-typst/.babelrc new file mode 100644 index 0000000..c73658c --- /dev/null +++ b/remark-typst/escape-typst/.babelrc @@ -0,0 +1,13 @@ +{ + "plugins": ["@babel/transform-object-assign"], + "presets": [ + [ + "@babel/preset-env", + { + "targets": { + "node": "14.0" + } + } + ] + ] +} diff --git a/remark-typst/escape-typst/.editorconfig b/remark-typst/escape-typst/.editorconfig new file mode 100644 index 0000000..8d3654a --- /dev/null +++ b/remark-typst/escape-typst/.editorconfig @@ -0,0 +1,4 @@ +[*] +indent_size = 2 +indent_style = space +end_of_line = lf \ No newline at end of file diff --git a/remark-typst/escape-typst/.gitattributes b/remark-typst/escape-typst/.gitattributes new file mode 100644 index 0000000..9a07abf --- /dev/null +++ b/remark-typst/escape-typst/.gitattributes @@ -0,0 +1,10 @@ +*.js text eol=lf +*.json text eol=lf +*.yml text eol=lf +*.md text eol=lf + +.babelrc text eol=lf +.gitattributes text eol=lf +.gitignore text eol=lf +.prettierignore text eol=lf +.editorconfig text eol=lf \ No newline at end of file diff --git a/remark-typst/escape-typst/.github/dependabot.yml b/remark-typst/escape-typst/.github/dependabot.yml new file mode 100644 index 0000000..1bf21e6 --- /dev/null +++ b/remark-typst/escape-typst/.github/dependabot.yml @@ -0,0 +1,7 @@ +version: 2 +updates: + - package-ecosystem: npm + directory: "/" + schedule: + interval: daily + open-pull-requests-limit: 10 diff --git a/remark-typst/escape-typst/.github/workflows/auto-merge.yml b/remark-typst/escape-typst/.github/workflows/auto-merge.yml new file mode 100644 index 0000000..6624ede --- /dev/null +++ b/remark-typst/escape-typst/.github/workflows/auto-merge.yml @@ -0,0 +1,15 @@ +name: auto-merge + +on: + pull_request_target: + +jobs: + auto-merge: + runs-on: ubuntu-latest + if: github.actor == 'dependabot[bot]' + steps: + - uses: actions/checkout@v2 + - uses: ahmadnassri/action-dependabot-auto-merge@v2.3 + with: + target: major + github-token: ${{ secrets.PERSONAL_ACCESS_TOKEN }} diff --git a/remark-typst/escape-typst/.github/workflows/tests.yml b/remark-typst/escape-typst/.github/workflows/tests.yml new file mode 100644 index 0000000..7157586 --- /dev/null +++ b/remark-typst/escape-typst/.github/workflows/tests.yml @@ -0,0 +1,41 @@ +name: Tests + +on: + push: + pull_request: + repository_dispatch: + types: manual-test-run + +jobs: + tests: + runs-on: ubuntu-latest + strategy: + fail-fast: false + matrix: + node: + - "18" + - "16" + - "14" + include: + - node: "14" + ENABLE_CODE_COVERAGE: true + name: Run tests on NodeJS ${{ matrix.node }} + + steps: + - name: Checkout + uses: actions/checkout@v2 + + - name: Setup Node.js + uses: actions/setup-node@v2.1.2 + with: + node-version: ${{ matrix.node }} + + - name: Install NPM dependencies + run: npm install + + - name: Run tests + run: npm test + + - name: Upload code coverage + if: matrix.ENABLE_CODE_COVERAGE + uses: codecov/codecov-action@v1 diff --git a/remark-typst/escape-typst/.gitignore b/remark-typst/escape-typst/.gitignore new file mode 100644 index 0000000..e5a227d --- /dev/null +++ b/remark-typst/escape-typst/.gitignore @@ -0,0 +1,19 @@ +lib-cov +*.seed +*.log +*.csv +*.dat +*.out +*.pid +*.gz + +pids +logs +results +coverage +.nyc_output +dist + +node_modules +npm-debug.log +package-lock.json diff --git a/remark-typst/escape-typst/.prettierignore b/remark-typst/escape-typst/.prettierignore new file mode 100644 index 0000000..2ff8622 --- /dev/null +++ b/remark-typst/escape-typst/.prettierignore @@ -0,0 +1 @@ +package.json \ No newline at end of file diff --git a/remark-typst/escape-typst/LICENSE.md b/remark-typst/escape-typst/LICENSE.md new file mode 100644 index 0000000..6e54eff --- /dev/null +++ b/remark-typst/escape-typst/LICENSE.md @@ -0,0 +1,18 @@ +Copyright (c) 2012 Dang Mai + +Permission is hereby granted, free of charge, to any person obtaining a copy of +this software and associated documentation files (the "Software"), to deal in +the Software without restriction, including without limitation the rights to +use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of +the Software, and to permit persons to whom the Software is furnished to do so, +subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS +FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR +COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER +IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN +CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. diff --git a/remark-typst/escape-typst/README.md b/remark-typst/escape-typst/README.md new file mode 100644 index 0000000..797faf9 --- /dev/null +++ b/remark-typst/escape-typst/README.md @@ -0,0 +1,74 @@ +# escape-latex + +[![Build Status](https://github.com/dangmai/escape-latex/workflows/Tests/badge.svg)](https://github.com/dangmai/escape-latex/actions?query=workflow%3A%22Tests%22) +[![codecov](https://codecov.io/gh/dangmai/escape-latex/branch/master/graph/badge.svg?token=LGfqdKlTqM)](https://codecov.io/gh/dangmai/escape-latex) + +Escape LaTeX special characters with Javascript in NodeJS (>= 14.x) environment. + +## Usage + +```javascript +npm install escape-latex +var lescape = require('escape-latex'); +lescape("String to be escaped here #yolo"); +``` + +## API + +```javascript +lescape((input: String), { + preserveFormatting: Boolean, + escapeMapFn: Function, +}); +``` + +By default, +`escape-latex` only escapes characters that would result in malformed LaTeX. +These characters include `# $ % & \ ^ _ { }`. + +This means that the final LaTeX output might not look the same as your input Javascript string. +For example, multiple spaces are kept as-is, which may be truncated to 1 space by your LaTeX software. + +If you want the final output string to be as similar to your input Javascript string as possible, +you can set the `preserveFormatting` param to `true`, like so: + +```javascript +lescape("Hello World", { preserveFormatting: true }); +// Hello~~~World +``` + +Which will be converted to three non-breaking spaces by your LaTeX software. + +The list of format characters that are escaped include `space, \t (tab), – (en-dash), — (em-dash)`. + +There is also the param `escapeMapFn` to modify the mapping of escaped characters, +so you can add/modify/remove your own escapes if necessary. + +It accepts a callback function that takes in the default character escapes and the formatting escapes as parameters, and returns a complete escape mapping. Here's an example: + +```javascript +lescape("Hello World", { + preseveFormatting: true, + escapeMapFn: function (defaultEscapes, formattingEscapes) { + formattingEscapes[" "] = "\\\\"; + return Object.assign({}, defaultEscapes, formattingEscapes); + }, +}); +// Hello\\\\\\world +``` + +## Testing + +``` +npm test +``` + +## Notes + +- If you are updating from `escape-latex < 1.0.0`, + the `en-dash` and `em-dash` are no longer escaped by default. + Please use `preserveFormatting` to turn them on if necessary. + +## License + +MIT diff --git a/remark-typst/escape-typst/package.json b/remark-typst/escape-typst/package.json new file mode 100644 index 0000000..fcad09d --- /dev/null +++ b/remark-typst/escape-typst/package.json @@ -0,0 +1,74 @@ +{ + "name": "escape-latex", + "version": "1.2.0", + "engines": { + "node": ">= 14" + }, + "description": "Escape LaTeX special characters with Javascript", + "main": "./dist/index.js", + "files": [ + "dist" + ], + "scripts": { + "test": "nyc --reporter=lcov --reporter=text-summary mocha --require @babel/register -u tdd ./src/**/*.test.js", + "pretest": "npm run lint", + "preversion": "npm test && npm run build", + "postversion": "git push && git push --tags", + "precommit": "npm run lint && lint-staged", + "prettier": "prettier --write ./src/**/*.js", + "lint": "eslint ./src", + "init": "mkdir dist", + "clean": "rimraf dist", + "prebuild": "npm run clean && npm run init", + "build": "babel ./src -d ./dist --ignore \"src/**/*.test.js\"" + }, + "lint-staged": { + "*.{js,json,css,md}": [ + "npm run prettier", + "git add" + ] + }, + "eslintConfig": { + "parserOptions": { + "ecmaVersion": 8 + }, + "extends": [ + "eslint:recommended", + "google", + "prettier" + ], + "env": { + "node": true + } + }, + "prettier": { + "trailingComma": "all" + }, + "repository": { + "type": "git", + "url": "https://github.com/dangmai/escape-latex" + }, + "keywords": [ + "latex", + "escape" + ], + "devDependencies": { + "@babel/cli": "^7.12.8", + "@babel/core": "^7.12.9", + "@babel/plugin-transform-object-assign": "^7.12.1", + "@babel/preset-env": "^7.12.7", + "@babel/register": "^7.12.1", + "chai": "^4.1.2", + "eslint": "^8.0.1", + "eslint-config-google": "^0.14.0", + "eslint-config-prettier": "^8.0.0", + "husky": "^8.0.1", + "lint-staged": "^13.0.0", + "mocha": "^10.0.0", + "nyc": "^15.1.0", + "prettier": "^3.0.0", + "rimraf": "^5.0.0" + }, + "author": "Dang Mai", + "license": "MIT" +} diff --git a/remark-typst/escape-typst/src/index.js b/remark-typst/escape-typst/src/index.js new file mode 100644 index 0000000..d9c81a1 --- /dev/null +++ b/remark-typst/escape-typst/src/index.js @@ -0,0 +1,86 @@ +"use strict"; + +// Map the characters to escape to their escaped values. The list is derived +// from http://www.cespedes.org/blog/85/how-to-escape-latex-special-characters +const defaultEscapes = { + "{": "\\{", + "}": "\\}", + "#": "\\#", + "[": "\\[", + "]": "\\]", + "(": "\\(", + ")": "\\)", + "*": "\\*", + "_": "\\_", + "`": "\\`", + "<": "\\<", + ">": "\\>", + "@": "\\@", + "=": "\\=", + "-": "\\-", + "+": "\\+", + "/": "\\/", + "$": "\\$", + "\\": "\\\\", + "\"": "\\\"", + "~": "\\~", + ".": "\\.", +}; +const formatEscapes = { + "\u2013": "\\--", + "\u2014": "\\---", + " ": "~", + "\t": "\\qquad{}", + "\r\n": "\\newline{}", + "\n": "\\newline{}", +}; + +const defaultEscapeMapFn = (defaultEscapes, formatEscapes) => + Object.assign({}, defaultEscapes, formatEscapes); + +/** + * Escape a string to be used in Typst documents. + * @param {string} str the string to be escaped. + * @param {boolean} params.preserveFormatting whether formatting escapes should + * be performed (default: false). + * @param {function} params.escapeMapFn the function to modify the escape maps. + * @return {string} the escaped string, ready to be used in Typst. + */ +module.exports = function( + str, + { preserveFormatting = false, escapeMapFn = defaultEscapeMapFn } = {}, +) { + let runningStr = String(str); + let result = ""; + + const escapes = escapeMapFn( + Object.assign({}, defaultEscapes), + preserveFormatting ? Object.assign({}, formatEscapes) : {}, + ); + const escapeKeys = Object.keys(escapes); // as it is reused later on + + // Algorithm: Go through the string character by character, if it matches + // with one of the special characters then we'll replace it with the escaped + // version. + while (runningStr) { + let specialCharFound = false; + escapeKeys.forEach(function(key, index) { + if (specialCharFound) { + return; + } + if ( + runningStr.length >= key.length && + runningStr.slice(0, key.length) === key + ) { + result += escapes[escapeKeys[index]]; + runningStr = runningStr.slice(key.length, runningStr.length); + specialCharFound = true; + } + }); + if (!specialCharFound) { + result += runningStr.slice(0, 1); + runningStr = runningStr.slice(1, runningStr.length); + } + } + return result; +}; diff --git a/remark-typst/escape-typst/src/index.test.js b/remark-typst/escape-typst/src/index.test.js new file mode 100644 index 0000000..eb91a01 --- /dev/null +++ b/remark-typst/escape-typst/src/index.test.js @@ -0,0 +1,132 @@ +/* eslint-env mocha */ +const assert = require("chai").assert; +const escape = require("./index"); + +suite("escape-latex", function() { + test("should escape empty string correctly", function() { + assert.equal("", escape("")); + }); + test("should escape casted string correctly", function() { + assert.equal("1", escape(1)); + }); + test("should escape # correctly", function() { + assert.equal( + "Hashtag \\#yolo is all the rage these days \\#twitter", + escape("Hashtag #yolo is all the rage these days #twitter"), + ); + }); + test("should escape $ correctly", function() { + assert.equal("\\$2 is greater than \\$1", escape("$2 is greater than $1")); + }); + test("should escape % correctly", function() { + assert.equal( + "100\\% is 20\\% point greater than 80\\%", + escape("100% is 20% point greater than 80%"), + ); + }); + test("should escape & correctly", function() { + assert.equal( + "Me \\& you \\& a dog named Boo", + escape("Me & you & a dog named Boo"), + ); + }); + test("should escape backlash correctly", function() { + assert.equal( + "C:\\textbackslash{} is a good place to format", + escape("C:\\ is a good place to format"), + ); + }); + test("should escape { correctly", function() { + assert.equal( + "This \\{ does not have an matching bracket", + escape("This { does not have an matching bracket"), + ); + }); + test("should escape } correctly", function() { + assert.equal( + "There is no opening bracket for this \\}", + escape("There is no opening bracket for this }"), + ); + }); + test("should escape ^ correctly", function() { + assert.equal( + "2\\textasciicircum{}2\\textasciicircum{}2\\textasciicircum{}2 = 256", + escape("2^2^2^2 = 256"), + ); + }); + test("should escape _ correctly", function() { + assert.equal( + "\\_ is a shortcut to Underscore, e.g., \\_.each()", + escape("_ is a shortcut to Underscore, e.g., _.each()"), + ); + }); + test("should escape ~ correctly", function() { + assert.equal("pi \\textasciitilde{} 3.1416", escape("pi ~ 3.1416")); + }); + test("should escape *nix newline correctly", function() { + assert.equal( + "\\newline{}\\newline{}", + escape("\n\n", { preserveFormatting: true }), + ); + }); + test("should escape Windows newline correctly", function() { + assert.equal( + "\\newline{}\\newline{}", + escape("\r\n\r\n", { preserveFormatting: true }), + ); + }); + test("should escape mixed newlines correctly", function() { + assert.equal( + "\\newline{}\\newline{}\\newline{}\\newline{}", + escape("\r\n\n\n\r\n", { preserveFormatting: true }), + ); + }); + test("should escape – (en-dash) correctly", function() { + assert.equal("\\--", escape("–", { preserveFormatting: true })); + }); + test("should escape — (em-dash) correctly", function() { + assert.equal("\\---", escape("—", { preserveFormatting: true })); + }); + test("should escape spaces correctly", function() { + assert.equal( + "Look~ma,~~multiple~spaces", + escape("Look ma, multiple spaces", { preserveFormatting: true }), + ); + }); + test("should escape tabs correctly", function() { + assert.equal( + "\\qquad{}\\qquad{}", + escape("\t\t", { preserveFormatting: true }), + ); + }); + test("should not preserve formatting by default", function() { + assert.equal("en dash – is cool", escape("en dash – is cool")); + }); + test("should not escape - (hyphen)", function() { + assert.equal("hyphen - is the best", escape("hyphen - is the best")); + }); + test("should escape customized character correctly", function() { + const escapeMapFn = (defaultEscapes, formatEscapes) => + Object.assign({}, defaultEscapes, formatEscapes, { a: "\\a{}" }); + assert.equal( + "\\a{} is the first letter", + escape("a is the first letter", { escapeMapFn }), + ); + }); + test("stack overflow test", function() { + // The original algorithm of this library uses recursions to escape + // the string, which is prone to stack overflow if the input string + // contains a lot of characters that need to be escaped. This test + // ensures that we won't run into it in the future. + const numChars = 100000; + const originalStr = Array(numChars).join("\\"); + const escapedStr = Array(numChars).join("\\textbackslash{}"); + assert.equal(escapedStr, escape(originalStr)); + }); + test("composite test 1", function() { + assert.equal( + "These \\{\\} should be escaped, as well as this \\textbackslash{} character", + escape("These {} should be escaped, as well as this \\ character"), + ); + }); +}); diff --git a/remark-typst/index.js b/remark-typst/index.js new file mode 100644 index 0000000..e5e0498 --- /dev/null +++ b/remark-typst/index.js @@ -0,0 +1,19 @@ +'use strict' + +import toTypst from './lib/compiler.js' + +export default remarkTypst + +function remarkTypst(options) { + const self = this + + self.Compiler = compiler + + function compiler(doc) { + return toTypst(doc, { + ...self.data('settings'), + ...options, + extensions: self.data('toTypstExtensions') || [], + }) + } +} diff --git a/remark-typst/lib/compiler.js b/remark-typst/lib/compiler.js new file mode 100644 index 0000000..e5f52d9 --- /dev/null +++ b/remark-typst/lib/compiler.js @@ -0,0 +1,443 @@ +'use strict' + +import { extname, join, dirname, basename } from 'path' +import { execFileSync, spawnSync } from 'child_process' +import { existsSync, writeFileSync, copyFileSync } from 'fs' +import { URL } from 'url' + +import { visit } from 'unist-util-visit' +import request from 'sync-request' + +// Utilities +import { + all, isInternalLink, toPrefix, joinRelative, isUrl, trailingLineFeed, + forceLinebreak, escapeAsString, checkCodeLang, capitalize, unquote +} from './util.js' +// Escape reserved symbols +import escape from '../escape-typst/src/index.js' +// MathJax SVG export +import { renderSvg } from '../remark-mathjax/svg.js' + +// 给 String 添加 format 方法,方便格式化输出 +if (!String.prototype.format) { + String.prototype.format = function () { + const args = arguments + return this.replace(/{(\d+)}/g, (match, number) => { + return typeof args[number] !== 'undefined' ? args[number] : match + }) + } +} + +const WARNING = '\x1b[1;33m[WARNING]\x1b[0m ' +const ERROR = '\x1b[1;31m[ERROR]\x1b[0m ' +const ZWSP = '\u200b' + +// Valid types for Pymdown details +const DETAILS_TYPES = [ + 'note', 'abstract', 'info', 'tip', 'success', 'question', + 'warning', 'failure', 'danger', 'bug', 'example', 'quote', +] +const ARTICLE_HEADER = `// Generated by remark-typst +#import "../oi-wiki.typ": * +` + +export default toTypst + +function toTypst(tree, options) { + // Key: string - Value: node + const mapFootnoteDefinitions = new Map() + // Key: string - Value: node + const mapDefinitions = new Map() + // Item: { location: string, plainText: string } + const arrayLinks = new Array() + // This array is served as a stack. + // That its last item is (not) `true` suggests + // that indentation should (not) be performed. + const indentPar = new Array(true) + + // Index of current outer link + let linkIndex = 0 + // Used to indicate whether the section named "References" + // is already present in original markdown document + let hasFootnotes = false + // Whether to parse images to plain texts (title, alt, or simply url) + // for use in references + let parsingPlain = false + // Whether we are parsing table headers right now + let inTableHeader = false + // Whether the current details block should be unwrapped + let unwrap = false + // Whether the current text node should be escaped as a string + let isEscapingAsString = false + // Whether we are in details block right now + // let inDetails = false + + // Main procedure + // 处理掉所有标签定义和链接跳转定义 + parseDefinition(tree) + // 解析文章 + let article = ARTICLE_HEADER + parse(tree) + // 创建文章尾注,对外链添加二维码 + if (linkIndex > 0) { + if (hasFootnotes === false) { + article += '#heading(level: {0}, numbering: none, outlined: false)[外部参考资料]\n'.format( + options.depth + 1) + } + + article += '#links-grid(' + for (const [i, link] of arrayLinks.entries()) { + article += 'links-cell[#text(fill: cmyk(0%, 100%, 100%, 0%))[\\[{0}\\]] #link("{1}")[{2}]], qrcode("{1}"), \n'.format( + i + 1, + link.location.replace(/\\/g, '\\\\'), + link.plainText) + } + article += ')\n' + } + return article + + // Functions + function parseDefinition(tree) { + visit(tree, 'footnoteDefinition', node => { + mapFootnoteDefinitions.set(node.identifier, node) + }) + + visit(tree, 'definition', node => { + mapDefinitions.set(node.identifier, node) + }) + } + + function parse(node) { + const makeLink = function (url) { + if (isInternalLink(url)) { + const location = toPrefix(joinRelative(url, options)) + + return (location !== '') ? `@${location}` : '' + } else { + const location = url.replace(/\\/g, '\\\\') + ++linkIndex + + const children = all(node, parse).join('') + parsingPlain = true + const plainText = all(node, parse).join('') + parsingPlain = false + arrayLinks.push({ location: location, plainText: plainText }) + + return '#link("{0}")[{1}]#super(text(fill: cmyk(0%, 100%, 100%, 0%))[{2}\\[{3}\\]])'.format( + location, + children, + ZWSP, + linkIndex) + } + } + + // 插入图片,若是网络资源则先下载到本地再插入 + const makeImage = function (loc) { + // NOTE: hugh, why should we copy all files into here, + // while we can actually visit them in-place? + let uri = joinRelative(node.url, options) + try { + let ext = '' + let dest = '' + if (isUrl(loc)) { + const url = new URL(loc) + ext = extname(url.pathname) + dest = join('images', toPrefix(join(dirname(uri), basename(url.pathname, ext))) + ext) + // download + if (!existsSync(dest)) { + const body = request('GET', loc).getBody() + writeFileSync(dest, body) + } + uri = dest + } else { + ext = extname(loc) + } + const is_svg = ext === '.svg' + dest = join('images', toPrefix(join(dirname(uri), basename(uri, extname(uri)))) + (is_svg ? '.svg' : '.jpg')) + // convert + switch (ext) { + case '.jpg': + case '.svg': { + if (!existsSync(dest)) { + copyFileSync(uri, dest) + } + break + } + case '.jpeg': { + if (!existsSync(dest)) { + copyFileSync(uri, basename(dest, 'jpeg') + '.jpg') + } + break + } + default: { + if (!existsSync(dest)) { + // 混合白色背景(原图可能是 PNG 透明图) + execFileSync( + 'convert', + ['-background', 'white', '-flatten', ext === '.gif' ? uri + '[0]' : uri, dest]) + } + break + } + } + return '#img-auto("./images/{0}", alt: "{1}")\n'.format( + basename(dest), + node.alt || '', + ) + } catch (e) { + console.error(ERROR + 'Error occurred when processing image file "{0}"'.format(uri)) + return '' + } + } + + // 节点匹配逻辑 + switch (node.type) { + case 'root': { + const article = trailingLineFeed(all(node, parse).join('\n')) + return article + } + case 'paragraph': { + const parText = all(node, parse).join('') + + if (parText.startsWith('author: ')) { + return '#authors[{0}]\n'.format(parText.slice(8)) + } + if (parText.startsWith('disqus:')) { + return '' + } + + if (indentPar.at(-1)) { + return '#h(2em){0}\n\n'.format(parText) + } + return '{0}\n\n'.format(parText) + } + case 'heading': { + const depth = Math.min(options.depth + (node.depth - 1), 6) + return '#heading(level: {0}, numbering: none, outlined: false)[{1}]'.format( + depth, + all(node, parse).join(''), + options.nested ? '' : options.prefix) + } + case 'text': { + // NOTE: remove spaces between text objects? + // since this is not a common practice in east asian typesetting. + let text = node.value + + if (options.forceLinebreak) { + text = forceLinebreak(text) + } + + if (isEscapingAsString) { + text = escapeAsString(text) + } else { + text = escape(text) + } + + return text + } + case 'emphasis': { + return '#emph[{0}]'.format(all(node, parse).join('')) + } + case 'strong': { + return '#strong[{0}]'.format(all(node, parse).join('')) + } + case 'inlineCode': { + return '#raw("{0}", block: false)'.format(escapeAsString(node.value)) + } + case 'code': { + const ret = '#sourcecode[`````{1}\n{0}\n`````]'.format( + node.value, + checkCodeLang(node.lang) || 'text') + unwrap = false + + return ret + } + case 'delete': { + return '#strike[{0}]'.format(all(node, parse).join('')) + } + case 'list': { + indentPar.push(false) + + const func = node.ordered + ? '#enum(start: {0})'.format(node.start) + : '#list' + const ret = func + all(node, parse).map(s => `[${s}]`).join('') + '\n' + + indentPar.pop() + return ret + } + case 'listItem': { + return all(node, parse).join('') + } + case 'thematicBreak': { // 水平分割线 + return '#horizontalrule\n' // 在印刷物中使用水平分割线也许不是好的实践 + } + case 'blockquote': { + return '#blockquote[{0}]\n'.format(all(node, parse).join('')) + } + case 'break': { + return '\n\n' + } + case 'yaml': { + return '' // YAML front-matter,这里直接忽略 + } + case 'html': { // HTML 标签(不含标签里的内容) + if (node.value === '') { + isEscapingAsString = true + return '#kbd("' + } else if (node.value === '') { + isEscapingAsString = false + return '")' + } + return '' + } + case 'link': { + return makeLink(node.url) + } + case 'linkReference': { + const defn = mapDefinitions.get(node.identifier) + if (defn) { + return makeLink(defn.url) + } + return '' + } + case 'image': { + if (parsingPlain) { + return node.title || node.alt || node.url + } + return makeImage(node.url.toLowerCase()) + } + case 'imageReference': { + const defn = mapDefinitions.get(node.identifier) + if (defn) { + if (parsingPlain) { + return defn.title || defn.alt || defn.url + } + return makeImage(defn.url) + } + return '' + } + case 'table': { + // 如果表格有多余列(相对表头)则去掉 + node.children.map(child => { + child.children = child.children.slice(0, node.align.length) + }) + + inTableHeader = true + const header = parse(node.children[0]) + inTableHeader = false + + return '#tablex-custom(columns: {0}, aligns: ({1}), {2}{3})'.format( + node.align.length, + node.align.map(s => s || 'left').join(', '), + header, + node.children.slice(1).map(parse).join('')) + } + case 'tableRow': { + return all(node, parse).join(', ') + ', \n' + } + case 'tableCell': { + if (inTableHeader) { + return 'strong[{0}]'.format(all(node, parse).join('')) + } + return '[{0}]'.format(all(node, parse).join('')) + } + case 'footnote': { + hasFootnotes = true + indentPar.push(false) + + const ret = '#footnote[{0}]'.format(all(node, parse).join('')) + + indentPar.pop() + return ret + } + case 'footnoteReference': { + hasFootnotes = true + indentPar.push(false) + + const ret = '#footnote[{0}]'.format( + all(mapFootnoteDefinitions.get(node.identifier), parse).join('')) + + indentPar.pop() + return ret + } + case 'definition': { + return '' // 已经预处理掉了 + } + case 'footnoteDefinition': { + return '' // 已经预处理掉了 + } + case 'inlineMath': { // 行内公式 + return `#mi(\`${node.value}\`)` + } + case 'math': { // 行间公式 + const tags = node.value.match(/\\tag{(?[0-9]+)}/) + return tags + ? `#mitex(numbering: ignored => "(${tags.groups.tagNumber})", \`${node.value}\`)` + : `#mitex(\`${node.value}\`)` + } + case 'detailsContainer': { // Pymdown details 语法块 + // inDetails = true + indentPar.push(true) + + const type = node.attributes.class + const summary = parse(node.children[0]) + const isTrivial = DETAILS_TYPES.includes(summary) + + unwrap = node.children && (node.children.length === 2) && (node.children[1].type === 'code') + node.children = node.children.slice(1) + + let ret + if (type) { + ret = '#details(type: "{0}", unwrap: {1})[{2}][{3}]'.format( + type, + unwrap, + unquote(summary), + all(node, parse).join('') + ) + } else if (isTrivial) { + ret = '#details(type: "{0}", unwrap: {1})[{2}][{3}]'.format( + summary, + unwrap, + capitalize(summary), + all(node, parse).join('') + ) + } else { + ret = '#details(type: "note", unwrap: {0})[{1}][{2}]'.format( + unwrap, + unquote(summary), + all(node, parse).join('') + ) + } + + indentPar.pop() + // inDetails = false + return ret + } + case 'detailsContainerSummary': { + return all(node, parse).join('') + } + case 'tabbedContainer': { + indentPar.push(true) + unwrap = node.children && (node.children.length === 2) && (node.children[1].type === 'code') + + const title = unquote(parse(node.children[0])) + node.children = node.children.slice(1) + + const ret = '#tabbed(unwrap: {0})[{1}][{2}]'.format( + unwrap, + title, + all(node, parse).join('')) + + indentPar.pop() + return ret + } + case 'tabbedContainerTitle': { + return all(node, parse).join('') + } + default: { + console.error(ERROR + 'Unsupported node type: {0}'.format(node.type)) + console.error(JSON.stringify(node, null, '\t')) + return '' + } + } + } +} diff --git a/remark-typst/lib/util.js b/remark-typst/lib/util.js new file mode 100644 index 0000000..b17a46c --- /dev/null +++ b/remark-typst/lib/util.js @@ -0,0 +1,123 @@ +'use strict' + +import { join } from 'path' + +export function all(node, handler) { + return node.children.map(handler) +} + +export function trailingLineFeed(text) { + return text[text.length - 1] === '\n' ? text : text + '\n' +} + +export function getTextEstimatedLength(text) { + let byteSize = 0 + for (let i = 0; i < text.length; ++i) { + const charCode = text.charCodeAt(i) + if (charCode >= 0 && charCode <= 0x7f) { + byteSize += 1 + } else if (charCode >= 128 && charCode <= 0x7ff) { + byteSize += 2 + } else { + byteSize += 3 + } + } + return byteSize +} + +export function escapeAsString(text) { + return text.replace(/\\/g, '\\\\').replace(/"/g, '\\"').replace(/\n/g, '\\n') +} + +export function isInternalLink(url) { + return (url.toLowerCase().endsWith('.md') + || url.startsWith('/') + || url.startsWith('.') + || url.search('#') !== -1) + && !url.startsWith('http://') + && !url.startsWith('https://') +} + +export function toPrefix(text) { + return text.replace(/[^a-zA-Z0-9]/ig, '').replace(/md$/, '') +} + +export function joinRelative(url, options) { + // Remove suffix + if (url.indexOf('?') !== -1) { + url = url.slice(0, url.indexOf('?')) + } + if (url.indexOf('#') !== -1) { + url = url.slice(0, url.indexOf('#')) + } + + // Join directories + const isFolder = url.slice(url.lastIndexOf('.')).includes('/') + if (url.startsWith('/')) { + return join(options.root, url.slice(1)) + } else if (isFolder) { + return join(options.path, url) + } else if (url.startsWith('..') && !url.endsWith('md')) { + return join(options.path, url.replace(/^\.\.\//, '../../')) + } else if (url.startsWith('.') && !url.endsWith('md')) { + return join(options.path, url.replace(/^\.\//, '../')) + } else { + return join(options.path.split('/').slice(0, -2).join('/'), url) + } +} + +export function forceLinebreak(text) { + const zwsp = '\u200b' + return text.split('').map(char => (this.isCjk(char) ? char : (zwsp + char + zwsp))).join('').replace(zwsp + zwsp, zwsp) +} + +export function isCjk(char) { + const code = char.charCodeAt(0) + if (code >= 0x4e00 && code <= 0x9fff) { // CJK 统一表意文字 (CJK Unified Ideographs) + return true + } else if (code >= 0x3400 && code <= 0x4dbf) { // CJK 统一表意文字扩展 A 区 (Ext A) + return true + } else if (code >= 0x20000 && code <= 0x2a6df) { // Ext B + return true + } else if (code >= 0x2a700 && code <= 0x2b81f) { // Ext C & D + return true + } else if (code >= 0x2b820 && code <= 0x2ebef) { // Ext E & F + return true + } else if (code >= 0x30000 && code <= 0x3134f) { // Ext G + return true + } else if (code >= 0xf000 && code <= 0xfaff) { // CJK 兼容表意文字 (CJK Compatibility Ideographs) + return true + } else if (code >= 0x2f800 && code <= 0x2fa1f) { // CJK 表意文字补充 (Supplement) + return true + } else { + return false + } +} + +export function isUrl(str) { + return /^https?:\/\//.test(str) +} + +export function checkCodeLang(lang) { + if (!lang) { // 默认当作 text + return 'txt' + } else if (lang === 'plain') { // plain 替换为 text(纯文本) + return 'txt' + } else if (lang === 'markdown') { // markdown 格式的说明符必须是 md,需要替换 + return 'md' + } else { + return lang + } +} + +export function capitalize(str) { + return str.charAt(0).toUpperCase() + str.slice(1) +} + +export function unquote(str) { + if (str.startsWith('\\"') && str.endsWith('\\"')) { + return str.slice(2, -2) + } else { + return str + } +} diff --git a/remark-typst/package-lock.json b/remark-typst/package-lock.json new file mode 100644 index 0000000..c283b39 --- /dev/null +++ b/remark-typst/package-lock.json @@ -0,0 +1,7656 @@ +{ + "name": "remark-typst", + "version": "0.14.0", + "lockfileVersion": 3, + "requires": true, + "packages": { + "": { + "name": "remark-typst", + "version": "0.14.0", + "dependencies": { + "escape-typst": "file:./escape-typst", + "remark-mathjax": "file:./remark-mathjax", + "sync-request": "^6.1.0", + "to-vfile": "^8.0.0", + "unified": "^10.1.2", + "unist-util-visit": "^4.1.0" + } + }, + "escape-typst": { + "name": "escape-latex", + "version": "1.2.0", + "license": "MIT", + "devDependencies": { + "@babel/cli": "^7.12.8", + "@babel/core": "^7.12.9", + "@babel/plugin-transform-object-assign": "^7.12.1", + "@babel/preset-env": "^7.12.7", + "@babel/register": "^7.12.1", + "chai": "^4.1.2", + "eslint": "^8.0.1", + "eslint-config-google": "^0.14.0", + "eslint-config-prettier": "^8.0.0", + "husky": "^8.0.1", + "lint-staged": "^13.0.0", + "mocha": "^10.0.0", + "nyc": "^15.1.0", + "prettier": "^3.0.0", + "rimraf": "^5.0.0" + }, + "engines": { + "node": ">= 14" + } + }, + "node_modules/@aashutoshrathi/word-wrap": { + "version": "1.2.6", + "resolved": "https://registry.npmjs.org/@aashutoshrathi/word-wrap/-/word-wrap-1.2.6.tgz", + "integrity": "sha512-1Yjs2SvM8TflER/OD3cOjhWWOZb58A2t7wpE2S9XfBYTiIl+XFhQG2bjy4Pu1I+EAlCNUzRDYDdFwFYUKvXcIA==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/@ampproject/remapping": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/@ampproject/remapping/-/remapping-2.2.1.tgz", + "integrity": "sha512-lFMjJTrFL3j7L9yBxwYfCq2k6qqwHyzuUl/XBnif78PWTJYyL/dfowQHWE3sp6U6ZzqWiiIZnpTMO96zhkjwtg==", + "dev": true, + "dependencies": { + "@jridgewell/gen-mapping": "^0.3.0", + "@jridgewell/trace-mapping": "^0.3.9" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@babel/cli": { + "version": "7.23.0", + "resolved": "https://registry.npmjs.org/@babel/cli/-/cli-7.23.0.tgz", + "integrity": "sha512-17E1oSkGk2IwNILM4jtfAvgjt+ohmpfBky8aLerUfYZhiPNg7ca+CRCxZn8QDxwNhV/upsc2VHBCqGFIR+iBfA==", + "dev": true, + "dependencies": { + "@jridgewell/trace-mapping": "^0.3.17", + "commander": "^4.0.1", + "convert-source-map": "^2.0.0", + "fs-readdir-recursive": "^1.1.0", + "glob": "^7.2.0", + "make-dir": "^2.1.0", + "slash": "^2.0.0" + }, + "bin": { + "babel": "bin/babel.js", + "babel-external-helpers": "bin/babel-external-helpers.js" + }, + "engines": { + "node": ">=6.9.0" + }, + "optionalDependencies": { + "@nicolo-ribaudo/chokidar-2": "2.1.8-no-fsevents.3", + "chokidar": "^3.4.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/cli/node_modules/commander": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/commander/-/commander-4.1.1.tgz", + "integrity": "sha512-NOKm8xhkzAjzFx8B2v5OAHT+u5pRQc2UCa2Vq9jYL/31o2wi9mxBA7LIFs3sV5VSC49z6pEhfbMULvShKj26WA==", + "dev": true, + "engines": { + "node": ">= 6" + } + }, + "node_modules/@babel/code-frame": { + "version": "7.22.13", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.22.13.tgz", + "integrity": "sha512-XktuhWlJ5g+3TJXc5upd9Ks1HutSArik6jf2eAjYFyIOf4ej3RN+184cZbzDvbPnuTJIUhPKKJE3cIsYTiAT3w==", + "dev": true, + "dependencies": { + "@babel/highlight": "^7.22.13", + "chalk": "^2.4.2" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/compat-data": { + "version": "7.22.20", + "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.22.20.tgz", + "integrity": "sha512-BQYjKbpXjoXwFW5jGqiizJQQT/aC7pFm9Ok1OWssonuguICi264lbgMzRp2ZMmRSlfkX6DsWDDcsrctK8Rwfiw==", + "dev": true, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/core": { + "version": "7.23.0", + "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.23.0.tgz", + "integrity": "sha512-97z/ju/Jy1rZmDxybphrBuI+jtJjFVoz7Mr9yUQVVVi+DNZE333uFQeMOqcCIy1x3WYBIbWftUSLmbNXNT7qFQ==", + "dev": true, + "dependencies": { + "@ampproject/remapping": "^2.2.0", + "@babel/code-frame": "^7.22.13", + "@babel/generator": "^7.23.0", + "@babel/helper-compilation-targets": "^7.22.15", + "@babel/helper-module-transforms": "^7.23.0", + "@babel/helpers": "^7.23.0", + "@babel/parser": "^7.23.0", + "@babel/template": "^7.22.15", + "@babel/traverse": "^7.23.0", + "@babel/types": "^7.23.0", + "convert-source-map": "^2.0.0", + "debug": "^4.1.0", + "gensync": "^1.0.0-beta.2", + "json5": "^2.2.3", + "semver": "^6.3.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/babel" + } + }, + "node_modules/@babel/generator": { + "version": "7.23.0", + "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.23.0.tgz", + "integrity": "sha512-lN85QRR+5IbYrMWM6Y4pE/noaQtg4pNiqeNGX60eqOfo6gtEj6uw/JagelB8vVztSd7R6M5n1+PQkDbHbBRU4g==", + "dev": true, + "dependencies": { + "@babel/types": "^7.23.0", + "@jridgewell/gen-mapping": "^0.3.2", + "@jridgewell/trace-mapping": "^0.3.17", + "jsesc": "^2.5.1" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-annotate-as-pure": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.22.5.tgz", + "integrity": "sha512-LvBTxu8bQSQkcyKOU+a1btnNFQ1dMAd0R6PyW3arXes06F6QLWLIrd681bxRPIXlrMGR3XYnW9JyML7dP3qgxg==", + "dev": true, + "dependencies": { + "@babel/types": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-builder-binary-assignment-operator-visitor": { + "version": "7.22.15", + "resolved": "https://registry.npmjs.org/@babel/helper-builder-binary-assignment-operator-visitor/-/helper-builder-binary-assignment-operator-visitor-7.22.15.tgz", + "integrity": "sha512-QkBXwGgaoC2GtGZRoma6kv7Szfv06khvhFav67ZExau2RaXzy8MpHSMO2PNoP2XtmQphJQRHFfg77Bq731Yizw==", + "dev": true, + "dependencies": { + "@babel/types": "^7.22.15" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-compilation-targets": { + "version": "7.22.15", + "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.22.15.tgz", + "integrity": "sha512-y6EEzULok0Qvz8yyLkCvVX+02ic+By2UdOhylwUOvOn9dvYc9mKICJuuU1n1XBI02YWsNsnrY1kc6DVbjcXbtw==", + "dev": true, + "dependencies": { + "@babel/compat-data": "^7.22.9", + "@babel/helper-validator-option": "^7.22.15", + "browserslist": "^4.21.9", + "lru-cache": "^5.1.1", + "semver": "^6.3.1" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-create-class-features-plugin": { + "version": "7.22.15", + "resolved": "https://registry.npmjs.org/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.22.15.tgz", + "integrity": "sha512-jKkwA59IXcvSaiK2UN45kKwSC9o+KuoXsBDvHvU/7BecYIp8GQ2UwrVvFgJASUT+hBnwJx6MhvMCuMzwZZ7jlg==", + "dev": true, + "dependencies": { + "@babel/helper-annotate-as-pure": "^7.22.5", + "@babel/helper-environment-visitor": "^7.22.5", + "@babel/helper-function-name": "^7.22.5", + "@babel/helper-member-expression-to-functions": "^7.22.15", + "@babel/helper-optimise-call-expression": "^7.22.5", + "@babel/helper-replace-supers": "^7.22.9", + "@babel/helper-skip-transparent-expression-wrappers": "^7.22.5", + "@babel/helper-split-export-declaration": "^7.22.6", + "semver": "^6.3.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/@babel/helper-create-regexp-features-plugin": { + "version": "7.22.15", + "resolved": "https://registry.npmjs.org/@babel/helper-create-regexp-features-plugin/-/helper-create-regexp-features-plugin-7.22.15.tgz", + "integrity": "sha512-29FkPLFjn4TPEa3RE7GpW+qbE8tlsu3jntNYNfcGsc49LphF1PQIiD+vMZ1z1xVOKt+93khA9tc2JBs3kBjA7w==", + "dev": true, + "dependencies": { + "@babel/helper-annotate-as-pure": "^7.22.5", + "regexpu-core": "^5.3.1", + "semver": "^6.3.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/@babel/helper-define-polyfill-provider": { + "version": "0.4.2", + "resolved": "https://registry.npmjs.org/@babel/helper-define-polyfill-provider/-/helper-define-polyfill-provider-0.4.2.tgz", + "integrity": "sha512-k0qnnOqHn5dK9pZpfD5XXZ9SojAITdCKRn2Lp6rnDGzIbaP0rHyMPk/4wsSxVBVz4RfN0q6VpXWP2pDGIoQ7hw==", + "dev": true, + "dependencies": { + "@babel/helper-compilation-targets": "^7.22.6", + "@babel/helper-plugin-utils": "^7.22.5", + "debug": "^4.1.1", + "lodash.debounce": "^4.0.8", + "resolve": "^1.14.2" + }, + "peerDependencies": { + "@babel/core": "^7.4.0 || ^8.0.0-0 <8.0.0" + } + }, + "node_modules/@babel/helper-environment-visitor": { + "version": "7.22.20", + "resolved": "https://registry.npmjs.org/@babel/helper-environment-visitor/-/helper-environment-visitor-7.22.20.tgz", + "integrity": "sha512-zfedSIzFhat/gFhWfHtgWvlec0nqB9YEIVrpuwjruLlXfUSnA8cJB0miHKwqDnQ7d32aKo2xt88/xZptwxbfhA==", + "dev": true, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-function-name": { + "version": "7.23.0", + "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.23.0.tgz", + "integrity": "sha512-OErEqsrxjZTJciZ4Oo+eoZqeW9UIiOcuYKRJA4ZAgV9myA+pOXhhmpfNCKjEH/auVfEYVFJ6y1Tc4r0eIApqiw==", + "dev": true, + "dependencies": { + "@babel/template": "^7.22.15", + "@babel/types": "^7.23.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-hoist-variables": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.22.5.tgz", + "integrity": "sha512-wGjk9QZVzvknA6yKIUURb8zY3grXCcOZt+/7Wcy8O2uctxhplmUPkOdlgoNhmdVee2c92JXbf1xpMtVNbfoxRw==", + "dev": true, + "dependencies": { + "@babel/types": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-member-expression-to-functions": { + "version": "7.23.0", + "resolved": "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.23.0.tgz", + "integrity": "sha512-6gfrPwh7OuT6gZyJZvd6WbTfrqAo7vm4xCzAXOusKqq/vWdKXphTpj5klHKNmRUU6/QRGlBsyU9mAIPaWHlqJA==", + "dev": true, + "dependencies": { + "@babel/types": "^7.23.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-module-imports": { + "version": "7.22.15", + "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.22.15.tgz", + "integrity": "sha512-0pYVBnDKZO2fnSPCrgM/6WMc7eS20Fbok+0r88fp+YtWVLZrp4CkafFGIp+W0VKw4a22sgebPT99y+FDNMdP4w==", + "dev": true, + "dependencies": { + "@babel/types": "^7.22.15" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-module-transforms": { + "version": "7.23.0", + "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.23.0.tgz", + "integrity": "sha512-WhDWw1tdrlT0gMgUJSlX0IQvoO1eN279zrAUbVB+KpV2c3Tylz8+GnKOLllCS6Z/iZQEyVYxhZVUdPTqs2YYPw==", + "dev": true, + "dependencies": { + "@babel/helper-environment-visitor": "^7.22.20", + "@babel/helper-module-imports": "^7.22.15", + "@babel/helper-simple-access": "^7.22.5", + "@babel/helper-split-export-declaration": "^7.22.6", + "@babel/helper-validator-identifier": "^7.22.20" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/@babel/helper-optimise-call-expression": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.22.5.tgz", + "integrity": "sha512-HBwaojN0xFRx4yIvpwGqxiV2tUfl7401jlok564NgB9EHS1y6QT17FmKWm4ztqjeVdXLuC4fSvHc5ePpQjoTbw==", + "dev": true, + "dependencies": { + "@babel/types": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-plugin-utils": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.22.5.tgz", + "integrity": "sha512-uLls06UVKgFG9QD4OeFYLEGteMIAa5kpTPcFL28yuCIIzsf6ZyKZMllKVOCZFhiZ5ptnwX4mtKdWCBE/uT4amg==", + "dev": true, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-remap-async-to-generator": { + "version": "7.22.20", + "resolved": "https://registry.npmjs.org/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.22.20.tgz", + "integrity": "sha512-pBGyV4uBqOns+0UvhsTO8qgl8hO89PmiDYv+/COyp1aeMcmfrfruz+/nCMFiYyFF/Knn0yfrC85ZzNFjembFTw==", + "dev": true, + "dependencies": { + "@babel/helper-annotate-as-pure": "^7.22.5", + "@babel/helper-environment-visitor": "^7.22.20", + "@babel/helper-wrap-function": "^7.22.20" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/@babel/helper-replace-supers": { + "version": "7.22.20", + "resolved": "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.22.20.tgz", + "integrity": "sha512-qsW0In3dbwQUbK8kejJ4R7IHVGwHJlV6lpG6UA7a9hSa2YEiAib+N1T2kr6PEeUT+Fl7najmSOS6SmAwCHK6Tw==", + "dev": true, + "dependencies": { + "@babel/helper-environment-visitor": "^7.22.20", + "@babel/helper-member-expression-to-functions": "^7.22.15", + "@babel/helper-optimise-call-expression": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/@babel/helper-simple-access": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.22.5.tgz", + "integrity": "sha512-n0H99E/K+Bika3++WNL17POvo4rKWZ7lZEp1Q+fStVbUi8nxPQEBOlTmCOxW/0JsS56SKKQ+ojAe2pHKJHN35w==", + "dev": true, + "dependencies": { + "@babel/types": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-skip-transparent-expression-wrappers": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/helper-skip-transparent-expression-wrappers/-/helper-skip-transparent-expression-wrappers-7.22.5.tgz", + "integrity": "sha512-tK14r66JZKiC43p8Ki33yLBVJKlQDFoA8GYN67lWCDCqoL6EMMSuM9b+Iff2jHaM/RRFYl7K+iiru7hbRqNx8Q==", + "dev": true, + "dependencies": { + "@babel/types": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-split-export-declaration": { + "version": "7.22.6", + "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.22.6.tgz", + "integrity": "sha512-AsUnxuLhRYsisFiaJwvp1QF+I3KjD5FOxut14q/GzovUe6orHLesW2C7d754kRm53h5gqrz6sFl6sxc4BVtE/g==", + "dev": true, + "dependencies": { + "@babel/types": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-string-parser": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.22.5.tgz", + "integrity": "sha512-mM4COjgZox8U+JcXQwPijIZLElkgEpO5rsERVDJTc2qfCDfERyob6k5WegS14SX18IIjv+XD+GrqNumY5JRCDw==", + "dev": true, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-validator-identifier": { + "version": "7.22.20", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.22.20.tgz", + "integrity": "sha512-Y4OZ+ytlatR8AI+8KZfKuL5urKp7qey08ha31L8b3BwewJAoJamTzyvxPR/5D+KkdJCGPq/+8TukHBlY10FX9A==", + "dev": true, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-validator-option": { + "version": "7.22.15", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.22.15.tgz", + "integrity": "sha512-bMn7RmyFjY/mdECUbgn9eoSY4vqvacUnS9i9vGAGttgFWesO6B4CYWA7XlpbWgBt71iv/hfbPlynohStqnu5hA==", + "dev": true, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-wrap-function": { + "version": "7.22.20", + "resolved": "https://registry.npmjs.org/@babel/helper-wrap-function/-/helper-wrap-function-7.22.20.tgz", + "integrity": "sha512-pms/UwkOpnQe/PDAEdV/d7dVCoBbB+R4FvYoHGZz+4VPcg7RtYy2KP7S2lbuWM6FCSgob5wshfGESbC/hzNXZw==", + "dev": true, + "dependencies": { + "@babel/helper-function-name": "^7.22.5", + "@babel/template": "^7.22.15", + "@babel/types": "^7.22.19" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helpers": { + "version": "7.23.1", + "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.23.1.tgz", + "integrity": "sha512-chNpneuK18yW5Oxsr+t553UZzzAs3aZnFm4bxhebsNTeshrC95yA7l5yl7GBAG+JG1rF0F7zzD2EixK9mWSDoA==", + "dev": true, + "dependencies": { + "@babel/template": "^7.22.15", + "@babel/traverse": "^7.23.0", + "@babel/types": "^7.23.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/highlight": { + "version": "7.22.20", + "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.22.20.tgz", + "integrity": "sha512-dkdMCN3py0+ksCgYmGG8jKeGA/8Tk+gJwSYYlFGxG5lmhfKNoAy004YpLxpS1W2J8m/EK2Ew+yOs9pVRwO89mg==", + "dev": true, + "dependencies": { + "@babel/helper-validator-identifier": "^7.22.20", + "chalk": "^2.4.2", + "js-tokens": "^4.0.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/parser": { + "version": "7.23.0", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.23.0.tgz", + "integrity": "sha512-vvPKKdMemU85V9WE/l5wZEmImpCtLqbnTvqDS2U1fJ96KrxoW7KrXhNsNCblQlg8Ck4b85yxdTyelsMUgFUXiw==", + "dev": true, + "bin": { + "parser": "bin/babel-parser.js" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression": { + "version": "7.22.15", + "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression/-/plugin-bugfix-safari-id-destructuring-collision-in-function-expression-7.22.15.tgz", + "integrity": "sha512-FB9iYlz7rURmRJyXRKEnalYPPdn87H5no108cyuQQyMwlpJ2SJtpIUBI27kdTin956pz+LPypkPVPUTlxOmrsg==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": { + "version": "7.22.15", + "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining/-/plugin-bugfix-v8-spread-parameters-in-optional-chaining-7.22.15.tgz", + "integrity": "sha512-Hyph9LseGvAeeXzikV88bczhsrLrIZqDPxO+sSmAunMPaGrBGhfMWzCPYTtiW9t+HzSE2wtV8e5cc5P6r1xMDQ==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/helper-skip-transparent-expression-wrappers": "^7.22.5", + "@babel/plugin-transform-optional-chaining": "^7.22.15" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.13.0" + } + }, + "node_modules/@babel/plugin-proposal-private-property-in-object": { + "version": "7.21.0-placeholder-for-preset-env.2", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-private-property-in-object/-/plugin-proposal-private-property-in-object-7.21.0-placeholder-for-preset-env.2.tgz", + "integrity": "sha512-SOSkfJDddaM7mak6cPEpswyTRnuRltl429hMraQEglW+OkovnCzsiszTmsrlY//qLFjCpQDFRvjdm2wA5pPm9w==", + "dev": true, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-async-generators": { + "version": "7.8.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-async-generators/-/plugin-syntax-async-generators-7.8.4.tgz", + "integrity": "sha512-tycmZxkGfZaxhMRbXlPXuVFpdWlXpir2W4AMhSJgRKzk/eDlIXOhb2LHWoLpDF7TEHylV5zNhykX6KAgHJmTNw==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.8.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-class-properties": { + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-class-properties/-/plugin-syntax-class-properties-7.12.13.tgz", + "integrity": "sha512-fm4idjKla0YahUNgFNLCB0qySdsoPiZP3iQE3rky0mBUtMZ23yDJ9SJdg6dXTSDnulOVqiF3Hgr9nbXvXTQZYA==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.12.13" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-class-static-block": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-class-static-block/-/plugin-syntax-class-static-block-7.14.5.tgz", + "integrity": "sha512-b+YyPmr6ldyNnM6sqYeMWE+bgJcJpO6yS4QD7ymxgH34GBPNDM/THBh8iunyvKIZztiwLH4CJZ0RxTk9emgpjw==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.14.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-dynamic-import": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-dynamic-import/-/plugin-syntax-dynamic-import-7.8.3.tgz", + "integrity": "sha512-5gdGbFon+PszYzqs83S3E5mpi7/y/8M9eC90MRTZfduQOYW76ig6SOSPNe41IG5LoP3FGBn2N0RjVDSQiS94kQ==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.8.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-export-namespace-from": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-export-namespace-from/-/plugin-syntax-export-namespace-from-7.8.3.tgz", + "integrity": "sha512-MXf5laXo6c1IbEbegDmzGPwGNTsHZmEy6QGznu5Sh2UCWvueywb2ee+CCE4zQiZstxU9BMoQO9i6zUFSY0Kj0Q==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.8.3" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-import-assertions": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-import-assertions/-/plugin-syntax-import-assertions-7.22.5.tgz", + "integrity": "sha512-rdV97N7KqsRzeNGoWUOK6yUsWarLjE5Su/Snk9IYPU9CwkWHs4t+rTGOvffTR8XGkJMTAdLfO0xVnXm8wugIJg==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-import-attributes": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-import-attributes/-/plugin-syntax-import-attributes-7.22.5.tgz", + "integrity": "sha512-KwvoWDeNKPETmozyFE0P2rOLqh39EoQHNjqizrI5B8Vt0ZNS7M56s7dAiAqbYfiAYOuIzIh96z3iR2ktgu3tEg==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-import-meta": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-import-meta/-/plugin-syntax-import-meta-7.10.4.tgz", + "integrity": "sha512-Yqfm+XDx0+Prh3VSeEQCPU81yC+JWZ2pDPFSS4ZdpfZhp4MkFMaDC1UqseovEKwSUpnIL7+vK+Clp7bfh0iD7g==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.10.4" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-json-strings": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-json-strings/-/plugin-syntax-json-strings-7.8.3.tgz", + "integrity": "sha512-lY6kdGpWHvjoe2vk4WrAapEuBR69EMxZl+RoGRhrFGNYVK8mOPAW8VfbT/ZgrFbXlDNiiaxQnAtgVCZ6jv30EA==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.8.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-logical-assignment-operators": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-logical-assignment-operators/-/plugin-syntax-logical-assignment-operators-7.10.4.tgz", + "integrity": "sha512-d8waShlpFDinQ5MtvGU9xDAOzKH47+FFoney2baFIoMr952hKOLp1HR7VszoZvOsV/4+RRszNY7D17ba0te0ig==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.10.4" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-nullish-coalescing-operator": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-nullish-coalescing-operator/-/plugin-syntax-nullish-coalescing-operator-7.8.3.tgz", + "integrity": "sha512-aSff4zPII1u2QD7y+F8oDsz19ew4IGEJg9SVW+bqwpwtfFleiQDMdzA/R+UlWDzfnHFCxxleFT0PMIrR36XLNQ==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.8.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-numeric-separator": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-numeric-separator/-/plugin-syntax-numeric-separator-7.10.4.tgz", + "integrity": "sha512-9H6YdfkcK/uOnY/K7/aA2xpzaAgkQn37yzWUMRK7OaPOqOpGS1+n0H5hxT9AUw9EsSjPW8SVyMJwYRtWs3X3ug==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.10.4" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-object-rest-spread": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-object-rest-spread/-/plugin-syntax-object-rest-spread-7.8.3.tgz", + "integrity": "sha512-XoqMijGZb9y3y2XskN+P1wUGiVwWZ5JmoDRwx5+3GmEplNyVM2s2Dg8ILFQm8rWM48orGy5YpI5Bl8U1y7ydlA==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.8.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-optional-catch-binding": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-optional-catch-binding/-/plugin-syntax-optional-catch-binding-7.8.3.tgz", + "integrity": "sha512-6VPD0Pc1lpTqw0aKoeRTMiB+kWhAoT24PA+ksWSBrFtl5SIRVpZlwN3NNPQjehA2E/91FV3RjLWoVTglWcSV3Q==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.8.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-optional-chaining": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-optional-chaining/-/plugin-syntax-optional-chaining-7.8.3.tgz", + "integrity": "sha512-KoK9ErH1MBlCPxV0VANkXW2/dw4vlbGDrFgz8bmUsBGYkFRcbRwMh6cIJubdPrkxRwuGdtCk0v/wPTKbQgBjkg==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.8.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-private-property-in-object": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-private-property-in-object/-/plugin-syntax-private-property-in-object-7.14.5.tgz", + "integrity": "sha512-0wVnp9dxJ72ZUJDV27ZfbSj6iHLoytYZmh3rFcxNnvsJF3ktkzLDZPy/mA17HGsaQT3/DQsWYX1f1QGWkCoVUg==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.14.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-top-level-await": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-top-level-await/-/plugin-syntax-top-level-await-7.14.5.tgz", + "integrity": "sha512-hx++upLv5U1rgYfwe1xBQUhRmU41NEvpUvrp8jkrSCdvGSnM5/qdRMtylJ6PG5OFkBaHkbTAKTnd3/YyESRHFw==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.14.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-unicode-sets-regex": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-unicode-sets-regex/-/plugin-syntax-unicode-sets-regex-7.18.6.tgz", + "integrity": "sha512-727YkEAPwSIQTv5im8QHz3upqp92JTWhidIC81Tdx4VJYIte/VndKf1qKrfnnhPLiPghStWfvC/iFaMCQu7Nqg==", + "dev": true, + "dependencies": { + "@babel/helper-create-regexp-features-plugin": "^7.18.6", + "@babel/helper-plugin-utils": "^7.18.6" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/@babel/plugin-transform-arrow-functions": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.22.5.tgz", + "integrity": "sha512-26lTNXoVRdAnsaDXPpvCNUq+OVWEVC6bx7Vvz9rC53F2bagUWW4u4ii2+h8Fejfh7RYqPxn+libeFBBck9muEw==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-async-generator-functions": { + "version": "7.22.15", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-async-generator-functions/-/plugin-transform-async-generator-functions-7.22.15.tgz", + "integrity": "sha512-jBm1Es25Y+tVoTi5rfd5t1KLmL8ogLKpXszboWOTTtGFGz2RKnQe2yn7HbZ+kb/B8N0FVSGQo874NSlOU1T4+w==", + "dev": true, + "dependencies": { + "@babel/helper-environment-visitor": "^7.22.5", + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/helper-remap-async-to-generator": "^7.22.9", + "@babel/plugin-syntax-async-generators": "^7.8.4" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-async-to-generator": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.22.5.tgz", + "integrity": "sha512-b1A8D8ZzE/VhNDoV1MSJTnpKkCG5bJo+19R4o4oy03zM7ws8yEMK755j61Dc3EyvdysbqH5BOOTquJ7ZX9C6vQ==", + "dev": true, + "dependencies": { + "@babel/helper-module-imports": "^7.22.5", + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/helper-remap-async-to-generator": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-block-scoped-functions": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoped-functions/-/plugin-transform-block-scoped-functions-7.22.5.tgz", + "integrity": "sha512-tdXZ2UdknEKQWKJP1KMNmuF5Lx3MymtMN/pvA+p/VEkhK8jVcQ1fzSy8KM9qRYhAf2/lV33hoMPKI/xaI9sADA==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-block-scoping": { + "version": "7.23.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.23.0.tgz", + "integrity": "sha512-cOsrbmIOXmf+5YbL99/S49Y3j46k/T16b9ml8bm9lP6N9US5iQ2yBK7gpui1pg0V/WMcXdkfKbTb7HXq9u+v4g==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-class-properties": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-class-properties/-/plugin-transform-class-properties-7.22.5.tgz", + "integrity": "sha512-nDkQ0NfkOhPTq8YCLiWNxp1+f9fCobEjCb0n8WdbNUBc4IB5V7P1QnX9IjpSoquKrXF5SKojHleVNs2vGeHCHQ==", + "dev": true, + "dependencies": { + "@babel/helper-create-class-features-plugin": "^7.22.5", + "@babel/helper-plugin-utils": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-class-static-block": { + "version": "7.22.11", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-class-static-block/-/plugin-transform-class-static-block-7.22.11.tgz", + "integrity": "sha512-GMM8gGmqI7guS/llMFk1bJDkKfn3v3C4KHK9Yg1ey5qcHcOlKb0QvcMrgzvxo+T03/4szNh5lghY+fEC98Kq9g==", + "dev": true, + "dependencies": { + "@babel/helper-create-class-features-plugin": "^7.22.11", + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/plugin-syntax-class-static-block": "^7.14.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.12.0" + } + }, + "node_modules/@babel/plugin-transform-classes": { + "version": "7.22.15", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-classes/-/plugin-transform-classes-7.22.15.tgz", + "integrity": "sha512-VbbC3PGjBdE0wAWDdHM9G8Gm977pnYI0XpqMd6LrKISj8/DJXEsWqgRuTYaNE9Bv0JGhTZUzHDlMk18IpOuoqw==", + "dev": true, + "dependencies": { + "@babel/helper-annotate-as-pure": "^7.22.5", + "@babel/helper-compilation-targets": "^7.22.15", + "@babel/helper-environment-visitor": "^7.22.5", + "@babel/helper-function-name": "^7.22.5", + "@babel/helper-optimise-call-expression": "^7.22.5", + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/helper-replace-supers": "^7.22.9", + "@babel/helper-split-export-declaration": "^7.22.6", + "globals": "^11.1.0" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-computed-properties": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.22.5.tgz", + "integrity": "sha512-4GHWBgRf0krxPX+AaPtgBAlTgTeZmqDynokHOX7aqqAB4tHs3U2Y02zH6ETFdLZGcg9UQSD1WCmkVrE9ErHeOg==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/template": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-destructuring": { + "version": "7.23.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.23.0.tgz", + "integrity": "sha512-vaMdgNXFkYrB+8lbgniSYWHsgqK5gjaMNcc84bMIOMRLH0L9AqYq3hwMdvnyqj1OPqea8UtjPEuS/DCenah1wg==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-dotall-regex": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-dotall-regex/-/plugin-transform-dotall-regex-7.22.5.tgz", + "integrity": "sha512-5/Yk9QxCQCl+sOIB1WelKnVRxTJDSAIxtJLL2/pqL14ZVlbH0fUQUZa/T5/UnQtBNgghR7mfB8ERBKyKPCi7Vw==", + "dev": true, + "dependencies": { + "@babel/helper-create-regexp-features-plugin": "^7.22.5", + "@babel/helper-plugin-utils": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-duplicate-keys": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-duplicate-keys/-/plugin-transform-duplicate-keys-7.22.5.tgz", + "integrity": "sha512-dEnYD+9BBgld5VBXHnF/DbYGp3fqGMsyxKbtD1mDyIA7AkTSpKXFhCVuj/oQVOoALfBs77DudA0BE4d5mcpmqw==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-dynamic-import": { + "version": "7.22.11", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-dynamic-import/-/plugin-transform-dynamic-import-7.22.11.tgz", + "integrity": "sha512-g/21plo58sfteWjaO0ZNVb+uEOkJNjAaHhbejrnBmu011l/eNDScmkbjCC3l4FKb10ViaGU4aOkFznSu2zRHgA==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/plugin-syntax-dynamic-import": "^7.8.3" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-exponentiation-operator": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-exponentiation-operator/-/plugin-transform-exponentiation-operator-7.22.5.tgz", + "integrity": "sha512-vIpJFNM/FjZ4rh1myqIya9jXwrwwgFRHPjT3DkUA9ZLHuzox8jiXkOLvwm1H+PQIP3CqfC++WPKeuDi0Sjdj1g==", + "dev": true, + "dependencies": { + "@babel/helper-builder-binary-assignment-operator-visitor": "^7.22.5", + "@babel/helper-plugin-utils": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-export-namespace-from": { + "version": "7.22.11", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-export-namespace-from/-/plugin-transform-export-namespace-from-7.22.11.tgz", + "integrity": "sha512-xa7aad7q7OiT8oNZ1mU7NrISjlSkVdMbNxn9IuLZyL9AJEhs1Apba3I+u5riX1dIkdptP5EKDG5XDPByWxtehw==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/plugin-syntax-export-namespace-from": "^7.8.3" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-for-of": { + "version": "7.22.15", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.22.15.tgz", + "integrity": "sha512-me6VGeHsx30+xh9fbDLLPi0J1HzmeIIyenoOQHuw2D4m2SAU3NrspX5XxJLBpqn5yrLzrlw2Iy3RA//Bx27iOA==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-function-name": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-function-name/-/plugin-transform-function-name-7.22.5.tgz", + "integrity": "sha512-UIzQNMS0p0HHiQm3oelztj+ECwFnj+ZRV4KnguvlsD2of1whUeM6o7wGNj6oLwcDoAXQ8gEqfgC24D+VdIcevg==", + "dev": true, + "dependencies": { + "@babel/helper-compilation-targets": "^7.22.5", + "@babel/helper-function-name": "^7.22.5", + "@babel/helper-plugin-utils": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-json-strings": { + "version": "7.22.11", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-json-strings/-/plugin-transform-json-strings-7.22.11.tgz", + "integrity": "sha512-CxT5tCqpA9/jXFlme9xIBCc5RPtdDq3JpkkhgHQqtDdiTnTI0jtZ0QzXhr5DILeYifDPp2wvY2ad+7+hLMW5Pw==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/plugin-syntax-json-strings": "^7.8.3" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-literals": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-literals/-/plugin-transform-literals-7.22.5.tgz", + "integrity": "sha512-fTLj4D79M+mepcw3dgFBTIDYpbcB9Sm0bpm4ppXPaO+U+PKFFyV9MGRvS0gvGw62sd10kT5lRMKXAADb9pWy8g==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-logical-assignment-operators": { + "version": "7.22.11", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-logical-assignment-operators/-/plugin-transform-logical-assignment-operators-7.22.11.tgz", + "integrity": "sha512-qQwRTP4+6xFCDV5k7gZBF3C31K34ut0tbEcTKxlX/0KXxm9GLcO14p570aWxFvVzx6QAfPgq7gaeIHXJC8LswQ==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/plugin-syntax-logical-assignment-operators": "^7.10.4" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-member-expression-literals": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-member-expression-literals/-/plugin-transform-member-expression-literals-7.22.5.tgz", + "integrity": "sha512-RZEdkNtzzYCFl9SE9ATaUMTj2hqMb4StarOJLrZRbqqU4HSBE7UlBw9WBWQiDzrJZJdUWiMTVDI6Gv/8DPvfew==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-modules-amd": { + "version": "7.23.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.23.0.tgz", + "integrity": "sha512-xWT5gefv2HGSm4QHtgc1sYPbseOyf+FFDo2JbpE25GWl5BqTGO9IMwTYJRoIdjsF85GE+VegHxSCUt5EvoYTAw==", + "dev": true, + "dependencies": { + "@babel/helper-module-transforms": "^7.23.0", + "@babel/helper-plugin-utils": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-modules-commonjs": { + "version": "7.23.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.23.0.tgz", + "integrity": "sha512-32Xzss14/UVc7k9g775yMIvkVK8xwKE0DPdP5JTapr3+Z9w4tzeOuLNY6BXDQR6BdnzIlXnCGAzsk/ICHBLVWQ==", + "dev": true, + "dependencies": { + "@babel/helper-module-transforms": "^7.23.0", + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/helper-simple-access": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-modules-systemjs": { + "version": "7.23.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.23.0.tgz", + "integrity": "sha512-qBej6ctXZD2f+DhlOC9yO47yEYgUh5CZNz/aBoH4j/3NOlRfJXJbY7xDQCqQVf9KbrqGzIWER1f23doHGrIHFg==", + "dev": true, + "dependencies": { + "@babel/helper-hoist-variables": "^7.22.5", + "@babel/helper-module-transforms": "^7.23.0", + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/helper-validator-identifier": "^7.22.20" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-modules-umd": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-umd/-/plugin-transform-modules-umd-7.22.5.tgz", + "integrity": "sha512-+S6kzefN/E1vkSsKx8kmQuqeQsvCKCd1fraCM7zXm4SFoggI099Tr4G8U81+5gtMdUeMQ4ipdQffbKLX0/7dBQ==", + "dev": true, + "dependencies": { + "@babel/helper-module-transforms": "^7.22.5", + "@babel/helper-plugin-utils": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-named-capturing-groups-regex": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-named-capturing-groups-regex/-/plugin-transform-named-capturing-groups-regex-7.22.5.tgz", + "integrity": "sha512-YgLLKmS3aUBhHaxp5hi1WJTgOUb/NCuDHzGT9z9WTt3YG+CPRhJs6nprbStx6DnWM4dh6gt7SU3sZodbZ08adQ==", + "dev": true, + "dependencies": { + "@babel/helper-create-regexp-features-plugin": "^7.22.5", + "@babel/helper-plugin-utils": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/@babel/plugin-transform-new-target": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-new-target/-/plugin-transform-new-target-7.22.5.tgz", + "integrity": "sha512-AsF7K0Fx/cNKVyk3a+DW0JLo+Ua598/NxMRvxDnkpCIGFh43+h/v2xyhRUYf6oD8gE4QtL83C7zZVghMjHd+iw==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-nullish-coalescing-operator": { + "version": "7.22.11", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-nullish-coalescing-operator/-/plugin-transform-nullish-coalescing-operator-7.22.11.tgz", + "integrity": "sha512-YZWOw4HxXrotb5xsjMJUDlLgcDXSfO9eCmdl1bgW4+/lAGdkjaEvOnQ4p5WKKdUgSzO39dgPl0pTnfxm0OAXcg==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.3" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-numeric-separator": { + "version": "7.22.11", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-numeric-separator/-/plugin-transform-numeric-separator-7.22.11.tgz", + "integrity": "sha512-3dzU4QGPsILdJbASKhF/V2TVP+gJya1PsueQCxIPCEcerqF21oEcrob4mzjsp2Py/1nLfF5m+xYNMDpmA8vffg==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/plugin-syntax-numeric-separator": "^7.10.4" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-object-assign": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-object-assign/-/plugin-transform-object-assign-7.22.5.tgz", + "integrity": "sha512-iDhx9ARkXq4vhZ2CYOSnQXkmxkDgosLi3J8Z17mKz7LyzthtkdVchLD7WZ3aXeCuvJDOW3+1I5TpJmwIbF9MKQ==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-object-rest-spread": { + "version": "7.22.15", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-object-rest-spread/-/plugin-transform-object-rest-spread-7.22.15.tgz", + "integrity": "sha512-fEB+I1+gAmfAyxZcX1+ZUwLeAuuf8VIg67CTznZE0MqVFumWkh8xWtn58I4dxdVf080wn7gzWoF8vndOViJe9Q==", + "dev": true, + "dependencies": { + "@babel/compat-data": "^7.22.9", + "@babel/helper-compilation-targets": "^7.22.15", + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/plugin-syntax-object-rest-spread": "^7.8.3", + "@babel/plugin-transform-parameters": "^7.22.15" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-object-super": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-object-super/-/plugin-transform-object-super-7.22.5.tgz", + "integrity": "sha512-klXqyaT9trSjIUrcsYIfETAzmOEZL3cBYqOYLJxBHfMFFggmXOv+NYSX/Jbs9mzMVESw/WycLFPRx8ba/b2Ipw==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/helper-replace-supers": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-optional-catch-binding": { + "version": "7.22.11", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-optional-catch-binding/-/plugin-transform-optional-catch-binding-7.22.11.tgz", + "integrity": "sha512-rli0WxesXUeCJnMYhzAglEjLWVDF6ahb45HuprcmQuLidBJFWjNnOzssk2kuc6e33FlLaiZhG/kUIzUMWdBKaQ==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/plugin-syntax-optional-catch-binding": "^7.8.3" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-optional-chaining": { + "version": "7.23.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-optional-chaining/-/plugin-transform-optional-chaining-7.23.0.tgz", + "integrity": "sha512-sBBGXbLJjxTzLBF5rFWaikMnOGOk/BmK6vVByIdEggZ7Vn6CvWXZyRkkLFK6WE0IF8jSliyOkUN6SScFgzCM0g==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/helper-skip-transparent-expression-wrappers": "^7.22.5", + "@babel/plugin-syntax-optional-chaining": "^7.8.3" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-parameters": { + "version": "7.22.15", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.22.15.tgz", + "integrity": "sha512-hjk7qKIqhyzhhUvRT683TYQOFa/4cQKwQy7ALvTpODswN40MljzNDa0YldevS6tGbxwaEKVn502JmY0dP7qEtQ==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-private-methods": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-private-methods/-/plugin-transform-private-methods-7.22.5.tgz", + "integrity": "sha512-PPjh4gyrQnGe97JTalgRGMuU4icsZFnWkzicB/fUtzlKUqvsWBKEpPPfr5a2JiyirZkHxnAqkQMO5Z5B2kK3fA==", + "dev": true, + "dependencies": { + "@babel/helper-create-class-features-plugin": "^7.22.5", + "@babel/helper-plugin-utils": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-private-property-in-object": { + "version": "7.22.11", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-private-property-in-object/-/plugin-transform-private-property-in-object-7.22.11.tgz", + "integrity": "sha512-sSCbqZDBKHetvjSwpyWzhuHkmW5RummxJBVbYLkGkaiTOWGxml7SXt0iWa03bzxFIx7wOj3g/ILRd0RcJKBeSQ==", + "dev": true, + "dependencies": { + "@babel/helper-annotate-as-pure": "^7.22.5", + "@babel/helper-create-class-features-plugin": "^7.22.11", + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/plugin-syntax-private-property-in-object": "^7.14.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-property-literals": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-property-literals/-/plugin-transform-property-literals-7.22.5.tgz", + "integrity": "sha512-TiOArgddK3mK/x1Qwf5hay2pxI6wCZnvQqrFSqbtg1GLl2JcNMitVH/YnqjP+M31pLUeTfzY1HAXFDnUBV30rQ==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-regenerator": { + "version": "7.22.10", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.22.10.tgz", + "integrity": "sha512-F28b1mDt8KcT5bUyJc/U9nwzw6cV+UmTeRlXYIl2TNqMMJif0Jeey9/RQ3C4NOd2zp0/TRsDns9ttj2L523rsw==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5", + "regenerator-transform": "^0.15.2" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-reserved-words": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-reserved-words/-/plugin-transform-reserved-words-7.22.5.tgz", + "integrity": "sha512-DTtGKFRQUDm8svigJzZHzb/2xatPc6TzNvAIJ5GqOKDsGFYgAskjRulbR/vGsPKq3OPqtexnz327qYpP57RFyA==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-shorthand-properties": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.22.5.tgz", + "integrity": "sha512-vM4fq9IXHscXVKzDv5itkO1X52SmdFBFcMIBZ2FRn2nqVYqw6dBexUgMvAjHW+KXpPPViD/Yo3GrDEBaRC0QYA==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-spread": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-spread/-/plugin-transform-spread-7.22.5.tgz", + "integrity": "sha512-5ZzDQIGyvN4w8+dMmpohL6MBo+l2G7tfC/O2Dg7/hjpgeWvUx8FzfeOKxGog9IimPa4YekaQ9PlDqTLOljkcxg==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/helper-skip-transparent-expression-wrappers": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-sticky-regex": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-sticky-regex/-/plugin-transform-sticky-regex-7.22.5.tgz", + "integrity": "sha512-zf7LuNpHG0iEeiyCNwX4j3gDg1jgt1k3ZdXBKbZSoA3BbGQGvMiSvfbZRR3Dr3aeJe3ooWFZxOOG3IRStYp2Bw==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-template-literals": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.22.5.tgz", + "integrity": "sha512-5ciOehRNf+EyUeewo8NkbQiUs4d6ZxiHo6BcBcnFlgiJfu16q0bQUw9Jvo0b0gBKFG1SMhDSjeKXSYuJLeFSMA==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-typeof-symbol": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-typeof-symbol/-/plugin-transform-typeof-symbol-7.22.5.tgz", + "integrity": "sha512-bYkI5lMzL4kPii4HHEEChkD0rkc+nvnlR6+o/qdqR6zrm0Sv/nodmyLhlq2DO0YKLUNd2VePmPRjJXSBh9OIdA==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-unicode-escapes": { + "version": "7.22.10", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-escapes/-/plugin-transform-unicode-escapes-7.22.10.tgz", + "integrity": "sha512-lRfaRKGZCBqDlRU3UIFovdp9c9mEvlylmpod0/OatICsSfuQ9YFthRo1tpTkGsklEefZdqlEFdY4A2dwTb6ohg==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-unicode-property-regex": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-property-regex/-/plugin-transform-unicode-property-regex-7.22.5.tgz", + "integrity": "sha512-HCCIb+CbJIAE6sXn5CjFQXMwkCClcOfPCzTlilJ8cUatfzwHlWQkbtV0zD338u9dZskwvuOYTuuaMaA8J5EI5A==", + "dev": true, + "dependencies": { + "@babel/helper-create-regexp-features-plugin": "^7.22.5", + "@babel/helper-plugin-utils": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-unicode-regex": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-regex/-/plugin-transform-unicode-regex-7.22.5.tgz", + "integrity": "sha512-028laaOKptN5vHJf9/Arr/HiJekMd41hOEZYvNsrsXqJ7YPYuX2bQxh31fkZzGmq3YqHRJzYFFAVYvKfMPKqyg==", + "dev": true, + "dependencies": { + "@babel/helper-create-regexp-features-plugin": "^7.22.5", + "@babel/helper-plugin-utils": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-unicode-sets-regex": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-sets-regex/-/plugin-transform-unicode-sets-regex-7.22.5.tgz", + "integrity": "sha512-lhMfi4FC15j13eKrh3DnYHjpGj6UKQHtNKTbtc1igvAhRy4+kLhV07OpLcsN0VgDEw/MjAvJO4BdMJsHwMhzCg==", + "dev": true, + "dependencies": { + "@babel/helper-create-regexp-features-plugin": "^7.22.5", + "@babel/helper-plugin-utils": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/@babel/preset-env": { + "version": "7.22.20", + "resolved": "https://registry.npmjs.org/@babel/preset-env/-/preset-env-7.22.20.tgz", + "integrity": "sha512-11MY04gGC4kSzlPHRfvVkNAZhUxOvm7DCJ37hPDnUENwe06npjIRAfInEMTGSb4LZK5ZgDFkv5hw0lGebHeTyg==", + "dev": true, + "dependencies": { + "@babel/compat-data": "^7.22.20", + "@babel/helper-compilation-targets": "^7.22.15", + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/helper-validator-option": "^7.22.15", + "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression": "^7.22.15", + "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": "^7.22.15", + "@babel/plugin-proposal-private-property-in-object": "7.21.0-placeholder-for-preset-env.2", + "@babel/plugin-syntax-async-generators": "^7.8.4", + "@babel/plugin-syntax-class-properties": "^7.12.13", + "@babel/plugin-syntax-class-static-block": "^7.14.5", + "@babel/plugin-syntax-dynamic-import": "^7.8.3", + "@babel/plugin-syntax-export-namespace-from": "^7.8.3", + "@babel/plugin-syntax-import-assertions": "^7.22.5", + "@babel/plugin-syntax-import-attributes": "^7.22.5", + "@babel/plugin-syntax-import-meta": "^7.10.4", + "@babel/plugin-syntax-json-strings": "^7.8.3", + "@babel/plugin-syntax-logical-assignment-operators": "^7.10.4", + "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.3", + "@babel/plugin-syntax-numeric-separator": "^7.10.4", + "@babel/plugin-syntax-object-rest-spread": "^7.8.3", + "@babel/plugin-syntax-optional-catch-binding": "^7.8.3", + "@babel/plugin-syntax-optional-chaining": "^7.8.3", + "@babel/plugin-syntax-private-property-in-object": "^7.14.5", + "@babel/plugin-syntax-top-level-await": "^7.14.5", + "@babel/plugin-syntax-unicode-sets-regex": "^7.18.6", + "@babel/plugin-transform-arrow-functions": "^7.22.5", + "@babel/plugin-transform-async-generator-functions": "^7.22.15", + "@babel/plugin-transform-async-to-generator": "^7.22.5", + "@babel/plugin-transform-block-scoped-functions": "^7.22.5", + "@babel/plugin-transform-block-scoping": "^7.22.15", + "@babel/plugin-transform-class-properties": "^7.22.5", + "@babel/plugin-transform-class-static-block": "^7.22.11", + "@babel/plugin-transform-classes": "^7.22.15", + "@babel/plugin-transform-computed-properties": "^7.22.5", + "@babel/plugin-transform-destructuring": "^7.22.15", + "@babel/plugin-transform-dotall-regex": "^7.22.5", + "@babel/plugin-transform-duplicate-keys": "^7.22.5", + "@babel/plugin-transform-dynamic-import": "^7.22.11", + "@babel/plugin-transform-exponentiation-operator": "^7.22.5", + "@babel/plugin-transform-export-namespace-from": "^7.22.11", + "@babel/plugin-transform-for-of": "^7.22.15", + "@babel/plugin-transform-function-name": "^7.22.5", + "@babel/plugin-transform-json-strings": "^7.22.11", + "@babel/plugin-transform-literals": "^7.22.5", + "@babel/plugin-transform-logical-assignment-operators": "^7.22.11", + "@babel/plugin-transform-member-expression-literals": "^7.22.5", + "@babel/plugin-transform-modules-amd": "^7.22.5", + "@babel/plugin-transform-modules-commonjs": "^7.22.15", + "@babel/plugin-transform-modules-systemjs": "^7.22.11", + "@babel/plugin-transform-modules-umd": "^7.22.5", + "@babel/plugin-transform-named-capturing-groups-regex": "^7.22.5", + "@babel/plugin-transform-new-target": "^7.22.5", + "@babel/plugin-transform-nullish-coalescing-operator": "^7.22.11", + "@babel/plugin-transform-numeric-separator": "^7.22.11", + "@babel/plugin-transform-object-rest-spread": "^7.22.15", + "@babel/plugin-transform-object-super": "^7.22.5", + "@babel/plugin-transform-optional-catch-binding": "^7.22.11", + "@babel/plugin-transform-optional-chaining": "^7.22.15", + "@babel/plugin-transform-parameters": "^7.22.15", + "@babel/plugin-transform-private-methods": "^7.22.5", + "@babel/plugin-transform-private-property-in-object": "^7.22.11", + "@babel/plugin-transform-property-literals": "^7.22.5", + "@babel/plugin-transform-regenerator": "^7.22.10", + "@babel/plugin-transform-reserved-words": "^7.22.5", + "@babel/plugin-transform-shorthand-properties": "^7.22.5", + "@babel/plugin-transform-spread": "^7.22.5", + "@babel/plugin-transform-sticky-regex": "^7.22.5", + "@babel/plugin-transform-template-literals": "^7.22.5", + "@babel/plugin-transform-typeof-symbol": "^7.22.5", + "@babel/plugin-transform-unicode-escapes": "^7.22.10", + "@babel/plugin-transform-unicode-property-regex": "^7.22.5", + "@babel/plugin-transform-unicode-regex": "^7.22.5", + "@babel/plugin-transform-unicode-sets-regex": "^7.22.5", + "@babel/preset-modules": "0.1.6-no-external-plugins", + "@babel/types": "^7.22.19", + "babel-plugin-polyfill-corejs2": "^0.4.5", + "babel-plugin-polyfill-corejs3": "^0.8.3", + "babel-plugin-polyfill-regenerator": "^0.5.2", + "core-js-compat": "^3.31.0", + "semver": "^6.3.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/preset-modules": { + "version": "0.1.6-no-external-plugins", + "resolved": "https://registry.npmjs.org/@babel/preset-modules/-/preset-modules-0.1.6-no-external-plugins.tgz", + "integrity": "sha512-HrcgcIESLm9aIR842yhJ5RWan/gebQUJ6E/E5+rf0y9o6oj7w0Br+sWuL6kEQ/o/AdfvR1Je9jG18/gnpwjEyA==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.0.0", + "@babel/types": "^7.4.4", + "esutils": "^2.0.2" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0 || ^8.0.0-0 <8.0.0" + } + }, + "node_modules/@babel/register": { + "version": "7.22.15", + "resolved": "https://registry.npmjs.org/@babel/register/-/register-7.22.15.tgz", + "integrity": "sha512-V3Q3EqoQdn65RCgTLwauZaTfd1ShhwPmbBv+1dkZV/HpCGMKVyn6oFcRlI7RaKqiDQjX2Qd3AuoEguBgdjIKlg==", + "dev": true, + "dependencies": { + "clone-deep": "^4.0.1", + "find-cache-dir": "^2.0.0", + "make-dir": "^2.1.0", + "pirates": "^4.0.5", + "source-map-support": "^0.5.16" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/regjsgen": { + "version": "0.8.0", + "resolved": "https://registry.npmjs.org/@babel/regjsgen/-/regjsgen-0.8.0.tgz", + "integrity": "sha512-x/rqGMdzj+fWZvCOYForTghzbtqPDZ5gPwaoNGHdgDfF2QA/XZbCBp4Moo5scrkAMPhB7z26XM/AaHuIJdgauA==", + "dev": true + }, + "node_modules/@babel/runtime": { + "version": "7.23.1", + "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.23.1.tgz", + "integrity": "sha512-hC2v6p8ZSI/W0HUzh3V8C5g+NwSKzKPtJwSpTjwl0o297GP9+ZLQSkdvHz46CM3LqyoXxq+5G9komY+eSqSO0g==", + "dev": true, + "dependencies": { + "regenerator-runtime": "^0.14.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/template": { + "version": "7.22.15", + "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.22.15.tgz", + "integrity": "sha512-QPErUVm4uyJa60rkI73qneDacvdvzxshT3kksGqlGWYdOTIUOwJ7RDUL8sGqslY1uXWSL6xMFKEXDS3ox2uF0w==", + "dev": true, + "dependencies": { + "@babel/code-frame": "^7.22.13", + "@babel/parser": "^7.22.15", + "@babel/types": "^7.22.15" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/traverse": { + "version": "7.23.0", + "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.23.0.tgz", + "integrity": "sha512-t/QaEvyIoIkwzpiZ7aoSKK8kObQYeF7T2v+dazAYCb8SXtp58zEVkWW7zAnju8FNKNdr4ScAOEDmMItbyOmEYw==", + "dev": true, + "dependencies": { + "@babel/code-frame": "^7.22.13", + "@babel/generator": "^7.23.0", + "@babel/helper-environment-visitor": "^7.22.20", + "@babel/helper-function-name": "^7.23.0", + "@babel/helper-hoist-variables": "^7.22.5", + "@babel/helper-split-export-declaration": "^7.22.6", + "@babel/parser": "^7.23.0", + "@babel/types": "^7.23.0", + "debug": "^4.1.0", + "globals": "^11.1.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/types": { + "version": "7.23.0", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.23.0.tgz", + "integrity": "sha512-0oIyUfKoI3mSqMvsxBdclDwxXKXAUA8v/apZbc+iSyARYou1o8ZGDxbUYyLFoW2arqS2jDGqJuZvv1d/io1axg==", + "dev": true, + "dependencies": { + "@babel/helper-string-parser": "^7.22.5", + "@babel/helper-validator-identifier": "^7.22.20", + "to-fast-properties": "^2.0.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@eslint-community/eslint-utils": { + "version": "4.4.0", + "resolved": "https://registry.npmjs.org/@eslint-community/eslint-utils/-/eslint-utils-4.4.0.tgz", + "integrity": "sha512-1/sA4dwrzBAyeUoQ6oxahHKmrZvsnLCg4RfxW3ZFGGmQkSNQPFNLV9CUEFQP1x9EYXHTo5p6xdhZM1Ne9p/AfA==", + "dev": true, + "dependencies": { + "eslint-visitor-keys": "^3.3.0" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "peerDependencies": { + "eslint": "^6.0.0 || ^7.0.0 || >=8.0.0" + } + }, + "node_modules/@eslint-community/regexpp": { + "version": "4.8.2", + "resolved": "https://registry.npmjs.org/@eslint-community/regexpp/-/regexpp-4.8.2.tgz", + "integrity": "sha512-0MGxAVt1m/ZK+LTJp/j0qF7Hz97D9O/FH9Ms3ltnyIdDD57cbb1ACIQTkbHvNXtWDv5TPq7w5Kq56+cNukbo7g==", + "dev": true, + "engines": { + "node": "^12.0.0 || ^14.0.0 || >=16.0.0" + } + }, + "node_modules/@eslint/eslintrc": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-2.1.2.tgz", + "integrity": "sha512-+wvgpDsrB1YqAMdEUCcnTlpfVBH7Vqn6A/NT3D8WVXFIaKMlErPIZT3oCIAVCOtarRpMtelZLqJeU3t7WY6X6g==", + "dev": true, + "dependencies": { + "ajv": "^6.12.4", + "debug": "^4.3.2", + "espree": "^9.6.0", + "globals": "^13.19.0", + "ignore": "^5.2.0", + "import-fresh": "^3.2.1", + "js-yaml": "^4.1.0", + "minimatch": "^3.1.2", + "strip-json-comments": "^3.1.1" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" + } + }, + "node_modules/@eslint/eslintrc/node_modules/globals": { + "version": "13.22.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-13.22.0.tgz", + "integrity": "sha512-H1Ddc/PbZHTDVJSnj8kWptIRSD6AM3pK+mKytuIVF4uoBV7rshFlhhvA58ceJ5wp3Er58w6zj7bykMpYXt3ETw==", + "dev": true, + "dependencies": { + "type-fest": "^0.20.2" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/@eslint/eslintrc/node_modules/type-fest": { + "version": "0.20.2", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.20.2.tgz", + "integrity": "sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==", + "dev": true, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/@eslint/js": { + "version": "8.50.0", + "resolved": "https://registry.npmjs.org/@eslint/js/-/js-8.50.0.tgz", + "integrity": "sha512-NCC3zz2+nvYd+Ckfh87rA47zfu2QsQpvc6k1yzTk+b9KzRj0wkGa8LSoGOXN6Zv4lRf/EIoZ80biDh9HOI+RNQ==", + "dev": true, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + } + }, + "node_modules/@humanwhocodes/config-array": { + "version": "0.11.11", + "resolved": "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.11.11.tgz", + "integrity": "sha512-N2brEuAadi0CcdeMXUkhbZB84eskAc8MEX1By6qEchoVywSgXPIjou4rYsl0V3Hj0ZnuGycGCjdNgockbzeWNA==", + "dev": true, + "dependencies": { + "@humanwhocodes/object-schema": "^1.2.1", + "debug": "^4.1.1", + "minimatch": "^3.0.5" + }, + "engines": { + "node": ">=10.10.0" + } + }, + "node_modules/@humanwhocodes/module-importer": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@humanwhocodes/module-importer/-/module-importer-1.0.1.tgz", + "integrity": "sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA==", + "dev": true, + "engines": { + "node": ">=12.22" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/nzakas" + } + }, + "node_modules/@humanwhocodes/object-schema": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/@humanwhocodes/object-schema/-/object-schema-1.2.1.tgz", + "integrity": "sha512-ZnQMnLV4e7hDlUvw8H+U8ASL02SS2Gn6+9Ac3wGGLIe7+je2AeAOxPY+izIPJDfFDb7eDjev0Us8MO1iFRN8hA==", + "dev": true + }, + "node_modules/@isaacs/cliui": { + "version": "8.0.2", + "resolved": "https://registry.npmjs.org/@isaacs/cliui/-/cliui-8.0.2.tgz", + "integrity": "sha512-O8jcjabXaleOG9DQ0+ARXWZBTfnP4WNAqzuiJK7ll44AmxGKv/J2M4TPjxjY3znBCfvBXFzucm1twdyFybFqEA==", + "dev": true, + "dependencies": { + "string-width": "^5.1.2", + "string-width-cjs": "npm:string-width@^4.2.0", + "strip-ansi": "^7.0.1", + "strip-ansi-cjs": "npm:strip-ansi@^6.0.1", + "wrap-ansi": "^8.1.0", + "wrap-ansi-cjs": "npm:wrap-ansi@^7.0.0" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/@isaacs/cliui/node_modules/ansi-regex": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.0.1.tgz", + "integrity": "sha512-n5M855fKb2SsfMIiFFoVrABHJC8QtHwVx+mHWP3QcEqBHYienj5dHSgjbxtC0WEZXYt4wcD6zrQElDPhFuZgfA==", + "dev": true, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/ansi-regex?sponsor=1" + } + }, + "node_modules/@isaacs/cliui/node_modules/strip-ansi": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.1.0.tgz", + "integrity": "sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ==", + "dev": true, + "dependencies": { + "ansi-regex": "^6.0.1" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/strip-ansi?sponsor=1" + } + }, + "node_modules/@istanbuljs/load-nyc-config": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@istanbuljs/load-nyc-config/-/load-nyc-config-1.1.0.tgz", + "integrity": "sha512-VjeHSlIzpv/NyD3N0YuHfXOPDIixcA1q2ZV98wsMqcYlPmv2n3Yb2lYP9XMElnaFVXg5A7YLTeLu6V84uQDjmQ==", + "dev": true, + "dependencies": { + "camelcase": "^5.3.1", + "find-up": "^4.1.0", + "get-package-type": "^0.1.0", + "js-yaml": "^3.13.1", + "resolve-from": "^5.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/@istanbuljs/load-nyc-config/node_modules/argparse": { + "version": "1.0.10", + "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz", + "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==", + "dev": true, + "dependencies": { + "sprintf-js": "~1.0.2" + } + }, + "node_modules/@istanbuljs/load-nyc-config/node_modules/find-up": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz", + "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", + "dev": true, + "dependencies": { + "locate-path": "^5.0.0", + "path-exists": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/@istanbuljs/load-nyc-config/node_modules/js-yaml": { + "version": "3.14.1", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.1.tgz", + "integrity": "sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==", + "dev": true, + "dependencies": { + "argparse": "^1.0.7", + "esprima": "^4.0.0" + }, + "bin": { + "js-yaml": "bin/js-yaml.js" + } + }, + "node_modules/@istanbuljs/load-nyc-config/node_modules/locate-path": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", + "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==", + "dev": true, + "dependencies": { + "p-locate": "^4.1.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/@istanbuljs/load-nyc-config/node_modules/p-limit": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", + "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", + "dev": true, + "dependencies": { + "p-try": "^2.0.0" + }, + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/@istanbuljs/load-nyc-config/node_modules/p-locate": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz", + "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==", + "dev": true, + "dependencies": { + "p-limit": "^2.2.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/@istanbuljs/load-nyc-config/node_modules/resolve-from": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-5.0.0.tgz", + "integrity": "sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/@istanbuljs/schema": { + "version": "0.1.3", + "resolved": "https://registry.npmjs.org/@istanbuljs/schema/-/schema-0.1.3.tgz", + "integrity": "sha512-ZXRY4jNvVgSVQ8DL3LTcakaAtXwTVUxE81hslsyD2AtoXW/wVob10HkOJ1X/pAlcI7D+2YoZKg5do8G/w6RYgA==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/@jridgewell/gen-mapping": { + "version": "0.3.3", + "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.3.tgz", + "integrity": "sha512-HLhSWOLRi875zjjMG/r+Nv0oCW8umGb0BgEhyX3dDX3egwZtB8PqLnjz3yedt8R5StBrzcg4aBpnh8UA9D1BoQ==", + "dev": true, + "dependencies": { + "@jridgewell/set-array": "^1.0.1", + "@jridgewell/sourcemap-codec": "^1.4.10", + "@jridgewell/trace-mapping": "^0.3.9" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@jridgewell/resolve-uri": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.1.tgz", + "integrity": "sha512-dSYZh7HhCDtCKm4QakX0xFpsRDqjjtZf/kjI/v3T3Nwt5r8/qz/M19F9ySyOqU94SXBmeG9ttTul+YnR4LOxFA==", + "dev": true, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@jridgewell/set-array": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/@jridgewell/set-array/-/set-array-1.1.2.tgz", + "integrity": "sha512-xnkseuNADM0gt2bs+BvhO0p78Mk762YnZdsuzFV018NoG1Sj1SCQvpSqa7XUaTam5vAGasABV9qXASMKnFMwMw==", + "dev": true, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@jridgewell/sourcemap-codec": { + "version": "1.4.15", + "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.15.tgz", + "integrity": "sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg==", + "dev": true + }, + "node_modules/@jridgewell/trace-mapping": { + "version": "0.3.19", + "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.19.tgz", + "integrity": "sha512-kf37QtfW+Hwx/buWGMPcR60iF9ziHa6r/CZJIHbmcm4+0qrXiVdxegAH0F6yddEVQ7zdkjcGCgCzUu+BcbhQxw==", + "dev": true, + "dependencies": { + "@jridgewell/resolve-uri": "^3.1.0", + "@jridgewell/sourcemap-codec": "^1.4.14" + } + }, + "node_modules/@nicolo-ribaudo/chokidar-2": { + "version": "2.1.8-no-fsevents.3", + "resolved": "https://registry.npmjs.org/@nicolo-ribaudo/chokidar-2/-/chokidar-2-2.1.8-no-fsevents.3.tgz", + "integrity": "sha512-s88O1aVtXftvp5bCPB7WnmXc5IwOZZ7YPuwNPt+GtOOXpPvad1LfbmjYv+qII7zP6RU2QGnqve27dnLycEnyEQ==", + "dev": true, + "optional": true + }, + "node_modules/@nodelib/fs.scandir": { + "version": "2.1.5", + "resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz", + "integrity": "sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==", + "dev": true, + "dependencies": { + "@nodelib/fs.stat": "2.0.5", + "run-parallel": "^1.1.9" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/@nodelib/fs.stat": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz", + "integrity": "sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==", + "dev": true, + "engines": { + "node": ">= 8" + } + }, + "node_modules/@nodelib/fs.walk": { + "version": "1.2.8", + "resolved": "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz", + "integrity": "sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==", + "dev": true, + "dependencies": { + "@nodelib/fs.scandir": "2.1.5", + "fastq": "^1.6.0" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/@pkgjs/parseargs": { + "version": "0.11.0", + "resolved": "https://registry.npmjs.org/@pkgjs/parseargs/-/parseargs-0.11.0.tgz", + "integrity": "sha512-+1VkjdD0QBLPodGrJUeqarH8VAIvQODIbwh9XpP5Syisf7YoQgsJKPNFoqqLQlu+VQ/tVSshMR6loPMn8U+dPg==", + "dev": true, + "optional": true, + "engines": { + "node": ">=14" + } + }, + "node_modules/@tootallnate/once": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/@tootallnate/once/-/once-2.0.0.tgz", + "integrity": "sha512-XCuKFP5PS55gnMVu3dty8KPatLqUoy/ZYzDzAGCQ8JNFCkLXzmI7vNHCR+XpbZaMWQK/vQubr7PkYq8g470J/A==", + "engines": { + "node": ">= 10" + } + }, + "node_modules/@types/concat-stream": { + "version": "1.6.1", + "resolved": "https://registry.npmjs.org/@types/concat-stream/-/concat-stream-1.6.1.tgz", + "integrity": "sha512-eHE4cQPoj6ngxBZMvVf6Hw7Mh4jMW4U9lpGmS5GBPB9RYxlFg+CHaVN7ErNY4W9XfLIEn20b4VDYaIrbq0q4uA==", + "dependencies": { + "@types/node": "*" + } + }, + "node_modules/@types/form-data": { + "version": "0.0.33", + "resolved": "https://registry.npmjs.org/@types/form-data/-/form-data-0.0.33.tgz", + "integrity": "sha512-8BSvG1kGm83cyJITQMZSulnl6QV8jqAGreJsc5tPu1Jq0vTSOiY/k24Wx82JRpWwZSqrala6sd5rWi6aNXvqcw==", + "dependencies": { + "@types/node": "*" + } + }, + "node_modules/@types/hast": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/@types/hast/-/hast-3.0.1.tgz", + "integrity": "sha512-hs/iBJx2aydugBQx5ETV3ZgeSS0oIreQrFJ4bjBl0XvM4wAmDjFEALY7p0rTSLt2eL+ibjRAAs9dTPiCLtmbqQ==", + "dependencies": { + "@types/unist": "*" + } + }, + "node_modules/@types/jsdom": { + "version": "21.1.3", + "resolved": "https://registry.npmjs.org/@types/jsdom/-/jsdom-21.1.3.tgz", + "integrity": "sha512-1zzqSP+iHJYV4lB3lZhNBa012pubABkj9yG/GuXuf6LZH1cSPIJBqFDrm5JX65HHt6VOnNYdTui/0ySerRbMgA==", + "dev": true, + "dependencies": { + "@types/node": "*", + "@types/tough-cookie": "*", + "parse5": "^7.0.0" + } + }, + "node_modules/@types/mathjax": { + "version": "0.0.37", + "resolved": "https://registry.npmjs.org/@types/mathjax/-/mathjax-0.0.37.tgz", + "integrity": "sha512-y0WSZBtBNQwcYipTU/BhgeFu1EZNlFvUNCmkMXV9kBQZq7/o5z82dNVyH3yy2Xv5zzeNeQoHSL4Xm06+EQiH+g==" + }, + "node_modules/@types/node": { + "version": "20.7.0", + "resolved": "https://registry.npmjs.org/@types/node/-/node-20.7.0.tgz", + "integrity": "sha512-zI22/pJW2wUZOVyguFaUL1HABdmSVxpXrzIqkjsHmyUjNhPoWM1CKfvVuXfetHhIok4RY573cqS0mZ1SJEnoTg==" + }, + "node_modules/@types/qs": { + "version": "6.9.8", + "resolved": "https://registry.npmjs.org/@types/qs/-/qs-6.9.8.tgz", + "integrity": "sha512-u95svzDlTysU5xecFNTgfFG5RUWu1A9P0VzgpcIiGZA9iraHOdSzcxMxQ55DyeRaGCSxQi7LxXDI4rzq/MYfdg==" + }, + "node_modules/@types/tough-cookie": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/@types/tough-cookie/-/tough-cookie-4.0.3.tgz", + "integrity": "sha512-THo502dA5PzG/sfQH+42Lw3fvmYkceefOspdCwpHRul8ik2Jv1K8I5OZz1AT3/rs46kwgMCe9bSBmDLYkkOMGg==", + "dev": true + }, + "node_modules/@types/unist": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/@types/unist/-/unist-3.0.0.tgz", + "integrity": "sha512-MFETx3tbTjE7Uk6vvnWINA/1iJ7LuMdO4fcq8UfF0pRbj01aGLduVvQcRyswuACJdpnHgg8E3rQLhaRdNEJS0w==" + }, + "node_modules/abab": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/abab/-/abab-2.0.6.tgz", + "integrity": "sha512-j2afSsaIENvHZN2B8GOpF566vZ5WVk5opAiMTvWgaQT8DkbOqsTfvNAvHoRGU2zzP8cPoqys+xHTRDWW8L+/BA==" + }, + "node_modules/acorn": { + "version": "8.10.0", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.10.0.tgz", + "integrity": "sha512-F0SAmZ8iUtS//m8DmCTA0jlh6TDKkHQyK6xc6V4KDTyZKA9dnvX9/3sRTVQrWm79glUAZbnmmNcdYwUIHWVybw==", + "dev": true, + "bin": { + "acorn": "bin/acorn" + }, + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/acorn-jsx": { + "version": "5.3.2", + "resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.3.2.tgz", + "integrity": "sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==", + "dev": true, + "peerDependencies": { + "acorn": "^6.0.0 || ^7.0.0 || ^8.0.0" + } + }, + "node_modules/agent-base": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-6.0.2.tgz", + "integrity": "sha512-RZNwNclF7+MS/8bDg70amg32dyeZGZxiDuQmZxKLAlQjr3jGyLx+4Kkk58UO7D2QdgFIQCovuSuZESne6RG6XQ==", + "dependencies": { + "debug": "4" + }, + "engines": { + "node": ">= 6.0.0" + } + }, + "node_modules/aggregate-error": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/aggregate-error/-/aggregate-error-3.1.0.tgz", + "integrity": "sha512-4I7Td01quW/RpocfNayFdFVk1qSuoh0E7JrbRJ16nH01HhKFQ88INq9Sd+nd72zqRySlr9BmDA8xlEJ6vJMrYA==", + "dev": true, + "dependencies": { + "clean-stack": "^2.0.0", + "indent-string": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/ajv": { + "version": "6.12.6", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", + "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", + "dev": true, + "dependencies": { + "fast-deep-equal": "^3.1.1", + "fast-json-stable-stringify": "^2.0.0", + "json-schema-traverse": "^0.4.1", + "uri-js": "^4.2.2" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/epoberezkin" + } + }, + "node_modules/ansi-colors": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/ansi-colors/-/ansi-colors-4.1.1.tgz", + "integrity": "sha512-JoX0apGbHaUJBNl6yF+p6JAFYZ666/hhCGKN5t9QFjbJQKUU/g8MNbFDbvfrgKXvI1QpZplPOnwIo99lX/AAmA==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/ansi-escapes": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-5.0.0.tgz", + "integrity": "sha512-5GFMVX8HqE/TB+FuBJGuO5XG0WrsA6ptUqoODaT/n9mmUaZFkqnBueB4leqGBCmrUHnCnC4PCZTCd0E7QQ83bA==", + "dev": true, + "dependencies": { + "type-fest": "^1.0.2" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/ansi-regex": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", + "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/ansi-styles": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", + "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", + "dev": true, + "dependencies": { + "color-convert": "^1.9.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/anymatch": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.3.tgz", + "integrity": "sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==", + "dev": true, + "dependencies": { + "normalize-path": "^3.0.0", + "picomatch": "^2.0.4" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/append-transform": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/append-transform/-/append-transform-2.0.0.tgz", + "integrity": "sha512-7yeyCEurROLQJFv5Xj4lEGTy0borxepjFv1g22oAdqFu//SrAlDl1O1Nxx15SH1RoliUml6p8dwJW9jvZughhg==", + "dev": true, + "dependencies": { + "default-require-extensions": "^3.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/archy": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/archy/-/archy-1.0.0.tgz", + "integrity": "sha512-Xg+9RwCg/0p32teKdGMPTPnVXKD0w3DfHnFTficozsAgsvq2XenPJq/MYpzzQ/v8zrOyJn6Ds39VA4JIDwFfqw==", + "dev": true + }, + "node_modules/argparse": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz", + "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==", + "dev": true + }, + "node_modules/asap": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/asap/-/asap-2.0.6.tgz", + "integrity": "sha512-BSHWgDSAiKs50o2Re8ppvp3seVHXSRM44cdSsT9FfNEUUZLOGWVCsiWaRPWM1Znn+mqZ1OfVZ3z3DWEzSp7hRA==" + }, + "node_modules/assertion-error": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/assertion-error/-/assertion-error-1.1.0.tgz", + "integrity": "sha512-jgsaNduz+ndvGyFt3uSuWqvy4lCnIJiovtouQN5JZHOKCS2QuhEdbcQHFhVksz2N2U9hXJo8odG7ETyWlEeuDw==", + "dev": true, + "engines": { + "node": "*" + } + }, + "node_modules/asynckit": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz", + "integrity": "sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==" + }, + "node_modules/babel-plugin-polyfill-corejs2": { + "version": "0.4.5", + "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs2/-/babel-plugin-polyfill-corejs2-0.4.5.tgz", + "integrity": "sha512-19hwUH5FKl49JEsvyTcoHakh6BE0wgXLLptIyKZ3PijHc/Ci521wygORCUCCred+E/twuqRyAkE02BAWPmsHOg==", + "dev": true, + "dependencies": { + "@babel/compat-data": "^7.22.6", + "@babel/helper-define-polyfill-provider": "^0.4.2", + "semver": "^6.3.1" + }, + "peerDependencies": { + "@babel/core": "^7.4.0 || ^8.0.0-0 <8.0.0" + } + }, + "node_modules/babel-plugin-polyfill-corejs3": { + "version": "0.8.4", + "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs3/-/babel-plugin-polyfill-corejs3-0.8.4.tgz", + "integrity": "sha512-9l//BZZsPR+5XjyJMPtZSK4jv0BsTO1zDac2GC6ygx9WLGlcsnRd1Co0B2zT5fF5Ic6BZy+9m3HNZ3QcOeDKfg==", + "dev": true, + "dependencies": { + "@babel/helper-define-polyfill-provider": "^0.4.2", + "core-js-compat": "^3.32.2" + }, + "peerDependencies": { + "@babel/core": "^7.4.0 || ^8.0.0-0 <8.0.0" + } + }, + "node_modules/babel-plugin-polyfill-regenerator": { + "version": "0.5.2", + "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-regenerator/-/babel-plugin-polyfill-regenerator-0.5.2.tgz", + "integrity": "sha512-tAlOptU0Xj34V1Y2PNTL4Y0FOJMDB6bZmoW39FeCQIhigGLkqu3Fj6uiXpxIf6Ij274ENdYx64y6Au+ZKlb1IA==", + "dev": true, + "dependencies": { + "@babel/helper-define-polyfill-provider": "^0.4.2" + }, + "peerDependencies": { + "@babel/core": "^7.4.0 || ^8.0.0-0 <8.0.0" + } + }, + "node_modules/bail": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/bail/-/bail-2.0.2.tgz", + "integrity": "sha512-0xO6mYd7JB2YesxDKplafRpsiOzPt9V02ddPCLbY1xYGPOX24NTyN50qnUxgCPcSoYMhKpAuBTjQoRZCAkUDRw==", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/balanced-match": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", + "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==", + "dev": true + }, + "node_modules/binary-extensions": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.2.0.tgz", + "integrity": "sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/brace-expansion": { + "version": "1.1.11", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", + "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", + "dev": true, + "dependencies": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "node_modules/braces": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", + "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", + "dev": true, + "dependencies": { + "fill-range": "^7.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/browser-stdout": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/browser-stdout/-/browser-stdout-1.3.1.tgz", + "integrity": "sha512-qhAVI1+Av2X7qelOfAIYwXONood6XlZE/fXaBSmW/T5SzLAmCgzi+eiWE7fUvbHaeNBQH13UftjpXxsfLkMpgw==", + "dev": true + }, + "node_modules/browserslist": { + "version": "4.21.11", + "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.21.11.tgz", + "integrity": "sha512-xn1UXOKUz7DjdGlg9RrUr0GGiWzI97UQJnugHtH0OLDfJB7jMgoIkYvRIEO1l9EeEERVqeqLYOcFBW9ldjypbQ==", + "dev": true, + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/browserslist" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/browserslist" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "dependencies": { + "caniuse-lite": "^1.0.30001538", + "electron-to-chromium": "^1.4.526", + "node-releases": "^2.0.13", + "update-browserslist-db": "^1.0.13" + }, + "bin": { + "browserslist": "cli.js" + }, + "engines": { + "node": "^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7" + } + }, + "node_modules/buffer-from": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.2.tgz", + "integrity": "sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==" + }, + "node_modules/caching-transform": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/caching-transform/-/caching-transform-4.0.0.tgz", + "integrity": "sha512-kpqOvwXnjjN44D89K5ccQC+RUrsy7jB/XLlRrx0D7/2HNcTPqzsb6XgYoErwko6QsV184CA2YgS1fxDiiDZMWA==", + "dev": true, + "dependencies": { + "hasha": "^5.0.0", + "make-dir": "^3.0.0", + "package-hash": "^4.0.0", + "write-file-atomic": "^3.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/caching-transform/node_modules/make-dir": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-3.1.0.tgz", + "integrity": "sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw==", + "dev": true, + "dependencies": { + "semver": "^6.0.0" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/call-bind": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.2.tgz", + "integrity": "sha512-7O+FbCihrB5WGbFYesctwmTKae6rOiIzmz1icreWJ+0aA7LJfuqhEso2T9ncpcFtzMQtzXf2QGGueWJGTYsqrA==", + "dependencies": { + "function-bind": "^1.1.1", + "get-intrinsic": "^1.0.2" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/callsites": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz", + "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/camelcase": { + "version": "5.3.1", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz", + "integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/caniuse-lite": { + "version": "1.0.30001539", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001539.tgz", + "integrity": "sha512-hfS5tE8bnNiNvEOEkm8HElUHroYwlqMMENEzELymy77+tJ6m+gA2krtHl5hxJaj71OlpC2cHZbdSMX1/YEqEkA==", + "dev": true, + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/browserslist" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/caniuse-lite" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ] + }, + "node_modules/caseless": { + "version": "0.12.0", + "resolved": "https://registry.npmjs.org/caseless/-/caseless-0.12.0.tgz", + "integrity": "sha512-4tYFyifaFfGacoiObjJegolkwSU4xQNGbVgUiNYVUxbQ2x2lUsFvY4hVgVzGiIe6WLOPqycWXA40l+PWsxthUw==" + }, + "node_modules/chai": { + "version": "4.3.8", + "resolved": "https://registry.npmjs.org/chai/-/chai-4.3.8.tgz", + "integrity": "sha512-vX4YvVVtxlfSZ2VecZgFUTU5qPCYsobVI2O9FmwEXBhDigYGQA6jRXCycIs1yJnnWbZ6/+a2zNIF5DfVCcJBFQ==", + "dev": true, + "dependencies": { + "assertion-error": "^1.1.0", + "check-error": "^1.0.2", + "deep-eql": "^4.1.2", + "get-func-name": "^2.0.0", + "loupe": "^2.3.1", + "pathval": "^1.1.1", + "type-detect": "^4.0.5" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/chalk": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", + "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", + "dev": true, + "dependencies": { + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/check-error": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/check-error/-/check-error-1.0.2.tgz", + "integrity": "sha512-BrgHpW9NURQgzoNyjfq0Wu6VFO6D7IZEmJNdtgNqpzGG8RuNFHt2jQxWlAs4HMe119chBnv+34syEZtc6IhLtA==", + "dev": true, + "engines": { + "node": "*" + } + }, + "node_modules/chokidar": { + "version": "3.5.3", + "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.5.3.tgz", + "integrity": "sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw==", + "dev": true, + "funding": [ + { + "type": "individual", + "url": "https://paulmillr.com/funding/" + } + ], + "dependencies": { + "anymatch": "~3.1.2", + "braces": "~3.0.2", + "glob-parent": "~5.1.2", + "is-binary-path": "~2.1.0", + "is-glob": "~4.0.1", + "normalize-path": "~3.0.0", + "readdirp": "~3.6.0" + }, + "engines": { + "node": ">= 8.10.0" + }, + "optionalDependencies": { + "fsevents": "~2.3.2" + } + }, + "node_modules/clean-stack": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/clean-stack/-/clean-stack-2.2.0.tgz", + "integrity": "sha512-4diC9HaTE+KRAMWhDhrGOECgWZxoevMc5TlkObMqNSsVU62PYzXZ/SMTjzyGAFF1YusgxGcSWTEXBhp0CPwQ1A==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/cli-cursor": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-4.0.0.tgz", + "integrity": "sha512-VGtlMu3x/4DOtIUwEkRezxUZ2lBacNJCHash0N0WeZDBS+7Ux1dm3XWAgWYxLJFMMdOeXMHXorshEFhbMSGelg==", + "dev": true, + "dependencies": { + "restore-cursor": "^4.0.0" + }, + "engines": { + "node": "^12.20.0 || ^14.13.1 || >=16.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/cli-truncate": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/cli-truncate/-/cli-truncate-3.1.0.tgz", + "integrity": "sha512-wfOBkjXteqSnI59oPcJkcPl/ZmwvMMOj340qUIY1SKZCv0B9Cf4D4fAucRkIKQmsIuYK3x1rrgU7MeGRruiuiA==", + "dev": true, + "dependencies": { + "slice-ansi": "^5.0.0", + "string-width": "^5.0.0" + }, + "engines": { + "node": "^12.20.0 || ^14.13.1 || >=16.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/cliui": { + "version": "7.0.4", + "resolved": "https://registry.npmjs.org/cliui/-/cliui-7.0.4.tgz", + "integrity": "sha512-OcRE68cOsVMXp1Yvonl/fzkQOyjLSu/8bhPDfQt0e0/Eb283TKP20Fs2MqoPsr9SwA595rRCA+QMzYc9nBP+JQ==", + "dev": true, + "dependencies": { + "string-width": "^4.2.0", + "strip-ansi": "^6.0.0", + "wrap-ansi": "^7.0.0" + } + }, + "node_modules/cliui/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/cliui/node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/cliui/node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true + }, + "node_modules/cliui/node_modules/emoji-regex": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", + "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", + "dev": true + }, + "node_modules/cliui/node_modules/is-fullwidth-code-point": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", + "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/cliui/node_modules/string-width": { + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", + "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", + "dev": true, + "dependencies": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/cliui/node_modules/wrap-ansi": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", + "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", + "dev": true, + "dependencies": { + "ansi-styles": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/wrap-ansi?sponsor=1" + } + }, + "node_modules/clone-deep": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/clone-deep/-/clone-deep-4.0.1.tgz", + "integrity": "sha512-neHB9xuzh/wk0dIHweyAXv2aPGZIVk3pLMe+/RNzINf17fe0OG96QroktYAUm7SM1PBnzTabaLboqqxDyMU+SQ==", + "dev": true, + "dependencies": { + "is-plain-object": "^2.0.4", + "kind-of": "^6.0.2", + "shallow-clone": "^3.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/color-convert": { + "version": "1.9.3", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", + "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", + "dev": true, + "dependencies": { + "color-name": "1.1.3" + } + }, + "node_modules/color-name": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", + "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==", + "dev": true + }, + "node_modules/colorette": { + "version": "2.0.20", + "resolved": "https://registry.npmjs.org/colorette/-/colorette-2.0.20.tgz", + "integrity": "sha512-IfEDxwoWIjkeXL1eXcDiow4UbKjhLdq6/EuSVR9GMN7KVH3r9gQ83e73hsz1Nd1T3ijd5xv1wcWRYO+D6kCI2w==", + "dev": true + }, + "node_modules/combined-stream": { + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz", + "integrity": "sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==", + "dependencies": { + "delayed-stream": "~1.0.0" + }, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/comma-separated-tokens": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/comma-separated-tokens/-/comma-separated-tokens-2.0.3.tgz", + "integrity": "sha512-Fu4hJdvzeylCfQPp9SGWidpzrMs7tTrlu6Vb8XGaRGck8QSNZJJp538Wrb60Lax4fPwR64ViY468OIUTbRlGZg==", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/commander": { + "version": "9.2.0", + "resolved": "https://registry.npmjs.org/commander/-/commander-9.2.0.tgz", + "integrity": "sha512-e2i4wANQiSXgnrBlIatyHtP1odfUp0BbV5Y5nEGbxtIrStkEOAAzCUirvLBNXHLr7kwLvJl6V+4V3XV9x7Wd9w==", + "engines": { + "node": "^12.20.0 || >=14" + } + }, + "node_modules/commondir": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/commondir/-/commondir-1.0.1.tgz", + "integrity": "sha512-W9pAhw0ja1Edb5GVdIF1mjZw/ASI0AlShXM83UUGe2DVr5TdAPEA1OA8m/g8zWp9x6On7gqufY+FatDbC3MDQg==", + "dev": true + }, + "node_modules/concat-map": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", + "integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==", + "dev": true + }, + "node_modules/concat-stream": { + "version": "1.6.2", + "resolved": "https://registry.npmjs.org/concat-stream/-/concat-stream-1.6.2.tgz", + "integrity": "sha512-27HBghJxjiZtIk3Ycvn/4kbJk/1uZuJFfuPEns6LaEvpvG1f0hTea8lilrouyo9mVc2GWdcEZ8OLoGmSADlrCw==", + "engines": [ + "node >= 0.8" + ], + "dependencies": { + "buffer-from": "^1.0.0", + "inherits": "^2.0.3", + "readable-stream": "^2.2.2", + "typedarray": "^0.0.6" + } + }, + "node_modules/convert-source-map": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-2.0.0.tgz", + "integrity": "sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==", + "dev": true + }, + "node_modules/core-js-compat": { + "version": "3.32.2", + "resolved": "https://registry.npmjs.org/core-js-compat/-/core-js-compat-3.32.2.tgz", + "integrity": "sha512-+GjlguTDINOijtVRUxrQOv3kfu9rl+qPNdX2LTbJ/ZyVTuxK+ksVSAGX1nHstu4hrv1En/uPTtWgq2gI5wt4AQ==", + "dev": true, + "dependencies": { + "browserslist": "^4.21.10" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/core-js" + } + }, + "node_modules/core-util-is": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.3.tgz", + "integrity": "sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ==" + }, + "node_modules/cross-spawn": { + "version": "7.0.3", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz", + "integrity": "sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==", + "dev": true, + "dependencies": { + "path-key": "^3.1.0", + "shebang-command": "^2.0.0", + "which": "^2.0.1" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/cssstyle": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/cssstyle/-/cssstyle-3.0.0.tgz", + "integrity": "sha512-N4u2ABATi3Qplzf0hWbVCdjenim8F3ojEXpBDF5hBpjzW182MjNGLqfmQ0SkSPeQ+V86ZXgeH8aXj6kayd4jgg==", + "dependencies": { + "rrweb-cssom": "^0.6.0" + }, + "engines": { + "node": ">=14" + } + }, + "node_modules/data-urls": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/data-urls/-/data-urls-4.0.0.tgz", + "integrity": "sha512-/mMTei/JXPqvFqQtfyTowxmJVwr2PVAeCcDxyFf6LhoOu/09TX2OX3kb2wzi4DMXcfj4OItwDOnhl5oziPnT6g==", + "dependencies": { + "abab": "^2.0.6", + "whatwg-mimetype": "^3.0.0", + "whatwg-url": "^12.0.0" + }, + "engines": { + "node": ">=14" + } + }, + "node_modules/debug": { + "version": "4.3.4", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", + "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", + "dependencies": { + "ms": "2.1.2" + }, + "engines": { + "node": ">=6.0" + }, + "peerDependenciesMeta": { + "supports-color": { + "optional": true + } + } + }, + "node_modules/decamelize": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-1.2.0.tgz", + "integrity": "sha512-z2S+W9X73hAUUki+N+9Za2lBlun89zigOyGrsax+KUQ6wKW4ZoWpEYBkGhQjwAjjDCkWxhY0VKEhk8wzY7F5cA==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/decimal.js": { + "version": "10.4.3", + "resolved": "https://registry.npmjs.org/decimal.js/-/decimal.js-10.4.3.tgz", + "integrity": "sha512-VBBaLc1MgL5XpzgIP7ny5Z6Nx3UrRkIViUkPUdtl9aya5amy3De1gsUUSB1g3+3sExYNjCAsAznmukyxCb1GRA==" + }, + "node_modules/deep-eql": { + "version": "4.1.3", + "resolved": "https://registry.npmjs.org/deep-eql/-/deep-eql-4.1.3.tgz", + "integrity": "sha512-WaEtAOpRA1MQ0eohqZjpGD8zdI0Ovsm8mmFhaDN8dvDZzyoUMcYDnf5Y6iu7HTXxf8JDS23qWa4a+hKCDyOPzw==", + "dev": true, + "dependencies": { + "type-detect": "^4.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/deep-is": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.4.tgz", + "integrity": "sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==", + "dev": true + }, + "node_modules/default-require-extensions": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/default-require-extensions/-/default-require-extensions-3.0.1.tgz", + "integrity": "sha512-eXTJmRbm2TIt9MgWTsOH1wEuhew6XGZcMeGKCtLedIg/NCsg1iBePXkceTdK4Fii7pzmN9tGsZhKzZ4h7O/fxw==", + "dev": true, + "dependencies": { + "strip-bom": "^4.0.0" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/delayed-stream": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz", + "integrity": "sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==", + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/dequal": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/dequal/-/dequal-2.0.3.tgz", + "integrity": "sha512-0je+qPKHEMohvfRTCEo3CrPG6cAzAYgmzKyxRiYSSDkS6eGJdyVJm7WaYA5ECaAD9wLB2T4EEeymA5aFVcYXCA==", + "engines": { + "node": ">=6" + } + }, + "node_modules/devlop": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/devlop/-/devlop-1.1.0.tgz", + "integrity": "sha512-RWmIqhcFf1lRYBvNmr7qTNuyCt/7/ns2jbpp1+PalgE/rDQcBT0fioSMUpJ93irlUhC5hrg4cYqe6U+0ImW0rA==", + "dependencies": { + "dequal": "^2.0.0" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/diff": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/diff/-/diff-5.0.0.tgz", + "integrity": "sha512-/VTCrvm5Z0JGty/BWHljh+BAiw3IK+2j87NGMu8Nwc/f48WoDAC395uomO9ZD117ZOBaHmkX1oyLvkVM/aIT3w==", + "dev": true, + "engines": { + "node": ">=0.3.1" + } + }, + "node_modules/doctrine": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-3.0.0.tgz", + "integrity": "sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==", + "dev": true, + "dependencies": { + "esutils": "^2.0.2" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/domexception": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/domexception/-/domexception-4.0.0.tgz", + "integrity": "sha512-A2is4PLG+eeSfoTMA95/s4pvAoSo2mKtiM5jlHkAVewmiO8ISFTFKZjH7UAM1Atli/OT/7JHOrJRJiMKUZKYBw==", + "dependencies": { + "webidl-conversions": "^7.0.0" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/eastasianwidth": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/eastasianwidth/-/eastasianwidth-0.2.0.tgz", + "integrity": "sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA==", + "dev": true + }, + "node_modules/electron-to-chromium": { + "version": "1.4.529", + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.529.tgz", + "integrity": "sha512-6uyPyXTo8lkv8SWAmjKFbG42U073TXlzD4R8rW3EzuznhFS2olCIAfjjQtV2dV2ar/vRF55KUd3zQYnCB0dd3A==", + "dev": true + }, + "node_modules/emoji-regex": { + "version": "9.2.2", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-9.2.2.tgz", + "integrity": "sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==", + "dev": true + }, + "node_modules/entities": { + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/entities/-/entities-4.5.0.tgz", + "integrity": "sha512-V0hjH4dGPh9Ao5p0MoRY6BVqtwCjhz6vI5LT8AJ55H+4g9/4vbHx1I54fS0XuclLhDHArPQCiMjDxjaL8fPxhw==", + "engines": { + "node": ">=0.12" + }, + "funding": { + "url": "https://github.com/fb55/entities?sponsor=1" + } + }, + "node_modules/es6-error": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/es6-error/-/es6-error-4.1.1.tgz", + "integrity": "sha512-Um/+FxMr9CISWh0bi5Zv0iOD+4cFh5qLeks1qhAopKVAJw3drgKbKySikp7wGhDL0HPeaja0P5ULZrxLkniUVg==", + "dev": true + }, + "node_modules/escalade": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.1.tgz", + "integrity": "sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/escape-string-regexp": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", + "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==", + "dev": true, + "engines": { + "node": ">=0.8.0" + } + }, + "node_modules/escape-typst": { + "resolved": "escape-typst", + "link": true + }, + "node_modules/eslint": { + "version": "8.50.0", + "resolved": "https://registry.npmjs.org/eslint/-/eslint-8.50.0.tgz", + "integrity": "sha512-FOnOGSuFuFLv/Sa+FDVRZl4GGVAAFFi8LecRsI5a1tMO5HIE8nCm4ivAlzt4dT3ol/PaaGC0rJEEXQmHJBGoOg==", + "dev": true, + "dependencies": { + "@eslint-community/eslint-utils": "^4.2.0", + "@eslint-community/regexpp": "^4.6.1", + "@eslint/eslintrc": "^2.1.2", + "@eslint/js": "8.50.0", + "@humanwhocodes/config-array": "^0.11.11", + "@humanwhocodes/module-importer": "^1.0.1", + "@nodelib/fs.walk": "^1.2.8", + "ajv": "^6.12.4", + "chalk": "^4.0.0", + "cross-spawn": "^7.0.2", + "debug": "^4.3.2", + "doctrine": "^3.0.0", + "escape-string-regexp": "^4.0.0", + "eslint-scope": "^7.2.2", + "eslint-visitor-keys": "^3.4.3", + "espree": "^9.6.1", + "esquery": "^1.4.2", + "esutils": "^2.0.2", + "fast-deep-equal": "^3.1.3", + "file-entry-cache": "^6.0.1", + "find-up": "^5.0.0", + "glob-parent": "^6.0.2", + "globals": "^13.19.0", + "graphemer": "^1.4.0", + "ignore": "^5.2.0", + "imurmurhash": "^0.1.4", + "is-glob": "^4.0.0", + "is-path-inside": "^3.0.3", + "js-yaml": "^4.1.0", + "json-stable-stringify-without-jsonify": "^1.0.1", + "levn": "^0.4.1", + "lodash.merge": "^4.6.2", + "minimatch": "^3.1.2", + "natural-compare": "^1.4.0", + "optionator": "^0.9.3", + "strip-ansi": "^6.0.1", + "text-table": "^0.2.0" + }, + "bin": { + "eslint": "bin/eslint.js" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" + } + }, + "node_modules/eslint-config-google": { + "version": "0.14.0", + "resolved": "https://registry.npmjs.org/eslint-config-google/-/eslint-config-google-0.14.0.tgz", + "integrity": "sha512-WsbX4WbjuMvTdeVL6+J3rK1RGhCTqjsFjX7UMSMgZiyxxaNLkoJENbrGExzERFeoTpGw3F3FypTiWAP9ZXzkEw==", + "dev": true, + "engines": { + "node": ">=0.10.0" + }, + "peerDependencies": { + "eslint": ">=5.16.0" + } + }, + "node_modules/eslint-config-prettier": { + "version": "8.10.0", + "resolved": "https://registry.npmjs.org/eslint-config-prettier/-/eslint-config-prettier-8.10.0.tgz", + "integrity": "sha512-SM8AMJdeQqRYT9O9zguiruQZaN7+z+E4eAP9oiLNGKMtomwaB1E9dcgUD6ZAn/eQAb52USbvezbiljfZUhbJcg==", + "dev": true, + "bin": { + "eslint-config-prettier": "bin/cli.js" + }, + "peerDependencies": { + "eslint": ">=7.0.0" + } + }, + "node_modules/eslint-scope": { + "version": "7.2.2", + "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-7.2.2.tgz", + "integrity": "sha512-dOt21O7lTMhDM+X9mB4GX+DZrZtCUJPL/wlcTqxyrx5IvO0IYtILdtrQGQp+8n5S0gwSVmOf9NQrjMOgfQZlIg==", + "dev": true, + "dependencies": { + "esrecurse": "^4.3.0", + "estraverse": "^5.2.0" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" + } + }, + "node_modules/eslint-visitor-keys": { + "version": "3.4.3", + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.4.3.tgz", + "integrity": "sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag==", + "dev": true, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" + } + }, + "node_modules/eslint/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/eslint/node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dev": true, + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/eslint/node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/eslint/node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true + }, + "node_modules/eslint/node_modules/escape-string-regexp": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz", + "integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==", + "dev": true, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/eslint/node_modules/glob-parent": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-6.0.2.tgz", + "integrity": "sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==", + "dev": true, + "dependencies": { + "is-glob": "^4.0.3" + }, + "engines": { + "node": ">=10.13.0" + } + }, + "node_modules/eslint/node_modules/globals": { + "version": "13.22.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-13.22.0.tgz", + "integrity": "sha512-H1Ddc/PbZHTDVJSnj8kWptIRSD6AM3pK+mKytuIVF4uoBV7rshFlhhvA58ceJ5wp3Er58w6zj7bykMpYXt3ETw==", + "dev": true, + "dependencies": { + "type-fest": "^0.20.2" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/eslint/node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/eslint/node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dev": true, + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/eslint/node_modules/type-fest": { + "version": "0.20.2", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.20.2.tgz", + "integrity": "sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==", + "dev": true, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/esm": { + "version": "3.2.25", + "resolved": "https://registry.npmjs.org/esm/-/esm-3.2.25.tgz", + "integrity": "sha512-U1suiZ2oDVWv4zPO56S0NcR5QriEahGtdN2OR6FiOG4WJvcjBVFB0qI4+eKoWFH483PKGuLuu6V8Z4T5g63UVA==", + "engines": { + "node": ">=6" + } + }, + "node_modules/espree": { + "version": "9.6.1", + "resolved": "https://registry.npmjs.org/espree/-/espree-9.6.1.tgz", + "integrity": "sha512-oruZaFkjorTpF32kDSI5/75ViwGeZginGGy2NoOSg3Q9bnwlnmDm4HLnkl0RE3n+njDXR037aY1+x58Z/zFdwQ==", + "dev": true, + "dependencies": { + "acorn": "^8.9.0", + "acorn-jsx": "^5.3.2", + "eslint-visitor-keys": "^3.4.1" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" + } + }, + "node_modules/esprima": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz", + "integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==", + "dev": true, + "bin": { + "esparse": "bin/esparse.js", + "esvalidate": "bin/esvalidate.js" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/esquery": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.5.0.tgz", + "integrity": "sha512-YQLXUplAwJgCydQ78IMJywZCceoqk1oH01OERdSAJc/7U2AylwjhSCLDEtqwg811idIS/9fIU5GjG73IgjKMVg==", + "dev": true, + "dependencies": { + "estraverse": "^5.1.0" + }, + "engines": { + "node": ">=0.10" + } + }, + "node_modules/esrecurse": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.3.0.tgz", + "integrity": "sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==", + "dev": true, + "dependencies": { + "estraverse": "^5.2.0" + }, + "engines": { + "node": ">=4.0" + } + }, + "node_modules/estraverse": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", + "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", + "dev": true, + "engines": { + "node": ">=4.0" + } + }, + "node_modules/esutils": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz", + "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/eventemitter3": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/eventemitter3/-/eventemitter3-5.0.1.tgz", + "integrity": "sha512-GWkBvjiSZK87ELrYOSESUYeVIc9mvLLf/nXalMOS5dYrgZq9o5OVkbZAVM06CVxYsCwH9BDZFPlQTlPA1j4ahA==", + "dev": true + }, + "node_modules/execa": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/execa/-/execa-7.2.0.tgz", + "integrity": "sha512-UduyVP7TLB5IcAQl+OzLyLcS/l32W/GLg+AhHJ+ow40FOk2U3SAllPwR44v4vmdFwIWqpdwxxpQbF1n5ta9seA==", + "dev": true, + "dependencies": { + "cross-spawn": "^7.0.3", + "get-stream": "^6.0.1", + "human-signals": "^4.3.0", + "is-stream": "^3.0.0", + "merge-stream": "^2.0.0", + "npm-run-path": "^5.1.0", + "onetime": "^6.0.0", + "signal-exit": "^3.0.7", + "strip-final-newline": "^3.0.0" + }, + "engines": { + "node": "^14.18.0 || ^16.14.0 || >=18.0.0" + }, + "funding": { + "url": "https://github.com/sindresorhus/execa?sponsor=1" + } + }, + "node_modules/extend": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/extend/-/extend-3.0.2.tgz", + "integrity": "sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==" + }, + "node_modules/fast-deep-equal": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", + "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==", + "dev": true + }, + "node_modules/fast-json-stable-stringify": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz", + "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==", + "dev": true + }, + "node_modules/fast-levenshtein": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz", + "integrity": "sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==", + "dev": true + }, + "node_modules/fastq": { + "version": "1.15.0", + "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.15.0.tgz", + "integrity": "sha512-wBrocU2LCXXa+lWBt8RoIRD89Fi8OdABODa/kEnyeyjS5aZO5/GNvI5sEINADqP/h8M29UHTHUb53sUu5Ihqdw==", + "dev": true, + "dependencies": { + "reusify": "^1.0.4" + } + }, + "node_modules/file-entry-cache": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-6.0.1.tgz", + "integrity": "sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg==", + "dev": true, + "dependencies": { + "flat-cache": "^3.0.4" + }, + "engines": { + "node": "^10.12.0 || >=12.0.0" + } + }, + "node_modules/fill-range": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz", + "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==", + "dev": true, + "dependencies": { + "to-regex-range": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/find-cache-dir": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/find-cache-dir/-/find-cache-dir-2.1.0.tgz", + "integrity": "sha512-Tq6PixE0w/VMFfCgbONnkiQIVol/JJL7nRMi20fqzA4NRs9AfeqMGeRdPi3wIhYkxjeBaWh2rxwapn5Tu3IqOQ==", + "dev": true, + "dependencies": { + "commondir": "^1.0.1", + "make-dir": "^2.0.0", + "pkg-dir": "^3.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/find-up": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-5.0.0.tgz", + "integrity": "sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==", + "dev": true, + "dependencies": { + "locate-path": "^6.0.0", + "path-exists": "^4.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/flat": { + "version": "5.0.2", + "resolved": "https://registry.npmjs.org/flat/-/flat-5.0.2.tgz", + "integrity": "sha512-b6suED+5/3rTpUBdG1gupIl8MPFCAMA0QXwmljLhvCUKcUvdE4gWky9zpuGCcXHOsz4J9wPGNWq6OKpmIzz3hQ==", + "dev": true, + "bin": { + "flat": "cli.js" + } + }, + "node_modules/flat-cache": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-3.1.0.tgz", + "integrity": "sha512-OHx4Qwrrt0E4jEIcI5/Xb+f+QmJYNj2rrK8wiIdQOIrB9WrrJL8cjZvXdXuBTkkEwEqLycb5BeZDV1o2i9bTew==", + "dev": true, + "dependencies": { + "flatted": "^3.2.7", + "keyv": "^4.5.3", + "rimraf": "^3.0.2" + }, + "engines": { + "node": ">=12.0.0" + } + }, + "node_modules/flat-cache/node_modules/rimraf": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", + "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", + "dev": true, + "dependencies": { + "glob": "^7.1.3" + }, + "bin": { + "rimraf": "bin.js" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/flatted": { + "version": "3.2.9", + "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.2.9.tgz", + "integrity": "sha512-36yxDn5H7OFZQla0/jFJmbIKTdZAQHngCedGxiMmpNfEZM0sdEeT+WczLQrjK6D7o2aiyLYDnkw0R3JK0Qv1RQ==", + "dev": true + }, + "node_modules/foreground-child": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/foreground-child/-/foreground-child-2.0.0.tgz", + "integrity": "sha512-dCIq9FpEcyQyXKCkyzmlPTFNgrCzPudOe+mhvJU5zAtlBnGVy2yKxtfsxK2tQBThwq225jcvBjpw1Gr40uzZCA==", + "dev": true, + "dependencies": { + "cross-spawn": "^7.0.0", + "signal-exit": "^3.0.2" + }, + "engines": { + "node": ">=8.0.0" + } + }, + "node_modules/form-data": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/form-data/-/form-data-4.0.0.tgz", + "integrity": "sha512-ETEklSGi5t0QMZuiXoA/Q6vcnxcLQP5vdugSpuAyi6SVGi2clPPp+xgEhuMaHC+zGgn31Kd235W35f7Hykkaww==", + "dependencies": { + "asynckit": "^0.4.0", + "combined-stream": "^1.0.8", + "mime-types": "^2.1.12" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/fromentries": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/fromentries/-/fromentries-1.3.2.tgz", + "integrity": "sha512-cHEpEQHUg0f8XdtZCc2ZAhrHzKzT0MrFUTcvx+hfxYu7rGMDc5SKoXFh+n4YigxsHXRzc6OrCshdR1bWH6HHyg==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ] + }, + "node_modules/fs-readdir-recursive": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/fs-readdir-recursive/-/fs-readdir-recursive-1.1.0.tgz", + "integrity": "sha512-GNanXlVr2pf02+sPN40XN8HG+ePaNcvM0q5mZBd668Obwb0yD5GiUbZOFgwn8kGMY6I3mdyDJzieUy3PTYyTRA==", + "dev": true + }, + "node_modules/fs.realpath": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", + "integrity": "sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==", + "dev": true + }, + "node_modules/fsevents": { + "version": "2.3.3", + "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.3.tgz", + "integrity": "sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==", + "dev": true, + "hasInstallScript": true, + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": "^8.16.0 || ^10.6.0 || >=11.0.0" + } + }, + "node_modules/function-bind": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz", + "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==" + }, + "node_modules/gensync": { + "version": "1.0.0-beta.2", + "resolved": "https://registry.npmjs.org/gensync/-/gensync-1.0.0-beta.2.tgz", + "integrity": "sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==", + "dev": true, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/get-caller-file": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz", + "integrity": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==", + "dev": true, + "engines": { + "node": "6.* || 8.* || >= 10.*" + } + }, + "node_modules/get-func-name": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/get-func-name/-/get-func-name-2.0.0.tgz", + "integrity": "sha512-Hm0ixYtaSZ/V7C8FJrtZIuBBI+iSgL+1Aq82zSu8VQNB4S3Gk8e7Qs3VwBDJAhmRZcFqkl3tQu36g/Foh5I5ig==", + "dev": true, + "engines": { + "node": "*" + } + }, + "node_modules/get-intrinsic": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.2.1.tgz", + "integrity": "sha512-2DcsyfABl+gVHEfCOaTrWgyt+tb6MSEGmKq+kI5HwLbIYgjgmMcV8KQ41uaKz1xxUcn9tJtgFbQUEVcEbd0FYw==", + "dependencies": { + "function-bind": "^1.1.1", + "has": "^1.0.3", + "has-proto": "^1.0.1", + "has-symbols": "^1.0.3" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/get-package-type": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/get-package-type/-/get-package-type-0.1.0.tgz", + "integrity": "sha512-pjzuKtY64GYfWizNAJ0fr9VqttZkNiK2iS430LtIHzjBEr6bX8Am2zm4sW4Ro5wjWW5cAlRL1qAMTcXbjNAO2Q==", + "dev": true, + "engines": { + "node": ">=8.0.0" + } + }, + "node_modules/get-port": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/get-port/-/get-port-3.2.0.tgz", + "integrity": "sha512-x5UJKlgeUiNT8nyo/AcnwLnZuZNcSjSw0kogRB+Whd1fjjFq4B1hySFxSFWWSn4mIBzg3sRNUDFYc4g5gjPoLg==", + "engines": { + "node": ">=4" + } + }, + "node_modules/get-stream": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-6.0.1.tgz", + "integrity": "sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg==", + "dev": true, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/glob": { + "version": "7.2.3", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", + "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", + "dev": true, + "dependencies": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.1.1", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + }, + "engines": { + "node": "*" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/glob-parent": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", + "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", + "dev": true, + "dependencies": { + "is-glob": "^4.0.1" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/globals": { + "version": "11.12.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-11.12.0.tgz", + "integrity": "sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/graceful-fs": { + "version": "4.2.11", + "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.11.tgz", + "integrity": "sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==", + "dev": true + }, + "node_modules/graphemer": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/graphemer/-/graphemer-1.4.0.tgz", + "integrity": "sha512-EtKwoO6kxCL9WO5xipiHTZlSzBm7WLT627TqC/uVRd0HKmq8NXyebnNYxDoBi7wt8eTWrUrKXCOVaFq9x1kgag==", + "dev": true + }, + "node_modules/has": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz", + "integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==", + "dependencies": { + "function-bind": "^1.1.1" + }, + "engines": { + "node": ">= 0.4.0" + } + }, + "node_modules/has-flag": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", + "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/has-proto": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/has-proto/-/has-proto-1.0.1.tgz", + "integrity": "sha512-7qE+iP+O+bgF9clE5+UoBFzE65mlBiVj3tKCrlNQ0Ogwm0BjpT/gK4SlLYDMybDh5I3TCTKnPPa0oMG7JDYrhg==", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/has-symbols": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.3.tgz", + "integrity": "sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A==", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/hasha": { + "version": "5.2.2", + "resolved": "https://registry.npmjs.org/hasha/-/hasha-5.2.2.tgz", + "integrity": "sha512-Hrp5vIK/xr5SkeN2onO32H0MgNZ0f17HRNH39WfL0SYUNOTZ5Lz1TJ8Pajo/87dYGEFlLMm7mIc/k/s6Bvz9HQ==", + "dev": true, + "dependencies": { + "is-stream": "^2.0.0", + "type-fest": "^0.8.0" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/hasha/node_modules/is-stream": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-2.0.1.tgz", + "integrity": "sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==", + "dev": true, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/hasha/node_modules/type-fest": { + "version": "0.8.1", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.8.1.tgz", + "integrity": "sha512-4dbzIzqvjtgiM5rw1k5rEHtBANKmdudhGyBEajN01fEyhaAIhsoKNy6y7+IN93IfpFtwY9iqi7kD+xwKhQsNJA==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/hast-util-from-dom": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/hast-util-from-dom/-/hast-util-from-dom-5.0.0.tgz", + "integrity": "sha512-d6235voAp/XR3Hh5uy7aGLbM3S4KamdW0WEgOaU1YoewnuYw4HXb5eRtv9g65m/RFGEfUY1Mw4UqCc5Y8L4Stg==", + "dependencies": { + "@types/hast": "^3.0.0", + "hastscript": "^8.0.0", + "web-namespaces": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/hast-util-is-element": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/hast-util-is-element/-/hast-util-is-element-3.0.0.tgz", + "integrity": "sha512-Val9mnv2IWpLbNPqc/pUem+a7Ipj2aHacCwgNfTiK0vJKl0LF+4Ba4+v1oPHFpf3bLYmreq0/l3Gud9S5OH42g==", + "dependencies": { + "@types/hast": "^3.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/hast-util-parse-selector": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/hast-util-parse-selector/-/hast-util-parse-selector-4.0.0.tgz", + "integrity": "sha512-wkQCkSYoOGCRKERFWcxMVMOcYE2K1AaNLU8DXS9arxnLOUEWbOXKXiJUNzEpqZ3JOKpnha3jkFrumEjVliDe7A==", + "dependencies": { + "@types/hast": "^3.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/hast-util-to-text": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/hast-util-to-text/-/hast-util-to-text-4.0.0.tgz", + "integrity": "sha512-EWiE1FSArNBPUo1cKWtzqgnuRQwEeQbQtnFJRYV1hb1BWDgrAlBU0ExptvZMM/KSA82cDpm2sFGf3Dmc5Mza3w==", + "dependencies": { + "@types/hast": "^3.0.0", + "@types/unist": "^3.0.0", + "hast-util-is-element": "^3.0.0", + "unist-util-find-after": "^5.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/hastscript": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/hastscript/-/hastscript-8.0.0.tgz", + "integrity": "sha512-dMOtzCEd3ABUeSIISmrETiKuyydk1w0pa+gE/uormcTpSYuaNJPbX1NU3JLyscSLjwAQM8bWMhhIlnCqnRvDTw==", + "dependencies": { + "@types/hast": "^3.0.0", + "comma-separated-tokens": "^2.0.0", + "hast-util-parse-selector": "^4.0.0", + "property-information": "^6.0.0", + "space-separated-tokens": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/he": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/he/-/he-1.2.0.tgz", + "integrity": "sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw==", + "dev": true, + "bin": { + "he": "bin/he" + } + }, + "node_modules/html-encoding-sniffer": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/html-encoding-sniffer/-/html-encoding-sniffer-3.0.0.tgz", + "integrity": "sha512-oWv4T4yJ52iKrufjnyZPkrN0CH3QnrUqdB6In1g5Fe1mia8GmF36gnfNySxoZtxD5+NmYw1EElVXiBk93UeskA==", + "dependencies": { + "whatwg-encoding": "^2.0.0" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/html-escaper": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/html-escaper/-/html-escaper-2.0.2.tgz", + "integrity": "sha512-H2iMtd0I4Mt5eYiapRdIDjp+XzelXQ0tFE4JS7YFwFevXXMmOp9myNrUvCg0D6ws8iqkRPBfKHgbwig1SmlLfg==", + "dev": true + }, + "node_modules/http-basic": { + "version": "8.1.3", + "resolved": "https://registry.npmjs.org/http-basic/-/http-basic-8.1.3.tgz", + "integrity": "sha512-/EcDMwJZh3mABI2NhGfHOGOeOZITqfkEO4p/xK+l3NpyncIHUQBoMvCSF/b5GqvKtySC2srL/GGG3+EtlqlmCw==", + "dependencies": { + "caseless": "^0.12.0", + "concat-stream": "^1.6.2", + "http-response-object": "^3.0.1", + "parse-cache-control": "^1.0.1" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/http-proxy-agent": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/http-proxy-agent/-/http-proxy-agent-5.0.0.tgz", + "integrity": "sha512-n2hY8YdoRE1i7r6M0w9DIw5GgZN0G25P8zLCRQ8rjXtTU3vsNFBI/vWK/UIeE6g5MUUz6avwAPXmL6Fy9D/90w==", + "dependencies": { + "@tootallnate/once": "2", + "agent-base": "6", + "debug": "4" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/http-response-object": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/http-response-object/-/http-response-object-3.0.2.tgz", + "integrity": "sha512-bqX0XTF6fnXSQcEJ2Iuyr75yVakyjIDCqroJQ/aHfSdlM743Cwqoi2nDYMzLGWUcuTWGWy8AAvOKXTfiv6q9RA==", + "dependencies": { + "@types/node": "^10.0.3" + } + }, + "node_modules/http-response-object/node_modules/@types/node": { + "version": "10.17.60", + "resolved": "https://registry.npmjs.org/@types/node/-/node-10.17.60.tgz", + "integrity": "sha512-F0KIgDJfy2nA3zMLmWGKxcH2ZVEtCZXHHdOQs2gSaQ27+lNeEfGxzkIw90aXswATX7AZ33tahPbzy6KAfUreVw==" + }, + "node_modules/https-proxy-agent": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-5.0.1.tgz", + "integrity": "sha512-dFcAjpTQFgoLMzC2VwU+C/CbS7uRL0lWmxDITmqm7C+7F0Odmj6s9l6alZc6AELXhrnggM2CeWSXHGOdX2YtwA==", + "dependencies": { + "agent-base": "6", + "debug": "4" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/human-signals": { + "version": "4.3.1", + "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-4.3.1.tgz", + "integrity": "sha512-nZXjEF2nbo7lIw3mgYjItAfgQXog3OjJogSbKa2CQIIvSGWcKgeJnQlNXip6NglNzYH45nSRiEVimMvYL8DDqQ==", + "dev": true, + "engines": { + "node": ">=14.18.0" + } + }, + "node_modules/husky": { + "version": "8.0.3", + "resolved": "https://registry.npmjs.org/husky/-/husky-8.0.3.tgz", + "integrity": "sha512-+dQSyqPh4x1hlO1swXBiNb2HzTDN1I2IGLQx1GrBuiqFJfoMrnZWwVmatvSiO+Iz8fBUnf+lekwNo4c2LlXItg==", + "dev": true, + "bin": { + "husky": "lib/bin.js" + }, + "engines": { + "node": ">=14" + }, + "funding": { + "url": "https://github.com/sponsors/typicode" + } + }, + "node_modules/iconv-lite": { + "version": "0.6.3", + "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.6.3.tgz", + "integrity": "sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw==", + "dependencies": { + "safer-buffer": ">= 2.1.2 < 3.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/ignore": { + "version": "5.2.4", + "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.2.4.tgz", + "integrity": "sha512-MAb38BcSbH0eHNBxn7ql2NH/kX33OkB3lZ1BNdh7ENeRChHTYsTvWrMubiIAMNS2llXEEgZ1MUOBtXChP3kaFQ==", + "dev": true, + "engines": { + "node": ">= 4" + } + }, + "node_modules/import-fresh": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.0.tgz", + "integrity": "sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==", + "dev": true, + "dependencies": { + "parent-module": "^1.0.0", + "resolve-from": "^4.0.0" + }, + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/imurmurhash": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz", + "integrity": "sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==", + "dev": true, + "engines": { + "node": ">=0.8.19" + } + }, + "node_modules/indent-string": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/indent-string/-/indent-string-4.0.0.tgz", + "integrity": "sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/inflight": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", + "integrity": "sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==", + "dev": true, + "dependencies": { + "once": "^1.3.0", + "wrappy": "1" + } + }, + "node_modules/inherits": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", + "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==" + }, + "node_modules/is-binary-path": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz", + "integrity": "sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==", + "dev": true, + "dependencies": { + "binary-extensions": "^2.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/is-buffer": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-2.0.5.tgz", + "integrity": "sha512-i2R6zNFDwgEHJyQUtJEk0XFi1i0dPFn/oqjK3/vPCcDeJvW5NQ83V8QbicfF1SupOaB0h8ntgBC2YiE7dfyctQ==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "engines": { + "node": ">=4" + } + }, + "node_modules/is-core-module": { + "version": "2.13.0", + "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.13.0.tgz", + "integrity": "sha512-Z7dk6Qo8pOCp3l4tsX2C5ZVas4V+UxwQodwZhLopL91TX8UyyHEXafPcyoeeWuLrwzHcr3igO78wNLwHJHsMCQ==", + "dev": true, + "dependencies": { + "has": "^1.0.3" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-extglob": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", + "integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-fullwidth-code-point": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-4.0.0.tgz", + "integrity": "sha512-O4L094N2/dZ7xqVdrXhh9r1KODPJpFms8B5sGdJLPy664AgvXsreZUyCQQNItZRDlYug4xStLjNp/sz3HvBowQ==", + "dev": true, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/is-glob": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz", + "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==", + "dev": true, + "dependencies": { + "is-extglob": "^2.1.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-number": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", + "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", + "dev": true, + "engines": { + "node": ">=0.12.0" + } + }, + "node_modules/is-path-inside": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/is-path-inside/-/is-path-inside-3.0.3.tgz", + "integrity": "sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/is-plain-obj": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-4.1.0.tgz", + "integrity": "sha512-+Pgi+vMuUNkJyExiMBt5IlFoMyKnr5zhJ4Uspz58WOhBF5QoIZkFyNHIbBAtHwzVAgk5RtndVNsDRN61/mmDqg==", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/is-plain-object": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-2.0.4.tgz", + "integrity": "sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==", + "dev": true, + "dependencies": { + "isobject": "^3.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-potential-custom-element-name": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-potential-custom-element-name/-/is-potential-custom-element-name-1.0.1.tgz", + "integrity": "sha512-bCYeRA2rVibKZd+s2625gGnGF/t7DSqDs4dP7CrLA1m7jKWz6pps0LpYLJN8Q64HtmPKJ1hrN3nzPNKFEKOUiQ==" + }, + "node_modules/is-stream": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-3.0.0.tgz", + "integrity": "sha512-LnQR4bZ9IADDRSkvpqMGvt/tEJWclzklNgSw48V5EAaAeDd6qGvN8ei6k5p0tvxSR171VmGyHuTiAOfxAbr8kA==", + "dev": true, + "engines": { + "node": "^12.20.0 || ^14.13.1 || >=16.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/is-typedarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz", + "integrity": "sha512-cyA56iCMHAh5CdzjJIa4aohJyeO1YbwLi3Jc35MmRU6poroFjIGZzUzupGiRPOjgHg9TLu43xbpwXk523fMxKA==", + "dev": true + }, + "node_modules/is-unicode-supported": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/is-unicode-supported/-/is-unicode-supported-0.1.0.tgz", + "integrity": "sha512-knxG2q4UC3u8stRGyAVJCOdxFmv5DZiRcdlIaAQXAbSfJya+OhopNotLQrstBhququ4ZpuKbDc/8S6mgXgPFPw==", + "dev": true, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/is-windows": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-windows/-/is-windows-1.0.2.tgz", + "integrity": "sha512-eXK1UInq2bPmjyX6e3VHIzMLobc4J94i4AWn+Hpq3OU5KkrRC96OAcR3PRJ/pGu6m8TRnBHP9dkXQVsT/COVIA==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/isarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", + "integrity": "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==" + }, + "node_modules/isexe": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", + "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==", + "dev": true + }, + "node_modules/isobject": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", + "integrity": "sha512-WhB9zCku7EGTj/HQQRz5aUQEUeoQZH2bWcltRErOpymJ4boYE6wL9Tbr23krRPSZ+C5zqNSrSw+Cc7sZZ4b7vg==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/istanbul-lib-coverage": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/istanbul-lib-coverage/-/istanbul-lib-coverage-3.2.0.tgz", + "integrity": "sha512-eOeJ5BHCmHYvQK7xt9GkdHuzuCGS1Y6g9Gvnx3Ym33fz/HpLRYxiS0wHNr+m/MBC8B647Xt608vCDEvhl9c6Mw==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/istanbul-lib-hook": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/istanbul-lib-hook/-/istanbul-lib-hook-3.0.0.tgz", + "integrity": "sha512-Pt/uge1Q9s+5VAZ+pCo16TYMWPBIl+oaNIjgLQxcX0itS6ueeaA+pEfThZpH8WxhFgCiEb8sAJY6MdUKgiIWaQ==", + "dev": true, + "dependencies": { + "append-transform": "^2.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/istanbul-lib-instrument": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/istanbul-lib-instrument/-/istanbul-lib-instrument-4.0.3.tgz", + "integrity": "sha512-BXgQl9kf4WTCPCCpmFGoJkz/+uhvm7h7PFKUYxh7qarQd3ER33vHG//qaE8eN25l07YqZPpHXU9I09l/RD5aGQ==", + "dev": true, + "dependencies": { + "@babel/core": "^7.7.5", + "@istanbuljs/schema": "^0.1.2", + "istanbul-lib-coverage": "^3.0.0", + "semver": "^6.3.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/istanbul-lib-processinfo": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/istanbul-lib-processinfo/-/istanbul-lib-processinfo-2.0.3.tgz", + "integrity": "sha512-NkwHbo3E00oybX6NGJi6ar0B29vxyvNwoC7eJ4G4Yq28UfY758Hgn/heV8VRFhevPED4LXfFz0DQ8z/0kw9zMg==", + "dev": true, + "dependencies": { + "archy": "^1.0.0", + "cross-spawn": "^7.0.3", + "istanbul-lib-coverage": "^3.2.0", + "p-map": "^3.0.0", + "rimraf": "^3.0.0", + "uuid": "^8.3.2" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/istanbul-lib-processinfo/node_modules/rimraf": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", + "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", + "dev": true, + "dependencies": { + "glob": "^7.1.3" + }, + "bin": { + "rimraf": "bin.js" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/istanbul-lib-report": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/istanbul-lib-report/-/istanbul-lib-report-3.0.1.tgz", + "integrity": "sha512-GCfE1mtsHGOELCU8e/Z7YWzpmybrx/+dSTfLrvY8qRmaY6zXTKWn6WQIjaAFw069icm6GVMNkgu0NzI4iPZUNw==", + "dev": true, + "dependencies": { + "istanbul-lib-coverage": "^3.0.0", + "make-dir": "^4.0.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/istanbul-lib-report/node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/istanbul-lib-report/node_modules/lru-cache": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", + "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", + "dev": true, + "dependencies": { + "yallist": "^4.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/istanbul-lib-report/node_modules/make-dir": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-4.0.0.tgz", + "integrity": "sha512-hXdUTZYIVOt1Ex//jAQi+wTZZpUpwBj/0QsOzqegb3rGMMeJiSEu5xLHnYfBrRV4RH2+OCSOO95Is/7x1WJ4bw==", + "dev": true, + "dependencies": { + "semver": "^7.5.3" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/istanbul-lib-report/node_modules/semver": { + "version": "7.5.4", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.5.4.tgz", + "integrity": "sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA==", + "dev": true, + "dependencies": { + "lru-cache": "^6.0.0" + }, + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/istanbul-lib-report/node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dev": true, + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/istanbul-lib-report/node_modules/yallist": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", + "dev": true + }, + "node_modules/istanbul-lib-source-maps": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/istanbul-lib-source-maps/-/istanbul-lib-source-maps-4.0.1.tgz", + "integrity": "sha512-n3s8EwkdFIJCG3BPKBYvskgXGoy88ARzvegkitk60NxRdwltLOTaH7CUiMRXvwYorl0Q712iEjcWB+fK/MrWVw==", + "dev": true, + "dependencies": { + "debug": "^4.1.1", + "istanbul-lib-coverage": "^3.0.0", + "source-map": "^0.6.1" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/istanbul-reports": { + "version": "3.1.6", + "resolved": "https://registry.npmjs.org/istanbul-reports/-/istanbul-reports-3.1.6.tgz", + "integrity": "sha512-TLgnMkKg3iTDsQ9PbPTdpfAK2DzjF9mqUG7RMgcQl8oFjad8ob4laGxv5XV5U9MAfx8D6tSJiUyuAwzLicaxlg==", + "dev": true, + "dependencies": { + "html-escaper": "^2.0.0", + "istanbul-lib-report": "^3.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/jackspeak": { + "version": "2.3.5", + "resolved": "https://registry.npmjs.org/jackspeak/-/jackspeak-2.3.5.tgz", + "integrity": "sha512-Ratx+B8WeXLAtRJn26hrhY8S1+Jz6pxPMrkrdkgb/NstTNiqMhX0/oFVu5wX+g5n6JlEu2LPsDJmY8nRP4+alw==", + "dev": true, + "dependencies": { + "@isaacs/cliui": "^8.0.2" + }, + "engines": { + "node": ">=14" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + }, + "optionalDependencies": { + "@pkgjs/parseargs": "^0.11.0" + } + }, + "node_modules/js-tokens": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", + "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==", + "dev": true + }, + "node_modules/js-yaml": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz", + "integrity": "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==", + "dev": true, + "dependencies": { + "argparse": "^2.0.1" + }, + "bin": { + "js-yaml": "bin/js-yaml.js" + } + }, + "node_modules/jsdom": { + "version": "22.1.0", + "resolved": "https://registry.npmjs.org/jsdom/-/jsdom-22.1.0.tgz", + "integrity": "sha512-/9AVW7xNbsBv6GfWho4TTNjEo9fe6Zhf9O7s0Fhhr3u+awPwAJMKwAMXnkk5vBxflqLW9hTHX/0cs+P3gW+cQw==", + "dependencies": { + "abab": "^2.0.6", + "cssstyle": "^3.0.0", + "data-urls": "^4.0.0", + "decimal.js": "^10.4.3", + "domexception": "^4.0.0", + "form-data": "^4.0.0", + "html-encoding-sniffer": "^3.0.0", + "http-proxy-agent": "^5.0.0", + "https-proxy-agent": "^5.0.1", + "is-potential-custom-element-name": "^1.0.1", + "nwsapi": "^2.2.4", + "parse5": "^7.1.2", + "rrweb-cssom": "^0.6.0", + "saxes": "^6.0.0", + "symbol-tree": "^3.2.4", + "tough-cookie": "^4.1.2", + "w3c-xmlserializer": "^4.0.0", + "webidl-conversions": "^7.0.0", + "whatwg-encoding": "^2.0.0", + "whatwg-mimetype": "^3.0.0", + "whatwg-url": "^12.0.1", + "ws": "^8.13.0", + "xml-name-validator": "^4.0.0" + }, + "engines": { + "node": ">=16" + }, + "peerDependencies": { + "canvas": "^2.5.0" + }, + "peerDependenciesMeta": { + "canvas": { + "optional": true + } + } + }, + "node_modules/jsesc": { + "version": "2.5.2", + "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-2.5.2.tgz", + "integrity": "sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==", + "dev": true, + "bin": { + "jsesc": "bin/jsesc" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/json-buffer": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/json-buffer/-/json-buffer-3.0.1.tgz", + "integrity": "sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ==", + "dev": true + }, + "node_modules/json-schema-traverse": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", + "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==", + "dev": true + }, + "node_modules/json-stable-stringify-without-jsonify": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz", + "integrity": "sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==", + "dev": true + }, + "node_modules/json5": { + "version": "2.2.3", + "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.3.tgz", + "integrity": "sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==", + "dev": true, + "bin": { + "json5": "lib/cli.js" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/keyv": { + "version": "4.5.3", + "resolved": "https://registry.npmjs.org/keyv/-/keyv-4.5.3.tgz", + "integrity": "sha512-QCiSav9WaX1PgETJ+SpNnx2PRRapJ/oRSXM4VO5OGYGSjrxbKPVFVhB3l2OCbLCk329N8qyAtsJjSjvVBWzEug==", + "dev": true, + "dependencies": { + "json-buffer": "3.0.1" + } + }, + "node_modules/kind-of": { + "version": "6.0.3", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz", + "integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/levn": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/levn/-/levn-0.4.1.tgz", + "integrity": "sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==", + "dev": true, + "dependencies": { + "prelude-ls": "^1.2.1", + "type-check": "~0.4.0" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/lilconfig": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/lilconfig/-/lilconfig-2.1.0.tgz", + "integrity": "sha512-utWOt/GHzuUxnLKxB6dk81RoOeoNeHgbrXiuGk4yyF5qlRz+iIVWu56E2fqGHFrXz0QNUhLB/8nKqvRH66JKGQ==", + "dev": true, + "engines": { + "node": ">=10" + } + }, + "node_modules/lint-staged": { + "version": "13.3.0", + "resolved": "https://registry.npmjs.org/lint-staged/-/lint-staged-13.3.0.tgz", + "integrity": "sha512-mPRtrYnipYYv1FEE134ufbWpeggNTo+O/UPzngoaKzbzHAthvR55am+8GfHTnqNRQVRRrYQLGW9ZyUoD7DsBHQ==", + "dev": true, + "dependencies": { + "chalk": "5.3.0", + "commander": "11.0.0", + "debug": "4.3.4", + "execa": "7.2.0", + "lilconfig": "2.1.0", + "listr2": "6.6.1", + "micromatch": "4.0.5", + "pidtree": "0.6.0", + "string-argv": "0.3.2", + "yaml": "2.3.1" + }, + "bin": { + "lint-staged": "bin/lint-staged.js" + }, + "engines": { + "node": "^16.14.0 || >=18.0.0" + }, + "funding": { + "url": "https://opencollective.com/lint-staged" + } + }, + "node_modules/lint-staged/node_modules/chalk": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-5.3.0.tgz", + "integrity": "sha512-dLitG79d+GV1Nb/VYcCDFivJeK1hiukt9QjRNVOsUtTy1rR1YJsmpGGTZ3qJos+uw7WmWF4wUwBd9jxjocFC2w==", + "dev": true, + "engines": { + "node": "^12.17.0 || ^14.13 || >=16.0.0" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/lint-staged/node_modules/commander": { + "version": "11.0.0", + "resolved": "https://registry.npmjs.org/commander/-/commander-11.0.0.tgz", + "integrity": "sha512-9HMlXtt/BNoYr8ooyjjNRdIilOTkVJXB+GhxMTtOKwk0R4j4lS4NpjuqmRxroBfnfTSHQIHQB7wryHhXarNjmQ==", + "dev": true, + "engines": { + "node": ">=16" + } + }, + "node_modules/listr2": { + "version": "6.6.1", + "resolved": "https://registry.npmjs.org/listr2/-/listr2-6.6.1.tgz", + "integrity": "sha512-+rAXGHh0fkEWdXBmX+L6mmfmXmXvDGEKzkjxO+8mP3+nI/r/CWznVBvsibXdxda9Zz0OW2e2ikphN3OwCT/jSg==", + "dev": true, + "dependencies": { + "cli-truncate": "^3.1.0", + "colorette": "^2.0.20", + "eventemitter3": "^5.0.1", + "log-update": "^5.0.1", + "rfdc": "^1.3.0", + "wrap-ansi": "^8.1.0" + }, + "engines": { + "node": ">=16.0.0" + }, + "peerDependencies": { + "enquirer": ">= 2.3.0 < 3" + }, + "peerDependenciesMeta": { + "enquirer": { + "optional": true + } + } + }, + "node_modules/locate-path": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-6.0.0.tgz", + "integrity": "sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==", + "dev": true, + "dependencies": { + "p-locate": "^5.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/lodash.debounce": { + "version": "4.0.8", + "resolved": "https://registry.npmjs.org/lodash.debounce/-/lodash.debounce-4.0.8.tgz", + "integrity": "sha512-FT1yDzDYEoYWhnSGnpE/4Kj1fLZkDFyqRb7fNt6FdYOSxlUWAtp42Eh6Wb0rGIv/m9Bgo7x4GhQbm5Ys4SG5ow==", + "dev": true + }, + "node_modules/lodash.flattendeep": { + "version": "4.4.0", + "resolved": "https://registry.npmjs.org/lodash.flattendeep/-/lodash.flattendeep-4.4.0.tgz", + "integrity": "sha512-uHaJFihxmJcEX3kT4I23ABqKKalJ/zDrDg0lsFtc1h+3uw49SIJ5beyhx5ExVRti3AvKoOJngIj7xz3oylPdWQ==", + "dev": true + }, + "node_modules/lodash.merge": { + "version": "4.6.2", + "resolved": "https://registry.npmjs.org/lodash.merge/-/lodash.merge-4.6.2.tgz", + "integrity": "sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==", + "dev": true + }, + "node_modules/log-symbols": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/log-symbols/-/log-symbols-4.1.0.tgz", + "integrity": "sha512-8XPvpAA8uyhfteu8pIvQxpJZ7SYYdpUivZpGy6sFsBuKRY/7rQGavedeB8aK+Zkyq6upMFVL/9AW6vOYzfRyLg==", + "dev": true, + "dependencies": { + "chalk": "^4.1.0", + "is-unicode-supported": "^0.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/log-symbols/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/log-symbols/node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dev": true, + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/log-symbols/node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/log-symbols/node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true + }, + "node_modules/log-symbols/node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/log-symbols/node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dev": true, + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/log-update": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/log-update/-/log-update-5.0.1.tgz", + "integrity": "sha512-5UtUDQ/6edw4ofyljDNcOVJQ4c7OjDro4h3y8e1GQL5iYElYclVHJ3zeWchylvMaKnDbDilC8irOVyexnA/Slw==", + "dev": true, + "dependencies": { + "ansi-escapes": "^5.0.0", + "cli-cursor": "^4.0.0", + "slice-ansi": "^5.0.0", + "strip-ansi": "^7.0.1", + "wrap-ansi": "^8.0.1" + }, + "engines": { + "node": "^12.20.0 || ^14.13.1 || >=16.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/log-update/node_modules/ansi-regex": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.0.1.tgz", + "integrity": "sha512-n5M855fKb2SsfMIiFFoVrABHJC8QtHwVx+mHWP3QcEqBHYienj5dHSgjbxtC0WEZXYt4wcD6zrQElDPhFuZgfA==", + "dev": true, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/ansi-regex?sponsor=1" + } + }, + "node_modules/log-update/node_modules/strip-ansi": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.1.0.tgz", + "integrity": "sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ==", + "dev": true, + "dependencies": { + "ansi-regex": "^6.0.1" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/strip-ansi?sponsor=1" + } + }, + "node_modules/loupe": { + "version": "2.3.6", + "resolved": "https://registry.npmjs.org/loupe/-/loupe-2.3.6.tgz", + "integrity": "sha512-RaPMZKiMy8/JruncMU5Bt6na1eftNoo++R4Y+N2FrxkDVTrGvcyzFTsaGif4QTeKESheMGegbhw6iUAq+5A8zA==", + "dev": true, + "dependencies": { + "get-func-name": "^2.0.0" + } + }, + "node_modules/lru-cache": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-5.1.1.tgz", + "integrity": "sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==", + "dev": true, + "dependencies": { + "yallist": "^3.0.2" + } + }, + "node_modules/make-dir": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-2.1.0.tgz", + "integrity": "sha512-LS9X+dc8KLxXCb8dni79fLIIUA5VyZoyjSMCwTluaXA0o27cCK0bhXkpgw+sTXVpPy/lSO57ilRixqk0vDmtRA==", + "dev": true, + "dependencies": { + "pify": "^4.0.1", + "semver": "^5.6.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/make-dir/node_modules/semver": { + "version": "5.7.2", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.2.tgz", + "integrity": "sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g==", + "dev": true, + "bin": { + "semver": "bin/semver" + } + }, + "node_modules/mathjax-full": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/mathjax-full/-/mathjax-full-3.2.2.tgz", + "integrity": "sha512-+LfG9Fik+OuI8SLwsiR02IVdjcnRCy5MufYLi0C3TdMT56L/pjB0alMVGgoWJF8pN9Rc7FESycZB9BMNWIid5w==", + "dependencies": { + "esm": "^3.2.25", + "mhchemparser": "^4.1.0", + "mj-context-menu": "^0.6.1", + "speech-rule-engine": "^4.0.6" + } + }, + "node_modules/merge-stream": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/merge-stream/-/merge-stream-2.0.0.tgz", + "integrity": "sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==", + "dev": true + }, + "node_modules/mhchemparser": { + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/mhchemparser/-/mhchemparser-4.2.1.tgz", + "integrity": "sha512-kYmyrCirqJf3zZ9t/0wGgRZ4/ZJw//VwaRVGA75C4nhE60vtnIzhl9J9ndkX/h6hxSN7pjg/cE0VxbnNM+bnDQ==" + }, + "node_modules/micromatch": { + "version": "4.0.5", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.5.tgz", + "integrity": "sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA==", + "dev": true, + "dependencies": { + "braces": "^3.0.2", + "picomatch": "^2.3.1" + }, + "engines": { + "node": ">=8.6" + } + }, + "node_modules/mime-db": { + "version": "1.52.0", + "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz", + "integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/mime-types": { + "version": "2.1.35", + "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz", + "integrity": "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==", + "dependencies": { + "mime-db": "1.52.0" + }, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/mimic-fn": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-4.0.0.tgz", + "integrity": "sha512-vqiC06CuhBTUdZH+RYl8sFrL096vA45Ok5ISO6sE/Mr1jRbGH4Csnhi8f3wKVl7x8mO4Au7Ir9D3Oyv1VYMFJw==", + "dev": true, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/minimatch": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", + "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", + "dev": true, + "dependencies": { + "brace-expansion": "^1.1.7" + }, + "engines": { + "node": "*" + } + }, + "node_modules/minipass": { + "version": "7.0.3", + "resolved": "https://registry.npmjs.org/minipass/-/minipass-7.0.3.tgz", + "integrity": "sha512-LhbbwCfz3vsb12j/WkWQPZfKTsgqIe1Nf/ti1pKjYESGLHIVjWU96G9/ljLH4F9mWNVhlQOm0VySdAWzf05dpg==", + "dev": true, + "engines": { + "node": ">=16 || 14 >=14.17" + } + }, + "node_modules/mj-context-menu": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/mj-context-menu/-/mj-context-menu-0.6.1.tgz", + "integrity": "sha512-7NO5s6n10TIV96d4g2uDpG7ZDpIhMh0QNfGdJw/W47JswFcosz457wqz/b5sAKvl12sxINGFCn80NZHKwxQEXA==" + }, + "node_modules/mocha": { + "version": "10.2.0", + "resolved": "https://registry.npmjs.org/mocha/-/mocha-10.2.0.tgz", + "integrity": "sha512-IDY7fl/BecMwFHzoqF2sg/SHHANeBoMMXFlS9r0OXKDssYE1M5O43wUY/9BVPeIvfH2zmEbBfseqN9gBQZzXkg==", + "dev": true, + "dependencies": { + "ansi-colors": "4.1.1", + "browser-stdout": "1.3.1", + "chokidar": "3.5.3", + "debug": "4.3.4", + "diff": "5.0.0", + "escape-string-regexp": "4.0.0", + "find-up": "5.0.0", + "glob": "7.2.0", + "he": "1.2.0", + "js-yaml": "4.1.0", + "log-symbols": "4.1.0", + "minimatch": "5.0.1", + "ms": "2.1.3", + "nanoid": "3.3.3", + "serialize-javascript": "6.0.0", + "strip-json-comments": "3.1.1", + "supports-color": "8.1.1", + "workerpool": "6.2.1", + "yargs": "16.2.0", + "yargs-parser": "20.2.4", + "yargs-unparser": "2.0.0" + }, + "bin": { + "_mocha": "bin/_mocha", + "mocha": "bin/mocha.js" + }, + "engines": { + "node": ">= 14.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/mochajs" + } + }, + "node_modules/mocha/node_modules/escape-string-regexp": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz", + "integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==", + "dev": true, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/mocha/node_modules/glob": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.0.tgz", + "integrity": "sha512-lmLf6gtyrPq8tTjSmrO94wBeQbFR3HbLHbuyD69wuyQkImp2hWqMGB47OX65FBkPffO641IP9jWa1z4ivqG26Q==", + "dev": true, + "dependencies": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.0.4", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + }, + "engines": { + "node": "*" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/mocha/node_modules/glob/node_modules/minimatch": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", + "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", + "dev": true, + "dependencies": { + "brace-expansion": "^1.1.7" + }, + "engines": { + "node": "*" + } + }, + "node_modules/mocha/node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/mocha/node_modules/minimatch": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-5.0.1.tgz", + "integrity": "sha512-nLDxIFRyhDblz3qMuq+SoRZED4+miJ/G+tdDrjkkkRnjAsBexeGpgjLEQ0blJy7rHhR2b93rhQY4SvyWu9v03g==", + "dev": true, + "dependencies": { + "brace-expansion": "^2.0.1" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/mocha/node_modules/minimatch/node_modules/brace-expansion": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", + "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", + "dev": true, + "dependencies": { + "balanced-match": "^1.0.0" + } + }, + "node_modules/mocha/node_modules/ms": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", + "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", + "dev": true + }, + "node_modules/mocha/node_modules/supports-color": { + "version": "8.1.1", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz", + "integrity": "sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==", + "dev": true, + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/supports-color?sponsor=1" + } + }, + "node_modules/ms": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" + }, + "node_modules/nanoid": { + "version": "3.3.3", + "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.3.tgz", + "integrity": "sha512-p1sjXuopFs0xg+fPASzQ28agW1oHD7xDsd9Xkf3T15H3c/cifrFHVwrh74PdoklAPi+i7MdRsE47vm2r6JoB+w==", + "dev": true, + "bin": { + "nanoid": "bin/nanoid.cjs" + }, + "engines": { + "node": "^10 || ^12 || ^13.7 || ^14 || >=15.0.1" + } + }, + "node_modules/natural-compare": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz", + "integrity": "sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==", + "dev": true + }, + "node_modules/node-preload": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/node-preload/-/node-preload-0.2.1.tgz", + "integrity": "sha512-RM5oyBy45cLEoHqCeh+MNuFAxO0vTFBLskvQbOKnEE7YTTSN4tbN8QWDIPQ6L+WvKsB/qLEGpYe2ZZ9d4W9OIQ==", + "dev": true, + "dependencies": { + "process-on-spawn": "^1.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/node-releases": { + "version": "2.0.13", + "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.13.tgz", + "integrity": "sha512-uYr7J37ae/ORWdZeQ1xxMJe3NtdmqMC/JZK+geofDrkLUApKRHPd18/TxtBOJ4A0/+uUIliorNrfYV6s1b02eQ==", + "dev": true + }, + "node_modules/normalize-path": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", + "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/npm-run-path": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-5.1.0.tgz", + "integrity": "sha512-sJOdmRGrY2sjNTRMbSvluQqg+8X7ZK61yvzBEIDhz4f8z1TZFYABsqjjCBd/0PUNE9M6QDgHJXQkGUEm7Q+l9Q==", + "dev": true, + "dependencies": { + "path-key": "^4.0.0" + }, + "engines": { + "node": "^12.20.0 || ^14.13.1 || >=16.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/npm-run-path/node_modules/path-key": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/path-key/-/path-key-4.0.0.tgz", + "integrity": "sha512-haREypq7xkM7ErfgIyA0z+Bj4AGKlMSdlQE2jvJo6huWD1EdkKYV+G/T4nq0YEF2vgTT8kqMFKo1uHn950r4SQ==", + "dev": true, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/nwsapi": { + "version": "2.2.7", + "resolved": "https://registry.npmjs.org/nwsapi/-/nwsapi-2.2.7.tgz", + "integrity": "sha512-ub5E4+FBPKwAZx0UwIQOjYWGHTEq5sPqHQNRN8Z9e4A7u3Tj1weLJsL59yH9vmvqEtBHaOmT6cYQKIZOxp35FQ==" + }, + "node_modules/nyc": { + "version": "15.1.0", + "resolved": "https://registry.npmjs.org/nyc/-/nyc-15.1.0.tgz", + "integrity": "sha512-jMW04n9SxKdKi1ZMGhvUTHBN0EICCRkHemEoE5jm6mTYcqcdas0ATzgUgejlQUHMvpnOZqGB5Xxsv9KxJW1j8A==", + "dev": true, + "dependencies": { + "@istanbuljs/load-nyc-config": "^1.0.0", + "@istanbuljs/schema": "^0.1.2", + "caching-transform": "^4.0.0", + "convert-source-map": "^1.7.0", + "decamelize": "^1.2.0", + "find-cache-dir": "^3.2.0", + "find-up": "^4.1.0", + "foreground-child": "^2.0.0", + "get-package-type": "^0.1.0", + "glob": "^7.1.6", + "istanbul-lib-coverage": "^3.0.0", + "istanbul-lib-hook": "^3.0.0", + "istanbul-lib-instrument": "^4.0.0", + "istanbul-lib-processinfo": "^2.0.2", + "istanbul-lib-report": "^3.0.0", + "istanbul-lib-source-maps": "^4.0.0", + "istanbul-reports": "^3.0.2", + "make-dir": "^3.0.0", + "node-preload": "^0.2.1", + "p-map": "^3.0.0", + "process-on-spawn": "^1.0.0", + "resolve-from": "^5.0.0", + "rimraf": "^3.0.0", + "signal-exit": "^3.0.2", + "spawn-wrap": "^2.0.0", + "test-exclude": "^6.0.0", + "yargs": "^15.0.2" + }, + "bin": { + "nyc": "bin/nyc.js" + }, + "engines": { + "node": ">=8.9" + } + }, + "node_modules/nyc/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/nyc/node_modules/cliui": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/cliui/-/cliui-6.0.0.tgz", + "integrity": "sha512-t6wbgtoCXvAzst7QgXxJYqPt0usEfbgQdftEPbLL/cvv6HPE5VgvqCuAIDR0NgU52ds6rFwqrgakNLrHEjCbrQ==", + "dev": true, + "dependencies": { + "string-width": "^4.2.0", + "strip-ansi": "^6.0.0", + "wrap-ansi": "^6.2.0" + } + }, + "node_modules/nyc/node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/nyc/node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true + }, + "node_modules/nyc/node_modules/convert-source-map": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.9.0.tgz", + "integrity": "sha512-ASFBup0Mz1uyiIjANan1jzLQami9z1PoYSZCiiYW2FczPbenXc45FZdBZLzOT+r6+iciuEModtmCti+hjaAk0A==", + "dev": true + }, + "node_modules/nyc/node_modules/emoji-regex": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", + "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", + "dev": true + }, + "node_modules/nyc/node_modules/find-cache-dir": { + "version": "3.3.2", + "resolved": "https://registry.npmjs.org/find-cache-dir/-/find-cache-dir-3.3.2.tgz", + "integrity": "sha512-wXZV5emFEjrridIgED11OoUKLxiYjAcqot/NJdAkOhlJ+vGzwhOAfcG5OX1jP+S0PcjEn8bdMJv+g2jwQ3Onig==", + "dev": true, + "dependencies": { + "commondir": "^1.0.1", + "make-dir": "^3.0.2", + "pkg-dir": "^4.1.0" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/avajs/find-cache-dir?sponsor=1" + } + }, + "node_modules/nyc/node_modules/find-up": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz", + "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", + "dev": true, + "dependencies": { + "locate-path": "^5.0.0", + "path-exists": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/nyc/node_modules/is-fullwidth-code-point": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", + "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/nyc/node_modules/locate-path": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", + "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==", + "dev": true, + "dependencies": { + "p-locate": "^4.1.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/nyc/node_modules/make-dir": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-3.1.0.tgz", + "integrity": "sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw==", + "dev": true, + "dependencies": { + "semver": "^6.0.0" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/nyc/node_modules/p-limit": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", + "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", + "dev": true, + "dependencies": { + "p-try": "^2.0.0" + }, + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/nyc/node_modules/p-locate": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz", + "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==", + "dev": true, + "dependencies": { + "p-limit": "^2.2.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/nyc/node_modules/pkg-dir": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-4.2.0.tgz", + "integrity": "sha512-HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ==", + "dev": true, + "dependencies": { + "find-up": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/nyc/node_modules/resolve-from": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-5.0.0.tgz", + "integrity": "sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/nyc/node_modules/rimraf": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", + "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", + "dev": true, + "dependencies": { + "glob": "^7.1.3" + }, + "bin": { + "rimraf": "bin.js" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/nyc/node_modules/string-width": { + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", + "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", + "dev": true, + "dependencies": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/nyc/node_modules/wrap-ansi": { + "version": "6.2.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-6.2.0.tgz", + "integrity": "sha512-r6lPcBGxZXlIcymEu7InxDMhdW0KDxpLgoFLcguasxCaJ/SOIZwINatK9KY/tf+ZrlywOKU0UDj3ATXUBfxJXA==", + "dev": true, + "dependencies": { + "ansi-styles": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/nyc/node_modules/y18n": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/y18n/-/y18n-4.0.3.tgz", + "integrity": "sha512-JKhqTOwSrqNA1NY5lSztJ1GrBiUodLMmIZuLiDaMRJ+itFd+ABVE8XBjOvIWL+rSqNDC74LCSFmlb/U4UZ4hJQ==", + "dev": true + }, + "node_modules/nyc/node_modules/yargs": { + "version": "15.4.1", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-15.4.1.tgz", + "integrity": "sha512-aePbxDmcYW++PaqBsJ+HYUFwCdv4LVvdnhBy78E57PIor8/OVvhMrADFFEDh8DHDFRv/O9i3lPhsENjO7QX0+A==", + "dev": true, + "dependencies": { + "cliui": "^6.0.0", + "decamelize": "^1.2.0", + "find-up": "^4.1.0", + "get-caller-file": "^2.0.1", + "require-directory": "^2.1.1", + "require-main-filename": "^2.0.0", + "set-blocking": "^2.0.0", + "string-width": "^4.2.0", + "which-module": "^2.0.0", + "y18n": "^4.0.0", + "yargs-parser": "^18.1.2" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/nyc/node_modules/yargs-parser": { + "version": "18.1.3", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-18.1.3.tgz", + "integrity": "sha512-o50j0JeToy/4K6OZcaQmW6lyXXKhq7csREXcDwk2omFPJEwUNOVtJKvmDr9EI1fAJZUyZcRF7kxGBWmRXudrCQ==", + "dev": true, + "dependencies": { + "camelcase": "^5.0.0", + "decamelize": "^1.2.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/object-inspect": { + "version": "1.12.3", + "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.12.3.tgz", + "integrity": "sha512-geUvdk7c+eizMNUDkRpW1wJwgfOiOeHbxBR/hLXK1aT6zmVSO0jsQcs7fj6MGw89jC/cjGfLcNOrtMYtGqm81g==", + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/once": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", + "integrity": "sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==", + "dev": true, + "dependencies": { + "wrappy": "1" + } + }, + "node_modules/onetime": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/onetime/-/onetime-6.0.0.tgz", + "integrity": "sha512-1FlR+gjXK7X+AsAHso35MnyN5KqGwJRi/31ft6x0M194ht7S+rWAvd7PHss9xSKMzE0asv1pyIHaJYq+BbacAQ==", + "dev": true, + "dependencies": { + "mimic-fn": "^4.0.0" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/optionator": { + "version": "0.9.3", + "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.9.3.tgz", + "integrity": "sha512-JjCoypp+jKn1ttEFExxhetCKeJt9zhAgAve5FXHixTvFDW/5aEktX9bufBKLRRMdU7bNtpLfcGu94B3cdEJgjg==", + "dev": true, + "dependencies": { + "@aashutoshrathi/word-wrap": "^1.2.3", + "deep-is": "^0.1.3", + "fast-levenshtein": "^2.0.6", + "levn": "^0.4.1", + "prelude-ls": "^1.2.1", + "type-check": "^0.4.0" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/p-limit": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz", + "integrity": "sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==", + "dev": true, + "dependencies": { + "yocto-queue": "^0.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/p-locate": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-5.0.0.tgz", + "integrity": "sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==", + "dev": true, + "dependencies": { + "p-limit": "^3.0.2" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/p-map": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/p-map/-/p-map-3.0.0.tgz", + "integrity": "sha512-d3qXVTF/s+W+CdJ5A29wywV2n8CQQYahlgz2bFiA+4eVNJbHJodPZ+/gXwPGh0bOqA+j8S+6+ckmvLGPk1QpxQ==", + "dev": true, + "dependencies": { + "aggregate-error": "^3.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/p-try": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz", + "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/package-hash": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/package-hash/-/package-hash-4.0.0.tgz", + "integrity": "sha512-whdkPIooSu/bASggZ96BWVvZTRMOFxnyUG5PnTSGKoJE2gd5mbVNmR2Nj20QFzxYYgAXpoqC+AiXzl+UMRh7zQ==", + "dev": true, + "dependencies": { + "graceful-fs": "^4.1.15", + "hasha": "^5.0.0", + "lodash.flattendeep": "^4.4.0", + "release-zalgo": "^1.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/parent-module": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz", + "integrity": "sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==", + "dev": true, + "dependencies": { + "callsites": "^3.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/parse-cache-control": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/parse-cache-control/-/parse-cache-control-1.0.1.tgz", + "integrity": "sha512-60zvsJReQPX5/QP0Kzfd/VrpjScIQ7SHBW6bFCYfEP+fp0Eppr1SHhIO5nd1PjZtvclzSzES9D/p5nFJurwfWg==" + }, + "node_modules/parse5": { + "version": "7.1.2", + "resolved": "https://registry.npmjs.org/parse5/-/parse5-7.1.2.tgz", + "integrity": "sha512-Czj1WaSVpaoj0wbhMzLmWD69anp2WH7FXMB9n1Sy8/ZFF9jolSQVMu1Ij5WIyGmcBmhk7EOndpO4mIpihVqAXw==", + "dependencies": { + "entities": "^4.4.0" + }, + "funding": { + "url": "https://github.com/inikulin/parse5?sponsor=1" + } + }, + "node_modules/path-exists": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", + "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/path-is-absolute": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", + "integrity": "sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/path-key": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", + "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/path-parse": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz", + "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==", + "dev": true + }, + "node_modules/path-scurry": { + "version": "1.10.1", + "resolved": "https://registry.npmjs.org/path-scurry/-/path-scurry-1.10.1.tgz", + "integrity": "sha512-MkhCqzzBEpPvxxQ71Md0b1Kk51W01lrYvlMzSUaIzNsODdd7mqhiimSZlr+VegAz5Z6Vzt9Xg2ttE//XBhH3EQ==", + "dev": true, + "dependencies": { + "lru-cache": "^9.1.1 || ^10.0.0", + "minipass": "^5.0.0 || ^6.0.2 || ^7.0.0" + }, + "engines": { + "node": ">=16 || 14 >=14.17" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/path-scurry/node_modules/lru-cache": { + "version": "10.0.1", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-10.0.1.tgz", + "integrity": "sha512-IJ4uwUTi2qCccrioU6g9g/5rvvVl13bsdczUUcqbciD9iLr095yj8DQKdObriEvuNSx325N1rV1O0sJFszx75g==", + "dev": true, + "engines": { + "node": "14 || >=16.14" + } + }, + "node_modules/pathval": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/pathval/-/pathval-1.1.1.tgz", + "integrity": "sha512-Dp6zGqpTdETdR63lehJYPeIOqpiNBNtc7BpWSLrOje7UaIsE5aY92r/AunQA7rsXvet3lrJ3JnZX29UPTKXyKQ==", + "dev": true, + "engines": { + "node": "*" + } + }, + "node_modules/picocolors": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.0.0.tgz", + "integrity": "sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==", + "dev": true + }, + "node_modules/picomatch": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz", + "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==", + "dev": true, + "engines": { + "node": ">=8.6" + }, + "funding": { + "url": "https://github.com/sponsors/jonschlinkert" + } + }, + "node_modules/pidtree": { + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/pidtree/-/pidtree-0.6.0.tgz", + "integrity": "sha512-eG2dWTVw5bzqGRztnHExczNxt5VGsE6OwTeCG3fdUf9KBsZzO3R5OIIIzWR+iZA0NtZ+RDVdaoE2dK1cn6jH4g==", + "dev": true, + "bin": { + "pidtree": "bin/pidtree.js" + }, + "engines": { + "node": ">=0.10" + } + }, + "node_modules/pify": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/pify/-/pify-4.0.1.tgz", + "integrity": "sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/pirates": { + "version": "4.0.6", + "resolved": "https://registry.npmjs.org/pirates/-/pirates-4.0.6.tgz", + "integrity": "sha512-saLsH7WeYYPiD25LDuLRRY/i+6HaPYr6G1OUlN39otzkSTxKnubR9RTxS3/Kk50s1g2JTgFwWQDQyplC5/SHZg==", + "dev": true, + "engines": { + "node": ">= 6" + } + }, + "node_modules/pkg-dir": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-3.0.0.tgz", + "integrity": "sha512-/E57AYkoeQ25qkxMj5PBOVgF8Kiu/h7cYS30Z5+R7WaiCCBfLq58ZI/dSeaEKb9WVJV5n/03QwrN3IeWIFllvw==", + "dev": true, + "dependencies": { + "find-up": "^3.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/pkg-dir/node_modules/find-up": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-3.0.0.tgz", + "integrity": "sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg==", + "dev": true, + "dependencies": { + "locate-path": "^3.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/pkg-dir/node_modules/locate-path": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-3.0.0.tgz", + "integrity": "sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A==", + "dev": true, + "dependencies": { + "p-locate": "^3.0.0", + "path-exists": "^3.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/pkg-dir/node_modules/p-limit": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", + "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", + "dev": true, + "dependencies": { + "p-try": "^2.0.0" + }, + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/pkg-dir/node_modules/p-locate": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-3.0.0.tgz", + "integrity": "sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ==", + "dev": true, + "dependencies": { + "p-limit": "^2.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/pkg-dir/node_modules/path-exists": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz", + "integrity": "sha512-bpC7GYwiDYQ4wYLe+FA8lhRjhQCMcQGuSgGGqDkg/QerRWw9CmGRT0iSOVRSZJ29NMLZgIzqaljJ63oaL4NIJQ==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/prelude-ls": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.2.1.tgz", + "integrity": "sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==", + "dev": true, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/prettier": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/prettier/-/prettier-3.0.3.tgz", + "integrity": "sha512-L/4pUDMxcNa8R/EthV08Zt42WBO4h1rarVtK0K+QJG0X187OLo7l699jWw0GKuwzkPQ//jMFA/8Xm6Fh3J/DAg==", + "dev": true, + "bin": { + "prettier": "bin/prettier.cjs" + }, + "engines": { + "node": ">=14" + }, + "funding": { + "url": "https://github.com/prettier/prettier?sponsor=1" + } + }, + "node_modules/process-nextick-args": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.1.tgz", + "integrity": "sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==" + }, + "node_modules/process-on-spawn": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/process-on-spawn/-/process-on-spawn-1.0.0.tgz", + "integrity": "sha512-1WsPDsUSMmZH5LeMLegqkPDrsGgsWwk1Exipy2hvB0o/F0ASzbpIctSCcZIK1ykJvtTJULEH+20WOFjMvGnCTg==", + "dev": true, + "dependencies": { + "fromentries": "^1.2.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/promise": { + "version": "8.3.0", + "resolved": "https://registry.npmjs.org/promise/-/promise-8.3.0.tgz", + "integrity": "sha512-rZPNPKTOYVNEEKFaq1HqTgOwZD+4/YHS5ukLzQCypkj+OkYx7iv0mA91lJlpPPZ8vMau3IIGj5Qlwrx+8iiSmg==", + "dependencies": { + "asap": "~2.0.6" + } + }, + "node_modules/property-information": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/property-information/-/property-information-6.3.0.tgz", + "integrity": "sha512-gVNZ74nqhRMiIUYWGQdosYetaKc83x8oT41a0LlV3AAFCAZwCpg4vmGkq8t34+cUhp3cnM4XDiU/7xlgK7HGrg==", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/psl": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/psl/-/psl-1.9.0.tgz", + "integrity": "sha512-E/ZsdU4HLs/68gYzgGTkMicWTLPdAftJLfJFlLUAAKZGkStNU72sZjT66SnMDVOfOWY/YAoiD7Jxa9iHvngcag==" + }, + "node_modules/punycode": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.3.0.tgz", + "integrity": "sha512-rRV+zQD8tVFys26lAGR9WUuS4iUAngJScM+ZRSKtvl5tKeZ2t5bvdNFdNHBW9FWR4guGHlgmsZ1G7BSm2wTbuA==", + "engines": { + "node": ">=6" + } + }, + "node_modules/qs": { + "version": "6.11.2", + "resolved": "https://registry.npmjs.org/qs/-/qs-6.11.2.tgz", + "integrity": "sha512-tDNIz22aBzCDxLtVH++VnTfzxlfeK5CbqohpSqpJgj1Wg/cQbStNAz3NuqCs5vV+pjBsK4x4pN9HlVh7rcYRiA==", + "dependencies": { + "side-channel": "^1.0.4" + }, + "engines": { + "node": ">=0.6" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/querystringify": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/querystringify/-/querystringify-2.2.0.tgz", + "integrity": "sha512-FIqgj2EUvTa7R50u0rGsyTftzjYmv/a3hO345bZNrqabNqjtgiDMgmo4mkUjd+nzU5oF3dClKqFIPUKybUyqoQ==" + }, + "node_modules/queue-microtask": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz", + "integrity": "sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ] + }, + "node_modules/randombytes": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/randombytes/-/randombytes-2.1.0.tgz", + "integrity": "sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ==", + "dev": true, + "dependencies": { + "safe-buffer": "^5.1.0" + } + }, + "node_modules/readable-stream": { + "version": "2.3.8", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.8.tgz", + "integrity": "sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==", + "dependencies": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.3", + "isarray": "~1.0.0", + "process-nextick-args": "~2.0.0", + "safe-buffer": "~5.1.1", + "string_decoder": "~1.1.1", + "util-deprecate": "~1.0.1" + } + }, + "node_modules/readdirp": { + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz", + "integrity": "sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==", + "dev": true, + "dependencies": { + "picomatch": "^2.2.1" + }, + "engines": { + "node": ">=8.10.0" + } + }, + "node_modules/regenerate": { + "version": "1.4.2", + "resolved": "https://registry.npmjs.org/regenerate/-/regenerate-1.4.2.tgz", + "integrity": "sha512-zrceR/XhGYU/d/opr2EKO7aRHUeiBI8qjtfHqADTwZd6Szfy16la6kqD0MIUs5z5hx6AaKa+PixpPrR289+I0A==", + "dev": true + }, + "node_modules/regenerate-unicode-properties": { + "version": "10.1.1", + "resolved": "https://registry.npmjs.org/regenerate-unicode-properties/-/regenerate-unicode-properties-10.1.1.tgz", + "integrity": "sha512-X007RyZLsCJVVrjgEFVpLUTZwyOZk3oiL75ZcuYjlIWd6rNJtOjkBwQc5AsRrpbKVkxN6sklw/k/9m2jJYOf8Q==", + "dev": true, + "dependencies": { + "regenerate": "^1.4.2" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/regenerator-runtime": { + "version": "0.14.0", + "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.14.0.tgz", + "integrity": "sha512-srw17NI0TUWHuGa5CFGGmhfNIeja30WMBfbslPNhf6JrqQlLN5gcrvig1oqPxiVaXb0oW0XRKtH6Nngs5lKCIA==", + "dev": true + }, + "node_modules/regenerator-transform": { + "version": "0.15.2", + "resolved": "https://registry.npmjs.org/regenerator-transform/-/regenerator-transform-0.15.2.tgz", + "integrity": "sha512-hfMp2BoF0qOk3uc5V20ALGDS2ddjQaLrdl7xrGXvAIow7qeWRM2VA2HuCHkUKk9slq3VwEwLNK3DFBqDfPGYtg==", + "dev": true, + "dependencies": { + "@babel/runtime": "^7.8.4" + } + }, + "node_modules/regexpu-core": { + "version": "5.3.2", + "resolved": "https://registry.npmjs.org/regexpu-core/-/regexpu-core-5.3.2.tgz", + "integrity": "sha512-RAM5FlZz+Lhmo7db9L298p2vHP5ZywrVXmVXpmAD9GuL5MPH6t9ROw1iA/wfHkQ76Qe7AaPF0nGuim96/IrQMQ==", + "dev": true, + "dependencies": { + "@babel/regjsgen": "^0.8.0", + "regenerate": "^1.4.2", + "regenerate-unicode-properties": "^10.1.0", + "regjsparser": "^0.9.1", + "unicode-match-property-ecmascript": "^2.0.0", + "unicode-match-property-value-ecmascript": "^2.1.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/regjsparser": { + "version": "0.9.1", + "resolved": "https://registry.npmjs.org/regjsparser/-/regjsparser-0.9.1.tgz", + "integrity": "sha512-dQUtn90WanSNl+7mQKcXAgZxvUe7Z0SqXlgzv0za4LwiUhyzBC58yQO3liFoUgu8GiJVInAhJjkj1N0EtQ5nkQ==", + "dev": true, + "dependencies": { + "jsesc": "~0.5.0" + }, + "bin": { + "regjsparser": "bin/parser" + } + }, + "node_modules/regjsparser/node_modules/jsesc": { + "version": "0.5.0", + "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-0.5.0.tgz", + "integrity": "sha512-uZz5UnB7u4T9LvwmFqXii7pZSouaRPorGs5who1Ip7VO0wxanFvBL7GkM6dTHlgX+jhBApRetaWpnDabOeTcnA==", + "dev": true, + "bin": { + "jsesc": "bin/jsesc" + } + }, + "node_modules/release-zalgo": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/release-zalgo/-/release-zalgo-1.0.0.tgz", + "integrity": "sha512-gUAyHVHPPC5wdqX/LG4LWtRYtgjxyX78oanFNTMMyFEfOqdC54s3eE82imuWKbOeqYht2CrNf64Qb8vgmmtZGA==", + "dev": true, + "dependencies": { + "es6-error": "^4.0.1" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/remark-mathjax": { + "resolved": "remark-mathjax", + "link": true + }, + "node_modules/require-directory": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz", + "integrity": "sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/require-main-filename": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/require-main-filename/-/require-main-filename-2.0.0.tgz", + "integrity": "sha512-NKN5kMDylKuldxYLSUfrbo5Tuzh4hd+2E8NPPX02mZtn1VuREQToYe/ZdlJy+J3uCpfaiGF05e7B8W0iXbQHmg==", + "dev": true + }, + "node_modules/requires-port": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/requires-port/-/requires-port-1.0.0.tgz", + "integrity": "sha512-KigOCHcocU3XODJxsu8i/j8T9tzT4adHiecwORRQ0ZZFcp7ahwXuRU1m+yuO90C5ZUyGeGfocHDI14M3L3yDAQ==" + }, + "node_modules/resolve": { + "version": "1.22.6", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.6.tgz", + "integrity": "sha512-njhxM7mV12JfufShqGy3Rz8j11RPdLy4xi15UurGJeoHLfJpVXKdh3ueuOqbYUcDZnffr6X739JBo5LzyahEsw==", + "dev": true, + "dependencies": { + "is-core-module": "^2.13.0", + "path-parse": "^1.0.7", + "supports-preserve-symlinks-flag": "^1.0.0" + }, + "bin": { + "resolve": "bin/resolve" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/resolve-from": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz", + "integrity": "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/restore-cursor": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/restore-cursor/-/restore-cursor-4.0.0.tgz", + "integrity": "sha512-I9fPXU9geO9bHOt9pHHOhOkYerIMsmVaWB0rA2AI9ERh/+x/i7MV5HKBNrg+ljO5eoPVgCcnFuRjJ9uH6I/3eg==", + "dev": true, + "dependencies": { + "onetime": "^5.1.0", + "signal-exit": "^3.0.2" + }, + "engines": { + "node": "^12.20.0 || ^14.13.1 || >=16.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/restore-cursor/node_modules/mimic-fn": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-2.1.0.tgz", + "integrity": "sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/restore-cursor/node_modules/onetime": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/onetime/-/onetime-5.1.2.tgz", + "integrity": "sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==", + "dev": true, + "dependencies": { + "mimic-fn": "^2.1.0" + }, + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/reusify": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/reusify/-/reusify-1.0.4.tgz", + "integrity": "sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==", + "dev": true, + "engines": { + "iojs": ">=1.0.0", + "node": ">=0.10.0" + } + }, + "node_modules/rfdc": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/rfdc/-/rfdc-1.3.0.tgz", + "integrity": "sha512-V2hovdzFbOi77/WajaSMXk2OLm+xNIeQdMMuB7icj7bk6zi2F8GGAxigcnDFpJHbNyNcgyJDiP+8nOrY5cZGrA==", + "dev": true + }, + "node_modules/rimraf": { + "version": "5.0.4", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-5.0.4.tgz", + "integrity": "sha512-rizQI/o/YAMM1us0Zyax0uRfIK39XR52EAjjOi0fzMolpGp0onj6CWzBAXuOx6+6Xi9Rgi0d9tUZojhJerLUmQ==", + "dev": true, + "dependencies": { + "glob": "^10.3.7" + }, + "bin": { + "rimraf": "dist/esm/bin.mjs" + }, + "engines": { + "node": ">=14" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/rimraf/node_modules/brace-expansion": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", + "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", + "dev": true, + "dependencies": { + "balanced-match": "^1.0.0" + } + }, + "node_modules/rimraf/node_modules/foreground-child": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/foreground-child/-/foreground-child-3.1.1.tgz", + "integrity": "sha512-TMKDUnIte6bfb5nWv7V/caI169OHgvwjb7V4WkeUvbQQdjr5rWKqHFiKWb/fcOwB+CzBT+qbWjvj+DVwRskpIg==", + "dev": true, + "dependencies": { + "cross-spawn": "^7.0.0", + "signal-exit": "^4.0.1" + }, + "engines": { + "node": ">=14" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/rimraf/node_modules/glob": { + "version": "10.3.9", + "resolved": "https://registry.npmjs.org/glob/-/glob-10.3.9.tgz", + "integrity": "sha512-2tU/LKevAQvDVuVJ9pg9Yv9xcbSh+TqHuTaXTNbQwf+0kDl9Fm6bMovi4Nm5c8TVvfxo2LLcqCGtmO9KoJaGWg==", + "dev": true, + "dependencies": { + "foreground-child": "^3.1.0", + "jackspeak": "^2.3.5", + "minimatch": "^9.0.1", + "minipass": "^5.0.0 || ^6.0.2 || ^7.0.0", + "path-scurry": "^1.10.1" + }, + "bin": { + "glob": "dist/esm/bin.mjs" + }, + "engines": { + "node": ">=16 || 14 >=14.17" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/rimraf/node_modules/minimatch": { + "version": "9.0.3", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.3.tgz", + "integrity": "sha512-RHiac9mvaRw0x3AYRgDC1CxAP7HTcNrrECeA8YYJeWnpo+2Q5CegtZjaotWTWxDG3UeGA1coE05iH1mPjT/2mg==", + "dev": true, + "dependencies": { + "brace-expansion": "^2.0.1" + }, + "engines": { + "node": ">=16 || 14 >=14.17" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/rimraf/node_modules/signal-exit": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-4.1.0.tgz", + "integrity": "sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==", + "dev": true, + "engines": { + "node": ">=14" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/rrweb-cssom": { + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/rrweb-cssom/-/rrweb-cssom-0.6.0.tgz", + "integrity": "sha512-APM0Gt1KoXBz0iIkkdB/kfvGOwC4UuJFeG/c+yV7wSc7q96cG/kJ0HiYCnzivD9SB53cLV1MlHFNfOuPaadYSw==" + }, + "node_modules/run-parallel": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/run-parallel/-/run-parallel-1.2.0.tgz", + "integrity": "sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "dependencies": { + "queue-microtask": "^1.2.2" + } + }, + "node_modules/safe-buffer": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", + "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==" + }, + "node_modules/safer-buffer": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", + "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==" + }, + "node_modules/saxes": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/saxes/-/saxes-6.0.0.tgz", + "integrity": "sha512-xAg7SOnEhrm5zI3puOOKyy1OMcMlIJZYNJY7xLBwSze0UjhPLnWfj2GF2EpT0jmzaJKIWKHLsaSSajf35bcYnA==", + "dependencies": { + "xmlchars": "^2.2.0" + }, + "engines": { + "node": ">=v12.22.7" + } + }, + "node_modules/semver": { + "version": "6.3.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", + "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", + "dev": true, + "bin": { + "semver": "bin/semver.js" + } + }, + "node_modules/serialize-javascript": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-6.0.0.tgz", + "integrity": "sha512-Qr3TosvguFt8ePWqsvRfrKyQXIiW+nGbYpy8XK24NQHE83caxWt+mIymTT19DGFbNWNLfEwsrkSmN64lVWB9ag==", + "dev": true, + "dependencies": { + "randombytes": "^2.1.0" + } + }, + "node_modules/set-blocking": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/set-blocking/-/set-blocking-2.0.0.tgz", + "integrity": "sha512-KiKBS8AnWGEyLzofFfmvKwpdPzqiy16LvQfK3yv/fVH7Bj13/wl3JSR1J+rfgRE9q7xUJK4qvgS8raSOeLUehw==", + "dev": true + }, + "node_modules/shallow-clone": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/shallow-clone/-/shallow-clone-3.0.1.tgz", + "integrity": "sha512-/6KqX+GVUdqPuPPd2LxDDxzX6CAbjJehAAOKlNpqqUpAqPM6HeL8f+o3a+JsyGjn2lv0WY8UsTgUJjU9Ok55NA==", + "dev": true, + "dependencies": { + "kind-of": "^6.0.2" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/shebang-command": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", + "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==", + "dev": true, + "dependencies": { + "shebang-regex": "^3.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/shebang-regex": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz", + "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/side-channel": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/side-channel/-/side-channel-1.0.4.tgz", + "integrity": "sha512-q5XPytqFEIKHkGdiMIrY10mvLRvnQh42/+GoBlFW3b2LXLE2xxJpZFdm94we0BaoV3RwJyGqg5wS7epxTv0Zvw==", + "dependencies": { + "call-bind": "^1.0.0", + "get-intrinsic": "^1.0.2", + "object-inspect": "^1.9.0" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/signal-exit": { + "version": "3.0.7", + "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.7.tgz", + "integrity": "sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==", + "dev": true + }, + "node_modules/slash": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/slash/-/slash-2.0.0.tgz", + "integrity": "sha512-ZYKh3Wh2z1PpEXWr0MpSBZ0V6mZHAQfYevttO11c51CaWjGTaadiKZ+wVt1PbMlDV5qhMFslpZCemhwOK7C89A==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/slice-ansi": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-5.0.0.tgz", + "integrity": "sha512-FC+lgizVPfie0kkhqUScwRu1O/lF6NOgJmlCgK+/LYxDCTk8sGelYaHDhFcDN+Sn3Cv+3VSa4Byeo+IMCzpMgQ==", + "dev": true, + "dependencies": { + "ansi-styles": "^6.0.0", + "is-fullwidth-code-point": "^4.0.0" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/slice-ansi?sponsor=1" + } + }, + "node_modules/slice-ansi/node_modules/ansi-styles": { + "version": "6.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-6.2.1.tgz", + "integrity": "sha512-bN798gFfQX+viw3R7yrGWRqnrN2oRkEkUjjl4JNn4E8GxxbjtG3FbrEIIY3l8/hrwUwIeCZvi4QuOTP4MErVug==", + "dev": true, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/source-map-support": { + "version": "0.5.21", + "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.21.tgz", + "integrity": "sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w==", + "dev": true, + "dependencies": { + "buffer-from": "^1.0.0", + "source-map": "^0.6.0" + } + }, + "node_modules/space-separated-tokens": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/space-separated-tokens/-/space-separated-tokens-2.0.2.tgz", + "integrity": "sha512-PEGlAwrG8yXGXRjW32fGbg66JAlOAwbObuqVoJpv/mRgoWDQfgH1wDPvtzWyUSNAXBGSk8h755YDbbcEy3SH2Q==", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/spawn-wrap": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/spawn-wrap/-/spawn-wrap-2.0.0.tgz", + "integrity": "sha512-EeajNjfN9zMnULLwhZZQU3GWBoFNkbngTUPfaawT4RkMiviTxcX0qfhVbGey39mfctfDHkWtuecgQ8NJcyQWHg==", + "dev": true, + "dependencies": { + "foreground-child": "^2.0.0", + "is-windows": "^1.0.2", + "make-dir": "^3.0.0", + "rimraf": "^3.0.0", + "signal-exit": "^3.0.2", + "which": "^2.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/spawn-wrap/node_modules/make-dir": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-3.1.0.tgz", + "integrity": "sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw==", + "dev": true, + "dependencies": { + "semver": "^6.0.0" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/spawn-wrap/node_modules/rimraf": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", + "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", + "dev": true, + "dependencies": { + "glob": "^7.1.3" + }, + "bin": { + "rimraf": "bin.js" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/speech-rule-engine": { + "version": "4.0.7", + "resolved": "https://registry.npmjs.org/speech-rule-engine/-/speech-rule-engine-4.0.7.tgz", + "integrity": "sha512-sJrL3/wHzNwJRLBdf6CjJWIlxC04iYKkyXvYSVsWVOiC2DSkHmxsqOhEeMsBA9XK+CHuNcsdkbFDnoUfAsmp9g==", + "dependencies": { + "commander": "9.2.0", + "wicked-good-xpath": "1.3.0", + "xmldom-sre": "0.1.31" + }, + "bin": { + "sre": "bin/sre" + } + }, + "node_modules/sprintf-js": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz", + "integrity": "sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g==", + "dev": true + }, + "node_modules/string_decoder": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", + "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", + "dependencies": { + "safe-buffer": "~5.1.0" + } + }, + "node_modules/string-argv": { + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/string-argv/-/string-argv-0.3.2.tgz", + "integrity": "sha512-aqD2Q0144Z+/RqG52NeHEkZauTAUWJO8c6yTftGJKO3Tja5tUgIfmIl6kExvhtxSDP7fXB6DvzkfMpCd/F3G+Q==", + "dev": true, + "engines": { + "node": ">=0.6.19" + } + }, + "node_modules/string-width": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-5.1.2.tgz", + "integrity": "sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA==", + "dev": true, + "dependencies": { + "eastasianwidth": "^0.2.0", + "emoji-regex": "^9.2.2", + "strip-ansi": "^7.0.1" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/string-width-cjs": { + "name": "string-width", + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", + "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", + "dev": true, + "dependencies": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/string-width-cjs/node_modules/emoji-regex": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", + "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", + "dev": true + }, + "node_modules/string-width-cjs/node_modules/is-fullwidth-code-point": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", + "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/string-width/node_modules/ansi-regex": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.0.1.tgz", + "integrity": "sha512-n5M855fKb2SsfMIiFFoVrABHJC8QtHwVx+mHWP3QcEqBHYienj5dHSgjbxtC0WEZXYt4wcD6zrQElDPhFuZgfA==", + "dev": true, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/ansi-regex?sponsor=1" + } + }, + "node_modules/string-width/node_modules/strip-ansi": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.1.0.tgz", + "integrity": "sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ==", + "dev": true, + "dependencies": { + "ansi-regex": "^6.0.1" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/strip-ansi?sponsor=1" + } + }, + "node_modules/strip-ansi": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", + "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", + "dev": true, + "dependencies": { + "ansi-regex": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/strip-ansi-cjs": { + "name": "strip-ansi", + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", + "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", + "dev": true, + "dependencies": { + "ansi-regex": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/strip-bom": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-4.0.0.tgz", + "integrity": "sha512-3xurFv5tEgii33Zi8Jtp55wEIILR9eh34FAW00PZf+JnSsTmV/ioewSgQl97JHvgjoRGwPShsWm+IdrxB35d0w==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/strip-final-newline": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/strip-final-newline/-/strip-final-newline-3.0.0.tgz", + "integrity": "sha512-dOESqjYr96iWYylGObzd39EuNTa5VJxyvVAEm5Jnh7KGo75V43Hk1odPQkNDyXNmUR6k+gEiDVXnjB8HJ3crXw==", + "dev": true, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/strip-json-comments": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz", + "integrity": "sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==", + "dev": true, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/supports-color": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "dev": true, + "dependencies": { + "has-flag": "^3.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/supports-preserve-symlinks-flag": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz", + "integrity": "sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==", + "dev": true, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/symbol-tree": { + "version": "3.2.4", + "resolved": "https://registry.npmjs.org/symbol-tree/-/symbol-tree-3.2.4.tgz", + "integrity": "sha512-9QNk5KwDF+Bvz+PyObkmSYjI5ksVUYtjW7AU22r2NKcfLJcXp96hkDWU3+XndOsUb+AQ9QhfzfCT2O+CNWT5Tw==" + }, + "node_modules/sync-request": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/sync-request/-/sync-request-6.1.0.tgz", + "integrity": "sha512-8fjNkrNlNCrVc/av+Jn+xxqfCjYaBoHqCsDz6mt030UMxJGr+GSfCV1dQt2gRtlL63+VPidwDVLr7V2OcTSdRw==", + "dependencies": { + "http-response-object": "^3.0.1", + "sync-rpc": "^1.2.1", + "then-request": "^6.0.0" + }, + "engines": { + "node": ">=8.0.0" + } + }, + "node_modules/sync-rpc": { + "version": "1.3.6", + "resolved": "https://registry.npmjs.org/sync-rpc/-/sync-rpc-1.3.6.tgz", + "integrity": "sha512-J8jTXuZzRlvU7HemDgHi3pGnh/rkoqR/OZSjhTyyZrEkkYQbk7Z33AXp37mkPfPpfdOuj7Ex3H/TJM1z48uPQw==", + "dependencies": { + "get-port": "^3.1.0" + } + }, + "node_modules/test-exclude": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/test-exclude/-/test-exclude-6.0.0.tgz", + "integrity": "sha512-cAGWPIyOHU6zlmg88jwm7VRyXnMN7iV68OGAbYDk/Mh/xC/pzVPlQtY6ngoIH/5/tciuhGfvESU8GrHrcxD56w==", + "dev": true, + "dependencies": { + "@istanbuljs/schema": "^0.1.2", + "glob": "^7.1.4", + "minimatch": "^3.0.4" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/text-table": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz", + "integrity": "sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw==", + "dev": true + }, + "node_modules/then-request": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/then-request/-/then-request-6.0.2.tgz", + "integrity": "sha512-3ZBiG7JvP3wbDzA9iNY5zJQcHL4jn/0BWtXIkagfz7QgOL/LqjCEOBQuJNZfu0XYnv5JhKh+cDxCPM4ILrqruA==", + "dependencies": { + "@types/concat-stream": "^1.6.0", + "@types/form-data": "0.0.33", + "@types/node": "^8.0.0", + "@types/qs": "^6.2.31", + "caseless": "~0.12.0", + "concat-stream": "^1.6.0", + "form-data": "^2.2.0", + "http-basic": "^8.1.1", + "http-response-object": "^3.0.1", + "promise": "^8.0.0", + "qs": "^6.4.0" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/then-request/node_modules/@types/node": { + "version": "8.10.66", + "resolved": "https://registry.npmjs.org/@types/node/-/node-8.10.66.tgz", + "integrity": "sha512-tktOkFUA4kXx2hhhrB8bIFb5TbwzS4uOhKEmwiD+NoiL0qtP2OQ9mFldbgD4dV1djrlBYP6eBuQZiWjuHUpqFw==" + }, + "node_modules/then-request/node_modules/form-data": { + "version": "2.5.1", + "resolved": "https://registry.npmjs.org/form-data/-/form-data-2.5.1.tgz", + "integrity": "sha512-m21N3WOmEEURgk6B9GLOE4RuWOFf28Lhh9qGYeNlGq4VDXUlJy2th2slBNU8Gp8EzloYZOibZJ7t5ecIrFSjVA==", + "dependencies": { + "asynckit": "^0.4.0", + "combined-stream": "^1.0.6", + "mime-types": "^2.1.12" + }, + "engines": { + "node": ">= 0.12" + } + }, + "node_modules/to-fast-properties": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-2.0.0.tgz", + "integrity": "sha512-/OaKK0xYrs3DmxRYqL/yDc+FxFUVYhDlXMhRmv3z915w2HF1tnN1omB354j8VUGO/hbRzyD6Y3sA7v7GS/ceog==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/to-regex-range": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", + "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", + "dev": true, + "dependencies": { + "is-number": "^7.0.0" + }, + "engines": { + "node": ">=8.0" + } + }, + "node_modules/to-vfile": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/to-vfile/-/to-vfile-8.0.0.tgz", + "integrity": "sha512-IcmH1xB5576MJc9qcfEC/m/nQCFt3fzMHz45sSlgJyTWjRbKW1HAkJpuf3DgE57YzIlZcwcBZA5ENQbBo4aLkg==", + "dependencies": { + "vfile": "^6.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/tough-cookie": { + "version": "4.1.3", + "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-4.1.3.tgz", + "integrity": "sha512-aX/y5pVRkfRnfmuX+OdbSdXvPe6ieKX/G2s7e98f4poJHnqH3281gDPm/metm6E/WRamfx7WC4HUqkWHfQHprw==", + "dependencies": { + "psl": "^1.1.33", + "punycode": "^2.1.1", + "universalify": "^0.2.0", + "url-parse": "^1.5.3" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/tr46": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/tr46/-/tr46-4.1.1.tgz", + "integrity": "sha512-2lv/66T7e5yNyhAAC4NaKe5nVavzuGJQVVtRYLyQ2OI8tsJ61PMLlelehb0wi2Hx6+hT/OJUWZcw8MjlSRnxvw==", + "dependencies": { + "punycode": "^2.3.0" + }, + "engines": { + "node": ">=14" + } + }, + "node_modules/trough": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/trough/-/trough-2.1.0.tgz", + "integrity": "sha512-AqTiAOLcj85xS7vQ8QkAV41hPDIJ71XJB4RCUrzo/1GM2CQwhkJGaf9Hgr7BOugMRpgGUrqRg/DrBDl4H40+8g==", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/type-check": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.4.0.tgz", + "integrity": "sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==", + "dev": true, + "dependencies": { + "prelude-ls": "^1.2.1" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/type-detect": { + "version": "4.0.8", + "resolved": "https://registry.npmjs.org/type-detect/-/type-detect-4.0.8.tgz", + "integrity": "sha512-0fr/mIH1dlO+x7TlcMy+bIDqKPsw/70tVyeHW787goQjhmqaZe10uwLujubK9q9Lg6Fiho1KUKDYz0Z7k7g5/g==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/type-fest": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-1.4.0.tgz", + "integrity": "sha512-yGSza74xk0UG8k+pLh5oeoYirvIiWo5t0/o3zHHAO2tRDiZcxWP7fywNlXhqb6/r6sWvwi+RsyQMWhVLe4BVuA==", + "dev": true, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/typedarray": { + "version": "0.0.6", + "resolved": "https://registry.npmjs.org/typedarray/-/typedarray-0.0.6.tgz", + "integrity": "sha512-/aCDEGatGvZ2BIk+HmLf4ifCJFwvKFNb9/JeZPMulfgFracn9QFcAf5GO8B/mweUjSoblS5In0cWhqpfs/5PQA==" + }, + "node_modules/typedarray-to-buffer": { + "version": "3.1.5", + "resolved": "https://registry.npmjs.org/typedarray-to-buffer/-/typedarray-to-buffer-3.1.5.tgz", + "integrity": "sha512-zdu8XMNEDepKKR+XYOXAVPtWui0ly0NtohUscw+UmaHiAWT8hrV1rr//H6V+0DvJ3OQ19S979M0laLfX8rm82Q==", + "dev": true, + "dependencies": { + "is-typedarray": "^1.0.0" + } + }, + "node_modules/unicode-canonical-property-names-ecmascript": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/unicode-canonical-property-names-ecmascript/-/unicode-canonical-property-names-ecmascript-2.0.0.tgz", + "integrity": "sha512-yY5PpDlfVIU5+y/BSCxAJRBIS1Zc2dDG3Ujq+sR0U+JjUevW2JhocOF+soROYDSaAezOzOKuyyixhD6mBknSmQ==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/unicode-match-property-ecmascript": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/unicode-match-property-ecmascript/-/unicode-match-property-ecmascript-2.0.0.tgz", + "integrity": "sha512-5kaZCrbp5mmbz5ulBkDkbY0SsPOjKqVS35VpL9ulMPfSl0J0Xsm+9Evphv9CoIZFwre7aJoa94AY6seMKGVN5Q==", + "dev": true, + "dependencies": { + "unicode-canonical-property-names-ecmascript": "^2.0.0", + "unicode-property-aliases-ecmascript": "^2.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/unicode-match-property-value-ecmascript": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/unicode-match-property-value-ecmascript/-/unicode-match-property-value-ecmascript-2.1.0.tgz", + "integrity": "sha512-qxkjQt6qjg/mYscYMC0XKRn3Rh0wFPlfxB0xkt9CfyTvpX1Ra0+rAmdX2QyAobptSEvuy4RtpPRui6XkV+8wjA==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/unicode-property-aliases-ecmascript": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/unicode-property-aliases-ecmascript/-/unicode-property-aliases-ecmascript-2.1.0.tgz", + "integrity": "sha512-6t3foTQI9qne+OZoVQB/8x8rk2k1eVy1gRXhV3oFQ5T6R1dqQ1xtin3XqSlx3+ATBkliTaR/hHyJBm+LVPNM8w==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/unified": { + "version": "10.1.2", + "resolved": "https://registry.npmjs.org/unified/-/unified-10.1.2.tgz", + "integrity": "sha512-pUSWAi/RAnVy1Pif2kAoeWNBa3JVrx0MId2LASj8G+7AiHWoKZNTomq6LG326T68U7/e263X6fTdcXIy7XnF7Q==", + "dependencies": { + "@types/unist": "^2.0.0", + "bail": "^2.0.0", + "extend": "^3.0.0", + "is-buffer": "^2.0.0", + "is-plain-obj": "^4.0.0", + "trough": "^2.0.0", + "vfile": "^5.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/unified/node_modules/@types/unist": { + "version": "2.0.8", + "resolved": "https://registry.npmjs.org/@types/unist/-/unist-2.0.8.tgz", + "integrity": "sha512-d0XxK3YTObnWVp6rZuev3c49+j4Lo8g4L1ZRm9z5L0xpoZycUPshHgczK5gsUMaZOstjVYYi09p5gYvUtfChYw==" + }, + "node_modules/unified/node_modules/unist-util-stringify-position": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/unist-util-stringify-position/-/unist-util-stringify-position-3.0.3.tgz", + "integrity": "sha512-k5GzIBZ/QatR8N5X2y+drfpWG8IDBzdnVj6OInRNWm1oXrzydiaAT2OQiA8DPRRZyAKb9b6I2a6PxYklZD0gKg==", + "dependencies": { + "@types/unist": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/unified/node_modules/vfile": { + "version": "5.3.7", + "resolved": "https://registry.npmjs.org/vfile/-/vfile-5.3.7.tgz", + "integrity": "sha512-r7qlzkgErKjobAmyNIkkSpizsFPYiUPuJb5pNW1RB4JcYVZhs4lIbVqk8XPk033CV/1z8ss5pkax8SuhGpcG8g==", + "dependencies": { + "@types/unist": "^2.0.0", + "is-buffer": "^2.0.0", + "unist-util-stringify-position": "^3.0.0", + "vfile-message": "^3.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/unified/node_modules/vfile-message": { + "version": "3.1.4", + "resolved": "https://registry.npmjs.org/vfile-message/-/vfile-message-3.1.4.tgz", + "integrity": "sha512-fa0Z6P8HUrQN4BZaX05SIVXic+7kE3b05PWAtPuYP9QLHsLKYR7/AlLW3NtOrpXRLeawpDLMsVkmk5DG0NXgWw==", + "dependencies": { + "@types/unist": "^2.0.0", + "unist-util-stringify-position": "^3.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/unist-util-find-after": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/unist-util-find-after/-/unist-util-find-after-5.0.0.tgz", + "integrity": "sha512-amQa0Ep2m6hE2g72AugUItjbuM8X8cGQnFoHk0pGfrFeT9GZhzN5SW8nRsiGKK7Aif4CrACPENkA6P/Lw6fHGQ==", + "dependencies": { + "@types/unist": "^3.0.0", + "unist-util-is": "^6.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/unist-util-is": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/unist-util-is/-/unist-util-is-6.0.0.tgz", + "integrity": "sha512-2qCTHimwdxLfz+YzdGfkqNlH0tLi9xjTnHddPmJwtIG9MGsdbutfTc4P+haPD7l7Cjxf/WZj+we5qfVPvvxfYw==", + "dependencies": { + "@types/unist": "^3.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/unist-util-stringify-position": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/unist-util-stringify-position/-/unist-util-stringify-position-4.0.0.tgz", + "integrity": "sha512-0ASV06AAoKCDkS2+xw5RXJywruurpbC4JZSm7nr7MOt1ojAzvyyaO+UxZf18j8FCF6kmzCZKcAgN/yu2gm2XgQ==", + "dependencies": { + "@types/unist": "^3.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/unist-util-visit": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/unist-util-visit/-/unist-util-visit-4.1.2.tgz", + "integrity": "sha512-MSd8OUGISqHdVvfY9TPhyK2VdUrPgxkUtWSuMHF6XAAFuL4LokseigBnZtPnJMu+FbynTkFNnFlyjxpVKujMRg==", + "dependencies": { + "@types/unist": "^2.0.0", + "unist-util-is": "^5.0.0", + "unist-util-visit-parents": "^5.1.1" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/unist-util-visit-parents": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/unist-util-visit-parents/-/unist-util-visit-parents-6.0.1.tgz", + "integrity": "sha512-L/PqWzfTP9lzzEa6CKs0k2nARxTdZduw3zyh8d2NVBnsyvHjSX4TWse388YrrQKbvI8w20fGjGlhgT96WwKykw==", + "dependencies": { + "@types/unist": "^3.0.0", + "unist-util-is": "^6.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/unist-util-visit/node_modules/@types/unist": { + "version": "2.0.8", + "resolved": "https://registry.npmjs.org/@types/unist/-/unist-2.0.8.tgz", + "integrity": "sha512-d0XxK3YTObnWVp6rZuev3c49+j4Lo8g4L1ZRm9z5L0xpoZycUPshHgczK5gsUMaZOstjVYYi09p5gYvUtfChYw==" + }, + "node_modules/unist-util-visit/node_modules/unist-util-is": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/unist-util-is/-/unist-util-is-5.2.1.tgz", + "integrity": "sha512-u9njyyfEh43npf1M+yGKDGVPbY/JWEemg5nH05ncKPfi+kBbKBJoTdsogMu33uhytuLlv9y0O7GH7fEdwLdLQw==", + "dependencies": { + "@types/unist": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/unist-util-visit/node_modules/unist-util-visit-parents": { + "version": "5.1.3", + "resolved": "https://registry.npmjs.org/unist-util-visit-parents/-/unist-util-visit-parents-5.1.3.tgz", + "integrity": "sha512-x6+y8g7wWMyQhL1iZfhIPhDAs7Xwbn9nRosDXl7qoPTSCy0yNxnKc+hWokFifWQIDGi154rdUqKvbCa4+1kLhg==", + "dependencies": { + "@types/unist": "^2.0.0", + "unist-util-is": "^5.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/universalify": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/universalify/-/universalify-0.2.0.tgz", + "integrity": "sha512-CJ1QgKmNg3CwvAv/kOFmtnEN05f0D/cn9QntgNOQlQF9dgvVTHj3t+8JPdjqawCHk7V/KA+fbUqzZ9XWhcqPUg==", + "engines": { + "node": ">= 4.0.0" + } + }, + "node_modules/update-browserslist-db": { + "version": "1.0.13", + "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.0.13.tgz", + "integrity": "sha512-xebP81SNcPuNpPP3uzeW1NYXxI3rxyJzF3pD6sH4jE7o/IX+WtSpwnVU+qIsDPyk0d3hmFQ7mjqc6AtV604hbg==", + "dev": true, + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/browserslist" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/browserslist" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "dependencies": { + "escalade": "^3.1.1", + "picocolors": "^1.0.0" + }, + "bin": { + "update-browserslist-db": "cli.js" + }, + "peerDependencies": { + "browserslist": ">= 4.21.0" + } + }, + "node_modules/uri-js": { + "version": "4.4.1", + "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz", + "integrity": "sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==", + "dev": true, + "dependencies": { + "punycode": "^2.1.0" + } + }, + "node_modules/url-parse": { + "version": "1.5.10", + "resolved": "https://registry.npmjs.org/url-parse/-/url-parse-1.5.10.tgz", + "integrity": "sha512-WypcfiRhfeUP9vvF0j6rw0J3hrWrw6iZv3+22h6iRMJ/8z1Tj6XfLP4DsUix5MhMPnXpiHDoKyoZ/bdCkwBCiQ==", + "dependencies": { + "querystringify": "^2.1.1", + "requires-port": "^1.0.0" + } + }, + "node_modules/util-deprecate": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", + "integrity": "sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==" + }, + "node_modules/uuid": { + "version": "8.3.2", + "resolved": "https://registry.npmjs.org/uuid/-/uuid-8.3.2.tgz", + "integrity": "sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==", + "dev": true, + "bin": { + "uuid": "dist/bin/uuid" + } + }, + "node_modules/vfile": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/vfile/-/vfile-6.0.1.tgz", + "integrity": "sha512-1bYqc7pt6NIADBJ98UiG0Bn/CHIVOoZ/IyEkqIruLg0mE1BKzkOXY2D6CSqQIcKqgadppE5lrxgWXJmXd7zZJw==", + "dependencies": { + "@types/unist": "^3.0.0", + "unist-util-stringify-position": "^4.0.0", + "vfile-message": "^4.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/vfile-message": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/vfile-message/-/vfile-message-4.0.2.tgz", + "integrity": "sha512-jRDZ1IMLttGj41KcZvlrYAaI3CfqpLpfpf+Mfig13viT6NKvRzWZ+lXz0Y5D60w6uJIBAOGq9mSHf0gktF0duw==", + "dependencies": { + "@types/unist": "^3.0.0", + "unist-util-stringify-position": "^4.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/w3c-xmlserializer": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/w3c-xmlserializer/-/w3c-xmlserializer-4.0.0.tgz", + "integrity": "sha512-d+BFHzbiCx6zGfz0HyQ6Rg69w9k19nviJspaj4yNscGjrHu94sVP+aRm75yEbCh+r2/yR+7q6hux9LVtbuTGBw==", + "dependencies": { + "xml-name-validator": "^4.0.0" + }, + "engines": { + "node": ">=14" + } + }, + "node_modules/web-namespaces": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/web-namespaces/-/web-namespaces-2.0.1.tgz", + "integrity": "sha512-bKr1DkiNa2krS7qxNtdrtHAmzuYGFQLiQ13TsorsdT6ULTkPLKuu5+GsFpDlg6JFjUTwX2DyhMPG2be8uPrqsQ==", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/webidl-conversions": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-7.0.0.tgz", + "integrity": "sha512-VwddBukDzu71offAQR975unBIGqfKZpM+8ZX6ySk8nYhVoo5CYaZyzt3YBvYtRtO+aoGlqxPg/B87NGVZ/fu6g==", + "engines": { + "node": ">=12" + } + }, + "node_modules/whatwg-encoding": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/whatwg-encoding/-/whatwg-encoding-2.0.0.tgz", + "integrity": "sha512-p41ogyeMUrw3jWclHWTQg1k05DSVXPLcVxRTYsXUk+ZooOCZLcoYgPZ/HL/D/N+uQPOtcp1me1WhBEaX02mhWg==", + "dependencies": { + "iconv-lite": "0.6.3" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/whatwg-mimetype": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/whatwg-mimetype/-/whatwg-mimetype-3.0.0.tgz", + "integrity": "sha512-nt+N2dzIutVRxARx1nghPKGv1xHikU7HKdfafKkLNLindmPU/ch3U31NOCGGA/dmPcmb1VlofO0vnKAcsm0o/Q==", + "engines": { + "node": ">=12" + } + }, + "node_modules/whatwg-url": { + "version": "12.0.1", + "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-12.0.1.tgz", + "integrity": "sha512-Ed/LrqB8EPlGxjS+TrsXcpUond1mhccS3pchLhzSgPCnTimUCKj3IZE75pAs5m6heB2U2TMerKFUXheyHY+VDQ==", + "dependencies": { + "tr46": "^4.1.1", + "webidl-conversions": "^7.0.0" + }, + "engines": { + "node": ">=14" + } + }, + "node_modules/which": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", + "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", + "dev": true, + "dependencies": { + "isexe": "^2.0.0" + }, + "bin": { + "node-which": "bin/node-which" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/which-module": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/which-module/-/which-module-2.0.1.tgz", + "integrity": "sha512-iBdZ57RDvnOR9AGBhML2vFZf7h8vmBjhoaZqODJBFWHVtKkDmKuHai3cx5PgVMrX5YDNp27AofYbAwctSS+vhQ==", + "dev": true + }, + "node_modules/wicked-good-xpath": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/wicked-good-xpath/-/wicked-good-xpath-1.3.0.tgz", + "integrity": "sha512-Gd9+TUn5nXdwj/hFsPVx5cuHHiF5Bwuc30jZ4+ronF1qHK5O7HD0sgmXWSEgwKquT3ClLoKPVbO6qGwVwLzvAw==" + }, + "node_modules/workerpool": { + "version": "6.2.1", + "resolved": "https://registry.npmjs.org/workerpool/-/workerpool-6.2.1.tgz", + "integrity": "sha512-ILEIE97kDZvF9Wb9f6h5aXK4swSlKGUcOEGiIYb2OOu/IrDU9iwj0fD//SsA6E5ibwJxpEvhullJY4Sl4GcpAw==", + "dev": true + }, + "node_modules/wrap-ansi": { + "version": "8.1.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-8.1.0.tgz", + "integrity": "sha512-si7QWI6zUMq56bESFvagtmzMdGOtoxfR+Sez11Mobfc7tm+VkUckk9bW2UeffTGVUbOksxmSw0AA2gs8g71NCQ==", + "dev": true, + "dependencies": { + "ansi-styles": "^6.1.0", + "string-width": "^5.0.1", + "strip-ansi": "^7.0.1" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/wrap-ansi?sponsor=1" + } + }, + "node_modules/wrap-ansi-cjs": { + "name": "wrap-ansi", + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", + "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", + "dev": true, + "dependencies": { + "ansi-styles": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/wrap-ansi?sponsor=1" + } + }, + "node_modules/wrap-ansi-cjs/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/wrap-ansi-cjs/node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/wrap-ansi-cjs/node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true + }, + "node_modules/wrap-ansi-cjs/node_modules/emoji-regex": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", + "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", + "dev": true + }, + "node_modules/wrap-ansi-cjs/node_modules/is-fullwidth-code-point": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", + "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/wrap-ansi-cjs/node_modules/string-width": { + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", + "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", + "dev": true, + "dependencies": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/wrap-ansi/node_modules/ansi-regex": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.0.1.tgz", + "integrity": "sha512-n5M855fKb2SsfMIiFFoVrABHJC8QtHwVx+mHWP3QcEqBHYienj5dHSgjbxtC0WEZXYt4wcD6zrQElDPhFuZgfA==", + "dev": true, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/ansi-regex?sponsor=1" + } + }, + "node_modules/wrap-ansi/node_modules/ansi-styles": { + "version": "6.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-6.2.1.tgz", + "integrity": "sha512-bN798gFfQX+viw3R7yrGWRqnrN2oRkEkUjjl4JNn4E8GxxbjtG3FbrEIIY3l8/hrwUwIeCZvi4QuOTP4MErVug==", + "dev": true, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/wrap-ansi/node_modules/strip-ansi": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.1.0.tgz", + "integrity": "sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ==", + "dev": true, + "dependencies": { + "ansi-regex": "^6.0.1" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/strip-ansi?sponsor=1" + } + }, + "node_modules/wrappy": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", + "integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==", + "dev": true + }, + "node_modules/write-file-atomic": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-3.0.3.tgz", + "integrity": "sha512-AvHcyZ5JnSfq3ioSyjrBkH9yW4m7Ayk8/9My/DD9onKeu/94fwrMocemO2QAJFAlnnDN+ZDS+ZjAR5ua1/PV/Q==", + "dev": true, + "dependencies": { + "imurmurhash": "^0.1.4", + "is-typedarray": "^1.0.0", + "signal-exit": "^3.0.2", + "typedarray-to-buffer": "^3.1.5" + } + }, + "node_modules/ws": { + "version": "8.14.2", + "resolved": "https://registry.npmjs.org/ws/-/ws-8.14.2.tgz", + "integrity": "sha512-wEBG1ftX4jcglPxgFCMJmZ2PLtSbJ2Peg6TmpJFTbe9GZYOQCDPdMYu/Tm0/bGZkw8paZnJY45J4K2PZrLYq8g==", + "engines": { + "node": ">=10.0.0" + }, + "peerDependencies": { + "bufferutil": "^4.0.1", + "utf-8-validate": ">=5.0.2" + }, + "peerDependenciesMeta": { + "bufferutil": { + "optional": true + }, + "utf-8-validate": { + "optional": true + } + } + }, + "node_modules/xml-name-validator": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/xml-name-validator/-/xml-name-validator-4.0.0.tgz", + "integrity": "sha512-ICP2e+jsHvAj2E2lIHxa5tjXRlKDJo4IdvPvCXbXQGdzSfmSpNVyIKMvoZHjDY9DP0zV17iI85o90vRFXNccRw==", + "engines": { + "node": ">=12" + } + }, + "node_modules/xmlchars": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/xmlchars/-/xmlchars-2.2.0.tgz", + "integrity": "sha512-JZnDKK8B0RCDw84FNdDAIpZK+JuJw+s7Lz8nksI7SIuU3UXJJslUthsi+uWBUYOwPFwW7W7PRLRfUKpxjtjFCw==" + }, + "node_modules/xmldom-sre": { + "version": "0.1.31", + "resolved": "https://registry.npmjs.org/xmldom-sre/-/xmldom-sre-0.1.31.tgz", + "integrity": "sha512-f9s+fUkX04BxQf+7mMWAp5zk61pciie+fFLC9hX9UVvCeJQfNHRHXpeo5MPcR0EUf57PYLdt+ZO4f3Ipk2oZUw==", + "engines": { + "node": ">=0.1" + } + }, + "node_modules/y18n": { + "version": "5.0.8", + "resolved": "https://registry.npmjs.org/y18n/-/y18n-5.0.8.tgz", + "integrity": "sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==", + "dev": true, + "engines": { + "node": ">=10" + } + }, + "node_modules/yallist": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz", + "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==", + "dev": true + }, + "node_modules/yaml": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/yaml/-/yaml-2.3.1.tgz", + "integrity": "sha512-2eHWfjaoXgTBC2jNM1LRef62VQa0umtvRiDSk6HSzW7RvS5YtkabJrwYLLEKWBc8a5U2PTSCs+dJjUTJdlHsWQ==", + "dev": true, + "engines": { + "node": ">= 14" + } + }, + "node_modules/yargs": { + "version": "16.2.0", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-16.2.0.tgz", + "integrity": "sha512-D1mvvtDG0L5ft/jGWkLpG1+m0eQxOfaBvTNELraWj22wSVUMWxZUvYgJYcKh6jGGIkJFhH4IZPQhR4TKpc8mBw==", + "dev": true, + "dependencies": { + "cliui": "^7.0.2", + "escalade": "^3.1.1", + "get-caller-file": "^2.0.5", + "require-directory": "^2.1.1", + "string-width": "^4.2.0", + "y18n": "^5.0.5", + "yargs-parser": "^20.2.2" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/yargs-parser": { + "version": "20.2.4", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-20.2.4.tgz", + "integrity": "sha512-WOkpgNhPTlE73h4VFAFsOnomJVaovO8VqLDzy5saChRBFQFBoMYirowyW+Q9HB4HFF4Z7VZTiG3iSzJJA29yRA==", + "dev": true, + "engines": { + "node": ">=10" + } + }, + "node_modules/yargs-unparser": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/yargs-unparser/-/yargs-unparser-2.0.0.tgz", + "integrity": "sha512-7pRTIA9Qc1caZ0bZ6RYRGbHJthJWuakf+WmHK0rVeLkNrrGhfoabBNdue6kdINI6r4if7ocq9aD/n7xwKOdzOA==", + "dev": true, + "dependencies": { + "camelcase": "^6.0.0", + "decamelize": "^4.0.0", + "flat": "^5.0.2", + "is-plain-obj": "^2.1.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/yargs-unparser/node_modules/camelcase": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-6.3.0.tgz", + "integrity": "sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA==", + "dev": true, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/yargs-unparser/node_modules/decamelize": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-4.0.0.tgz", + "integrity": "sha512-9iE1PgSik9HeIIw2JO94IidnE3eBoQrFJ3w7sFuzSX4DpmZ3v5sZpUiV5Swcf6mQEF+Y0ru8Neo+p+nyh2J+hQ==", + "dev": true, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/yargs-unparser/node_modules/is-plain-obj": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-2.1.0.tgz", + "integrity": "sha512-YWnfyRwxL/+SsrWYfOpUtz5b3YD+nyfkHvjbcanzk8zgyO4ASD67uVMRt8k5bM4lLMDnXfriRhOpemw+NfT1eA==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/yargs/node_modules/emoji-regex": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", + "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", + "dev": true + }, + "node_modules/yargs/node_modules/is-fullwidth-code-point": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", + "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/yargs/node_modules/string-width": { + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", + "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", + "dev": true, + "dependencies": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/yocto-queue": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-0.1.0.tgz", + "integrity": "sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==", + "dev": true, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "remark-mathjax": { + "name": "rehype-mathjax", + "version": "5.0.0", + "license": "MIT", + "dependencies": { + "@types/hast": "^3.0.0", + "@types/mathjax": "^0.0.37", + "hast-util-from-dom": "^5.0.0", + "hast-util-to-text": "^4.0.0", + "jsdom": "^22.0.0", + "mathjax-full": "^3.0.0", + "unified": "^11.0.0", + "unist-util-visit-parents": "^6.0.0" + }, + "devDependencies": { + "@types/jsdom": "^21.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "remark-mathjax/node_modules/unified": { + "version": "11.0.3", + "resolved": "https://registry.npmjs.org/unified/-/unified-11.0.3.tgz", + "integrity": "sha512-jlCV402P+YDcFcB2VcN/n8JasOddqIiaxv118wNBoZXEhOn+lYG7BR4Bfg2BwxvlK58dwbuH2w7GX2esAjL6Mg==", + "dependencies": { + "@types/unist": "^3.0.0", + "bail": "^2.0.0", + "devlop": "^1.0.0", + "extend": "^3.0.0", + "is-plain-obj": "^4.0.0", + "trough": "^2.0.0", + "vfile": "^6.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + } + } +} diff --git a/remark-typst/package.json b/remark-typst/package.json new file mode 100644 index 0000000..7bead6c --- /dev/null +++ b/remark-typst/package.json @@ -0,0 +1,23 @@ +{ + "name": "remark-typst", + "version": "0.14.0", + "description": "A tool to compile mdast to Typst, remastered.", + "type": "module", + "main": "index.js", + "dependencies": { + "sync-request": "^6.1.0", + "to-vfile": "^8.0.0", + "unified": "^10.1.2", + "unist-util-visit": "^4.1.0", + "remark-mathjax": "file:./remark-mathjax", + "escape-typst": "file:./escape-typst" + }, + "scripts": { + "test": "node test.js" + }, + "keywords": [ + "remark", + "typst", + "markdown" + ] +} diff --git a/remark-typst/remark-mathjax/.gitignore b/remark-typst/remark-mathjax/.gitignore new file mode 100644 index 0000000..c2658d7 --- /dev/null +++ b/remark-typst/remark-mathjax/.gitignore @@ -0,0 +1 @@ +node_modules/ diff --git a/remark-typst/remark-mathjax/.npmrc b/remark-typst/remark-mathjax/.npmrc new file mode 100644 index 0000000..3757b30 --- /dev/null +++ b/remark-typst/remark-mathjax/.npmrc @@ -0,0 +1,2 @@ +ignore-scripts=true +package-lock=false diff --git a/remark-typst/remark-mathjax/browser.d.ts b/remark-typst/remark-mathjax/browser.d.ts new file mode 100644 index 0000000..35cbab6 --- /dev/null +++ b/remark-typst/remark-mathjax/browser.d.ts @@ -0,0 +1,12 @@ +import {Plugin} from 'unified' // eslint-disable-line import/no-extraneous-dependencies + +// http://docs.mathjax.org/en/latest/options/input/tex.html#the-configuration-block +type MathNotation = [string, string] +interface BrowserOptions { + displayMath?: MathNotation | MathNotation[] + inlineMath?: MathNotation | MathNotation[] +} + +declare const renderBrowser: Plugin<[BrowserOptions?]> + +export = renderBrowser diff --git a/remark-typst/remark-mathjax/browser.js b/remark-typst/remark-mathjax/browser.js new file mode 100644 index 0000000..8937594 --- /dev/null +++ b/remark-typst/remark-mathjax/browser.js @@ -0,0 +1,5 @@ +/** + * @typedef {import('./lib/create-plugin.js').Options} Options + */ + +export {default} from './lib/browser.js' diff --git a/remark-typst/remark-mathjax/chtml.d.ts b/remark-typst/remark-mathjax/chtml.d.ts new file mode 100644 index 0000000..6f8e560 --- /dev/null +++ b/remark-typst/remark-mathjax/chtml.d.ts @@ -0,0 +1,43 @@ +import {Plugin} from 'unified' // eslint-disable-line import/no-extraneous-dependencies + +// http://docs.mathjax.org/en/latest/options/output/chtml.html#the-configuration-block +interface MathJaxCHtmlOptions { + scale?: number + minScale?: number + matchFontHeight?: boolean + mtextInheritFont?: boolean + merrorInheritFont?: boolean + mathmlSpacing?: boolean + skipAttributes?: Record + exFactor?: number + displayAlign?: 'left' | 'center' | 'right' + displayIndent?: string + fontURL: string + adaptiveCSS?: boolean +} + +// http://docs.mathjax.org/en/latest/options/input/tex.html#the-configuration-block +interface MathJaxInputTexOptions { + packages: string[] + inlineMath: [[string, string]] + displayMath: [[string, string]] + processEscapes: boolean + processEnvironments: boolean + processRefs: boolean + digits: RegExp + tags: 'none' | 'ams' | 'all' + tagSide: 'left' | 'right' + tagIndent: string + useLabelIds: boolean + multlineWidth: string + maxMacros: number + maxBuffer: number + baseURL: string + formatError: (jax: any, error: any) => string +} + +declare const renderCHtml: Plugin< + [MathJaxCHtmlOptions & {tex?: Partial}] +> + +export = renderCHtml diff --git a/remark-typst/remark-mathjax/chtml.js b/remark-typst/remark-mathjax/chtml.js new file mode 100644 index 0000000..8845600 --- /dev/null +++ b/remark-typst/remark-mathjax/chtml.js @@ -0,0 +1,5 @@ +/** + * @typedef {import('./lib/create-plugin.js').Options} Options + */ + +export {default} from './lib/chtml.js' diff --git a/remark-typst/remark-mathjax/index.d.ts b/remark-typst/remark-mathjax/index.d.ts new file mode 100644 index 0000000..f75e630 --- /dev/null +++ b/remark-typst/remark-mathjax/index.d.ts @@ -0,0 +1,48 @@ +// Minimum TypeScript Version: 3.2 +import {Plugin} from 'unified' // eslint-disable-line import/no-extraneous-dependencies + +// Should be ported back to MathJax repo +// http://docs.mathjax.org/en/latest/options/output/svg.html#the-configuration-block +interface MathJaxSvgOptions { + scale: number + minScale: number + mtextInheritFont: boolean + merrorInheritFont: boolean + mathmlSpacing: boolean + skipAttributes: Record + exFactor: number + displayAlign: 'left' | 'center' | 'right' + displayIndent: string + fontCache: 'local' | 'global' + localID: string | null + internalSpeechTitles: true + titleID: number +} + +// http://docs.mathjax.org/en/latest/options/input/tex.html#the-configuration-block +interface MathJaxInputTexOptions { + packages: string[] + inlineMath: [[string, string]] + displayMath: [[string, string]] + processEscapes: boolean + processEnvironments: boolean + processRefs: boolean + digits: RegExp + tags: 'none' | 'ams' | 'all' + tagSide: 'left' | 'right' + tagIndent: string + useLabelIds: boolean + multlineWidth: string + maxMacros: number + maxBuffer: number + baseURL: string + formatError: (jax: any, error: any) => string +} + +type RenderSVGOptions = Partial + +declare const renderSvg: Plugin< + [(RenderSVGOptions & {tex?: Partial})?] +> + +export = renderSvg diff --git a/remark-typst/remark-mathjax/index.js b/remark-typst/remark-mathjax/index.js new file mode 100644 index 0000000..98aecf8 --- /dev/null +++ b/remark-typst/remark-mathjax/index.js @@ -0,0 +1 @@ +module.exports = require('./svg') diff --git a/remark-typst/remark-mathjax/lib/adaptor.browser.js b/remark-typst/remark-mathjax/lib/adaptor.browser.js new file mode 100644 index 0000000..f74127c --- /dev/null +++ b/remark-typst/remark-mathjax/lib/adaptor.browser.js @@ -0,0 +1 @@ +module.exports = require('mathjax-full/js/adaptors/browserAdaptor').browserAdaptor diff --git a/remark-typst/remark-mathjax/lib/adaptor.js b/remark-typst/remark-mathjax/lib/adaptor.js new file mode 100644 index 0000000..42ab7f1 --- /dev/null +++ b/remark-typst/remark-mathjax/lib/adaptor.js @@ -0,0 +1,8 @@ +const JsDom = require('jsdom').JSDOM +const adaptor = require('mathjax-full/js/adaptors/jsdomAdaptor').jsdomAdaptor + +module.exports = createAdaptor + +function createAdaptor() { + return adaptor(JsDom) +} diff --git a/remark-typst/remark-mathjax/lib/browser.js b/remark-typst/remark-mathjax/lib/browser.js new file mode 100644 index 0000000..2d1a52c --- /dev/null +++ b/remark-typst/remark-mathjax/lib/browser.js @@ -0,0 +1,32 @@ +/** + * @typedef {import('./create-plugin.js').InputTexOptions} InputTexOptions + */ + +import {createPlugin} from './create-plugin.js' + +/** @type {Readonly} */ +const emptyTexOptions = {} + +/** + * Render elements with a `language-math` (or `math-display`, `math-inline`) + * class with MathJax with marker for MathJax in the browser. + * + * @param [options] + * Configuration (optional). + * @returns + * Transform. + */ +const rehypeMathJaxBrowser = createPlugin(function (options) { + const tex = options.tex || emptyTexOptions + const display = tex.displayMath || [['\\[', '\\]']] + const inline = tex.inlineMath || [['\\(', '\\)']] + + return { + render(value, options) { + const delimiters = (options.display ? display : inline)[0] + return [{type: 'text', value: delimiters[0] + value + delimiters[1]}] + } + } +}) + +export default rehypeMathJaxBrowser diff --git a/remark-typst/remark-mathjax/lib/chtml.js b/remark-typst/remark-mathjax/lib/chtml.js new file mode 100644 index 0000000..0201905 --- /dev/null +++ b/remark-typst/remark-mathjax/lib/chtml.js @@ -0,0 +1,24 @@ +import {CHTML} from 'mathjax-full/js/output/chtml.js' +import {createPlugin} from './create-plugin.js' +import {createRenderer} from './create-renderer.js' + +/** + * Render elements with a `language-math` (or `math-display`, `math-inline`) + * class with MathJax using CHTML. + * + * @param options + * Configuration (`options.chtml.fontURL` is required). + * @returns + * Transform. + */ +const rehypeMathJaxCHtml = createPlugin(function (options) { + if (!options.chtml || !options.chtml.fontURL) { + throw new Error( + 'rehype-mathjax: missing `fontURL` in options, which must be set to a URL to reach MathJaX fonts' + ) + } + + return createRenderer(options, new CHTML(options.chtml)) +}) + +export default rehypeMathJaxCHtml diff --git a/remark-typst/remark-mathjax/lib/core.js b/remark-typst/remark-mathjax/lib/core.js new file mode 100644 index 0000000..ac3666f --- /dev/null +++ b/remark-typst/remark-mathjax/lib/core.js @@ -0,0 +1,72 @@ +const visit = require('unist-util-visit') + +module.exports = createPlugin + +// To do next major: Remove `chtml` and `browser` flags once all the options use +// the same format. +function createPlugin(displayName, createRenderer, chtml, browser) { + attacher.displayName = displayName + + return attacher + + function attacher(options) { + if (chtml && (!options || !options.fontURL)) { + throw new Error( + 'rehype-mathjax: missing `fontURL` in options, which must be set to a URL to reach MathJaX fonts' + ) + } + + const inputOptions = browser ? options : (options || {}).tex + let outputOptions = options || {} + if ('tex' in outputOptions) { + outputOptions = Object.assign({}, outputOptions) + delete outputOptions.tex + } + + transform.displayName = displayName + 'Transform' + + return transform + + function transform(tree) { + const renderer = createRenderer(inputOptions, outputOptions) + + // let context = tree + // let found = false + + visit(tree, 'math', (node) => { + renderer.render(node, {display: true}) + + return visit.SKIP + }) + + visit(tree, 'inlineMath', (node) => { + renderer.render(node, {display: false}) + + return visit.SKIP + }) + + // if (found && renderer.styleSheet) { + // context.children.push(renderer.styleSheet()) + // } + + // function onelement(node) { + // const classes = node.properties.className || [] + // const inline = classes.includes('math-inline') + // const display = classes.includes('math-display') + + // if (node.tagName === 'head') { + // context = node + // } + + // if (!inline && !display) { + // return + // } + + // found = true + // renderer.render(node, {display: display}) + + // return visit.SKIP + // } + } + } +} diff --git a/remark-typst/remark-mathjax/lib/create-adapter.browser.js b/remark-typst/remark-mathjax/lib/create-adapter.browser.js new file mode 100644 index 0000000..c6729ab --- /dev/null +++ b/remark-typst/remark-mathjax/lib/create-adapter.browser.js @@ -0,0 +1 @@ +export {browserAdaptor as createAdapter} from 'mathjax-full/js/adaptors/browserAdaptor.js' diff --git a/remark-typst/remark-mathjax/lib/create-adapter.default.js b/remark-typst/remark-mathjax/lib/create-adapter.default.js new file mode 100644 index 0000000..0cf7705 --- /dev/null +++ b/remark-typst/remark-mathjax/lib/create-adapter.default.js @@ -0,0 +1,6 @@ +import {JSDOM} from 'jsdom' +import {jsdomAdaptor as jsdomAdapter} from 'mathjax-full/js/adaptors/jsdomAdaptor.js' + +export function createAdapter() { + return jsdomAdapter(JSDOM) +} diff --git a/remark-typst/remark-mathjax/lib/create-plugin.js b/remark-typst/remark-mathjax/lib/create-plugin.js new file mode 100644 index 0000000..fb72d27 --- /dev/null +++ b/remark-typst/remark-mathjax/lib/create-plugin.js @@ -0,0 +1,277 @@ +/** + * @typedef {import('hast').Element} Element + * @typedef {import('hast').ElementContent} ElementContent + * @typedef {import('hast').Root} Root + */ + +/** + * @callback CreateRenderer + * Create a renderer. + * @param {Readonly} options + * Configuration. + * @returns {Renderer} + * Rendeder. + * + * @callback FormatError + * Format an error. + * @param {any} jax + * MathJax object. + * @param {any} error + * Error. + * @returns {string} + * Formatted error. + * + * @typedef InputTexOptions + * Configuration for input tex math. + * + * @property {string | null | undefined} [baseURL] + * URL for use with links to tags, when there is a `` tag in effect + * (optional). + * @property {RegExp | null | undefined} [digits] + * Pattern for recognizing numbers (optional). + * @property {ReadonlyArray | null | undefined} [displayMath] + * Start/end delimiter pairs for display math (optional). + * @property {FormatError | null | undefined} [formatError] + * Function called when TeX syntax errors occur (optional). + * @property {ReadonlyArray | null | undefined} [inlineMath] + * Start/end delimiter pairs for in-line math (optional). + * @property {number | null | undefined} [maxBuffer] + * Max size for the internal TeX string (5K) (optional). + * @property {number | null | undefined} [maxMacros] + * Max number of macro substitutions per expression (optional). + * @property {ReadonlyArray | null | undefined} [packages] + * Extensions to use (optional). + * @property {boolean | null | undefined} [processEnvironments] + * Process `\begin{xxx}...\end{xxx}` outside math mode (optional). + * @property {boolean | null | undefined} [processEscapes] + * Use `\$` to produce a literal dollar sign (optional). + * @property {boolean | null | undefined} [processRefs] + * Process `\ref{...}` outside of math mode (optional). + * @property {string | null | undefined} [tagIndent] + * Amount to indent tags (optional). + * @property {'left' | 'right' | null | undefined} [tagSide] + * Side for `\tag` macros (optional). + * @property {'all' | 'ams' | 'none' | null | undefined} [tags] + * Optional. + * @property {boolean | null | undefined} [useLabelIds] + * Use label name rather than tag for ids (optional). + * + * @typedef {[string, string]} MathNotation + * Markers to use for math. + * See: + * + * @typedef Options + * Configuration. + * + * ###### Notes + * + * When using `rehype-mathjax/browser`, only `options.tex.displayMath` and + * `options.tex.inlineMath` are used. + * That plugin will use the first delimiter pair in those fields to wrap + * math. + * Then you need to load MathJax yourself on the client and start it with the + * same markers. + * You can pass other options on the client. + * + * When using `rehype-mathjax/chtml`, `options.chtml.fontURL` is required. + * For example: + * + * ```js + * // … + * .use(rehypeMathjaxChtml, { + * chtml: { + * fontURL: 'https://cdn.jsdelivr.net/npm/mathjax@3/es5/output/chtml/fonts/woff-v2' + * } + * }) + * // … + * ``` + * @property {Readonly | null | undefined} [chtml] + * Configuration for the output, when CHTML (optional). + * @property {Readonly | null | undefined} [svg] + * Configuration for the output, when SVG (optional). + * @property {Readonly | null | undefined} [tex] + * Configuration for the input TeX (optional). + * + * @typedef OutputCHtmlOptions + * Configuration for output CHTML. + * + * @property {boolean | null | undefined} [adaptiveCSS] + * `true` means only produce CSS that is used in the processed equations (optional). + * @property {'center' | 'left' | 'right' | null | undefined} [displayAlign] + * Default for indentalign when set to `'auto'` (optional). + * @property {string | null | undefined} [displayIndent] + * Default for indentshift when set to `'auto'` (optional). + * @property {number | null | undefined} [exFactor] + * Default size of ex in em units (optional). + * @property {string} fontURL + * The URL where the fonts are found (**required**). + * @property {boolean | null | undefined} [matchFontHeight] + * `true` to match ex-height of surrounding font (optional). + * @property {boolean | null | undefined} [mathmlSpacing] + * `true` for MathML spacing rules, false for TeX rules (optional). + * @property {boolean | null | undefined} [merrorInheritFont] + * `true` to make merror text use surrounding font (optional). + * @property {number | null | undefined} [minScale] + * Smallest scaling factor to use (optional). + * @property {boolean | null | undefined} [mtextInheritFont] + * `true` to make mtext elements use surrounding font (optional). + * @property {number | null | undefined} [scale] + * Global scaling factor for all expressions (optional). + * @property {Readonly> | null | undefined} [skipAttributes] + * RFDa and other attributes NOT to copy to the output (optional). + * + * @typedef OutputSvgOptions + * Configuration for output SVG. + * + * @property {'center' | 'left' | 'right' | null | undefined} [displayAlign] + * Default for indentalign when set to `'auto'` (optional). + * @property {string | null | undefined} [displayIndent] + * Default for indentshift when set to `'auto'` (optional). + * @property {number | null | undefined} [exFactor] + * Default size of ex in em units (optional). + * @property {'global' | 'local' | 'none' | null | undefined} [fontCache] + * Or `'global'` or `'none'` (optional). + * @property {boolean | null | undefined} [internalSpeechTitles] + * Insert `` tags with speech content (optional). + * @property {string | null | undefined} [localID] + * ID to use for local font cache, for single equation processing (optional). + * @property {boolean | null | undefined} [mathmlSpacing] + * `true` for MathML spacing rules, `false` for TeX rules (optional). + * @property {boolean | null | undefined} [merrorInheritFont] + * `true` to make merror text use surrounding font (optional). + * @property {number | null | undefined} [minScale] + * Smallest scaling factor to use (optional). + * @property {boolean | null | undefined} [mtextInheritFont] + * `true` to make mtext elements use surrounding font (optional). + * @property {number | null | undefined} [scale] + * Global scaling factor for all expressions (optional). + * @property {Readonly<Record<string, boolean>> | null | undefined} [skipAttributes] + * RFDa and other attributes *not* to copy to the output (optional). + * @property {number | null | undefined} [titleID] + * Initial ID number to use for `aria-labeledby` titles (optional). + * + * @callback Render + * Render a math node. + * @param {string} value + * Math value. + * @param {Readonly<RenderOptions>} options + * Configuration. + * @returns {Array<ElementContent>} + * Content. + * + * @typedef RenderOptions + * Configuration. + * @property {boolean} display + * Whether to render display math. + * + * @typedef Renderer + * Renderer. + * @property {Render} render + * Render a math node. + * @property {StyleSheet | null | undefined} [styleSheet] + * Render a style sheet (optional). + * + * @callback StyleSheet + * Render a style sheet. + * @returns {Element} + * Style sheet. + */ + +import {toText} from 'hast-util-to-text' +import {SKIP, visitParents} from 'unist-util-visit-parents' + +/** @type {Readonly<Options>} */ +const emptyOptions = {} +/** @type {ReadonlyArray<unknown>} */ +const emptyClasses = [] + +/** + * Create a plugin. + * + * @param {CreateRenderer} createRenderer + * Create a renderer. + * @returns + * Plugin. + */ +export function createPlugin(createRenderer) { + /** + * Plugin. + * + * @param {Readonly<Options> | null | undefined} [options] + * Configuration (optional). + * @returns + * Transform. + */ + return function (options) { + /** + * Transform. + * + * @param {Root} tree + * Tree. + * @returns {undefined} + * Nothing. + */ + return function (tree) { + const renderer = createRenderer(options || emptyOptions) + let found = false + /** @type {Element | Root} */ + let context = tree + + visitParents(tree, 'element', function (element, parents) { + const classes = Array.isArray(element.properties.className) + ? element.properties.className + : emptyClasses + // This class can be generated from markdown with ` ```math `. + const languageMath = classes.includes('language-math') + // This class is used by `remark-math` for flow math (block, `$$\nmath\n$$`). + const mathDisplay = classes.includes('math-display') + // This class is used by `remark-math` for text math (inline, `$math$`). + const mathInline = classes.includes('math-inline') + let display = mathDisplay + + // Find `<head>`. + if (element.tagName === 'head') { + context = element + } + + // Any class is fine. + if (!languageMath && !mathDisplay && !mathInline) { + return + } + + let parent = parents[parents.length - 1] + let scope = element + + // If this was generated with ` ```math `, replace the `<pre>` and use + // display. + if ( + element.tagName === 'code' && + languageMath && + parent && + parent.type === 'element' && + parent.tagName === 'pre' + ) { + scope = parent + parent = parents[parents.length - 2] + display = true + } + + /* c8 ignore next -- verbose to test. */ + if (!parent) return + + found = true + const text = toText(scope, {whitespace: 'pre'}) + const result = renderer.render(text, {display}) + + const index = parent.children.indexOf(scope) + parent.children.splice(index, 1, ...result) + + return SKIP + }) + + if (found && renderer.styleSheet) { + context.children.push(renderer.styleSheet()) + } + } + } +} diff --git a/remark-typst/remark-mathjax/lib/create-renderer.js b/remark-typst/remark-mathjax/lib/create-renderer.js new file mode 100644 index 0000000..64d70e6 --- /dev/null +++ b/remark-typst/remark-mathjax/lib/create-renderer.js @@ -0,0 +1,66 @@ +/** + * @typedef {import('hast').Element} Element + * @typedef {import('mathjax-full/js/core/MathDocument.js').MathDocument<HTMLElement, Text, Document>} MathDocument + * @typedef {import('mathjax-full/js/core/OutputJax.js').OutputJax<HTMLElement, Text, Document>} OutputJax + * @typedef {import('./create-plugin.js').Options} Options + * @typedef {import('./create-plugin.js').Renderer} Renderer + */ + +import {fromDom} from 'hast-util-from-dom' +import {RegisterHTMLHandler} from 'mathjax-full/js/handlers/html.js' +import {TeX} from 'mathjax-full/js/input/tex.js' +import {AllPackages} from 'mathjax-full/js/input/tex/AllPackages.js' +import {mathjax} from 'mathjax-full/js/mathjax.js' +import {createAdapter} from '#create-adapter' + +const adapter = createAdapter() + +// To do next major: Keep resultant HTML handler from `register(adapter)` to +// allow registering the `AssistiveMmlHandler` as in this demo: +// <https://github.com/mathjax/MathJax-demos-node/tree/master/direct> +// +// To do next major: If registering `AssistiveMmlHandler` is supported through +// configuration, move HTML handler registration to beginning of transformer and +// unregister at the end of transformer with +// `mathjax.handlers.unregister(handler)`. +// That is to prevent memory leak in `mathjax.handlers` whenever a new instance +// of the plugin is used. +/* eslint-disable-next-line new-cap */ +RegisterHTMLHandler(adapter) + +/** + * Create a renderer. + * + * @param {Options} options + * Configuration. + * @param {OutputJax} output + * Output jax. + * @returns {Renderer} + * Rendeder. + */ +export function createRenderer(options, output) { + const input = new TeX({packages: AllPackages, ...options.tex}) + /** @type {MathDocument} */ + const doc = mathjax.document('', {InputJax: input, OutputJax: output}) + + return { + render(value, options) { + // Cast as this practically results in `HTMLElement`. + const domNode = /** @type {HTMLElement} */ (doc.convert(value, options)) + // Get SVG from DOM node. + const svg = domNode.children[0] + // Write back to node. + return svg.outerHTML + }, + styleSheet() { + const value = adapter.textContent(output.styleSheet(doc)) + + return { + type: 'element', + tagName: 'style', + properties: {}, + children: [{type: 'text', value}] + } + } + } +} diff --git a/remark-typst/remark-mathjax/lib/input.js b/remark-typst/remark-mathjax/lib/input.js new file mode 100644 index 0000000..86a2de5 --- /dev/null +++ b/remark-typst/remark-mathjax/lib/input.js @@ -0,0 +1,8 @@ +const Tex = require('mathjax-full/js/input/tex').TeX +const packages = require('mathjax-full/js/input/tex/AllPackages').AllPackages + +module.exports = createInput + +function createInput(options) { + return new Tex(Object.assign({packages: packages}, options)) +} diff --git a/remark-typst/remark-mathjax/lib/output-chtml.js b/remark-typst/remark-mathjax/lib/output-chtml.js new file mode 100644 index 0000000..304b0e7 --- /dev/null +++ b/remark-typst/remark-mathjax/lib/output-chtml.js @@ -0,0 +1,7 @@ +const CHtml = require('mathjax-full/js/output/chtml').CHTML + +module.exports = createOutput + +function createOutput(options) { + return new CHtml(options) +} diff --git a/remark-typst/remark-mathjax/lib/output-svg.js b/remark-typst/remark-mathjax/lib/output-svg.js new file mode 100644 index 0000000..8518ffd --- /dev/null +++ b/remark-typst/remark-mathjax/lib/output-svg.js @@ -0,0 +1,7 @@ +const Svg = require('mathjax-full/js/output/svg').SVG + +module.exports = createOutput + +function createOutput(options) { + return new Svg(options) +} diff --git a/remark-typst/remark-mathjax/lib/renderer.js b/remark-typst/remark-mathjax/lib/renderer.js new file mode 100644 index 0000000..9a87539 --- /dev/null +++ b/remark-typst/remark-mathjax/lib/renderer.js @@ -0,0 +1,44 @@ +const mathjax = require('mathjax-full/js/mathjax').mathjax +const register = require('mathjax-full/js/handlers/html').RegisterHTMLHandler +const fromDom = require('hast-util-from-dom') +const toText = require('hast-util-to-text') +const createAdaptor = require('./adaptor') + +module.exports = renderer + +const adaptor = createAdaptor() + +// To do next major: Keep resultant HTML handler from `register(adaptor)` to +// allow registering the `AssistiveMmlHandler` as in this demo: +// <https://github.com/mathjax/MathJax-demos-node/tree/master/direct> +// +// To do next major: If registering `AssistiveMmlHandler` is supported through +// configuration, move HTML handler registration to beginning of transformer and +// unregister at the end of transformer with +// `mathjax.handlers.unregister(handler)`. +// That is to prevent memory leak in `mathjax.handlers` whenever a new instance +// of the plugin is used. +register(adaptor) + +function renderer(input, output) { + const doc = mathjax.document('', {InputJax: input, OutputJax: output}) + + return {render: render, styleSheet: styleSheet} + + function render(node, options) { + const dom = doc.convert(node.value, options) + const html = dom.children[0] + node.value = html.outerHTML + } + + function styleSheet() { + const value = adaptor.textContent(output.styleSheet(doc)) + + return { + type: 'element', + tagName: 'style', + properties: {}, + children: [{type: 'text', value: value}] + } + } +} diff --git a/remark-typst/remark-mathjax/lib/svg.js b/remark-typst/remark-mathjax/lib/svg.js new file mode 100644 index 0000000..128cc72 --- /dev/null +++ b/remark-typst/remark-mathjax/lib/svg.js @@ -0,0 +1,23 @@ +import {SVG} from 'mathjax-full/js/output/svg.js' +import {createPlugin} from './create-plugin.js' +import {createRenderer} from './create-renderer.js' + +/** + * Render elements with a `language-math` (or `math-display`, `math-inline`) + * class with MathJax using SVG. + * + * @param [options] + * Configuration (optional). + * @returns + * Transform. + */ +const rehypeMathJaxSvg = createPlugin(function (options) { + // MathJax types do not allow `null`. + return renderSvg(options) +}) + +export function renderSvg(options) { + return createRenderer(options, new SVG(options.svg || undefined)) +} + +export default rehypeMathJaxSvg diff --git a/remark-typst/remark-mathjax/license b/remark-typst/remark-mathjax/license new file mode 100644 index 0000000..ea38037 --- /dev/null +++ b/remark-typst/remark-mathjax/license @@ -0,0 +1,21 @@ +(The MIT License) + +Copyright (c) 2017 Junyoung Choi <fluke8259@gmail.com> + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. diff --git a/remark-typst/remark-mathjax/package-lock.json b/remark-typst/remark-mathjax/package-lock.json new file mode 100644 index 0000000..f4d06a1 --- /dev/null +++ b/remark-typst/remark-mathjax/package-lock.json @@ -0,0 +1,812 @@ +{ + "name": "rehype-mathjax", + "version": "3.1.0", + "lockfileVersion": 3, + "requires": true, + "packages": { + "": { + "name": "rehype-mathjax", + "version": "3.1.0", + "license": "MIT", + "dependencies": { + "@types/mathjax": "^0.0.36", + "hast-util-from-dom": "^3.0.0", + "hast-util-to-text": "^2.0.0", + "jsdom": "^16.0.0", + "mathjax-full": "^3.0.0", + "unist-util-visit": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/@tootallnate/once": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/@tootallnate/once/-/once-1.1.2.tgz", + "integrity": "sha512-RbzJvlNzmRq5c3O09UipeuXno4tA1FE6ikOjxZK0tuxVv3412l64l5t1W5pj4+rJq9vpkm/kwiR07aZXnsKPxw==", + "engines": { + "node": ">= 6" + } + }, + "node_modules/@types/hast": { + "version": "2.3.5", + "resolved": "https://registry.npmjs.org/@types/hast/-/hast-2.3.5.tgz", + "integrity": "sha512-SvQi0L/lNpThgPoleH53cdjB3y9zpLlVjRbqB3rH8hx1jiRSBGAhyjV3H+URFjNVRqt2EdYNrbZE5IsGlNfpRg==", + "dependencies": { + "@types/unist": "^2" + } + }, + "node_modules/@types/mathjax": { + "version": "0.0.36", + "resolved": "https://registry.npmjs.org/@types/mathjax/-/mathjax-0.0.36.tgz", + "integrity": "sha512-TqDJc2GWuTqd/m+G/FbNkN+/TF2OCCHvcawmhIrUaZkdVquMdNZmNiNUkupNg9qctorXXkVLVSogZv1DhmgLmg==" + }, + "node_modules/@types/unist": { + "version": "2.0.7", + "resolved": "https://registry.npmjs.org/@types/unist/-/unist-2.0.7.tgz", + "integrity": "sha512-cputDpIbFgLUaGQn6Vqg3/YsJwxUwHLO13v3i5ouxT4lat0khip9AEWxtERujXV9wxIB1EyF97BSJFt6vpdI8g==" + }, + "node_modules/abab": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/abab/-/abab-2.0.6.tgz", + "integrity": "sha512-j2afSsaIENvHZN2B8GOpF566vZ5WVk5opAiMTvWgaQT8DkbOqsTfvNAvHoRGU2zzP8cPoqys+xHTRDWW8L+/BA==" + }, + "node_modules/acorn": { + "version": "8.10.0", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.10.0.tgz", + "integrity": "sha512-F0SAmZ8iUtS//m8DmCTA0jlh6TDKkHQyK6xc6V4KDTyZKA9dnvX9/3sRTVQrWm79glUAZbnmmNcdYwUIHWVybw==", + "bin": { + "acorn": "bin/acorn" + }, + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/acorn-globals": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/acorn-globals/-/acorn-globals-6.0.0.tgz", + "integrity": "sha512-ZQl7LOWaF5ePqqcX4hLuv/bLXYQNfNWw2c0/yX/TsPRKamzHcTGQnlCjHT3TsmkOUVEPS3crCxiPfdzE/Trlhg==", + "dependencies": { + "acorn": "^7.1.1", + "acorn-walk": "^7.1.1" + } + }, + "node_modules/acorn-globals/node_modules/acorn": { + "version": "7.4.1", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-7.4.1.tgz", + "integrity": "sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A==", + "bin": { + "acorn": "bin/acorn" + }, + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/acorn-walk": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/acorn-walk/-/acorn-walk-7.2.0.tgz", + "integrity": "sha512-OPdCF6GsMIP+Az+aWfAAOEt2/+iVDKE7oy6lJ098aoe59oAmK76qV6Gw60SbZ8jHuG2wH058GF4pLFbYamYrVA==", + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/agent-base": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-6.0.2.tgz", + "integrity": "sha512-RZNwNclF7+MS/8bDg70amg32dyeZGZxiDuQmZxKLAlQjr3jGyLx+4Kkk58UO7D2QdgFIQCovuSuZESne6RG6XQ==", + "dependencies": { + "debug": "4" + }, + "engines": { + "node": ">= 6.0.0" + } + }, + "node_modules/asynckit": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz", + "integrity": "sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==" + }, + "node_modules/browser-process-hrtime": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/browser-process-hrtime/-/browser-process-hrtime-1.0.0.tgz", + "integrity": "sha512-9o5UecI3GhkpM6DrXr69PblIuWxPKk9Y0jHBRhdocZ2y7YECBFCsHm79Pr3OyR2AvjhDkabFJaDJMYRazHgsow==" + }, + "node_modules/combined-stream": { + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz", + "integrity": "sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==", + "dependencies": { + "delayed-stream": "~1.0.0" + }, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/comma-separated-tokens": { + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/comma-separated-tokens/-/comma-separated-tokens-1.0.8.tgz", + "integrity": "sha512-GHuDRO12Sypu2cV70d1dkA2EUmXHgntrzbpvOB+Qy+49ypNfGgFQIC2fhhXbnyrJRynDCAARsT7Ou0M6hirpfw==", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/commander": { + "version": "9.2.0", + "resolved": "https://registry.npmjs.org/commander/-/commander-9.2.0.tgz", + "integrity": "sha512-e2i4wANQiSXgnrBlIatyHtP1odfUp0BbV5Y5nEGbxtIrStkEOAAzCUirvLBNXHLr7kwLvJl6V+4V3XV9x7Wd9w==", + "engines": { + "node": "^12.20.0 || >=14" + } + }, + "node_modules/cssom": { + "version": "0.4.4", + "resolved": "https://registry.npmjs.org/cssom/-/cssom-0.4.4.tgz", + "integrity": "sha512-p3pvU7r1MyyqbTk+WbNJIgJjG2VmTIaB10rI93LzVPrmDJKkzKYMtxxyAvQXR/NS6otuzveI7+7BBq3SjBS2mw==" + }, + "node_modules/cssstyle": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/cssstyle/-/cssstyle-2.3.0.tgz", + "integrity": "sha512-AZL67abkUzIuvcHqk7c09cezpGNcxUxU4Ioi/05xHk4DQeTkWmGYftIE6ctU6AEt+Gn4n1lDStOtj7FKycP71A==", + "dependencies": { + "cssom": "~0.3.6" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/cssstyle/node_modules/cssom": { + "version": "0.3.8", + "resolved": "https://registry.npmjs.org/cssom/-/cssom-0.3.8.tgz", + "integrity": "sha512-b0tGHbfegbhPJpxpiBPU2sCkigAqtM9O121le6bbOlgyV+NyGyCmVfJ6QW9eRjz8CpNfWEOYBIMIGRYkLwsIYg==" + }, + "node_modules/data-urls": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/data-urls/-/data-urls-2.0.0.tgz", + "integrity": "sha512-X5eWTSXO/BJmpdIKCRuKUgSCgAN0OwliVK3yPKbwIWU1Tdw5BRajxlzMidvh+gwko9AfQ9zIj52pzF91Q3YAvQ==", + "dependencies": { + "abab": "^2.0.3", + "whatwg-mimetype": "^2.3.0", + "whatwg-url": "^8.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/debug": { + "version": "4.3.4", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", + "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", + "dependencies": { + "ms": "2.1.2" + }, + "engines": { + "node": ">=6.0" + }, + "peerDependenciesMeta": { + "supports-color": { + "optional": true + } + } + }, + "node_modules/decimal.js": { + "version": "10.4.3", + "resolved": "https://registry.npmjs.org/decimal.js/-/decimal.js-10.4.3.tgz", + "integrity": "sha512-VBBaLc1MgL5XpzgIP7ny5Z6Nx3UrRkIViUkPUdtl9aya5amy3De1gsUUSB1g3+3sExYNjCAsAznmukyxCb1GRA==" + }, + "node_modules/delayed-stream": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz", + "integrity": "sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==", + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/domexception": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/domexception/-/domexception-2.0.1.tgz", + "integrity": "sha512-yxJ2mFy/sibVQlu5qHjOkf9J3K6zgmCxgJ94u2EdvDOV09H+32LtRswEcUsmUWN72pVLOEnTSRaIVVzVQgS0dg==", + "dependencies": { + "webidl-conversions": "^5.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/domexception/node_modules/webidl-conversions": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-5.0.0.tgz", + "integrity": "sha512-VlZwKPCkYKxQgeSbH5EyngOmRp7Ww7I9rQLERETtf5ofd9pGeswWiOtogpEO850jziPRarreGxn5QIiTqpb2wA==", + "engines": { + "node": ">=8" + } + }, + "node_modules/escodegen": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/escodegen/-/escodegen-2.1.0.tgz", + "integrity": "sha512-2NlIDTwUWJN0mRPQOdtQBzbUHvdGY2P1VXSyU83Q3xKxM7WHX2Ql8dKq782Q9TgQUNOLEzEYu9bzLNj1q88I5w==", + "dependencies": { + "esprima": "^4.0.1", + "estraverse": "^5.2.0", + "esutils": "^2.0.2" + }, + "bin": { + "escodegen": "bin/escodegen.js", + "esgenerate": "bin/esgenerate.js" + }, + "engines": { + "node": ">=6.0" + }, + "optionalDependencies": { + "source-map": "~0.6.1" + } + }, + "node_modules/esm": { + "version": "3.2.25", + "resolved": "https://registry.npmjs.org/esm/-/esm-3.2.25.tgz", + "integrity": "sha512-U1suiZ2oDVWv4zPO56S0NcR5QriEahGtdN2OR6FiOG4WJvcjBVFB0qI4+eKoWFH483PKGuLuu6V8Z4T5g63UVA==", + "engines": { + "node": ">=6" + } + }, + "node_modules/esprima": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz", + "integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==", + "bin": { + "esparse": "bin/esparse.js", + "esvalidate": "bin/esvalidate.js" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/estraverse": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", + "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", + "engines": { + "node": ">=4.0" + } + }, + "node_modules/esutils": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz", + "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/form-data": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/form-data/-/form-data-3.0.1.tgz", + "integrity": "sha512-RHkBKtLWUVwd7SqRIvCZMEvAMoGUp0XU+seQiZejj0COz3RI3hWP4sCv3gZWWLjJTd7rGwcsF5eKZGii0r/hbg==", + "dependencies": { + "asynckit": "^0.4.0", + "combined-stream": "^1.0.8", + "mime-types": "^2.1.12" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/hast-util-from-dom": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/hast-util-from-dom/-/hast-util-from-dom-3.0.0.tgz", + "integrity": "sha512-4vQuGiD5Y/wlD7fZiY4mZML/6oh0GOnH38UNyeDFcSTE4AHF0zjKHZfbd+ekVwPvsZXRl8choc99INHUwSPJlg==", + "dependencies": { + "hastscript": "^6.0.0", + "web-namespaces": "^1.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/hast-util-is-element": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/hast-util-is-element/-/hast-util-is-element-1.1.0.tgz", + "integrity": "sha512-oUmNua0bFbdrD/ELDSSEadRVtWZOf3iF6Lbv81naqsIV99RnSCieTbWuWCY8BAeEfKJTKl0gRdokv+dELutHGQ==", + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/hast-util-parse-selector": { + "version": "2.2.5", + "resolved": "https://registry.npmjs.org/hast-util-parse-selector/-/hast-util-parse-selector-2.2.5.tgz", + "integrity": "sha512-7j6mrk/qqkSehsM92wQjdIgWM2/BW61u/53G6xmC8i1OmEdKLHbk419QKQUjz6LglWsfqoiHmyMRkP1BGjecNQ==", + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/hast-util-to-text": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/hast-util-to-text/-/hast-util-to-text-2.0.1.tgz", + "integrity": "sha512-8nsgCARfs6VkwH2jJU9b8LNTuR4700na+0h3PqCaEk4MAnMDeu5P0tP8mjk9LLNGxIeQRLbiDbZVw6rku+pYsQ==", + "dependencies": { + "hast-util-is-element": "^1.0.0", + "repeat-string": "^1.0.0", + "unist-util-find-after": "^3.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/hastscript": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/hastscript/-/hastscript-6.0.0.tgz", + "integrity": "sha512-nDM6bvd7lIqDUiYEiu5Sl/+6ReP0BMk/2f4U/Rooccxkj0P5nm+acM5PrGJ/t5I8qPGiqZSE6hVAwZEdZIvP4w==", + "dependencies": { + "@types/hast": "^2.0.0", + "comma-separated-tokens": "^1.0.0", + "hast-util-parse-selector": "^2.0.0", + "property-information": "^5.0.0", + "space-separated-tokens": "^1.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/html-encoding-sniffer": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/html-encoding-sniffer/-/html-encoding-sniffer-2.0.1.tgz", + "integrity": "sha512-D5JbOMBIR/TVZkubHT+OyT2705QvogUW4IBn6nHd756OwieSF9aDYFj4dv6HHEVGYbHaLETa3WggZYWWMyy3ZQ==", + "dependencies": { + "whatwg-encoding": "^1.0.5" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/http-proxy-agent": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/http-proxy-agent/-/http-proxy-agent-4.0.1.tgz", + "integrity": "sha512-k0zdNgqWTGA6aeIRVpvfVob4fL52dTfaehylg0Y4UvSySvOq/Y+BOyPrgpUrA7HylqvU8vIZGsRuXmspskV0Tg==", + "dependencies": { + "@tootallnate/once": "1", + "agent-base": "6", + "debug": "4" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/https-proxy-agent": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-5.0.1.tgz", + "integrity": "sha512-dFcAjpTQFgoLMzC2VwU+C/CbS7uRL0lWmxDITmqm7C+7F0Odmj6s9l6alZc6AELXhrnggM2CeWSXHGOdX2YtwA==", + "dependencies": { + "agent-base": "6", + "debug": "4" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/iconv-lite": { + "version": "0.4.24", + "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz", + "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==", + "dependencies": { + "safer-buffer": ">= 2.1.2 < 3" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-potential-custom-element-name": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-potential-custom-element-name/-/is-potential-custom-element-name-1.0.1.tgz", + "integrity": "sha512-bCYeRA2rVibKZd+s2625gGnGF/t7DSqDs4dP7CrLA1m7jKWz6pps0LpYLJN8Q64HtmPKJ1hrN3nzPNKFEKOUiQ==" + }, + "node_modules/jsdom": { + "version": "16.7.0", + "resolved": "https://registry.npmjs.org/jsdom/-/jsdom-16.7.0.tgz", + "integrity": "sha512-u9Smc2G1USStM+s/x1ru5Sxrl6mPYCbByG1U/hUmqaVsm4tbNyS7CicOSRyuGQYZhTu0h84qkZZQ/I+dzizSVw==", + "dependencies": { + "abab": "^2.0.5", + "acorn": "^8.2.4", + "acorn-globals": "^6.0.0", + "cssom": "^0.4.4", + "cssstyle": "^2.3.0", + "data-urls": "^2.0.0", + "decimal.js": "^10.2.1", + "domexception": "^2.0.1", + "escodegen": "^2.0.0", + "form-data": "^3.0.0", + "html-encoding-sniffer": "^2.0.1", + "http-proxy-agent": "^4.0.1", + "https-proxy-agent": "^5.0.0", + "is-potential-custom-element-name": "^1.0.1", + "nwsapi": "^2.2.0", + "parse5": "6.0.1", + "saxes": "^5.0.1", + "symbol-tree": "^3.2.4", + "tough-cookie": "^4.0.0", + "w3c-hr-time": "^1.0.2", + "w3c-xmlserializer": "^2.0.0", + "webidl-conversions": "^6.1.0", + "whatwg-encoding": "^1.0.5", + "whatwg-mimetype": "^2.3.0", + "whatwg-url": "^8.5.0", + "ws": "^7.4.6", + "xml-name-validator": "^3.0.0" + }, + "engines": { + "node": ">=10" + }, + "peerDependencies": { + "canvas": "^2.5.0" + }, + "peerDependenciesMeta": { + "canvas": { + "optional": true + } + } + }, + "node_modules/lodash": { + "version": "4.17.21", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz", + "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==" + }, + "node_modules/mathjax-full": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/mathjax-full/-/mathjax-full-3.2.2.tgz", + "integrity": "sha512-+LfG9Fik+OuI8SLwsiR02IVdjcnRCy5MufYLi0C3TdMT56L/pjB0alMVGgoWJF8pN9Rc7FESycZB9BMNWIid5w==", + "dependencies": { + "esm": "^3.2.25", + "mhchemparser": "^4.1.0", + "mj-context-menu": "^0.6.1", + "speech-rule-engine": "^4.0.6" + } + }, + "node_modules/mhchemparser": { + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/mhchemparser/-/mhchemparser-4.2.1.tgz", + "integrity": "sha512-kYmyrCirqJf3zZ9t/0wGgRZ4/ZJw//VwaRVGA75C4nhE60vtnIzhl9J9ndkX/h6hxSN7pjg/cE0VxbnNM+bnDQ==" + }, + "node_modules/mime-db": { + "version": "1.52.0", + "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz", + "integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/mime-types": { + "version": "2.1.35", + "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz", + "integrity": "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==", + "dependencies": { + "mime-db": "1.52.0" + }, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/mj-context-menu": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/mj-context-menu/-/mj-context-menu-0.6.1.tgz", + "integrity": "sha512-7NO5s6n10TIV96d4g2uDpG7ZDpIhMh0QNfGdJw/W47JswFcosz457wqz/b5sAKvl12sxINGFCn80NZHKwxQEXA==" + }, + "node_modules/ms": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" + }, + "node_modules/nwsapi": { + "version": "2.2.7", + "resolved": "https://registry.npmjs.org/nwsapi/-/nwsapi-2.2.7.tgz", + "integrity": "sha512-ub5E4+FBPKwAZx0UwIQOjYWGHTEq5sPqHQNRN8Z9e4A7u3Tj1weLJsL59yH9vmvqEtBHaOmT6cYQKIZOxp35FQ==" + }, + "node_modules/parse5": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/parse5/-/parse5-6.0.1.tgz", + "integrity": "sha512-Ofn/CTFzRGTTxwpNEs9PP93gXShHcTq255nzRYSKe8AkVpZY7e1fpmTfOyoIvjP5HG7Z2ZM7VS9PPhQGW2pOpw==" + }, + "node_modules/property-information": { + "version": "5.6.0", + "resolved": "https://registry.npmjs.org/property-information/-/property-information-5.6.0.tgz", + "integrity": "sha512-YUHSPk+A30YPv+0Qf8i9Mbfe/C0hdPXk1s1jPVToV8pk8BQtpw10ct89Eo7OWkutrwqvT0eicAxlOg3dOAu8JA==", + "dependencies": { + "xtend": "^4.0.0" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/psl": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/psl/-/psl-1.9.0.tgz", + "integrity": "sha512-E/ZsdU4HLs/68gYzgGTkMicWTLPdAftJLfJFlLUAAKZGkStNU72sZjT66SnMDVOfOWY/YAoiD7Jxa9iHvngcag==" + }, + "node_modules/punycode": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.3.0.tgz", + "integrity": "sha512-rRV+zQD8tVFys26lAGR9WUuS4iUAngJScM+ZRSKtvl5tKeZ2t5bvdNFdNHBW9FWR4guGHlgmsZ1G7BSm2wTbuA==", + "engines": { + "node": ">=6" + } + }, + "node_modules/querystringify": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/querystringify/-/querystringify-2.2.0.tgz", + "integrity": "sha512-FIqgj2EUvTa7R50u0rGsyTftzjYmv/a3hO345bZNrqabNqjtgiDMgmo4mkUjd+nzU5oF3dClKqFIPUKybUyqoQ==" + }, + "node_modules/repeat-string": { + "version": "1.6.1", + "resolved": "https://registry.npmjs.org/repeat-string/-/repeat-string-1.6.1.tgz", + "integrity": "sha512-PV0dzCYDNfRi1jCDbJzpW7jNNDRuCOG/jI5ctQcGKt/clZD+YcPS3yIlWuTJMmESC8aevCFmWJy5wjAFgNqN6w==", + "engines": { + "node": ">=0.10" + } + }, + "node_modules/requires-port": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/requires-port/-/requires-port-1.0.0.tgz", + "integrity": "sha512-KigOCHcocU3XODJxsu8i/j8T9tzT4adHiecwORRQ0ZZFcp7ahwXuRU1m+yuO90C5ZUyGeGfocHDI14M3L3yDAQ==" + }, + "node_modules/safer-buffer": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", + "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==" + }, + "node_modules/saxes": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/saxes/-/saxes-5.0.1.tgz", + "integrity": "sha512-5LBh1Tls8c9xgGjw3QrMwETmTMVk0oFgvrFSvWx62llR2hcEInrKNZ2GZCCuuy2lvWrdl5jhbpeqc5hRYKFOcw==", + "dependencies": { + "xmlchars": "^2.2.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "optional": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/space-separated-tokens": { + "version": "1.1.5", + "resolved": "https://registry.npmjs.org/space-separated-tokens/-/space-separated-tokens-1.1.5.tgz", + "integrity": "sha512-q/JSVd1Lptzhf5bkYm4ob4iWPjx0KiRe3sRFBNrVqbJkFaBm5vbbowy1mymoPNLRa52+oadOhJ+K49wsSeSjTA==", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/speech-rule-engine": { + "version": "4.0.7", + "resolved": "https://registry.npmjs.org/speech-rule-engine/-/speech-rule-engine-4.0.7.tgz", + "integrity": "sha512-sJrL3/wHzNwJRLBdf6CjJWIlxC04iYKkyXvYSVsWVOiC2DSkHmxsqOhEeMsBA9XK+CHuNcsdkbFDnoUfAsmp9g==", + "dependencies": { + "commander": "9.2.0", + "wicked-good-xpath": "1.3.0", + "xmldom-sre": "0.1.31" + }, + "bin": { + "sre": "bin/sre" + } + }, + "node_modules/symbol-tree": { + "version": "3.2.4", + "resolved": "https://registry.npmjs.org/symbol-tree/-/symbol-tree-3.2.4.tgz", + "integrity": "sha512-9QNk5KwDF+Bvz+PyObkmSYjI5ksVUYtjW7AU22r2NKcfLJcXp96hkDWU3+XndOsUb+AQ9QhfzfCT2O+CNWT5Tw==" + }, + "node_modules/tough-cookie": { + "version": "4.1.3", + "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-4.1.3.tgz", + "integrity": "sha512-aX/y5pVRkfRnfmuX+OdbSdXvPe6ieKX/G2s7e98f4poJHnqH3281gDPm/metm6E/WRamfx7WC4HUqkWHfQHprw==", + "dependencies": { + "psl": "^1.1.33", + "punycode": "^2.1.1", + "universalify": "^0.2.0", + "url-parse": "^1.5.3" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/tr46": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/tr46/-/tr46-2.1.0.tgz", + "integrity": "sha512-15Ih7phfcdP5YxqiB+iDtLoaTz4Nd35+IiAv0kQ5FNKHzXgdWqPoTIqEDDJmXceQt4JZk6lVPT8lnDlPpGDppw==", + "dependencies": { + "punycode": "^2.1.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/unist-util-find-after": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/unist-util-find-after/-/unist-util-find-after-3.0.0.tgz", + "integrity": "sha512-ojlBqfsBftYXExNu3+hHLfJQ/X1jYY/9vdm4yZWjIbf0VuWF6CRufci1ZyoD/wV2TYMKxXUoNuoqwy+CkgzAiQ==", + "dependencies": { + "unist-util-is": "^4.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/unist-util-is": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/unist-util-is/-/unist-util-is-4.1.0.tgz", + "integrity": "sha512-ZOQSsnce92GrxSqlnEEseX0gi7GH9zTJZ0p9dtu87WRb/37mMPO2Ilx1s/t9vBHrFhbgweUwb+t7cIn5dxPhZg==", + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/unist-util-visit": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/unist-util-visit/-/unist-util-visit-2.0.3.tgz", + "integrity": "sha512-iJ4/RczbJMkD0712mGktuGpm/U4By4FfDonL7N/9tATGIF4imikjOuagyMY53tnZq3NP6BcmlrHhEKAfGWjh7Q==", + "dependencies": { + "@types/unist": "^2.0.0", + "unist-util-is": "^4.0.0", + "unist-util-visit-parents": "^3.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/unist-util-visit-parents": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/unist-util-visit-parents/-/unist-util-visit-parents-3.1.1.tgz", + "integrity": "sha512-1KROIZWo6bcMrZEwiH2UrXDyalAa0uqzWCxCJj6lPOvTve2WkfgCytoDTPaMnodXh1WrXOq0haVYHj99ynJlsg==", + "dependencies": { + "@types/unist": "^2.0.0", + "unist-util-is": "^4.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/universalify": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/universalify/-/universalify-0.2.0.tgz", + "integrity": "sha512-CJ1QgKmNg3CwvAv/kOFmtnEN05f0D/cn9QntgNOQlQF9dgvVTHj3t+8JPdjqawCHk7V/KA+fbUqzZ9XWhcqPUg==", + "engines": { + "node": ">= 4.0.0" + } + }, + "node_modules/url-parse": { + "version": "1.5.10", + "resolved": "https://registry.npmjs.org/url-parse/-/url-parse-1.5.10.tgz", + "integrity": "sha512-WypcfiRhfeUP9vvF0j6rw0J3hrWrw6iZv3+22h6iRMJ/8z1Tj6XfLP4DsUix5MhMPnXpiHDoKyoZ/bdCkwBCiQ==", + "dependencies": { + "querystringify": "^2.1.1", + "requires-port": "^1.0.0" + } + }, + "node_modules/w3c-hr-time": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/w3c-hr-time/-/w3c-hr-time-1.0.2.tgz", + "integrity": "sha512-z8P5DvDNjKDoFIHK7q8r8lackT6l+jo/Ye3HOle7l9nICP9lf1Ci25fy9vHd0JOWewkIFzXIEig3TdKT7JQ5fQ==", + "deprecated": "Use your platform's native performance.now() and performance.timeOrigin.", + "dependencies": { + "browser-process-hrtime": "^1.0.0" + } + }, + "node_modules/w3c-xmlserializer": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/w3c-xmlserializer/-/w3c-xmlserializer-2.0.0.tgz", + "integrity": "sha512-4tzD0mF8iSiMiNs30BiLO3EpfGLZUT2MSX/G+o7ZywDzliWQ3OPtTZ0PTC3B3ca1UAf4cJMHB+2Bf56EriJuRA==", + "dependencies": { + "xml-name-validator": "^3.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/web-namespaces": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/web-namespaces/-/web-namespaces-1.1.4.tgz", + "integrity": "sha512-wYxSGajtmoP4WxfejAPIr4l0fVh+jeMXZb08wNc0tMg6xsfZXj3cECqIK0G7ZAqUq0PP8WlMDtaOGVBTAWztNw==", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/webidl-conversions": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-6.1.0.tgz", + "integrity": "sha512-qBIvFLGiBpLjfwmYAaHPXsn+ho5xZnGvyGvsarywGNc8VyQJUMHJ8OBKGGrPER0okBeMDaan4mNBlgBROxuI8w==", + "engines": { + "node": ">=10.4" + } + }, + "node_modules/whatwg-encoding": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/whatwg-encoding/-/whatwg-encoding-1.0.5.tgz", + "integrity": "sha512-b5lim54JOPN9HtzvK9HFXvBma/rnfFeqsic0hSpjtDbVxR3dJKLc+KB4V6GgiGOvl7CY/KNh8rxSo9DKQrnUEw==", + "dependencies": { + "iconv-lite": "0.4.24" + } + }, + "node_modules/whatwg-mimetype": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/whatwg-mimetype/-/whatwg-mimetype-2.3.0.tgz", + "integrity": "sha512-M4yMwr6mAnQz76TbJm914+gPpB/nCwvZbJU28cUD6dR004SAxDLOOSUaB1JDRqLtaOV/vi0IC5lEAGFgrjGv/g==" + }, + "node_modules/whatwg-url": { + "version": "8.7.0", + "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-8.7.0.tgz", + "integrity": "sha512-gAojqb/m9Q8a5IV96E3fHJM70AzCkgt4uXYX2O7EmuyOnLrViCQlsEBmF9UQIu3/aeAIp2U17rtbpZWNntQqdg==", + "dependencies": { + "lodash": "^4.7.0", + "tr46": "^2.1.0", + "webidl-conversions": "^6.1.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/wicked-good-xpath": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/wicked-good-xpath/-/wicked-good-xpath-1.3.0.tgz", + "integrity": "sha512-Gd9+TUn5nXdwj/hFsPVx5cuHHiF5Bwuc30jZ4+ronF1qHK5O7HD0sgmXWSEgwKquT3ClLoKPVbO6qGwVwLzvAw==" + }, + "node_modules/ws": { + "version": "7.5.9", + "resolved": "https://registry.npmjs.org/ws/-/ws-7.5.9.tgz", + "integrity": "sha512-F+P9Jil7UiSKSkppIiD94dN07AwvFixvLIj1Og1Rl9GGMuNipJnV9JzjD6XuqmAeiswGvUmNLjr5cFuXwNS77Q==", + "engines": { + "node": ">=8.3.0" + }, + "peerDependencies": { + "bufferutil": "^4.0.1", + "utf-8-validate": "^5.0.2" + }, + "peerDependenciesMeta": { + "bufferutil": { + "optional": true + }, + "utf-8-validate": { + "optional": true + } + } + }, + "node_modules/xml-name-validator": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/xml-name-validator/-/xml-name-validator-3.0.0.tgz", + "integrity": "sha512-A5CUptxDsvxKJEU3yO6DuWBSJz/qizqzJKOMIfUJHETbBw/sFaDxgd6fxm1ewUaM0jZ444Fc5vC5ROYurg/4Pw==" + }, + "node_modules/xmlchars": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/xmlchars/-/xmlchars-2.2.0.tgz", + "integrity": "sha512-JZnDKK8B0RCDw84FNdDAIpZK+JuJw+s7Lz8nksI7SIuU3UXJJslUthsi+uWBUYOwPFwW7W7PRLRfUKpxjtjFCw==" + }, + "node_modules/xmldom-sre": { + "version": "0.1.31", + "resolved": "https://registry.npmjs.org/xmldom-sre/-/xmldom-sre-0.1.31.tgz", + "integrity": "sha512-f9s+fUkX04BxQf+7mMWAp5zk61pciie+fFLC9hX9UVvCeJQfNHRHXpeo5MPcR0EUf57PYLdt+ZO4f3Ipk2oZUw==", + "engines": { + "node": ">=0.1" + } + }, + "node_modules/xtend": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.2.tgz", + "integrity": "sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==", + "engines": { + "node": ">=0.4" + } + } + } +} diff --git a/remark-typst/remark-mathjax/package.json b/remark-typst/remark-mathjax/package.json new file mode 100644 index 0000000..d00818f --- /dev/null +++ b/remark-typst/remark-mathjax/package.json @@ -0,0 +1,82 @@ +{ + "name": "rehype-mathjax", + "version": "5.0.0", + "description": "rehype plugin to transform inline and block math with MathJax", + "license": "MIT", + "keywords": [ + "hast", + "html", + "latex", + "markdown", + "math", + "mathjax", + "mdast", + "plugin", + "rehype", + "rehype-plugin", + "remark", + "tex", + "unified" + ], + "repository": "https://github.com/remarkjs/remark-math/tree/main/packages/rehype-mathjax", + "bugs": "https://github.com/remarkjs/remark-math/issues", + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + }, + "author": "TANIGUCHI Masaya <mew@cat.ovh> (https://docs.casa)", + "contributors": [ + "TANIGUCHI Masaya <mew@cat.ovh> (https://docs.casa)", + "Titus Wormer <tituswormer@gmail.com> (https://wooorm.com)" + ], + "sideEffects": false, + "type": "module", + "exports": { + ".": "./svg.js", + "./browser": "./browser.js", + "./chtml": "./chtml.js", + "./svg": "./svg.js" + }, + "imports": { + "#create-adapter": { + "deno": "./lib/create-adapter.default.js", + "react-native": "./lib/create-adapter.default.js", + "worker": "./lib/create-adapter.default.js", + "browser": "./lib/create-adapter.browser.js", + "default": "./lib/create-adapter.default.js" + } + }, + "files": [ + "lib/", + "browser.d.ts", + "browser.js", + "chtml.d.ts", + "chtml.js", + "svg.d.ts", + "svg.js" + ], + "dependencies": { + "@types/hast": "^3.0.0", + "@types/mathjax": "^0.0.37", + "hast-util-from-dom": "^5.0.0", + "hast-util-to-text": "^4.0.0", + "jsdom": "^22.0.0", + "mathjax-full": "^3.0.0", + "unified": "^11.0.0", + "unist-util-visit-parents": "^6.0.0" + }, + "devDependencies": { + "@types/jsdom": "^21.0.0" + }, + "scripts": { + "test-api": "node --conditions development test/index.js", + "test": "npm run build && npm run test-api" + }, + "xo": { + "prettier": true, + "rules": { + "n/file-extension-in-import": "off", + "unicorn/prefer-at": "off" + } + } +} diff --git a/remark-typst/remark-mathjax/readme.md b/remark-typst/remark-mathjax/readme.md new file mode 100644 index 0000000..019237c --- /dev/null +++ b/remark-typst/remark-mathjax/readme.md @@ -0,0 +1,374 @@ +# rehype-mathjax + +[![Build][build-badge]][build] +[![Coverage][coverage-badge]][coverage] +[![Downloads][downloads-badge]][downloads] +[![Size][size-badge]][size] +[![Sponsors][sponsors-badge]][collective] +[![Backers][backers-badge]][collective] +[![Chat][chat-badge]][chat] + +**[rehype][]** plugin to render elements with a `language-math` class with +[MathJax][]. + +## Contents + +* [What is this?](#what-is-this) +* [When should I use this?](#when-should-i-use-this) +* [Install](#install) +* [Use](#use) +* [API](#api) + * [`unified().use(rehypeMathjax[, options])`](#unifieduserehypemathjax-options) + * [`Options`](#options) +* [Markdown](#markdown) +* [HTML](#html) +* [CSS](#css) +* [Types](#types) +* [Compatibility](#compatibility) +* [Security](#security) +* [Related](#related) +* [Contribute](#contribute) +* [License](#license) + +## What is this? + +This package is a [unified][] ([rehype][]) plugin to render math. +You can add classes to HTML elements, use fenced code in markdown, or combine +with [`remark-math`][remark-math] for a `$C$` syntax extension. + +## When should I use this? + +This project is useful as it renders math with MathJax at compile time, which +means that there is no client side JavaScript needed. + +A different plugin, [`rehype-katex`][rehype-katex], does the same but with +[KaTeX][]. + +## Install + +This package is [ESM only][esm]. +In Node.js (version 16+), install with [npm][]: + +```sh +npm install rehype-mathjax +``` + +In Deno with [`esm.sh`][esmsh]: + +```js +import rehypeMathjax from 'https://esm.sh/rehype-mathjax@5' +``` + +In browsers with [`esm.sh`][esmsh]: + +```html +<script type="module"> + import rehypeMathjax from 'https://esm.sh/rehype-mathjax@5?bundle' +</script> +``` + +## Use + +Say our document `input.html` contains: + +```html +<p> + Lift(<code class="language-math">L</code>) can be determined by Lift Coefficient + (<code class="language-math">C_L</code>) like the following equation. +</p> +<pre><code class="language-math"> + L = \frac{1}{2} \rho v^2 S C_L +</code></pre> +``` + +…and our module `example.js` contains: + +```js +import rehypeMathjax from 'rehype-mathjax' +import rehypeParse from 'rehype-parse' +import rehypeStringify from 'rehype-stringify' +import {read, write} from 'to-vfile' +import {unified} from 'unified' + +const file = await unified() + .use(rehypeParse, {fragment: true}) + .use(rehypeMathjax) + .use(rehypeStringify) + .process(await read('input.html')) + +file.basename = 'output.html' +await write(file) +``` + +…then running `node example.js` creates an `output.html` with: + +```html +<p> + Lift(<mjx-container class="MathJax" jax="SVG"><!--…--></mjx-container>) can be determined by Lift Coefficient + (<mjx-container class="MathJax" jax="SVG"><!--…--></mjx-container>) like the following equation. +</p> +<mjx-container class="MathJax" jax="SVG" display="true"><!--…--></mjx-container> +<style> +mjx-container[jax="SVG"] { + direction: ltr; +} +/* … */ +</style> +``` + +…open `output.html` in a browser to see the rendered math. + +## API + +This package has an export map with several entries for plugins using different +strategies: + +* `rehype-mathjax/browser` — browser (±1kb) +* `rehype-mathjax/chtml` — [CHTML][mathjax-chtml] (±154kb) +* `rehype-mathjax/svg` — [SVG][mathjax-svg] (±566kb) +* `rehype-mathjax` — same as SVG + +Each module exports the plugin [`rehypeMathjax`][api-rehype-mathjax] as +the default export. + +### `unified().use(rehypeMathjax[, options])` + +Render elements with a `language-math` (or `math-display`, `math-inline`) +class with [MathJax][]. + +###### Parameters + +* `options` ([`Options`][api-options], typically optional) + — configuration + +###### Returns + +Transform ([`Transformer`][unified-transformer]). + +### `Options` + +Configuration (TypeScript type). + +###### Fields + +* `chtml` (`unknown`, optional) + — configuration for the output, when CHTML; + see [*CommonHTML Output Processor Options* on + `mathjax.org`][mathjax-chtml-options] +* `svg` (`unknown`, optional) + — configuration for the output, when SVG; + see [*SVG Output Processor Options* on + `mathjax.org`][mathjax-svg-options] +* `tex` (`unknown`, optional) + — configuration for the input TeX; + see [*TeX Input Processor Options* on + `mathjax.org`][mathjax-tex-options] + +###### Notes + +When using `rehype-mathjax/browser`, only `options.tex.displayMath` and +`options.tex.inlineMath` are used. +That plugin will use the first delimiter pair in those fields to wrap +math. +Then you need to load MathJax yourself on the client and start it with the +same markers. +You can pass other options on the client. + +When using `rehype-mathjax/chtml`, `options.chtml.fontURL` is required. +For example: + +```js + // … + .use(rehypeMathjaxChtml, { + chtml: { + fontURL: 'https://cdn.jsdelivr.net/npm/mathjax@3/es5/output/chtml/fonts/woff-v2' + } + }) + // … +``` + +## Markdown + +This plugin supports the syntax extension enabled by +[`remark-math`][remark-math]. +It also supports math generated by using fenced code: + +````markdown +```math +C_L +``` +```` + +## HTML + +The content of any element with a `language-math`, `math-inline`, or +`math-display` class is transformed. +The elements are replaced by what MathJax renders. +Either a `math-display` class or using `<pre><code class="language-math">` will +result in “display” math: math that is a centered block on its own line. + +## CSS + +The HTML produced by MathJax does not require any extra CSS to render correctly. + +## Types + +This package is fully typed with [TypeScript][]. +It exports the additional type [`Options`][api-options]. + +## Compatibility + +Projects maintained by the unified collective are compatible with maintained +versions of Node.js. + +When we cut a new major release, we drop support for unmaintained versions of +Node. +This means we try to keep the current release line, `rehype-mathjax@^5`, +compatible with Node.js 16. + +This plugin works with unified version 6+ and rehype version 4+. + +## Security + +Assuming you trust MathJax, using `rehype-mathjax` is safe. +A vulnerability in it could open you to a +[cross-site scripting (XSS)][wiki-xss] attack. +Be wary of user input and use [`rehype-sanitize`][rehype-sanitize]. + +When you don’t trust user content but do trust MathJax, run `rehype-mathjax` +*after* `rehype-sanitize`: + +```js +import rehypeMathjax from 'rehype-mathjax' +import rehypeSanitize, {defaultSchema} from 'rehype-sanitize' +import rehypeStringify from 'rehype-stringify' +import remarkMath from 'remark-math' +import remarkParse from 'remark-parse' +import remarkRehype from 'remark-rehype' +import {unified} from 'unified' + +const file = await unified() + .use(remarkParse) + .use(remarkMath) + .use(remarkRehype) + .use(rehypeSanitize, { + ...defaultSchema, + attributes: { + ...defaultSchema.attributes, + // The `language-*` regex is allowed by default. + code: [['className', /^language-./, 'math-inline', 'math-display']] + } + }) + .use(rehypeMathjax) + .use(rehypeStringify) + .process('$C$') + +console.log(String(file)) +``` + +## Related + +* [`rehype-katex`][rehype-katex] + — same but with KaTeX +* [`rehype-highlight`](https://github.com/rehypejs/rehype-highlight) + — highlight code blocks +* [`rehype-autolink-headings`](https://github.com/rehypejs/rehype-autolink-headings) + — add links to headings +* [`rehype-sanitize`](https://github.com/rehypejs/rehype-sanitize) + — sanitize HTML +* [`rehype-document`](https://github.com/rehypejs/rehype-document) + — wrap a document around the tree + +## Contribute + +See [`contributing.md`][contributing] in [`remarkjs/.github`][health] for ways +to get started. +See [`support.md`][support] for ways to get help. + +This project has a [code of conduct][coc]. +By interacting with this repository, organization, or community you agree to +abide by its terms. + +## License + +[MIT][license] © [TANIGUCHI Masaya][author] + +<!-- Definitions --> + +[build-badge]: https://github.com/remarkjs/remark-math/workflows/main/badge.svg + +[build]: https://github.com/remarkjs/remark-math/actions + +[coverage-badge]: https://img.shields.io/codecov/c/github/remarkjs/remark-math.svg + +[coverage]: https://codecov.io/github/remarkjs/remark-math + +[downloads-badge]: https://img.shields.io/npm/dm/rehype-mathjax.svg + +[downloads]: https://www.npmjs.com/package/rehype-mathjax + +[size-badge]: https://img.shields.io/bundlejs/size/rehype-mathjax + +[size]: https://bundlejs.com/?q=rehype-mathjax + +[sponsors-badge]: https://opencollective.com/unified/sponsors/badge.svg + +[backers-badge]: https://opencollective.com/unified/backers/badge.svg + +[collective]: https://opencollective.com/unified + +[chat-badge]: https://img.shields.io/badge/chat-discussions-success.svg + +[chat]: https://github.com/remarkjs/remark/discussions + +[npm]: https://docs.npmjs.com/cli/install + +[esm]: https://gist.github.com/sindresorhus/a39789f98801d908bbc7ff3ecc99d99c + +[esmsh]: https://esm.sh + +[health]: https://github.com/remarkjs/.github + +[contributing]: https://github.com/remarkjs/.github/blob/main/contributing.md + +[support]: https://github.com/remarkjs/.github/blob/main/support.md + +[coc]: https://github.com/remarkjs/.github/blob/main/code-of-conduct.md + +[license]: https://github.com/remarkjs/remark-math/blob/main/license + +[author]: https://rokt33r.github.io + +[katex]: https://github.com/Khan/KaTeX + +[mathjax-svg]: http://docs.mathjax.org/en/latest/output/svg.html + +[mathjax-chtml]: http://docs.mathjax.org/en/latest/output/html.html + +[mathjax-tex-options]: http://docs.mathjax.org/en/latest/options/input/tex.html + +[mathjax-svg-options]: http://docs.mathjax.org/en/latest/options/output/svg.html + +[mathjax-chtml-options]: http://docs.mathjax.org/en/latest/options/output/chtml.html + +[rehype]: https://github.com/rehypejs/rehype + +[rehype-sanitize]: https://github.com/rehypejs/rehype-sanitize + +[typescript]: https://www.typescriptlang.org + +[unified]: https://github.com/unifiedjs/unified + +[unified-transformer]: https://github.com/unifiedjs/unified#transformer + +[wiki-xss]: https://en.wikipedia.org/wiki/Cross-site_scripting + +[mathjax]: https://mathjax.org/ + +[remark-math]: ../remark-math/ + +[rehype-katex]: ../rehype-katex/ + +[api-options]: #options + +[api-rehype-mathjax]: #unifieduserehypemathjax-options diff --git a/remark-typst/remark-mathjax/svg.js b/remark-typst/remark-mathjax/svg.js new file mode 100644 index 0000000..ea267ac --- /dev/null +++ b/remark-typst/remark-mathjax/svg.js @@ -0,0 +1,5 @@ +/** + * @typedef {import('./lib/create-plugin.js').Options} Options + */ + +export {default, renderSvg} from './lib/svg.js' diff --git a/remark-typst/remark-mathjax/test.ts b/remark-typst/remark-mathjax/test.ts new file mode 100644 index 0000000..64312c5 --- /dev/null +++ b/remark-typst/remark-mathjax/test.ts @@ -0,0 +1,42 @@ +import unified from 'unified' // eslint-disable-line import/no-extraneous-dependencies +import mathjax from 'rehype-mathjax' +import chtml from 'rehype-mathjax/chtml' +import browser from 'rehype-mathjax/browser' + +// $ExpectType Processor<Settings> +unified().use(mathjax) +// $ExpectType Processor<Settings> +unified().use(mathjax, {minScale: 3}) +// $ExpectType Processor<Settings> +unified().use(mathjax, {minScale: 3, tex: {tags: 'ams'}}) +// $ExpectError +unified().use(mathjax, {invalidProp: true}) + +// $ExpectType Processor<Settings> +unified().use(chtml, {fontURL: 'url'}) +// $ExpectType Processor<Settings> +unified().use(chtml, {fontURL: 'url', tex: {tags: 'ams'}}) +// $ExpectError +unified().use(chtml) +// $ExpectError +unified().use(chtml, {}) +// $ExpectError +unified().use(chtml, {adaptiveCSS: true}) +// $ExpectError +unified().use(chtml, {fontURL: 'url', invalidProp: true}) + +// $ExpectType Processor<Settings> +unified().use(browser) +// $ExpectType Processor<Settings> +unified().use(browser, {displayMath: ['$$', '$$']}) +// $ExpectType Processor<Settings> +unified().use(browser, { + displayMath: [ + ['$$', '$$'], + ['((', '))'] + ] +}) +// $ExpectError +unified().use(browser, {displayMath: ['$$']}) +// $ExpectError +unified().use(browser, {invalidProp: true}) diff --git a/remark-typst/remark-mathjax/tsconfig.json b/remark-typst/remark-mathjax/tsconfig.json new file mode 100644 index 0000000..4082f16 --- /dev/null +++ b/remark-typst/remark-mathjax/tsconfig.json @@ -0,0 +1,3 @@ +{ + "extends": "../../tsconfig.json" +} diff --git a/remark-typst/remark-mathjax/tslint.json b/remark-typst/remark-mathjax/tslint.json new file mode 100644 index 0000000..70c4494 --- /dev/null +++ b/remark-typst/remark-mathjax/tslint.json @@ -0,0 +1,7 @@ +{ + "extends": "dtslint/dtslint.json", + "rules": { + "semicolon": false, + "whitespace": false + } +}

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 F_&>4)NfiJ9 literal 0 HcmV?d00001 diff --git a/oi-wiki-export-typst/fonts/CrimsonText-SemiBoldItalic.ttf b/oi-wiki-export-typst/fonts/CrimsonText-SemiBoldItalic.ttf new file mode 100644 index 0000000000000000000000000000000000000000..66b129bff6a4a7a88f91979ec92b7bfb8dded9e0 GIT binary patch literal 111332 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