From 41e72112dcc2c36ab5c67ca5710090a5dbb98543 Mon Sep 17 00:00:00 2001 From: realaravinth Date: Tue, 16 Aug 2022 11:41:00 +0000 Subject: [PATCH] new deploy: 2022-08-16T11:41:00+00:00 --- assets/Inter-Black.067c82f7.woff | Bin 0 -> 139648 bytes assets/Inter-Black.7f1f5616.woff2 | Bin 0 -> 104656 bytes assets/Inter-BlackItalic.72d5983b.woff2 | Bin 0 -> 109900 bytes assets/Inter-BlackItalic.c628a2cf.woff | Bin 0 -> 145816 bytes assets/Inter-Bold.20d46cff.woff | Bin 0 -> 143464 bytes assets/Inter-Bold.6f5e9a23.woff2 | Bin 0 -> 107144 bytes assets/Inter-BoldItalic.31a185fa.woff | Bin 0 -> 149360 bytes assets/Inter-BoldItalic.e09dcbe1.woff2 | Bin 0 -> 112276 bytes assets/Inter-ExtraBold.0ef4267e.woff2 | Bin 0 -> 107304 bytes assets/Inter-ExtraBold.45bae435.woff | Bin 0 -> 143256 bytes assets/Inter-ExtraBoldItalic.30a1af87.woff | Bin 0 -> 149116 bytes assets/Inter-ExtraBoldItalic.d1e1f6a0.woff2 | Bin 0 -> 112656 bytes assets/Inter-ExtraLight.d7be68a4.woff | Bin 0 -> 141344 bytes assets/Inter-ExtraLight.da47c335.woff2 | Bin 0 -> 105444 bytes assets/Inter-ExtraLightItalic.762fa4d2.woff | Bin 0 -> 148416 bytes assets/Inter-ExtraLightItalic.b3f94cfe.woff2 | Bin 0 -> 111804 bytes assets/Inter-Italic.7b187d57.woff | Bin 0 -> 143476 bytes assets/Inter-Italic.bab4e808.woff2 | Bin 0 -> 108172 bytes assets/Inter-Light.0f7dfe72.woff2 | Bin 0 -> 105556 bytes assets/Inter-Light.38326098.woff | Bin 0 -> 141264 bytes assets/Inter-LightItalic.125c7e6a.woff2 | Bin 0 -> 112040 bytes assets/Inter-LightItalic.ec6c76a8.woff | Bin 0 -> 148408 bytes assets/Inter-Medium.0fc5d904.woff | Bin 0 -> 142780 bytes assets/Inter-Medium.5d308f3d.woff2 | Bin 0 -> 106484 bytes assets/Inter-MediumItalic.1458af9d.woff | Bin 0 -> 149344 bytes assets/Inter-MediumItalic.76551c20.woff2 | Bin 0 -> 112640 bytes assets/Inter-Regular.5b3a854b.woff | Bin 0 -> 134996 bytes assets/Inter-Regular.89d406b0.woff2 | Bin 0 -> 100368 bytes assets/Inter-SemiBold.04cd699f.woff | Bin 0 -> 143148 bytes assets/Inter-SemiBold.c7c3befe.woff2 | Bin 0 -> 106916 bytes assets/Inter-SemiBoldItalic.420db54a.woff | Bin 0 -> 149356 bytes assets/Inter-SemiBoldItalic.d376ade4.woff2 | Bin 0 -> 112768 bytes assets/Inter-Thin.5565b01e.woff | Bin 0 -> 137068 bytes assets/Inter-Thin.5d8e2ac4.woff2 | Bin 0 -> 101004 bytes assets/Inter-ThinItalic.6b3ded18.woff2 | Bin 0 -> 107584 bytes assets/Inter-ThinItalic.c413497b.woff | Bin 0 -> 144528 bytes assets/chevron-down-1956489915.3389f17f.svg | 36 ++++ assets/chevron-down-3300400168.d1a083a1.svg | 36 ++++ assets/chevron-down.9a7440b9.svg | 1 + assets/chevron-left-2611498805.b5555a61.svg | 10 + assets/chevron-left-3506338632.4e437777.svg | 10 + assets/chevron-left.b8b2c5fc.svg | 1 + assets/chevron-right-2390431650.ec9bf561.svg | 3 + assets/chevron-right-847198822.23380c56.svg | 3 + assets/chevron-right.885731d1.svg | 1 + assets/chevron-small-4098047679.489e66cc.svg | 3 + assets/chevron-small-781914114.936b4943.svg | 3 + assets/chevron-small.dfd7e618.svg | 1 + .../chevron-thin-left-3078630092.d0d143e3.svg | 3 + .../chevron-thin-left-3831175135.13f60c05.svg | 3 + assets/chevron-thin-left.d111869b.svg | 1 + assets/clear-4137897294.7b90e8df.svg | 4 + assets/clear-426756705.361f7a30.svg | 4 + assets/clear.0d180c33.svg | 1 + assets/disable-grid-3304422220.8a79cfcb.svg | 3 + assets/disable-grid-4240599831.c8dc25a1.svg | 3 + assets/disable-grid.371ceaaa.svg | 1 + assets/dismiss-2476348673.d0f98560.svg | 4 + assets/dismiss-2743697487.2f1a17f1.svg | 4 + assets/download-sandbox.48a866e9.html | 46 +++++ assets/e2ee-disabled-1470792300.6863c16d.svg | 5 + assets/e2ee-disabled.8507165d.svg | 1 + assets/e2ee-normal-1448349558.af8f5484.svg | 3 + assets/e2ee-normal.bef76bd4.svg | 1 + assets/element-logo-1551909733.1d59f06a.svg | 6 + assets/element-logo-703176763.fc54fc8d.svg | 6 + assets/element-logo.86bc8565.svg | 1 + assets/enable-grid-2071838379.ab4f40c5.svg | 3 + assets/enable-grid-2288309723.f83895c8.svg | 3 + assets/enable-grid.eef43c65.svg | 1 + .../encryption-status-3449529405.c200a9bb.svg | 3 + .../encryption-status-475927392.2fedc0bd.svg | 3 + assets/encryption-status.8054183e.svg | 1 + assets/icon-maskable.965d12c4.png | Bin 0 -> 16599 bytes assets/icon.2a39c64c.png | Bin 0 -> 15862 bytes assets/index.ca5690cf.js | 21 ++ assets/index.ca5690cf.js.map | 1 + assets/main.bdb9a925.js | 177 +++++++++++++++++ assets/manifest.56e72e88.json | 1 + assets/olm.92f1ccd0.js | 161 ++++++++++++++++ assets/olm.b3e0f9b4.wasm | Bin 0 -> 158683 bytes assets/olm_legacy.9dc48f49.js | 180 ++++++++++++++++++ assets/paperclip-2441131778.1f5e29f3.svg | 3 + assets/paperclip-3961996319.da562307.svg | 3 + assets/paperclip.ec29fd9d.svg | 1 + assets/plus-3937109722.5c243914.svg | 3 + assets/plus-4190356069.084c5e3d.svg | 3 + assets/plus.49560f96.svg | 1 + assets/room-members-3084360280.6f64aaef.svg | 7 + assets/room-members-3847743605.9fcf4567.svg | 7 + assets/room-members.35ed0bf9.svg | 1 + assets/search-261439583.1bffaca1.svg | 3 + assets/search-3263540198.1511780c.svg | 3 + assets/search.21e0fd39.svg | 1 + assets/send-1171052351.caa5c494.svg | 3 + assets/send-3413346515.b0fb8626.svg | 3 + assets/send.7a090949.svg | 1 + assets/settings-2175246113.00804666.svg | 3 + assets/settings-878939771.57cf3680.svg | 3 + assets/settings.45b8e09f.svg | 1 + assets/theme-element-dark.4718033a.css | 1 + assets/theme-element-light.0779c91e.css | 1 + assets/theme-element-runtime.8f0a458e.css | 1 + assets/theme-element.json | 1 + .../vertical-ellipsis-3416547705.f619a721.svg | 3 + .../vertical-ellipsis-487061581.e7709afd.svg | 3 + assets/vertical-ellipsis.70ab5d25.svg | 1 + config.json | 16 ++ index.html | 24 +++ sw.js | 2 + sw.js.map | 1 + 111 files changed, 867 insertions(+) create mode 100644 assets/Inter-Black.067c82f7.woff create mode 100644 assets/Inter-Black.7f1f5616.woff2 create mode 100644 assets/Inter-BlackItalic.72d5983b.woff2 create mode 100644 assets/Inter-BlackItalic.c628a2cf.woff create mode 100644 assets/Inter-Bold.20d46cff.woff create mode 100644 assets/Inter-Bold.6f5e9a23.woff2 create mode 100644 assets/Inter-BoldItalic.31a185fa.woff create mode 100644 assets/Inter-BoldItalic.e09dcbe1.woff2 create mode 100644 assets/Inter-ExtraBold.0ef4267e.woff2 create mode 100644 assets/Inter-ExtraBold.45bae435.woff create mode 100644 assets/Inter-ExtraBoldItalic.30a1af87.woff create mode 100644 assets/Inter-ExtraBoldItalic.d1e1f6a0.woff2 create mode 100644 assets/Inter-ExtraLight.d7be68a4.woff create mode 100644 assets/Inter-ExtraLight.da47c335.woff2 create mode 100644 assets/Inter-ExtraLightItalic.762fa4d2.woff create mode 100644 assets/Inter-ExtraLightItalic.b3f94cfe.woff2 create mode 100644 assets/Inter-Italic.7b187d57.woff create mode 100644 assets/Inter-Italic.bab4e808.woff2 create mode 100644 assets/Inter-Light.0f7dfe72.woff2 create mode 100644 assets/Inter-Light.38326098.woff create mode 100644 assets/Inter-LightItalic.125c7e6a.woff2 create mode 100644 assets/Inter-LightItalic.ec6c76a8.woff create mode 100644 assets/Inter-Medium.0fc5d904.woff create mode 100644 assets/Inter-Medium.5d308f3d.woff2 create mode 100644 assets/Inter-MediumItalic.1458af9d.woff create mode 100644 assets/Inter-MediumItalic.76551c20.woff2 create mode 100644 assets/Inter-Regular.5b3a854b.woff create mode 100644 assets/Inter-Regular.89d406b0.woff2 create mode 100644 assets/Inter-SemiBold.04cd699f.woff create mode 100644 assets/Inter-SemiBold.c7c3befe.woff2 create mode 100644 assets/Inter-SemiBoldItalic.420db54a.woff create mode 100644 assets/Inter-SemiBoldItalic.d376ade4.woff2 create mode 100644 assets/Inter-Thin.5565b01e.woff create mode 100644 assets/Inter-Thin.5d8e2ac4.woff2 create mode 100644 assets/Inter-ThinItalic.6b3ded18.woff2 create mode 100644 assets/Inter-ThinItalic.c413497b.woff create mode 100644 assets/chevron-down-1956489915.3389f17f.svg create mode 100644 assets/chevron-down-3300400168.d1a083a1.svg create mode 100644 assets/chevron-down.9a7440b9.svg create mode 100644 assets/chevron-left-2611498805.b5555a61.svg create mode 100644 assets/chevron-left-3506338632.4e437777.svg create mode 100644 assets/chevron-left.b8b2c5fc.svg create mode 100644 assets/chevron-right-2390431650.ec9bf561.svg create mode 100644 assets/chevron-right-847198822.23380c56.svg create mode 100644 assets/chevron-right.885731d1.svg create mode 100644 assets/chevron-small-4098047679.489e66cc.svg create mode 100644 assets/chevron-small-781914114.936b4943.svg create mode 100644 assets/chevron-small.dfd7e618.svg create mode 100644 assets/chevron-thin-left-3078630092.d0d143e3.svg create mode 100644 assets/chevron-thin-left-3831175135.13f60c05.svg create mode 100644 assets/chevron-thin-left.d111869b.svg create mode 100644 assets/clear-4137897294.7b90e8df.svg create mode 100644 assets/clear-426756705.361f7a30.svg create mode 100644 assets/clear.0d180c33.svg create mode 100644 assets/disable-grid-3304422220.8a79cfcb.svg create mode 100644 assets/disable-grid-4240599831.c8dc25a1.svg create mode 100644 assets/disable-grid.371ceaaa.svg create mode 100644 assets/dismiss-2476348673.d0f98560.svg create mode 100644 assets/dismiss-2743697487.2f1a17f1.svg create mode 100644 assets/download-sandbox.48a866e9.html create mode 100644 assets/e2ee-disabled-1470792300.6863c16d.svg create mode 100644 assets/e2ee-disabled.8507165d.svg create mode 100644 assets/e2ee-normal-1448349558.af8f5484.svg create mode 100644 assets/e2ee-normal.bef76bd4.svg create mode 100644 assets/element-logo-1551909733.1d59f06a.svg create mode 100644 assets/element-logo-703176763.fc54fc8d.svg create mode 100644 assets/element-logo.86bc8565.svg create mode 100644 assets/enable-grid-2071838379.ab4f40c5.svg create mode 100644 assets/enable-grid-2288309723.f83895c8.svg create mode 100644 assets/enable-grid.eef43c65.svg create mode 100644 assets/encryption-status-3449529405.c200a9bb.svg create mode 100644 assets/encryption-status-475927392.2fedc0bd.svg create mode 100644 assets/encryption-status.8054183e.svg create mode 100644 assets/icon-maskable.965d12c4.png create mode 100644 assets/icon.2a39c64c.png create mode 100644 assets/index.ca5690cf.js create mode 100644 assets/index.ca5690cf.js.map create mode 100644 assets/main.bdb9a925.js create mode 100644 assets/manifest.56e72e88.json create mode 100644 assets/olm.92f1ccd0.js create mode 100644 assets/olm.b3e0f9b4.wasm create mode 100644 assets/olm_legacy.9dc48f49.js create mode 100644 assets/paperclip-2441131778.1f5e29f3.svg create mode 100644 assets/paperclip-3961996319.da562307.svg create mode 100644 assets/paperclip.ec29fd9d.svg create mode 100644 assets/plus-3937109722.5c243914.svg create mode 100644 assets/plus-4190356069.084c5e3d.svg create mode 100644 assets/plus.49560f96.svg create mode 100644 assets/room-members-3084360280.6f64aaef.svg create mode 100644 assets/room-members-3847743605.9fcf4567.svg create mode 100644 assets/room-members.35ed0bf9.svg create mode 100644 assets/search-261439583.1bffaca1.svg create mode 100644 assets/search-3263540198.1511780c.svg create mode 100644 assets/search.21e0fd39.svg create mode 100644 assets/send-1171052351.caa5c494.svg create mode 100644 assets/send-3413346515.b0fb8626.svg create mode 100644 assets/send.7a090949.svg create mode 100644 assets/settings-2175246113.00804666.svg create mode 100644 assets/settings-878939771.57cf3680.svg create mode 100644 assets/settings.45b8e09f.svg create mode 100644 assets/theme-element-dark.4718033a.css create mode 100644 assets/theme-element-light.0779c91e.css create mode 100644 assets/theme-element-runtime.8f0a458e.css create mode 100644 assets/theme-element.json create mode 100644 assets/vertical-ellipsis-3416547705.f619a721.svg create mode 100644 assets/vertical-ellipsis-487061581.e7709afd.svg create mode 100644 assets/vertical-ellipsis.70ab5d25.svg create mode 100644 config.json create mode 100644 index.html create mode 100644 sw.js create mode 100644 sw.js.map diff --git a/assets/Inter-Black.067c82f7.woff b/assets/Inter-Black.067c82f7.woff new file mode 100644 index 0000000000000000000000000000000000000000..07800f4b740e2ca06b2a6ab7675b2e0247dea233 GIT binary patch literal 139648 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%0A7&22S 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

9W(%yTJ$G`2bPBjgcX5#2AVrgMu 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 literal 0 HcmV?d00001 diff --git a/assets/Inter-Black.7f1f5616.woff2 b/assets/Inter-Black.7f1f5616.woff2 new file mode 100644 index 0000000000000000000000000000000000000000..9a615e6e83e4e9665f29fa870633420c825a4459 GIT binary patch literal 104656 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

Ou)W>#0|Sl0@D+%a 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 xB-yYJk4XXbx1FXHWt$c*zPPGo)? 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

jDt_Q# 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�mg)VBJ8c;yP>e>U-<J$CeT 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

@_?Iq*2-hEXNBA`j#ksOmH-Cc9=m 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]LfKN>=*h)Lt{ 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 E0i+tRr~m)} literal 0 HcmV?d00001 diff --git a/assets/Inter-BoldItalic.31a185fa.woff b/assets/Inter-BoldItalic.31a185fa.woff new file mode 100644 index 0000000000000000000000000000000000000000..2de403edd1010284e57ac2bfe6aa1fbdd105f6dd GIT binary patch literal 149360 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

1tCzW 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 )9ASmwA7aksE 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 literal 0 HcmV?d00001 diff --git a/assets/Inter-ExtraBold.0ef4267e.woff2 b/assets/Inter-ExtraBold.0ef4267e.woff2 new file mode 100644 index 0000000000000000000000000000000000000000..5a08b364d58e20c639e67842e14e3f5f25e96e11 GIT binary patch literal 107304 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
m$%G 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 Lig|_n9@hT@nT2#0 literal 0 HcmV?d00001 diff --git a/assets/Inter-ExtraBoldItalic.d1e1f6a0.woff2 b/assets/Inter-ExtraBoldItalic.d1e1f6a0.woff2 new file mode 100644 index 0000000000000000000000000000000000000000..97bda24620320c8de8c477bdf1fa9bfec10964b0 GIT binary patch literal 112656 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�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

7h&aZCw&ch6?+nX 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≠%DPG5_#$}V~Xk!^hy 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 Qqvfw$l5!v;E-tSB1C~L4TmS$7 literal 0 HcmV?d00001 diff --git a/assets/Inter-ExtraLight.da47c335.woff2 b/assets/Inter-ExtraLight.da47c335.woff2 new file mode 100644 index 0000000000000000000000000000000000000000..442e2255fb9437c88f0c14af25bacd369bc07949 GIT binary patch literal 105444 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 z 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

    AgLRJjTz(Kda(Os0=8Sl^y8*!}lHN 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
    BG1BMm;7kTaw2Bzh?{}Q(Izl1$62m^){4;&`G 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

    )Rtkd4h-?W^PY_|2Cglu31zC|(I%iT1c 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 BCN}^8 literal 0 HcmV?d00001 diff --git a/assets/Inter-Italic.bab4e808.woff2 b/assets/Inter-Italic.bab4e808.woff2 new file mode 100644 index 0000000000000000000000000000000000000000..8559dfde38986e6959897151f8b6f01127f2d0a4 GIT binary patch literal 108172 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

    4Fxkmtsld%at4~Z zRApyx+1){HXZIYp-(Hs$JSH%-%K`J00m@E5y`9+EFn+6m|6@i6u^fkg5ODk|w<%%R zO91NR5;olOM>BJ?C|tLy1-nGX4%#RbwNPsb%(O%H3|-BqGudnBsNRc5$~^H`umY4_ z&SOq*YKf)EW5F?-&mQKcC?Fzlx~dh)fp>Hdt4{2zb_jy z{oYQ*#V5W<3V8>|^<`Qm`ih+2zb|%_>}yM+ImFN$eRG`L z(hvmMjNA_c9J>pX$uZnd~9uHD@T?zdYq1_YO^IpIAWI z5*jN4N^aRt{Jdi#oza9)S41#3`0~N9q=1w$xw6Hfq)ogYEMaJIh@D(KiWKN)iIm4{ zp5we}$X;E{C708m&*@Y%$zM+5OZhQZn>iUAd(~@B0L9f@A#2F?#ftd`)xGb|%Nj4` zie{Qy3-IK?K_^t^#mRw6$N%0|x*Q$uC(4L7a2`JMu20R>BQr;L3xoll;d%KoezVWD z8Z!Qd34eURK_jqOf8Jn2b$)p^iWbB>)!Xc$Y}h+gVR4_-dhXaqQ_<_?pX@l3eVhG} zM@U5q>mt-@?*gZN(A9w^OAvAz2gGR`yS)+|*WYYIwDuFO)Wqr(srsa51}*?Lb!)Q5 zs5Jc*pR#{(lYem__=bXmt=BPclxq#M(`?y2JjYG5hkp$Z-Q<%rCKu6f711ObO0U1! zDzcO8ZBJ@;h^0#z@hjEoo%0(r_w&X%sNkK*G2lpQA+J4 z`lWG@%U?tv9KgyMums5vAM(yK}o%R3t;DE?->o=@BNS#rf&Y3coIl-bsamvs%> z1((%`&anip^i8YV==eWLB#ljE^No#^Yc5qQKSCtx>!{6()%SGe#%6dlOcOB+>F5OX zg#I%1R2zM&2A_7oI~ghdHOl3(^|X&oqZ+)MvJIG}3%XlrPZCzU1NeZ84vGoD3D#ft zg$_Q6^~WkVW^7MS8?6P-GXY58@&feF{F$a%j2EwaxCF^4!afBs!ebLFscDBZJf7V+AeUP} z%el9$y-F0_6DOUo_QjjW6)FxrIYfc%^D=4m)?Z4K;bxT!6yFSSFsRwq4b;sM z*#*;#+bp-Kw+0@Zu?}mwUokp>cXLq}qyAx;DzglvhS-oI(RLJ)Hv<-PfP|VZun4v_ zSMK4(1-}MM+W^1GeInA_GuvMlJ$SlO@d1X;M}db1&j7{yJGyzXkM~j)u-ZnP>cyNy z93BjfUM9V|k?fAzxLx|Hn5TGSwtD|_*P&d6D|W|}b-`cpQ(<@mNEqJcJL0z+n^QcT zaV(ryGvswPGV`5>88N=6vAH3)w*3WRcUq``)KP?++@Q{auVR^N_393*zg)U|YPi0} ziOoC~R{iXCPGj%V(A=0yZkxTPqp&*#aQ!K>g<<&9m|Aw$YE=*68ZH4`q!@3RwOqt( z;n4Kzf<5{?je~l(7kaMz!wU;4sLUKT}$GcV9?Q-MqZj)a$I0i{n;6t));4Y%{g=sP({^tUF^KN{a1&^g=eAw6E2X+U0x69jBF6Xz}l zPsDccnCxM@FQRSxqS{vW7PBQt~QAp;i;F z_G1lK_CE;s2Ce&8sri1^pSZ&(X&hJCV%@O)MNYT~w+BYkrHq6XQPrSpha7$QL6|p@ zla=fO6>>7xwW@%f;YN*voi$y& zN4%c_%t)q9rDY1B(=L>_a2~J8RI5qQ*P{Zu5|HMPRd|gnGH7Nt)8G!Ztee?fV9<(t zt>BR6mkpzAusn@b11f{3rHLd?-w`!3%#E{5m~$eHJ$?kXdX$CiLKs{{zf`eRzkDG4 z(@VfkTD7G|=p&mLF2s`N_R$@=rUYKgimk#|ahRto*JHDhevF!XEmhP)IODNER|$Xl=Qxzvsqp zH{dp6W_VP?R?o{i#W4DUWlVd*rR@C+r>+URwepvBDjI-$HnmUD6qk;2Dq3=i{U*=oqgB4+3J43doqG zjM~f4^#|ols1LJfY~fb7(76y2UHPCQ7~AVt9M!O7lb^bJdEs&cKk;Hx9VsdZSC)*i z_!vNP$hP({4R;SPNyOFB$`cB!r$IX!q{iE6iLQR~q6&(*xJ!H|?5C{a`k(#XNZ9b4 z@XS19QG2Y=!}-C10>kT2yKR|Cn8?1Mf=vKYDmCf8uL7rhW%VYl$eeIE6?k&5q^J)j zgmoV|Uz0)iiOW4HjXMM6wuM%?XtB~XOtVSrCcEF|C_}=n9m|mSIMvcNowBIT)Ce;` zD^KRDqztN*HEc=8_uPr~-x(Ue8*qINGnU;3$o=!C5 z_?$!mKEQt5ena`O}~ z$VDoJudTp~GcmRN=~G4Jr_ZHR6W|FZ{^MqjPX#=WNQkHNb2@-S9l}_C0lmv{eSjGaUi?#=6@#PA7gnVRj*5jEl*u^5HLH9oN~`qb|jznG;)!2 zAf1zUJnVT#$^5j53;)IRaVo93(iHF(>uf?$$@Ca>gmGr!yT#dg_N!wibvggie)LR-AUp2vx$fKq~nq8 zyw{QA89I?P-dF@qY8=*fcP;QYz#cbRe89L|bzGqrGu%2Yb$*QACqm5 zT#~wA5FAG{L5G%mCk)0^ws;q_6<^LOmlhdB_P`$cEH6`NFTp(qzms?yTX7lF2l_QODH^Y`zBKnEKI8qA6F51J6G{XSi0XW-HJtmu(`@btQ2UcV- ztH+yZ0Yht_M_`Lk@?}R^4a@;xd;&HM9dLkoYRWK;PVqjeNUnmj6Bi_-!DMYVorQy? zn&r)`zRAnkOcqvDCCl22dVN7!jKPhuLBkuZF@pT`Si_so#|&=JV$H)C-xxqXk70ad zT+YWZ-Xo^ia|k~IZWw@oIlwSin#$q5Ldj%I2BfJ{4K%1u?UrL8JF6mKB6+As1}uJn z&=Sh7ZTRy2m(Q6_1mcsivC|Lg z629F`aQgmzlG#VVS-J&gNHPE`K-9neKHB~N>JmwhM@K>bv7~^_636d9h|Z4|YMDLy z+tO@F%uK1g3|fsbp_`=4Y593MuPOBeQ~fghKtF*pVf)BtS1+-t)l$Ta%~%P`%PmR? z4CTZc1wa(IuAKW#dFSi(jfCg6WBAW>=-Nd?&Gq%e%|&|0$3vdjj$x|5vgoi})zmIx zlF2*{fKv`Z5I})J#>c%wS`rvw6I-B}`z;@T;78*RO8Mu9qsBSS|3GhXcn@qCaQv7T zZemOObTyM(h9x7giky5OGb!75G4N?L*94H{E1wtoBI;R@~S^76RVgKLY2>*Ze@ z?5R_%qt_`M+&wdWm~rr6&-^MZfyMz-eHn4nILx0$Lv2qjVv{U2iOkAQem{ujyd_5^ zL|fiRKqR-J?Znc;(8As%YDVIZe`bH6?k3|ZHKV@860ODsb8b4_J#A`@ zZ5V-kuK%s8PG>h=t-j5M|5K69C)A#Xo3!fwLgO9l`le)Y37u|Q0Eg_4^B=)eyw*80 zIzZJy_L_#U-k_qBzg*Pq%c?p9DvqRvTFVO9$&S{Pq06Yg!d&aQ|KUT=1JCQPj`Gp@ z)Ru2t>wfS7-gV#iUVTNRvy?{2v^GadqHuJzAM-zsh$`EIDBV6XC9UAAPCbxKTfYf_ zfC<1Xt|PgC&71=D!PgWR>VT|z;twUoTG}y35TO2mIpT+JeR8bYv1HZ1Gl0X4O_i#M z2I)9>NuC2!EAKPGY@d#K%cpB4Dr_7LXFrb^%W&yRYZFhNx7CG#e$INhcmf!V+UwQm ztFjjilZk*9bujRM+M%d)CGr8>nu>@gkk><*008YV%(7DZ-5iGXqOKTfx4j29HByaj zdw@iJaE=ARDphZ<01c9scTM`W7!ETQOV*IP%gD!K7|CmOcWiNZ$j)uMgq`oW&Bz-$ z^rE}kzOjAH9N@be6F$oa-@)&LbN|-vc-=f;%dkDU6l;a-Zi7*Pp{-8g?phTMWcKTw z|C)>WS@~&2)-T_$>QvS!gFc_crp?>dVxHH+T_oGD?>lvH^h10@JqKRP|L;7@J&=0$ zsi6I^z07=~1xqJo9FG1KU+>vJ(0Nb~2cqRTitMJ{w8j1(?~g;7LJI$?<9L=E8vN&K z@9PX6S}VrLbauM<3)h7)V!x7~L}I>mr4x3~MPXh=y~RJRepaV^FR{UH*!n@j-u{z? zh0pcagI*8a0nRLD6-33?J`)xetI0CCyLu(|ZEL}+NOMQ35UC z9k)MmM08`1d#u8l%iJD6{z*q#gPy5`LK4Ri^N6F|Sfl@!Kc6u#+KIAHz4?Ikb6Kdy z@^0Lkk&A|I-U8QM9m}z5>A}!b|0dgecw5ptI8&sy) zd2a$i6c};Si>C8uyq!T-?5@2Uuo7qC*ZVHm<@x$w`S;8sj3oDA4L{xV-3nV*HM1OsOJC;gZizSL zd5hV8(3z~w(e&K1G@*wvpE=%#Ll3F7Q5*XE*r9|n%6%5Rpd_G)41necC99Dib!p-s0h9>1fDxN#83Sk2mEAF);Cn?-We6H z%-55x$)itV)*;ykztZTF2p56je|CBfstZ>7t7WIp1hQm=MG>-4G+q zo_V^cizOme7;Asf^C~r^E7kr0D+Kd%S|ew&Ir_8hzrjiQLw3Uz(+G%zpX9Z*j^bpp zTf}Ef5Zq(j?%9kmufk!1M&V)Kc{fv?`7_WZvw{?{Aq)%VGGSE*)8*dxd188 zvhZhpMO(*TQtIEo0aqW_&1sV>5)x)trpG7GFG)(9EE#0(*q^-j!t+}HmS?c8ERU+a zhTZ!omj~9L0FO0HP@Qo0MhXU;c-Bf|PacEd4nhksLIqrFLp9Tc4gcFG?(<)_oYOP? zkyC|5)>U$9g{~gFnpseuuS<~CE|Dd=gX4Mxowfz2 zO)Q;~@n3LQl!Cx)$QpwvV+5)G&eS2_((ui?h`=)#qybU$x1t+*WyuP+Pmy=MxIL01*-X zQdtXNJxd#jv>h*k>HbAD+K zPJA2Mc15-d98%uqUHt$nQkH7ncw$J1QE*YNZ(u;ax5#R3M+EQ4(N~zB#wc>&DioMoP+rkUEJZD)<&oHlsQB_`!7mJ$-w4k@r{Tlccq+tB zA%3!rAXMYJ#D3I$QN_}lNmVN1MWVaJ;{1-PI-CMsioWuH;tl&nPWRyBXiD*;u>8RA z{A1`o;#0BTGjx83s)FP+(!oLMy{F@)cibOx@hLHT_p?*O`EV@NK_cVj(fX&2^+Ctp zM0Hl^%oxdXZ?5{P(deuoKbe14PYbNW7KUT9LMpZWo0UTEC_$Xqfvwef6KYODZ@C~doYXF zd*{?sm0ZA>iwQDQa91K0-E9c(}i^p6%T-R~dI=S!!Tretx)gQ9HIN5w3X61ou$kNFOj> z0Rlq-6ksm9E8m*sGu{(d(5}CeYhdR+bCQd%?|66;Aei+#;|;Y9MYlD`+DGO^K6-^g zv5Et#;QQUv11^KqDkt>7T>f`8L)1&FA^Tw}$=+)S!eiRlgL>j{<+GV7VKs%3D4s6P zSoWkyx8&i>tepOgJ>GP5a6BXfFWcCH}6fo0clZJnL^%j2*FK>s` zKPMVkrvVA$fUus3Vx86PW0L_jeruFnuk(;OBM}5?< zx59ir)tox9*-!XhwPik8KX=eZc|>0S4P~5fRd!91*@$52qh5$D{yhuAg%2R&u5>nu1QhtcNZn9H{j~OcWhz4tRPC7`n$#^h>65GCS<6oCMYbxC@$k|Csfu5jd z@>N8(w3)CJ)mIF2ku1q8h%%&Xng0*+XJsz~CAD#U$(tV+g7Kqe%&rF%Vq^d=WFq2r zW6h5+0OrF6aX@sk7LOMFeS1i3532`U#-Bl5`2PH~^nM&3e#3ikjhmt)?q=V+`#TYE z!Ly3>qj>_Gs01Q$W8%iy0r%pBV2zn++DacxUR26zf~p zrH4`JZ;`E~oZ@5l6vWBmE>5ZKi>jOjSRB*vtQHQA)XbiQY84B+EzXsn*8m9|_%l+( zD@=QN44KMkzR!DozNuCO=5SFQ?<=tTRf@?6Ui=?~MwxHy4Lw;|_rrMLQFpS=DF(!{ zZuT??Yn3vjM|P0u)0=42RBHMhq)9!C91{BcOL_o1Un!G75s1p4`4Qal{NO;b)7!Tt z4vK?)g};*976g(h;t`V_#9`3f_x}t{Xd&{RZd_}<+$Z0UyZ17@`;l6IRRnT@mTvth zHN4SZcp95vZYh}T)Tq(jCA4tvO8=aND5Jtw1cOVGQgiTj4Ea{jKlSvTC&WP7#z22{ z?mw`IhOA7oVvTRF&3=N%c2g9F0EW&fkBdmnLJ2&t)084L0y{3}8>VJ!%~iISORNhU z?r4lh2R1gbWtN2<{%RIvC*4yv<<38VUw7(qE+ad|tO>B!#K5$j~mz4XFuwv2{-MO(e~yuy};k(m9!=Khf?7~p=DFvy2` zSqZ?b`y=b+P80vDv25ICPQb^1P782PrCIIFW?FGgQ3Tf_Rwnlsou7=00(xo@9{{Hvm8{qu`QoG*-sqjrl1*Nd0q2Zw}yDht`OCc=I zZ3tw7Yba!4Osyit3sEKe6Pxhu%%rDg1R)I?W?yer9rNTn zas+Q}Bj;BV7d-+hu~44a(E4(4KPPyw4$WDSp^K&uB5eVncAKRqKrgu!9NZ+f7?@3- zf8Dx@tgg}5jvz-`sqp^t3CWVQ{S_4yNgSQHwYdGYy@NCs7r}R0@_fUCAanDepFDyE zx}w*0-o(9j_I0;!bHxg{G>%<4yNc0x$9XERT$ z!@Fkbnia)IM0D?mS$L(;;~x13=6WiUParxa6S09&*O&oS&aHY40#_UK7`((^?b8zV zwYr!=C(5v2%aJ?M3_VLJueOtNPwKNm3X8M+2$%?*Y^PqaX4yhwtewn9uEsVm&t*TF z=Y=+(MjnV4jzDHksAycijr=z@)kZ(ea?(RTGCoewNa*;NO8=_G)U7f+bF0Vw#NqRO z$FDLp?bp3pr>Av3vqX>0<_>y5Y-AF0sJo0KPB=uIg<#I3Y)LF^FMlU}V{Jn@N|5q*02#@hpDPe?>ndr~ z=i9~V?O+>6k2403KSRRUm-3g?m#|Bl4ZLqUH))%CeAr@jKbK?Ich#PtGl!1J z=JTD-gkPb2u3&WmUX1eUwhSsrRds5%O9`*=$FU-RFaGYgy~4E-@#d?58^_?Fy5{hZ z2m439*Ex-R60`UqR#ba{#9XsLII5b9jghU0>Nf}CAW(x-eY-ft3tN?X(j%oBHA^Jg zJPqM-E9?IrIsEpOa5lK_8O8iGmk`y_q0nw>2<7%0Kk;NX`{F0;s$*|zU^65oEXvN_ zEh@FIL%h@*ilzO$LoDOPr3o%LL$J()!C_AQ`e8-shSmd-MKd2FGC2V`mC3om0RpjA zIxQT`Q8_olH@5}ua}EutsSz+Z%4S}TfY?--9~%dXqLXlw2a#wCUBV4>evPo!aOVw_ z*P}f?4SuEGZe!~q)2ff)zj}AJ7iAK|6qdcpUN6g&PdbT%r*?07eEy#JBEnjDiJlpk zUldo!h6+18E&L|>e`@p?xLy??uSH(-RCYNNTt*o0!d6a_GtW56wSEoZ9no-+NBRsl z(J+HLkTRTU5}9||uE){=WfN3vXAsm)}WAL^v%FNB*>Kui2? z*Q8a@dSMB1XF4?C>y@0afyf6W6d;)ByI0?FK5=+W&q+<`F0e-ytC8#_8I|c-T@`mx zX%A)d3os}3otbPM9Gv{{=-{BVa0q5wc0XjBt!TFXPmt^D#P0=0ZDe)J%i4toypV;{ zjEoZ~^Y1O1-Rh!K0fmX5-15%%%QHh8AM4!e$p>mS+<*7x%@1w5E;ckP?E@e%^d+Gd z_YY}dSy<7Q{oh}zwjhcLv#j<4&-SI!bo89efoH)iG_)8gSM&XIVdHsYT^XN`<#0wb z4(a%9ZS|)Od76Kv<1{>l`?zbG9n)mQ?h!B^s#bVkNc*jVE?l%cfv_2H8XKFivoSPQ ztXb;Lw0tN&S9}?CLBf!z_UXfaG|riYX?*zPs&=k#n`^YZjB8^19rr|8IoBxY3;+bo z1E$OKO0RoOAD+b(d{|JLRG z%7AT5iFV~!(k^Rj8~Ra5@8s>QgmwWf)tg7S=O}u1$ocu>% z0)}`^WB5wTtHi4-RJ&+64Y|f1Bx)ii=vhKS(Bp}ysMz`BfLEN+TuH$Xo`-<+DI0rk zP2~I7sq@aD!<1lXWRT!qNZ1}N+eer?`*0HrbVEwvC%(k$s(lH?pBvzQ6Kj?Vx3^GJ z&cnTs&RQ_Z=q4`g+ki7qGP@QZl_V`aN-pE>LC?T zlhJ`s;uFX@83|W%;D4M^TnSJ22A_d0NY<;k`62(QOgkr64DVIRvW-s}tYck6;Kb|= z#}fv+%=gyIecF)9g!5#ov>{Ur?^wgi|3$Uxy?s41Jnwo#l5e1&jCwR3Ch{gDsd4Am zd0W|)3M;s3Dv5lmg#%Qji2Bb>q$%xka;sKU2Ja4zQd3T7@azdww3}pjx9qOOnB49W zik;9gs(4lT!ItK-g9j?9R0&e4Dy1&LXYYAPM%Z8omVJtor(>LJ9({CFzoOf=$E_NLKKJ1J@rxX$vxQv_ z5z3x2_xR&1jB+2xUNDY`nd)`V03u4@%gK1>aQn!r2ceCnPdxIi9rMisQx{+4#&(G#qNo55)dcaXlQ3oYj^N5$A1xm!_(y*n2eMcM0J?9FZHvb;}B zImLwE`AP5da+6;r-}ceJPdSofon0S z0bFklD5iBim}ypJTT5=%L5d{dxhd&BEjs^d>-&$=F7}l@=A#osEx@RRxUCW^zhxXEd=^h>8P7 zdeG3z!eITpG4t5Mbh-G~!Fu+3&S%MrDxVE}TUd#se1CUA|3>$F-=4T7$nrVa z#qF1yRJ#MmeI>cb@knBE>0fW_riFg~`ggo7>2xmsac+t4FB6sU1I7`f5$(W;xY66J zEArV<+pKh}G9xF7joxM{%f8Y1oK7&nC@5|#PXtkYZZV)|7ac;~{Cv~%aeG(qNVR7<4D(5p^&!b;UC zSsJBIj#hoDr?cv`939L}F{&4;iNt~dmq9}rn;`s_K}ry=xX?nR5cWrOBbE$cunsZ? zpl2>o^&Vr4j8#vD*qg%|TnC--L%_d}AFOsFh8=nyyiX(yRXVxjp;f!8-~;a?vB-b(2&*Ot%ymXfTIOT>^bivNZ4CLheT8TWm$%eM21awv=iJ~h;qtx zvPT8YSD}}(@C-dUF&Oz-HY#@#qkIcIsZk_kZx(8jHn zQ!5+_^Ch=AOIM{B4$PWz@1FA~&a7H+xDj$PJsf&c%X4(f19xs<9edI!$IF928~PL! zDqoH&g$@`2-+|dmV0@&|kb@s{rI7qLkOQ#dVoxXOL4K|vLTL$!SW-eDm6W=jSR)z$ zAx%35MCS+RMJLZ-%2tUFKB$7EwH!Ewt8)VK+qX9cz zD~p&|J&p=g$qrX1l(0&jZ?<$#z?Y2I2#}Qkh#5}DQyfJpoy=CXC3BzQDT;ywK zLV*rNzX6*A6TJ^}DS-{sqg+O#kXhQxajWc$ZD!L$3k&Svt!8bX4*D*8y|T%l+oT(d;sE`*0WPXa!0^-O(l5Y>T=48}_2FtkHin$Y>`B*mnn&bz?>9f)iCkxXZ7p#1d>{x*N;plm{Kr-?i z?G_8HZ(niGQ&x%!MYZ|V8K_E#$|}|BOrlF+g$WNyrOECWKHZ!>ecsLRjIq0Z3mj>X zc_SqJ@KMAklh69u%MV31MIL1=+o{_<3Wd#CG7?z(Cm_NN#OQwV5k;djlKmsG+0~6G zuNx(zmOOX(+=)zAP`4A^5+D%@Jj1bxZIFpV;aIGK1TDB9@OwwPh17b%i71)nDm#-M zz`z@QOm_GqR=)f&=;gUNs)i)mS7wuvkd7?#F)^Sriu{799-dMK{eJ?s$a$}D%rCJmTDI;RT`me z_?l+ApM#jh&j_iUs#QMW*Lb;UJd*q{t3ds;m1edF4l-Q~LHasM;>F5LdkIdML!I<+A_7NQ$7Jt~tM<6=`A zf#L%uCHkyi_I6e%DOIW{RVpbXpkuPoTB6@v%^`2uWgp(u(^t7r(&LjK>k(O=1et(g zUfWUb9U)-lT4-3gBgniUpa35Gj(PsL8WGGOL{Dq^5{EDk4l`OLmbl!O+>BhNr5k77 zRq2B!oVChcj<>HSiA$yn2_=Er%nB|Ihw6fHytl0c`t@8pO6umz zlewtln+clOW{`t%9Qs=CQ}bg`xx+VnzWV<)_gB15D0-J(UG#n{v10I7r@y|e#*GPBZoz0;&L)ZE7#zper;lzaDm_DXsCEUZ_R!XYR?@6~ zQl#ZPO&~k0@8WLJWrT^97t%XaJ29$dz+fB$Z@t~?W2$nSpNC8-2B-S%)?IN{{aC*r zsL{NMVBnzj6vYou$zAfk1B^=DZdPO6rq3W!1%S8rI-sg;fLHZ8uzN%M^p&~U7CT-< z#1cX56%p3j*#RKZ+fO#Tj=KB5F5X0wd8EZ`DlUOIsUWl_BG2>sww4NLIh@`77J=u+ z9*QrXVM1#lpc3{b#(y*`op_*v6-Q8f`P|C=%jcL-gD0qjeaQ(Q&WR`Otw!NOmF`}> z`@4IDpbyNp@0vJb`h7*zOEwYDb*j8Yl($VI4hwa4@k1Y&t=|JSDWo{SF1d>!rvppQ z&&9M7WA;gjg(d)|P|W*nOh#1i^4>4xD}2=jhF_pe4E+K-lA@kwOCbKp)KSl<_ri|y@_2|!9iiycyCRXIE zL`UT;fjo749;LX2^?5fI6Z714x|`_EmY<3ZqpJB=d?vxRRaa!6gTv?WB8KM=XaDRHaqK}=;i z4Nu1BdPF9MM34)dD+;hKq*OdEIp4iFo6Fkv%!Mt9NMPme+sN@~pZED#pLgRiadBfY zEMoKhOpZmzhR2p{5GzYJVq)BQh zuDKJa+Fq>@v#RZ0llmwbboW$ zX64t;uW*7jP%db6(z`7YY+KJ=u4wMajTtT?>9!UDISL3bzy;w+SUp6R_y)U4K!gK? z=)ghlr#fsrS~|--<~m;76WYD}?%H)n$`ZyKOhwRo%wa@N;SU?5o!Di0QJ3Ft1YK=8hO$%kIrv00}$D zP&Aj`a_G7bqoYtg#wZE^QY6sPn-Ve(_l z^o^88J3?bqlo0y^v8VzkznJn)%Y=kw%h>W;ggmUPD0>ipImH8$()i*=-jnQ_hi$Y6D`U8v^`%n}R`}wj8n>kj*mQ>Uw;-o=~&a$(N7cXBYR7 z&|1#3i&C~+bS1~mIz^0mQetKX9_B>^cN9I2>&6Cqz$L>xYt7NE@B+u) zz^f~pPp{gw6l^^ODK^bD?@_<`0>`evOB*Wzmz@{|eoNjX(6I(cTw(5KKzM%6g-vU@ zyMXZA%`F5J2P>xTJL5_moyxCZO6;7$q|dn2q7>$v1Qh=*{*zMlw+NOCj%}-Qu)k9t z9euCN&hb`tG%756i8+$95E`1ZFv84Uf`nY|{S8FHMnoU-ecSo=pfzYKI+(J7uo``T zv|~(^?_2<<+MOB+h(G~(mkO)94Du74qGhfHt2Pu z1j%lu{N>vIf!jz%KyP|o2qaUWtOPgwh6=i^^us?eHuG~DxAV4Hvei(PDy+a3IIvL1 zR8+w1o=dE;&*c-%+q0rJ*(r8N8s{u#b078h?99|b8xMOMb`h6fPk=-q^>PI5+q2ym z|M%PL+Bc}&c{mPqT(x?N{$`Rx#$i3suw%0~qyF(^Q<`a}AXvMQOKRLw$`#06o0kIi z%WgHGVzb3_WG}QrRA9jj+g z`UW6jU_snu$Ru{eOefIy49G*}f!~ID{!;#;-QZF#_ak|Ofk@-Yi3mgGNT;C*PE4HvtE=y7&s=_2eLw71-jTkH ztO7c|f%QG&(qmmv#|-9H+}5RicU#QD+31u(5+fS*hBwhA{*l^_lk=-`t5(QO$Fm_* z4wC~&Y@Nr*tr@}{sI#4EL`;16A-lKf!I{Ij~Ed0z#P}k&P?r=}s*b z6|SLO7ndMCMXpE4L#ftbCw5SL~%TMIaj->a_PUq%LO=qNU zjN~Rt3}!aJ)*==gtUR_;fT*a7pJboD5gwO{TGLz}P;D7Cbi6}z9MaOEbID{n7lWj; z*pD@*twrUS_8gSsD-$XU1VifgI(hiDMgud$0|_lj4X8aS_Do)SCiX-lPgY2~NvR79 zj;?!-zZsx+$1%6yR$|%_Bavd^C{wHg3=sVg&Gr#-*Ug4NP&v3BwD@|#w$K#vpQ;=((;ejC@5l*0P-JUz{hOp5- zbuQV!5m13`?Q!0?6s#Ku=+3m=#`4sy?QHFk_u4uDD#x5tEJ6c!p@P%<@+piC1Il3= zu;lK)=)o1}5uG@n{a)@ddFz3t){sXml18VL;9DD#6Uzd|D+2cVJ%~OpZwDm0oiMlQ zy%z_3fPzbBqDg#!B+;I*VVEf%jwX8dtJ zJVkXrf7{+JV>!{pdcgu}Pq2o*!hFdyO>WD;Ad{Rn(?9|8q~wO!Fu?s&i@6bHclz!a zWZl<KVzgQ9)Gs+@6 z0$NL`?^`B)o61Bf$}V1Hv^wVNm`V9|*~4iOM!6>$X;CsiA-al+zHc=c2jpmDlOOe@ zJfFv#I@6@OfIEw0CVW#(KvDiCzPVPcyaEVYN!mx$hceyx5a7(|khGof@R04PkgWTR z`(v`z)v{!AwHyoN0_445zNSjSa#)s|NM=2gzRf<{nHC@NL3NWiIRW+Q2GGeMdDCRY zjNM(TH{JkDOZdghO3O<5Q)Q&2Cq$YB-zXjp0H{{jjR9htUKn=D>V?{=^N=_7u_$=? z4;b2fEY;xltnO~2!S@o*fD%4N;#=Ubi7ee`WDeMlyY$};THC4hkxSKw2~6CtLM%T4 z&Na^2Rd&HA27VPZI&mz}VWqej`3ZB)G7P)`3SEhy0jPP&34^`KgF-mq7u_1CLh1wVtsvbja(`>%N(xLPih zgL|W5CNalnP#=I>O55iSA3z*;KT}2O!&hEWPFp5mQie)l!T!RcLVBuJR6#vjFsFlx znUr!fG4WsuN-DV<&Z>Wy0<4uSjF_VmduXBLa6n$)}9?h%UH8|K>gT9OPF^+_;GxXpEdQz|q!MT(E%PnI zftt^fSL~7xl@#rdDIA?#v&l2|oDW6zqELavrF%woa`<>Ib;u|dfSk(<)C4H>*x}1n zK&71Xim7Gqy$mLK6DhIaENYZ+?yz`Huv26rD?o1w{a6mbT)AE@jYC=x}Ma7C9Z%-9I78O(C^c3pEs7PIe&buw0$U2I4 zB!@(3Qz((zTU$solbsC>MWfGk_)tgzj6L_ysN0L#$N=|k;vS(4m$fidS10@luNV2i z9pG&?DkQ^K0ue&D`v$m2q9N}ykcA5I38fOM;Y2y5PDf}_ojPQyDBKztK3fJar%&jn ztPNS8;rfwVqv>d3veGzx=TYpVotaL2xcyuP_5uJe|JGo&X3do_@WLUtZ93&Zn{30@ zA9l3_>r#}#$k=A0&`noS_wd-TKX48JHAm{Dnz0gW(2D^iphFWE=zKlBAp;7m4!oIk zhyi5#BL{SkTo;qK~#o^YUJx=rvwoL99>Imi>L2<&W47GVb= znc5CJAc)_APgX1fDhL4=YqIg%@hQN8hp?TH0@|A&g6{oDW0SWZ**sDl zMFsf2nz=o%($<>X)SB4jG(?;bU-z77+m37l{Kbcto{$topnfSN_ zGq*I&?E1vM!|3A~o!t4ofi9oe)6(@?QO=sZg#?&z*iVbzUx zh*XzX6hw*PJZ!q|(`p!^EAlq8LVHL$odJ2AsP0bP^j~ci$su#^FsQ3UYyW@cFyi2SYhm5^K(o}ZJGyTe4i5mBBq5$0uQ1>zUYLJ_ z=je;~Y(D@g37H5$sXqej{*$hN7_=#{sT=tl_>Ng4LspughJHX7i#r8-TXfzf@5X&> zw3X`U4_~n{a|T4hS@Xx39964cA20-o9fwB@g7Q;u6OfC(GkTHwLFcJ~cA<;0ylFjO z{HNV|op8yaM&AQrYHY2v*=cv=0i$9t=72WKA>fz=;l6Q?fv)<6aJ`&{ zBg=sBpQJO^f3E)@&G7yH^W=#qIab&b&zQZ+rBXGsG_m@s^N3+RT)6h_NS4(HyInvf z&Loge-90JMJ1NtA_UP9r?wbUbfxgWxnCMvDSR=!66q{kh+x)5(^nufW=otY-&nBfa z66tQ0%u+rAh@K$=)&DuJ6`gd6EIgf_|J?2TeckM?(dA3$1x{>4ZR8| zSiR=0xqdpj-=Mnn#COp8GOm-kt`}aEmX$$>k|4x$E%|57l{OGo5>8~8^r7jat$dgB z=Edi)_)m$SV&g0G z0`pL1sX^#Xw0@uQz1;F$Yf>R)rk4{xz+RO5g}s{w(ommpxVckVi9E83b4zd z#I~*2xc&O5C|o#d3NWWEQVT&2vJ9muQN*?FL`MZyV;|qSBAPH}Wu&I3PTxAsE|K#X zd{LAakmI79@Fh_`u_aMpA3ldh4S4=@l$ocI+QW?HE{f7A!jPht5dU0@5N^4mHElCA z`eo8`YQ(F}&>ZI(wFtwc!(|BAXZ%@Wt*%Xk|4lCyUomJ8t&Ls1vD9-H_dDXTNuVjj zL}o*05nskw=okVAJIl+v0Kpsq#9{F9127oVETi&KDS*PTCZmC`0TR^9%Nw2|W`*x< zYV?(3?upLht&jChIIRiAvr)?}p1ed}{uu@{ZXj}aZWT-vJ>)7ACAe`<6=E$~cz}1$ zO;={gFBjfn7n0QC{P%smSXs|u)`$O}OUWUC(1U@i!~(+=5X=$GIaV~)WA zt4s1*^Vnf*B~s!EaXIC=pe4kVjF6GU%e+=xoB1__P_)>95bAOLSMm0!f%cr)Ad6VR zF;cm^{>5YaGSkJgmCy4k+a^-^L#(O$A&t$bmY56cB4l~|M|dOOQmUj0h@_XjStavyTu`JDAn#4Tem{E6O^~a6@e-{uJ%aoA zBS(@a&O18X4jo2t4M~gwb{$e6Wrg9LK)d*uasg-nelqn2%~yS)Jnu5Q%=IZi`dv+u z6E69XFV#K87e#;<#KuKA;!C0)lS?At>j|0Aq|6}n19tpHVVjNJ_p(pnsp)~Tmk=|Y zL=3%ZB!~ zN1JV4HDWd&tX-KW#rF8ygk|1yN@1;xf2k>xAr<0%pBf!Q-7*wWVF!L4D2lsqnO9cW z;@I2PhrM}Gu8Fnb_JRC9jI2+=CA83zrJ>eJky1~b`RSAHv;~>BKf>}=N_bOrOgx<| zgFN;_BYX=zePSLzZHySU0!|&&1tu!SPI!)gt2MWdrw(;`>}YC=Ep7Z+d)}KIF5(bt zc+wI&s_CD~8l#4Fde6zRqZuyPpdP!Gy4ahCd_aHm(ePN>t*;q3D=a>>r56*Io4L|@ zIO1`u9MSlx1I>wgeK+Ty9sOThCSbDj7A#~F5bd?;wX?|CyJVpsx1qzKPYDof~UrdLO;(vQE$F; zIa%*O^F$q6T=ouIUJqx%^f0xsHN)a_%AMjXuj@1OxYOT)%!wiwtL}?TOHfdP%_|%t zLfjDSoo4y_p7ISgJUmygdSA#r3xqEP|Md*SDAh>(^jV59GS^>-9ydz0jBP0Wt*bd!0BcMMHQ z$~F`YA0cYm0m0-|*{o8F`_@GiA+KBJs(kyq1=$N-Tu{=1P=e9835PH+0a|f79ea6% ztc<1m2!~Y4`*QvT`nV<+=v$mOr`$pBd$=a_cP|Pnn$If&2n-dteE^|91Z-zVp1r!} zdgos8u+&ht)eWWfOlR5A$uOp+gWZq#L*>2}k@7pY_r2sy8oQ8N;v^;BU41bBCUmWT zYasev(<8grOd8yU?i$T9t+IuhVt4_g%tv-J?*^igt!n^Cz}RPAou@sTYWlDCu5V7$ z?jN>Q_P;Z`Ili^U7yiNYXr8wD5QzF2f>Ey;igG$iZ=rI|G434dDaj`>#zk5fqO6+g zs0rzTjN1?hk$jdAcO>0$qa*hx#KrKhxx{!2CU6j%zK$eUEN}s{j zq2n;+ld2E!G9a#F(N^7jQ#tR}>T6e#MH4O_lG;>$2X@FYj+U-C$_1@GzP zw%%z*LnPREQPGNIm1hLSba~Ak=0Ef6O6GvZ-0!mq&5W4=Xo1s4B>m%# zwbx4}(Z{*^8}e>Mu?~bg5YcQ%(|tH))StOwo>QBSPiu-lR5Z0uNbKhv=|h@sw$T7< z>oA@FQsKPTym=v=Z>YVJHQSi3o5`(~Z`{IT`->wFC)5|GN7cSIue#Ky_d|4UaZzgd zyY^R^l~?oPb5J#j7J8Fvi(=HrP5IbGUT)zXxfpvVptzo$k!t%==tHs{vXh$d!pa*X zqjz!FXM7%H>rA#wd-Oqwe1pFUo0!m(sq1(3l-H%S*d$uvO@YU7MTl}kps6r9wm0>Z z*XkMHm5hX>Ml6OOtV?y#7d>`;3q$T#(tMy@49_%?cfu_Cj(>?!_8~jjy>Tk0bzWK$E{tAw~Wdy{VTB6YradZ+r|!Thd95FQ(WLiXy?& zr|36k9&p@By`7i@x>rj&UqsrhxyKk)U8~Ydw>hPk)Z#jeXx$ezwlH-uioRN=*8t*& zMoetQe#cEFpCf-cf0p?$^K8TQGQDV^8(3R}i)taXW>=%6lQu@_*Q)fYJR`l=UPQwC zREMgoE*DAeZu%xhsyF#%L~(|q>2fB~q+nSrhGZ|V@cE;hg4xjXYSQ(KnO8wv@%W|i z`;RM{SsG(Z_s(&?eQ@cQX)tC3P`WKB6D^e4{mpjudE++Q-|cBBQ7w_WuApda27od0;fb#&N$A5XgK*o~fFLM27`-MvJ%0oAE96Tk^ z;3tv4858ljQ@$?o&*KN7o8L9I9`JIvQtMJ&3U6tjOAObs+75c0bd^0Jvo<-jfCwv( zPo0bo=X@Q`Jn5`zj&Z-3VzRrOWP8f_`sq!yyuh2ew8Q;o3Is&VZ5J;9w|_sqs3>qX zRk*>wbJdai%!%vKpf_`g%OgGPSxtI%R%#3(2W$-&D~VzgThHGJ{vWu?GsV^pn!f>w zo~L??O{CBqdVQmH-qY0jqjz7_aH*+1$1Y0xF#(ykgplXE^Xbkf(AqC=pk1Qu|>{sD2v{kp?H;4V+?y?M_)uZYQMkvwji!ku6- z`P0BzO7o$72Js^kvxg_h_Ym*sUY9cXF>Tx#?s_?x|Lj)E&)t#P&JVwB`MbYm1C0av z;^px~N4jCSt!sg1j6+?E1MF7nCYp=*IboDd&Q__5#}#7Ocj{AA7R)z=Gc5;#TQ`a- z=|B2(8+5vUwZl^!yL4)YdI%*5T+iDO!>!pYV=WZ(eL}k2x<8bSDUYsh!90}zX0A6P zl&>#`D=H@2ChH8|e);?JPZ{4$a)29|4~#<7NRxXQf`{jj`|nHkbO!pZZq6AFP*l1m zXZG#i0cJRI$Dm|1?#Q=JJd85cC~B32eD{o|68tA~We6^qJeFUnMpgU8^?CJ=HOJEd z#sRk+lP{w_1191m5_{ksyX;Wj(l3eR3)XFwt*O-(7&5A8GkNI!1{_m07nSLqe|a)> z66TV_fl>i~*C9g{&nsTlAQK0jE>s@O>QS9~`t0!Lo5KST#s>`KLj|ScJpmc1K$I(@ z(yo1Y7++g)FdKHAbK(3Fdg%OfQb6WN+eK|LIsWFQs~=%ziBtNR*u}+>w%-e#1MZ~A z^+2EvwRir0fH&3(16m_|kfc@RJ;Iv#qpVN#hBGTLhH{_Ji{|5++y_Hw9VR)jvOY{h z$r1!$?F4$C=JzpF`G%W&L4nEm66#sW3TaZMWhf&_sG=EZ=$K1+`q+J_XQ%v64!Ws{ z#8Gy<=;mnf>6Ww0Id#eXNUGc536W2hW>W?dSdQty-X>;q1HQ_UV z{c*737bBanT{kskF*gp8tIJS#HY+~&P`(Fodbz9q*iZKK#QEnHC=t-i^t{jd?&yn) zD+Sf3aXH>O?bTpqX60e>eV#MT zCNGTB%7Q-}?bbNciFQKKUYyhM`fOEsYC@Xr%&oWjA>PiF`nPPcjN|l?y?{3YK~Zqs zM5}3>ae4H zGR8`AH{f{-Uh0i(XPNzzFRB4v&?O%YWs(hNcnN>c(X4vdUQzbM?vLQ&cLT4{CJ%pK zABF7H%x@CugJfdlEHVoYxo`?8=L0rO3t*Ui<%l_KZyL$<4FM8XCu_IQ$udT2AL*DL z6Fn}TbHb2Q!85hDGjXSw3!0&lFJwp3ZrnOMlW8MAIF0-&%>2aN%;3ijj+Gbn;%;%3 zp2gbm_7F;P7U=sk89a$4>;Lm~<;AoNY>f1bY_zqE7@Q2LeeGreSGx(tj6&QcdIdH- zJw(OJf&Fa^-Yw~0P@MNdW+d&#mflRJjqKnI@po?Kg1uVcd~H!jiv|QULgkV_x1N}7 zZdW;L4m<<@{LW=saE#Xq%8mpqJv)CsOWz^fna)AFNp!JB$GOIc@#(j#Y~?&=Y^iVwR4s3>ZyvpbxUAhOkfN=B?RCE(N1MA%sJ)Cx)`nGqf-)##CM!uYy(cE zX~f>#IMMfPdw!+G#6qA<%UHlaE3o|D3EcHXwK&ZPU4CvVm^W~cII^-2JRiwFCSJi% zGvA^i>1kvxx1KOq7Pn$bursgCz zmL|WPlyp>YIC!}%+Q-2)mXcK3R}P#=UalT%X>SCN$mtWPI*yDCE{fogU>9?hQaL#H z90W%tv<53r5AeVG_Vt=%=g-<1vk=~U>|j(FT;mg!nNT1&2U?I}0*wAZwrh|7F+OI_ zkhMy*N~XzK8~+(zt_jF8B$9Y_^fXVoYTlWYSRC78za5-KR|>20kE5PMa=Ss7e%VS<+3%~#lE@zU`w?TEzzcwaB608f(BkV5Yv z}KTWVWHuMlZ&JCsn7_JD) z32y%dB&-u;>IsRm=vF{~uES7g(9oM`6CD|&httxrlibT1v&V}ET=%CutO{6H+oOwa zAq8bK-g~!w5dF+g8{V@oqOu?ZUz+EJYw@_I%6{^H>+qoF=bvXDVe9?R9loE=P#dqP z@4@dh9C})kz{)~K28ZRv;$)1r$>O+d-fWyWu(RfO5l>tvd5K>9-ZpO(rK0IJZpm*R zA5a^2`jA<&2ig!0y}n2!t}_QlT_diI4Gg=6UmG48zaOzS0ZJM7clVpS&R^#>o}K44 z-V)_DpDW2tfBWUImHL<3x7k%zM|Nx0voa}>UGU%oRpR3R9kSX?Mf4hn8>az01E_fK zto)b6t^yK&{CYrFq(9EK?VQR5qno9Ev@E-xTS}l<0ytdaj9QHNgdPX)K$?nmoGo5HulgrCS3G@q=**apc_ZlUa3KEd|G?=N)i${>svj( zA-=T9{$Yfr_X+0JpvO_1!p=Ik*sHPqoyZ|ozx-p0}0$Am2Swg(w4wa^d8t zZ-B!$i`uUN&uNthhZNc>?!EkGh$D$94U4aDv%NWVkl=cKJpl7(u%qU4?s@-vAc!_N z`_4GsW>nvrfRNLQ#E%NAf;TQug(w-7AwCXW-UuhW*W0z->%@W#=He4NNE~M zB#jaGHCK~zZR%@C-RRon@>fqkGZ$OSPquNmUh(tx@OShI1ox}(RUmnFhNxJ4XqJ$? z%vZ}99W66Q$jAW@V}H175?dEu>J`qo{JF6}Q1^;LkjmN1e9+8O?l`@4GbT|K{yLUc zgq^1EAa z+Mj7;5tnak$TNK-s=nF8+{Avena!0;XIiOa7Z#0n+a70@h8APnxo+lcI=aE$}o!J*UuZY|mkmoTtN#feZ$qq1`bN5ejl>paZ6%z)U!1 zLa_4XuodlF1C~Rip!&CYqD8M6lR|ZVe+@Gzm3At&OXW{qQowfI9QRbxC^h!ql5ZKy4^9;(?dnIV41on6sW*CD?5V*v?Dj?;m7N;l*2$&a@cngTA`jv}VC;i`&y+$Gmdy#b0*l zFaKLtGP!>`;DrADms{fb<5x_`A3q4V;^1Gtu|vEiJzfiK7)Mg{WUbJ7D zW>{>N-yY#scx3Ro7@m#%9eY*p=XND9+D0hXEBK41Ah*ZsqnbSx;bM;h(lVZuI^a@@QBNV{+*<_?VQ@8GE0k$> zv7kms8gjDsH(BtUtjm}!n7IfDH7X!#FAHC4QME3ntOkR}wLkZRie9)(XrHpRKrLX) zzA7j8OdTmJb_5Z6o(~^~C&24LD$(E8;c}Jui zV{8;$V-zJGYDUj$)~=AdlHlW#Scoml!rNusW)Ye;<+$MBa;VYEm0)Ax;rv<$edzL# zPlO!S%b8$j>ShC4!ba4n-{MK$_a1i^&Aop}gEhu(dq}ugc(kSkOCK<`P9T3Ki}J)2!NjQvM}ac<(a z;BB&d3)nBtD2c#U8=ErEq?4{^(FXJCXyogVHXE0rF*f3+i%A9Sv}JjqOnq*R7&7Za ztf(&-E04k|hg}HgfQ(4wtUpPrYfad3#?9*JwdjX8Dx+SHz74lvBziT5uxu%oi~e7e zCfe*Q5p7A`?D%rnU8E5ITb*h(T*bo8X$y}3;+DOg6rwvxnG`8Q5twOQvOAYW$zlN=bYQ1C)PQFse$)9YN#wOGpZ7z_`fs8Eb zq6xq~uAiuxm~5Y%teKny5E|s#%(OauzVkS0W2PU~}Y5hhtKVUZfsWPkbq%3wOiw<|teNB1%Ig!2tG3`xa z{s8saA`$d`EGc81!BN%G>-Dg>7cy2K9910J(YUxMc{`ndeCLmKU|6x%3%PXme#4L_|_2k2VnS zsu~b+fOAf#HDFom)86+KbB`@vpP|peoZ|oB!|-{mL`^$0c6K!Vj1qO(2b3U3r%gq39n*c0=R5_F_K+d#)N6abuAN zlKv>Cr%9cYWxQqb0ZTk)4PLJ}j$cv_){kTph_SN@3bF=-_79>Z zCdkSz2xCQ}bz_6#dvajCoeEAFH2a#{Bn;+NcM=BUMRI1OwNgrX^-mccKW$`ss>4Kl z1542Bz49(AT;4Z~>}H4aO#iw3!b#$_+G~BdbujHdwO&ZHthMZe9kUL(VQ5?ks1QcH zFBXp#AGpMxUCNryR{=v{WZPam#_-;NxW{O!KVLX&Dd8eJIEIIAn!dt0pd7&IYKyy* zpRc)_tFKd(lbf%rg|DwuWOgRr*FNT?jEv_=Gjc5+Opl%S$9IeHI>Eq1>xO0q1$#y~ zF;ZG7__AgSNS2T-n*W@@s`1LJmN zV8tFfZo;D!29pKJU>B0><5rd2@6%T0~XQOzdp9jt~DOU$tN_fogC(zHqO|3NOoBeuRE+Pbwoww_)rrICwE=pg2DG{afmpjOwx;;u3Q zd)!)P90K?dR4#?U2?31#0gmwS?$o?%=-qphFC0Se?K0ToSeSf+T_~!x1N4ix*WJ8QQpVu;m<-3a{AM`l zBiCZ;?{9mBM;>v|tyqx$j6K5H)_lz7k61u$X>P}Bz!EU?HvPpyn(huvCo2;A)zk8L z35}L{m$2gYw6OMv^#j?S@ol-yxx7yECoqWUS}`O17JHPpr{$O}OchhYigRu3TD0-@ zx(6X{72f-Ok`84%z2djjI@+2MtYe)lRbc&%%fxt^XZ11I;o$*NK*PTID^^W(iLDNCnnL- zWwEr_urwM}6(0roxmfY=FD3tLPWhb8KodUNjv{}2HlGfJf+IW?Yu+E(+kx5F)e`zS z{Y={zutpyJO~>u}b><74&N#|NUr+el_nCQzJ~Ya7g$XP!kKRgU?fG2x`Kda+<2q^- z1uP%v_ek~5y2QWOMp03v9o`A-(1);$)#m=PNRMxt4ulWK4ryc(*6 zLUXvdf0GsbJfn7ym@Q}vib$x>r=?Wo1I36PYPwJ)Rm67HW49zVC@t+qxlxl}_e4jf zT0`Ix&|2MiidyNgY07GAGUSQebAbFB$+}w98d|f5;iq4|yU;_+KiE&rIjYud%s!T2 zdatQ6tDa!!%?vi$O}bKMd`yMY5CbfCDW(&BuKL9i#uoWdKVvts#ns|h{vyP;W+FMb zTR-W`G7I8pUbje&0AbMVZr>#8A(*1WJ9Oht^<4f%x{rDP^eSF*_QIGty4_#yYpn#U zkh(3bb!X~K>h^@~p8Yks5h>UCVzvnDad~_>$k^s}7va>}%G>?555DPEY^ z$&n6D*-X*5?9Ld9S4_;*R)*LIv~!4yG&xZBHCG1|)yy*l0*xztldEI-O_xR+_{J`d z6?k%z_99ID>*^;HLptiGi4Eqtgpg+QEEHS{Gs-T`jZ7IAh)LPct8K)W4CWT)MMWH{ z5s2kPVaS{kP?S60%XeHnzgV{HYGP21sZwHQ4#I^ET>Bow<-$K;sMwKxGdlmOOpRnM z@p9RX@9~*+x`QXi66R>n{x3_qCz1rxqGF(`It-JR{#jIv+;1uP3>2MDY$;2r z1C2wAWy>BG8tJrhO336vxJ2n;MgE+ekh>`{H#-qul6>ZVhEpk#ubGqoh(5yE*?83Y z_h<|9YtF{FwP?ewwMY2)RoMD4h1=?n`Gy@iw9#6$h$^QQPq67NeL~_pGX{eNUH4_Z zk^zj&Ul(*w;tl&J3JgpGYKbAU1;gAc(v}IV(08h<3ZSm`Hz1V_dDq?qDw9|tOMFc- zf~N8P4)9byIQTru4(oj7!}P0h+W?TtnoG#AWhHLM=~Y4}cq;qPbl0Bn$~>j@sS8k- z2H9z5Z+OhvY*?IdUocokQwI@LgE!q5O^=x$cV94CM9{$HLm|dTaITi`S{Lcso3bMU z05LNj+7Tab3wNz4bU7`6%a%^uuXcbd-fI8b4&d}ME~polAg;fr*SR)w&Drp7^@|6b zY}na!;VL0w&AIkaO$_j6zX*pE^wORx!E2rUbo(9qW9*g$L}&8aZIdpPClY*U#|7LJ z@bhd#J>YO`*|XE+wk9LG(+=J~T81d&_?p7@n-3uI^d`$4x{bopk9DL0a@5AUZr8=a z`r3)9cVttnXV;_$c(uP;Y<9gmWTSrxcqj;}SV}T7{X=3rY?VJ`JuPM%NPdCx|N1o5 zi^3M;cSK5!xxYP?#`fPr^grirChV}3$O}I&grpMr!Zn^0hL{AjnFRqn;*{uZ;KjD! z^R0JUiWOo{q=ew)ZtILnH(ZEzDsSHqIJdAXc6UQeL`2H|g+G$G(?a~Kz{0{^cxC`* z{5M3@6+;^f!V9t@AFdqIqVTh7BHe? z*4aAqkRXuH$Ta(E9eQ)9I->%ZXg3Tc69xK6*Wd(1&6BT}WJ_2JXq=oNE&>ieD|)+Q zK^XW?E$^RQc`110O$g77eSK(FZKQe%_}2S1NCz~_j0!Xz25Yji)hk7;1aw+qM|eCO z(xkJ5BzZAUZCYA#W|&8MK}@lKiN3BM2CpmZ)%2$6Xq>1y^~A#^ zbwT5rQH9lTK$!CCCC%igc1`D#x=4&-0iX6m4Ip$iOb&fWh)G(#FC;@jco&{gN~KE? z$&zm4Oi^mbREwgWz$)eQNvuh_)`xMrFu7w^E?`KTKC84sG-4NlArWwyl1(2$n2OO1 zt(!oX2ziVW%KVQGd?}>^6&(bYgfBoUc;UKFtTI|H&XNiKCL|ZVQdMCk?DO&`#W(ke zSg*u&8WBw|p3kyVZT0=L{2q_-gs{_h&)XZ51$P%Lxl*``K7^&=b9Zo=Ck$X%X2Q+# zl`oBy#-7Ze^&0xo*p>B--dYVS)RP$As@}$170MhxP@Oz~z8%$)Y%_HL3Y+h|+i>Fo zA8wcvg3WB1NxP8Od@GJKeR3fKx+s?SH!tIGP$6eqSpe~B zFn6i1O??=$&qll`I}kjh_*s41&K$XS_E0F9MdRSf9QHLbwo%U0Ts*MZec)MXDm{ZPrEuS-N zv=k731r-hMRva1~*iNW+)g3G~ZS_~Wng?jy20GL-AEN94$*bGK(#SgW*7sA|KnG_hcRvF@$3og#o^5krkHVDc zq>NjiJV zztS?0s5kE;&vffG?VfY2&8D`(IM>j2vs~|hi5lLj8nUkya-LOqohBS|C}ZLph7FTw z_qUTP7BS?H?hus~RC(Yo`1*z?WiF)&X@_e6OQ?b452U?myPIE^)!TEaAY@IKqAoQZ1~Gwo(=JOQ;s@fW@}ANhWf(Wd&7Y9_W0 z*2gl#lyXqkc`y;ciYUi-qZ^`q=r|&qAn(#WpQ~?AnAn63z_U2o6))x*FQOb4&fQ3m z>>PSfUDDc!jLARcQzotwG&PLfEFk=&lb+^;`xT>_Y!K+4qrne z_z~LHvh%BL)#Q&(8aYNn8nz?_I}B3*mmBwO(d+74ZqYj$8D(6g9DegkN)@n!jW$Fw znR`=s4JlVLuLpRu%Fm+#ar?rUWy$wkZTpY&-|zf~<6HkIvjLcMQ)Q-8knq=AUk-HH z0>HP(vFFxk(=C2AkNCsReo}h`s11w-5BZEXeZjeSN*j(traBEuwXu=kpD|H)(ZVr0 zJ~`9R;xl)tCZ~rSnahAhw%j(g7y8j`3JM>A{+U~6(1PA$M&_w>Gmv5X{*3UlHuS6b zLyZO?W+z${=1O9K%KwZxJWg8^P4SC(jdq#b(FaEg@Pm!c)RHMCjD`>)jb2o%3I;0D zdQ9hLSg#KmWU)%1a*8Ac;E3EYW#3+|e6{|vn7Yu`qV|qvmWuUC^iPN_t-5}9HV-9i6Cm1q zvqlP_xi*b{!Q@@2n(J#dici@vn_Tw_nQAtNpv=CF(l5HpbQwb9)K%=L0B^IkcB>k( zNbFQM0?rSn|6U6b{H|R-dh}YKGuL-QPsvZ;Il$5X<7T6N85a`zq=@<-0tR%wA-@UG z$42m~C0>&%^aV~1QT6MB9GlhdpWIcV&m9cNT956KIQZrRhrqe{K$7J5&~zYIX!cBy z_pX8jT`n=<0qMiBUuQphY&7TAXK^*p4~QoY2y=_sFPEO8>nChz(v8#LG%k=? z@k8e13p?|Qp}0u1%(!3k=5a6LcWPKv%X&KBF%5D{)XK^iHs*U=|Gej{I-lxbp89#~ zf011Gm_MuM8KkbG`A0#HUPCp4UEl{QhK9!`cxGhe(4Y zhfLfKg$*84t=BVq{80s+N7?TkD|=kRTDhtWT#S0U%?#lG8WpA=5a`_*S7ZuNs5}Ic z#wyG#3nVB*Cb^jNayp^_MV8IP^0U!6ei?L(jX5`q5sR1R*W>wFa3W9n7XQ(ff=J__ zkQDBdLgljZQPjgQ#2j2I6HsuBZ~wmfHN%6aHEUY}68AKWc^4^kC~%V+khdP+{B(0_ zir-S(Z=wzdthKgV+%_!*4-S@Od-NoKtym!C6NN4lask!RHVF99M3=4!t1jPEEjph} zCJzchXLB_hf{K)nmm$#aS$OmhB1ek)vtbyDO(qn8<-q)`?jHloObn2UD%?Q2%u6;) z5Rtj7#b%eJctOh%6z;3j2bO1>j44-G*_BuD3TC)*NzUqae_>n-7g#Y;Cws>o-(7m$ zY;OsC?Hd{u>T4cM1JQ#Q>Tf~)#z}@tz;EW6qXJhFI2V2;!>fGj8Ro< zTofJJHmqce!!q)LG3TQfeQ)|`0-`#SsBxja zZXqkvY7}KJqH2W4HibdwApM5NBmSt0qm9UcI`&?DUVsVyIBHXHtVR%Iww!l3>=r;B z^~VV^J-3$+9V;wCX(L_zC{qEna-0m0gHm|{cXV|(f<#d`g(Nz&0wZ-|VlqX`#lhR{ zZ;SE>@vQL6f7bQ9u|UrfH58!{r2<~20XUohs=ch`0tnDNw2361t?%kss83w6lvQdp z(#pznA@xhC61Xv+ARUhW+7e5sU=ck9eo62TGsXUOr-6S~ik)gDB;R#Aj zwzw^sEO84Rr}4<7XA}`4Rpi4k^+U-)qG(Ja*|`Ak|4`tJc1|G%KqAxF*j;04#V=K6 zB2oD*ZYHAwBDU`1Y?emULn2)Rs3U%W<4uqd2vCYJxvYM-IDXO($xjde!$c+pD+DweAw-MzBY$~iIupNNA>n25@7chAgB??MG$ij%;^bO8Hcx}0{Z zx}$Bjns&fKTBcG-%hXl#%ma7b<Xx5Pe(r*{s!0`j z+wq;i?-AqF&A#xPpsl>{^r-eH@cn#ge$K zrE$$Y#UbA|c@KGU5c23I@{A?|_8%6oyiM6|kkv2|F1xlt%1YySBSb4ZJJx#QozyY8 za~9do3P1c+RSc%Ok_iK3sH*^REg}F$>3?k(+^16pVhW7+Lv2~cJ8Ls2r>v~^w=<^L zqlMY*xZ9kV{uh6~$1Psg7j}fwxb6YFV?El|6`3ew=(bMgGahTOk_O!3>qqd4+6RWB zRpoDauJl@egff_0rD^KzBAS@i9L>bCTi2-Raucr4dxX*)tNgh6&Y7O?l8>*ULODMut@Tf+plEcw)7u9SEV#=5d zpmIzWgN9AsJuO;yJwhR&`3J~d(%&yFIxUZL(FkuV8y)>Q)TyeD)*D7b3v5=3Y;Ju$ z<;^t~a|WMUq4A?N3(H_pNV%d_LTxBnWy1;znpZ+?l|^zV>YSR!e;t#$-bWw?I6`{6 z2LKwxEBl9R=>=?tk_F2bP9+Sdp0N4Dm?6iEu(`G2N&YCtI`M^YW+)wPj~ve}rwoBR zDg1VCoZ4Bc&JWQ9FJ8K#Ha96-nDGO>K{KSCUN&MJkN? z4M$v13?dp@J-=22fT7IK75%U}eV3o>qP9I8_;uis{mL+YuHxVyXRm`=7pv=n_BAoIfJq|oNpm~pN&aLRi##%x9c zX6#Jeyp?@?E4aY;Rv>Wut=n%Q{Zm7oUi5$Ww$RnXB6;vMMacW~TcW)k9HI1k0i)Li z?1e{VJG|n6d*x8~A6}rJWk??eV-W9%IpF_R#56`PIZw}l_$;C~@fT5NCgQsoO7|S< zcs0BBu2V{`LzHoFx7hQB3?y6l)^>*%(jvyYx{7Ua&&d z6d`}Cwoo^t;=vw`-fBKH21frIswbn_K3GHd3K8E#DJl)P8EA($QPaFR9dYl#a)DGv z0#A!po<}GowEA(3kY;~xGyyhjZ(rZ4#Qa z@Ly-c+(_{65=)ke9#(x=0{b!QmDNfAGdoTsM?eE(hN*5+My#PxLyJ zc#N&y0GnIWPm4B#p^z|lkD&g0LxslW#k{SGnwez_-sYro!H$Y2wbJ0|aulnq*3tq8 zW`EB@QjTq_uU%Uf5Q z+v?(JuC^dpv>NxOS5f}ire*5iB?NugvA0DHKP-K5s(5p;3&UTgVC}TByZ*u2^StNY zQ0sYXJ*-vtXAf!!L7PCT@Eu)l-cH_&{S6KxG@rC30|WcG>LJ5;pY&Yq>G!~oL@Gr;4+FiDx?CH`O-wL@sw<0y7A2EWTmc?*E2j(hjem$pu4J3?3wzn0HAVA znFEYEFKk8x4J%pFcN7v1H_m%(c19XbWU_)o2;sEBUeA(W*+^0$vIu7gmU-;H8+a%? zZxvS=z)x$ZHBccb&XO9_ie%uJ1+U`Nh8+hfmNUI=>%fzuRfJ0kNC-hohjNm8AK^R3 zv(Gu|j+ilZx-SrY_07lr_yp>4y$}9u7j8z|tV=plUH!g!;8?jZ*(Ze{EaUpB440`(1wx-MYE1 zJ-Z)zZOfO#xgXPTGj?q~!?NX?KC%7Pc5tfIJjP?WNE)(DWwZEW&ClT@b%J~wUPx4- zZCxVBqJ|YIE&Gi9djc4>ShH^>;pmlKLq&-0 z%?07{yB3Vm6MQ5DogT0>2-xq7P~U|fe|3N92fEW(IcQF>RAJO+U06%*`mXn3uDZPn z5*qIkzm{)u3LUe})Nyfbhw#B;a|{i+wJ62Buhm?^8)G)ZqZvB}U9A17)4y(|lmm;u zb9;ZR6K+je3XuER25?K~|?b|B0mr`EM z11!+J%+#oFg(+j*n(?E8PZ>2__4<@PwEcgxA2M#q-e%oKZ1xcya&8KPkMKVqT>iby z>WeL@M)2OajcG6*GeJ`CIj5}37>K4ID!B9KJvi{&Sk#&?eWISB>8oC3Cgl2%SW+>` zj4vR)KEc50+KvW63N|RQB$q1D4Js~GPOKE}!x#iMjGGW$iOqz)?v9*@S!Gu-Gi&I2 zx>_~7{wGHH?@M8i|7UdS{(qCHAusr?c-K(pAB$;c?_st$u0->)FEe|&C)mpkN#xMz zng2YPdaM-hgLuh*=K{d)c6(3RGn%*e=$?yQRNg`Ns0!VK&~*o>djuhPiSxb>u5Rfr_K zQ6boi<=b`2LYcZyC-iv~c6Adjic{JP54#A7M{!M!uDI(92MMn%><|e4=>9<%jZX#v zpL+iw+-%Ny6KQUawEZSh>?YEmn@IYY{67RDN~+QPTief!xtsx6TaOHqiJ_-2y6vT7 zD2NxfFoxggA8+wMNt;~RDM}))R#3f1WX~iAxJP=n+N#XnWKh7);XsFS(&*n>$qS@! zkG+%iJ20cHALHka+KG{U@!mN9s2T4!H;1X7%5rbj@nJLEXn{sF-Bp%6bM~`wCUhZO z&<#0pdCx}Dliu{EH{JBhA5Eu$$SRz@(LP~)LVLeMfL9ydCqNqKIEc^lge6+@j!<4M z9IQ=Ae~mdRqym-h%~*Y3`n9+;rqU%d*y+TpC?6AnCtIzuytLsxXxVR%6hlJ7fbHLh zW_Gtz2s|-mKfgEj9}XtAf7A{lBD}L%N^CZj%~5GzNQyZhYgEG@4q(Ys0!*eDE_uwW zWyHeNtnH{x#o8&8QN7oJ@bQ?d>k+Vn*GbENZMc(CJ^x=;t(^>{>tGO0pJHZWE~EC8QzZ0iaGDB03NQaw?Z^-W1SLd3ET>)~bLM3lpQA!}V9A*GWx`1IuO4+nOr zC7CU$Z`AuCZqtD;hQGG8%sK5#HBCCwKC@#K`PzBjv?H@Ke?VMI19eSrrWE(!S>`$9 z<~Y^uL!0`cSWW!uVM7d{l-g$;!sMRYKjM_ixDj>7SKVFId&(iAbN@8JE!i^y`%}+lpY82Q#<@n~E(IHi48q1C z*E95TQy&VlfkxO2k@kMk6=q33N)x4mw%q2NSg3ya{-_JkJ*0-b^}zw}v{t+>?E7_Z>K@N>c}`mpWJ#>tI!*gVhrqjHBK) zLUV%JtAo`l9gGu%^8`cX5)zo8Kd8@9z@>X5_<*ofp>9$u| zhl08+7Q$LXR~0|7xKby`L3t5g)S}lK22d~py&=FDV6X?H&>IGfLtnwU_wHjrDV(}- zEUjUjO(5`|Uif2f-F5*Bjz^qVumxKf_6t97^Ln1H>C=NxyqA7t`oR5Coid}PBdtY0 zS~jpqS_MM^(F%Q@#yd7*Oy=d*BG)X(1;qz79qBiRDnmzKjJENri1*qX5Jp}Cx`1ae zn@Oy7d0NDyyWbB8c8N1ci@)09$y!!9Afy0+{N?rp6+3KFidkDe6IK zB@Sx`Pv|@iVCoK2@9pJ+o)|%l5GSJwG{jfZ>DPa971j%)>z}UuP$PGgQe6c3cQB!p z`*L&3XkPL#4YQ!b{0kz6Yyr4EY-Q?q=C=2C{FF=_(ZSL1t1AULy35H0wqL@P=C~71 zmeb`mmgvs-!(sg*j^9nwZnd(ED*fh|fCo@#E@^QRf0{1@_5&1;$XnMb@r zGrEChC|BpZCR10sQ_)z^ZO75D#3m{-NG77(x?kO?wu47nD^i{XcSJ&{n$ zzA)E)_Jxb^u}Gh};Wbe{%Z^1yf;>j5YP=5b+E>vnwmVw~!X#Hs$w~L;P z`u>%X7Vm@o%Sk`bWS6b$URB|Ny&nV59W(oPoAwqu;g2y-Tr&y7BIQ z^S!ueR^8AzPW!Hv(5266bQrLo$_zs(|1NKU2aHm`Y(hghABcsF#TC1gaj$KAr|NPx zlI%NMVA$?+mCusH_V;{}JLhXPd11=PnO*#;6BE+6HKA(zrm^hx_v&hfPC;y3{{NTD zkhI&Ud~z-I-h5@PJqd(xv^Oaw;t>X^r~Ug;z~QO$%S1e#{VDjlqZ}pqSNOu7`D{v| z*<$2KT%gVBGXARsJp8`k=+)Wy-}MttNF+(RjLc*)$l3=%zX()xA^+S4%8MC@WL(}m zkG|W2TYWUsTUN2Qr@13|z|ooP^pvQ=+olN^IUCO-Q@vn@dPUWH-SF|A5n$nDwE{vG z&1H_98=XAYIdeq2eBypv;cl4QteCnQox7$HgnSUAZ{=Syne(P!{K3*QA8q(yDXn&RN}5&h3b|`eBgnlT|87RSIR#J|$9;GL-M@ zZOkJLrJhepq$Fi1^Xk4(_I^u=l%ymjDM?96Qj(ICqzvVak<{x>DU=hb_ckR`l9H69 zBqb?HNlH?Zl9Z$*B`HZsN>Y-Nl%ymjDZ9$sW70&{!E+7lT?`OLccZ|(-6xFH`9JX5 z;SJ1Kkh3{BQl>|g+F(k>W&%d+E-njP3^jpg9LnwD)#I)EUB{WujLFWTrZfEqe^_0$ z)F#;=AYQ%0pj<2T45e5l8$7y73 z6V^x@d`*CH{_YWw{&6Xbb7tKo07<(CNp@MKw6!FQfid&NIn@fMZa8HPhX*ftMB(Sj zM2yba;#~AFG4s!q2_?nx1D;;-y!fg)dx&Y(r?_CT(733R_rnb&B|2kTIyklIK@Ei< zkqgGtbB=UyOxDE6Xi*SwdYCW@Pcw$wcfYWds^?c)Xxjd#_cDOIYKW4P9>7PT z;(I?LI3^OwedvoX-YGWB)Wul~?SyJQT0+S?zfbMdZ1w;A;v5Ja7#IA4(yh@F)oLT; ze0^zR>EdSFlAXY~T^2bI?qPTQW%l&!=FR! z-~5iEn;D?lS1b~EWI##pn#X1Ym7)<@v@^iYp_qxbjs&kKFW0ML0r7XQG(kH_--08t zo?n&phkTD*X%IqayC3Ye9Q>FzBi1?s?5$ATW=YN z=ft+{>LmrTs2iv<^`%S~ws+rT$z~)GkYv7G0%yE}T|e)Lx)InX2QlOI?qqS*F>8Im zG2ktdI^96MJe!~pfVTs|Nqg(dDbkqwQ4E~QMWOYhSdeVrr}JfErw*9?folnv8kkiu zHT(uNI+^>?Yy@Q-t6rI7{V+LhW~t3_g49qE3dm^WPkv@h+VmK5u;%P6sr8)G`=6e| zJ0GWnpN6c0tj}RLrZno>U0IwZe^>-lu|si48UpzgR@!|b;Ro{p_CB&09%^74*SLl9 z_oLn2-&ptQVyHOY+^nOH$V0|e_!zkL3KusuFxU}#kiVPI9TsE1NOIichY`?`CU|*n>pclm0wgL z&2ZI~|CC_FDDRsz#UCHgE?UPLBeW0W0(ozgFRbq;?=5IE*2KDrmK8;lPUbVEcEH&~ z7QXK=Wpu<@W3&ADbLx^sYxD5c#ATerKn1?ySu<`>mS^B{bXNls{SCcn;CMU;Y)Ao1 z4UwFC5*SRJ)3GU352d_klduuoiZ%17u9)n^l@rp^@XE3dsL)l4E$xU)R~weBmmgey zvxJi9eaS{2-xni+l{ZG`k!GUiZC&xf3a6D`a{Iv5<>5gDf;zfy|raO=_P>r z&+JDZacra7#1AY5^{$ephpR4%F^2LFxkp>fKLDu@ET!HrT$eXCe-6$suUuL?N=Tsh zrJuT&%VqZ%x|ym?q~Bmu^6FB=Yks$wqW}~`-j}hlPc3k}ok0Ps=JR`aTxBCtBq@9r zQSDvX8-C@t#UUqgaTJx3AZS|fvSN-g-2hs#d_XVtw_4LhL@P}3-9$O}4-+XHY1 zWLaPvQy>j0K11k3ii`E!Gu=Cu2#M=Q*~T& zST6o0*5ek2+ajn?NyVwGuMx14!U6xl7R3``%4jnR3Z+k(k{=B{kT2n)`cz-rNhY-2z_J zxyqBXz&oVx&Ruyrz(#LK;d~7D85w}{O{35>zn4PYB2>xE%j~#3!kpWSiFNlM=jL>3 z-eAC<;u9yx$TZt-NFnDhp)gq!`|!iRQ}fqV#?mk1Bi(EB4_atK&dqk@nr{8KE&bcZ zXgPj|*u>5h=#ZquS{D-paR>hO;@9xhvjay%!OzBDB_9UAE5k-9ja2nYq?^ZK(tKC3uzD+PJuk;1lgiSL1&B&yYn@}(ozrHSKgW`A0c@Ta&1p*h+wcn}?I4VLlW3Eu( zcOx66j6rch_@HI0#D~CH+96=yYO#4S(Ml3agayi~@RKMl0#_cTEvR;ce)SxDPAJ|;Dla4ST0Qc)$4*G$fJ7h z={aN=D!PW1qrkhD)tO{DV9t382=Y8s$Qa!}vzbi*DsCqRV{CQxTP!qO#t3!i_-B7N zE1~gS*|Da2E5Aw+7VOMd4Hw8jM<-)tt~%_RpGH;X#Rcm}6U$yjhcEQ0)d@`ExSItE zN6_6#9HvxDFfu@8%v!v-adMED@Vg!s#d&Hw9u1Tjp!1mbHKKGhRVoldSzo^BAUH&y zPiypJZ!~rmWY_W8F7%1T#oBS#zG-BlfZDNSClvA+`ms5B6bCKrl%{9KF$hf6`*+X# za?U_qgXc)5G<94s*W1q6GpY2k+QJ_mp!OD-AAv3)wfHca-xI&}nW?(*!{nlvF_@ePy;GeO9+e;mG6V zh;$<)D4>^G0;`I%@k8sf<+l5p7YeMBnIPO1Ds9pweY!yMi#~$dXL59lcd{-Y^txnE zsM^IbtKHs*JXDW+e-}=NA|~=6(eD3j$BHU7p)(thF-e*(11+3DM_5vK zGJGK~BWkBnD>a^CC$#3j4kluoq}^Fk%^%nV3}gnD&fx*=M=`TkahyuBU<)Wh-N_bU z3~Fn=v%Le^a*n7kNr&wKxXz3To##rWC#Ok)%z3BSImk+aQo;a0pdKKMdq|KotVi{r zu`-I#Bo<0$!N;c(EgsdUyl^D%l!xYB`y&T_qN7uO#qS(iZi95#LcRWAZjRWBn@+0pBwG5VMMg-{8I=`%L#dJM(X@2bJ0ndO#)gn2xA{ zz^9m`N)ocG$jma%AqCM}s7~oRp4Jai_vAH+-2P?0=8ch>V=C$+)D(K+iRp+*sKy&( z@cnE6We&dYEg8ls8F6n+T|=*aKBFAxw9PRs984;tklFcP=7XmoR&>ZHRw{35tT;SY zm9h-|ADb5LHIbuFz#89K&DgHIe$YbN&gl6xAbmR zAg}={3O6G{$wR8`(N(7w9Ra_YgxWP3Wh>iz_@HVmeyk&FbR=RN&Jv&y0vaut5;dBM zhzl$kswS9Zsb{eD;p1Z!^fru{=Dxr0*BGcx8W)7_I!kgL~Gnj$tlB znU_W8=$tFeZb=hZm-B^*vK9Thi~O}4e!=1*o-a)jH7hBYOXiC1RBemTQ*#awb;fO6 zgXUfQ6oFNlSw-XkYs(73U!$5}TuHc$PNeWNxC`wMv9wIY^!SE?-1yAsA!uu zQdM6stvY^=HA88HO>F^jyvRIiK1v@lU{zLqGG6BQeWvJ;IvI(q3XrB}nMiUs0D7U` zcpOrieYNX#3khIRtT*^?WbOd=>WG5&j7N{N-QjK7%O8eYCBL)~B!Ot+b3lQ9wD4g0 z{dRyAHPZ!_=gMET4r&b* zO>-^CF=X`vl2TK7*wTa8_aQ#zc40k*8IrrT$Ss*JX-)$s`Jf@{Z-Ak97ellX%|n=Wf{ASU`->yWn3PE{sDvPXIvZMBm*GHC z|NXVkVnr>H5W$oPi7zi69M*X@tpl^0lZp0jV+#?!^dc{<)1wdrqKRKm%1K5FM_(m% zCVD_FBtopkEw0q194)0ktix0bNy0Sq9dTc79*j{(-|c$*37kX5}WwG2$mh*n4H#q9kOJq;a`yTrR$2dX0LN(w&N( zbh(6wsd7#af;9G$0kXv4ykh#iTOkxgI!rK{f|1vw!pUqfV#Q%Z=y+!JEiUYxMU=@% zek9KkOX<(>eHqWXb}|4O32Cku3`HG?HU*>H4{;ivg~{bom^tmjPu&k<4qd1fR(S->So-z2OWvjfhn-GwLBrN?`u>!cnP$(;0b;DmPlB!ZvzRg2Ca z99O1gH(0tw*p2mR8a=}%L*}pdM3@}_)%7KQD+goq>&hyck_rg=-vvwycBwyRf-ORU zre`b_8jI#{x+gwF=Ytl4U>7`5k}|Py)IIKSJmKXj5c^H7c{3$wqkA5f`RW~uVIo%i zYA;~2pZy+O_*6($GWGrZ>cJMdGTZJUqxq6`KBBp`M2`n&(j$sz$bLS&O-CL)H&~}G z?wVPQU-jq5tLQP-{#5#y&lD|j8}LP6(&Gnvz^;|bA695u3sgJelzWvk0qwtrB*Lk# zdXR!U>s7A!h!|W9U2mB~X27;yYGBD~GS*oh-Avq6WBWX-MKWDlyOnam)t`ls(o_@ShSmZ)BhE1+EEXMc8CsA4c z;YU`2ica78qwOD)rMe!s?64|Q42kbEQcnHc9a1lU8uU+b^$kruU|C}-Y>gpc%BH(y z-FWfIKqYOpXRT73r*1GhO*E=Rms?NiTYL0b(M_yfXK;$n1aqO)H#6-k+q~SPch%p`QZEsw z=FEi%k|xY1OPZHm)Cw3F4VI)RF{>oiv>QJ?%V2_d(zd%6RH0-WNI^o1&K`*zN30ue z0qGAo2v3Y28mpagn4t%kYNrZB5ZX!ebg);7&#!o^!&70=ROmGd;@Jt$Kh2?X8I#?j z;tY6tYsf#!(=X~UMcqD6Y)&3!HOimGGH^V*S6qqssnA;(fTOuWTE1kXE^n7lX8?he zcf*;Keyf23PhY;L{E3Kcm+KsOq2mf^^+}||-Nv9X-LEw)+LyReDF0SrR-)}=Wt(Cdfc4;+ zNcqDsr!+zIjt^PGR4HM?+@xss2#o(lsSTsdKuf|*74zPTufjFTsVUBYwt1wocMK>H zI5eae?yA-y+Q-B4;I+pplU{Fb)})UNX$SJ6kVS)nRUbQ8KJ_L0=A?WP%_C9qtXrH1n~jiC+UhJYpBEn0hCLbeV9@H{<)GYg+;w2 z*XR*1*A<|ad0j~?E$7W6XKP}K&zxGpSB^gvURYGQ!{Kolgv~7{dYgQvzT>1Wwikby zolF7LoIPmr(`SE2(+_k%A!83L9UwU)_fkJv=p!O3i##AQzK}M)ud`wAcTuaq7cTdP z@apIaMJ^GAFqRh&!gH8 zGGSaku)$p0^;Pi!GU{hiLCx>^=I99aRmLOI&J`vV!O??r%Jy^!A>P9TlrXW0*yN;g z5(SX)iDCd2@$LB|zOe{2QvNsjf!Yul{K)eCt3QQ<-=e=}!sQ{2Xl9w3?iylc&gi$6 zU1S5{WNJdeP~!XhNGqrnZ2*%Oj?}+d^jEC5xkLs~-+J+i*uX4Ky$Qs!n@E5g6-64) z74%743T(xaaMD`1e(#A?m9ez0G> z=Ey9;tVTQojOGEq^sSma7vt-aPIklYfq!K$ZVVEb5wXkZ zAm7@nl%pnb=QZkRVbyLsM1?v9Sla9h!XVXmPMGHq~*)Afio6k?2emrq&r4 zZG`w!gsAsrR9!18-k5X#kMdJd@_jLk44#?^WLn&2npblS9(-5!Ae9E`K>04q(PIXA zI>#F$*ASk*Fx9!bl;juiw&Er@7Qc($;EpbIhB3MdAn95^N+U+TopHjFcq))C0P)P_gpNup*gdhAHqnHLFjx+X~Ev}e@eM62sIP+ zPQ}vM8*-y=FD@?XR6H=cyIoev{ANLNeUXtrd(hJ#U50U~qKu$NxC)KOjH|n!hr5f; zsq0{ENMg@7x3&`I$;p~@Thrw{!R|Ch{QNj$84SL5A|z^LJDPW=ok~zqta7XLX?I)C z1b5(l#bBnsu(`Vq5R;J3a8>gLRVm$}y9Q&=^4jgZ9h13>-yWp722Tou zc?#hr^MUC0ytAQa$l_0m`Q^UvQMmPL_BP1$2ZYC5nUbo2y|NK@HV_-j*Y2N8 z*vPmXryDvBdZ?6wZfx5$N^g5FGkF zF&a{2w0CqGzxcMIq*>16U%jHw{WELSmGW_EZM;4j@JBkoEpOQmG;&YSF7#Rs;Zg4#m%p}arO?msfzwi=Sf7BwhEkkxf7QRI zuv%nwTn16I!Mu!k+ACv61nK;4FkbK~8jl8MV_hP)^~GmTgbk+qvv;--h=VuQ{{7{7qdJ+ORz5%XFx9`D z!fJ8i&z?ns=MJBxhZgS|8r0CFa~8fKT_jsi>rq+=<2@8W2&{+;+vM2~@74qp#jFz1 zTZ>$hp6f!?7BOX9O_`_=9)4aOt8h_diFvG4br)w9(h|o?^+cT0)}0VO2X5t(0A*xA z4k?unf^^hVVb$rqmd=Oy$B24n`QuiO$!mKagRvW`3M5Ig)}ubpLm0H2@J}}rbd#Hk z5+iHXtGFX*Ea%S)k&?5-`k5*7v-->ga~+i52Co~u-v?bt_NdPc+;SZ+EV*}lJg#gW zD_&~HDw#1MCQ*De^mZ<$$z8Rc>g+v;KUpa_bdS8cfi~kNcl&U%RxPdFo_yW!;4Hwr zP(PtpD=5_}Z2ayJP=BOE;B37h>K6{=omIy+m8#@IvhL;)?@T29sE~_~pZ=;nEZ@^% zP%)NdWB4k&%!hN9*SEb18>7+)@=(r{bTq2ZB6Sy|Bo)G$DZqdJYSmw}l}|tj;V@>b zOgTj?(zvO5a_lM&fr$Jpu9R9DRS_Wk-ed)&DZVjVbWS=&9t!MEWrZ(uZ;nL&9BdfV z-i@#wn15ngO1QS0pU@Y339DtbfbFWN*cx*iMt0V#8)R0SKX{HNQKBp=P+0IjkDOxB z`{lK?Iw;e1sNv#cz57b9rw133u-!UgMn%jl{U-zaZl_=2?WYSZua;AS1{l{O;m|R& zpR%N8La>(*3rF1WQ%UWC&5TVq2S+K}uvvZx(E|IpJ)df}!Kd|PHk6YnVoH60tT1-urrHc^F7I z@uui`mKWSmORiDCX;hR}^O0D-jvoKqB4%qPamAG0{ON=GaQDs|^5A*Ukl>V$Z+;SH z3Jh$LknXWL1|G5F6@(k~T14&YEp}9FO`f2SxOApc2>`_3FITHdAb7J{8-9&wQwwMq zA2m2Z8*VeHnrAPcM+@_d8g$=Im>@DMaMzp=ob$gwjdJ4so>nLjXW$PWXMz})pJ9wX zViyOG=-q7lb4E&Faz?pSRZ6lG50K1$U@S^UW(YOrP$6JwM;rbYT=AfuTmC8Ub)t)J zubVUZlu|pf&CP)vrk|^T{xSWa$Dq)48_KKQpW05_j43M&YpJwt{T;7<5heo%LFNeV z1EC(2^cD-xV6(^|M~P)WFyRDq%;uJia6F+SjUX&Wh%SRP2mx(4CS!#@X*)^i=6mYX zoLf0~tHKQLQP0Oa3DvbgDI_b{0ZZ5VNZg$+ldA0qhNJaiYRn+DcsGx&B_Vp9LSXgd?ya(kGx|!Mh5B#8$_iD0E+W2S)Aa7;n>HV{*uz;d-Te0Q2MRiRc%!U#cf|c`p&xez{8HQXn zPDLj?_R`*>l?5gwWruddHM%W?^P3yck!9XT0#L^1Y^T-+zN7s4xHOyWz1*=F`SXGvmEXg{b$-HoO+iDpsAAXo@uW9B+9?A!}G( z`n^m^gZmB|+%6YsvqhzpGSN8Dv?2QqSu$DLK2@*y-K|< zif-AG6|tltPZ6ycwQ7hdVO74@>Uxcs%`^K#ABdl|Nq$AU!@T5dR`i3N3k`9Z?ON;1 zuO)g;Ip1_34j~5?iD>&@afFWIGB6T7E2YmyL6;np_4ADnaGmle$c|swWu^g+EHQ}_ zSm2zpja%q1d(Qz4sV3$4@^Ks{m~kY$G?wt0zFU82JENf-3PgN_CrV>j&($RDks~nE z0tJoHU)Xu)1hpP2qi=oBBanziPj)^wCd_a1!_qPz8>#1=vhW9&0$}#L#*|L8P$wXr zLh3vllc#Qg8)bNN7NLQTL{@4zN?E2vX>_8J+y~_B)jUz@PE}>*6|J4K0D6mKS%nGj zVZ1P3gII$4YiL=Nqu!Cr6By6g`fi1A`jm4#%iA<5R0XOgw64*62Z4?x#wMxPp}wGj z#TS@0@9}v^TM$RNa3@K?s~8kO>RuCzl@A~_5S;GY2$jd-lG@HW>P_icskIw^N@&nd zrIt$soq(iCDlO7{R3D=1A1;efo;gO9oEj;d zOJ6eD3>EqCa`~`h@3SamvG@_UQ>opG(4?k5=_pmQN=NCxfrB1{8X(H3IpHY~tr1Ws z`r&>l&}Z6rusebueGs#30W=e*EE0h0HedTy@Qofj5O2;E;b=pdt{tg``Fsx)oagekeH5NdrXzjw zOOb`vQuy{w%DCqPEHg@#SeLJiri3X4XCI5@O!9M8L}MB zPrlT*%A!tPU-YSe_{yvwaXw)~D*bXmR-KW|suH!4ISGUkt9uFGdpfE)Fk`jzl+e0yJTEPH-K~L8&P_+3_RY(!p}73)MzN0mh?{&8kXlAiEKrZ zzUg$X&U!m~|LQC>wTX&C=`ox8VXA3kt-elfrc)Yg{scw90abBs+3@nx%h<`){!wN0 zYA|~vgQ{a@6iI7Xs{ukWBEpkmF@oR7sY8A{C~6T|EFjciY7{^+BNcz9e0dSHB4H{> zCKS`4^D4s74w{ALwPw8hA*=d9Y`NQ+E|;8g30a*ejk~(qkMmR*;mkbL`mrWCCE3a> z+Dec{|>ihiXWa>rX?KJ0;0>2A%5Sx0yv@R=BaSgmZ|V7n-%BS z^>`&QE)80PWzvEjzd4^5rrd_>?XN8XEZ0@;V=T#WA0U3=7{w(KLZc5!5GH9MP-t;e ze!Z3k;TU0#rfQGZpOYFABN~OdT^tasc-ZeJ>~KCQ0cv>f#wdPC9O53nce*|ncc-?H z^nlX_214vC+<-jpX6vZ};+EY|OD>-<( zM0mQ7c);^0*-=+mT*d8#G@Z${Z z(x0jf7;amF-RLig3e4ysd%$NnpU&Hi2Xijs{LZZs$j1oOME3A!(~N?-S-(YYJR2Z( z&Yqe&W|$;VQrX<6XsUmyo8s&E^d5vj&auX*6cwIhsdhZ=ww9sf2(taMvT_#Oo#!pH zDr=qrvpA-p(@B8K3Ww31R<82aXnq{5#J#`;yv=6`IVOlvzsYqD`nvg<`A&OX@AXE$ zCqQ9!Jzt|{mF66RICt>q>IDGSyIpH{10E(mLSAZif}RFOM8Qhi{kx{5r2r|aclR2I zAWTy-clH>HBw}LcR^zIf9xi+Up;W3$u52EoQpScZeX;7-*Sd)<1`tF5VJsOFNJKxP zL@1HHu#vKpw3QZjVVp!hV=5I($k-laAVIAVMFM3aMWaah9A+fCtVgp+ zr^yy1{l7%vIlj2s>3?xwoE(|B%S~Ve00R{KO~(cpCXkW#OHD(4X@QlA1sE2dLFt%I zuhYQ7?Nid}OCLMMSgNnr&vS0;T@{)NfqO5;c(|-AibKu$)=`XMC-i)!f&w znZ>_F0BX~9VY6%H-t?vcyl@2f?}Zmb!U!1L0mpWN4*O40^orLhlEsW}W!j}n6)YM! zI(tn40r+*nkU;(^5h^qXA{d}=x(lXk|`sc z{3WVsdf&0Jvgib4cvGfeu(J8qUy{EeWrfPt^9`y@EjIrpmoVinz7|R^yySBY+_C*{ zW&grU``nQT;(wUeFt!d8^;y69IsQM;=&`({kfxcd#BUy@Qp}1bZ5&!-#2LsyQ!snT zfZ{8qE07<_5*H@jMtJM(r8o*$kBgOZXotJIjY<`irnnanH|?I^_eY}bc=wh6J0M|kF#ifmq=*jTZO2D23! zTJ27^@0ON-xi(^9XmRo{##$L%nArFZo;A?`|FEE_fQS%TJ~1IF0SOTqesBQ)9yqeU ziR2%;?_NI1{finpT>Do4{*N2Pe^UHEu?CVqVyS0lWc81Pu#YAEZ+iJFZw$GR)DN21 zb7uY#`l7m@JNxxN3~Bkk_oevX=!fAu5&V;`37+HM$v%|?)Ahy=Z~1f8C_<9VD>qG> zRg_C`^teQCfR^qdT7wf@?TQE@Z-^|kI^G%^? zUpbJa4KFlkL_`RbRvJxX5vn$uabiYx|IT(pf3s9!Wj-eAfAYAn*H1yhy_P|zIoIz{ zD>K8fS(_dGhgrT&OU(1XTZ*J$7w4;um8`9Ht65G{B&LK)n%mm)avU(FL8`afr+E ze;5=nKHmKwY!LiU-nPA3UEyToVE+jf@tp*B;i&)O@!J=_@5Etzh_d$mliq*J2V<~q z%I280?#v9%lN&2@e=BUA^Z&hEvf!WoYonZi{RRgVeAD>~|5a*E9*cw{(+u|dOyn9} zTc=@EjfI!vCU*c>1wGguXOJTk3vbgUF?;xf)s~2Z?dfx3i(hQ28C+K7;1=1zF8?k8 zvNTjcR3}`YHZ!3Ms(jL}NBd?c!5Dk2xgB(H&aHdG6{ae?I+`|F0l5?&BgUV^KwddC z;LJJZ#PDAepAU*?{hCE!Tv{TA{RGE+iH4#6?e`-`3s%a^*cY^yraq5riueVjhfA+$ zUR!T%mhoX0NS#5yf6B+>r*9M9d~6Ux2UtP9bZZaOYyxcnj=rE7&=C10rq@ZUYf+Hk zCa~QSI7ZQ^4UTGoiQdLz3S83nx)C;_%a-H6v@Je&vA%$75S8L7X9Rvv?uD?k4+L_M zq4N_}RuWDKohN}9hw6F)52Ckoz;h;ebWF~sZwO#$Kra|eJccteRos3!3p75C!&|Sl zEy@QKnfK?CGuU1#qqmpW)BQYK@00008p7V<~KDKKB^=~4t_RhU!Z6=0`2GeFE zL(v)K;@WVB+KC#iWh4F%kREELds@?iz@6Bhus&%miu5A0^dd~}Suf}E#EP!(;oe*> zp$X>{eyyja{bqR*Xh@)cI!cCaXZ`f?siu}g!xD(g^G>(-WBpD`306A%`9)>>NMOm^ z0z--MepcsZF*&1##zV~v{iITYW0>jtoo}|-u)eGv5h*pT+F)|3v*WQ4Ayr;yuE@*< zYTmY@;LWbV=<>F5Qa}~Y2Vg3u zq*02NOw!5UsB>J3{3q5;20qIysspG9V?7@Pesrq4A44lcF9nUIv}W)o6*${t@bhW{ zN6bdiyx_SQVH+xI5|=bLHHW!i2}QnC$g-AyG5|8*+`92JCPqfamdx?9)y=Q>g|yHW7MYK7=j_9%5aPkI({EhbL&oN264M>IlD>5jv=TIy)_xs=G+;=W#DpWs@zI z7eG8l%8!)7_rnMmV_Y^VNB~0ZrCktRv7W zuSI+1BgBzAOQWisll|GLa>%YKlAtLcf46((DcRVranNK0pmH^P+P7N5B8Updx4qO^ zkM5A6$9gbg8c=%97w%eUMm_(aN3FZ!(&@omVlBt$C`UA1KUO^2!BaIY^~vv!qV)sk zIb(-+mMH-XsO8D_%y++3bYFLiJ&a6F#1IEIFvP+1Um$ptQwf(umIk9pO$B|EEEZAq zDu*cBM@ zb6R2vK*sal|LN-=QI7&_jG#sN(WNNABtg`gng{~knWP_VarPiF@-G3dU~P`cA> zS5)uhL}Mw{#4|@zdz2RO?2imKQS0L1-fadtN1Jb_NiUV_{so+gjlud5IQ?OOGc0cF zBbqE@$~30DLB+afzENRfJuIWSPe2k+>uU{Z1**B-*r_?Ex{gJdNvRYUrmw)*(o(V; z-Ll^S=$^^1L8cmSPGh{MS+Pr%Ig}oe9&x5QucuNyogg6fAd-!a|dr|C_5Gb)q+7>GLXxAKDAb>(M za!g+xL{$MFI>5WZm~M>85Pu<$XXL4N@xr|xY+e$q?zbRL!$m>l*niBGO9^$wHWiM- z3!ito^xiEdV4#g7Vc_t54UD=8V5l_Z%h4h8tX$CSoxo*l6$U#~XkxT35|xITUlEk&&TipmLH4M%Mrr$0fFr%gNuHiex(vTYMT{gWkO~6i zxCSmlV$qa^&3vIGb!r*@&-QIJOf{#s-u{yiF(7?_a1%Cme7p$4cuZfr6d*t(nd?BW zbL7%zfeRcGFE?zRj#hej(nuW64ri#%jQHfP{tybYG?6?xpQ2EkB zN>!u8W*j@dUz&N-k7J{N>V|mP>s;#VmYa3)a-O5nei0E9y=;3OS$3Nfy}doX6C*o2 zf~nt+N8oRzupd$*6%a_tMbd6&>JD8Pb1n9X_VPA(X&Pm}{Rt2!rL*)scPC)n-f!Uc ziXwWc2J@nRJ`Z~d&JbNEZAOc@{7yzOv+8A{$(|dHVwR9eUn5a7IQtDv(Wudw^=FL; zli)&&55zm-M}`#i3YR_9$dvj{)`t0}Q4K%U3(F-GVK@nXz(!I9)PSapR)VGqpS4Mh zBT-;r;MJF1^OT@9hbBsPPmpTe)xtdqJlNfIjgu1jZn!^o1~+s z$wL}XuRE^NS+6zRItKm)-;%&WO_C7bunav@Qc@BgRqG#>6D0*XIXOx)QwpAXu4QKpwxuKGLr)g!OMgs;~VOyS%MU&FR%6S-Wqa4*cyZb;^tQW6~4S`1P*O^4DUbEfNcvxq=FIy#^hvU2h<@Yk{S z1uod^^j+29fY&MP{PR`H6s%#p?>8GEgglb4Jl24->|%96RI>@_HAOewLzk@|!@6X4 zZSCm}a#ZrCEoQ!^`k0_`RW=KICBC<;y9V6gBTuJXO&` zTkkdz4w`K2km@;N;3MOXCt zP!S9py4*<8lT^CK)K{*x z!klap4F?-tJ#LkcVEabrF{Udt#|SfGdej|&E$lfBSR8zk&}PhK(y!Ec zn|JRH=A$dpZk3nMOX##I8{e?z(gn z@p1-TkVEELWdu34q(SAA;MUR>+=f71+H*iDm6Ww|KFUF(@9`WDqgOuG+(U;lgTb{$ zGJ4JY5^e<4X-MHKRH&n8zf3VYe)Ae{C(EiB+&f(wjyB6x@+&?Lh8Il5ihCAkNavZQ zeCdGO?b(VKl!Sm8;;E?-kj+zdUC9l$vNmnGAl`~8^0)#W$;5yJOoCrF4(DRS=CjuL z#(0{sp5NZGzwe0+RRbRVrj@e%_383yIo}xNoil82c+FMVo4Et(dX?oY96Up`>}U@| z6q@}AZ>|<63V0mW&Q}ctRIxlSE@t5oSD{@8nro?ag<7ReeebSj4I$hkKGKiiRllW& z%OWjPj~c{$43FJ+J_htVyT{SD;YR|9Arx2Zo*`N^+?#}jps=n%8*Hj}jITk9?~ywf z6H`;M#GJ48P33ea3|1c+k@|8qjZ^()#OT+RRHuvhq7Q2J*RRV7@5TV#cncBkEIhJQ zZG1e9U+^FvwPG-p3da7$O1;Fv%s=&^+Vr(9&M(=VtPO7=&sq9}NRtqcKkbw{Jt#(j%j`PGXYl^ra#O z&ekK8?|SZ%XFSW@t3cdd2M)kFG~v^doznTLzM5zP7m=qGHjtOW^>e9pfOr&{h$0`2 ziS`$|rJ4xHGscNT6k7?AP^&6xzER5MnWZYr;D=?IgBKfw0hZbK}BEnRreM&4i}4EN+4s{TH_+4!pTC-%9a>GVR(1*)817QZljB7O4 zWkWDE#W~25)i1zB4U5Xge}6pcTc&8SR8(Hn)uD3fLMBsbG&SiNS+HXL2D&GofpJmV z12F>#wxDC4dxkaT!ZE|*LnL8>hsOYAAkDG#s-v#4;%ok~@oM->cMWh2#4%#F4*(7W zz_&uiTLGm9=ABNihtAQeCl}Biz*iZ7%@BYORtO~aSwkJ|;Fz%!`gqk>5cnPdpd7&V z58jS1Qne76gt3lp$V=LALoT>zM1j~qJj#LSpaBFf^)+0w+`>v6?`SpyZUtgM5)uRB z5?!eJn!>U?y0~#faRIrym};G$KbA@Mcy-g^)KbK|M0gQ_A}3fS-7!CUJDQB+0+zND zjvb^!aHT0>Q2-PGdaOK37%uD50T8PKlv2?VJ6u$bi%>7R3{?u)f+@}uj`&?sGqQmq zhZ1rCP1~|aPSz;(RN*F7%P|av=bSr9>%2F^j@_acqi>hI(9rq4mkJQAYk%)J<^pG! zqY?g1_h^=O3bWvJoQrtZO6-7v&sQ5BsYs5~*j(dcA$Y|!WVJE!Ve*COoOQYVb6XVf z2{7nq+Cx_Q#*DnWu}Xtt>6!wiS!_X9KZ|P6T7t_*jpNVz^4}G|>S0C@cgY&*S23() zFIMJ8&-hCk;&qJUxu4GucVdQ;ih2P&!aS}y$$QNS>8}?j-#0l!0!GAYRXX{xPvG0Q z6kv_TeXY0NSOUFz^Hr2+Cbs&Jm3Pjo-!IzL81uvsj{wFUBsRzx0OPT0OwxUJ@fU7s zPXSB)IpAYmMAY$obC4Xn74l4~K^)*#OjaBgcgeIzl*Qc#QQ56A?YxZAXlQKlWGBxL znveLon8Hde$;eVWo{F!MG|IJ-iVt(OlQ^s0G&{4!4-Sy8Qqb^z>6N9prnf(r+vkqI z{CW}Ky25y_ckdnVa;Ns2DhRv_^2ys=In~R~%#OV>E#S$csytHlF{I1eM00LEF8O_T z)}67Z372eVN~}E11?tl3P~H`x8&HUA&sJvhf6BTFx2U?Wi!?X_L${QafDAEoN=rzG zlypi+hXR5$Bb`Gd3=Kn<(%n6DmxM^?H@@%hi|6_NfP0^N_C9Crz0O+q*_UaVN<4rv z+X0JwX?wb~AtJtz0yPe0xXwqu6vg3S*&n?eyItT;-P7O>oa% zd#~+iVwnS9cF2P$vBQ~1yd;4_|o;~m|2ZtTvf`|1ZvT@DH)bQ znFmerv=R-zS3z96CXXP3p(-uTIv(|B#$8_NE+sm!y-Kf>iHGKFGf)UMaL-u{ zdgz1(e+T`&CB3N`^oVH8UBNRPYsJE9t7rSNMFMba-+w3B9u~w;d@)-rl(JC~!TdhS z=omV#KU008Jub>*f7xCBX}-#}PF^tL>S>{Tq{X!jhs%In{N^6P`++W3^CzQj7{0?` zY^*TTl24_~MtZ|C;$k^eZpm3{@(Ec`VI?y66`J&PRx1^d^4u9Lv|HJ3=#(%rC;uLBq2VTr^>#Ui+k*)+I) z&5#{d8fIy$X^P2KxMLv)-d*aUH0#;;+4J5H&zD7l+^l8?ZkgnL7GlP3Rn}n*fw#mO z6QJ^7MHS$eye<47D4qc$&_4-)uqAUK?oT(BQhQ&I&h1cY#YFf!W|Z`~wZ4nWZ%hyN zU>LsIEA#bYFFaZt`jS@)CJ>j}VNe^QNSU8cef|X9Ekh&>zph-`cO%oRO+Wbz1>s(a z(#MJ!Fa)v{c9BFK@(aZ$PGiAQeo1bFhDy1?-!2eX6`kkI;gKT|;zNkJXtIC_Pqvw4 zNT_N;VJ~wpRh%+Q!AR5?8(H$j+SMgmG>a&Y3c*|l>C zLN%@!4*)~_q%qP40$AJIuV9l)6pqrT#&XGiMR)fuw7rWX2Ipq0E=dM;ZT>uk$5@{v z296^>r=PQm-x`Yj3M}%l-DuOTxWFt+Dbg8j*`T-Z^IS~l z^AM8`U5??k^VNm6NAiz1$#6e!CxzuLTOJc9GS?k?Oc=A7E!xFOxF%_{7vta;^cSKT z5m&WGBy|z9AAZe54DW2QZzL=$MNXhe%!tmYmDMMlZuKW12VHJHK#n!v>_xALPomrR z3|pr;(ETAu06l0*YjRzgFK}*9VHA$4Il=nb)h{FU)8*QPs)X$5 zy`C3U)dqtqeaKscbLLNWT&TkMvVYc3<}KRU47a{8CdaI|adnD-r_Xa{@-zgh=ghC~ zg?mQZeujJ@@=eL?6Qn#29#`4Jq@Y_}<-eCx@vL&V=>$Qb_b-K?-I1(ZOPv`RMv;7P z+=rYtU=5ig%ty{W_E@*g&LCJJ0%ipqG|;CoH*R`MV9J4OQ2;H<6DGVwG=g_TPx&M? zK&t_HB!!^6EjWgHLlBY%ZC#Prb)ifJ1~QMo$SEjKx?|J|ZW1R*#x$djfpdG*40oPr z5gJmn=gE7yf0qxWR^LSDJsFe>lQEy_UvXMzKn0@j+k_0@##!m9qU18Y?&1{2Tnd>v zYvN(zfbLi~hV^jw^gq?Wx6ri_A{~S}?{-)fW;}0j*kof#nMNkT|k;bil7egOjb?k7pvmIALXbw{Q z4w31QYwYC(OGq_m4_P!~6aM046{I3yB$0_wFNf@U%5Qg*7Q}8^t2<>!XE$~vnHXk~ zf^L8Ccg<@dTZVjC+da-75mP(+l*3iuJArlfK*C3N4-2Rf0nMOgN$q%A|U*?F8 zIe?o}NlEueg-K1VO#z3#4i;zq3^?ig%N#Md&Ph6SmccOQltPhCLDRD!zEX`uP?lCv zm~pMRxI*uo=weJ zYqM=;S;W^uI@YnqB3eUJmCn?wUlUAua}vA&BY}`9{Mn@CWEpv?gfAo-@ez9BKJv;m ziih|Wiw&Z{Dej}&eusR6PZa}C_!&G2N1iW~C`_b5nJAM*Q?&b2#1R2oJ`FH^m6ron zQ+1Sb*~~|435Uh2xI`e?D^mQcDqlEW8O0{tbhWs=*UhC$AN(#j(F1(#ei(oOWKM9Q zudU*$AT=%GN&wGnO`{<>Z%@-@349jZKjpH%V|;(rp-A+X2qRwwvuG*G*f9t{)Ne|w zD^a+N0|>7RTyX~mPsiv23V)vGDKXHE`B@C3-)@v^jhjXWl+lN0)8(F{jH~I;GD~>W zk%@bq?e57&(8l=B)A?-~d)zMeHbOpTo#rbo+N-+#p1+{OQWn(0 zzsS98=Dk^gzw7*yesuTS)@|_Hup^VyhH54@@adl1ZqnQ-oWmr>k@+7zzo+RFQ*9E? zzbogez@zI3=2^D>p~g2-kW3l)J4|Tij~%rXp>*1w^+n|mZH=);y!S}&hSLS>GInK)_@~$B={S1J~n2!nW zqt*%PwEl+1$E`ox_H#`o;Wr`2f-g2AlgY6Uf7tp)oW2Bre%~S7LN)ti_8~HNspBnb_em@MPZTLgKHkVrdDv9$Q0qx|>g5=Zn*ZISexjroha<5PJNgA*eLGicD1d zRpJC z3Pi;DtB(Cx#F^|3B8bXPX_!W#AFkv59i^+f^;v3cBaPvR5up<*+O)ryr5xinias)? z5I@A(9O9Hnlpv265{(_<3>}8^uLjEIn>3Er$kkQg#0kIimBDGphVm0y@e!a)3Gk`# z_9oB|EGIXf4~36m6mcvtyM#OptwoP=EP75Q4rTOCR$OF@{&{zZxN$*wK`!-I6RxMu zqk;36z`eOZy7?8-G1lYkRo3!8*0wBna@~hEsf91BMRG~9baw&tUXb!7mxhBVng+V& z4EBypUZlg_j}je%jlA0F3DH96kySAM3tbVaHH@>$4|I`vat9*^4#T;1tJnSi{Qj-FmZM>vG2(P)tFs^bTcTk4!? zYww=l1cm5`j4i6NqFcN~ba2CaVM0^1?X|hlvKjY(zyygp=zmWq*XGMf+Zt4IKSuxc zCzBVnqU#LPQ5!4@`^!MaCwwkCGmwTOX?Qn^d@u5_t_ht zro-&s8)$n#B;EZIayX=K50@FIf2~V$k^U{PW00L^8S47H&&SvK_r|h}N?STFoZ{i< zVE1l=yPS!W74A|sS9Q`bN0N=H%ljLv8piXwQ8bKyLveOc3Yjk4sMZCSo_;b8>P>Bd zApdaRA@a1Vnvs6)t;0}iZt>F4Bdfq$VxK}xJOsxlQ@5H{24OJjL+}pYY@ncyw#yr_ zm~p(>^mOG!gk7TR;}ucmS@u27Q)&^=)1;avgI-lykttim!Q^k4dC65DltAFqx~<)U z(-cU!8K5+2^S6o%R#W<^j}fnlt9go4= z4cdE?mEMys1*4+nI@?}mR-Ja*)|<}!HwQN03hK_$mW1$m^PP4#p*1$l3f|(L zAv;&)T%()5+?r^r=8y0EX0+v9nTLEn7B_w5M*%XIiAgT#l|`ubEcJVl$q|dg<;Ztv z^0yT%t#xy3%P1TbFM7>?sD?T|(UT-F-~97(*jxRshx%R~ zigxIOwR}z*c!y&L{2>Ia@w2OfY1S-!BBT>x7^fOH8l|O+Qu=;rs!zK2qva|z+ki4R zHZxjEZ%mTe>0y&R=@e@!6w{i4+EA3$8kHh=DwSl|FX@HO+_!QTx;IT2t2g4G(D%lzp9Jx9jYq8U_YA?jZ37E8 zA#MIeYX+9Z&fh=iEEq}q%-@8fY_ejB*xFnP`q}3$Q1=to$@pte z#qkcO6n<3qhZ>nJEi8UP?5&2KSQ(d%lLcDqLsgbbNs$gq#9=1Z7ERFyo|p6!;rn14 zAN%wNl-XUyjY+v?obVV5f5tSG%P9jvkJ9H(T)JPJu9&d@Eg5xAazw+dOOtj$OGAZ% zVc%Mr&C{8Hf3PfnqNl0F;D4Ip(|r^MW#eP;1iqHB*x7W`Nk(07JcSVeun3F_diEK6 z%(ZYygnUtG6ORO+@|{SMr-g@ciKda*VP5Wy{epxa*bkI#zX}A3s1s5QY5S=EEbEMt ziL{k`5`6=FB4&W{@9v2HL}&1XCDQIdEj#Mef06KETWw|9qvh!h(b1r=F-A8*oa0D{ zLwMaKA%=^Vk@gB1=8=TL{5OeKzjywR6Q4VtZH^gB)#4B`Y4jmVT(9lq9J9FOFV>nb zg105z=eJ3zA1Z^=l8rHbN={r6NMJI_R9$2nZW^EX^q zq@%Cxkh>ft8H{838&&}@EfPe!GX-wPd$2kqOICbA>2F_PVXTr`vuBu5%Fa`kZa7iWMDZ5Q4G6wFW-;tya*>MED6hS4xX49eJ8_ zd<_7Zt5idwN|_fgiU&4}>2=Y*eYYRn+*dTiRNm?rav%8S3Uf3T>Uk-oKMk&+{A0(e znU2_=1|{zKq_toiwOG3T$!=1vt8-iyEyW-&!D>&RorP7y&+TtBgE9XXC4~OQ&rpH? z=81HC9y*#VEnC}JLg>?HlI8W6*GFQQ%3Tt;Ae=18JZ$;xB?Hb@kCaYUjl#I_HIZh3 z5h3GtyAb@n>BYzqKijixqSn(4;Win`GJAr*bvmC1tQ)Mr?sysj{14|lRYK`0l%{aF z67}klEqu$H&p#0Yo{6q!L|NR$Ayl?0ZTZVc0u^8W!$Y_#2>v@kTO?2ZX~YcA&))=n MzWwv~9I5*K7i|Ik>Hq)$ literal 0 HcmV?d00001 diff --git a/assets/Inter-Light.38326098.woff b/assets/Inter-Light.38326098.woff new file mode 100644 index 0000000000000000000000000000000000000000..108c112035640e854288c85eebda951e693baa10 GIT binary patch literal 141264 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

    $0!Y{n0}kL?Pb!ijs#^?rh}Q4B!F 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 z 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%0DZZ@ltNThmi(tDr4;Zx_1v&1!vM=61zAv{lO ziQ4;GhFy739b)m^dTMs+! zUjBz6H7NUT5C@d30Ak^+S-I+}RWJ2^vz?nh1pK^OAgbR^gLwvYzmiT#6v}C%Q~bye9P5dhFKAb`dii6nU| fLuZ7B`28us>@W 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 literal 0 HcmV?d00001 diff --git a/assets/Inter-Medium.0fc5d904.woff b/assets/Inter-Medium.0fc5d904.woff new file mode 100644 index 0000000000000000000000000000000000000000..8c36a6345e381a5d8119c989f7a2ae99798aa904 GIT binary patch literal 142780 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%0DhlJaxPs+B&XI|){;7T>XuHS2u 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

    4!^f;bs*J!ARuE&0d_87Q7 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%0Dw=Z6NNDrT%J^R;eUp;;L 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 z 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 literal 0 HcmV?d00001 diff --git a/assets/Inter-MediumItalic.1458af9d.woff b/assets/Inter-MediumItalic.1458af9d.woff new file mode 100644 index 0000000000000000000000000000000000000000..fb79e91ff45cf97c9d636a37822679709f857702 GIT binary patch literal 149344 zcmcG$1z23mwk?bVhXBFd-66PZRx0?(QDk-95Ow26uN4`kKAZx##SC@4N5* z@Bbd(D!N(SYkgI9farkO1CW#}q`ZTx|rAC$pHo$WmARx36ARzV+UhPa#rWURyARs9=AfQ6wAYf1rD;wxG zUyTjEfPgMP1FvIyZku_5JYg`xhm)*heb;R7vTM0d4Sj90vjPL7|5ZOfu%9<9PnDO0uT^L=^CDE zRU2!22N1CL$q~~50ckK2EpYwevP9Mk9-g6vDzMo;@$35SzD;d8m|`BGpGDAexxtd9 zY&EbR_y$eJvMlc#SyoXnYP2^e7EPoIvpQLjN=dCGiK^KM^^ArwTj{82LPD8cx{7YK zc^MP>B$&FSlz~clXmM(&gp6UL$)-MDc&_8;@ky*E0gMf79lwDa%*@$17eR&%*7iW_ zTRN|4xtxk{8b35`2x;fT?A!So|4M#@kVD!zHqMEwUnRJv}Y9m-Y45F$Nx(npPMF=Db)du8(bM*TX4Z zB--{WH|f0L&VRc9cMq&K5#W$g>Dvhg2I%)UVdT6}DynMru9z=lPlo9!IZx5F&Ec>G?tMz58 z_4-K=Ahbw7!9eRJR6-kmh&cN2#9L7l)lq%JXcEW=5zGOa4Pm!rc1}E5XvW(<>pY)x zZ3CKD)c$Yh{o71V78d8dl@ykJcayy{oopDQXHlKYs>!s^-&SRJPA-+RFhr^-f8H<} ze70JoSM;xM?qq#wxNpp6@VA81fnFvWY^R%pbNxk&N@FW&lGjurH?qF&UlSSA1t4h7*aYQ*r z8L}JHah22|L+fx$$uWz16x?e_yZ_!fx+1iS;|bi`y^hfIoYhJ2Xp6wa;s{o2q#suz zB5ohIRf`n-gt?Wz&_?=C){sqJ6Ww(Pd};XmQ@i2bi?hPkELlda0>;c!dech$HT<=7 z6g#gjbq+J@3fz!Q$5{LN^Uasidvq)Ba<~+}28F?vXh$O)PCPRY9L>)TLI)i@MN3^aq?-xeMNq0}PoL$y7jf{|`oH@Hjxrw}|KCrwc zf(gS~K@+6wi%C=7*!XHRd4gG0&^R1vsx^5oJakW>XQE)Ka_nkiU?onH)R=r3^T&sA zFaiJ?!dE^?usb=#(Y^E_q#wx1JSNCNvIs zA6!uOSUBTB>YQ#hl3E-vG8llrSYow)C~%~`!0idw395X{DDX!{#=V(ofpOsH#d?Wf zGXq*th8MPbv%ST_1N}N_GK|RrvW{#-{=76i0e8!{$_kQnBS}|6WAZ@1NVkwfo$b~$ z{n3-hnK9>yn{&6{DOIM#Ss~Jxg8a1=J1j3*Sm_aGFQx;$+%HSWXKWA6h`*eFaouNW z-K_+soisRFPh4ik3oNwb9lG{53C7pg)%J(DUV|iNM=grP5j|aKW=&7bOHh!7>n}k^ zDk|QuyNldo%J!ylCKhEz&lUor@_FZP#m_F?vz$Da?hmI-1+ua|#qK2z?j1T!^{AKm zOWrnKZDAx{C~n{K-oOgA*7%Fx0(&pK(Xd}{E(%fh5WL+4RzVp$x4imzzi)mII@HCl zvijNLvl$Zc2?yb%FCDb9Z4>i8)VXQj{Qf9pQ_fwx%%{$DroK3QMn}d~*3}C;k&)J5 z(5^*BxMx5YADfTX;HyFbCtg1JUAt0G!N=v#Jm!l*i=R)nEYH308o*OVvG5bJubm%b zdZebU+1lzS_QmBCVm%FC=N`QtY&5lcSMO!p_0nqWNPS2+8|VkZYI`^t38DVl+gq$BHUFhc4|f4^n?|k{Uat+#F<#AZOAS?j#@Zhpv;2Yks>yOgi>lh$RUMr zgb%ZJ1M^yJ#x70&r{5*oUryqsc1;drmv`{@P77(sI}-t4Y+a?jXrzWv9Cml8ez(&y zc;}T;PE4xAQaLDG#XbwGswHL?CaeqV-F5YA8q!yek|gChc$N%u+*+CJ?oOD+X+gID>vBMztY4UmBRT zhI&lGu}GriFY-CmtoK~N>{sSwC_M1 z8y_40PTQ^Kxyre%xUFdW;!0Qfyqan-7VWJLR~~RxbK88|+-6u_JwK>?T;-^}H19l* zI9%sd?WMq3W{Sq9#XRdcyQf@pokWD}8i{>0xW>?y-kcChR z=u{s`sgrf-h1{Iq4^{W%`v@E5CEklI2faqKn21LKYho(F8e%Ek50&iKoD9`qsfvVO zOH54!o1g%pqJS``050QC(fWHD4lYTZ!LYvDOv<9iX_E~yOnoFGlUUV1*dQn2{IRYi zN9Bpb@u`c|r#!@uRk390UM7FkF|YnPL?;U=d_gQ6^LXOuPtHyckxzC}%tX zLRo}NB%8V92X;v=njr34-`BRF`~I|?c3L%rRyD%1Abwc@M>q*b=oj1`nDlNe zZPe-tRl>^deEUF7$7cca=PswZRQ=XDWy2ogv?hHDI2ubBITNX1?IpDaHE#b(+vMW0 zl;yEVlS53_P!}d5R#_Q?LGD?LW#O{Rrh+B>h0n_*u*O$sF(nX7T^evb*_eTiOrbpC z2AEMF!UsOMr0_v3G%ye0o5==ZgjHcmox~h!jl0(Vmi0CjAwN$q*8G8&&dP`zYT$yC zt8N0{<3g&>L;k(~X~(&M6HAx2+mN=}w7|MPxFN0l^!+({;r>+PI7lPG?NT7!#+2R2 zJ56v~+V_a1a~5NN@LJ+4)gB9A=f%)SNDX-JB_|ks zkRj$;KV`Te&nHHFlxSNiTik$vy)Q1+&|%fRy2%~877YxF7$&U&pT+%;l#*G{SS~^N zx@kSaIg`U&lP6j+n4eL@s^EJW{1)kpO)Ki}{FU<`czCC1Zp&u2>UJUe=Er@(wx)}!tV}vTCQg!KIRZmD$RPu{GwJv(cm{e3fwKO!#l>7IMtZH zr_4LQ6?B=4wCCf@npKx`BVpTI&!RjF%=)g%+Z@@N!HJH>5|43bP|)0dJy85BA`0;u zisUpd?|eI%Kf&RAE_VC^zFCUlFb`@|#pMDUa@(=Zhn?wzwE<+o5W0PtNDl*;~&R z*UJZ9tkbEyozK6xNgFZq7f8Q-sAYnZrB7+Z$MG=FA6xV-Ukp551U09MGz-@br&}~1 z_!4_eIET_c8Khat@VNPCge^S2Epllwo5G$k(wRm>0od%|B$iw^m&v>oziam@?bfHM zro|gUZ5%wc$eIUTzNw;TIJPU5bgC&iEvrpzQET#87<$}N*Nevyj-ThX8=@~mKcXsc@_W*v!~(Z2BG2OFfx(z6c51GKpk~54Ge;n0sAROXF=x&iu)oC)I@I1)*X344oqSf@U%f&% zi+b5jd?>3k*LlC6#kq{duZ+V)&&XxG37`E$`;GYXx+|ofmx!;M=m=BL5mO&zrr__l z1nYW)T`;3I6nFyfTyW)nfOBn0^lnk{M93b5(;tMIUeLB|aykHj&IIFv_&`MNM#%a` zQ17Nk>L3dAUw&-!!VtE=5WBz#(qs$VBRGl?j$j*Qv>$i0k7slMjJCH>-M>%WH~#^C z(x0KCtP9ejm)v6D<4G_6Ngtm_P+WKUt^lDOF@|q6P8YNwYOr+z*mDsFJzx!#TLaxnR^epK|1}ROH_y*8LB1^K7=GAM{6m z7_+XB_cI*$1+#7!VH+%>ZjXLjB>M$<;07JMC{LSHJR5|2FjT7j{Yd%3pI$hJ;988y z1IpF~Bli-24FL9u>EkvNC<+ry+-4u04zI6KMP(mX*}xyY?pFnd!}qAs|K9hL0Z@+s zKMtTD#01!&4qPBaZfki2p>TvKJ!Gba(P-pC_3T%}wN?{Q^^RY|Gi)$d5UMogL&ETX zAcO*r*N)_aD^g(h2DQeaNLImy2NS^PA1ih+svarG_5&a$+=#*1n+O}v!SPXMdypxw*870{D7s-CA0G^x+dNiHv(!2qFz;MK3j}0V}4tz@QI^2D9*j?&&xS>f6^sfhYavAlZqQ2Qp{dbPn(GP_c#ZkJtYnSyv+CMZNQ=- zY+KwQrOG>Jh<|FQlQvbvT&Zdx^68B{^$Whl*4dGG4l^#*U6Ej9!1RFP2=m^o+3Waf zI=Dzi-Q!C|QRT1J&`(5QgDPfrDw=x0pzrf%q=!&g(rEEjl5*NeKSLxgdI;XMsO|~L zo5PwH!)pt;84N8>4ne#?HrX`F^X3b*XF?p`H)=x4GDM!vrFu8pIwO{_0<)}%ayxV1 z+;(B*SEULgPdmJ)q-Li`Boo4GIi$29iVH5l;5|wn0nzk0vf&`|meLp7cn>~NuYDzX z#rh$2zxu^+I$zwvBqBLCxPX71N06T7#& zMHchB2Or}-)<0!cDywOmX6qxs#fp!w)+qNwb!nk&ff- znB|dbpIgY@___nBBsgZP9Y(`>*526b2eF|V?3b6SKkj4rhcNIX<6krsJ!l{cw z&5I(jo1j<~;OZ5i92F36r$8(OKZ}rj7DM?g%CZs$HT4m3(}2epaEZCJZOh~H@gSH2 zIjr#FGgmfC%MY5&uG)jZ{YgCD3m)B{VK%uGZrSXQKY(G6>}CMuKYU`JjSCZm5);A< z6Zkuh=>;SQL|wv|7=7F`#NRUlMc-0-hgn^U9)ZRWxFgkIdK*%IuKIbx_IdJlAV9_A zu0nCI!g#vCleJT0hXRX1X-4v2ffj=nih(j14D%R_0;3GJ5&3}xOY%un9<@&%mrVXs zzC5IYKAJpo0#d+mk?-FI>p6+>a`EYLTMzSl(j_e9-{HenbD9p+tvmq&QbZtT zfHP8%GZXgtrY9*O@-`5(F(St?V(D_IS*i=W(ajtD6Ak?dBMjN^^cn69_&;vY;Pw)E zMD%d@=5hpD+u*Kmai{;3NbkPSxtVJq?%9ta&56)~cQ)c5-v*=KhE)_bD;DfV1ReBA z9}HN57R2}WVa|5=+&7n6|8I!e>+gs^V{5vem2z=b+>w>mXrW- zzX1=qJ~6ogb6c`+@uCs;dWPYP)nSx?$fDK!c>@neBmmzxi;Vnw!TDhHL<+ z-lH7x+ZM0R6$v%mJR`j+?Hxl7f2t*vbu z6?(Pg`lM$1W`(RUzPcg--=6IIKX~NGWc&Ka=s+;Gd^D8YbJNyZInr9ewKP={hj%JcAx;Mx zf*Ev~{5>Suf9M@a_*(NKHE#ve#Y_|U1Xq!S(8VM|4a9WYk-dh{Jy0|}U*q6($UW3{ z$ej+I6u;`+zpQh+@Aqfm$3ZS%TRCe#7ODb|ZvJ}3lk(TqnN>BK&GB`)4wCvm8Rlk@On(((_AjuU@nCF1ZIR(@Qw7 zKF+)i9{LS-?Ow9yNPZhEwP@JoGfUX7lLi7pUH%Xl&l^!7I|797pyh7_@ypx7iPb}z zK==8Q^}>s5EjKXhg)j~wu1Tjpkq`i!7@2sD-_%gd1z>0?)U;)8_;?2JTRjv)$l+PH!^$O3!7Em$d%u zy6x?{52S{;{YGHqhM&lL!l;rZpLDw3r*Zph=YR%2F4U>JK{Z7#+B#$(5 zN@Qgb#3_@jHhc-5k-y_Yi^%Q>A=!~&5UaJGwkUtB)pvGCS>_P02iq592j4F_Uv8FI1 ze{;3LrDC&;ru8n}s-NBId^CnWQZP6%PN}pBj#Z;z)tIj*NVrwp{_+P!&q2n{g-Ol9 zIuo_86OgLgGH+yQi9Y)qMqW7x(LIRZI|%b~3E{alJ%0}KK+yLJV)-&-~T!xR6rTv0Rh7nrgIxnyB{sDdoSescSt-)QdDVm zn=ZsxXn~I(h@qR2!~gnlx=CBx|4FWwxjP*V?W}s`L$|(|x-2T~7I*yuCr-D+HudP6 zBFT2FvKg7S9$tp+qi6G@47sm!15K+5G zUZx7~6rAUv0+3D!Bw~HJFBGwme;*dE1srSqU&l2IQK)|Re;!ps0M!q{AW#?x6!bq> zRW!H{w2;+@+`on!#vv=Ce~Juj@qw7x66RtGv#x>0HnTFz$GzKR@a(qQPK(ubWIR{w z`^mk1 zo%+f4&5!}<<&Fl26+a+|9JX_=bwXWWgMhUIzm5ab zT8QfDW^QcZ@K9vt?fG9O!WuzFLTw4RCjm8l*o4^s;(0lonm@>1jR8s{_GdHZSUsxS z5>cXmVK=DKeV?TV;75C*9*_tO(D{H8g3P##p(Ue-_a=Q>=ebL+Uaftk&%iIW`znUE zSWOAXFIpKkl64B}+fdKJGaPu!gr;)<@`jD_d`v~ z7PHCz9WzLGDOZzhqah1d1m}I?eh;!lP8@3D9RuC_l0!V?PU=9%7rMCVf$~$hy*0|? zH&)zfb_v}10c>N2)U61EHt+K45sUf$v-4vm#$b#V=HWzgQzxO_`q3)Z{sM%r^#VgK z>~1eO`@W#u4VXLNYuf}}US{+q!(%{KES!qmO-=duhJry*xl$ij{ zJerj|2cU5A^PZ>9Q%G)=2>$<#*A-vQ*3e#V*?{u?@ZG7x3AA&Qn10jw*=MB5S9x-L z?mx};e;`}L?r4nP(F73kNSh*;|3}u2HYbnAYJ+H=gKnPtR|hNft**z)4nIg2A-7^RN;|IR~v3yDM&lvCW z&Z2kZ#Qr-O<6jeUl!Jei3z{>96fub@Gl@E8!;qQ_p_zlml?&Ihg~bzQc3X4v15K&V-AB-T5_CHh06lw-uPKjpP!>A|b}wd`0uibhY3L8i&}UT2bq{p?XUgqy_l8=^M-i$Fbn_G z4xN@gSU$N|BR<)J=xq{y-28^ykBlqI9J%>Hc1Z#9J`>^348nhiSU?5fx*7!Tk_z2` zDN&z_uZP(qa#!7l;et%n5N(j)p2sN93SiuJK2!%CXx}8uwW%!%eT&*tI2Cd;0^i)P z6vs5CTMSghrtKLqt{JnQuF)(scmBgplmQ5z1p}XoIIIC07$=k%3%@FWd@xl_%Fjtu z#Fi(w{_l@(Ze>OfC?AYH{Aaysh$9e%!wi4})x`pGr&ITi;kr}M1;5qi)>gKWpI5)r z2cW~`*8GghrFQ(+uuow}^d9+<{E7c<;RXx*^(kb39{xc)oXtc1<1Y!Kf0Ntzuos!c zJ~jCba6Xqq?>3Qs`%B*9rKGgqKj^sG-u&)3FQdn<> z1M*g{GyG6EzO`}^3v&|lP#G+y7_c`5XaT+Y=Iiwg*SJL^4a1dBLm*>BSlOY{THmW` zzC4VK3-z8U?oRWNC^7{nU=Um?#MLeiC9Yi?qgFQ&c5kgJ$nm1rFQ3bv{%!zdx-2gE zR7E=jDP~*Uxvs>2$)Z%DB+1f-Kh`xjco-KZ(o1Mh4yy8rffUq<`O+Bfn~qpIf41cE zzVh!`IFl#kD9%OMy=yleC8ghT#KoE1HL66qXk7IZwhvY-{pdaIoDBlhM z6jg+SSROh6IfR%p)Q~dr6J>}ZWdt*2m>p#lY*Daeu#mB`po+4v6RHXX)<1a8$_cx$ntfz>m!`$;%km$LzqM+4j{y}(`>P0`F3>)1A$9Z{{4?!B zx~~w6V!6!GiP~RZbs5APJGeQ15ix7CU+hE*@X`phF7Voa78NIr>9N!SId5$8aN~rHXM<<4LV=rUJ;W)TxC!Q_(^B|34b!olmC%bIu>uqaKB@7%T&n z>J}xnZ2!nO7-Bdr3oZM#F9yAEe6O@Y3c6tZxD6dij5S~bMsW$wv=2z{$9ne9vPJLQ zP)ipMMNvV_>l>u>GqPTkT^4zWucE~2t+NS?XEr~fOhCaazUR7>`5=iK!!TSp+gFgl zWuWtutiN)xI=)3c2iJM!R~%dhvnSPUx>6?iX+>zwh^CO}tW0C0=S1&ny5qaX@?T7L z-f6Q_fdt;6r52w%<@R_=|AWSInndeN&;Bhm&9-S>dq#6jwQ($ycu;o*b z_nTh58=!T4jCA7R`W&BfFFtNv(2H&JwnZ@on=&ZR`PMzcyn-LUA@gsVruQ*CpzTNdUN`-`>SSvBH#B;I z3HH}S!Fz;#Plo&flK=MugF3bL(_8@R6aTFm#<4E(vun0i40anMKn>d|T?x)cj<1~D zW<N`Hr_^8^%5!GJR&F>Is#C1q@Y8QI7L zM#2PpPWbWM@blgU=bmEg7zr-{+yzzQ77K09zIr4YFbiMSrCHYF_MX}XCMkd!3J5vX z9iqS>Tht+rO%asFw%(3sJnzYF)w;Z23&T-FPg)R+@PDSfQwX{l;ZGKBOcS*0OR17& z-Pn2{R`50|!kS@ZEfM%?>mk<{wdEMS5;r;XqB}F1F)h=O%bZ}mE!wd=8;W2-1|))Qyboy?&O_XPiLgMZHfp89G2SIqnW zA293}c>3`fDZK5SIs|!6Hul$bSUBS}xh(&X%Q;cWBh~&0^2A?K`D8 zdYxR#=G}x43)~_gy|q>-^-enSRVdQUJ$o?+aFz67n#6F(l-Bvpq~`O&2cbd&V=W|75hZ;f3$EZA z;NJ=!m>@4N>{O*UdH=7p=YxPg$UvNGnB{74?rJC?yj$PQ8!SZL|NN&cw^3n6c>V7g z#c<{s__Q@D(P^KR!ubcZ>l;xTPx>5roIM?eGMo78fwynG4^*u_WK$X zbis(;A=)$r%tGVDo0k8n z$9FPV)?LQN9sURP~CF z+~4HmWRuQPnZJ^GU_Ah^A|VPwJy`C&c;SQ8C0635J?#LjhYv&bAH_L$knea|$2`2@ zpT#Csa~)-tf95#5t)Ad45$_BM?zTZXx&?8&7yeZ%(uSG2V(pMAOb5;-k%@Ne~xUpJ?tEj)|Ys)8>F(E?lBWU`-=He$>hYe67eEl z&5pT`rTdfYsm3;C6D=>)L($L5Td=jDGCnT>I>8J61q+gK)JI^N6Kf9$gla9Id*0bx zf6plbv+ph}3m*oBZO9=|6l<-V7Uj#=51kqQbWg<}lcm}(ibhCXB2ci8ilRb~oZ~B^ z(Z{CDI1*4LO*s-jUr}_mrKQ4M-)x?Yor@hJ6v|PO`faKNLerdn4z^rrq=fD3KwS`~ zH)a$gU-V@c50_#Nlcr(v zN0q~NGBhhEc_P4H6AlaiA4CPG6<^Drd|h+D$N%MsoQlst^eWzdx9Mg)C@)#OL4mD`>s=M76umAHb7r zA&RShFg4EfQ`kqo5qtOU)Wa;>N>w)l!)#OUA*wW(Wc$eYF&o&oq8AI%hQgyxps^xgti{O86LkbzxAmW z*7b2Nk9y<04S2E)o68rxA!|IIkQH#OgI+oJ`wnW=MVkSLU+(q%9XfbVpJdDqp9n71 z`;T!07A;=NOP>P0k4u=JN@JwGxnElJG%>t1UJ$-5vG6rc;#eaq2AjN`X;HM;IXc-_ z!d`fu{`5XEwzhfnP`YPGlD2uYavNt1Bm2F~^Jv>h6|`2jN$y5`yMR-NF}XszEEGpx~c)n;f6t6%oZ-D{m$W*yPQ ztrbA`ROzB1N;D4LDL$hIOUhs!l9?xs4PzlOci*5H^U0S*m)=wMi@BW}*WlrTG+EZp zotBIBatGewjp$JbEe1|XhsRum)?+;Abjt2lP`L2^99OCRx-7c$>d5^G5!f4ro>i|eMh`q7^m6%a z$gJ>J?FnwNM_MvHxu=`E$nW`xLo;^6lQqr$+bTrsHaVqz9Zys9h9i}7J@gp9aeT8k zNnh?kGX--K6Ze?%TKMQYbHshTL#3SQg5EFp2lf>!4`^^%;?{t;8J)wKqU>5^sLG6c zzqk0xMVut1dFN%llrts7*DFU)toD3Wk;na7nMe;FviOF~35vT#%VdlUxA~6bvHB_O zPQeul-9j!$>U^!0)yn1Nqgwa%T>$?zr{&2Vd-}qf?vOyNVe_edrs6T%sC<)v{;du!<^Y{RHRBw(MK0McL_z|aWg&!Dec$exzJnf`9yola`G zYN6uxm_E~@QfZKTB;U?@^Um|{H_+Bx+Sd)jOKw0kJbcSEOCw1$US4x{*939u&)xG? zQj2@yz924qYph&*Sa;!d->)34waR+zsL_+PRuie-H?TLcoLyF_IGNF?3$eazt4aDr zuwLYqAJF}Ia^m8Z`?V%XmwPGCqe7*o)6)GyZ(*VM+G>I?|AT`}=S*v?SK};PNbH4;x9zGewWMW-e_k#+mh1urK>H)>X4ch}vFuS(S&S{B)hWX;1*bIy-4 z^Uo*iWfhc4)&nWcGlu|EhQ!4+3vHj9po{i5F|Mn``@>t#P`}BaG{VDJ*JBCGh2D4L zjV7maW|na&e9p~1$u+3oJQGRiN=ybFzs%oDSgdQ(jy%rlro1qZ$F$_D&3|j+J#J{N z<{z*P(3?9;yrhzP)M3)}{M7>3=(yxeY}t0wlUpX>I^I20L!XdY;CfMiJfw@^r<-_& zH)6GxT5B;(#}nnf9d&$~H5&NR7$AfiJY<+vA-!Jcyg4F!CDD3*ReDV;+0?!++wpoh z@6A{kbaum1xm=SdH=~rPWx2mLZfaAkuu#r&5U6$ioUx*SSYg18uUIV-O{u_F{_%7y zopM|yad2GcS()K{BHE8;i0`nLHYuD?{(5bN*G@Ca`SsS@wIA@PZTkw))5chRrg^L= zhT!$~Y&+3T$v9;^O-<1)Y__;xm9MGcJ3i5}N;A>PT{)VQDA{K_4O*cu6pMc?roOo#Cg@6H@3SlksZ6Udlw>@-#6!< zzsV0<)rS}M>o$(Bdrq&7j(2JeWt=+go#^W}ti`;BGmPX9QtUpQwNqF`4XVq%$hGIx zYRnWOp5oN&Cd-xY-D>dNRZ3=_3LGXVV7J{DV3)XnKz{muMFLp-1ImUHlUz3PQ$OfYz5(SGfI z5Jmgizdii+tcPb@mawu==u&=D9(2%ZEe{Y4o$l_Ngd@sHH_LomV!N?+-u5hR^{R9| z+u^M$TQE1>Ue+!)RhoGH{e)1AZ(45i_;XBDUgt)nP3dkSgvrp4gDUY`qF2^~W>hv! zMPoiqcH>Oeq|}kz(f*C(qw9-rhgj!V>FEV5U8B^?Hl`kNW;g8P@Qi-$ek-F&rnQGq ztJoOBXA@~Q`Y9O}dYlF(oug?+zW9RA5gOBSkeCD`0$ApwF|NkCM%A>G$JkO|z<>RG zkaUW93HP)6?$O6Vrx#}*UTc@BO$j$7YS&3ijW|qFQ!JghKAd>v&qH>el(a)oQ$C$Q zPoOBNab>Vu_`GXGT?iW&RZ3lwdQxUygnfkt+%^z9QNmRc=^;C(bo<45PJlIccL{cp zZX!Obcsn^%Df=uVr$~Fb*bwrO4jRL@vM)Bn_8cjzXr$82tOKXSm@ER`v0uNLTxaD%lb{u+|6hN_I;21iU#YD1XER844%Q$qGccA586vPuN(bDMP_ z(gsGYmA$UxT_w@#RuZ)Wv^>i@sJpM!@l^)h7Tna(8rl-oL^WB;uu6jKCpC*gHNTay zmLxkaa#e(Ct!wZX+0A1ehnHBq80yHYl!eWcsm!!k=qS|dq)I6{>I9C+-)ax<79O>N zX@izjzi%5zZMtf@DmAI_t$>~zMmwY~II~Z%Nl>uVVbx)sBdJiWP(4ymLsUb&O@7}o zV9wxhY9?upmo1_*C7@3Hcyt~T+CW_CBF{sg=OW~Q^jj1#mDLR1t926;x=G9HYp0{# zJA;N=+dI%L=OL6NJX*lgt2yk6T&-b|+bMNY;QhTKn1j3{+uOGy*u)I9TW=(L7dfDg zvAl}1Skyd*SfI3UE>}zIzVJc>;qejd^sJmso}O&N7I(Cj=6Y$>_4)2*m4 z4!=|ejkC^d>GM3NPMWM+U_<&1tR>nZDP72oxn+4#UinNzFzk}5WfEn<>3j!<;1Z%{ zC}l~;g0O!<&{1}G{{GZ;?06vtDPBbqQlPFRgG^_cZkiWfd-mk5m>W(EVBZ5hCVl9% zSIN!&1tuoz`ZwAdt2jX~bLEkrDCdjgi{t!VAfKYhLGI1HcxPqjgj@f?r8HJ)lraKK zOVXjzO);@RR>1_4@omZ@R385xQn(wXh?u{AAj>ddJF>{qPHK$_?UU)F^Lx7CFD^4a?3x z#fw@&`piW2sOt;Qi1s7{<8F=>+}OrOD2Omi-XwxC&q#{EZs#>nH4kExo7j~ee;MAh>GoB0>m>Iy_6i7S{ZjCWg+)vy=xDhV z;4n}Xn6(4LB$KJ$2 zuRN!Xb}%oa!;@-7tvCVW$ehJp`yuk2di1DdMFSXNigqE|#Hl0sc2v!e(u!<5%+1oM ziCH5P8a;NuAr2XKlSXx@)R@>M$YXTr)Z%nW7NT`&7GiZN7OKZ@?Rb^g1`(uxQL@Lb zk+L&+)~<{$H4K(p*ru)YubkRJ**gydXJKeH?|zUs?|#@bhZxzU6PmCem-wZght?ry z3^`FEaY&kzJSv3e3go|!4gI4Wi&Pir`uNMg*Xh|mxdm=R|c%Qt|c7-_70u^2D4b~(53P>PHn zpAINWY^AX(`{Oe6$iuFNOACUzddJOjI#MeN;3Pg|NIZhyg4&yw{u<55-HX#LLJytp zokhzDeH8K}qAq2aOWHEqI;OtNlT?(*$<-`Z4I7xlt`9VxFLBI?(X5;g8wl=5ORmwd z+|>bY5u1`l4(WRl+0x0$Tq<`8Q#FrTBGD{qH)l|~EB4HRKz^i|(!^7S5^dtj`xrtI zJP+svKPuuHMm213QAe%~F#A+{h*B$x6PHZKmE3DFm6(i2l$shasyIq!7iJSTD3dif zb|Vt^qA$xx5z4rA4>k=qCMRM2nH|RLQ(u5Fa%VtY@H%mp=rcMe?N%cruual!HBuS? zKM;G~DHzJ?AyfFnqk9M--`7GMI`wf<5A!`_|ouF_~UGqF6^%=Rivjd3TbyA zSo!H-cI!w#7m^W~N!(EIewRh549mU=nhFTpbik$yaY?*{z56j^H7MooiejdTnAaGV zk!L0xy+(2uQ$Qw|n)u=6{NS^oyYGzz*O-|~e4dIzfP+eT3G_mV*{%2j@U|I={&(kz z9}W%bh=elO{P*gJz%o>YU?n@> z=-rP;-FO&!f1|j=AirZU95(a}fnG>D%Btp}11XpU(?7HG^<@AwIGg0$wotVD;zXBVGhQX zRkqp}*>&spGU8VX9?J_E%lS~9f*yjB0Ed*IB(WSwcO)reE@W?LA6d6J8b&2ajVzvi zM{>&WA^|mst7gP@n9huGNQl*oZ8x%#H?z%t$ip1Yr=TrP;gv+_1-PgXszG8ZW31M; zH*7xZwd)Dlz2~fMi!7ti3Pt**>14=-oZ%uTLcuHk(eSMFYEC-msa@6q(I%%gE1hN^ zxL6+`XltV}&l&g=vO*1I^BBa#^}22tf)4_M4@#3WMf};)p>+l+gfK{jtW6(3HcP47 zHLggx5hyfAqa^r+3`4n|6S)Q-28E0TqNMrlD5OX~Vk&4jZ&i0b%X$s81`qE<6iJWx z6^&|FpawW>RTsE~Ow00AZ1!${rNCFS-LkbrD*{VN)7mYNBQ?PyX0i|I9VPn|Rv=5- zF%Z&=mLaY!h#Vq;^3P*I#W6(gR>kviiaON`WzHXS$gyxTy(nF26`=f439$q!AUk+W z+EtmiACTE>E0D2`kxOtJ*Ax;Y*t&7P~exeO)k8)tQM z0Wn(~`TG&J61q4V+cRg=AnH#p<8Q)+ocj5X<3^n|(KvV}FJwlVpprbATsBOcLKaY5 zY)(CbR4zK_4fr-K@-2}_vlf0T^#-h7U}d}4Vl3pBWk#}2U~;=8s&mdQc<5J|)URVV z_2%VYbLWw3wUBGs8I5a~MpsVFTfgp!9QVuCRh)<%LjqqagXg6=e|$tL51FYe3ZCh` zwVq|qaSdF=H4h9;G)cxH$L2)l>ZhRIX9*d;0i@*yn8-4>6Bly!rBmCbg^iNsC8cJ? zbYLg2r!5DFS@4mA$y8JY04D@0V-Yu*h)u4(AVi3-`WGP^0f`I``gF*Ek1P+penyon zV}^@#mbmm=nImwxT{j_Jv=Z>-pY-bJVaGyxAv}m}K@F<}*GadqWqVoEgOB$`w7n^| zj%0i3c0{!KvnapiiT;WeQSAvSgUA>x;f|S`2q{Y~jVMJ>YBHygi6?vXI@6@@2G(~f zVg~~Mm&KR|f=7Jc<=f~P%hQUEIP@l6Ad(?86QQ9ClV~_HQnzd1_d(m>U}#Kaa7E}@ zVt&af#k^otI$~l7$(S6`ym-YD@fgKWaVkYgWU72gs(f@R#n9llU%&ZRc|>mRU$?xh z?$XZBM#slbcqVM`UA}`L`N6foDp!UM`$Q|)%bjuz`tFW0fO^_T`TU+Nv+f-Bz-0cR zx9+jG5hwQp4TO+#as$){lza;WSR&ZTZsI#A&txrs?UCV(Fke+AM3tre}!=^ zd$Deuda$?Lc}cVINDO#(KPxT{C?_dj;k?QWx$l0BAsL7a5+ z#RCWihP?2rW*YtT(L|-~bLvQC{qxd5 z<+bQcDC~pEP-VX8K;@B>%B_l0#gbCGT3f4@Nh8y$iL;iP>aSM8^DDR07rDkz2sCbb zGr&{bIZOTojpxS!f_7tfVhV*sOsC@_Eq3L|3e5#)>2)|2SC!S$K;=2r@=`7Z$LjS- zubD?WkoZ**flYZApZT9)F4*YZELG5%0eu&^v_9571e+YsFtR_hHc6i$)`B{_sUARN zd)7DLJ)liD&uu=wg6?mUG=UKGh(3G(MMg8fiJqL4;!vwsb}dO5R#Phho6|%qVJi{W z$q!Z0nv>NjU;1C1y>(DrL9;j-!`b_TX&Z!zXUDI9NJv}qs)Adf;a9<(n=dAt1j=+2lq9QVC^OF8ixZt+-4Q^f) zWv%&XZobtc#B?je9OIh^11D47vuU(x{~M{cq2~!_ZZY2cX|-vlBOS42x0Bv48Kecg2Ar13?b~+Q=3aK$?MhR>rVF9V8fR} zsEdHBiF1wi@J=?r=ZB%4M}8y}RyM0{8qu@ooryeYPskctPT+K4pPy#uGB5J`$sFyL zcRb_hyEJ=EG}84_6~v`~WcRfChXfe8{Ym#<;0xow#_eq&O3}UBy<7CvL-?~qGaRfi0^Lr8glFi-#d#yottg3#wl?QcPY`eTS6 zw%SuVYsYXSEZ{GFk#6}S|Kalqt>)e5k+&vx}O)nxE{AQ(=l6f3Z)vwa%J6KUq=|UX8{u-m3VX+&5PlAQwkt zETvcB$r#}beQ{C_cVlY3a_tF9p5eOA5LFpd!)yXFj=q`SbeAY6*4H*mZTrBz7Va}7 zu9JnIk3W>7O!A+iyj4giD=7PL>09bQorROH_s z!7g>DzM6A(vsL@3NU3|{(hH#~%4Yn@gPr4;hsRbaWBUwFhsveftmU2&1jlc2o`d$Y9lKsw=MLd$2B2C$nEzJ|Tjt z^a2N!lIP#bvLT0$Fax@7bd*w}G6Iqg#OcUMlC;I)%v)|)zqPnTF;)w1h<`h<+OZ^a zrO#rp?M&c$eu=Na`dY=R{Y!&>pCntW;9g6K%K=wJR_z)UcfzFg(Ji}V~X+i zx}yF?OFmbjiwTbcN%!_Cf^1^g5dNM?ee)(!bCQto@&Z0!iXT`XxPjO`Sv^tnk0VMcIzn**z!6djG=v zeHdJJtR2~$Bp!Ygyggmvk+#m-_+IIz<@{R@w(+w)m2yWywRnh(|8_?1WDr|$f!Lgbg!IO*+n@H_%HadrL^UAWo~6?CAVF|p?vM#cX zPyaPx`^#wK6S9!3xnPVu53$gPqfR@~^}A^^ia?eMFR|YVk;s>H9&X})&t;j%r4kOq zi8XLuc(~1lF}`JCk*C|B*k|pRAWYS!jCo?B)0>tu(07u-j4jRSi+({_9VSAz5GEjO zdq(tSc9ICS=sRrPOXM`W`HtMVs`dR2y`HbF6Lv4x;5?8Nd$^%YgNBqwKZt;FtZ9&Q zJ0_BNBAU`3O(B;j;t;z#{Lo%L_CkWwr+LK{l_pzyfY8zW(|91EFk+hpDRanJGqLUv zp*~u^Ig&E6r6JKMKofm_QbO6On`~+yZKY^DIv#khq%5bPe1+BYGv?|(=E`bp1dO?g zfw}s3?|5MEcoTD#P0?CTv7(Nq6^lA)Uq1*3T{wrOEpXzX|5)-PwiF!XliK9tjrAd& z%^{uj%mZe!Tioxi(bLM7fTEu0U7@lTV{Y9zyKS6V-568arn#hjJw%&=4t_fua^xQB zsP)5$O*Emg_%3S1zOihx*h9Y2Ytz+-+0oagu~*WTH>A}E(bb3iy?r*D<38(SA@UUg z*-=GEhPhN9sqG36`{pG!SA&T&wE)n%dd2vtvt8hab8f!X@uOA)S`HK8(CX-?TqF8U z!}w&d`m~^g9(}Z_Z^v}6tnL-H_j>#$Cb&=c+`BnoBxy;oGyUa2oWV)Y9UE?lz2<0I z^$7lVL{GtpOmoKm8|C-##Abp{58?YCK~I;MaNz}V{Zfx`?(h?Sqe7KUV~i<;$1d5E?a+S^ZAIW z1J2k2`V8)}TKz^4^ZArl`Yn9=)FxNp1<-aAHfhc_sdS@aUpLFd`Y#HRlw@(_(ilue%143n%lo5Tg1 zY+32Mu7YeZWs$4701A+az)yy=)sVASmh+KvYVw~*KGk#Tf)#&t)307J9HIQNVJAxq zCHiWybg;{?v0*k4{h~PDM`*0vg!3LHb`#Z!t@*DK!RAZu?LViMb~EM|*`q<0tRSW= z)Hu87(YDX6T|TV)GsR;+&8RJ};wyo1iRqU68P=^Z6aFb7uk7$quSA{YoB_` zB`qAABfei>GDJdIPCzgmLon1+3v7EPSD zsdWPufJXJAWvR`k^@v7DjI2dl*C%})g!FBf&By8}ogHPcu@@C9sy%&Q2l{4?H(M6v z4cj{r;;GSNxrEj&?kx+(Zr+deb+pbQ zwa!gpX5%;q0w0sUKZ?Xopixt@DKZZd2?~kfY_i;5EhyF*U!;JGm6m+slHFpqZ+)0E zzXwsZZD%oG;1zx@Yg6<7_9u-5$VOOg{oGXiHB$Z9ddaWlDR$*0dgVnQ${MqoY#of( z@b&B3X3N`*oyL}kYqZH)my?50fEA!Bu`%m@&2Y=+4EIj?)Hs0lt5N`MM}HsK?~eO4 ziuZI)_r$fqdEpjkNosR+sngZ@<=w`p^>QW!bc*B}ZY7@`-C3Uk@&h(A{-QQqumZS# zx}7j*!F?Q>cRAh8|2pVvOwVM(u!J<~f7bha+Q@nQIQ3plMlhh`9T0!c<+@*w)ml7g z*`wKiMYr0goCI}m@gPfnQ%uGtDkpf;Om6P@ew9j}h*`gAd9^kB$EFpcirEnD(s-LK z?Nm2wYCZ(v#-rMET`D*J!zt*?$_d}N+=IsTw z=I4eYDuN`z~l!P8e}zX(SVum%uT@+NZAwE`YK`|Ml~ox z$BP%+VK=t6r_P!^3DLAT)hP)wg#wuZQhJxS(^u=MEt$sl9M9y;&z?AsWhP~qoe_E^ zd}=}z2TYk?)tLvG+xTL~$ljm$vErCyBI|J?o9w1^WmSCWz~xao82)rqNFQB#~yir9JI$$i+Xe zb`ZajbnWN=!!7!OrsMrG+joEk|2oR_uYYR3qG_HFrr1ZN>1k9cc;~JAQY&Tx{fXhr zbTm%$NADjJ{0Mj)SV+xCx?hTMX2&YKQM-17gp-bSK4(@d`W}YX8H!Zc){ng#8F zu4M*0UlcxzvR};Kh#rQ~6!uN21dJ-Vn7@%H1eTP;8^o4n!%##H4h#S29BvCnN#)NL zj}bWli#-ZjsT?CoWho0x3RQJ6F0imFU@DM{r)cAuym zrbq%pOT>sCrqOm>Tm2XY?4wKcdD)y@iYob>0Lf{c;RJY&vEc+{4wpy*9LqHXFSnQ; z!<(57E0O z{21S!D%rybR=#+h2EJwfc;$zW-h(Gj+;7IM-T@TEdbx|Tj?#30(%U!O2x;2U-3aaT zC>~%9ZC$2>xHgHQcP$flZ<^Yf=L~fIU=9!o6}Th(q!ei0Gb5)Cd5Wtv#%j*JYU!V& z%W?@EY28@jUs~(^8STQduWbbUm(yVIZEcAmXncuw(De+XYn^bE&t-GhsB`I0#0*TJ zR2ei++O19cRwm$gZRrgEOuJn|oXdcEUISI!YMY|UIYO!2xj|XC^&f(OIQuA(&(NG1 zp_$G_iQKylO|Agc+Uf=~&Q41DsUosG8#U&R>;$$J965qcOoq*(U`I!%+_Fy7nwAE@ z^&xftjvWWBk<$Vsn5pf~^z*MPOD?A?2K0L+7u$=0&ruI1F19ac@2_jxDiL*?&HI<8 z?J#XMpSo?6rcH#pO@yY6Psuhw!8Sn2mWjG8kh;xd@|-1YHNyH%chb4i`c8E6Tz}Fz z(fTfE(pi&JNRu-l+uA$C`i^(<9DVW}e)8OX@*IEiTqJEZfTnFRZB-&|wKQ$DkETs0 zZFMMZRU>WHB5f6py6rPfTbGjURmSvP_VgA-?gd>g2}|w;Q?81F?cvMJ@nB!=SoCH9 z(f#iuvlr3EoHZ@AxOrrM>VH`-yn!RaR#`cC)A6=#elrC;!9Lsbq1*N9B;`bxvyUHFz8~) z`0=48vf5naJW`7|*77`7N&wZ%UBGqJ#P^FDlNygkWC=wBWUo5kGXMG0hrc*~k!OXV zCqMfOF__l0fxD*SL5l|Z<88Q$ZqsXj?ZFvJM8Dw<^a{OMW(oWqtbQlS#{C*Wf%|w} zui8d5OApUyd!A!veM)%rUo}&ofisi6QAG(kya8{kJ736w1+eFbV3jxLW<6iWw&yp# zl`j)by{k;V&cEN>5?IbUa-H+P-ShErdm$z#G$*DW0`lv4@19H|PC?&8r?Wd4_P03e zRD>Xt&am*@dIT&0?~lb2f?2 zWpgB}(#Kz3 z66#%;fDqd30LD{KVtT*p5x5fi%FrsnuP;=%R;8PkL$m@G^m^POOMBxyRoEf-3;D-U zvwFSffwB|jmiE$4CpJqE^F|(;s`3+S!F<*uK`qDLT%zgQBcv)Oa&FD31-R@!F~ z&rDPUmWU|Y*>=u{BSkH9!+gp4D5V!huMP*dwOq@2Ty(;mN7zt!r@1UTaFK!8%Rojgb*7YipK1KBYXbQUdU8D(RgJ`A0N@ z(_6BO8tp79i>mSV#0RvS!VtPAnOm-~N|^R5y9ulI{5O!fJm45}`D;Z9FVo>VJ^ z5FMs*$wZ>aZ!HHzSxZtVhWFpKsn#2TUHK&RzS$ME?@q{CGNe2`BzYcU(n6=ZM^2n% z^{$q8nG2HRJ!l%oRJu`o_CE^8(f$4Y2}essyNFSfM7x$z4~Ko_86A7Z>MY#i%fb)q z9Mra52K`U<<|O@})-BM8BYbuP`J)xL9uBO8&chDz$3OC8*Lw)74#|12vW_19qjdej zQV=fEzlR~5R6U&>WT<)fj}jCV}ZP{&9R z0e;`-{-fj)^&cIxpA@4tQE7-31+jf5PFQVUiKwSb7;Qd zLL0AfyPL2is?L$eR3%kS9k1^2RHj41MMG#&^s7FJUiBi33!v&ZII=hVvM%6MQA8eX z*$U85RAqPa;NN0eyL_tRpTE_B1}T565IqaUyUFwQGi_O(WV&JOf89cN%i#MRFpt1{Wc`ffI?1oP|K{NRHX^N$9o3qrteM;ivh!c^6uBHoS;}zQqj=|Z z*JPef;0sH*0AOk5tVtf3s!;&ffN~~*vuq9_*QzpK+l-cNtbxtaUlQlORV&mypP8ql zf~Ie;!ZWk?>klT+o?@41f1)23Uwwn)-fF~_%^+;|W>CI=M$d(>qHoQ?8)6q`F*)+K z)O4EoC+H`HCj_+#$Z^QY39$>ZRWi0RM{>Awy0S~MyfU3K-g2nYNwTW4zhx;1<9TC` zWa7&U%WS}L_HU3BNDZVLA_XP@3xHw3mEcA2EqDe@0v-TMfvvz=;2RFMtoKtCoYA#$ zMXOD#*p(kE%`1?Vh?R_$gq8D^=asUR>y^`$-j%AArIp_+ra?;=_UF>)fb(y8it&{; zm4_8L6&*@v8A~h;c7~KL;%h1G7!Fo*v=u4}`Ki45#W6-XozyOo25=II0vVp~957ef zE%o_xM%jPz8|>oQf3q-5?_J#Kf0Q~|iT{J2O*Q_TX(_;&0cw>}4DXyrLlP&14KY0b zkKcHIqgE0t@@D|(FV#z&_Wu`6pG@%VdRm44dyt`xiEaN0UFiP@z~hSl0b`B-{~bKp zf1>$w^*;r*;Qzt7f52#X`#+<{hO8a^PjbYv-eVqr`2R?%Jye+9 z|3TohJ!g&oTL*nIiM^R3zp@M$#ev3_sKEvbLu>{Uok7)Mq8QN0l4Q7n=`JwxqxQSh zixNQpmSjKhhDj77K1ze=!bM4;oZGT2|EYP_b!xT4npyYh9hEW#E z`sE+kGkfU(t28TYWoPXD9J{j`+Tk5FkwQ{HTl`mBk_Xoc=5CxqpK7-AV8w0)ERMj- zUO!ZxyFtn^8`?SX4Xyq8MVS8Svhc9$&>_!fmzq12%hr#5P+1f_5k^TL>I$mAG%Fp# z+CVZ#_#VO2{PFx)Z-^0f1__itjDXlpXJZ;dd|$DD-hWFz2>X(Ll=*}1B-~>O)t@xm z^ruWP7X6LX4OSM>L2Zxn1g{t>peI{^NCGSz`*!199j0r5J^C$ujPe*}S}nqY!5<@U z=&opIv6v(N+%CY=+kZq@A7y=q{Zp1DarEAog2Z?a6xXpAUre?dWSx@Un()(Z!D=f( zH8pVCt>u8B+gu+MgY6RK_NO0Lf8>_qyW*P_Qi$@biP+-~s{(65DP5||ZEFS2#-G0d z>&*`Jp5|X7Uj>7^f)~W_CKIq_eo=)}?NhadtG(ujgvnX77yNWOc#oPr3d&2M(2kVd z++$mBCs(y ziVQMfswBMsl1f-}xey{)=Xk0zut;nuceb!!HC(Y^%(XqOr!>Q97?N{EB| zd;KN3sBwrj;`k|a`%w!vv&eiSrLC-NRX`W@BYe(7S;BU&0*;H<)e?i|aKN+r=Gczw zE#pR$saCW_v|yQA#Qq~~AeJtKw3qJ=90&z`U*Ll37Swi~neEOF2w&k39*SLFX~a{} z&gqiGX2`-iu<=JK^=sTk5`}kQ=zW;WD`^#EFYos(nBCY5>B|zh=(t(i<+inhagJS) z%KH#g9(jV#J|Y2jC#E*84ypg*#}+CQc|qL#Zf(`NteE~|{a6eq?MIE0KQZxjCg(A4)0t zi8gaN7UKOsgV^)n<7nrtC#sGi0^MO*bDR?#KDmA5c-Z7mYbMZyCtzw{+5)NT#|5Oy z?0QkJUqSOf&dWnOvpcx$3r1W%-t6a?k$*#LVNdLlC^_e&8ot9O8aa<$-280)kUypf z)AcH>iL97Hazf*+m^<@SZJT^!_ zMSx3~Ju_q3l`j_vVLgeC9JM@nnLbnw|6=xDtSt@6Z&)&pt`s#W3mQ7oYAiR$z`!xN zCh_2k0nKaUZnV*Hn7YbAkro8H^OxtG4Rx=cz}0VF+bOS3+sUVRD{d)$Fuyj3)B9j1 zHz_H7;%hco2q!ivl`e4;N4Arro=H%bpS%2tp6<66M`v~S?AHBr;hzYsDUCyKIWa!t zOlxv#-e1LO{v>$U=rGBO;;H1P6A;639HGX-5=%$93makR=A%t;OG(Ew?NqkIFT0?w zt(>rJr&_y=z|1WHLB!h_$$%Np{pvGd%SY1U*6Z1ZBuT z4v$1#Tu_R_O5nV}BV5-F6vLz>`Ghji@<)k=EYWNV$4@>CEFO+@+5#KOFtOnNPz64M zs?swek15XFw~P?=hv3s?w$qop$bxTv)sAXiPxn4zS%}y{kfJOGZz@D+b+K#9O^dPB zzBR9s|x9?^; zh%%dFc-Y(-W;~yMyIaM0$li+^J#3aa9r(lxy6Xmr*FL*~Z>=YO%<$%e;;ph!aSCRX zAtM6QQQb3?8^Z?92wk4IH>I4|k(3jFdN`-PZ9~K$I|Ovj2A6ykr+Ajbbu+f>win#H z<+$hd7YT}ZtCIQPyX*#0x;U#%9T^GbpuY$Qc*U*Mk`I`rlCkPU4zG1lT6=4`Bm zGmp$ZJ{&^p|90iCf0gNnuyUdDckt7dubRKw5LrLW*8Q%?mE2bHj@1>)6-qaRci2kMaTO8OHwE?!^v#pZz$+zUTIb&wP4&?+ttY+2oZ~ zIhi|_dn`fTwSvZ0)=Zmap>c7g_L?M%P!cCNRW4~{^5_>P)Nz~MM# zcis6X-Gx#_w2S58`&Q6oOlqpK=p+lPz`#Sw>#ER47{hOHe>btVPc$!P8@<#^DjX&1 zbj|kA)~cK&I~mE}#PYHFEcq{Q%a(Hty&ASDQe!kxmjQ1|-{L~|OdBP$A8(8MWseMj z#*sXcx^HM=fGOy^pBl~>&qqm#4*XQ{kB~ktXe=-8YskzNV8OxuOA}6S>IxA|K3&pu(8G z^v&fu=TlXugY8ulA#xvgV6$~45UVRleC znk|&pSZQ>XliFk?1pPGQTKc8WwhvW~<)WF@7S-BRe&G`N1?7z|rt!$)HW0GA$hy$F z!}hA4d1@yQXqO&O`i*JA-Kz~)gyew}%ZTKBl1YgM82y!?4Ul!PnEFpb9Y$=*NnOoaIT;a0tg<7P!yt#BiiFlUHy??L+s2bR*Oc&GmC;rJ z#YO|KoA+!3#6JXE%q;>!V9-}^tWyHg{} zQCBEpL_svq4*#a$W989PsmlDM&tj4=HmP7`k&|;sJx;_n`*yZ2f;R$MC)&I3+1~mB znura!T73@wOu(d0QR&IJKC9ga@mwDT_xi*KsQugC2-tiBTxq<(`>^-`tCE9=NX+F8WAhE;}Pp zL8x=vDn5L-FAQjT@xuHcGNoMuiL~x@y;F&NnxZ!!FCRnBUYhQ)dV1jfWB>H^s2+Hm zT^ga3&~;60X8GiAxwzLqH|+A00PMS_ zsN}4^@pzy}fHwY_&kVZmlxXP;&4tW^_siF%yApnXa{+feEDM@A1-fWM2~(BqSX~AI zyOQ}_F03y6*{yd#9@ZuM?7!NhkQk-ZWSKdXD7zDts2&2>IO)ZhI)X(7YOkhgC$6Sg zf6QA-tLK{VzsIAm9NcOdj`cuZk%1-3SJUnbG3;Hue-dfrEO`R-1jNWTI}Q*|W1P4n zg4tcs-E{sI{oUXx#9IrSf^v_`pMH#(dO{t4*A{ z@@FMOb+-SYC zv--j*VDsSie-4e)=7@#=|jdt@7?YqA#P@ z4cHNRe(&8|xTmMf24xd$Vy$(8xb}9D*4aT={F6n?uFmLWbFZe^XtQf=^YU12>vA1% za}RBsUck7`VymS=Y)_Rw%YAM)e)rB2eQQmQcI%a$eTB~PD+WO*eWR$Ic;_;}vJ(rv zHPxWNfGyTGk>}wc31G|&h3+?mQ7kIepv*E&DMv+?S{As265=!w39sAAU)9(3pBTG- z*}&BaJ0|7TAJsmbCI~pZ&b2Hk-D=P+>C%B101_rf%iynHRR+Y_7UH4IYz;w<->~rQ z62RUmf0fzh*P$FHGmdN<-&0bOm|7N?VjK1qI85Z@&W1H5@lw-zYo2T0;0+;~nsUqO zy}g4A^C%UAuJkAXDuSw~N%u`NS;$9DO|*<$|FG%h{ln%WDmkd7Kwb6($AEIuS*`@! zfPuh($=Kpk7!G5PXt^e&jj>V`53p3NV;HDy18&mMeUY`9cU$aw>|wN*tV@ZlM9g2Q z%Y2ai$`Prpr=|auOJ+e_OACdwW5Ha@2!-S8g73Vn3cE}AWmSivd2elGRgCa21NoGkXguDL>azfSLv}>k~kAw;_6UJ-?isK|J~mYx!hhrj7{?nC+-l zdA5#*%?c`dZ7M!D{E%AJ{LItZRlIhDH5jk3o~2d(p(Aq(cV>Q)0)*eNbd`CHm;g-- ze;<&{i>>rt4VtGUo1Tm^amO^W=G2UN$1t)6(~Nq@FXVX>n#MbtBGgGY!AfLspiKs8 z#oozFT}^C#T&}Ogx_QaoiF+Zj zGS!um?iNv?Qm<~0c978mv*xm@=F}ptcG0%m&`P$Zw5l=Behua#ypmH%4f*lZQvzt7 z?{9ghL`foV^^(o#fLW(Wo66{dS`qImX=(RhZPXF9Yb zxLNDEzHsP+Lz7c&im6)=AF%e7Ho4bP_k?454z!V!#Af8~&`h-~sgIrQ1wfL)nvneH~$JTs`~4U7g=dSS-5@Pwrb=NS@A=hJt) z&h@NHU@*UiD-Q!#`Lhe?lPV)s<>*%RoDjTUUzg`#+qp`RzyUWCYi`RfltadhfD4E9 z>@md3rpL~`($IA>GUR^a)J(2l!F1->>)6b*VsChA+GyEKw{pgK(&AsRN%DRZ_XT*T zpq{v(x%!;oJ>bg=+*#FkblKB)8P#{9+pFW+VYI7vbJn}g`g7A~dGoW+_@-y}rjE~; zi+BD8Lf4Xu``JrgkP9$r`$yBIo+ptBj?d&}*ZBF#POH#~YG2!Bg3w`ScY|yG`sGsh z*B~rl>h_%5#oGnxbjm*-n|@C$H*3fQy#d%(kOQ|Nvx@Q=`w$%|_c z9x!}+D-cjDiK!VR2h@^(5|R9QbvXzS>tVjM^Vu>{2X>no!`#huF6EjACLv${2>P20xSGDt zfPBB0Z+`k(4Mdr;rB9w+Bzl?kd}=K5vngs^oU_vtMhwmTWrUM!_a4vCaXVWc15&I8o7^visDH@OJ#g*xx<> zzy1GADcM@GrRi?7{H6wQwj4LXM*9snOMO4qAuc!G{(UogTOV)QSa(Udjryf*Ykd}k zE(@1d;~fA*0Gd&Y*1AFYFaf$Bh~pghnTNbtCa zZDUM*TOFwW1_}ZF0F{8uZ`-Cd2Sp{r=2Vs*ev)72Ue}hWZS9Z7Hx-R0l8& zd(=+LxoQ1bT4zP-4{V)SC+qjB)ye2m+D7oGuEbhs_;|u<%9u^- zdo>(}#_IA192rnMV00>nR~qD*T9^A^*x`Pnt&}bL?|?JM#5RA`r88f|HW~}>Fk=eR zK4op{SHFO8)y&1(w&~clPU2lGVve@He-{zxyuEUNCuOe*IR>$nnn?j8gU}8U4^a;h z4pAE5GZ8aUGZ8W~M+H+4z&+GWzgZptqzsku3Vtuu+MvVAvPSYufK2UoCIzgQuII}9 zU)#O8+>0}nxvmtSzp4?GM^8A5C>%j1IrY?13H)=W=e2BrMN9#=&Nyad>IhJYOm#BN zTBu*9p_#e^R0gMttrqZTmT4-cNdUFVlmhAr+``>vzSayb6>A%$YiDvzE|AgoJkD3B zyG$q7H9RQXa*ye-X-VGl(&&(BDWY)QF1Tx%C9%uBjIjapx`ni;YC`|XwxU*Qd)p% zQ+;tts*^j)@pn!-bEs-FuwOd+*BgCFdah*^{*opwq)=z2#CfZb=0wBLo|UmC&&ZNy zIFQAC+7MCelcqb6?S3npca}9L*_D>n+tEJfQqkecRyUfF z?wC>5T%WP-7*W>1n}Pj0>8zbSL;H2i85I^5E=*!*$lTq1Lg~2jp3_&uRF*A0d-X|j zPQibYTq8|`Q^EE@GHVLafT7;H<9ljH>u;w6p1VBXV87r1l>u8*uO4!|!!+Y8CQqG4 zh4$XV#Cuv_tO12BYqvPQ#eCbwJSW<<(VVlRs2&GbKeJv;Qw_a2rYl817GsC>&CJ`V zZqF^ief2k%?TN1I!f$M16Uo=&#(sj9Fq4ax2axp=&WGbhh5X{tR&jGznl7Jd|>hy6=7;r^+4^)2pS-omOMIMxMxy)wJXy&rml90jNi@NFqwW#0d0aYq^$-=exI zHL}jUPv$B0EERjser0-7dqWGZD6D_19rPYFF+c7(4AKBbnEhfq!Ml%#i8eu7p1<`R zctLoj46XyN6d$wwwR>oL5qLFzD}9>?Hs{No_bw#a8UN?=-1i#zRsQreP0$aPRrv{x4IE{Fet2uzYJS7+~#GelmF^!=ejLbhh9YTE(?TZG8Y2{Nd@80ft^ROF{1cV0jxu?OGeaW)qz< z!8GewFNw}(P@mQTkg;`JSNR56n1slYkyTO{ zrJL#*+99}9IB+bgj0A>Z+SG<=3wZVnn!xf(g$~&%af5SJdjZYQATjwwsW)mKBo;MC zJj2ih({{>QDtj8uYS6EW%W|EGpm<#xBlrf{yMT7V)f0P^RxME8fu5{Ws(GgDj2ygN>;tP3Owzb&vWP7_- z7!a#~xc`Msgv16NLI^wvzhErkF;G`OhXw-ZZ^Q z&U65ghg&d;^=vuOB&!r(>P4t4Es(u8@;MBmdmUf0K5-=8HKN+wtTYk6DG7TAFR;P{ zWje=VM10ysUkDj-$433ZQ7YnI5OxGX&@?Nf+vWBag(BB(Knyf{Kwj2xWycDK5^O(g z&IKSins%UiYt^#liRVb!^rXn2DgLphbhj7-5`rB5>FqLZsj4Acw1uArq6lL6A6M0~KV;nsZ`2L{w;XM{9 z>p?%~E<)t4hrw#rx-s+=2&HiVW9{@&$wUy-A9>62EP(I=9YYjs1yX5J1wSFB34WrC z=BGrJUU9Xx!@86dizjXY7;~iX-zm4wz) z^0s9f6?7#83PBO=?auK+fv;+9ONT?+@)1(GB(Fu*ccbb(w>f98lfO;I< zBtI(+tSb5Zh;lLm>5@bpq#7W3F{NjH7WXH6q=I1r6-T6v%vQ{n0O2b`%oK{>kA4*q zfa#*qM`a~kdHGNW?qqet38hE+JT-cx1G*PN7V-=n#I&GrT+CmvkqSVWc*H=YF?lh$ zcqE(%OlwJdg;GiNIA!Mcc6AGSDOz4b-5Q(>svDHYXmz}Q>B^*2gkdcn>SphT=wA{@zY=yw!w`N)#SnH!S4c)8t_edTe+?%X6P5)rpR)l| zU@J>Urvb#HH9#mNsuE0qFOwet)P86n4QeSc*t)3PNU1rWBXjCIIO>y&CFgwf? zB3#PBUaX7-_z2Sgj>J}$!Ao_BV#UpaRia;sV8zKpor@#NeD<5-iHGciD78!-h@ z>LEoR#29{R**d^#HM8JIi)yHluIK4sig4&PPQP zFUxkQd!s7|d$R#J05X_D(2FF7dkEAON)BTJl9B`tS#XAtQpARn;yivBmsc$rS74J< zgU5M~S=lS8j>sBv;0y0FqFV$twulTrDVBvSSx3mmY(K8bO`rAe2@ihOm@>CzV^eLEY+) z0%2*WI+i;%9XJJq7$f6}n8?zOxtGG2^pggQEK#oR3t_SHr;LC16%p2PWwG+N;#lbn zQM42tger=*{CNorgxmtT81{&oQs4~h)3RE56=|(>hv=%(5)ne#Ax&l2NFxr;LVi(~R#jk4gX8MkcJqUZ8Y)7Y%W# zEEo|dxTDU4pn|Jb5R}$xa6Y!NtXry3>=vyL;ega7vw!vm0hF{y z3ljJbE&%C~t%nCf<#`4g|AP<^9fNV5UlR8$TSE(^ahz~V^gnn@H1tH%D1NrJ7Y`y@ zNZrOpN!|XGC=+DF&HIoD=0E6?+?N!_xJM%_eg=ZR9FUeGOu8k}hH3K$Csfe_N#0|M z_nuJ*5l))7-%Zi01lth$^G18w>%NlQiK`G>TA;`yj5Ur28Q3|6GIkO~rMXH%eFOLn$v7gL}Ee3;|} zkWUH#*lT+s>Y88(dnprpLH{EJJ`El~tv~_5PKeTCkE);&%v#_A5Kn3X`auLa;-0vL z@{A0Eu?Khn&e{YBwkEJlEAsa+x8_&SiR7_4Y%MB;x%7rTe?b|5`o2$ZT#Ce=yr2LO zWe$mNPB{?njnPK#&FPm1Aou~xl_r@&S*e;n_7?OPK@hJgL7C04Pj?<1^HjnOD8 zU%`n7gK~VS%cz^kM((eldo%m*AiSjs%_QDC{hxcW?#z8;?$h`XH|g4u??yfrBuk*B zEu)J_o3cTh)oJ-9P2HgMe)}M+gF(sU5rp$k5Cwh|wH;)?a&X%LV(Ib3q1D2^|+;;jh%*%&j_t(T2x)SLMw7SUQAL{Nn zw-IUKG(3d26zHi&HB>l6C=$%_A6g7CDK#;5@~5p5^1S!U{zF){x6=+GAzpXdHd4c-QC??OSb}ow7^o*CA}cs-MyrM zfG90e(!GF)C|yfQ!!9iF?Du#4k7wWPzTW%3X3q07bImXmMJ)xo=ol$g)Q|US8fU{} zYFTn=2-ton)N=eJCy4iFRS_>@6pf7I#`Of##LADe@2WbDNU?MA9)WcwRk^T9Cl z20HlEgf7-lF0bdUOK92g2FfjRNWvDEF^(IYEf|ZfK2*wb(| z%M*k=A^G&y27|i(7~SMh9iuVGYk=n4_Ka8wfYjTjmoJWE3Zxt5{fC zlwhpb+aD~r>)`l_8jbXfBtSauX_Q0t8F)lhwSk-^H!7TuFrFo8Tb>vOhH3NC1MhyHG{M1B-c56-2uiDzt{Oi6Son z0^e5|j=O7?XZ?;=Wc!L1ZeTD^wOcu#ze|3fWTkN}A(Pt2l8+OvyH9a%;6l;M6@dE4 z>`$$jB?jg4EmU_WynLU)?h3d~(0Zfz#d011?5sq-uD9>o(0^OI@O*igUjPzSI8HDE zrm_`MOe2$4#vr^v!^-vvMUCT(@aW~(kd-sY1h5mlIPp(SDpMiZlg*4`jSx!>AOnde zFN$G|%3e{bs@o*I1zrorURK_5x1oL~68d}vKHDOD&y(2($fAB-O$IJvCwixK08q&4 z{m4;DccXm?Mmd!K$i@>Jr$wdekeQ?Dko`oKs%nIis@o$^n_kUITkek`j-t&W&T^RK z!kRVdV!x0(&(5wtUtRsIk)4T%<>Xo;*H^ieD$4Q~6Q|HN7MD2OccIO4a-lw?bg{_# z;39ok=7K&!EuM8vEY2|DF0OE>?Sh#l<3fHo;i8e%?ZUZWJU`7YHZP<_q}tD381KZQ zKry59g=t13M6jq7C{z@E?Jmw$4}+Rj6CqQQP9#Y6p7~y&J_Z_CO$6S^)`@*mzL&pe zt6zc|Rtr@qW$Q#g0q$Av`RawQr55t%H?(V1{W71ZX7qU#isG-?#D(hdT@)A6A&6?< z3Jk4&O}wnhL`v326al>>zBcT`beC5~wpAlq5rE`u-ejZ#Bp1+bptnfU6KxZ(SDF_E zW>qLc967_uAMC)x_C`38t8>&N)VlYRo zG5aWbnb{b(N&6kOMY5hkn`Hf#3xntlq^DY=;$~c2`8b<4QIdI)nB!H|yatfj!@($f zo)frQ6_Ht#@}ysjwwkj<-bPcH=Hh2$450+df(5jj)Gae<5<58C2|ZMu$dS1>q>Z5v z;u2~^hZKdQ6%5)QYI2!0$?rMa=}rMova7jEjBRv1XxC?0|Wq^v;GW>CkPG`OQ8tFH@}u_S4R)y3*qFSJcM!M{z}B8|_3v zR*(4+_WF5_Y7A?gELv-gBZ;08c7mR$B};z}ZR(z+B{_cyZ3~1mLH!-nBFo#Kp_khYvZ(;*=gl(h&&S!kS(W_O-ftv0KQ*Ur^U&(Ka}xgn9IOXoy%&7Dr3v0R4{Dd4f&ua9g=AxaZOr?eJxsl1f>woguXVC zn0Es%fFafIDn)<`Rll@<0=zONBG=j5alWfN(T5Z-Ib9PLUO=slEayXkoE3N49_maP zg$au6?F5hU)9lx_Mt>lhK+dXk?NjCQjKU~IjsTKy4JWkwk|mC7jKWl?u2DY33@8b1 z(Y99E$oQSoSM!$nJ}n9j8j6bvX5yAk09C&gzE6x&W!*ykkdRLpK+J@7IFFt|egKD% z6USZ6x}XDxg0;oPb_d|T;#`QxD-CFR2HpYH{NI<#!$1u@RUDGnL;?g9YQ2g`Lih{9 zTkTo#Q)^AlEu$xPIR=w;J*bUEoJ_v=ztnrdPy*kG3aKs1Svhd$ z7U3=SwV*ult4>IKwQS|{KtC(^J(LYMK&^bpkHib*p47%pNW(V!T~r^-jnsYKw8u3= z;S@AfG<}|k{3r%g{n9TJ`@;$=$W|PMo!n<}UJaNGPMn}r&sH`%*>(~2HHPf&I#uv6 z*CaHh)v{VL>FaxP{-^JI326;HDQQtMrOT6Q*(^!*4Lk6QKKxY{PjcrIXZxM!!s&}P zPrrMo;WuQq;yB;3Wl8eq#UmkTz%%Met6Aut43Tox3>DhNtm@BtL`4E-gX=)w=y|K% zI3!@c(Y(qyj^F3_g*BtuAzoCD5N><%`)oc67@>@(Vt3;1Lh{9YzH&DXJTl%4NLIx; z`QoDO`vYRM8&^>S#=pgGO5Pz-?0Q5V0U>*a@Szh(;*7_ zIojC#NBd&me`sD2agq9h1^FkeJp2pkOH)c;Frcco?o|AkSXbA~2v103e;{R0za>L@ z(JLtRm-P8oVU!0R*~}9@e^R|sP_hA+6j7>I-5URFcCz5ml9k&!RwC~{9IuSVMTwKE+A{E( z5JEme*7u4Svq>&X5ws z1XTOdxuR~uHqs{6ZN(5$?2Y#z5)zM?f`(tVBvdZ~e^ut4a4vEA(WV-{S18IjkrgNT zjpD-lg$~jN{8eE-?x~EI%@DQB{)eau@8)x8a<$a1t*QVV;(~kGQu%6ktb&Gx?3O_s z58ep@?b>Q$Wk#SW=sbmAQ^W7nM6076Z>?5vl8S%$ZtC{soCws>o** zSkXAX5#7uYLDiFn2vaf@WcR~LoLIi&L15X#~a zfm6XxL^bk%VhMiCEk zf*cuxc~Y0zjVYTjQa?W{(`CcyJW$uv-2q59J>nTZ`=NVf3KA^L^nls(g3@k7mFfrS zNyK~&(6(x79Hf^21DC`WX@YU(7<*_t-g0Sl4hfvJK|L68%@b07bV2%8)wRF6I%KF6K_UXm#^)nXg*9zVL z^&^iwVkpziEn*R#{k0avAskdd$2PU7P+qgjPh(_Lo2ogZb1v&r`N>N$Q+(bF9WU7mO zJV1E1Zx5!>8~A2P&6o<5oeg{mwoSOeNb^X~fN+0zd!3HMIYEqjR0n-=ndi;noXfm3 z$2`IMWFFR>zwTW6;#*A?-af3FT}l;K|}PVjAutGmu37%N%M_AjndRKkn@?NpCMRR20!b< zeUIO%G=*z2h|_Oj_!&d@>Gc>jnbOb!0Djc6OPmF7&AMowyhzE9X%u|(Jp0QJhN-j* z>%Z{hPJLClEoYgZdEq8ZRyKZ-JOQ)zj>U5V0fUcfd=c3~jq>pCx}Q_Fo}+AAhnt8d zVG3`?rKezOH2s9S)V4C=xh0AM&qIgC!50awL5!|Rb652r#zo6$%=*(FZ_L6XO_MfM zM>#;4_L@^LQAO;)Cq6~$U)8W>rE?Z(SYTLyH4W3dPqFsE-i{O^F;l>+=TBJA%~BEj zZZM3?*f%>k?k_nTW$bfHNFdS@s(P4EWiDDGDS}8FtbtMPY#&Kz;>Ey@&#|F!pc079 zJZGQ|6Q6>O-W#KKsrtve*>j$axC;sSw`eh3ylr&12M?kOAZn*5Igleu{-G!n8~XK} z??d3zQD)GmdQkP7UELNPC#T6h_?-8Y@1tdxBm9ZYO3+zG{>`wfw7@|`FIRpiwZW9! z?p>&;&BNT?u5ahACWz=m?5UJFh#PowAs_|WyxP$}jcGTHtgV*M$O*#;?T%sR-`v5gD!kwqOI8N)bk zyVz$EU`~X4W968aJ)PBgn->=chcFJyDQ%)l!!|!O{z(g$RwSpKem**qbdd6F0A%;g z&MHtrKS3YfLJ$a^3L7Qh(cWBf9g&SDEOVi*qdRIsvhyvsU>GGl>*5K)tL8)RnAm9k z#69vj@k1?(NMX=yAwyxbr%PmJ2P?*eORGQ%7m$gaX^+bcUmP977)8u=J5H)A^MjQW4|PlG1Oe21qnY ztsE-RcG~5){htyb(qQE*BCb8RFcmxb&uC1++_2cYcfjc8ZfxV7vxem@3h57?SY#-5HZw}4v!P4r%1(XQU+C~IDcV@NG(_2o;sYozA@_A_a}~avX8zb zXgx*Y2Aud{7VC@&D8>Z@7?JWEZFRmtyZ(eZ?Hk+m7@Ak8p1t-CI`-PH^F`kP=Pz>9 zcbw+9KKq+KJkukeSxtsi0zRYk;K#+k%$}T}*jdwtA@`{8B_B9Ssq}LH z{RXQpNFQX62u!p|1xVyDV((>5cd3!&W?vZqrxxW!D-C$18i>CDXeSoneg^!}(wAti zCD=nz87SJ*q6smrcsofuQ_?S~@!DA!^6~|um9}OIR$5T4$e9MldN&Maw39oxZV80!AOM>~ai@={a_?tQ+F0VKlMZ zow0-DUhE};F$d=oY9&z8ET4%aj0&wpra#GQ8k{8xU_?wtN?_*26>FOEFkFGXPon+M z*G<*EGm39%@{J^a4r6foQDBj43M5V?V$gWt=l>$HitC48Vq3lUt`c6?beg^h|IZx> zEm;@%310@t9ObjMGraAR3zTTQeh{ig>~P`bMC|pmZLFd)vG4rWiEv`5QTj&wxcvE2 zD*Ra8$!bjla^4c;Hu4gO%7Cge`^TKbmJ;5UD(oL;SVt`VwNX#rC9xt^NQ=_O25UGU z%~^xLUGFX;H~T_7$7{B;p;aOa9!`j+EEs`@D7nC>%JSYrJr)%O5g;}b>H7;(Hq?_h zqY4eX>90+MfS?f&mgIS8Lg^B-)NU;CXA%BWidWV@UB^4)YLtFcgMwNDNczvkT&O;{ zZPiV$W2@Sf%(h`Y}lGPTkdDg<-iG_-PMom75^$u(u6l{7iJ`1hc`e!<$c9urs# zi*&UQLt$z3C7n&HfDLrp)7qCm=i%H{!7A!m36a-uhpK8wQhYLUB!fsT6l*{8-_K?w zvf5-;e_zXak1`TpPIbYE?p0r8aM4cA)cQ{d{>XF`szBov=Y;rHR&+8WI}~rxA(hp> z1yZA)>~yr$q~14>DyID*EMgqlkKK*1yG$$IlM~S?6Hghu4_eS09k~gT3y2+b=lEqHR+9J9xo<^myR z29_~Zyvizcpetwr!$j0xi0kD)yY6#K1<%s8$aF;_0j!R<{q$D14{sHt2nY#AguJih z5tQjgR8)91TjC!Xl}i4bnL3ZKsK+tlW)zTcP$pq{m!903`;3E^!a=0kNji;pXo|VsGb+ z!NP3)<{rfzb*7aU0bhY)UPrkNq90eD0UDk@7RhB5SI_$P#e?5Q=(#CY2b9!|hXvd^ zlAj{7Y!C9vDVCMqsQ)Or!?odeuqa#lmm<}!`KxfFOJ`JUz~#e#65^O|3sC!!N_0K% zcVt2T{2Z@Z1TqB;h~d#s1j+t&(hGO9ckUe#$selxxYqW}^465f@cM&-8oNXY$erFK z(yyYAD6u;-J-CuUShV|n=?Zd;T!JOEqR$i`+5A8M822bgK^#^Bsh?rpXP-XK^fNP?B z7JfwX*!vlEis2@`oeWjZ$A|c^r}`+~rwyZfx?@X~dL;eXrjxP!iG4tMd{Lqp-pt8rJj?)e{!TmZCh%+JQ* z>d}^-d9aIn#4CG^?Zv)R_$fCAuiWu|LEga}@19_~>z;>smus7vB5A|0FzJPe3r=E$ zR;&wC^gGE37C3aXPlRXL%T(KH;~%egjUDUa_!y%l77jSAzLp1KPA5A80aV4w1=6IcGEeanzQ1ojJ#XiKI=l3T2^qF)l=i+$kQj^PM z!M`-q+jT{IX?N%T2A}$t{q!Pq=}VdWBm&-IS>+Pt&i*=jDXzPV6>ZXf?$fKJ2u+{< zj&0Q$I+r}4O)S;T-n>Upm~pL$23VN61^{6rQ`-+?irZN17IIIiDOZ7s< zP^}kb(7EuOK8dK0d;1gzv>MY=2g|@>RZQM|7hp}|y#6Z8rG}d9Uv;zo#Thx1DNoX- zG4Yql45)A}kK$j=YQL1t+lIrOXCZQ?SLamS6=#5?kS{#tYc+*B29;MKa=BKvDBJctI?ISvqpz0Xxos_^s3`LoTWb6$aP@HXMWJa?F7kw@{8azDV!FaQ zIUI8pRxBaP&;fp3Nv}lKo_DC%vB{&mjl+=*;}W=>&!l4>YjKm%8vRP)Gc8Lt`^Iu2 z$V^?DA^vj6xsd7IVz-17hYAYJ=4;tum%vUkw_xeJU1-G{y_*N>uU|hay!>SP zs}`nWUjF>*{j;E30pPscs3*n4?qRUWM86KcX1f9!|MIA-uvxqnU~fC%!iy*K|V<~R9R{m)7#jHT{(x#rXa3`>a*J_aa)~$se;5_eHiWWnkXom zj(v>Fwb0w?2IN8zK1fw_fHC@+sL1j+NCtK8C|sB=QClrTcefCQ|P$j#vz# z2=#Qh)2KjO`H4f=C?B>p)+O`%;5L*GgBKR{M8no`+qRYG*a&wq%KKo|m_-z* z7~gAa@j~^uMHw3vY zlqh#UvW2I&M**um_T>rf=)Ixm$ZSksoU{|B+~Ry0Rip&Jy(P6Q`E&+sta%d8{yASl z>(PFMy;?ZcoZ-h~S-K<=0f2#RYk{$(Ib@9dGIL?MWmFCBnWfY~lbv_?^t@Ka( zg9)Wn!^}qi4Ds+NA*^1Qdc(%WWvb#8R!()`ku_7IAy@%PTz3w@VY?oyU5 zs3sI&u6IRlxWELYmExvoqj))*tPuXbjJAB5#heejJlOWpk8wE7c%{@`5Vpf~QlP`- z_QehVTMZ~%&+MNR^<`BxOyn%)qU z!KCaS*S}2yR^Oob!-Ji>%Cj=dOjFLc!{a^iN!Q*2sXGeOL1RczVxI9}CabUF_CHn9 zC^^+Y{P;BaZa*N1CjaPtt$8Qz$lNO@NcXze5Xx%;S9u!M8kIGUr-D-kASIq!u{wrL zChRnCeEP+AWMQdSBP*NzD~@eCZ|(;CzEp3=o7XS!ckR45Zl>8uZmdwCc}R zgg8PF->62d<&xn7=Q|2h+omF?sY`s8YfY7pqU-kGO$e(*Qza&rvf-(XKzXz>^G&VM z#jOeqo4J(6a?-u?yz7OiG@DA*u?G|rrEl4HIwb2s2?1GCSw{{Z>-Bt_$`Q;{COSH`n8p6{Kh+UYdKw#{PX4$Z2w!0HdJ_MjqvOL5GO4^%Tc zqXBPh5_*;hNT1!P; zT}qBkN4Zo%jt)MC8~sUPe{XDl_;fxKcfW%%AbMdh!tC!N5}v-fHM1ayAXAs6d=vRc zO-o#GGQ$s2ltEN9UW9=H-pF8lK96cP5rkRwd4LSqi}SU>2Zr~^FBWcB{IO1SeN>!E z$EV0sKxVD~V&j$hS*9<5jHbV;cP=OMkbTl$^tbYUAfnJ0 zQ9Ma9t~wex1yk)yz<8vm>2K(rBG1227hR9z>bauol_=-m8kz%K9=1$t^wMwWjDF*_ z6|*62ChUAF-8j%ggRzV~rJ(D`BLj>(^xh1a$WP!m$i&VZg%m z-=!@AdsZxDYE#+ zoRF;?bbV`nOMhnuPKB+0c!W)If~iAyM&k5|YI==&Oq@dt{CSJussFi}#Y_^oi#B79 zzx<)wVElr9{Q-{9CMDO!(7URg8v)0-UbB>c#d5wdt0A)J_}oSh&0ty-HaD{qHlGgE zey@3o^;+OG!&Yvq0-wI>8VTbkc^vlfSG?r=-B0&G7%|qQvH5Dl z=m}bceaQ5c`Cp|Y8;$2O9g(btPu<>L`WqV{G3t|Q05e`xGG>@Gf#Zce;-yDyG12cA z4rP7FzwJ@agjt?SNiMy`M2y}sH%@-`;{1N5&QT`#CBu=|0(g7B?|VT+6ynb{bgZqR`WfC z=~C^fEk@l?>nm|UMcrCJ>lr2aT-3*h7j2a15~K75wO@%p>I5k!`%E)M%_VIcG`wbV zUNT4F*x}oHdNe0g`s*|QgU8}DhUoPmS939k_1m)RVm@Kx5x3D(V>x~Obnq^ z8?h4)J}WPW*2Ji9?!k4cupx|sdF$A6&u^(rzg9Bi`L;fmD{T>r3x{oo847A!uG#1* zMOHHz{^I$bnC9wVL_MQ)?LI#rZq_z>CHGp>h#U@Y}Dw_nkygn(CSQo_P(uf8QPqZf&U>*EsxCAN^Xv&Nec~P2MlC<4&UV zYE-NcTnj758#$X}suq2WtO8nnc@@b0WFc+M4I+$4pM)y}2RRp2Rdz2-hGONMvBrRn z_Rn`tI^N&H8sjN@JsUG}=IZr}3}mkKb5b*O9d}|fOtl+K@pUJ;r4?-~3Z12TKmaQlb6g(%K|*k{WU(;aONq*H;gSpD! zb*Hcj--@S|?GmW~6C&Vnu=0AM%WEt72&`?!BjM4t2*iM8-4P?;WG#}*YybHTv;hFe z^4vasxKk}HPMU;E32q5JdZuQ(H1vOzO`s&Sr>=(KnP2h=8aTp8KHz<}Lu?#w#CF*` zgf_}=oRg2Y5Bz7MR_s6g%J!BOy21&b z3X+il(eigDqyyy{-oM#II;qHSlrXHqCpym2sAqH;5Scv}y_(gEU|xDkr`f0}&m*#VMAPU#k`dS#6_%@|MAI=9=(+ z+l1#2lMADP{d zs%Q_dz80u^@R)A872vmK|2E8K@f5Xj^Tw8X&FBdd1i3ehZst!p(d=gvsa(z6m|TmQ zz83%O76R{K}e zaDeKuQ=M5rZCRKPyx{KaBx@q(KUOCtgH527L;Ce(9=zU@MjN2jU(wa?;eYVWYd#%;7o!S-yB ze&oGa&oYg%wH96STq=pHu;yL0>BBZv-n%!R(t~-Tv^CeR-BuDmTNRPDQ6w9oU$xl0 zVK14qqqxlbU&+;g^5Q?f&mwstbSSA_hqV9vld8z715*b5#_E4ME>y%uwDdm>HUpK8 zsL*as+YUqH=4gGlqhFR+!5kiz8_ndIq@V`hzLQ=gN;-|XCeXtiR+UwBDNqhgNuNgX?W-KT~10(5lV*1s&L>(kbIK;44ZzmpxAV|E?Y`B44jjULSZZZ$$#&Qxdq z3(1EhBaC=9@^9_%u`XW{Dj4zSo{T`e=L&?**-M5XhlTI7(_ZqK+rH&Squ<7*4~w5D zygWx^=U5Fz*US5vYm$+H@hCcJL;2jQ2ut%)S&aBp=UdVCdy~jjai;h}pUzpgwF@cB zcv5RT?}|$N=V+&+<3gMXeXeZ&$zZ;mQAXw+1-ue0o*8d@t|5~IAH@AFZV+yPE$hi}6$1 z!Hs=1rPmmDu#euPxA9q<&z%C+`r??Ed*%B>nc)53_Aq35A*}v)q9e|_+xd6p;w+^i zeCfYqHpe0Xu1n`vv~}7jrGj&RyQClxNW04?Uue!&B1Q8F{u#)z{lmAc-gD#q$|W+v zr)Hfo$?zV330j^ADw9gWFey06s}0noa+7+bb@a%)sA`ZGYwn9#X0aKLoujjxBm z%7C>ewA5WZ@7|@2gdU_cWlpNiS^j4^z_FuTwXpo95k2XazT?m>DO<|R(~m(cJ47Zo z(-&~3+3}Ps4&;Kz(3~^-FwRBooI~J{ddxI@v()i#RD`0{nr5wE3{y1u^B~cj6vxSU zSVI#~)*5~|uA8QWq=RsEmr|UFdVpwI+Gr8%w^2g53m5v|YTE|juTH_+O_Alu+`MQ#H_Edh0;b55Ejiml&Fozc`__CdYr!<$s#SXr!lh$1rMrRtpRS@+>>wY5PYb((HJjZPfE&6t zam6`9*;J*GHxx57bQkCcSlSdIphpjkkNk*nU5+`->HlPc3sjsWNpMZ~>ZfdC9G*Y^9kG&5j!HTY`hoK#NaL2eYO2 zw+f-QK@+Twr&H0^2t$Cem`~C~B#s#(gKCe2+onQ7`;3$=hPg7tRB|?6S z^OhC_3ApSezPN#KE2br6P7deNd?&(V01TA@YQASvE(iGH#`w|`!Mf0-z z!!I)HFoQ$LOAkVcEgmPMrymc|lK1wi(qEx1ro7ypa>k~84xatXl#Q(<9zI#uIa~*o zmL3q>Ay}^5(pvJjpC?)nj4g^%#*U-80ZWd+kYDo{J7h8- z5t*m8kgV_r<35I9GrV5Lk^1n)DA0~+KU`r_NK`Rm6YC zWAQv~#;;150ZBG=Y8P{r;(B*s$ZTEQpRhb3ops^g_G@@94}fU1bGF#MLmT0E=)knj zUG(4{^TNp%fE5Z}MNkS>OyoRa6!rl(_ATaxxE8fl-DR~6CKs0b5i>m`s^TiJR*ENMSn(1pV~qNC?DRo=o}!+xFd zw}If47UhF;wt*$-Oi%m+onv?97f$R7cc;Y}Q=QCvjTFwCC|1_mq9NWA94w5dD6+yW zrClg5DXFE9@Beb&SKJM=9Ad@MynM1h5DtR!UeqQ||IC$l7EFJA@&wg@yk8VvjYQ|3 z=}&&L=RVXjKPOES*|7jLQn5xDL}F-i*bzsR+2uw1k}DBz@TS&)i>9pem^oF8FqwSAsx{J%%?Wy3dp+JU@v`lB|Of@?ias)aT&F); zRIS{{R1$yINriTwjNDxmaEgsFe*J2|pLMg?Vso>yyoKk0X(Eq)j%zVlBVD0C^{V?y z(-umozwkAiFGm6nkfL(B;%}GB<(~`9@YngTHzb2&U468;%KU$wAwz65onI2l)pr*C z9q%uLi6UxMAINf_!tx%dI!&Nnk9ac?r?&DRCXJr$iDPzd@*a~j9LF@v7B3lr!M7cNSK;gnx3rw41Av6t*6(>BRt3`}ot)w}971l!BH>nq3mJzr+JR@k;*d zrh2m;cP{bdCC_JdlH9?)LkWhs8KcJ!mEd*fmn%mM{bQ1$Uf}<&KL|4Ad2`AHXGYX! z^~E$!rfZ4bD*;_yMS}NiG32a(qT<(yD?XNL1^lP2n<@rs#^v7el?F9EoU7YHu(EaI ze7~2W)Xe<;5Xh^8xR8+H>CPNc;EZ%ht!elUO?n7Uu-Fr;H|rU0_4Hjr-$y<3k$S*! z)Fa5)yx6UfuhK&A1o%pE9ri1h;9Hnd zdQ6}Crzc~-H@TBwpLQLArX@!{bteQ^lTCiM#p1oMTB8G2g>=_*p?a^PtN>f9)#1I) zy6&>jPrKK;z~vUIBsZs${u%=yx54o$pYTng+V^Z^a}zd?Vp^6@{n{JeEr13X=CRd` zqhyUe2flFaS$0cE(U%Sd_>BJ7IC7vLgctU!HlMtlUuBpWbinpb0 zRnb3>k04+H1)kSV>7IWJpm%Ay6I6^*kWaUkXPovYCdIP|rL>j5_qXvrUlOBAg=zrr z;;>lw4Ea0atl0{&s7uMN8G|ebK?q0RqnYogbsJ@0&)0RGP@MK33$R7b)>Wwc_-94% zq(_Gsq58MV^=~4VX{)sQib?1whm)O|?k8yPnN-!UHZ!^(&^L}~DkHE2JPR-*LT|=q z3FWM5OGq!Mx6qDvzP&e|`?~X(rZPozR&h$>`ZhlzmGESRqS*HKH`gJFe*W#mVvS-q z793FWH}8Q(AxU|}B~IgF?gMxtYNP^i_7pILLFBD$(6OV+>Ev8c+47tg+bnh6Ne4InC z;S-mEH^QWx_4g-JA>u*0@^a|q@^*#g-M*lrzDGQRKUv-X1I1~h|Ks!!c04PN9U7N- zj56+>LT~+{SXKM($soF*)RU(y&%6>(J4HF(^*5XUB_!Ll<|^sdLc?$6^shE-F`X(5wsRgVMsEp;UjDM(>eo= zuqF(tM?CN5-wG@|J3m%l0cf6I8)i-X%@#U~KPmKQbvW!TmBIFLeoa#;#lWp!Co)V$ zo5tO(tgs$}X8Y~Y=6Uc}z*bdX{bR43Og`Ugee!6kX8ENO551yCX&Cp~*naW?*x|Uf zZSGIzyfriAr^~iPEDvTYZkEy5xB~@l_F}Xq3F1)5%3UyH z*MSclu5Cs1Qc3jiTU&bZzWQ*X3a7l!{>Fn;cxo`uoe zgamoi=fP)@byHa?>hGYvOh_GO5c&)WrEST)Vx?m{#UB>Y2E$3&kI#>C)u&|6sh5l; z12XPZpC8X@{dd+4Bcg1LY}R5&cr|mSlGJmbxNM&J`#(PKexG_y3gl|}Efu29agQE~ z-d$(lyNqD^y5RW_Tw9Cc{H@=4%7uJNxlsA|2ss4oCIO;71P3<=I+b_{&VHEuuTN&4 z0Z$%Di?)7wSuqGL_RqOM(*A#&Oob}t|5QxrQLsP^3_IJ4P$7#=gMLJ&Rjt2P4$ zj3G-|>80`2!EK;zlHk~{gHXe=uP{8h-x*B+RHe7Led$azNnhxePpY2kM$Lx%)aTnc zbq>1evw#$=H6!QK?nUntGISTyl(p#CIO@oQE5?*FBSeL&b-fPbMk!DdF(NXhq{2jr zb%LVS$#l@S7b#}KqRhBKZJlo_({0GMmfchE_Pjb-ipxWMAeG5o@r7qN>CFp922fyL zJX7h0as@v>-lUb?8gMn%^&KvqO$6o0mx0jj5)7|4R>Sc@hgpHjkcI0}D^13|yW+UB zZLZ1!Q-%un3PL|3Z8F*bIktNK7^@=5`k7}PNSVmhb-Y&FGe>}Cp>~Tf!X=%X^uU`p ztN&s_#VKGYd+H02I|5j)%+bR|JAzmyuW{|&s|LphvWWhyN=%n(wVkS#ReGPnigSI- zzt&_jTTGVQM%>(#&a|U4r%0C^8k!snHy^fEuxJjdi@P)I_Ht$~RQtJXNy zl9C4>ssnR}bVC}!bPB;XdcVUe@TL4HV|GShx77MGwtp1E*zbw^20|BlN6HJ`-(SvI zbu2~lRG>xNegU(9b*}PtM`gjoW$zB_!9JBTMw4TUZ`f6?@*3~lsDFBSIotuy60fMj zFN@s_nrG9IXph2ef2pcIG-fClpP+bemb5RS#IkluEwH)evz8dZV3Ae(Fy2T{Qu=9b z7mb$UkDu)?HND5={(|3TY2ij|Nz$2-9~A=qDfHp9-Y2<7oFcyP#KQF6f2E}4{IPFy zI8=QVa*u^dquqy-q}wS>t+@qD#fC&9etgB{koiT*ysgy)mS`PL z95Tm^gM`dtcPCzzlrE#ACld}Yz-$`Z9K^H8`U=MU%x=3wKRoo+&oLutOmGLWWa_|o z@9Vo6LYHQZ$M*aC5IzjLWOh?Dd0t zwI3Me^h4T5r}+*%J~(T4m0;P-W+V6y!c)4+3uL?|A1wSHca5KR^l&*WjjeoTP6n+$ zECZN-?C^B0#hFm>LPt_4WT}zERBQ2wX3mlyBEyJDZ5M~i6?9A0vcHb0&i)$v^})_v z{$Ty+bzA0=FET`mOw3O6LitT1nWj&|-;9O+DlPsqyu{b5d+m{s;ZdM>mBDhUa|!w@ zexQ0_StI`@AoGHsZ45DbFd38tF&~PZ`>$n#j9pe*XOzS8SLP8yJB3^-DCVSar?*_3 zv$E&?L-{r&q> zhxXrlaoG#ssoc3He*|ZHDyf0dm6C`LG@&H&#`H{zzgcgn{%XsVXFV?MbxiLz5-R*H z4M`?2O_1b~b@p-~3T%DDRX|(o6z^>ClEsxVmv|4or+mch)8O@{LTU9S#IthNxSUga zr<)FzN7Od*OLKZHd~l4+B>yOn3uva2@Of~e1Gx6(khhWd=Srl&5WD2&^r|`$gNm@U zvzhDqXEm$;N7Y$H#nm<4ItlLX7Tn$4U4y#>Cj^2w&_Hl^_u%gC?rtHtyLF?DAKvf3 zI%D7Lv9I^4xvIu9XMOn&63Jidkke2Gpek20KIGmwuvENMK6Q8J_})(cRA3P9ZsX79Ba>>T$XR(>Nrrr55YgxVgw{p9@r_8d z-rtoZ;Ixz)qoE!4Y0FkCO!KDXv#K1gJ=fg2e*dn7RQj%4?2=h3flBz}hK!9zF>s6X z1Wbu755k2OHT4%||0~;B>Ngy#`Q90CJo$~>>MfIElinn(OCL#zP_O38+-Neo6xY0f z@n1QiM)Z-|ch!reC!U~Gn{vtrB?0y1Q~3BcdD%;x`FPa&nDsdD&rw)=El>>XO!?nDb;esr(V=#kU=jep`Z6SBtycqsH`+yi@(%cG9N1`O!!v zSoASm(%FWATm=9e;zGna_&Wqq*+^e~<~`k@@!paiEz)K4oDFk` zr7#!BX&^=$%Jh?iii{;ls?vK#Fn}DDN22vFOAgw_mUR^$wpah2b<4=3LNX%3jR++C zKE#;D_l25{e{-9`dD57>Hp$$5ZN^Z)xDokeJ#g$jncnh$z|9&|`taxcNz2Y2h2VX5 zzAL5~dAfHVT5;*;qiut%M2Jfz^NC=Q{E?h!=8N#~xVb~!x|^SEfrT(+Dj+|mBP6Om zKuGdSLjLoG{Qa-gk&R%!jM=vC^{BA|drtFfT@wY~W7d<}Z+=l%P>1i_*#{1NkhgeH z$lJGRY2ggCInX&nMp_ZJj8Nx@-s>);5H(D^2?RJW7O>VmS3MbiU0IX|_FWyaKt!pw z+HJh%P-uaj;M4}jd$08j_@?#sCq?OR>*0!(n)Fkv?J7+I!Q;}pHb31wFEV~Cw38XY zc;TVkWYpTz{jIZCFF@3?``q+S_19R$|LHLwf90#Let-lmc)xdR(O+&t7=DYNFrzS< zL7mH|^pJIdt-!I%wCcK&(2av|%CaA1NP?7|&Ul7wBv}IH7zA)^;!f)hUP(B4D!-u# zxNbhvez*zfS!ym6@A5wgrp~hNZ90O~r{9UnU{$<`+yPbYown2JMiXVH!{1?)u$FO; zcZgEW_kPu>dS2(F6SFN>JKjEbeKmg`@4V6Fe7lAxVwJo3hc~K@*Xt4;qp!bi`C9*Z zJ@SZi+DFa--=P>g7n(Mk9VX3a9Kkox_+?OBODte7kL$+$9j6#ejY=(O)nqN1b30<% zW9Wu9Sq9R?W{MaavlLig%PFQkeGNAdZawXrbl!||y4&@k8^9|;&JZZ}MIehmI>RfG z;Ei__+*B^rvleaWaL|eO5$u+4Ik+IV4;}SuAlOK09$9t|_q6Gbv&cWWW(eVQ(pmY( zmyk-MICZU|y(c(o4FW0Xgp+s@X14bCk~!}$m^@9Am}sl&Ju=TP!ML4iaWXwg<^V&Z zP0SyFm~Cu|&8kPeIFB>TLw4jnZS{tk6t}s2OB>4n*VW+~{6}BSIsdP#JC2Gn(V`v& zVA%u{ze$KrD4G1DIL(S``AooD^nt75cHiD zfoLDAlnO_-6qd^JljW1vqR&1=7E&Z<_CF$2m7dG_MgP=*qkATy`zbQ2h0=B1LIB62 zvnszs9yJ$ftVC3F+rxKBn`1M1E3A{s@KOF%uxF-k2_hNuP9$ng9HdzcaXS6a&T+vb z62FI6z-P3^=p=r4 zH->GI*p0g~?LB-_B{b8OOahb_+y?N4|roUTKxgc_4aLBesh-R?*A$Vnl6uL)JrfoTXX9B_T=umQP^ zf`(GtWncw|0Xf-Pa%w_PXzXPS=c31;C=LI-#G=k9nQ&hHneWPX=d@4%BZV~1c~$PH zQ%=PRJ#m+dW$Wr9kb;5Z`0PrL0sDf#@5SY>E?Fac+qd{bw>B-<=fcQF&F1@vPO#p0@@9jQ4zb7NM;OELoz{3*H@>LL@J0ap#g#nc%efm_QrHk#3viK*8Ctgx|3iHX zK6X67UIjuX@jNz{P_wh8vy}WIYKX#n(Ou#a^K0>7AJar~-S{?_;%px2%x-<)D>_lu zNqJP_W>5Gw5MQh&*Ta7CF^@E72rnWhpETvPiP@+VO~Y$OlD&{kPfumW9He zgJ;B6U!UXL5BZGW&asT^bTSI|L#`c0%Vq(&+@5ifitMXuq0VG7kBiQXhiUq*JG3=z zLQjAFFbjHBv72SB2@($YWfVqog=WRqK0aDXMcU|zCh$J=%(=Uqr|UDNO-doQ?Z#ci z7Rq?k)KENP-2wj$^3J_q7q=C-LAd)Kh)f!`hMf2fau{i&C!(K&m#}YmZPlVY?W>($ zV{t^Zdyb6bc!LCzUirp5nkVss_Kq?RyRstNU}3m$v~&IHL)eC$w;4HxtEUvt<}$(2N)>OCSqv*Y;RpqLtZ+~|DA{Xjln%C) zY;4{dkaZt${jj`4_*y`rwZVor#D_#nhKX68BGLj6tN&C+(HG*u&1n1ls=<-vkx|yn z$xaTXO0ws&AB9Ewf3*JdtN_37hx;(Ug=^!e-f)!5hy{r+*_I<66KUr3mdgl3<{=_#t*I3q?Fu}45Z|foX&Y0%f zv5Hk`L3zPo(equVemXND4rjCQDwO^mq34doAKXOmBOCNjG|@_a?bZ4_!S?}(;Ae6j zmcX_o9_BrMXMzdaw{OE)e@;K3UUR>_P)mW`_FW<*U|f_nV@jUe2Y;}aeq3%i?A#ta zk>*_?f$5+(jCH`#{DEBU*$t0G)O{xl7orPL#u{*NAf8xwF1i)3*4Gj6T7t9NJ$8o~ z(tTNN9)XaDUf6R!bqDIzISi)T^G=UE;GplqH*-#}u5ex6BDJs_G!u0$&-UHJ#dAT$<))G#EZZg?&HlWIiN7DH4qCifeiuK~WT z_lI~o0W7JN-yo`@xL zLjQZYyvwzYibuAr=o}&iAT!f1SgyDVgko2zm}giQitbK|NHHS;65{HmphxY zMOmY5`N?K~tPgF``4|Gvuy($ua7Jz9yBiodWexdN?FDoVP}H94<%5IU(&qLek#os> zlzT5_3Q9egqaA3@YpVK}tIg8OwZa`k@_FO-s`vu2HWSg9YJ~ucMnBs zGf;chaMVY5XX)1qR+OSA@-1gA(Jmr3Jk0o*raIFZdIL%3Aviow0?B-yu8t2nuspZ1|{qB(I zfS))|*O*|C7#GYzHKwgs72^Q9?}Z!&1p1~A$TV$jnBtG=c@Uk+ER8qSsi(>hLK2*2yGyhIIkp1h~O4k3t8`Y*qd*)CR zcoa~aMl~E%JT=9CS;~+;`{=JL#wkdHgCh7<_fn2{iQRgAZiTYup~9rWQ220DxEU+i zRveg!n(jpH9dSnlvS>!SQg~|1=I32_($GlseTo#ZXU9C!JYIcgS}9(A9x6>qvoJzt zfb6Z;2jjE|5V@f@a$TrGcEp92)IH6*Mn~+-n$u|N6tk7@7ZAR!LuC3YR45`A1X+dD zaD^G!3)Ehkiv^=>Hq@<00W^eg?n(bUQ;Y%&-Mte3Grte%M$F)eFmMElqnyP}6Z|$x*KEJtUNPjbdoUv06S7gZb(W0-CR3G(6m$?$B^qnbK z@fjxA72dipPoH1?4n~4&%N^&bf@<8Z8j4L1bE8l!L%SNw`P1$tH{od^!c)_CH){)11Nv~fTWjIS;1PTAzVW|-WNi%<}kAHC!G z>rII2A+fN?%yH23E*xu)`)@>}lnX<>L**XwTUwT>Jf?>KVSrp4Ut~Xc5i5iLs6R0{ zzrE8Cj!jH~35dK_KoqY(&8YZbFmwL&7=Vc9q~^s!52UfA5Tkmy_)L_WzGpC%41NXj zVt?=dQ7SqLvGo;jj(Y?$?u|goI2`D6V$>T2fS>UTtZO*>MQ`Tx>cV^?2!a|?!G~w! z|IZMvxcGQ=ydXfyfxJnNs#_w;afW4IF>~5EkINwMe9CYVL&Q4|uep7#(nUkeid4+hgXjXFp zO6?g5`olY-tL^LL@(`UfQBF!A)}A!t@LrLDO){d^K>2;{GKEDKC<^&h_c^NUIF zE*wdkfZFoxVQbvk_Z#6qyXV@SM>XM#fB})?5m%Hl)0Yo|BSXs;Of_U~@~N)tXtm zKg8)?MctXZX`cbp-)WfNXp%&chg-pG9n?`3@#PgbN%IvcJJJ;0-J)zGoRb1Hz<(k2 z@lsbY^;@f?_`MYpjSs{d_`WZLooJB`tBjv@SzN>fzDKdbvl_|gtjF{Il>I%I(J-74 z5>(13%$&HN@bFgz3zcl-W|DscqAS>ffL((?mMga5*ou>rb>533s{RW*mh&Kk1PDF7 zv%7l~2Er!izj8U~EZP5x^k1UHm1#I7f$B{2AQpAj>CF9BYkOW)OHjF=a?1%nXSPpc zjz-q$o6+7!XyAVq!)FTCbQS(|75#P?QB6?zQcV1n-}`qi|K zP|~TJlF;CS%eh=EkJ3o@5%NQSTbq9fehf2~Z_dK%XOEKYY!aTZ+hcFd5ZXe1&Ln$H zEUz6v!7i%mtC_gKbG9blqp8S!cy^O=RY=I1zu~cjoL+0(6{SkcO7$q}bF>{V*#c>7 z9M-4i=T*0jy%*J?MteT{r`iy8%*E`2>y zMwGz&9E94Wsf?T^y&)vV1IdISCff2q+I{}SEda&PK^rW=e}f!{eO7=ACkrrTLfo!_ zf{Iuchk-1m*%CQoz#|-`=x9Hp4c4bqFM(ZU6qq)81x}+Ci4BG-0GEp07tzgJ_`_aZ zT#-BNHEvv@Hh^7#-uo{o?!aUUgbDBl`_0q=+}~}VUsi`3{JrTbB#n8!=dWA zdb|QwO`U3z-HK3u#q4p8A;^tgKAkK(ZZn|83<#6BV7AZILE9Y@Zq24c2ehAl7onei z)DI4C_o=xD5Vs6fRa*294m@)oV zgpQ1yh+zxx$!nku6TrjKqw#g(JB!+!Q2#8nd#wcLuYNL?2IIWs_R@c3;4gO5h=~0#tq+;-K;d2P zO>Rau_)63DiLi;tT*Xw~1@Ns!U-s-_9XqVVwD;^ZUpLre^->$4>tip1dE@j?^^8g28VJ9W;Atf7% z!*~gfJBpN&PvV*}Z=+yFbe}suKu~Gi_Vec&!BZxDd~Fx#1W|TX=q+AI2iikb?=V)Y zBfOM%0R!_UuhaySi0)si6mf<2KEZ0x60<|4H8hjyN1Mt7>+}otyqENei4`}T%-Gya zJjhhzJER0ftkWq6v7Dk->)VD;+jbCzb!iEHW~w&3+C(XO9|5%)hFn(r*TB zGiq*9Y#O(3jBP+7x5?1epD_&!?-pIP9e!X{X$Dm~7qMAEqY#DprT2R!)D{=Bi4yX_ z`*8#}QJJ|Zo2hWwv-#R1o~ic3X7n>G)RJF&Ga|5}Ex8S`>8cEb5EA{t=RZ$w=RsK$ z8wiQ7r6X((3mQtlRx@qKV_27J2#=#U%G_+9E-sLG#8YRwQ8izG(m<7npo9BfKql|e z!01dxfNq%Le_P%EsHzvoSI?y61QE5A*d66yAEF1B*u&@6+ZXb!XZ3UBJ6RB7qk>TFBIaRfE2=kUtF+-)XdvITxUVS}y1<{OZ3WOwGn{@Il!4DZ0!kPD@|Gd1M6 zOJtzB_X>w9mb_p+=_J zDV-$I`n2v_o{d8(GoNC68Ao|S_=|`nJJnLo(Xe9vIu+^Q8{zZHqKWs=*TGM$OxoY= zXq({YXb?x`MwXTq>FH&Wv1TSTI(j8JsMug;|Cu^o{WK7o9yS;i1}?6(_w|3)TOy)= zEG;b^S4eI_#Gz{q=xlQ$z{n(9G-~#EIK4&+z5&=i@PmiOlOm&XExXq~{9H4Z9*OQn z@qV`sBr3E#3)gqbSz;N>Tzr!A)tZYBG{%p}*8L|tCC@7zKSllbhG=wJgC2GtIzSb{ zy-j+_B9}prq*gLMQ1tX}b+`U%=B&$sqr{TL-9-|=BtbI`9NA;jjzvC475Rtq4|@^T z4F!FT%vZrA$+22tPjTehSdvV%=}S-oVP^DBAp~oF7O#&Q;|I=U;3=I~P*umiZdchq@UawwqWBdo@5E=c>}>#;lJEKPh-S8Je&lsPTBT z(9N-zS0nzr1AvNPftvDv)T*oSiNZRJm1&dDZf*bjpX=%da6CXk9TF-@oOGFSNiVq*<1)tGd0Y_&nL%DcBrTsl9mV#FhneA%ykl)%DOmfQae<2yaNDfH ztWp^C+uz6Eieeeg$2#!HrAnI{$K8SN-2d3lzuUl&pJU7?kMRQgI(`jVH?m$ov*?gv zzoo7jdgc%x<4iIV%(KftFTs4}VNt0Jc6z_CTHXv~xm1u}@$_UXtIri3fYkXyHcC`m ztry;`TX}3J+6EXP%!oh zTaYKhE6T~D`4rCLqt2%VRh?;qL8ni(&Aga~Sw6Dm^uX(j0dWqxMA_sQrouiqo%dIT z=t_-lpnYD;J9fX2r6a&}+Dn`#AO@A(0InZc0jHiXSc}$q3#nJL7hm$6;E14Kepl$# zBDu=5}(siT61aJ!_4kjPTt%aDLSLLv5 znNe*-GtJF`0taf1{2w>aXae&3Gud$ZCAx+4#81FqYLm24@>^K7NXM1_TZ z$DQ|b(uM|l2PRJ4~K6B0nrxlboGrzFSJ z^Ek5aB~^|_)*H3XQa17GPI*B~heBKL8Lar1sG^L_JTVQlgrOgWOHAUCCPwY*%miCa zUjK-MdPTtiio`{Ixj3rgOs@F5yG0!~>=C{T8-FD@sSY1P*ZF20SEgjkEq3d3F1gi` zdMEK_y=02poe6TmrFsqit85C*3V6yiCZ%i^MOV6BpI_GwIP_2~gF*S>z(md$#Vib~ z^6o$f^LzGAcz-y-c)_oKUGq9%r&Uefj^)I&4Zh4fjw^uQyRLGM-M2EWIqU|hjA=0C z#G_wdTP2$OTBSE=8?>ovL@ycz9ECdX$v=T6?zU1 z5i@}M*>S=8vZxCoMWc!K4_4pXB)@k-+gg~?dV+DHf0VfVGn~L77pEqd%E_ojvbr~! z2bt%zC(4wpxUHTx8*-~($c$0`|3q7L?M?9*t6x-1f(O?$eQA~d(OJhcNPKPX8Yf&l zT6FCqBS?z{wdycd;!Gl9+-kDrZyAdVzV+~ft_Cxt8VqVJ0 zq+o#THxc$r)e#bf}yUZP61SaWR0(!PF>V zm)Aoh>q<;btU%6JL(Z#M;~O_vCCn;*UyCpTvuwdvFuo~eG^gqw=8Ayegal@@7IO46 zEPE$Hl}~tu1B>YXIDKX(ph{;TQR7+I@D!&u_jRiJ2ZtD1gkEy2#+GI(DQx zwR=c!wRm9|S3+bxzU(7EP~>f~YGBPjt&!*^0vpL2CcK2w;EH5VYqI9x86}w!^#Wa& z1B86c>*&2K)N0WSK7n#N13v@Dp;3<4Ox>FewX<+njk3pfpa~9tYr+N;Q@$LBx7W@V)OnR8hhX!_@R2tqoN2k7sOXKB+HX zQdLYBMw(zmy6~-cNt3gtugr65&lb&O9fSr;C~%g&nXh4F(_CfQwlUW-cVZ#-_TQKW zb^LGGsuD$^x#(ee)R3=+XQVa-;_As10R?v?FY$%T`sJ{zd@>x{2l%rYsuH^l;t2Rc zZE3RKUOp`k^&o;`cBEgiQGD#)fg+?w+;{NCuQ>=DUz5ELBqw^h}0lpqxWm=g0ZR zp4r26UL{|Ar*~W9N&q))iVzKVv2E^I*0e;T-Sfl^ShVQi*%T;kDwZ-BdWpsOT!Ga5 zhGF8jG8bkZ1OD&5PCJ~N??|jGF6gK0t@2sm#O#<{NPHoaIOs~v4eE8>22odI z^4P5I5Y6V^RdbZO)wm>fLea81bl4iE#EQBQwEF@O%SMdt12JF&tG3~@n>Vc$#hRiO z*ObRiuJN~y+nst`d&mxC*ENP7Gw(IK#5$uKQ@|`r#QLvzLPXUCQ+|CN`Ommu-Z22L z>*t?OiZ7RH(#7TkJ#ejWF*PC-d%|XgN?Vv$Fwso&*(`hfvslV_PUO-msnh4ZaFH*s zf`;QqJp%_X^C0EmfdkYQG=jE9^41rFtj3; zo_pdq&&Z^@x$;7a^6q$b7l?&>(iJyRA}YYzL%VnFt={T6qr?53Xyc?i%|<|+%8>;1 zZ=_YUCLIsW=KNZc2e;@6-&I#@W~i0nLp%Yghz=J7b~9j8Ci!79SEEBzRjGI8(6QeUciEu;JEB}@IpBMSS*ynB z;A)_bW158x|FznLB{PkYbix(v&QhkVob+;g(T^Jz@v;l0uSp!hiNOaBPffPyv!pBf zN{bAIA2KL%27fe*^2D$e<>X@4E6-V(-FqgRlkrhcN6Nls!~lvt*s(f3m%RKDaOe=A zrg$^eo{9fk{*iY1R!>*c5zA}b5xwR1_nLIV1m*jad&`bt|L`4crY1mn%<1C!>S8)~ z&68Cu^k%&P>%#}cumSTh;@GGIo(_EevwH9wrq}UCD_O`Q?Tr6)lkJz_-tx|_(lW-w zVCOJFF8wrmhjx&V6g{;&b2S!v&22;~%Y6j+h>BI7kUB)z#?5t{n)aDn5$`HGXnR`` zG9Dugx!}_&;eN*Bar-3-ZPp=D6=Yuu$!B=IkZ4 z)*u~u*qjDve|`ROlKoW3>p*)4N3XiroXow_taW>y>MS+P6Qn~6zK05iaq-t*m8<7? zS0SVwo-9ou=pphWJUMN&zv`rdBf0%dTZ%d~p*5JypgWb}wK(ScwvIHMZ)PwPy>)KN zYx9>$)p1&D|LG!-%iqK z_BCEJ+UDkxY+^FE^@bO1XqQIGqFtpnkL}{!BKXhmx#i-7zEu$%0h&pCmy>l6?!rsN zkc0i&z5K*nGMrS%;{9yOm*?z?KGazYU4~rF>(mC#?HcQ{&Sy1jB9NPZRu21vPoAXU zwFtxJ!hq)Fk;QDg`iQ1Z&R64M-U$F64Pw|xKg(HwImB-5gkNFb0W9d!K> z$0F&O9@8WJLb^>i@}NN$56)rJEOrck2!M`s{SWc6Sa6?EmaE(5)J;BTJVMR$3t2FH z`zSnB(h!=+U;N9?fJcd|iMG^%SEMdhMRC;B8^r-j+ZVwsg`tF=6WpD8SKrW^>Ed5G zA@9#!zQ3T!^ssWJ~rREDU{PL+1Ja`W8C;{YF??6Vy|>jGQ0H4&LMk=0h36R0JS_=^1n(Vb1lK0?K$o~eh9Q<+(+yx@?<;5wQp z!eoce@CIHfK=)T@LoEXB_Z~a+Pvp8;0r)sXkz_lZ=+ZxJy!X5hYxm#b^_$~dkQZTI zeM7CZ8nv<{CEJ&D>si9Mc97PRns%Uxj$UV|L`x`#A3nqhAz@j&k#z}?R((rXBK2n> zp<}=2U0|+IvN8^4uEtX09`8UA9m_Cl{;HBwd3Gt`lI?gdOwLcB_?Z$3re7$`CXQd+ z6A;?5di4XS0!cQ?=MQk#hiz^A3!BFP>qbI^qxzhI*-v3n4_wn6Hv_(Pz1{={1|WW; zVV5XM+l`5@;H?TxXJ1YbN?8}p?N6+%_q^+0N;LvwYolgb4Yty}6>Z87~gz@#NF zyU-cXoudY>`j3E;=<1{f5ZAIDRfC)Ut!X~puvpOaLDwtFXZ)kZGI$0DQQ zCT|X@p`3BatsZu#WJc1i_ic=FLwH*9U;!-|4S6W^5Sfs_U~PpHqA<`qI%d=XoFbkp zR8%WdaCl8YhTuQ9GdVJ>o>*Rj~eq4{w-1Q=ELL}g^*!~;Cl4a04+85aD{);9^ z1KOtco{;om=^1vji?^T-eVpWnul-=y+G`gcfwhVs^+xPhu$Y^`$f9v@{*qr`!%kA^ z86;}3A?gal7nhG*EE+m+x7}462SRzGgeoH+F_T(H*CkenF>-b8Pzw_(2b^;OjZTU7 zFCLg~^-B*`8cieT%ojGR8#O_Rg!RZ&43LWXY!Z<5Ii~#Vf7q1WJMbCMSkofCZaX6bW3I^n=Et){3EfJ?J{mWk*Olv`T=Y>gPBcn%Y4%4tAhjMUg%!3o+}TdNx^(Fo$Vpyo&_!eYAClzM&|9B zCq51Vp(UzpK@bSLL;C{Y434tjB;saN&3y2Mp#hnbcOc76-V<{2FB33N2_Jkdg*M0q zF|`W}ReSH#j+rN^;QFcckpz8@q_@3C&vNJIPVs*=QpR8V9cCuvz~;sTRBh8G{i4jV z8GWn8n+{q0;BQe0)2Deq&giU*3vdYQ4ujwdVXWuGV7u$BQd_`C_c|#6tC$Wq4vnP19%*OM!p9s+atR!Lq zR(^Qw&=@TK1V@r5iYk@rDxC&$QFm79U~Et_2gNvtN>S3RN};8%DvDE0<0wb?>|$L{y#0oivG~zr4KFUtgsX?XWD%* zb>4?`Ey-GR(%#7YC&u6JbqfVQlpt-*racUao+CHG+6eFeZvgy0?)=3&74JZk=^kv6 z!^i4c30fNMs9e*R-)6R zum<1vSpzfn_b|L=>(@dJ)4|uIgdgD{?w7hqI^0&X@dYBM<3l3b_iCj5>FsLMpvur# zg@YT$JUhu`4vu17oa?Vlo82PrKyJCCLqgnIW+Zj+;UGBvtc5+WK?avqzh2Vp%`XaN}_&#bHnuiHQb zseX#n0X(7rKao|OwuL`p>gz0fC+;kLRttf46sbkqn~l3G=YSg@S!GCquypgb}MrRx=B2IT-V(m=arx9Txm%RhCm&8@@u z(8Fex{m3D7F-aTVCgV-$(fr=%8zd9~VHx~W>^olJZ*sFy?3zsHuj(0l@zshg_Y(Ys ziToPI{A&12GO%T=;nwgKIB%LY&1pbzGoi4wiIBO_#g%)n*5e^p4a*{4tbk1&ZZ$xN zv%uqBW$%Z|epXHARrJ*oU8_1)Wx8@jolb$XZ!G*?wC6N#_(p>E2SF#v4KPF!4p)g-HufR1J*92=UX-;sdNIdMxECRb_H_LkXc zX#HwdUtjqMMA!m@`*uSwc?V)Bd=h#{5>%s|V{B2ubregke&H#pv@pyiSjso8w}0Sn zSRS_V!|F5mY)0v$7i#?<$seJLS64h{PCBLtOzziVrYAmszPhS+`@{>(Dp~ss^t)Mo zd1K?Oayv5q8QOV~lkm4o<2tS&yZfB1QR?WAh_Fll<2mXz|2&XGHOOoeivG<%+n!L9 zg97LgYsSBc2LHv3U|ERF$reV@bHQ-X$G2V~IG}B#_<6Lbi=4F$XZVq(eFGwTMKL>P zUOFJCVzny9n}@$Xhy^+?sPd$`wGKgI329OKVOBkeM=HJL@%-BDdKzpC__KgZu~hac zwEgFxXi8G%L+{Gb823xRQlrDS&Z}4Kf#yH7dAy<3Z4?P5FXpleqG@Z4$!NSLDI<7g zqACkZFFXI}s0G?bvnib7;OP79@3^aUIC=1KQ?g%h0 znlyQaU)z7NMkzxy=(0YYlYJNe>h*N3RU{mAyNFiT@wKg(!l?;C7pAxQ%e`yZB@3A>rqor zhXSDZE^s^Ae%|?auR8J|G`EaWvB*g)?NN=89kfP6r2GKA(AB>POQmpRiqQ$Z zQ$XjDLFr((YFhZ~1q*Zm%P016GoJjSucQlg{X5M8E13{0NZ>9qQVyvEh5DnIN`C}tF%YB>0No(o!>Q6z=W@p%k^0EWhtk1Kw z6pT?Q;D&5)qZeew<}sE8XFpluMP773UMxLR_=i3rydGjYeBL>>$)J<3u`ULWjm5HA zR=B0nV;$Q+m}I2RG44DDND4q6hGus&Kxy&lp>6#XMvRB;c#*UCE_a}u8 zY6|7Xgz{-Ae$@W}8k`tg=;4IYl+XgoO+u)(JD>u#4A&_CMqFq^jZ#B#f2Yyv4Qs?- zeb-fe{FU;8mn_8k%&Kr1Sv^Z8^vRVp6V&i3ffRpRD>X{s)!XMeZ+egA>*jYIi6O)R z?471uvyM$Yt|oWx6u$_ofHAV`w;Z<*?oX=Oi()&3_|4-ow<~Sf6xK%;+`S73W4V{@ z!YjKZ^Z8eK$=?pHxhj@qk$CZha+@opbzn#RKz^b$@FItol~CJ1kUEx~UsfV4?7Ual zR$B3XK;(k>_?K9croM3sPm!He!4Gj`A(f6r-PwzIK?Ra_+-Mm7t9krj*w9vL=sEu3yaiamo; z=~WWKhhJD!Fwf~u0d5>R4FMiF)&w7ui)_J(a041+#%X>v)=>a+U7NjO7tBgCB>34A zUeA@NlEZEMcP8K_8)d5l;Gg=lja+`C<>3bBI)EUDnNwy5e(Cvd`itkdR_D3;Ep_MZ zxT|RjZHy!ID_V=+oUaMmYO1fov{nYilk_(h-LW-I()rn9x{e^9re#}sg^h^G8j&{bp^_BHbSu1MyC!G-2 zhedG)U3T**8wq70PY5F1$R)oLmKhFbC*(q}CA`c0$G~(}N_y9ndr>UKG#A{=ICJK@ z%VN4L`@zvhK&jK`%S_O6GIg=&J*daY!WZsl6gE~r!Z9b?KUlbLhVn9M%SH8ghLZEu z_q2N6_zItGuEjig*U77o!n3W<;UST4dJ3ujhrl~HieZ*#xaeRkuSXz*$jR(n2zX}q zD(PKpW8wz8@sWxmVN$18V%thc7Ab=0iv9Ae?XbB!3oO)xR;*6y3Sb-gY0UYe$pw+g z9#G|7A5!f&4croo%!H-u-}cr{EOFq-=i}KMdV4PD=!oeN1Q9p-JY(wT^qG*gyQkf} zaa9pfjso`_60GneWa;GSbE>2h3r@oK9BdVYM06$N_)h66l87z$Ch>F=?2-uiUYr_! zmN@P``vhjadi?e>le*#Vo+j1ONpxvO8?^N~?7`=C@}@TNi)H^Qu$@ltll|IdN5w_F zcS+{ED=w!N$T)jHSK9T*BowLjnNc=A=8GQ`L#_$RxE>?uX3Dz6e0|e} z`&ybQc?`u+QZMAaYown`7yI3*WdK~?R45L+ai@U=$|i(asM+J*MQ%4$L-$|6m2RBM zN3I`zJk>cNE^lS|`n2?Rv~k?{H_V}lYv!djmt|@s$rnir_4UBl6>542?zQJ*7BKZt z=<-8$`WtcRwq@|8d}yAU9t=6U=5 zUI+|_0=>JpGyL?Huql95>7lK*jbIYWsz$!WdrqAn4viW1JTEIL`ksj zxekDy9Yg1H!)0ZXTpXqksh2fMpm_D2u== z#&*|#>sGe-&?!SiJ_vv!w#yg7?o&aW z%hn%;Fyz6j>a9Lj<+oROuyvvE4?CG#qP%x0l&F&T-({bXHHc5)FTVDXEidVQKJA-@p`I97sTm(nS%e+mCn=>BJt)ZO|q_8m7^RA8omb}rOT0Oxk1 z;#*`);%S*=@y{~2@5jd2V3-IRo;)-jPubLTsC_?h+FsZNE6z9%5FvXJsUcrV?b?u? zT~n_Jn+`Q+t6fv;iq|l1%OB>8Fhxuf>)U#>kVg6mDH&*n#0YZ+8%kqnaXy|)S~wk( zcgYH&j~Hb6}R4s zyzk;s5*U3?w)@pgar#bZKULPmjgpe{_8s!)tQWQjvgU`Zwq zA%d0+rGo=E1#jp?Uzac@6DZfs z!YtNN?K ziG+*~H%2ja=xBU*VMnc>C>Jp_VIobZrmrM2b_S+XJPkT?=3_sQArN-i66)`skPuA! zZ)ai9dDRkRWq1m5z_G2$oaXl}L6Umc@9#wCeHFEvnkM@~06DipC67o*Az2Nj$^6cN zLRt9s04x&EU%TW0JvL21TYe9Db#57`UT-_ zC_?-cA|Efh?k!pi!Xm_L{YB*`Ob{62mB+N5K+EC*DT|@>tO;w`+G~LP zRh9}D20g-O9}B}H_&yPNm%{mE{40N}q8_MVE&c^6YWrFkAKNS@KZ~P!;+X^DgdgqM zOUE!4KH%5ndq&mF?e`J!^5SYdIZsy}n(D=Fj6%M4K*xN&J5=08%h*F{a8~Y#gYY?Td~01DR23miJMdH9dr{W-eDaLA5{oHehfA6?tLvfU)&d6 zZa}Msvtvs}UY$4kMoz=(oz?Emca3C+KEN;Gr(u6eV;`nM?F#J%W+yeP;ZnZX(*bs6cW`f}93X6KL z7y7Wpl^n+y&hgpzTwT4r?rpj)#Bh!7wY&$D?{6z#bF}b$Xf<&6^mY>mWT-RYQ{0!N zF`v^yN0Rakn=&s#sKS)Rm(JTC$;ENIFUjOil>qgD;}7pfa0}!(?M52KcH~a#w!R+;^;v` z1Vjuq#OQTacLE=^1g}868Xv<)5^y9wh>z64s{_Hu{XyWeDiBc?^1uViRe*eOfe8H6 z@XHk(TI3nPz9sIX5{9!@%V=7)8zaNQRdQ`^Qwv3J16CTnP^I!D$W0lNcW zHyL00(Yjw;ooSu$7lKu3vaqaJC+U9dIdpEyOYHM%;;A&1TDKUbPMT~3kxw_RUK_;f z*fBbo0ehjL8JfC>P7B2-0C|N^OwVjp`hbTQ^i={g3L8_#f?ppW(&A`fPl*ORoQ6J^AzpUl_~y z^@r&G1*h>%J)B|M;f^`q45b&gcVay%YFre~r(T^BvY7eehx}yT3C`q0&{wZu^BKdz z{{5x?i-$AM9Cq z!AbCV{T)xe?(p)h7g)m)h=3?K238)gh3|g3_~DIVbgytw%sz}1Z&?P2V+csJk+Y|V1mZ8d1hLtG{N4NtjQ zZ+Jr2%of9YoZDBjI0VAVpLNI7@0!`npoV)7@aEW{y39$;H1Ekk(@sh?!bcn8^EX?~ zkIirId3Mc7d|?a!?6pl0e!)Sb9C#0@5C_Mw{S)qm$`5RR^;7hWA^NrN9zL#!$d4?d zP&^8h`X+OYh~~)$5df4NVyWP1j+j41k60pk#Y{c;KpM$|;__la%0dMLUUfG3rv5oT zHY_>@++g|#ed8y1OuvBbQ$5|XOmG;60Q{D-hT6;SJ50{Cpb_SAnAn0d=-YW*d&MY z#k%e6>8M`-d}Sz_fFIzo7w|7UVL@DRdIpyIB2+r0!sl&q{-F){;;pdQoqMN(XQ+Mj zhoPn0aow;%?bc^^#t*L(tDLUl8w&)u1=XNB+`+eB%(T6Z4P^CSO&m0;>deJya-AHx3Jyj6fGec~mv^LD!twZiYkUz`{w&;6^!@hBq=M-#!F zKSB}Gyf;0eo|K?GJQ5cbEUynO$4H{in^$&ht)aP%{8!-XD>M~)mY=lCa}mB-8SlpV z%uaRRPJQqB%%h(FA$t4Z(VJUjO)8ShKf<4VgL>s1H~6zJIt`BBKEqHRW(bG4gTs3q zSZ7G%(d+U(YSkzM3ACQJK}hwS&U<;%xnvV(;*oV!v!q*R87;J7I{eK<8PJ zR&?;zlcadWD#`EPURPJ~)$pQoR?o$k=I+2>iiYEB;Srx9{c=1Mi-$-Etn>r?pmDS~ zB#psq@RJ|kzz$~T>!2pyRU9j^bmu?qPX~&7z@b0A!>l)UQW$8| z-J9r&Lu!7J$3cCl8G_-PbZxxPTbc$M}HHC$`I4v;+!&B>Bp- z41#DxH!g{GlvU#e_)20!cnulkU-5=X*aM%w43QNoth;ytUoKx^O#l-PKj0e^D%`|2 z*h;t#)-V$W!yuTA+u|X3Fcl(zEkfMV-{~=(%Na(>dEtuGk0e^XA~Z72WROZwGL)J^pDl(zHH{=W!{Nl8l&^#A<>0 zJRwxnw9`wPAp6syfp(nCOetL?r#ja23cfJI4PxyMuIzhdyo1}(>)XPXufra0Qx~*8 zJlYZ8@OubVcAp08o*v$>)*RX6@BIL;^`3xNjarhtu;a8nhJ*7*F0VN%ZKYx25}Y@C z-QzG@Km7XW25g)t-I+#s7W+(A$X@JCf|jNKyclA3(n7fAFyI9^gyWBu@a;-PS34LU z!Q^~Jul$)fA7{g4;MshGtApqtNb)$3(9!*wM=I_hN;l@WXC?D|KPJ9`5Mi}@TCX!> zT>OshZg!#yeg}SB>u|%oB{tQsbl(T6o&o;EJ;-}1UOH@Dr`&$~e^iVK<5c*kaI|#Y zE%@w-llas&sU9yR=@b1#L4QwQqtpD!!S}y&aQ$0RMbH0%1;z;K|6qbavy4yqBcz=D zXh{bL(ykFA3A&oDWMJceJ4vyBtR%3$Tu zd4zu!r4!lCr}>INB}{illA07ttdhlTD=yS4ozt5(_tRW~Nx8+}EZo6orh2iv$3f}gaePz1%VV9~_e0|)uRT4N%v<@w!)=B4 zT(DX-@Wv!(bug$`&;LATs<3$7C!N}L)}vv|@nqrHf`vz0tm`~$3%lpwjLA!P&6u*9 zmdOml`yrJt@};vuzKoN!sV7+4X^1q+-%AA=Q%RWTCAgB~jif+Qunk_c6aSdNLa1WK z^ruj#tV0%lNuY22wc3Z!=wzQ8Q=OfvF6^3fd#017`eKzgw0wpKHYT84!Y+^;~P%YNL&)8{o_aQzs*F_&?jICsaI*6Z88VM-89d?bu_ zuvvwFE!vDf%pYw)AlogI)dHoc!t|epm@O-aG}r<&p*3h*gHt$uUkTr>ELpCV4orK& zWWErCx{!6pALcXvh_|;$OEwbH1_z6~TqZj$hq3iUMY0n@eBjGMfy7t;0He{qQk-dHp(w$=&hl<<_0g9!ukq=Ohmu zNxgCwB?rG(8k&ZELXyoZ^nPYB{DD22H<3V(8 zqi7ElJlG&9&IrQa0UAeHL42NNd}ex9yNb`PN%&M1BF|PT@i~`-pQq2((c<$iVh^9t z__qGyvw@Jeqv3Yl#OF~Y{xKSEA0j?)BhU9$zU0}#SK{#@;n9aYJ5nB_36Dc4k51rj z;&B{#=O?A9(TdM)$j@o?*;y?G8xil9>F z`)~uro!GR;E8Qan(&0NwjaJWd0Om0QG3UR{8#CuT{@BCI8~CGjo4C3y7v?X#)WpSo z*TnfyBes?!*agl=c!f81>5Z>|FP>CpR9}_rnpH!Mb(34vXz3I>7N+oN_A$(Ezcbb=#In&W~_TX-J0`R4v%MiMHx6swg>*%y`6MYp| zESP8N`s}%K@R;w**1S!qyL&b9W0rG7c_;i>FQI%!NPH?znQ_$v z3p_-^jUR+N++ALc>`Ba%iXXY=Jl!C1{ppBF92ms?Emw@vjwzfg#-Ggqwwk-=kP)u# zD|&ao8EDQ|LAICI;~Cw$6?0JRFO)F{wk4kJ=ul_tz-hB-)+YX1vIBols?@S)bBoMT zUOx+W39nX!*J6a%pY-0Ok2sl|rK*b@$b*w;lC8wCgp-?=VIZ;`M7{;5rkiJX_YJX4 zt&87JNn;bC57P&%TjED}4W6>~19r!0!@-*Ai)b3_aWb1k=-Dfxxyt-9nnn&uV=KW# ze>$MEyviI{#Z1xT33xSh*W+aM&-Xu{zPF5PEv<*q*yNl25{xIzA#sJyrZ?xX$6p#+ zy(e!PT9I_8kaSPebc;*r7Q$j>UK*O{(|vNm8jbm;w|I?HpjJuBhpx%{GV~A*)&}4F z6cy>&VJ%mTTf5LRG8!sCsD9H7&vKd>$M~FHUN+^tGdJPn_YedAOU8l!*rnhH#oxW3 zw+c`1vn@#L(PCr*p1x`xGV}9^@>9aZ4}Ph#|d^Qmo(n&`>#4+Oe4`QoNPgf(p^{hn~%9T4LOc$=TtOygC&M=vNHvI^;6JF}0?C<)N2xKd~e)DYirwx6t4<|O)*2r-? zR0X7lMH8E_k;?6ikz>12EXItX*(Ba2iWQgRZ6fhrQY=o6*Hw;J!ZIFbN3oJ}yt+8w zYOv}v!AhZE&{Nw~8zH5YX^t3)eFmMlG)X@(Ed5XoH95~e&cgm#pR(|c2nbEax5GhC zp5T%ACo~-2Oa^@fzLO;!f=9{Np9vK1F@c}p)+hRld_LijPr^Oc8E(Cr+h3K=I++J@xpU6`r=m|mqExyAK$K@mo3M)&indifA(&XynXB5w!-*nz;`&g z^+dhKO&grsdcHjtri?3SdtmFXl*~74!EeK6@L974Ki#|mKVB>OQIEvuxIL;2#7g}_ zZco82{GAI?W&G%<7SEx`7CN%4t)`p9+10`|{EdmQn*QaMZ3xM8A|A~AGN1cT7bu97 zKZ4T&{DE1y0Dqj%L>dy+gAK{-TCvQ)6Q5(XB)w6JDy;1v=ZfSqkGMYUQ<@f`!u1I^ zbPs2rVgXq3U2{0YD{4^Q3z$cW6~E&vR)pmb4wK@W!@~S4WHwdg#OL=U&m)H{f>^$v8ul{?QIBTZgfIj^$^zU=H zTmSRoUwWn`dG{cF*Xz%>^%fR@S=nb>BWLGXcXM*KCp$aOxu4Q%y@O*;>o%*L9C|~a zUZ-+$PW6)h9-i8&?W9R;{Jkwqfj6Yyggir$IJ1p8JFt@}MD) z)0w%D%?`#D2(kpd;{6nTkV^Dw50XYE#C&UXEOQ?}!q18ng`wcb3_0?y)2~jiAO>8> zznFq-K+I$zTk4w(BQ%hiM!ZHE*@)Xobi;C)A>a?*k&$>1evET}b^P^;n~cxnx8&b> zk%m~dci4g4RBi}TlCt$g3u$?~umcr`C|1i7Qx2k7ZA;9$JjLpmF{sJZ;2tP;6RaKz zK$j?1gJ6#+R$s8LkUBG zekcYrZ&js`TG~xbFECX82yopqd~nU)ngGS%+`-`6tbLQCU60cEYZcX)g>-%f0nr8O zn-|Y4^tH{HlsvpZQI3gZYb^VwV-{V77QceBA?uARVjj}Q9KPW#R)&$JQ_cp;^`pJx-b}5 zW4nTg5Nnx-C^i&VgI+*m;aehx0KHe(GEXIb#FM1oAB7lvpI~1FTS}jVD_Bau4W-|P z@i*g2os8=#PQ$qh=5Tf8{|ML9a2k)#pnBexq$TptO8yK?+p9$&Moiym6vMcEltu^o zP6wJc#reB3uBSK+r?df5xI4@_6HRdUt9WSC`q4|&j6d{1H7 zf7V;{A~oh-qBtfpzE@s_z9jvwtjK>?<^$!Ut3u?DhI23FaHSYdagq+RRdJIcxD+4l z;nD~`6=CKoKTf2CBEgY{+)+4*?}&L~_9$)=TG^&|a>aLymq=dUk-YMX><^|i!9ddF zNt)twTawmJ@*c0~!HIO<5ITqHb1yo!yvOWix^mSh#Xih=D%TKh1ap9w(m%${rs+Q; z@9mS`V?SRtV*Caqeu@-7 z9!OlWdJGNV34R0CP>j5SRri=Irme7A~(~_5GC|Sh}!F>{As>8_4|=ip^g{fdPVOdhWfxJ zM^w(g6s9P~E`9{t@hAM%4u2(Ioq;#KKU99-l&YxNd}{uf2zDzN))e7h=lhZO!`Q{R z4mg0Ft$6wbu2XOac$`mYynrrz4);K6_r-VVr%r@|iO8QFp@4AqCMa>9FkAeK0KGsJ z_#EDr`lo1F`Jcx0k2?;IYoT5Qu6>fJ7%ntki$AW#yCY!JN#R%ovy8XJmvJ6mL_U|H zC@7%?D5bjc9S!B%E6#{H38JJV!pz<#!jmG5ZxgUU8+k1N_Y&@`X7sq*6`06` zlP(dA9Rs&;_zAcP_qSsm+&PJZupS|nuvwRH%1dK*FDacM%Tc?F+uGUoEl6!`Yu&GYavNLg{_I-u-knoJo7QSOs7amn1$T#})@nn3wUc#XIPXAs zwWsAF&z8}02@7MKDu7J|#wkpAUjcuuD72=9I~G_Nh6i8)_lMzzOQy2jg`V&$744Cm zIL}SSFk;7*`gq0gjJVWF{TkVS;Jboe9&WKSqjLSC+X97vw?~?+>{247#FpR}K`(P# z?8>N=P;_gMA>fUOmrO3XB^X>@0#iS|Vv%>x@UMCuON6~dxjV-zmTgUt{9S0 zpE>2Y_!v7mX9gT( z>&9tiBDxGAHYN~#;h*t$NDUr}{828g+fN9#lw!kV>=0=9m;8Hz4M)Cc55;l`wuE9M zke`HsnyJYzpnZ&yNQdr770@;6S7cLwV48> z;b`7gav2I6H{VLiDs{MmEEJ>cR}Xd;(O6x!nXtB;XFvYy!@WV+X^^=LZiTKKL9~;-=Cs+!RrH zABJ2-eZB&b_Y&iFT!H!&K8AZrt;(C^RfnSKDT-v`oQW;&BrUc$xi~Y@*ic`bksLyt zojAQlYnoTn==3_JeC0hy(tL2QfB(CnTe$*s_xcaGhaaq1369HP8UD0#CH}Y+mV(oU z9OxR`x}=?5FVC}Jd+?)RhnNF7h8~+6FMP+I5s+v4s*q< z&~YxuO6L)qmd)f;c626j;A)J^>z?BWMC>$o=%IQ_2t@k>5+^`Kow`2Lddm%DPnu|wN8Th+tf zZTZ;tdjqf`fSFMhXnDoEb)Cpa? zO?(DztH#IG6vy7h6#mLUdcO}nU5XVq3_uL|0?}nqtJJZaVL<(9Ia>!o*w&nB_3;Zs zTI)y7Ohe~Ktrh-o7Y8wqgddER;4dB>!(kAi04t1KKDph}my|PI825nMp>{bmP z)=x7*9aCeptyN~iQ(uP-3V)du!j{Mm-?vNg*wo-iD_h6xhMC#G^vI4cl32sRE@)Tl z9(3&yB1!(QP`j)_9<+C$l>eCoAkB=i3v%G9E6()>a4{l3sNiBKmG#J#Y3TYWi`|wp zy)~3_5jhyRq2K<2k{k#-3kM>Oj1T-(;mX3LtzcUARyW+e4f~ye8)PG!w=GuSRGUyHM zzJ0?p@mOFmCVZS7fM0++_|kleJScq#4{GE}IiT7ns-M=f%!5QtlvJ@z4!Dk4;O63X zZH!@Ge^CSE0%1lCtJ~Gi)h?;-P%-s&qXvvxD~j7v`~x%V4@tqcsc5yC~d#tkmJ+Bm7T=MpEaprk4vlLrgG&3&FuB_FN8-oVj7&27+JG9lr ziLJ6GPUJGl@1fTR4Z1#*;Lj#ywVE)YRn{azmuGi#x0Iid54~4GcE=-oTSTj+r$$Sh zcX!hTYea+>rOI}Wp5Aih9Cvq6f1F_Bu`sop&0BX+9ow1fTf>I8`oTv}>@z^ESrXqr zoC_&ZdEJCLE30mO3-X1q%=`7f@D2P1l9*xl!MT&K-vzw=KJ$xH z5@&rN!BF(31t)|&TvcYUzsF8oFgYK82myDO z2}82hJ6K0I3IV({YEWGdx7_Ubcn7zYhFM?UlWI&T4L9*!!E&@qU{(2p;kz-f@pgwx~fA57;Yp(RMX|N-$_ozEQ!Bqxv-KN zl6WLU>dYui^5T_*fYjErR_ngj_bKY)5gVKi4(k^G9A@XR9lu+={%e9SK}+h=@Yi)q z@`pRv?EtsqR!aw_FRvY0)x)J!V5zz3NmJ64QPztGv{+lUSX~F#62WC>wP-lGxnjk{ zM!uzdeB!mq6Xs#V!o|2??zlv48E>C5{td>@1;yfpz|9km_TQ9LA+%0_f4!jcjT?+= zkh3YJTzImRu6AgJq=eB@J=;Ro&?nLL+@ey>r31-Hu1x;6@@eqYiH1}`v#V_+!(Quo zx`OKE&dgmc+00Y3frId-@it+v@$%c(@cWKBrT;l7eZ>K0XN-?}? zL$HA&!2v%);_y3cg*PPNeBAo&A*gxD|2V{K#<*ac@8GKgrU6>gBfNXEI7YaJ$1AH# z_w*?W-IZG+Ebl}B`(0=ppm-WqaFA(gZ|K_%<4f#Y_Qh2!7`it!bVY!gyRV6Y+p(@H# z9SxFtmwIq@4T4}Lt%I2!PwD?M|3{?pa)1Y^+7IBN|q^z$)5*F>}-t?a0K{9-jHjM-O&b z)To!o!%_fCI&V*N>Hf-76}!Q){X7Rv(D0bF?$+vR?7Mlh7LRhU^^I1|uN~_-W?J=G zeTCZ7>NQzEqwXO(T;^2L+sei)X_o2rxO8Emv&h%q@*Gf0#(>C{@d?`(edC0VUs zJScl@J)bcAeCNPkPIjJ29!ir7@lL&pIy`Iq4dK&R~?^0T2hyl9-i&GCJym_ z7K*>H?;zyWd(fR(pV(^ayoKAc5?5bFQv1ffR|JuKIMJP>RCYRZ8g4P-2I}9*a1}rJ z+D0zT*>X566g;*L>*b_s@)ZyBY}TXqY!A1zZarpmXk+bO;8O4l+y+%)tPN{t?A$wJ z;-1|!Et-#=BpGenCye*a;OXIQQMaWOp1Zu1mh=5PLyA)qK9NPTF@HCs$0- z_ax2#(zq{Ur}|B`^Sm~^Y??=1*D$w=Rjln)Xs=-}TWxR3f(1^>y$V%@Qi+uJv1A7N zJ>gwC_wM(eUP)k5yJlL<=PZ})nSk8$*3axRGKrS?S%oeexcy+5*R0FggZgT$e7>yL z;!B--%=d81?9qLut4A8sb!O+#Vs%<|IaQ^jU|jjUcfT6D3O*k>$TVI(bHdKuqvozA ziHm&_E?1o-_bJ#v`xL14muK%&Y>Tb$F@L3BmoKfINS|T~pDL^%T9%*E`ph<=E7Q77 z_Z*V1l^kM*sVDxuf3tG^mvu=ME3;fuiTDJbZz5GnZdj9u=%i{@OIJmV@gOsdygwG% zQtc$U=k+?1XuyIJB!1oI{a|e|KP!z@ood!lGp;tvHHwRG!1F2MRd_4r!ci7#mE`u< zjVn>NdfBqoMZG8K-68q3G1V~X=6EH$>e-h8cCZaRa3qw%&)&B#N$ZatEW}lW{jeh) zuSH0DpBbP|lGncmJpKAios_>`L9B^Mj{Hqhrh$aM+%t3gLzosnR?b^TXXji{p%^{BMMHy{MY1y_(Q7lQwIqx z8{}?b9f-(Lp{3)jd-sWPhTQB^Amn> z@bttg0e#I=3*!Ot#u>A>7A!J>s5(%s3b`7~nT zx-F6{95Yxkcvt1Y`0gVt;MYUT3s=~YW(!Bp5F%-PFsB7NjmZu4$HO(fYuCBVU?#HsP-2LH1)D)tb_saK&i#|7?A>YB z3-+wa7CBht%1tSi@v8N&z12nMCN+%i7*Zm2x>J@|o*UDe>rOfMYb8i}wT8&N9^qAI zalX2n8z*)B;^QTun1=R*eXiaEhbaxZTPxzKZvwYq5Bz>-?s<66uWUHj%6|B&i8)U0 zUk>g#%D;6SQnOr8yj@`Fms3_Po!~USTDeBvI-j|1r!1RG(|y5yX6vZF6+SoJjd~SH zXA8tA**bnFn^>0(*M!*G_?Id*dWA>&B)^HFUqXpp6JAv+#xr}>YL*)|n<=&T+c!e< zIQxyeX1Xht)G?jeo{`^_K0Bb*m-VlG)Wvr6n6X&2B@U@cO=c*_eL)7avvG&BTbW71 ztQK^90*J`!soaMW=M8{+D!jv=4gu<@2JvQO(SR6PK+<{`hxqg6yFtaahJMJKI)Gl? zew0>2^p{F%2>ppmVPk?dJ|~ui5W?INLYbQe#B3AlQn_Rje2ZyrSp#%B0d&9;KVq;m z;sK8e7T`A+#@$dMJPP_^5RA|Zk7WRik{xKybftVd5`CbSotSlzAL@$xBQDV~xqin; z{ZV6EHFN<^SXu5Q)74ph$Sa^;HO}4enYAzI*Gp`7<`F)6NqlJHLEO|YZZA>J^J02% z*vg;v^%9l?!}@b*1~XrEa;eZ+bxhR#qwEVs4b?sJo*S*h8d2+=Sf+3lp8NetObpcf zR`4V`8gF?pVsDVH%aH#2f&$yIFQ5Swfk>!@x8U3O8eV_l{;eywZr!~2n9A9M==%iK zIcYUcr-%=VVd466HD05K)-TVIzz1iZUo9w3WwDXu;R)fzljcF5iqz5Gl{msvkQ{CF zX0$y9+1O>b%$RBa$r}PLT)X0K(_r~%{27?qB!63BR^xs(lUlTCw&C`Jg>}cwNI#}N zP3iAvKZ)z8<{n(kUyt|H(biPj3PZj)X4<_1_a9b$vbwIcvl}|7yH}^q^KEP!wr#f7 z?!EJ@2LrF)a(7xVVAKRBPkfsFbaqM2vG0XUJ1KSXq!NM47H{S}6d$$LZ(Y#4pny~!dvOnP*+|2UV-Fr2W4wj; zYMPI8Bp+W04gWv#LA#>jRF=6>wquw9r(d~zR`+YveYt~U|Ll^3!)~o-z5Rt9EmcKl zHQImL*Lm(o_S3n=iA{&L%oh^-4Wg-;%%W09 zQ!}@*Tp?{)H0EK4plGP~_2@IjXT{bj#{+H39dEOTc!c5W*Sc+Rbm-Ey`!-waPVA>X zVD|_jApOF;X^#)vrX;=EyzOP~n3m1@j7!hxC7l~Yb0AB{<^Z!jM@ABF55oc7hscr~{BdOL^iSzUM7 zT6a-B?u)-Z!dLOq3v+AMy?4egvFY2b-FJ07JR!YBx3Mjo_oQ{xnR&o&Rri+e+H?|E zOC^6@T`&V>Lyjza)nHB!FAr7O*q2$Q`Oq)0WM3+NgAXm7iI3pdY1?4|0#t%|z}zA< z#CaVCbmF~FaSWr6adl!gHo!+;HJsbs(^FkG?q$nzybk-|h0Q<%<>oGg3gD8y180e4 ze2RI*o>TWX`}FEal{f|N@J{#T>X!iK5kLQGfz?$KPfOwjnc~IAh%>~XrE%aLe#Jbx z%Kf;SmxTcQxQ5&r<#x#?Yvaw{l}xobyv!fc<1WNPa~)nD%Qb{r=b;wfc^>Z+<>9SZ zz@6mV(>|NHhImqE=;P0~KYt!E;KE(vE-K?peg#Ag=_lErZK5-@^J9}qymRMp>vQLf zM&oKco*l=mM@q#3qj&yd>K}3rPvBVg8^I3B*ijO17masF#*UGA6=}TOLh-K9c!$jx zQsBkR8!nn)N91@b1xHRz;~ll2x0t<0=^c}?BX}_^;vxxl+>GHnf{tKe1Uq4o?qc=_ zefOj#26HHO$}$bbSDNnWLh0V3*cll+N%C=rVrOM+xZuxm6gwwl#|dUdvGbPcGB248 z1iSD%9--Hs#=9uXg~3ypw(N9*U6SKH#?#qP%wmFFmg9L7{)`m6B4hp}AFnBPRepCM ziFcl2*JP}(;AndHx{U22@upJjhKxPLBe^WLKf!LwX~dFztYJG6?3Ntw40#vRc(-Nj z7M{#`QtXb5oyUtgTl(%@8GA+I*-`9XAxzH>A=rHx`$FDjX}kwAc0o?#p^SYaSTue2 zk<4>3VIXsXb0gSeIbM=55WZ3DiHtoH1~acXZ-PCQv9biKNU>)!z0&wA`+`X#*mD^x zfy%N^!HQrnWGu><&Ax>j1bZoAh(Vn36{qJCO#6QS(O-eRPp=k>fMQSX+$~ZBUpU@* zMSy?H&e^N|{j%I40&GADq4+8Oh(F`&hjt&`xo7YG-TRSwPc$=@t3dZBn))jrC#vzC zK!|&?oo&4F@y>!=63_SrA@(@o!vi7RfA&>)-k#Aa?fl?FdQWScmQ9j|+dp;(^`S$# zF81^Gz68e3Z#86A?O48gN|S_n$4^gfwX4s3^?n2-f1lU~gl+`&vHRb3QtTMmGWcX` z$5&Qel3Gr;w(ixTty_BfBpd7cNsXu2Jg^^iw%3WnF81?V4asq|8+X&8!Hm`w>SR=` zP<3^3wG!3qmrI}8@aW*owl*rwl#Y$YG!W%X^LLG_AoWx9fAmxAh|?_u^qT28&+kcq zt}c%o9oWU36H4qma9|&t$0d15mbN4>R|yS2l9&J5PvJROu=Rn<6J?uv88aOmd!)u^ z>n_Y;Zg~nXlT;z&>u=cP;e}s1?3h(8v2By|){()XOvU~9X^~PFrmwgu&F|Qdv|e*b z$P)!ik~8;H;{M%Hfjt8+vd`F_YdvEbXVbGYf^) zUTkeIA(QQ=-ha?A5V6J|gwMBJ0&VvtZ+y9rLRIH~?xMh&k*8WYXts85nc?6H%B_2E zy4X)@-*K3e-QbxLyLFgtasLxb^++strOX~s1kuws4h zCZjbf$2lz_P;vP_BYEP%KADMil z&f&T2N{YD_iZ`FW>n3B@NxXR!bC;}L8xeb-y&Io#Ng9l(?$SiI3U--Mxd>;MQQ zSP6oyqgaq}4?7a>5v(M^Hd0KDi!+1S9t108^v~Z<)98qc!!e4LHe+Zb`-;1)N)Tm* z)^dnqzc|DeS5**YC1dkB#C4(ZTx4t`=~IuUm}{YU1L?bNGPaAv8$dC48QV#)X{sbq zRx);kyxW<^^OUj0B;E{~hS%?S1e;Ia^`;m-gMnMar7NfZN59T90-yAPvJuCMK)e?| zR)kvvF1g@}-{j)A^gYEvE}b7J_v_NV45z*Lfw{Se0j0v4Ypaa>qhD9Si?#JM>=FO+ zopW>XfOt2XIv2-sMISUT%lqO!_(>0Fe=eusPW35x zgCvio>}u|~%7K>QLN=FT@7P>6M1{mMl(ETdF4vOAbD@~@?q;q(#as);>qg&old*Lq zURR2_%h+0ijZ!&_Whi4i$-9{}o~MjWC-KJ6G`xPtBiLm6uD6UmL`c1gysPJZSZ|WG zU_SCkuE?$82@St${A9(eDu_6eVmTlra?Xdy?>qhFeK$opDX%2_C*gyHb3iG$@j7~& zSFvxoBzyy*zt8l(K;Mt1?|bl9r1TL|EmO%UllLOui0^ebeo|*hIJ23)SNw(eo|mGh z#1{!a_a|R8{4qkNbT|AZT`&F!4PQ>ex0(26X?QVH_$hiG(OTmTRgNkQInooxVo_y; zz&xr|QunmrKc88Mfx`X>g`c>s&YGbYMvPujPUEZ@d~W2ZRpkwr95h2D$iaE=Sprqq zN)0ckcD60qrd3;8XS>+8Sse`<930BDYSr4o!7i?CR(lxSvB%+_J&yF~*!@V)o<|hQ zj^wxaNIpG}(jxpLxP`csrJ$=frll_YQC$(hlp0_lS_lXFLw zy5&5X&tLkVGphJ++1}*rGV1cMw$t?GH?$qTsg{eg^QenM+t1LK+t~K_LBqX&NPzF- zY@e9bqPM-XL;b84{e}L{_Vrt~?BU?-P_ISH9K-fM1=4k2cBAUm8)fh7N`Ka<(ddh! z+&|y%fBooq!i_28%pF8f=Z!ss19n1+M-^T68eXn{!h~Szss)Eq9Wy1 zXAR$6Q<7loDWR2ibo{@{k?G~^(6D8TUJlNV30WEa^MC#C#9F^{<@zSk)~`}I;r}4s ze+!!W!1gk}vW^#R8$C}l8X?e=83`(~|9Q3@#CTekeNzUPpYno9e+v$LoB!1W{Lk@J zICusWP2tejui{!4e)(S}u6_)B=cG8{4xFsJzQiju0iru~@Y8RDQc9>kxA z^Ed`EV8zcujRQYBlVjmr#11 zL{ZE$%;Gn*X{wP7uYN${GmI7gS#d^HPZ}Fqt^jH+ek<5InPl#0J zDSdfWBp{Lz7t@NJ@VquGu}$;JB~#Q#y{-+fmRzoCYxXzwJLPw3JDv_k5{;0XHI*6v#s8~ zU1ybQ&DE=GYIpC3sEj6%_dLmaJfA^}rX&BJd9O-D)`ca+1lH}qu|4Y1zx?}lHEXqN zSF2__Iu?Ku{94Xk-4NL!Px{tBwup|HvD@CN>&BK@GwN7bWv{DWFI%Nbtyf?C%db5$ zF>OJb`2U3eDjh|B_7M4YC-S8}C*q+kI*4aZFU5b_t2~4cD#OCnVIf zvg(wOP+K_@rsB?(s-~w^tK2lTYUQ-F%9WcoB_vU(Fq?@-Dv|<?i`MUo6dGwyt4JDsauw5Dx8IJPjjZ3ZOlG>S)S3n>Vmfwz{^bCk!ipz@ikID>$ zUMKNad`VRSXM*T6TyUGbTZ_<>>L(koQ9!%~uRDKhy08qtJ46mxf$mN5_$KtP(O587 z8EKUIis|{zQu+mx`On4#RXu_=%NvPkx&?drxyBkQkN?zLocM$2?dfx8y}#MiY~Qw{ z%45xq8*6I!=q|lChEFuQDX-D@;sPy3@&#kO!QuSbGv42=tGDgg$(m1Gedo^Vy4`!$ zrun?a@4+`!AL*R7&U8{nyfmy9a^HEjPgh!XZxa0UipFtjBERRHqG*x0$Q6@wGSh6N zJY@5`jp0Nem3;F&!IXy!1nZ@$Om!6EwQk}FK>&Q717_tY)n=n8A7B;Gf5UgeXOB5-lg`*V>QKa%H^-!{7 z>9*TQKCbzIx^o(2`6!PDEIhoUREI8)caZnBdSRqPD=-CRVg;U1CV%~qv{Ymfh z&aW>Rh5N>#VmT-Zm7n1iu{-b2o*@NcU%hR+t^?QJzPq|!kKQEz&4tf~2LP!+R=>t% zF|T=_e{z)0HGwxQFw*_U3MFsaPi$D=sF~e$e)*OT&L`UT#Kz76@5CQ27%3=OLZc8zWsVNcZ4Cfapw!OzymTx!XgYT*Yx=3rGSNroVFm zc;NN;oiI{Upfo(ZqjS|k(R+_>=v)HvjlG>mI=eVE?wUP@>^*3Tn*^{O15_yAN%4U+ z*U$33*%x4az0Y;9#^0~^xrV>pn$o*ZuZa_T_31rDSatonXtRqOpV^$E=fi9ebB@T4 zaYS*#`(~BBjE`0*L|n|1@~H|jJlKfO;#tl7d#eu&k5n|AoJFRJ7S9KSa?;*dwgg*O zyjO_$SN2f6LtfIkwDO5$ro-Z#d8L*Wo3ubyI+`;$SW(Y;5Pm!648Aoc&}+?Ca36gT z+=d1+e8KfP6?b(U3ib!uTyIu^`Bb6o7I2tcz0qYzzqSb6uk}5GH{W1A0&$tD4I6OV zn%BmIVSEkA7Y4$Nch$9&z9P2@05^JYHy3O8&Xrgpl;!y%dB+&nAa(`2FjrWP4Z>j4 zJGNv0^^R4wBHxGq^&RhjrsKgEdGYsj)ZNKDw&r(~TBVy-DZhxDE9}GaK5eMSR}ahI z4K<|q@m%BdG$ZaM=g)S_f2Eb!hYoZokoW7iF&Xyi1Mzd2bsr%qQ(m5 zXkLC1zKrnZ2y5+|%QORy8NAGpD!*f!`^P)#(d3=)dy820|JOTTy$3683%%o>x`NsC zqM(RJSwT3${ItzwYLj=`Ej38C8sbg7*-Gz_Ra!myLm6BSOY*;j@%9_*<@*m^BznQ>E`yJ`2B3nI-T4*cxV4e`CGxeZ$nF|N1^t55B2toBdWrxhjEW>RneT zLJS+(1vd%C~OTIBNSv^XCi#t%{3PC z^I3Z595aSQ9Vwne#V@nErb4*{gNp>)N3rD;lgj!l$&0OA)?zlq1c1{DYA$Gn&_H#Z zO0nQB5$ey<3~S3yU?=1XJE%Yn-HC98SqPbEIaT z-`4)7ZQYpC{xsJ%d1JjVYyL?a;4?yMTa}GiPFgYZB5AHXa6+}&ToCi~5>{gaA1JKa z&Q36N-_A72yC?N~Pa40eh)pDAvraCXmcnFpS#@z_OO;N|h}6`K8`o4&UxBYsN2oT7 z(=k6UVk^9zIWS$A%#PnKtWsY8P5oCm(`383Y;62Uf6CKbHu9ws8u<`EQc!+^HK&^) zR8jowc7BqRbA#30vct0Xg3~ZR-&c6c-h3G?%jjW?-bV1 z^HGdnt(QvafO*eF3@dL=G^qr;VGn*k%-8=F)ZarAAZa;k8m#H2_=T-5iRv+p+0Wpe z5VL15MD4&r_P%c2_GdFqwi>#N*=kJWRRN`{Gn5OFlAnWI5ixxdX1kbTb1gA%Dc(F8 zD@WcPMX~wF`8Q^JoMH=PtOv?ePgkxW*g{Lp_8P(L`MGvjIXG9sx_eJoP9X6X%kgT< z?=G>x=(_}4Dq|H;ciS8E-BlL+b$3dl*lLS-sU)8G?i$OyIVDqUt%Mg&#-n zSC+Qf$K8Mh-1D9J)z}F;u^Sh4y}+Hs+lMZweEA`CPrke(UkOaNT}($@=O%1pI_wmt z!Hyfa&V}oYGo#!kNDSL!L{42l5)VJ$@e_p=A}4@IOh)E~##1XK zZiIQ@lJ`X7>E{}LnBfqmDf1@A)u=hj-Orc2Z~hO7N5eI?B3p^xKaoq)PoZ&nkry4| zK%=#EcCNsmVK3z80zVYrs!(r;tzGka^@rHnq^i+R#HKPU3ivK{6FPNDsN03gOx`Q| z_kFV5@Y`hDYgSO;Q)mctZr_KNUs~w`pW%(TmH%=GfI)XHx31pBL-2#;G*9md-JXv5Y9(p zWI((We=LcAhs3v~=b8CyG-Tkd^=Db0*8x2!Jx)&!PN!$!xw*nAe5Cj*&)oTn!BDRF zE04qT^Oq`8%9XNuqGFh$`K!y8vVKf{K?TL&`O9%`KKTnMs)C|P6w5?a$X^}JGK4dW zG~JQz@2P6VNuoqy#1 zvZ7$Boa`>jP*^@+{0|whjoI#!1iD650EACaIRM&$bFE|5bS$rCtz+|E70l*CIFz5O zsGz8TIE!$lbnb@QUeQRXgPobpT!xT>9hmLRBk7w<5t6VsvzkM~W+s8Dk)JE}=_qJX4&Oxg}ksR+>|0z8c;aq_e(e4)Pzcy9~Al@c?(#fAFF)-yoxASvAk9?KEnJ zSt7CqpGt@v!84pBeU}g!gI7Q2KyUmNPvk#AFZ>Npz;mD@7VtO+=?f@-!tVTBkzZjm zyIA@r&lJappdysVht1!x3ra#oeCXFh@=czR71$b`t(B^GbVjN0T|%Y*+nH#z4-pTn zCWaLUhjh(f{H+H!@uN7{e>XXNZT^#i{dYHUabEbOX-jf3X0MhlmO481WPS1Mwa_;I z1D?GG+F56v%PQy;z+?m{+{M2I;RJvoz2Il>pO1RMuU<@X9mfXs44;C;>2x_JozR5<;A_8-iDQJ zyhcx)0`;JHyKW1oir;Npdykq_ki$MpX{;()YWvw{cme)UX6NbD#*M8?`g2@As0vm3 z^lOlqGkkbXVuOBt@BzHHpU{SFT<650%2mSR>*57*r30d+P?m@KWnDT@cd0g z=W)q={5v&5;{U7`G~|E9Y{ORAFSKSC!`6xHV#CJSjGgd+?ZX7JeGH?8dxp`7v3O7O z`%O@=LE?4E3idx~2veYF6&Qz;E1khfP~zgBG}+KRm}7(mxTO)dL6kQagvc7}V#Jda z7<$%^i((O{6ecV!sIZhh&s{AjVu)eS)3W>>*VY_cFWpgX`BDtjTEbjk3O$7Nzu!M6 z{$WnjbsKQO#bi2;h)@NQgqGxseuGB*Nk(}g8NvjKZiXS5xt#&&!dgQvG#7++Ty8r< zBj$Fnpoj5HMKKlO&^e|eb5@AWo5l1MMxA;srp2SL#w%7;RguIxR6`9=Gt>rkAf;`p zLBwm!qAn@5ziX9F$C`f881Y*2E6C*AC7P2M*|M+%jhBAHZPZCTfrWORc%zMD)G+p6f*SN{Y zK!;RAt#^TT$<0z%IodYq(QJi7;3@HEilY44CL~UB)6}(gLL9U#g%?EjJ)6_-Yz}1h zIoppM4o&{vxg&nlC%iC+e4pt{;@rEJbGGlZ-YpZy-fKFTdvqstP_L}S(FOj4o8HUG zOdQQU>Xp@S)Sy(uBgmwB(wWmLKdGE)?~{(~7`HX-8D{rE;Q^=J##S&K*vyD~{@oa@ zs;hb5rW8{wPslaL7M#QQoNz{dhp7uJ7N~x$MabG&zKc-0!yM?JwP9>1lfg`iFx(WD zvOes=FheC?05*@jO1>!p1`W1+KgRUF*!3J7!A$0svTIEBy9Q0(w$KIK!@F>|>sRrrx0yO% zbu*#l)kP5ceYvM@IzE~Iun%(wA7X+p3wK0T7vUFp!nJF70)DY*5qLuPYgh4#i@mRc z%ff4rdI5)$*zbi-+nH&i+$mq<)pw9T`DR$x|H77DaY6Xb+^Tm9s@!Q3@NcHHBk+@> z9A-K*opGS`O8gqnI{#O8&O-gGc4i*hOFU@hUUIw!KqFp0Ci9@Bo$=gjcoh+f?h?d7 z&iQ(bji66DjTd~?>1II5YZ42<2HY3flM*}+?Z9=FHQW=X3R6L_zlyh=z<3-qI61>7oPeTU0 zos8W%#F@It0>T-aVHs||85YCh%{UE~ZpIlTJyD-*=F91cJ#95Z6SWvL4u&LUA2y+& zS>ATuj?EE<=Y4_b$x=!!;O!*r4kY!(Dru84V#&Y!&8C!^!!nYRnEFyNe{{Y((A2Nj z$US?KsGJ^|)K+)F>wg|lcEP`G%rUnS5#U7qVXUYQnh(f}6Mita5)};x z2`9qXlGpM!ffLm!CzhmNVELZP^j?g`TWgFKZ*Wq4cW_dFmgfe==o(PECgyFvhSw+( z6B!$Df)5H&jvs`nB>n`#QfpNOGkwqzzUBzunA;8b2KcM-N&ZGQOG+Sbqau;!10e{A2B{sMXDGv{|XXc>|#Zc2Dpik z2Omxp>#yX3>3Lk*VLYPiprSoP8@ikP5 zrn{5b|F}C@109(g439M>pms3c9t5>R@XmThR1a?pfjU8Wdoa{3p?Jh}6DHz~?;gFw zVQ_0&fq2+Cg{+p;Zr1Ju#(iK~N_I?L{!DFj1%IRmH3cw7boMlS+TL;2OAhyrWurh zicB!91(%kw#qnd@PKIaff>_$QW5_9v&@R!>jRY;S~U=9()iV6HbuWOLOzrLkU<71>g=%m=ri}T#rxT6s*9n z@JeAdE{$oP3I-Z-ZNf=DZIOqxW)DtU@z^0?v_V?&tOznnRRV9=yL!4ed@BVh)|XaK z^T9Ty@Y-)>Y}6HO0NYgh`m>S^W~>akn^#+3f|SjxzZJu)^DEj|Rjl~+N5w)i)+2^J zh!|Pcg~KXv(Fpw`tOh&apJ5F-?LWiPxQhP_8_m`DXV`eQ|3AYPvy=WAc8m}CR~RU{ zj{gj^;h2AhxpL3{8Kz~n|1&I<9sSR+a%}s5hV|fv{4=cIe|fJzr~7Bv7*7AsuvwhV zKf{)>6aN`@ls)@Lm@^3*Lc>lll}uqj|Kq*$B>ul>US*&CGwcoL|F1BGf^+?67|$*L zXPA-;{b!i^ztFT|XZ|zH`rq|PVavJvGt7=#@y{@OF65tK4qW&@!yNxh9-O$me}-xP ztuG2^_R2rQT)5`{40GkO{}~p-tN$4m!M*-xSfzjKydp{A{?D*U?9zXRP3DUKGi(}b z_-ELR{}MLyzl6kiU&kc;Gi*JR^Utu&%)oz!?OoVGcqDb1gM39G>I{|qB-&OgH%vd8`zM%tWzhK=T${xfVm+wY%Yq|Nzf7-@6< z6$VOf`#-~M*h~KmbLD#fGfd0;n*6+W(*PnCvXBcU7{uwrl zbNpx6GIqv4!;b!kE_EhhUNr0kV=nhkf4oQAoPW~1%0BpK7-@6<6-L?|mw$$lHs_yV zO0LvD!_=JfKf|p4S&wL&^Up9_&hDRKcHD-4hLJYspJ5JM)IY-<|BGClxcq;HY5u7% zw9WZvmLl7Ie)72Q0{z8^X*nM&b=2t$eHa2gszg-G9Syn^?Iey@A^bzQ zg!kh2yYQ=pz_nSGKJJ9chtJ-R&<{opMULT(@)PChJ9*eB`u3sJKc6XIoyl`~AmaLkKfwjLRmzN{qz)Rg!LzEgSAk#TUaeD5kfDovstqg3krO$P#LO?Ow4cudsT zk)A%!q1nZY5IWu)Z*g6-?cf7#{UORcb#vMxdo?CbMoh#J$|AptAIggJl()vH) z+{(XQx($yWQ?PdM!nG5VrZnj|A8+11ch`vH*f1yu;M9R%(mr~G_{SvQJbUY_=r8?U zSgI7y7Y#s&a6#BIUty(-r`OCXLFp>Gz1b6$xLXls)<8f7~mTBCO^g6WNB4hj`H|Kt6g~zLAsO z?Z#~CE9!}#akkz$dYhIlwT&p3pP@GyD}6HmEx=7soswh za@9MD>?F+;UCvk?%X2#aKt>Z!wy8(Ollf$AH0KsX*mt6f@fzZtMXIb)y%X2N`yuCM zC+MDy+k7Sky=Zh42Tlq$8hl_ExbK9(RG5~Rz{XtxpB|U1_h=QlzXyJTx0mo#q3^k> zX9+?Vq59C}Z(uWox_0n)grczNdD})y3ii9;y?9ck^2{!#RoTjT5#F#svL8!~&y=E1 zucxS?iU5&I@!EH70Hb}wfq4eR2VQ*m18R8RgGCUO>j9;pO;k}}wIu@H;Y57*2>yr@f3Z!& zv4B57S$eMoQVtRCQ-@j7UEyGdYzcoS$ip+UeFL*;la@MIvw>rW!)a&)l_LE_!zKWP zV6O<)YkN;PGhDQA+mCZ6%(jjH0agV^gi4Zyqx#c|$UslebEOiX?h#ar=+SdZjda2r z%Oj5EZ{QPCf?hzq=eoT|ju>?_T$9_!#YTiQi@NwYbb7E6;VItpAm*8(eg4cFmoD94 z#|~|!2HuKH&VM)bdWO%>BYAScF8mqQMC4@JDWa6JMU;px;}9fTvfI!g5*oNcHZ*}6 z(E-9y1~GUJ_Q%7<;EhoB40Jm3!p(E;1w2jJ3*5)!Gx+vd{HA*T8b?Kt;e@i6;nLwL z3-`gV}XZ?cs;&m-{|S28RuU18P^9iuNABFQzkAfKdMW7In&Q!9r&PMXmOL4 zy{OI^?+Cfd5-Km`K=ZF8;uY1OXNdU4+!IxZCn`uJ&)iVeKhO>OLiZ~6`cHTq*5bFN z@n%?W1GcaU+#?){ZOs>^D~-{?A-FQmO!Ew=pYoC9Vi@Ao`f;k zdCgR)VX^Yl@x9w(-6>D>rj*zQQGX26B?Wp7z4zN>A$6u!Cthl!;#tW*lB~sY)6&vEZU`VHtg$QzKN&&%~IZWbw^+FpF6cJ?)u(O($+j zch)(%51TY`uQxv8e+G)~cmd8?0RcYCaKYwEcw;AK-0&MYm$Gk7TsdqtaMLf~^=B`w z$5*d~;9kr)F+E3wlqwZT6d^4u76B+`8VzspB(5lwg>igR9(4et_O~C2ds4E$p5!OE zGOZ}josG{Fmz4MDsj2a<^q4Bz$spzx1vzr;@58Cu&zgNJ-KRM2hL1nMKQgqo(V&2{ z&`ikg;}x=O{KAXAx}{v@{G#Xa!%g@KUh)vyoUIR$@D8fS;~xWrqN_jQgBvftlk8fndV#$CvCaocDZ*SZmI-!gfulXL6j zremF*+Ne;$Th1jfa`N7hPsfgVHaeJVnuofy@7SeF$M#(ipy|fvd^^QEdY3Cvp5F&c zlRBf+5*;QAWy&it+zo!uUaY?#6N5|5;N;NtS=Nf)>>6I|SH|*TfGhvEL(k(aA z4L9^Xp1c=N-ct}Yp?9Qn@nHpdzo5!_qfv3Gpr{y!^v(IYJfgJe{u?dbi^JD7BK%k| zIIY6B0f8;!pjpGCe8j#pIP=KBvVwSau<@CCASo|T6h>1B;4Nk38bgPwKj+L8?_Y+}$KR@aY?T;+P>_-CVcghqzl!s4{thtzFg# z#UsDYd6d(`O&1kPaEK=YK>37{ymqM2I%BFs7wDX zo!C<4UgEjuI%aL>DtD{ReeiT_*R5TTy_i(bazk$n>6F6rLdPaurhb)V_=L12n|Wta z*GkB{c1?HSDovW=>gLPH=kJj=+jM|F$S2)E-&sjF2TkAAa1y|bf$K`#@~#n4qVYO)o%ySK;}K=5 zteb0XRd3(nCbQPApV8#-{`w9|H~0N>%Lx6KCHTh0`AYZ6{uCA~&J&)sH2K-Yi^(BS#bpV_YXqV2E=leVTichxuz!Aqxf z8UJSdSx7p^5Vwqm=O-5|>APk6;~qk0&&SiKtm+8{UP03JrT54XQxwVQgQYqqw^pK{ z$RQ{isVo_>nz_-kajz3-6QYy_}Ly02D09@;wpJhc|986 zz3;vFb!odH*UW8&;xOUUL+V=x%Lim@3$Y3&DJhxSGcS+SUyNVX`+ySwbtpc9lB~Vf|X?CZXsjj?t;;`yV8@2wnf80YzIns?z-N7b(*(W zHp5BTj8ioe+ed|b06*O_7y~>#t2kb=>ok(^w|V z0{N14mEBPif=+EM^=Qwf^WMH-y*n%US181Njcghj8y=9vdu?56t@URHdZ1>`A=}=@H!>S)<~}GB>7=#g*}S0sx;FXmL@+p z5EC|!3pFB-!3s;K*%Gen3&xMVkmZUWyVgxD9uul>8Fpi9$mQl~)UAHJZ)D4;FKqh+4~Hdt*7 zTwY7gt><7~Y4E@WztV&nQXeVV_>TAG{TQAZDBr7ngtS4SD2Cp*?iNJbn0PmyW?N4T zo5=tYZi0e?O;-hgLTZbg;@N7zK#V`cfNh03CB0OUt&8`~30IT_Mn$^eoA%rj5`t{l zhpww848Bl*b`yw&H$olGJ|L&ps^@yeJ0rSKdf?tx+zA)&)@xeZTB%FD!>jfkf;u-E z9q&E8b@H}Fm{y^)(0Q6KJ7F(Bf)~dy z#l?EB1n~}gdNsJI6DD1E;O1u9@e~iSTF_hE2>>&>j{!n^SpTw>yJyzi?Q^=~8(Zh# zF|Jio&bt(zV=fHXx6fbLy>F+x>pJ{(&EbjG_QM9%ozuew zN;&Vsm(Jq%_>tBZ%7J$C411f-qwr^c##_+xC>K`>xH)s=#twlYovWm^EYc|>=h+m) zg`HPR>KZqxm2?yqQn?eJhKg+_GhE~mlnC+8e;*gb{V^`6wsicaOgDQsm*G?TpY*{O zeJ?=B@>k%{TyGz+3=7**@U|gL{=`RplX^d#G^O)|*W=FNO=pre;Y-&7g&#~l?VD{g zr58lcnNUg|H~%GJCD$z!Kh@%GT6`@GLQAgs?>sob+E+)8yn=+kvynl0Xhv*yePu~n zE@UtlNooi=;Lzmv!@EjtFm308P4jtiY@Tga^$G*4xOo~v3}v8dS+EJg-#zW3)8k5a zDyebZjUVhhk8uYVC~H%9bj^_~VQPcSqTyXOj9c&?+TmI6=QQe6D$f5@sl^Fxi~o6ckFX+Frx~( z3Pm?2pM}J86APC0+cf=gx8x32XV?o0l1?LGwPGP{(~%}VP-C8PM8vC!RB>09QIMHP z@lYG?sh)XL&bdd*}Mg5YY@#}KQedtgqP+HwXAHXMM**eRNC*{B{e);8`vab zz>zc$9u>^$)l7X`X_cBgo7Qo2J4?!FzEnoWj)sYZuIQV#lc#s@0KKKbG>~9cw;9JY zg~@^qe8R18?*Z-bKI)k{i)kky0Wm#<@jQ}vb2Yx?c~vOwUn!L!&S|ss{3MnT(<|bG zERK+L<93EMfDrqbsA9oI>yMuqyht$MMJ(r!hldd9G_nhI4EE^|IAx-@a_Ud-{BIS? zVxwL64a{wWzhd&RAwSZ~1N&8F(>Y6=4SxPvl6OB^(>t;7Wl3tC*>4!p0=(Op+VnYx@{eF@)JAxy2PAKs0PC-JRi zEmO|+zqM!2CDD2oc#Af^0+}1?PV~SHg_!40qu4(Nnn57W&Bgp4K{+YA z)B?Xg_yFgp`Kq*+pwWwomn%X8LsYqz;fYYwFRjwJt(h)L?Jyqw%;k4B#M>~}e*8H| zIvf2EvM#l#Jv;xU)*C*;9&ON!&*P#W;-7@4sbtK5knrS6#}57+scv>GSz92pq~axB zD3D-`X&fg{9>$4&%8EF!g7%jy`?|DR^=>}iUSl)fHt%Srvx^=);2p%{e7t?LkCQ`2 zR)>SZ5l}NCcwon@u}K=ABuqLF6TahPn+N7!=nrxDO#ch{1K+}=Zy2w@uh)0GIP}OH zP~d_$M}}VPwjSJ8AQ0Pq#ZIZup|Larv?@6vGVA=?PBeljs~MxmY--_b%9Fm82E3WMZx%Q}l?!m(peBp!H0Lm4nv#DSR6-@BE=OOfCxfSXmTj<758#IL(AU3P1@SfHhLk+;7L`Qc!qe4wooVf3EmHOp-}ombXH8QVzs(XaOPW( z4yl99SDRtIXCOr;>ky-W%4MOvdk9qh zTC8c2xR`{lvo-cGr3+Yx;(cF=H4TgLs2Bnl7)?SYT_sIONY@%mck9O*Li24IH;=_n`ZuW_5E_v>(OGfV z`n}@^c< zXmo5m#4+M{l6MlT7ZX?6`deR3K#v{6_5jx@H1r8Rw0HQtdK#}leD9<6Q4elh(3}fr ze+KKPpB{aFgsMUXAt17A!~J++ULKx*FsWPQ4aH(mO)NO`0*c}5Z{Okb6Ms5QK~ z>o$KtvsTIeWiISE`?Tqq)ok_m1T;d$^ceb0?`c5m4seEy3Lem=WLbZzSs_!CdL<98b$m=ox;cTCq#K7RW_ zvpB5BG>F7JM+tAJJ@-}m>o`Z+|EP{6Yr-++L_#vn(>q8%oSw35 zapUGV887sCf|s65P7q2dLd49qZz8mBDrc@aGdsC8$sC|t2q{+5wi#)hkZB=JoD7!7 z_P2^bXHbJJcox-udR!atYd3b*d=K~L<43IYVh@5hl)~5Wi?jGuATG)D+cIPNfgOva z@mnoI`vx7CZZ<#j5%l>OwO2I}QZaOG5&<#rVl6fGmnwu6l-03M3O-%K*C7eQ8!0B~ z41U03;Wigoz>58#O9fZOdY(?wIHSCV=uLLw&Ij^8=t%3p7JjJj@#a8-9q;kT>r8Jlzdn;Ei5*s?up7!M32ua&OW~S(AG+@Su33xTc7w|C;71Ru<)vbcZ2m+@SCZ56fDv z@RS?RLmsp?jL*Vv4~;qB!p(JqVQkGxkG#ojkyGpBCgYtP+w#Z|S%>q@i#d8~)Dv-q z$Aug5>sY7uox61D+`bddYnA_Fzis-M(VH@*e%s95wBI%m+${TThX1MG2B$N_qE)LE$1`%aP8?d3*e0P;>+Hym$IkXGF{E2fk>?&nPU{HI zew1f2%`6Hi)^xxuD=LV*s?F>ju-&hw*NDJM5%t#A8`I0)u}%~ohQDnUx@yNk#c|G2 zJ>So~4xhKGtvyM7p=wlTj3aAk)-E9wUDMm3W7nLf>!jn zKqtAFm?_D(M;>~WuUE z2Rf*vr39?W*fGfkWy7JgOiWQS}Ub?uhy5Uwts3$1Z_%<7Dm zt6MWle7|9ZGD);f_b|R^T}A&bMF`c8>m)s--a%^tOS3LoRjT>)hsDj2%*Kdv3sYAu z*7v}l+q>6pT%)~i5dM1Ed(?!O?9foh7*Bm^RV|!XtKo?ULRBVbVy|kY1crOCYLlJS zcZISTqUlXTh&iMDCY{r&1Lh3g^a2u<-+tK;Q1V0L#Gk>+YZr)Il-HmVbuMZ|m0a=e6?Ngwba*o%za%?Pd+=Hw7=79`NPJl1DvS?-_`Y zsqFc!qHeNRe?MEzWrE2wJxvrm82P+G5eFL+o=Wjv|0XiWQ;5&dgFeqB{ns}t zZ-z%ig)DrLc$h`QzmV_+Rw^dgv|}m*5~vTIsE9Xcyz?~wi-?bno#gAMk$s3Pf0(*g zQupi74~YHlIl14s6JFn;_;;@nLx*4S`~h)4{I8JNxQRDPr{Sra3c4~?75nn5u3fiw zo%p?Ot@M2ce;(bcb?a86!CsP)mdIqG3K1R&K=r>K(^S0QobWV6<&E^T%o!y1v=t_A zLyf7!Vmb%NO%Y5E|3R#BVwe!>0bU;tK<)Zav>twh$6Wq}=WX)Bmu6zJFbA>IAgTtG zg!SJpLghnBeBKu4A9{laG~&i%0UyA7&Yp0(jBhM@1WQ3@=&eGA@!$iq?=HmGuQ{DO zkB{M#V%<7Ic%Dn|1{7~^XLUp;Y0m+G1x5LcLz(ze<_3HhFXsZG9Q49o{qPv3j<8+) zhz=rb9plA;eGpfgQ<08L(X_Xo*>H*}%5;J9gw~3TLoM;8mK#O#5RJn! z@fk>BU&GgaDpXL1+x`ogQ)221TL?zd64UV_={V52SAW`zBF!^3#GI4KKI+78y{P;^ z@b-91VhLCXjU90}{;N>t8UzgpPQ;rU=oTEB;V=eo8wWdf+zezZ!xfcQZGuwCE(k0@p4T3sgg6Q19DoH_Y?%y@mIjtl6TawRK$6(CJxA8o2mD!2K#~A9#2lI(xzf{Lh>^@9H*l z5AF)@kAlND2AAG~_cAJk-~3qlqe96a`*z{H@eL|gY+ly+tZwjuLHl;^Ubt#)jYHc; zj$6pqeDug34~PEtq`o^Lq}oF5!yQ`xJ<0Px(T;H5w7z%b^Qaw}A>`UUAa%)fUMag- z)g4hgV6sot9?>?t07a7cLx@~fiSzd+&-2zGNcKjUKA!jA{FGgk{e2ZJd+@HC3)a5e+* zw#0+Rwn5dye?Y%akD&CV0KCQj?17v3TSWEn+>@UK8~E(=5HcUZ8bHwZ;#z#+{DJ%U z7XE~jF~%ng+h|_-QXXGcQHgrCh2H3qVvWo=pR7_5e796S=!6A6*M#$YQ^W80-6+0S zqSFQ;Q-4`?L3FbFXM4oU?GakK3W8R<=VbNX>#+&~S9$d6)_#}!YVyl>AO5s>=;5eF z??%1B21diaH)v+eo;geWo;6eY-jg?=Ws4Rq!Gor&H9l6=;GIqDcv5N#x}J&5O%9!T zKuSe$Fr5J^A1qvl&8vo;EDk?Dd}8qr1C~zdH~*fL@ruBca&^D76`XedyX@&ZjfT)W#@gD;^+g%@IP4Woy%S3&q|BDy+{k3(efr|i1Z?p&#cJW5@k?<% z-mljUT2hkBzz14XT)0QaOn_22;3dR?s{?aDsN{rS;|nieUYN!U2bmg^FEef7IL%*4 zgsh72;@Xdnwl9B8lsw9S~IA`35H-Ww}yBcb&vE2Qjt2#bjyM^zMtVraWU*T*@kwPePE z7l$8mo1)bb*LvxfMT>%9A_PLLzh>!B@CtX`gKr$Fdc?)^;N(>+Tz$ayY2{ga9E0$* z^WIjMXYF*WhmJHk=>JA&w>KaZq(Puq*FMo-Z`2(uNb zyfeXfnc53?N~bw#M_3VODw*(=6hDov2`eIOK)k3_tv?LHv%m`_S^@H2iJHtbNlzjfw01c#1T? zLwLwiG19FGl6B&Pr|qGIS9d%$Wwn%(mi8O7~ecAUi>yhi1uTSa7^V-ee6Y#Wrk1{b1EKOLQg1h z0w+c^`Qkw(bT5?hO%(ot2S00u&o;Y*Z}g3dgHmu3l;mI6#dvO5+wbew;Y)YI!`l5^ zw;qb#W{vm`u7SS>3fGv30I-EUpobc86Js2TcLRdt_3QCkBQheqZrwU)B<5|Y@Jvbi zVRSuPL#Mie0>y<&(TAEfHS|hGq2O4a^USCd;0g<#<7xQ7&69W=K6Mh;8o8i7#+z@6 z^AHH}M@)0Ya(hAkDHWTV;jeMR!Rg`vgu`T)UR$;z&t(dip_XA7mGR_2sf@0XeiEmm zD^wc2`EF0@Mn>Li7x>WeGtpG3O&MkprUnb$b!ah7?3LYt3#up$4wn2AX z=?SCEKPDV_!Ze(+2uovc4OS^<6ZzWFTS7oONJ^ZiV|Fb6$Y7XjsKs;?T26vFSc^Zl z!&}57WDVL6%x6PJ!D6gB4Y6$d@4^U`X`eq)9DXPr6I`M6yAs)#PLPR(+P|6xlbk{Os(GFFFjJIB9E!i_*n$$khHOx9b~EtXn5EtZi-6J~5$&_XTKvE&4h%yD$|C z>qhOG`FddVz}GWo51jRFBI{J8S+gqS-XW2%iY8eEph!s?uK(O2MCB1=ad}fih~i4* zq=}rUT$~6eX9Mv?-8Beb{t|2m!@5gkl6S|i?#zLJOr%wAZZTk0VHtA^g)CPvE1Z_g_fF|g5K4{ zTntZat8y5McRamO%r5vY)V~7O;1!H7I*k~!>29#S->B7)I;@LZ0KOo+1+Hw#mOd$! zp$51o-GkbD@DcoG-mbg=O+d20r%iUBjBOjfXv~@2Bw13ok0~xobs3aVN-g!t65Teq zdtqT%2*c4k@gZo&jSDyIYQQ=h4TgeEsxn5bA^ekW77r?VRx6Nq=zKG9<*Kze&(H-dx`qXx@zo7eT{^caQam)MeaQW7fpuB3 zj(N+`%F!;!DInZ40Ka*yOVx!sL^|}E=3?*X=@e{hWvw{Ob{(8){Y`C$^Y7tscG>4# z{IXTj_zL}A&O3=e+Nypi6dn4fEljO2Gri{4KH|FiMq+oesPB6S^++~tP8FL5Cwj}X z`O-sWT%bmFeRl%a-%c!C5pV$CXx(+Z{RZBMKPTA78)4A5^N)S(2ftq5_(Gp5f$hOI zV(L#{?V!E;Z)(d5_Z!bF+pe=(U9D}0Z3+(Wz*kP=3+v%EJWhi;@ClqxZELom|`Oh~EdW!!I%RSJ<=ga8TEleFInj zl*ZfFP`o;m7x&u*)7b=9mLW3Li=Olvr+BS6ub^ZImy~s~BurMO^yz@aXG%`~YvpW9H6<-jD!6Z@zw= z{b`!86rA2dS$y;@{=lS7`!pK?x}Zy*|qqy;rgIVh2opF4cOj*nTBPO z9Ht4~`E;5#9Se)vj)<)(UU=7wsBP3o8GajShBh4BJ)G|_XYxs$*Q}H+a6$K=(d|26 z*G{YOK8a7BoO-7=du#oaJ8g08Av-%bD4ca8haGm;};G9=b&j#p7(wY znJ07c+Q-_X`0TdqjOUkw{Tgj$i}yO*O*`S~2>j%xw(F5z)J~K%<|&HtNSrANB4$Z$ z)WqMs=y4z#UVci2G{*L!U zGnflgxz72BQx*K;T=O=n%21lpzA@EwCRjQJN8JxjP&`g-pDA9}gpZ)>BVYycNNDb-$Yu{VK-yTy=Ff5vTF{7_HE1d8|s}vtXigmc|#?ypK{kLrnNg zGtMh09SQG)PKk8j5sFv#rtxP=@!2pcn>--}S{jEVJL&#EO$^HuZH*z?dZSG**QiIu zoN71*Sb1nl2q}F>LpZ+GlAErS#=quw8D5o4X?-GT=c$m`Q!)FUNjoq8@K58Z$1wE> z@nuMAifVSfw|~I-e$E@gZS%hG9bNDN>+T~)PP4HawG_B~Ki9qZ_Wq@K@e+5*Z3h49 zlXtJyj1@4oam$eSWBdD@8!+(Z@Z`z8Yd35Z5P#(W@t3ciHBE)`&SkdMx2E-^7($8{ z%F9S;8p&$3M;wBb2-0$P6^=sb^{IF*8 zT0VZ}`EzqFo}F>-!kkNpMYq|uibm>Y$Pszc{)UDBmQ?lWt#INxG^;f^s4%l9TyGxi zAAA6qNmFj5l3)9=p~J`-L4d6xC`|+3nV=>^ht3IP+fIdu7rS3T@c8lg4*7wvO?`Ie zhDvqk1T)^|R&MSsBHF_12=dt&=cV&F#DPBf`_zo9j>)*5{C$RKxZ;jE+`8EB_uwe= z(Y)?T@5|!hsFms2Dq4(3p6UBad41Nlij3FOhgEF&>E_@!@O6Z5?G?FX5CAy;)w0OiIV~&vj-gTs||Wq4`;T zmB!c7XJV3=TdGEgXO?^wpKB6&OUZLEvqVgXS;8DZCR~*+<9dqIa7B(eTpjZJJ$9k# zz2ijG89e#JF8nS&A0>3Ui}BcnU#0gan&&aC?@PEupD!)ZSN$@F+s*xta6JvD@vL{q zd_J+@W1Yl@k!S_)PWf2()ii&m`cCPsliueYkO{ZmD&u+yr+l0@(`QbJ@?)fO`$^^% z7x2zRewF6ZF+K6|y&&orQ}2gq9#LJ3?ss}aecAVsXH3_SeUM)4d(uN&#EC1dd3evV zF|>QfXtngr7RE^%qZo)g;FoyR{GyK0Py}+p4)%jBbe$jVSPWmoCAB|;Aqd*UITXK) zuj65%_%)tf(xLcED6M$|+o4EnC<;5?zQwii<<|HruJeZflcbt20igQJhweQ zgoh%^V>HRIJzX>RL!ly%AoC{rYnz!<#za#v$b3h(ju|hkgaoED;ja6_XvZkRSqXe- zgBQ3$6bvchSmHarfp2*qG~fuUa6AKdT)F79x3%w(nLAbJEv}2NioDf+4>MLmf5>VN znb2z$K8n9o#NY7I%e!-{oZdv#6OpFbY6g{|9+gH_QT@Nm5n|$H`H>q1XfWa5EL@$; zzsA(9SPWf2*4W7ktw^3PK*}X&2HI=~`gjAy6D;;~1ww2z?2M-uj0F@2Qr@aLQ__h$ijS-qCzT~Tz z4et$E>rbM)>|zd>=P@eGaBT)0vP3V{`CUe7q;o$F1C+_WRa0 zUb(CL+0T9RPT}jg9n@&pIHeA4Gf0+xsl+*~P*fH*K&??W%K3ZU5v#nEIjvZUqzQ+Z zpx;?mn#BN?c{kM_h^M_5GHwwop6N&r&0ngSqAcEvpW+eoqTHiE4+p@BT_wtDo+ztZ zxHJj7f-jId(Y=&M3DAghgqrR69exq%JulbI5z5JXKPct z1x%{KXLPi+wX4_kHLL^ORM5e?*A`+|md3sC{F!(q?$QS;Lz$jeKsz(%cM)$#YkHh2o|&vX=~!|)hH-Y23i+ilj6z^e1^~tx`RvkwRl>YotdN02Y6&09xJd(R+w7)|>oNDOI;S*FBoB>K z>gQUM-wmv7x;IX#3t^|=ARIh}E5m_PxDu{(3JzSX(V|6-YU%0KOyA79>MdGSua=Qf z(Ao4u9QzE%Hp~jr$F>ni+|u%*G+XATv6z*;VjJwmao}%dZ_NX!5?k8Yk4_|iZO3Ap zN{>L%r&IO;yfn*M&6n?$*sw>BhKaop7&i;8RCdM;WJhlz5ch#{#5Bdb@f^Dlf53yV zkg~NOEP;BY>|V~#o-3RXT4im{?%j0AsHENt#04V&mdsW9N@wqYM)JW3XFuWfct3=4 z7l8TsO=(5@*d_0!qpdfmy3>MXwkP8fCzrcL> zm^FJ4u8OzfZMgW{as8nzEL;3yVeh0dgPQfs-qcEJ|Bs^Xikph2lqW5*3F639FWv%0 zYyugW2e~PBLA98+Y`I7_8C{1Fm| ze5+oNXQlYe+ezag61Rk+C5_vax218KN^v=nE`27r_)cr`uK3P&<3Wg3rqMW!Y1-sl zrJ`XE3B6!b*ig)Hk^DSvy@-4VEPS?COpg<@+he*X)%4r7LN z0N)PGkT79T2mGW14yv1EW7EBE9q})F&EmmOnts)x5PQ|)ff)>l87vGoB4IH3ew1FL zMp{~p8tLY5_UoSrqWRuSWKv(*M3S3|rQglDH%MucqbxU5oW`a&jTN7zZ}x#CM=35U zCv;SJT1`j6imDext*;8*DBhZR#QCyM5wEDR@;{ytV+<3HabuC`PEGNg1t1@8tS;Z6 z4 zVkbp4?y@*0RxR}=JgJs4-n8Ca6yC7&)osKSSpYU(%|t8Ap67-mN3pG?^_ExaOeeka{5S8GTW2h|JUrq@tv68i*a@&-$}B7~ zxM|bDB?degH|~K%&_Y0>J<6%Dv@Xo%=pm)6n0>))O0!rwy+dR&!W%on$K;C;N~xL#p97 z_$B+P{h*50jtNPP`#IXV*|R*$4#QQR!V#5YE8ypx0{cN%2lvL`@Um|>WXHY6v-kRW zVSm?zvbC1hd788{3-;iaocH3pOKP_6ozuGU(WaU}M|#E$nFmZZofGiKM&V#_zKrfM zqu(SjITZgGV;9(7Tg4$%-?{qa=|RpD@cT>n`lTnKkD5bxb8s#L70W0tkv+nxS#*zZ z_K|*UVu26$^gUBdxFjBxLC3(vzBN;}Qhq`eP(9SxJO?S(aoKg#>~+i`C6AP(&qa6= zyI#S;qOpx}vpDWcsf<&I^Lu77D}%^;^g)s7zWVAZ{9>4g*Ih`y`WnIqdEt$o3oh-s ztg+8LkONWR8S0OpKk&Zb78cPu&EulB*07k;7sfBND>k@JvmOpnqZ0@9^|c--Om5L4 zGThdwWX0HqJ`9iJL;KfZo#Lw`G0do`mCCPpzGzAQEJN_FVmTsl`IQ{gR^Ucxu|EQn{dO2&s!H zkJHtt^0Z7yMR66+D$pzR((nlR3jg5qUi@>Py;g0zED*Tc}OE; ze?~)eMnk53oscw!Vvs07vcxQD3d_zbf)5MD*wN#|rws301Ol(_Jg&2L-+~_=()cyC z9lOZI#y+yhz(_#&86<+Iiw~ecW+|va|LJm>>G%+S(7OAEV{BLt2pCeP32_3V_KLw3 z`FAK+w3G2t&CzxMy9!*}3SiwnZ*Z>YGAazAcT1vbWN*h+?h>ku>Z4TD1|c`Xa4=)q zYeSD|j`^Pfmae8rA0kd!0~G)GT`jy%W~CTUm#jnc7tHc^@f_7MrB9z070rm&#dCCK z<6eDRh;dryE?6+bkHpDL=^g%l)76jfH(mMgVbfJEt6Bpmhkz3C)$E-d+3{5q$U|&= zH3uihyzW&SIN1lp$5yp>a_|P$t0i!Y`d=I{;9~zpxS*w{XG>80w`VN0Z{Mz6`}VN9 z#?fv`U9%f?J6gTQk#3E$yC!uzQiJ{?*b&+$ZN?6&Wc75~zJMl%E){_eK&t_LJn^p1 ztK-h5LY0E;cz*&8e8UXK@1g2OMqMyjwKu;d?!x!@gkxH6laf>IE8NWB67@!P-2EYnOSwHrtFsE5Frj0>O-$6gvNJWNHFU^O<#{;WS zx+%Dwh6+wjT(xkaV@4CE1{(=eI(3E#*!arD^|AEcHu9b?dC!VGL@7ZN6t54`0B7V2 z_J%XF(^7<;;p}1Vi4J!G?y;-OD*)VGd~ZDK$4xZzs8`YhF4=Lzl|gt1HZW!GyB zwyCMYZ1yK%k%4lG>WU(&4C#JW5H&|HdY9?sUy3539tVccuHD)>VtuH`-r;lVw$wzZ zGK^#Jm6jcwUmOICaWuZ%vSa#%fxwvj$Iw$YhWRP#x`vEYL|^J%I;M$kPuz<*MtAKR z&V>qMJO{y%d0?C`@~UBDh&)MI9on=rgZF&06Za>9<8aTiWnrAqQ=+Sdfy{L#39$%? z4SQ8)a-fjSB;63h=AvD!8|z8OpJeE*Q_`&{@yuZD?!evJ=i2>&`?Rd*i5n+R-Z&xZ z$P2i_@?2Fh*KB-{v$M2_FCV4m8Nm1gXxlmzb5Iv)8Plmtq&4&LZ3ic}wZI z%SEZQPu2uJz)sEyDOInG$pt?tR-9l{DE8WzBx2GYKz0iE2r0~dg6xzC!;VW(X$7!Y z;2s%tQXb<;ydxx@lE#x_9*Mvu8{&PJplTxX0~@d%_XxX^xJ89S>_=m5QGN<>vp;o> zuDt3qICHq#34Dy(aqE^19t?wRr1SG?@#PgIREbjm5KR3;1*kb*!q(ET6vT>QtNdajiAVgOf4E0hK`{)LyrD^TGHNvH5J@uE;Ho#8M9J!J&u z4sCDaV<@jfbbE?DFS=Lv^cv{!{cALRsEZI+M0t&-4}`XcD}qV809rgLOnL2B1b-P= zkzRPAcp5E;@q}98&<(U=JYf0DVvvI=p3)RgW2X2NPY#2w<;1v(X262UrnUW7{Bn3g zBxFCOw0i=hXfDOy|F8H{@We3aHbsojwgZN3C&~Ar@fUYhaSOSN{SJCWsaEtJA@9k) zC0Z+3zWZpX@H&KX=Oah-$IZflc=9=<6C-*aZ+(eV3vSQ(p1HOyFh}vOv(abp&ZBfa zb^~{Z)r#wGiq4J1w2lgU;Er)FVxR?!SG)CTB&wxxPSmN=Lzic6v_#0{$u0V@q;j*QebM)WD8Vbl&2-PEuoMsb7h z_>E#DsE+s0h?LGuMG|vBl|lUgEoS~)-QcN>-jid&U*%w>002djX_9X{-qP0A!x{lN zDU#S|RW|K=h#g!v>P+qw;kJMHf_kl7izt$S83U0m+oxR`i1QIG)BegxMMJSn`E+r9 zl@WMy|G8=|d2ZTDcM(JFcqdaidGcXQs;V7gC9e`DHSKAds-19{DKE*RIUc7dZfs88 zNjKj7*_^(^DtrnlF zMBXbay{Czn+NpTjbUpHjZDOS=AM4t4f|JW(#m_Ny;>*^Xu%KU`>9nnR#-CR-qGgam z&j4N|)I?8>Lq(q52+vPjJZ&*hILVYGaq|YMhT#M1A>w>^emMCinBdNb;U*-HO4W-3 zjA*_LP53aQBf<0p6SGRf3_Fo@m+M}BqOrO<>i1o)F|^K*FOIdCa}#QxJ>mV$u15QI z9qqq+<9AcitJ&IiZJ3f^W!s6LczaFV9zE)=xeZNPRH&EQqFU87Q3i(5iiUW_pE_w6 zUBq?Y&;@m}h)y;Hb}SSjI(c~j&ZE2*1SlE`<;gqts!w?*ZI9-P{GU`L2_IA$gztw1 zQBt0;R?!fZlj0dpNb!VySYw=Gd?c26f$nEDDvu>tgPbUql7Cyo5ajO`a)kQEwbZWC zJAq?ZgPjkapo8u{&zcK4o33sYE|GZqNW4T-JWUL}GdO==>JxA1rNd*rg&d~X#;co1 zKBw@{P)pS-q@eUjDH*0{*)1v0;#I*%1OrqO^VLsiZ@6WgDE1xm`~2)q^SVr!hy9FG z33j<4z_44y@*fKwh33Y=1lyS(W*8&#TkuNQjCZ1Z(Hko0k24*FS>RVD#BeqsHCXQ! z=Qr_UFHanS46(DwCf^8Q1n zn2~3kw*0BE^H*#;;z9VNZ-z zjNSMlVwgCtomf!(7_UD!<0CO&`J04Bq)tpmthr=C855tsDV?d9j#mYJ2o@SK zrG?`#o4x0IT%WPDcBiE?XM0Eh zRy1t9cINK(?RU>4Kd7x3%x^I^RVV)GPiOenB!+phmK7= zM&4P(1B?Xa7-+8pie zUdlf#wOFh4%{pJtG6A8f#agx#?V_!ULG7$+N%GK`%DJ7cfYEVB0}EK4RjpgM@Z?*! z#4+GU{ycMBHCMDdxUp&P(H;IgTbp7j*a;z8k2@1vJ6g5UvhEagZp!91eO3~yOY##L zci|N@!t2B`QX3WvM~ysr-zo2wP>kB~x#^uubzFbh{wXD!41kg%n|$JY(X79 z*x1i1QCjW!W6iD{V;UD(&iYxd2IH-#-ER!5(ztT15^;^KPdId#*SJo*w$=r3kEorHi`c^l)A0X~(b`{8oPWyc{IJwkO=}fTQJ;1_JG4&wwl(7#hMm%! z8$O%@wSL zie${C65rP-;sHoSv7b``Kl6ib;Ocipu!a$Lwu2{rvHcdY0kil^h_O0N^krNAGj=Jh zZw6k0o2zvH*{{J&-wDo6NBg*xX{NTWSe92z@7Zh7kmPbDlBf(%@>PwE)TN~U0$a$M zT9)XEpTw}X?_&L(7}j&=P74ieJ2z^aWNVe(q)~!$x71s>jmK8c$f#bqWd_O98zD?s zW8C&<{V!DJsu^X|~ULXk1M_m4TShx{FVfYgy^f}QZgxP;{ENP!EIZ1zopy`tFB zf@lfLyCm2d2M|oJI+`C&`#*;TYbnfdM)4EtRbHZfEO;Yf#`Am~sHfaQ*XgoVsZ{1C z1f39RoJ-fv<7K}O!l5$%$?j`qF8B^E{?zepmu?wLgl?xQ^h?Ua4f<6$R{P2s#OB=> zI^fF2706ZEfd!T;7r&c9%X3i`7QgepIA0iAJv$(Jc#UDxoLnvpo?1Ij$Twb8U5N*vW|(KW!8OZ*;o06*Qg z51)Ec`bSeJ0t*2ELHGB3rKs*nN!_Emo*6XojL2iCz_S;O>9lTYi9Z1O0ATzJ+WtE0 zri{WbKnlA0#kT6axpl%T4BGhrd#SR*5|TGjOQ^EK03RIf^nADe%aq_fx}9nk*MH^$%# zNze-M^OkVB${?CZHuKJZc6i6gnH8t(S8&}R+?3{d4f_|xj|Wm(RoEQSMpUGRbrU6 z5feA6$8eQR#wik~1Br8o z#8FFW5mGw6(opFpRBy5YmJa?l{I(eN&K;cj=8Z^mFyTMP6d%O+pw%l227?M#v{(t% z@FKit>Q&2E5adVkb5Xv^gPyOa6;(hU1!`{^MpVDn_v|_E?>5ysc4%+IMJX#cO1iP8 zPWSG0Xg}~5dG{E7m-Z)!#N_cKKGSD!gkgLD7hzqseftj9`QG>gKR2n-4e{kQH>5t% zSw2INs0xw#@=67eVgb-|;T%3|m|`e~KXcqHRS4eZ*9`peqh>m&DcS8*MI$^;#UOjW z4X&x!mMi9Ct-uMz#eOZ(J;|hL43TZ2^X6-<@$_x;AK}4|U@(a{O-RLCjH{5FI4)t$ zjeNXi(_gUh-2UG6V(Zr~8rr~Pf!FlGb#t=ImhDq@NE5uNLPU}1vN7$q7cU;6D=+5Z zC?8^UP}$Sd5~At3$>yr0C)B9Jg=r`))&s1n>!Q$AbW5M4ah%+(RdajivJD*7u_5kl z`ZzkwYTdfIt#t^$Gc~*>J8Ed3tT7$4+ck_S!i^r$rd9uL$<^Z!7~J^?W0qA7y2@!j z)s$8*y@jWNbXSZ}FL_#BC#PWt+igD+;4xyyspdhcC+2&(W~MeCV(*lcSig*2aF%j) z#R=WoE^6}R`24$*lilZer|n%aYE+xXEt5TZxcNwZrw@Fl(aLI@*-A-bQ@YURODT4~ zV`-nCbuIX??MS8Mfm4V1dYzdvuB`jT#7sxW_{8iA5k7nmt~~Bp=lVwb6?dD}8aJ?& zecM6A@3|A9Px6#uRH%C(XXGvQNaD4WAnk-v|5uGxn$8odtRC)R3-6TmllmtmL@w#M zWvM6U{VoPy0qYX=sy5~`t}U&Vl$p{xHuc&9uN_yRl2x^&WU>CA;CmRotWHs%ExJ-A zt{PdMf~i#EwH`yVPGk*tA7SmbtB-pzzaU3n$D%c?t<^o|2y>V=bE=LUqg2df6{Sj7 zr8Z?O-vgf{a*_MFI;B~a#1sPLj-*?>#cv`%(yQ#z(7IJcmUHkfsz|bGRf%OvAFax= z-cf9lDzmau<-joB(R`9k%gVg6#-71OgKecj7v;(4$<%G;$v7PKPIW!nHW z!!3)7eOyI*qcf4CqjdIdFew*{l48MJQanLi3p(Gc?&b4l#py?T1y zH2Yg(9W3~w2%s|dr)SUe{O?<;G@8Pqj$wuMjJ4a&KAtgN!9D>+Ygv_U;=ZeoTT%ZY z2OkZQxfK-Udz2qN&WfL*Dp3wHnE+Y#74S=vR%?=1Cv`{UD&>?2m8w1Y*6F3}7PP*t zb*Xctj!jsV)^SZv^q;4S=v_C^_Y%pPbG;F89G9q*T!--$R86B|d2Apw4-g%>L1;Rd zPI7jMr^h$z#Vddf13VwDET!Ci81I-@MeTokUZT1q_JEhz(ZvJa3Mx2Vvj&c1ej&se zw0s+5u+?}Zp6n2f#BM*8h2*mx_gk@9o_Es)YiOONQuK4_?y|lVoY-~}rvSMs(alBStBT9Uz5L>)Be=ekK z|8|}G7wg$n)oS#FQTTL3v!X@7w{loglrM8LqD+~Hh*G5@#P6^&WssN$mefgCk_TIQ z3s(%Smlpb@FQiNGFUISxSmERIcEzftKE5v}Hf`hJSXxpq@KV=|jgD3;t3=1f;|=Pn z#U)l_V@M5NPt@+#dWSVP7ZR0gJCLYcs{w5Ae=x}!y!f_87s8_>@WgcG(yQwPD`8-cW8`{2Ugk0u=G3PJ+O5)eUT=)@s7(dy$8=rYr zp7bk=!a_h8x_=aMi+69(phrx%GXn>lrt?nsh3dGtag{W7Rs0{uu0qFCnu~+!C^bcS z+U2Zilp20oBaLX|8mUjaoFQntnlZ^uZ2QcKDpsMWRgWdbqRL{UeJ}D@K3Xk4R-k!I z<5P^MtQwF!Zq08?_oXtw8VC-kCK+F;XfES}q;*{dh|ByC1HT&hF#UvG-t0;Zun>rE zeqP}j3q?L-5FB<+o3;bvo-PH+#^% zGrsMR$t6R_&&ZqIdt@1V+tQ;*-aUn~#^Lxh&HGLvf#$t5`4;m&j(m%HwVdB+d~9`+ zN?i0jCJSql+c8;dV+}v5;RB7J7JfGyn1~ORpnNjk1CDdBF@oO-3ER#tUU*>#B;rjw zE-qMbVJqG&^^a@waY*#Dq%&UroKj03gYZ7wtQLNp&XD27(|O|yz+Q}t_VRJuDpTBe zf8?eO4%{0IXW)}9e(ZrKE1N&XpYq4gqh+b!D;rtm38YlFFkV&77BOQO-&zr(d_k~G zW1fg15IU2x8mPQ(o(CNmAUJ82*Kgkz`*xjpgD^x20}>_-2@ve0KpKX+{C=;CHs8dT1h$ivX=J+7R*MOS7FaSS-a-RytH|$nw&G;R@0#d~v;2g9!KeUsk5>4M&q2>~{MQ>dpq4lorE4twUb07|oH*Z} z?`WFeX~mt!4f&GqZ9L>n;stvj zlyR)(ptJI{D;w6fr+WsToXNs;g>BAg1W=K8XI`pQbo`>^#j=l&XI?tGEbHH5xVNK9 z)vMppGMOEAbVmQjxI=jd=A6lAJ3dBo+75>4EAIfEOM!d zC%t!I16?#L2Q(k3bvnVl03C<>su0a{r)`~aQFqwmjcbcEMiLtKG7U1o5m|9_qcoWM zt+F&OKb-v1qPfSQ=Wrk1q4d%Iy*h92SlL8@^3jmUW4zjv)GNP#&h^St;#9+(X1A`D zT(@j^b+!1jT$AKd;dM4T+73u-TcV_uquMj9<&3DPYSBS0=SN3Z#phZjuZyi8-J@cw z|7BXgrTLGva7)MQ4%SW~qw19ZGqEk&;QU%(Fbr^-&t<=;rqej0QW8Y*6e@DK zH=pYRyS%YH^#i5*bz^tn5YKb}0h(B~fXxe?L5iE2;s+>1V&^26}z9Gbp~ckj!Le!6{A+N_5f(`mf)9DKK zN6&bFrPI9G?luQFn`#vjPUEF<%H4^HQ)U%+uUR=UQEcBU@J8H6bySiqG3Rc=&t1Nt z3@*tV!ExK!`C^R=ZF4ZtG8+~B&)(8JMN&3%bOjYCbvmd?%o|;A-Ym6_u`|LkRM3(a{;cyR8(G~ zcd6z`4R{!Tl@o~&Br}>0b%{q#NZd0drE0L5`!u0*?nD`?uxiK`%o<6N> zTyjeBE;B?RnLp8G%9Jj#4U-Dyi$CHL6XQ$(LWs!nfp7}mD?cF)sgWH$S=k2#&>IU# z&s3=hijP+SOPuq7?A%~AdeT=Vr5of1dT>*+Y`jL9Hwo8whs*w|NLxenz2)dlZh{%BkQuZL&O zxR{DGX_v4!zBJnTT1H-tX5c*9nVSvAn&GVBQhPs_%xAq)_mXxB#L&Vpmxkz4OeYdz zqz-^Mk7KwMH8JeYwE81z*lku+DqXL+%X_zvT*Z3BJvVDEj-0t%IVSo@e|1NEeeAlj zJ(FW&o7EXvzuBNc3${$h=b2xKq4NPYBt0@8@V}l55WWZXN)X5Vr&jh=Id#o(-0N_B z;>a0f%&#D0er?|xO_WaEqguJ~=k(q`vr==GIL0 zS1UV0n-82325w#I#reOQy?U&-Ep|{gOsdu*xMBFB2M`U`B@-$);WNmj+MbKomeowo zC>q+jSO#3Su9DoC_6HsL9(XVri?il)d*UtEb?fy%+}~DJt++HhQ9MT7QBX0zcFSXV z#^6KvEJpYw_3^*YH3+Sji*pLgS163zd{0gpRIc*TZEKijRXbEH=9^ugNT3v-d3S~V`kQrNT*2WQO&7EP z_l&`9>{|~I`S&DqTMmT2CF^r~I2gG-UYjdFT<*En9& zt6z3;hOcq7ruV>hv5k-RpRKkl7FVuP>8i8V;0lntv}r&v{jM*(XMRcJ(w#)F?vnIq zk22Uqn5K#E`uWCmh;4YJ|6D~#n{vVG4trc1VPJlx6p4}E-Ntvuv#cVJt2F1!|HnO; zN<7PBL>b3wj)6*dyRxC(>$;Q~>@mdmgddsl#j{$m>@3b|L|^DKXZLQA-T;#KTI$ZU z4^L+X$s~uclsH%P+BW%e8Bk7zdjiko}6Gh|4!RV1+r!tDoX~ zn;*5@{0KsqsXIS=hDYOp@7}>s=p)KFK(G-aj45JGQYeGvOp9_BB7B{~T{;vmaWrF| zBB_s4z=l26szkhnsgj%q;=75&)(lqmqIr(_ZOQb%S9S!uovI2Yd)c3GIX-q&<;2P3 zr)u`A;!E~Y_KGXlWAvz6wPy8+D@T1f0*TIlCU#4YqERVnjpuL1%gt<1O!fq1BNiNQ zGA%f{+YJA(=~+E`I@zCEk)w9Z?yC_eF=tn8KW6nvFI(*Fu)a*&h{U2Ra8iF_+8nyZ zcJ<;OK@qTyO%SK`o7JnB`Pzs|1>VjDBgusF#T`#ag7es{X%E9rfje5E3-YPYUjz~y!opMO{o28+}a7ivGnIb zl=b)?o-CiyJh5`C-yAn;czc~_mj<*VcByx!l4Z#}`eDL)xnd!7yz4^BZ4cp_o?Hat z*$u(*|7aje+LdgBFx8;Z}$V zs}S!s5!2#M{|6`jjhod=X!LZr%uGy@Hn~>qP+Z%RBg&Jama(*YAo8R-VRrnCkEd!O z@f1%QGM*LJ4$Q?OIM-Pb(KVoT?0#=`(}5GFdvRV5CX6oQvA&;IUdb{IeTwTkrF3-U z9Lgwam9N~dc#);?jqa{+Sa-Wc1HpUM9M~5Y4CU$$Ztc)&FtzvJh+OQ|>yclf-h)n( zfmsM-wUw|TB&^uw=I!xg@v@ofU5c^^sU4l1?JKseo=ism?$EYGz&XC{o@wi+?U~f8 zM6tBa1DdsUcj!DF?+9*)z+gvgrQT}4bl-YBHI}SWNt&h+ZOeYYg%AF`zdBuibi37l zVR*R@_&hERl^cEFYEZrXLfVM7R@>Z$ zYSO}K4CfeY;X9#2*I0XCBYDRQ1yav2G8z+mPgDm<*U&{5Ok9Fu#mZ>Df=TE;z37qA zkTrdZi_@@5IxA}qY);xKSg=-?Ji08dwn|ktdYN(#zRMOL-mPCH&o<@CdDM5bc5L9T zWXqKZUr;VO%G6FCBWd4K_n>Wt-rQ|dYFu=zdE2PKS1LETPS-ISyDrrSoSWXJla(qg zG_s*;Wp;SXu&xQ+!|+QUsuXQdA+ngaMAM#cjX$Y#Xf37=AC{UUJ81rHl-?>zwrDfe z$^OuY2}>OILTt5cYgO4=qsH4iUmCe&w$lz(Mtomo6BDP*on3J}3 z+fIF!G%FuT(|k+huC+Qvd!V|)D~`g(qodt+_VO&I4Yl*rMAWwCd$3hUj5RGOO8q0k zZ%3pydG?BKlzC_p|k9t&Gpj z+;jKd=VoT^ITJ&f2M$=p$p^8rSyJ<{h;D&KM_o;jx_WKVp;5S<1K1*`4E6l;T1ng> z&SiBn*@v~SwYzQ6_u!mRTm5Tme0wr(@WP*VML9YNPRC%omGL8i2Sm)<;>5XkshY)l zj?DFtkh5)a1F0$_Wq6wXSmo=rILp#{7ZcI;mhKhAz`)Aaep=%~imuZRWzX!vTIa)* zs)g3Z1mKRXdACmGQG&sjA-syz!(-uwkqf2*scY7t@`Dogh%alsD$S6Cg-X79y?B%T zDA~q%4R)S6<)5(yEwsbYHu%3fc+6=(ZEPCbP(ws`13#Ze+2pNmkc>SC%0>5T&s=jI zopGNy{nib3boVB1`;q4N>GYG|t9pg|x$_RUPktw5gr|m+XjM{cr@b%_wBYdj>W^Xm zu%5%`21!_ouTt)tFWb)#hJI-ce^Ri2@?6dhhS}G5YJ28py-2f9z2-Q$6D%r)AvzOS zwzZc$wGl4TOP?ug{aRIsqo4O;&0cAQh`BvR;~gHW)Cp%#8w`hP_1uCiG2Hdre7}F4 z*wOKdX9ACqzvjxH!xi`M;=oxpeBr?$w+;17$wBq_h*Eq!ruQCi6Q4~K;r}D$|IbBX z=Y0Rhu4&6}!+PDl9%T2{5&YOOE~c=GRkkUtB<^vug+<4k^0Y?lhEVR5N8Y_$MvQ>o zAxnbbnYSmuQr8P1k)kVFBsI9Fo2B4FBOI7OH7!{6-57Ij><>#~MI_h*i zo6z_9D*2bw0&maHR3E1+YTE*uwWqkcC!18Cuhj4DbuuUOJKsJ-=8iW~{T4=3`s12q zRGFa+?P8lDDGtZ+QMDbw1^^Z+Uw(N1B1RXt%#SWjcCJ#hm1B%=r=VJClToaauwRb# zMOyjC#~iN#fxG=!dez9CiF|X=(5h&xysC0nt|O?@qC-b!hV)VKM{N{P)7rfhGWTBg zC6X`X^6i0TS#XtP>(ugQe;)cKODzd$a{}l`C)mr7$xpYx#LBr}?Yq`=rS8-3Nw^

    qRAsaxX?w(YCU2x)Ze6{%zG)>cNP=*CxpeMU+7tau zi(Kvm)XB8%nTbu1ou{i8z5xu5z@rK6+a*#6!Av^J;>>=Z*HHN__L8VSbss(*9=<;wdRmyLINs>j=~YwhE`{|QZVKU zX~0((@r}F=hP9W?Cqf7Hu|Wt`P>khAJF{JjZa$7=%UoZTARbVIZhN#DR=?`qG6=n) z@!3)(8BfgS#g~2-x432doZTl}-!s-yG3Y1)H*~O^#aNgZTAJZ`X-3Ltnby9BYHr%4 zCg(dFZB=aG77ztm?Gnwtb=A%Y6?S2- zi#^=dq)IgMkq_)KUbEfg>acUfUM)HtHwbO5&%MRbi5B+$*!BDu-)6aCFri=Zf<%0x z$8>*3NO4JrLBF_QWk%Imttqbmi;Gqay;2(`gyVj8lVy7>O!Jan;Z-`CVqYoKlp_1c z?kQU-`^L40Ul(PHWb!afc)h`+*h65Qg9Ch_iFa-ct0F#qwWn5AiahVs-4uoY&7H3}(!GtEKkr3gGKH7c``cv_CdN+xlp__H-V{6Z?9xMC#w_ zM&r8b^Dv6--SFTL8#V9z>YVwbL(RW1d zFE_pZp(XjMzsgGPLCm1#kdhHqKh=oeJh9xzm35#3lWU0Nqzu21##NA^K^ zm1R_>hWj*}#N;1(E3R;kl67&6?*y<G08JJaE5=@u4f5 zp^4j4m}qL4<--#*k<~wZQX_(ft+lXkE$QmH=r5bIli|M6K2Fsx%gl`PI-MZ1{Rkcz zUOZ|&QNd=VUS<2(4I2d5eV|u`3|ca^a4y>S0k zT|x0q*V4g!qR}$nYOatzhKi3~mEBkdwS1WK&$Xze8sACv8OYe=7Q#!oTM2#SfT)9PT92>mG(jX0QQ&(@N6S*f%5z-0rkHT`YM9Zzhbsw&zZ z8s%`oAoOhs`G@KUVXDq+NQcX>h?3D(mn5xN3fDO)x!Nkj9`19xL^>@+RC zL#nG*3UwoM7V=C=+0uXIyjYbuddJ_wUC&)@5YL*q%o!qjKt{eUT%qfj@96kKEBDG; zQeU1)y3i9lJIIi|uw}kSC9&Vbtb1etwpOUYo1WK4X-B5MX0Jr({!2oap8~ zQZguhU8>BkugdM#7;O3GbXw{4Tb&OwrUV<@m3#_FI63Q((c7sX1}9$T*A;G#(#IN; z+cCcIqF%R~+El#KyTxE_F>mMm1+`#g-6;+gXj}>Rj5WNWY-_-@cun@2EVCx(lLszt zPp#vHSkg|}_@tXiQwz!6>?m3mbLZfUR58&?+QB#~m@f;?lmKTPweHhsky!N6_-P64xF`dSkeyLe}1{f2zS*te5*_!&fIQXvd<2%Roa&p(;j~qWuPZS(ui8?mc zT|N%|OenAN^_%~+d!uq~y1=(2jQ)#o6Zj)xnlePW#v8!abo9jyal`G;KV@GqE@g)e zI+F7Vt8>K9v`5HF9m`57B`lcw@+8EY9XT)9I5@)F*l}qyy+-Y-p@P+!hwog>l?Ck= zes4vq;IIhMHV0@sF0rdjjOx9iD?wTk^p_1kdHUqZljqO%JkJRqEb$}|PpGg^8=gE_ zZhkxYUvt=1{(UfY8upVX&z_*8zJJen@^^|^@nH1i3C+i={PQ{LwC8(BlYjU8*W~4a z|MEn(U$DO7?I2LpZZgj^HTT(9{C_xI75bHi(9zZGg=DmzDR95vKPJ~j=Lm5m12&u8 z)SclK9$NXvyz&-tPe0&Z;ScwD_h{A*7d><~MNTK#&e@NL{?TvIriprq_we`8T;xwu zdUU~E>0$4OQf{=iJ8N?vhGB^A@KwtW7;7b5 zZ~)308~^xh;k>7bDRu+_mZ4FIa=K{h`dVIOB9rlo@Q(~*-Q0*!SoGcofN=T5`(CD}dV)`hL}0T|$%Xq()+)VN zy3?_FU9FX251!>xkdG1 z&N9UO3?#!v^d6B{vB|Z0e#|&|78v_o*fj6(@s+E0Y`?lqfa`OQ?py8E%goS`H%Qaf z1AI}MHNCFmx)RCQX~X!?a83d3_zOojY2etc?#rA4c#wK11C1Kqmy@>f#;CWu^mGTC@v&2QCJii_UjN9&rH9nOKC*?20> zpTrBYTRe<(3miXPt%9y%2G&@fH>-8YJKgSAu!`k!G^~e`ueu|?Vw2U zBXKazT)|IV++vXn!kEur!Y0mlW2A3e-!~s@tipyx;h4}no)p71yh$0Q0I2Qiy`>cc zeTjpfv`lqHh6hDQ)z0lV6SZzLusmecJ4 zkt1=30>xNBCGx%4sKR(tm_nE_!Fk*vUjJJQWz1vcsu|0zmrVwmd$rJIINRCl5W=_L zq{81HaT%>kC6LVc?mQCC^EJiH@F{gQ*IYQsU3~RC3}YlCTE1mJa0xLUUvq34XD;z} z3m6^rQ_|ia;|$4OcRSB34CZmfx4H1%^Ru!t&a*3!G$31UPGa}_)`^|TT@O~yT@<@r zPE>4;N`feEO$qsj1pQu_zG3`uy96w3j-EXpl2U5L*XhXWa_B+354WeWN-E5ox}&wi z&5oX5V|0AKuS9ewcz;l#S!602Sb?U5l;;$|G3#@Ki?b+=HrBFA2_W4(r?`SvYF;qTVyH9*IR5%uf0Pipz_HiF7)&d}TRO z*gN+;tXEWkAr<96?^#Q+@+XEpg$~^E>5IW%4(-3SyxL$_u(s)Xh5Tq|jjklNc|nW( zaGOr|#<%IPs3MGpSM_4kIs%mm1DmH$l8V7x&CO8JJr1dvOQ)XQQQHx_=TU|jcJWk5HbA_Wsl|Ld))V^ zF0Rl0jLS|%plcNCt;i6qZ*{b7H3(ZXa7?j5nA~AaTjFp+F5?PE>}KJEpZk;i zFC*lXTXe!%k-V~e1z1%ZqF|na>tbrl89}`1@Xq z?&TkXYe&9Ylo%;N!v=Nfu=pd|?3(mRW<*Bk?8`c|Nci+ft}RF%bFQb>gA@06 zgwOr7Zd!@Pjz7=%s$Voa!JidxsTT9rG5?AWq3lQ=+r415zB~Tn6tPyDTeci5nA;v;FR#?QN5wyxv1HvVMP8DcJ1-1nZk6{; z?boroRm`jWvIWtai=EUwyxd#u-q#vpNSa}>InvI%1Df?S3v;U`LvlZtc{Uu?o$<~* zp!@uyZ8Kxqz-`41jk`l90AWZW9If7+5G=RHdpKNlRdZNe-4-S+5c7AB`hOiid-j&M z*}(tF?<-|BWZ=aI2@Y3kdZ^PJS4W~L2}2$_y+wC;HTDcF{&rX!_`V^KD6v}S=nHk6 z;hj7GVWq2JT+)zY&Jt{}_lQ5-3 zY@@Xcf#%)wL0c`$;zyu%i+Nvj>uJ>nI|bxwvHJC*Yn(41BP36+CMu;o_Sai;>SuJ5 zyBnN3v0EwBN59I4^T!|NN936-}8{zZ|4K?Gt#um zzE>)7!6y{3SU2JC(;d+gjcA!g_`3`PmgDMd-mE4U-|; z6t&Ba^2>N%nj4QJOMgioS34io5e)0`lP22@GTbmlF!lKKJ|@`j=@E~r49eC&=NYc| zH<;+fTeTyYdol6lQ`UYpu!EgMP|0Y#iT9L zS;8&kql+iz;F$Qyv!P&(KhUvlV}FZ3aYvSuvJsn1q9onh4E{5?jcy;wYUfx}icedd z>AyL?WUDUjbpBk|fNncx&f26L!+!R%iybQf3?8C7GY)3VOm(U^sOy(lwlqCZP;{c< zW;{;L@hq;8tr}4;N^!2SOiJ8Ov@YXLYecYT*J8CBC~M42jfh{c*UOVd<(I-n8@=fk z%qq%w?KmmwVClLD^D}~n78+Za40xj1#ItGb2SQ)B`2@q*JTX=M;*GI9Pg3WFnD}R< zvzJGSau3b-7Ga#gIn!-V&)PK}L-<@1o@a+y&%dbm=DU6{x0XWy==_^@P8 zznsL7rQQ)3o}r=cpbQ$OhDY%P0Ay8gL`o3^Qjh2xF;f@`Lw(|*G%KBamuMRa>Yw$^ zsLmFDIUm@&U|<*h^G*^g9kV|lO(a0(pSbSvOOlV*&)oU<%YowqPoM3GMfKB=;>hqDqZfwzr_zL2H$Y$~_9ln5}QTq{(Yx zyXA0_dRU41RuB2+*gq3LbIZTW^((JaZ#A$66osX!6zNd(Dp8*pM13mZ^V*5vOCD-& zVP)vaeG`8i(WND+a4&(4c^U0xRg$98YcYP}r6|jaRV`;+l){eRUiAdX+@!GmH6!qa zRthe0BL5>eIz|cEI?eE?jxBHt{(9rahf0Wa4*ZZtjP1=qw^AFYbYy;kV~!vlbUh1E zu$EZvx1lTIOQv!Sk3tGD`&at22Oe3_9Ji62u<)Rzf2Q~zw^)&KK`@85P^BQ? z@$;6O1VmQhteqNyH7;7>$6v<>>(b6)81F&oH$1WiPG&Kh)zMip6=NZMAfv1gxLsv4 zwy0q32L|t8w%4h-@o&Kxv<52FjU2WkPk#DdY&uF6WYBz%Iq*+yr|RZ58VT|W&?0$` zO?~X-Gcw{93gR^pU1~GF%_Om;h}re zN8~Ezh|a^uV@md-`&3z)On-CghYZPl;N!BuvV${Uhncik^EO5w`Qi|3!Kz@4cU{uiDT+H zL^BHc9qQ%_nSfRqsbuse)#Of#(m2i zjshE4GYS=%=kuQ9LT8;es^NlF+J7DvgU*mzRBg~atDyK1?W0KigC53-J3M|p8=TUh)^)em%9vTrWSJ3PR6}RqkshsqE6JCpFT-{~e zJl}bkKp)@KEDmo+uM1#;U1{cV-;xi3&Cxd~DSlHs(l-km!@nZL#PLCkpSZns-CK!B z?S@61B54SBm+1sbG#ExS637`gYl&(cn3E#-oW(OZAZ;ymAF98%?;!qMrEbGn@TG)s zU$W>Bq8F^GXr)4H(I=D&*6f0YQIJ`MkI%7l8L{s9$)W21cE?W2Adi3l&+ zQ8eX`dV2q%dENrFV}BP%#R{v5SBaovFztMOhkK&S*D!Ckp*`Fyf0}-pu=x685jWbO zOkN_c5+5bEOn0!i$fXuMaSla1dE0YdhmMa+V?Ei^w9|NrFduA51r8gI8~0sfe0EE-aowA^4jF$BYhM0LIkqq7 zeZ>BgBJ_lG*6)dVHGDOYuffDSSo!KGnQmt7$JOBm-yad)uU%8!5Qql;6)%rr56h7) zOx#{G&7&`TJ{K7M z@gecU&_7ALl7KfHS8EVTMY0>?wu*?0C9oGL2Yt#OyU*|nOW;373y42m$$xU#)+#pJ zlj-Gb7g}(*M@>PxQ2Ame>y%)84oa5C=plaf0a0-~Q06NRQz8E2_p>XunY=SRj@hkJ z;Pe@Az+c>=iMRQc*UuTG1^-FD1kp$hj(Gh;D9NBnbyUFIMdCc-Hh<4+lC1F&z_dnz z`^0~_6#5BxcWNebG8KYTZGd`q>Nr=W|Nkx6kVm{1!R~wipV{kB)Dmu=y9hOIsOlTLKxJZ{Vy|zujI8M#Feu)!*POS6*rN6j3c_G6Hn(Atx868i~ByZaZGB> zCcfxb(Jj%)6op}a2E->T#Y-E=hSak<#6b7?6xIM!?_gm?Ls@84+*;?F5h{>(Kmt@H zhXSG_?Y%}x;MbM(YN*u?Aa3$2<#5svX3izg1pZTgUQg(v-Om`WepQ7x+TWBSpXwUq zy|<92!e>#-W|kb}H1e7xfj_pBQ>Y3o+V$sIO(r9E<@<-HcRtD|h^!MfYAXGEQFQ$C zd4-df|3syhzD=dIB6V*2QGkl%$7nnnhcXLxdl;MICrTRhx9xJkN_KVhx5geZcVKFi z^+S}#XRbhB-y{{weZdVu6#}%x`L9AQlIkGuf25I=2V){0P)(!O^5^sKg^5Gqf1Bd( z4zu-}w{h4^lz;d?O!DpyBXa2ow<@NKrvC1t+i^p+&Nrn@IxnF=-*>?@42qvHal|e> z5*oFaseg~(YkYl5baB^dli|Fy9&+9N4;vv(@Cx0^r|^ij^WVaQ4u6 z{5}>ZXt&rIER)A+qZD+<;Bc%IJ9gRIkNo>uck_#2S{H+}fxZ~jU zgDx}c2B`S2tpx4%_NP#IacFqghc;=&`!+>Ff0^1noc57kHRYMlB?a$pmRJAH*nhC7 z2n-{^XNmXHRsGxeyjVhJuhuLhRdi4*{~8?(e)+#fml+4+q`s1W*_<&Zuuu003s*@g zSN-=mx?>o|e^3=k?eUZ8at}~c!lqL`mPFw+iQfoOiVMSTL;?NoL{mL4HSE$%@ITEj zvi_|8vGj}N^#Zjx^wbSyRt+wt2tu4oiuabt?!@l9L~@F{lku>@VXdNGDTWf?FpDd75X|6NwkSh zH#q#Org)wz;x8IdhR;BiCfTO_zoazWI~e5UOSAtz6(u^fm}r3FR+Yd$uToF$U+~I( z3EAp!_>VD%34K;MQ3MVd|MshB>MN6}Z^hLPFQ2#QHs*pGuk~OKe}B7;4C>e%k%N3X zTaW6$#$J4<>1sYe(XF1zaj_VmR3sCR`@F11Ys@7Udb)Z@|1VXuwhxQ{$8cJAp?~p^ zb3xwtw<*_X{@bR?dG68oesL*fZ}Pb_qrA#LqG&oiQ@y^HkD|6tZ*%9~L!JJ`5?(6f z5VcpQX$rTzZH=gWm>*tLYWXNR;unMJzdtRqjTsb@^eXc9$l+Ia%2p-hzgSm)Ov9r7 z@_6)HBE?#HjF+z^?=cy3?_cguAHV(!CsJp3Y>`i<8??*CdCTE{Bl(1_3 zt0o%la^T|srnJ}ix$IL9R2}}pE;v#`MBy`v_!T#Fyp(?!=G*=Qv-LIk=Ns040rNDH zbE!cdh&QJ7A&x?->pzN7w4joTb0$GQNl*}AokD7R%6b<>o`ez_q35>LUY}MI6H*H0 zGU?PN-I2T=n9!u%dY?<)PKPWZBItFSNC@+|_VFgx_{krl9TB@mf!lx&U&YkMH&rNN z#!vsGdQle*1-w8?GmU1E*k$$UK8HRuG2dEZi}nWtEtCLLTIWct{}Hu@zFV6(YQf9w z?;F%tKngm=X!H znw4)G^8SUWqqo)+)&@#p|3YRQ5&ralfJ;^pVy+D2sq#$l+aI7KjJit^ko3)hdHf%= zRy>scMe93h3sOZK9!-?$3%Wf+S#h=mrPC}%S23?0Mw=)ae!mF19Q`N~06njwWZCn{ zEs5%}puxBMv}-}6WgXFBK~*{#CkU5_PA;5yI{E8BhuD7ePnXnCp4Ip@4(~Gcx5rsx zbLhn&F>pV-NFsR6j|Qc`nP!)Z)Ic@3MoM(6wgyyPRUgp|aJ04rbH_VU`E zETNoD+haSu;7*P9@h*`yTYayWW!ulrlYxI!JkuPe71b?s>U*$;AVIJ>)g{ z?SpNW$lr7LZ2QnWLpW68U)F_)zfENeeAJMkIt82B4#p7q26HcB$@PzDl_=#(S?%PV zR=#uNnRq((?$|^o4mB0q?X}orTc;3>xmdNDb`D5X8w^6k5 z_p42Uz>0O22JGosP4qO14KInexi8Ni_3#41#3r7FJjN|X7e+JgY3CB}j2yq3ZXef$;qvm1m zwP*)*{r0mf$bWC9bK?Gv1e3C;rE^>L-}&5x_VwJ`=JAgov=&)cLTn~UC6T^4ghUC~ z;g-6!)XjH zX5R{=aiWsTM!zy>)Z>Mb(yQe^J$eX`q46OuCZ5@~+!9p+g=P1J-s`_Wq?;iR#FU+1 z1Hlfj`^S;<#vFJ?^vAGLhjsJoAlOSJepzHtIy*+q=?!30Pvl*A$0J)`635oK;w-3ug)4%IluW2B^qeuvD-Jo>_{Tef<42^t zqfi25#)h{})G!b9np3e^FlN#o~s>f|O zjQBy0>V(4NQLjGqH0kvYZ-VR{wF%7H=mUcVcS z;S%2pGeYU^e_S1@6TqS@(o3jvT{2AJnGhV`S9Ig6T7U3|zdiT2_~$B$5m{5In{SO9wlVp0 zmEUL=^?iJ)rm=L&RuiK7^{_VFk$w05ybU z;}k()kU<`wj|B41v&dmDVtS1PcK-fgjc6ev4fn%#ZHe=)kJwC(P2`QeJ$3YY&ri%B zg8BVFEp=(F`4I2^R($%QtF4dJ2h6CJD?bhwQHo}^;&y*1ed^$dEg}cxiPe2S7{gx^ z7EnMbY3u9}LR2o3DKC_@$+3~P?~$-(Nl`R_3*!RCB-sJcoW>n;ZGX@?{duUCC$5+- znd=c0vzyz;3;qGGUdw~QalB{Y_0hI+v zZmHi-P4YMG@yZ{%xzWSKJ*hwZ62A+^_TX8Lx~s#ty*R?1TnVCwF49fbDNrH0THnM9 z?jU+l>IdE9+aSML0~StYi8^h8<8;gZ3YWzBClRJg($$Q z0NwYZFvCjELR+Y#D(g$z{Jo4I6v(RIAwB>BzsW=r==NMnj?SSJ>XZ?8R zi)kCVj!*rW=r!ZJJvbcl(o79x7nFn1MzBmL#~S#LKMf5Zt_SZ|kF4Utu|a|edWucf zE4bL5Kk2^E+EjkW(|}u z(u2x-*kOWFqx!z_iKnl;r>;d70>&grAZhL|{GA1dDMq0u;XA4C_e|kK9Y=WNC9hxtJ@?TZqN7#PO0tGxTWq?$mD0c_voS}n{Lk(fpB%4$ zu83@Kju4?-{j0NY_GM6cnQtwPdfQb|#Kmgdmd($_*iuLXQc?!CvgW!Z9ElZkp!b;c zEEJ?wQGb?lthy?>pORGTcgs;Gmd}sL^%&?D&9av^vl|oUsQrlfUM@Z;0I!;E&{DEb zZQD6`E6)Idqt8cDW;D-n)poLE_rA}!Z;+U^UVoV&Se;!imOv|p@E|qrw2X}qp%Oy# zAY3jU?C766eib{a|3RdNVLtIAqf~)`@V8VM7avFS`E8_x)p%4>C4q00@9O=OKtO}B zbvkCc5Ne#M=`D=m92QM&*#2g9$MDu*iqpPY50LLY%K$SJ+NCM+m*t@-IL-SSyosYb zKOu`RlgdzV&qxB0-n2uu*r`p9_;yIKH{cgH+(EMtwNpmRnf;uIf!f+l2Kd z;Go7}j-{?qAIdhq>CJB5CrUX_)ES?M8tmHo);Scybx9_Wk@rSrj<&>h<_>-%dr;Xt zYTHbdhg=9dxP)q#jaKIsLXD?LGBI3y449hLGW(#f=;xr>UG8kWvhuIMnPrV1%h zp|Z~*)>$%e9%$IYOc4QZ^6~R;^78-td9btVX-vsqMZN-FtxZ!E5e4EGU4^@N-S76o<#{N@y!XBr_C+R;i|I&c zNxYHp-&-u)j7R{O@Lp^bZX}6X<1B5^Z8Y}V#ZD0bIixg$d#<0IhRd_W@DSpW;1S`G zCE_O%ClV%-CK4o)BvQrnZ$=V&gkOKCXU!>MS}tPfC}PRzZ`g}viDHRiiDro{k1CHT zkN!j+lT421LO@hcUq@^hT|F>6Ah=<2itUl#W+9;~;Z(uwiZ2|K8v&OWkF<@Tly8)u zD4d_pYYV90D&TS@m?CJ6S?Tv0IPX6n!0JaO`T3wvO~%r%QqO#ZU*7Lf&wWH}*B>Fm zAvBO7!eYVL5?Mze{=x81bZ7ss4O)-TJyMV3X_pOTG!I3G*Ir#=XXFt@hu>aL;awyx zd7%3q-D#jqhsct{DdDNkDc`B*Ddwr_ zDf_A8Ddnljsn}`YDf+3>X<4BkPIu6rr2H{WAZ+?BQtI_ZZy_E|i2ojgJb=WF)Q!N6 z#Er;}>=^%;_?YmR^qAn70246ot{jw3+j~5Fd zkY*2kd*62b@-%g$yk9dGNFdD->gum>fA4N_|M^<+RBa=302F0OLplJ8wj=}7h3ejC zT)Ui#_o?+C$H0id(!sw^WH<2o0Ws2qVVsW&_m$WDr@I?G{gyFc!Z5B!rTf}z@zbjf zK)*CDKrDFiWW7&0DvS`x`KWkbeJy-?ydm8m7K0>2ay=^FgSNE!yNofz!jK(I>4RC!Wx({WRAGZT^$(h^bG7aAF&=#b` zq_7#MaEYdfuck>Zhiiz$lfi>YIlXvLHmsg}ev>6kFpW@u#2zi}$% zFY$o{?!VpVbokPwz0BxB+oLLGx=f$X;F8{=va7nQva3e+W~CIXv`T2a9F#d**#)N#+}#bPMKgv%v5R)qQ=)0E7ur3bBD~Lr5U$5PirTM6eH#R+nCv zT9@gXY90!bd+|Ka+GnDe3X8adX!0-U+NUQ3a4GMHixTn|9%_&kwOHol*g2_Ph$wzD>EX+2>#o-LHl$ zlz`M=Nj+>KYPT&HH2a;9tCC|i>7-DRA~orhP|gR1+sX_6{apx8iKQwyB~;S$`vuj0 zE9AHYrWTg;$oimi+jv2?4}!o-z-q{(M^Vp`3!Z%#B&-BEiZLvI_FaO0cdJW+J#hrh zI7!hs#l|>U-#FE0DJgSUZQJI|^G4?8)y=z`q-3qojCuIW@+k6DK1ON=1WwfhTJ1IOPQKUnrWITni-nO zn(3OU&qdQ1L^Fum=|O3RBh}lp+k$5%H`oFBT^3ThQfh0j+|qw*h{dxAf8nfGYbjc%TOm0(-gqG2!`);()7%k&%N_mnS4&-GL*Naaac@l-wr{I)_EjsZ76 zhB3A=wlKCMw<5Qdx0JVsl%%+&xuxl(*`%4IxuhAuCZX~7CO19|mPwX8VA;^(d*+*o zGt;fsQMXhWH&{Nj{GR*f*ICfk)#!05j3-Ry@!LJ!P2ZXFR^liiRhm0Y?y=;a?Pit% zoG#4}X7HGIA8>Lq;4%L`=mzf$uq{0jmVu;4>Obb*``rM}q_@LHkQqn@ zq@kz`g-%2|0aN)_y0*<*HrCJd>?!mdF-7b-MH~?g3dU8Ox)~f8>=$9z<2-9T^E|s6SbfK_ou<8V)w`}>B|BH!fUP=xHeGPkWE?aH2sJG5hx1wr&z)<>1Av+Z`Cpvi9LtL4=L zPta61-IbD!#ZvV>@QiS~baX5&lLMq>QQ5_QRj?Z5bv)KBef4P-!waCpZNRO~JrTlr zb-K#p2^Ay$PwVdEhjS1#Lp+n(E) z+p61Dt9V}0qYolisjHe^(qj)2SFx)+Uf|IOv8&uwH!rYmok5*;oqpZe1KZW^s%6?i zI#n7~dTv^7x@nrJ7joo5I7}v#RXPtavU_%OZy(BOIgAy+%fr^n*2>|>>c{T49euhR5ng@A*k9Ec~4rUFrfBb&Ge#4N~nI4oDlzx|X zcRs|1$BM^}$A-s|xW%=tz0JGrvHfyeWxKKqC@mWx7M5}rcjmY)IO=r%=}c@JF-mn7 zeWtXnKAM}}%Ib#7mf2+<5P7DtZ9dw0ZpU`4y;j|&82~`l=b)Arb?VH$|tQn#lrSpKH$jB9&k)GzIL zXJzy%?U+MaE41SN%}xCo(RTUhR2q;2C1;iQsyEGNRNJki$7wK*Fs;XmdzG6;6wN@R zurx3SQtPquUhSq8#ThXCDIArtJ)uHW5R_15_5uPWr$ z&a4`PZo@ypW#PSWI(Q@0u6jxvSS_U)(sTO^5e|=q%Fp#d`{o#+40FZM;yEj*)!Zg@ zbB+WaJ6GgbmEl;O0Iw=A(HW}(6?`kGC@3kYDJUwaDkwvDtWa{SVRlqBudLHCtS+y1 zf;Ph`;9@@Afn|Xi9kRbFTy=!2?W#?oUeH>&5W);0fe1!C^XUvMG|?ZLd+DQ7TPY4@ z^D(Kd7N4VNE}X1VZ!VpzB&&33F7}-(=urDrd!)TP*9}Kj@@QLD^}G#fzr{qP!>ggO zb81kvxiRS2xurfx3#13q0U3a_LHZzFkfEEFo1UAFn}M6Qo4%W_o8ht6vEH%HvB9zS zvHr2{u^~VUpa;+a7yz^Z`T$*kAy5mb2h;%?0JSY^dz3Do}Ghniba z#5tS{%2Q>j1Fi{Ge5kq=L>$0{p>9<$9dK=^@x9)jDm+x)@*{TP zJW$IjuufR*qtZj|tvKQe4uDEmh3Oz`9u*&|Z-o)ZaA{~*6;cOT`>6Z?^8F}Og5$(s zqA})Fyqsk){X!kes6J1uJ}02QfbA09qGwvhwSWu7h2YNP&J>hNng%6YnjHo#pEr}) z^FS?1XsT$+XzFMRX)0+-X=-VTX{u?;X+X8p781+Qn4C)EoLbSG>HrfJ4yPX9&%Q;z zDZUN9F}_v4Ii&W5qz?5N_9QN)Evlxq`E|83^Nx1*2Th3O>}BI+beG~5m6e+OT9=v0 znHI;DCa>o6rt@a3ro-iM6Md=$<|dWevcu`JCWqR(L#S<2giy6$bB0j4c}a6~!u(v| zGPg@>i*oM5r6aPuTOp|OlJ9VPnWM?j5d`6$=bqu78|Ed^zeL{tcl0b64Fx>qIg$zDR_9WEZpSg z2!r(0hA7|FT}mF_E#ox-9Hk+lH4h4Rm6!a7yURRHmX2UZXzhd2UG1g#;ngyrN!l?C z@>uhrcvpQXe0aPp-4y1Cggn+hDBpoXKT4J09WVrHOdS;8W?4+5nM0Y(=Sj@x1kD$4 zLZW;0EX#Nn@Su1Qym`DCV5zieSi+;(L%{7hf@}{3uo6HOpbSt4C%8zZIde0gbRlJzq-CMDvoUlH@F53FhKAy1ZU9T?iSoFgF6HZ!C?rl z!8N$My9JlQ9YTf#w=h5;A-qY>J@?#o-g`fKt?pUfvv=37UG-Jf*L%McD^@@9^e+`F z6o4Cam$$+N@9Dd%z2P-m^WF!YSE6@aJ$et~_l$SSS7`^F%VwZ!y!({9N_g~@GFGO*t;yaz>&-Bc15phVCOHq`<%N@xcAZ7>~>{u zE$zV>=kq%Z?95;NAs+%29$YOlei7am-i^THkMf}6<$+2MO~1(R8}IhuGe>67-m*Z& zhlXDyh{?VTuRYp^_Lc`KKeYU!y6?QZ!Ir)Mfu{T***_boe~w)&W$=*r3w+OXr;fu! zrpBCY_@bI%Uwl5W=Aj_r2@50zq61lk%;Pw~%?^9#0;?ZNTuXi#-Fx4iU5W1pvSpjB zXuc?|Yp$zyb>8V3xP{$>A4-35-f!Op!XGFw z0Mf&CpjW#wT_F1yax`f!8EI}yX^^%wkH;WaDnL2b3ZjgYM#8~qtkKrssYQp=KA+ z_31j7*-?bu4&%g-QE+nO@!_#{)tvjnTwxIdS=cTdUB%~11M4viv4z-Yym9<-pg6ub zo;U$r04IM`xSf8u(~EGU?>;-k5Oq>9o$nqyJdhbuF}?48J2((d(jM*a?mMiITGAff z@4h>f5Es%OD<8SB=afBeA#SgB-VG}bj}0>qmk-;?nTN?)4#~aJj!7A20XMsK)DP=B zWLs46EK%A}*pO4k#0~?&jczUVA76~D*gNt}^G)+i3vh6?P?AyTfH%^)fU%kNgX!EQ zu^sjE=^%>Xs##vc;cU0WS$-k8<$dzbuszC72pKjf5grL1F&ssKN^0;v>=J?#b}|5w(gBbG!xTRN zj|ob`>^^WDKd}xA=VIlBq;fGCTmH(ck+9@8G2us7M zB`{^~Qfkw0lWEg#Q)x498)#c;8){oK2Mvh9KFk(Jk7o@|+IF5A%ZI!PH=3g|QOjfM($()%cmae>4I9O@Qn>JJ zId={ElwNS`=nd3DwlRB20+@c9eh)pD-%%gPi}j92Yg~-HQ0#TD;vE^Q#da92Pr%al?TKUJ^kNA#c zC%)-#To@KM8!5cbPXeg48uBb&EY)OEt1PS&cdt^#u2E;g@`J6r9Q*3FEjN9^4J{sh zebI^fA8lI_?BXbr8z%|mE;TYH8%Hr>+YzhVKb*8=R;w9uHfpkkiUES?0KuU2Ad=xa z+&lBWwF$iZcT%46-Oi-Z)>zc4ldVUwa{dFOcMv1}BzMHOc#m-VF=P5scR6GW9V#1P z$%|46bcqATiKD#3IR`3Dyb1UGI+QQ_s&m2pOk%)nUp8Gy1IrPaCob9*rPut#9*d)KVJQ8GtEqKWNtjT zzKJ`UsW#hoYFamgyCdm(V_%8CPPc)B+@O8nsVa}5McizaZu+={HS6Sn(%}TQ*6Cj7 zfOaC!0`f!_Ca*VchPW!xfbwo%{aIC;{)n!ussVIRYk4i|9a9f0d6%+%73zdNjow#lQfM(vJ zzY1*p{?CsIdr!+N-)PmD8f_l581eAgc?OQhXl9^V9M)K0y7GNJvgbF`v$^!V3b|#e znJz((48^Fd$)j*{)M0bv0&BP53Ng6`_2e0&H0U09-;kv>B6T%=qhv{!&SO-rWW`X{jKc-RM!-4`4-#T z5BCi-v%0+M@|zuxYrZhrW`v=vtX0YQpA?udwx+U?4LW$o&AuwU^XyM(LV2vz)ZwZq8m+As?-- z=t`tY>F2Q%9o@8+W0<1?W4tsB)k_JTI8(+pz~oy{1n~oX`mXBZ(oO5$RkZh24^rn{ zkVW8FT_rvMJ=(6ZAtR!qgnkB#ju#&iCDPo~Gfyj>31m_=RzIQ(MahcP`mbIqku%I7 z_8((_axZb7-fZ}Cmo>xlyquCK@k4rEeA~~csnE?Gj z^Xt3e*FKZQl@$*#T!Totf&kO)Hc2eXAf3~uhj+`MnCY`jLIL%)VN#7 z!lv1tfFthav&uoWa#S?3XXsmTH6Q*k8Y1FOb)r7;|EnP;@q` zHd1BR)vkzXCRD+mshmtA#%XOY>9EWW(HRfWX3viy`S!qAf@aRgV8^|e zWO(a@vUy5&nm`a(R{n+rEg0a>6A32jGPfW@R@Y>zDorZ@ys}T;t$FS+e zmYMT#BS@gfc6e1IAS5@G3Fvzg&I>w!CZ1TV2Sj&);2kfNT35!JHm+5Bezh4fD!Q<5 zCa+%-r&VjXXA)QR{-F4k)H+B|Xv{ed_~VzV^)J$B2y>bKHluY6VA%ip*kx=OqKFbkuxRgDvUVOS+qHv?6g#s?klggzK*;1)D1&6+IjB2*BpkQb8 z7QPoIwsW`Hu03c|5g>R!%Int+Sjg708{!%%6y`x1~`UC8oDL|OW zHB)@>3lje#CswANM>MCp7$T&&j9B^G-oGEq7O{7iM1e$yhpYFo_!!nepD5*>>3nt_DZ3$CiBWaQpT4gqR zOAkE9 zUA)P$a~W0jmppKn|=&Am+k0^qHFnrW3l~G6jex+BHrxD zb?f{MbMWB;a*;Lt*@GwS<&t@=Wo$(~FBPYr7E~y7OFq>^)zpkHbHr_fy!=Y(4s+J< zTt((2l!w*O&wYdZ8i>jYQwm7spL1Lb;l3xcnV2>3l1V?oe^@=vU$=A;PEy;mUTc6@ zgE9D+r{tWXoRtpfxz;S5HlI2kef^XY#>xK!jkj^y={l>k-G|xbbh357TM~z-@Z;%Y zLmb3W^`7+fvBU;tQ$yt3+V&k)2uRXb`cnrE#WGN<@w!Rq|xbPpD~C!5Kepm*0qQZPnJE)7WeM{=??9E~&!m z_}p~(okCXj$tUK-Pe<5VyJ`vZMwB)}p3uaFY0fw6C}~|MAJe-0-`P$ci`cWdN6A2p zczvoGKe^{~k6&|^^SENok)O*S!&$e+Shfs2u;vg)(#J`ax!tW_8buQ|lDp-{6k$HA zIhFhsn}{`smOn;qtLhcap2|e|rJX)D;aO2-RStj z&MIY+%H3Q4NcY`LIewnOjEhR%h1_&@O?>uhIn4dVljWJE5_B_D-+w?~T?iYY`160D zzDQnK5G&h6Py#>ZTOogbwkEeWa{THUBah4G=RWWGV>0|DHNGYp4KbSZv8QGzPB%Es zH~TwZHJA(Z0;yUsYRgM5GqbNLk2P2+tsV9k`^66Y6iT$lpQXK9D^?lL_J|rUF>Fn? z%3htanhkg=5(cE(WmO1&3?>wzGyCzZk z#!D=4S z`B;YekA?Dad}(XVACdjJ#7LFJv4-)Hc?x#u}8B`>xfL|paEvd3k>_8m)E%JJ0ETRf1@mZXYn z!Z~9T*QYkg1UJ{0HOpk83y{w$4>^OAAtsIoDxP^=c)7PU!ug=a?Pm@{NJ5Y4IKt%`$dr5YRqPx&8klH7kn?~4*VT}kB>XP?Mh@R z5u=<4*Y~RWd=7LP&@Ao6V9hy*>?!d!6z;I(;O80iXciT;P1tid`ItkZe7WeH`UY&% zn{RE#Z-25t)ev{{wtJb3hb&e7#5*f@Jzis!n~A;kENRGjIhJrFz@B}#7fw{(SrXw(%A88iIkb#?K5nf%%GFK!o46}4&#E;BRWqj;)z&?4 zzN1CI#!SOf-$k!x13jSO0riSQ>%2y)GL1A2@yXVfVfQA*$@QrJDlRKi*{*dYCw%2o zs>u38vizpK!1n3XqJ6tuvkBQK1J}{6)SXFR++7VthS|vywy&KQZ3*0W=IN1ItHXhE zAyu_$mLYb|9W@K)lu*13u@~Y?3Tnv$2TH^eYC-rZ;+O zaVT|vi({}67l+wCWtEa=T%1MHk)s2*_;St6Qqh>MOP2sS>k~a zCnoB=33u@f65Hst zv#L1`PJMOS%k+*sj;ev8q|dbuTq~v;>IB?#wkn46wv$kZg!DUtB;Ei2qpRAmq@ zwMO`BC`M25TGY&f$)g&tfHGDs%lk=k>7|*x2HQG$RrMir`}YyPp3XI!Yx6T|l}XVe z*F@O&^K=0V!aQA0U%$>9V!bY6KB8(sQOq%XtLI<9Z{#!+m$B`cuiwYew~wz2Ie5&e3!-pJ!7?fi&KmLKrSFZZa-kI2EoI?mVt%cn&TP z?&ENSaG-RwMcfX3IKT9}4--)E%E!7a3;aQmK~wBt_HLO1R!)+R&I~jMQw4uhNF20D>wD$sLXf1zv8gz;2V50paci`ToW#}EaxFqE zl0FRAg<3>eWPX^gOSTCA(9bmiwX_9If{cft*85x@F(1so;Q|sEy{PXhM*ti_TsBn7(vTa<{4pnX{^Ig6N0rEPv<_ z4$HYa)LQ#EjouOhrO?9SQ9Cj;-7x6ID&mQemR{VvBZ0jQ=pQaqrTN4_7hJIQChySVwYMi zC$$EW^~e!mMe?F)qmYnf#R~oU`jAYeJawaY+2Yt3|7zYSfKmR3bMEHX^Fr>oI~|`A zO(=Xa=%H`5UIEg|W#ZhP4QESmPHQ#Fu&HEFk-3%U41X1zTWLzrPAZp~_9;(NromnK zMdfMF3caCw#u@DV%1#$-nN=!zkRnPlcY{|>+n~o${(J}Wl7;e~O)=-kM=9p>ELX@< za#WE7Bpo4JMJ1fjs_QwMrfHeVsY3}-=@tFgT|DyBkxGq9YL%TI4jPBDw%AhQ^Qyf{ zuJLVrX_bdE zMLHL1R?2TiJO?8x*LBiVu+dFeGFB{Z-o=&W^9;7OE2o&hq~v4!(vQNQIIWbL8D-$^ z^uhi>n?|7nmymR~l;7y&6i)j2Fep>Iea-IbT7!`M)MfOi0kUUbq!kzYIm{eza{<{% z(7;Z%jCiSdIQ3CQZoZoSwMG6ne?A8b-!LO?XdM^3$;#3(W^aB!;e|Q1o7*FYPr*+y zD4+5-T@1WR)q;IK##>eQriJx;K~D1hDahLUdR%_Z$d3M+AYdB9NLruIN+r*Tf-TAw zE^hLqiXEt^@{_-P{mxQd@O8CsqjHIG;FDLNH4}!DYWCe%A6gJwRJ%9_I~R?S>8C7LbT!jSM|y@qLS>HIgM+qohxrZu@e2ohtqYy=logj$Id7H) z%I5hRZ z@f1AncJB8*&t^HejBLu@yi#+zfBMRT{-O4fTfm!O-G+@4 z8ZB;F#w4mS0 zsjWDQegYO+e~t0;s{LYjwykQ$og%nlNeltvgf-G8*;#U`(XnWIH>F^6S5vC_;| zR0Qg9+gSmt$BPy-JbZ!GV@1sw9&*6yiK43v4{KmfiXtVq9T?~|UNn{A;RSRWD|*ds z=KyqqC8@+mzud0|q;+=kbPi0%LRT2c_4W@4vAaQ`RdqbimRCST6rHM}4Ml;{qpCu^ z%)98Zf(Zw5Ua!*``yam&$7TmZ3mP0c+0c3!#-7s2M_w2T=e#!{+R&9uSvA4(8%R;m zmEAC)W$8qdBsdj#>H5HdTKq`}wIaMa<;cUGy$SC9Qh$ZM8@jN~*Jii+>9jxAk`&4; zX@itjpc2KyJXWLxtez~=$!HQvR+}l}%V^?Ho*pgo%xDrzo}MgfXDc|9JrM2i4*@=6!5InN!I7 z>1d&(lOdBK26dwgd1zehnP^;bkYjnO!HbsJbdhg5onTPo6QZtj8bzUbhOw;!xOSb4N!&Fx# zf0w7Ug;#-+nbqe(7*VkmiDdLFNK&9ULmQb3nb^Y0CRICTx5Sd@K8v}s9auG0ofM<6V*IY ziBEheHM5Bfi`8|AOJ}5?bAd)=pB1S-g9fhNtQVC#*dEqv)7mi(RE zaF*{pcsqGb-_F*r~)P?oeGJF;Ba-TJeB#RmIj}6{g z`b(K_KP7nGllUvfrcEbp|H$VWNwFuTXFy?lRiI*1sOPeJZn@;mop6eAT9Z<)Kf}gH zho*WCO5VXuyzsCo+ce3%*?NFKO$;EEVCdxqxNblns~=G0HNhtQ^Ai2=WQAktsD1Nt zszl{AeEgV+gmV9&PQJ!{c!dZY1!uLgAD>#>vj-oD7xl{|G$pJ|YtDX)>PhB)uEWB; zs0^ISAt5o;7WApJ;R38|l07t4jWRBOPO@=O!l9 zzueY1>s9A(xfY7`ZCx+3s_o;M_}s>VMP94!b|q255yx14u)uRW+2aSbzm9s*SrcNi zA(AX8-NSG6eaZizrQaJ~$C%^qlyx0z;|P4CGtbEXny!(J?Mr*;Htgim*(k3v>0RPM zhQ0L)fA_h!k<^@m&GiNG<%FWzvs;yBp7cTYj%=Nn59V!`XwH2+U4;%5U+c#;r2lk z&N4nJCOyM}P-hTFyz_C1Swrkc&ugq_RJFIUi>vKI(L_1`R>t3jprpL=Bwlc%sIP<2 z#_)y?XBw@6{=9f8WUXxUs(kWiehx`?beJ zSTct`y0l+~bqN1{2;*@2x-KoNfh( z$JYf&w4pGtQp<9$BobDqNqaM~2wZK+kf44h!vdA=lK2S!iC5l(b1@2>`8>;n0h}8_ zC#^S_;jZFiBwbSgD?Nu8yDrP@wigO>YPn@@v=rN%RZTYrK~X_qfy)XU99HsO4YYPg})+TGI$@6KF6oZ zU;{e;v;|d8jx^13wYByfu?Hxt)|*!ynLUF_s(its*9kmbDipvU+=WnjF#(0C_g+pI z8O5sC<-z^x^s8j#Xmi8741Od}g0KpW5Mez!6%hY!A^L-?9w%I<;?X7 zHgV>GI&meB(t`;>WRdZLgQr6mhtOg~2Bqy%aZwWYd9}>M*6^`oaSnTFUh##?*!den zLPS4D?^}i`j_FiNTs-zM#HvMou=JUW(3a;N#C+*qsNT`~6Jpg2gb1 zqB9MAU(4tysNUt>DA{d|@C3-Y{Lqgs{JW>?)^82Roi>$wW%GV&pB`uWZD9%boVdU7k zOxq1*OIfPvziH_T(w=P#AzNERwUco7s}Nv%TRxrnDBh@C@`G1{-1NVm?k#( zNiaA@N@%!O?Bo};=Dpk4)}v%CK3hww^z_qSY`y&)0*%z< zc-hk)JNvGcGJ-_?6G~aSXD6gcD!xf{gg|vEY%y~L#XjK~J^fIgW0-<_h`umD-BhlY zQ}Fl^ik#BdmH|0yCydKvFB*0coz*4}krdPI`cyg>1#^yn5_~D4q&1_CRaUnh|4AV4 z2Q&VooyfY{Yf8tB%5#?(4Y?yX?Hjmf=QxosSpLp7|L0~*Idfc~IRwNJ0*r7^=Kh-} zFj}kmcODB-BqzAtu`UC=GapJ{G0#X$(NknoBW{wQ^pN;7(f(6%gfTjPw%)!;I6(&r z!7bL9biuEH`(m(5oRUz-dCI7?;kq ze0<1n=r;qb_P`8yWVWr`dq9pU=)>(_lIO7G+xTq2T*7x%e_Q=gje(LmIa~`p*Q~#& z`A>d~E%=|rDM2zbHURvuw*hk@X_)?328aw^es9>8dCUA6M?+=Yk{FPb^+-7E7_^kQWaPvKaV5q^g+crN+cX<9kM`um&alx$S4;c={)_;OOd+o~RX^GC$x z4=e7r^gkC$1yk_=pV>^3qToBTG_r6Wc*8T9oe(xV4U z-1UvE5vII2Bi`rLG8;stUYD?mfaX^B6Acd2;MU)HXoOlJxH3Ct7>E0ishZ5NPWB4#U%ek0kwv@x@GAhzH_UY!Ak#HD^C(6lY~6OGEaXB99R>cH z9QRWxzW4`>7`0iHH^P5S$yv64P1V2o7=D%iHrk^jib2<&P!6jV>6P1#ch}9)`DpYe zFD>DTdGQP&5AOVgJVZ%4#!sXU7oB$QB3|bh01NstHqR8JM%eT+Ak2+|E?@wVHM)#$ zQWplt+Yh!%SjG>K@Sfz}=K+$A?mfQAYJH0q;FFK@iW*gR|98rHJhm@vmYw^XFC!Ab zBG>hsSCquQGvV%$4Jy3|M+oWf3^_Uq7jmK)bBN!=?vWd$e)0#ih06CkqhM2Xlm)Vr zq}!7qg^}gTJ{b`;oC7K-N_}p+EL1AMit7;r!H-}AB;s8chTcaph-P573}&^Mztx5I z(8NQ7Ge$ixZI9LrXZHZn0`agW;jN5$h?jc;4d=UfbsF400vX?0Ty%5Pf}Ub}%!gN$ z9{oi7p>%5_NTT1Jf`7jq!IkP$D9VKSBRTT{eddBKkzPy{^LK$=8}5XE>B?Nn2MpR_ zZ`%*u$`S8;-}wcMJfA^%Ber3N;~|01#$XoEqnQ8hIg>Y<;r7k}K&k|BlO){xJ#9C{1F^IyBNPKf9o1$0okWiSPn?L_G;C8&h%z9PcKi}$ z=$+Zm=;o@YMI#-DE9Q-_hSBcL6^Pe**q`KJV+k35l& zUtn_UtIZM8CF<0~Q;L(CFfI3!`*WwQ%`fAjgHXDN3zSZi{$EGwqiN!4>7&aiiDrUQ zVkEo7At207yO6Hle#~1mj)#9zp_R$42FCfOX zCyo^K;8?^74mb~Z_aNp%vzyl^zK-eyl@-LAE9{Ab_#rnLVGf&z-3dmR$-F@V1Y?ae z2P4MP)~5CU7WBT$Y2cU)BGnvyUOKR!PJ5OXR{x4#>?;n9UJH(}ODpQmZ=Kpb`Yol| zK*F2W5O+~1+U@HYtW9L6gfz-f5`=VOc5H}3Y}4qOT;2h~PBUrEdS4Oj)c+Bm1PyLK zK;~`;_4Y1)FO5K^^M!3-W!Tl68sPTs%UZ;{H;FkDJMj~dp3BVi)OP~UxrOKewAt~> zVsU<4sI2B8K3G59`iUYuO0d?>M=+$h&{;?0_u}8cNIu9z|67YvHYb;PdvVQfbS{93 zhz0lE9(G!7{y=?#AM)2v!>(S`VVbI>Ds1O7U|CRz`@-7UbDW9(+ED7oz?O|4% zITpO1AV#uD{-cbrPnk{F&sTLJuDg0)PlA2j1IK~3p^OAyepu~lg^QwsC*{d5b8c{4 zY?{FP67uaC;v~EA?ks=wPhQZE=F5>hr2bWiAN9FwohB;#cd|atrmT-Qi}XJcreEb# zDb^aT`n!OLThX}3LWtM(d5IWtl!^Qq{jVoB+@dWKltVr;f^l}-ce49<`~7&Cj9fvY zuVNfmq=%C}>dOclA?kXgoV&hQ9T=(ok8Z;v^!`FNQhqeMI|%ONdGxaQIYHi0m)|a# zw0cxoUg&o}agLCErma&+RK!ptDw9LeAZlbe0R%G-30!p9M>Kcoj%a_MjBxs9@zD-l zdY|dvsHzBdff%VBy<;iPP_YPK9{_#}mLcu2SgUY8##<~Q8**F#1IC3Emo=_W0D`(H zvVm^0J9t^mB}5wWQ<_rfr~8{Oq5(nwl?mEq2ChdtWG-aO7;k)VfwVNe=K{~^dQhki zq{$FUWx4w!?+X_?>3#_R5(du9HX&F)+%&{lDqfPtgTOfyih?gRvmACR)!K*Z(f{az ze&1?80wXZm>vte^WRAIshQ|J`frWW9P5ARrO$g~yy`>< zP8WGGAP(FYggARq|Lfe2@j5K{7L8P6N`r<+G+xy6T(45t(wv|RYkNH!>K&zx#SS61#TMcD#?%J zFWJKKX-o2(`fXpnJk1}#hU{4p;M366zQNk%i|qrb^aaf#hTQ|ON#yYxs*YdwKl&m| z`>j=kAaoSZk{~4?Tdu?9cl~r`4a}1cb(j$8u`Ui%a+75#$YsU|@v!C;3a3m!HU=e5HQ!6($ji zL0D)cdG>m_o{5a1;2pH_a8QwhEZi}a#aamoEDf&Uddqozv!_Rlehp^*3tdtSRd7M zez)4kDl{u%)7kLoWbXt3K>`dNE|NF;yg0LMtMa^miJNLj-e>aa(GJ4SaezOC22UQp zxasq(P*?z=<`ae1kE=*}qDyxL!SGyfHAsotkf|%Zt@n7&W z6|r!iJ2g(~H%X?=B2O?9FbE+;fAK<;;Gz&aowf&O%^WewF#_D^1G0l`XTm_c>QZi# z5k6}F3L^o9{}zM!pP-R;T%BN>^?xvG!U=8($zSOMi>7}_3<%AY6*EONm8<>-EF(7-+p?~@X12{mu-_=9CPfs-tJFzOfZ}d|9#PpLRs9@?FyI75tE2~KH6nZ}jBPw-^bkCOMBS~UGO zvJq(#-sIiC!=t~vE5YsiC_eN7h_iLtIW#&zr~+9gEqoODjVJ;?fC(;$DLo`pDsk@JLeFsLb)=>6@=5W(?ZVbCAv zAah&%?{T6HEVlryS?vS$Et{0`Lw&GD=k@YKOE3@tB3m$>0!%Lndk(FvG;%&2at9)< z9z|nEq}qm`S;Uy^lk77>QHY`F>96nq zYS(73w`rP8*W^9v9|z>z<`LHBlKFC4bJiR}_O~J`=$n#ZQG3EP&?yR}<;wfQr3Frg zQQcp96vpLGOJhjI%ln_l(`qb?{))o%O@8V+a3f3!7E~&;oWovA{?K5pFyvV-RD_c1 zGg`PKL=zTknfSP=6D!W&Bo!2;%1H&t%JOjwsm2P}xiZFXzkgznL2F9VikE5m04ImT zHg~pRg~3MvwJou(s1!|G?J*`e6qzJBE(*SZCQ|~PnTc2=oJ5UX9M-GK>xiqO%^Hi_ zzj}8%F4Gw~si34bPT zP8*bU1LwWrWJ|TE=Goxjr_)32N!_*IT8&Iz7jJgxF38A>gy6jgNXO(vl<^-Iu||WX zS5lbiF@v|(M|J_KM78Me)~KLs=M{GT5;0^aE-o~$)AP|tRk%nWRosQ^tr^+f+Uih5@10d)x1`FI;7sTbl+CBhszt! z3L@!~V8}c=e2!vPZPL)(sOX9!p6m^R*YYh4RH|2Bo38RSaA&sVG|;6Qi{TOzv0$(^ z9>?$I3-6WX6%`dqRs@jZVgsBz5@L@O<4#BfC5zP0Gp3jI?_4PdEnl5Ws0=pIBkpQ6|-w~*+atH4c+J0LxF^%AG zTrbfnDL5ntNkEqe{obr`8fQolcqI*KH<_@Xu|LjeKbqPMYrkqA;ij;p%iSzYet1IS z#jpZC+DpHQ5&+5S_%bw{5pS+l*^tldr=Fe*=$EseSMfj8^*gQ(_T+89m}yal10$`2 za94|M#aK1AIPEmQOFL^~^)7Fhy#z9fgAGI9aTsI@A2bf^!98`78R)nq;<1nuS+6nx45%X)4 zFGrlwU-ql9{DBE08E(XU1Fm%%qZB{8rTN291RiA$0|8%X;%#=j6Mh|q*Pra}Cdu80 zLF%~8Lz9^m)G33|PMImWhpCe+N%DOCWdLj>=PE@cH1B7oY3cX&4pTWOKVQ-fT`eEo zmY{S7n>iplNNNf^$n42zmGN5P+``r99@q!0+Ssp>*fw}3bT>f zFfM|#Qy9{Xh_^$ZZ?aBuw)Y$01=<8E>H!qz5`ke^3dv?c%pl;pCm^k}AuP{( z?F9YojKzB;)r=6ZAJ4rX-`iTvma3|*-|t`GT4HFy^x{7H5b6weV*NMs6hQ-faU5A! zj!z9e-QU(%PR`1%v!1yaq-eV;0xBG1DA8d0b?k6F<8df(=nd=Bj>n>#t%lqicDk}5 zp!1iluWeJNJH#-N6Gu<7C?DbpMCL{Ptf4ty2JgEWkhIiw7h(l{`rCNBCC~1#8dOSb z>*D$)N7*W(P>@_*^TV0JlU+tU6sTot2(&1*owdD;AAF5J0cqa2G#iX7n`o(>rT}wb z?NoIXi#X5fxN0II{rfpso>oHJhYEFzHAt_R8lecphQsZZhMG8#zr8mp&Q2FUoq}Kwscn@F7vBuE^!*(m(sj3FxNu%`B=}DJiMRY@SqSv%;<5|_m}dfFEK&kNS<8I3I^~!ZFQuSzHMx7 z@HQf;^@X$K=nFodM-G8{b)+N9e?`;v&+f#9kNI7!0A(G%USE5Awo^)b4!SXCq{Ft+ zyFIJ{!-#=o9s-Nd?;lyTn_s-_7;v=*J%I%WfV`)jy*|EJ5=f9H7^HlTG&mA+%AZ7c zSW*eJryu0>6`W94Bg7HJ)msOw2h3LhL*U{>{L-1N|2P52Ps{pPNCb*8aC`AE5w-^D z?>JlG=*e5JW0sC&8VOQrIY`_}ElT}3++;aG*5g$}U-!F&9gBtIiyR0ESl+zwtAp+T z`7KdpLCB{h0K)aa=8u1}?P{q6knq~%hx7vxiOB8cy2o6def7-`zfWU@P30$?PaV>U zThaUv6x6(6tdD!%>NOZ=q-NVC;kINU_Nu8u9t+6sFPxgzY7k6&S&`IEAGk__SMbvERDC3cdI}vt0tZ>?JoY8S(5n?9w@SH3XPZV zttCcp(~`W`+{tpRm@GllAR2Wjq=+hoIO>U;PRas0zNk5X(jlF(xQ2^I=?R2$aZF1_ z!$6qs9AfaX*{Udp^m_3!0tF-+go&Vh6!Ch9=0#jM1YTK5DpEVRg(EO{>Es#>vmQ zMFzaR)i2fKJWt|$2K)VxkY&5){Ci2mg*u_KH$JzB!m#sVt3Q9Rwa~N+2w}p-6>sI zh8;z}2fXHVbgOy7-W=?TN`=D;V0r*>^CW<(6cEbGguP${QqJ3kn3#O0(}Ib13FZ9> zX+_Mh-Dm1%&u0){2|C3W+S-~3yUxW1%ixN5e4zWIt00}7*&d`=D|e+ffFk)5KdJ;` zLQP{avxD8eQZv<82C$=R-$$%Sv2A$%{= zTXCxe*!ovoX>aG+Wo(KKCqTn%M$+*<@S%~h2twF&8N>K~S!=X>OF|b8V-9w<8*YO( z@l!7WJ0ut2#La$7a^@Bl$9K0!9fD5piHRD%%jw{rr~&$&A(%*Ej)P;-#v9Si|I#1$ zVI9GEy5OYZS0}MpN~KsrS>9O*q*e^&wPIAupog+RI817r7~KAK{?WfD#J~K#+O(RI zx)atoDW5mOB{%V+o?qs&S?+nImfYC}-1SJ_SKH@YU{I1R>APTFhBBJ&g03Ln$uj$W zeIU~ZNRIbwm}XZ`cjTcjB(Ol{ATw0C*KdhSTGfZlj}#7!FG8y>gM3HfrFL7^S?`;S z=5n*q)@xw}(m*uA>1R(pD4)Sd_A^FVG4N1+FgRT6j|uqi&)F}R~i-lo!-myN=~+uCQq_p86ZeJ1|p)ps@(Gd-^&!#@Hw9m z(dPt46hy>$B4Ht+A{e6lgLd2QFW+;J1X_;PrYYe-21bs-WMMwr-90wlPcmgo0xwL|Zj3ollEvj_qr1u;S*B$6Pq@zlIt18^2qXXzu?`> z-kpb{8W+-KUuw;HtMT_zQZ_x4(}tW1Db$G6s3?l2zBRsd7d?3Gsb2TZb1Bs<07(0L zN@CWyv-lx0CfGX;@13N>=J_>nI@r~cR}lKxtuaO(1LA__un1xEp#^+{Fd>v7A`w;y zmI%9KgdDz4#731#c=n)Dl)7Mw#uUPRl2=B4q(g?G0nd97Z~_ZG@;QNqVfmflB76c3 z{gy^EEFx9h*hxZ80TU{=hct#FU1Uau}II=k7hUaz!VB`JwUCJRiK>$REF|5T9 zn1u{$A|HXeFv&T^Aws4AQb{eP7zZ`ABI%I&w1B>agrmk968CaW|*d8N{`E9-@~O7(J!KUhHwXajJ9r2NI?n6 ziSI$?FnYZ}e((_CzE{cydQ{)}15OHc3)bv%k=2E1;&P7FaLyHv6!;WDw#qip-kHmZ z;P=nL8LHg1<-VE0JU@QTH+V7ZV1Tw$YWe!zS~owYWJg|O;VU}+ZMj=lMYpbQ0`IT4 z@I!NaeM8`e1RwIxwO2|nx-x<9I!SwcusbT&+;ZsTq$ZB1S@)0~=Vbm;3Q-3q zs#SZnZK*Wt+AjK}T7M5|?cN}am%gPg>WMT!*j~eSot~`dyE~ zM`{dm)esYo!_?YWe)yuz1pFMT>2NtWi=1``d(g_Y%lFb=Rge@MC;zNCPwqJNxFhR0 z^}5kcC`t%_`-ZW>b``h8_F=PNo6*uAj=l=ut39$^41J%Uc&YB}jgYcVh84t z04oh#2Um$!*eo+W=gBZRFw9;V8&zK0>zZu}F4wj|7uX6`?|F`uSNjlIs?dTvceM~? z1w9dGk8G9DM|lECgY5wHSsc(cxxC~Nrr?P0fKmB~el5bSkGVRuA^$VG(ZV*iSVtjL zEfIlN{kW6l{yjJo0}5g;n-Q4h{_iWhk5*Y*K70a2@7o|E@G`{>WAB5ym1BmPqIZIl z+?Cv#l@z|4DcM`u=AfEUD z@3^u)_Ygzow`m}EmnLZl&rG>8)5kV?bBCcL%d+J|W1(NXfW{LKB``%cGf)Lf*et!4 z=TG#fHz76j4seQobvf-u^K9ZA*?33_Qk`KWsC(8YBlq{=mIdvTUm>=!wuGM>B1 zk*odV$-b5_s>q3n!=czY-|DLrA6CE%xyHW|x)8k2TSYauJ3lcTUp@gxRMaBKX&3u{ zT!RYs{M;u4;Kr{Wp70_b*MFPF)Lgpu2WFo2YPE#_<~;BYt_Yq5`FiBMh05`=L;9Mu za;WJI=1_h9sl*5F<4aXb3(~Hui=>*x`I;=Ecp|7s$@bMG%e>}A{$8T!y?T1&qH-?# zUalB~QhX;_gn_}5xEHq+&j6%=HbkPHIXzFH={PBz7kKN?wHk%ZV_S{kVW?Pgc`3t@GHvSg`bCOcn#$K`TcVMpfR#}k^Znnmo1^zoZ~I=Svx5sW-ldzw zb6cMUpVS3`l?8)^G#4jdn?^MGngGY;^$={byksb|UD{r)oxWl_lmO9g622VHJgE5# zW8ml}SkHFwv9DpV5uYcq;y3KEvL8XRQeQ=~68D(Ah8nYv^ToZ+vp@Dxduy4)hMGX6 zg7j6OimZ;mW|Go4xXX2@7KLJ6R6O7pWa`A9=x;UaG4W>`$a8&lhhq;?wGcIucP}PG zHVt($8j&k*708Pd;ZG0Z;m4t{j(Rf`vqWH>nb`-`XY$QM=n~RxhH1HnU6X7o5}Pb9 zsVFpK4Ri2AMMfQKb4)ENb0umgip~UaALGp3ewXQ_X<(;1Y1GhKGh;=I6w+F|S`y#! zBD#&s{6-=di!hOc;e!y7gZaCw7K1J%uA(Ge%7!6r61i;R%C2n_%La816(KP}1ptB+ zJfdgs1{5z;B4_RdmN%J{t_4V`e1;KDCMoKB6^z#n zX06X@harl|N}ttcx8ENb>t`4wz!}_zCCm}O-gG`!PJMKT_G-F>(P7VYM6;^WvcK)@ z*%M5WNwWIPa2?KH1!*HuWIJvsaMo&>NgYBfF?XL^6#`HEM7QWRmRmQ;i4AyqpfI%S z-ENc??3&rIv?}Vzm|Fv>MusbJ)(An`6-FRJj5CBJ8vvo5Az;auQDl_>>W?H*UB&XC ztdZ58tWi!m%fgT%&RN70DK~&hC@jg2D9HsWe!Nn3@VAlQwX-fs;(uZx1j5{+YglFg z6h`rzW?^P>V~^oQhUPJGan!92!qvI9Hn^tuShBJJqiD;_XXMPGx9N)&X%NMWksyT& z5p`E33Hb^AIck0=m`AhC*es5TfK(EhFgQ?38tf+~A}q`|9OG(A2mTRH3U}9Y&e&G+ zkOMm>RB;JLy{vP$3<%mf{5H7NK)hpkF^p_IVNOmf+)))0f`Coco5X7^1yD6KJuyyA zK}A_v2DG%q!ra{CPe2a>6?lGfc8ZN5WA0~Q3Y|@?y4B?8k~q9sB}`qxddcZ@wm@6Q z3rmTpAkpc}B~7vdB)GMXAbcDZYTfU~1Wy`eH!L>pNsY;&0Dev*V5*)wLN>e3kEqk$-XmC)v3e|po892=sd zqWawff`6j&A9qBp<)eyTm?-VDc|d9G-64QF3@g?(crPomqfl0Uo(2dABF4WfPIS#K zLeZ^vw?(fad3;+S7^-=30cM85oE>|=5{?B&6CYDfv$AricV7#7`xqK1H4vRZN6$nuUi^iWV|1+C=cVe(@d*VfZ0L z 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 i4kX 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 literal 0 HcmV?d00001 diff --git a/assets/Inter-Regular.5b3a854b.woff b/assets/Inter-Regular.5b3a854b.woff new file mode 100644 index 0000000000000000000000000000000000000000..7d587c40bfecae6192087352d3fd0a0d25a42e89 GIT binary patch literal 134996 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 z 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 literal 0 HcmV?d00001 diff --git a/assets/Inter-Regular.89d406b0.woff2 b/assets/Inter-Regular.89d406b0.woff2 new file mode 100644 index 0000000000000000000000000000000000000000..d5ffd2a1f13064605a4ce314e8d445161bf6d4c6 GIT binary patch literal 100368 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�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 z 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

    BWYnUhRSHiyjJ<=~+j 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 `fz)4|( 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%0De074I4bOX>gF_YYLT>+xxE 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%0Dso&0ArNo%$OK<}KhqoP6We61 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

    ;B)46K|j23Pp? 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 literal 0 HcmV?d00001 diff --git a/assets/Inter-SemiBoldItalic.d376ade4.woff2 b/assets/Inter-SemiBoldItalic.d376ade4.woff2 new file mode 100644 index 0000000000000000000000000000000000000000..ff8774ccb4d6698a1e3419f5d75fed70f6aced0d GIT binary patch literal 112768 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ž~Ql(OzBh;i_U1IcRVO$So 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 C(D4NT literal 0 HcmV?d00001 diff --git a/assets/Inter-Thin.5565b01e.woff b/assets/Inter-Thin.5565b01e.woff new file mode 100644 index 0000000000000000000000000000000000000000..9d2e3e54f0553763f53435652fc9f80bf0f3d354 GIT binary patch literal 137068 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�<)1t?NxLZQEza(i`oMnp^Q`Zw9#&G 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 literal 0 HcmV?d00001 diff --git a/assets/Inter-Thin.5d8e2ac4.woff2 b/assets/Inter-Thin.5d8e2ac4.woff2 new file mode 100644 index 0000000000000000000000000000000000000000..5f7bc37cdf025fa5e664526f8f4928d27e53d29e GIT binary patch literal 101004 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

    ll0DyICBeJsz{-w(Q#Y{X= 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�>CTUX~5fMcj0q~!sUyc@}pAzQ4Ro% z$O$086>$-Gs4*Dv%UaRka0)zLMj&vBL_Uec zBa{6@q4=9hCDCYpqtpG#VECg=&-aOS>|+IoV=b3!36Ez!|M>hR5LnpZ6dfQcrGU6p z0FqJ_NXOhswvpv>szO0mDrqVeMXmF%Uhh|f!S6;#1OA(1jNdqO?5_2WbDSNHcf4Ir zaDvT!qGAgv5^!$>1Qie@gkcGSC{dJ)VKO{K_9c&8e2VhZv{;hQFyDj)7P!Mgi|w%V zETe7tS$?1E3I^wRaUvvPO)p|+HPkxclR4ssT3e&q2-V(oHAB>kzvhR zfn$(hP{;j9hBh3i25^x7A<#a({-Zt zl&%XzznB9QlRJ2bDO0c8Owl65ymTEP7DM;VSZ+RN#mZl8| z#!d($%*qrIx&{;tIS5cJOu)E3BWWe1$>WH)r}aS{4(FZ+q910?F8i&paxNgU<~DLU$;G>?&9$H}P^GD_o@kc@$_aMVe4TnNC!W z>ru3UH=;NKZ#v1%TlDGn)(_#%araZwfA@@1!2S0D+VwDs1MtyK8Xof)>U`okpX(`V z^ekc+_&kyWfG->)&6l+4RRjxInr7!H!|h(NB;tS$vPP$&{qJm6=)1MgD6t4G1?5FxIz)GFnTK- z(Tbp7krDI2-;qK9qaqf7(cknxrV$p2AqEj*iG@uZafr@%mfB_lRh0;-k{GCDD3wB8 zr9!PV>MI?ZGF%wVOvEaSL1jlQ0du|?C-==;ER#<@;Dk9c^m5~wvt1O$E)fA{E$|$flFdu+*QG@~38w=)Hlbhz*4ndP9QB9d5 zwV1ej26QK`mpP{e*B1ZrY zl#~TH_@5m8)^fN4mNX7MAZl>Sj15qo*fgV35*AHv*WLq_)}6caxS~ui$X+ z5eTo5NFPurZ`$f64I7&@c6I;e6DJQKAnfPN*+VW|9OlZ^I}nH-B&7FHQ1rQR zvjq+9D0l9@!@#h#cq8-=K`5Z8{}|>Fj@u##<|W+-+@CtIplLf8h9%1qW}T|qHO)wfL)Wz|A0bEx!#*L12t|FyFfk723m&f} z5FjE^pG1PmWFra%Po)~uXaqXlguy_WOj8z%$Yz^yI3zCDg2$us`IZ6!O(=9L5(&g& zeOY)@X#)>SuI1J9@qCjnM%=dpb($#Ttb;N<(l4 zVMdL>1wR|u0=my3%$S6AI`Zt~sT z^>}zF@btv+@>1yStrq}A5Sm5EeT>Z!qMcInjOpOqOCfZ|)#@~k>$BQ5sTheY2B~$ z>$pReDrIWae5X#GN^5j=7n(HPphb%WEm0_DhbGBYj^o1R#7Q{>1QX838A~o)lyN<-Q3(POLP8Qi zK`CyxRb>4E=%S07!3yIfJlF$5^q! z$Ce$gc5sb_BS#aQIAL?r`(F(QewQ1aVn&ZXG5^p|Mo1tVF)Bz8*H_(bd9b_0W z>);)WZ-^EDg$lJSOqkgYHw>F~#Eu1#B0>LF$`h!g2B&5ny<;9zjK3Z0$+8{iVS8`9 zRVxxCVoQ=_P4Y?kO@vgbW~50oEnT{a≥dooN`Fb=Ho_H``ip9nqQ9O3 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 VMogSA*vJ#H@%K6Zy?p<_9sp>6T`m9s literal 0 HcmV?d00001 diff --git a/assets/Inter-ThinItalic.6b3ded18.woff2 b/assets/Inter-ThinItalic.6b3ded18.woff2 new file mode 100644 index 0000000000000000000000000000000000000000..2ceec604e5319aa4cffc47ed940b2a81144dc139 GIT binary patch literal 107584 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� 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 literal 0 HcmV?d00001 diff --git a/assets/Inter-ThinItalic.c413497b.woff b/assets/Inter-ThinItalic.c413497b.woff new file mode 100644 index 0000000000000000000000000000000000000000..885d8d5d0d5ed9aa9b7d91c8ef6a66e16f997059 GIT binary patch literal 144528 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 YiFN*v5iAGDYY5g;royYV;v^*h10(jIYybcN literal 0 HcmV?d00001 diff --git a/assets/chevron-down-1956489915.3389f17f.svg b/assets/chevron-down-1956489915.3389f17f.svg new file mode 100644 index 00000000..e0ceb187 --- /dev/null +++ b/assets/chevron-down-1956489915.3389f17f.svg @@ -0,0 +1,36 @@ + + + + + + + + + + + diff --git a/assets/chevron-down-3300400168.d1a083a1.svg b/assets/chevron-down-3300400168.d1a083a1.svg new file mode 100644 index 00000000..c3918616 --- /dev/null +++ b/assets/chevron-down-3300400168.d1a083a1.svg @@ -0,0 +1,36 @@ + + + + + + + + + + + diff --git a/assets/chevron-down.9a7440b9.svg b/assets/chevron-down.9a7440b9.svg new file mode 100644 index 00000000..5435cc39 --- /dev/null +++ b/assets/chevron-down.9a7440b9.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/assets/chevron-left-2611498805.b5555a61.svg b/assets/chevron-left-2611498805.b5555a61.svg new file mode 100644 index 00000000..90d2cedd --- /dev/null +++ b/assets/chevron-left-2611498805.b5555a61.svg @@ -0,0 +1,10 @@ + + + + + + + + + + diff --git a/assets/chevron-left-3506338632.4e437777.svg b/assets/chevron-left-3506338632.4e437777.svg new file mode 100644 index 00000000..2e0ed1ba --- /dev/null +++ b/assets/chevron-left-3506338632.4e437777.svg @@ -0,0 +1,10 @@ + + + + + + + + + + diff --git a/assets/chevron-left.b8b2c5fc.svg b/assets/chevron-left.b8b2c5fc.svg new file mode 100644 index 00000000..dc017203 --- /dev/null +++ b/assets/chevron-left.b8b2c5fc.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/assets/chevron-right-2390431650.ec9bf561.svg b/assets/chevron-right-2390431650.ec9bf561.svg new file mode 100644 index 00000000..7df48477 --- /dev/null +++ b/assets/chevron-right-2390431650.ec9bf561.svg @@ -0,0 +1,3 @@ + + + diff --git a/assets/chevron-right-847198822.23380c56.svg b/assets/chevron-right-847198822.23380c56.svg new file mode 100644 index 00000000..c78cdcee --- /dev/null +++ b/assets/chevron-right-847198822.23380c56.svg @@ -0,0 +1,3 @@ + + + diff --git a/assets/chevron-right.885731d1.svg b/assets/chevron-right.885731d1.svg new file mode 100644 index 00000000..2f1e3e7a --- /dev/null +++ b/assets/chevron-right.885731d1.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/assets/chevron-small-4098047679.489e66cc.svg b/assets/chevron-small-4098047679.489e66cc.svg new file mode 100644 index 00000000..95d9bdff --- /dev/null +++ b/assets/chevron-small-4098047679.489e66cc.svg @@ -0,0 +1,3 @@ + + + diff --git a/assets/chevron-small-781914114.936b4943.svg b/assets/chevron-small-781914114.936b4943.svg new file mode 100644 index 00000000..bec34926 --- /dev/null +++ b/assets/chevron-small-781914114.936b4943.svg @@ -0,0 +1,3 @@ + + + diff --git a/assets/chevron-small.dfd7e618.svg b/assets/chevron-small.dfd7e618.svg new file mode 100644 index 00000000..6c85b97f --- /dev/null +++ b/assets/chevron-small.dfd7e618.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/assets/chevron-thin-left-3078630092.d0d143e3.svg b/assets/chevron-thin-left-3078630092.d0d143e3.svg new file mode 100644 index 00000000..66a541a8 --- /dev/null +++ b/assets/chevron-thin-left-3078630092.d0d143e3.svg @@ -0,0 +1,3 @@ + + + diff --git a/assets/chevron-thin-left-3831175135.13f60c05.svg b/assets/chevron-thin-left-3831175135.13f60c05.svg new file mode 100644 index 00000000..cf2e7a2f --- /dev/null +++ b/assets/chevron-thin-left-3831175135.13f60c05.svg @@ -0,0 +1,3 @@ + + + diff --git a/assets/chevron-thin-left.d111869b.svg b/assets/chevron-thin-left.d111869b.svg new file mode 100644 index 00000000..3119aad8 --- /dev/null +++ b/assets/chevron-thin-left.d111869b.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/assets/clear-4137897294.7b90e8df.svg b/assets/clear-4137897294.7b90e8df.svg new file mode 100644 index 00000000..96d4672f --- /dev/null +++ b/assets/clear-4137897294.7b90e8df.svg @@ -0,0 +1,4 @@ + + + + diff --git a/assets/clear-426756705.361f7a30.svg b/assets/clear-426756705.361f7a30.svg new file mode 100644 index 00000000..2e470ef8 --- /dev/null +++ b/assets/clear-426756705.361f7a30.svg @@ -0,0 +1,4 @@ + + + + diff --git a/assets/clear.0d180c33.svg b/assets/clear.0d180c33.svg new file mode 100644 index 00000000..0f32a77d --- /dev/null +++ b/assets/clear.0d180c33.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/assets/disable-grid-3304422220.8a79cfcb.svg b/assets/disable-grid-3304422220.8a79cfcb.svg new file mode 100644 index 00000000..41d19bbb --- /dev/null +++ b/assets/disable-grid-3304422220.8a79cfcb.svg @@ -0,0 +1,3 @@ + + + diff --git a/assets/disable-grid-4240599831.c8dc25a1.svg b/assets/disable-grid-4240599831.c8dc25a1.svg new file mode 100644 index 00000000..c87b7cef --- /dev/null +++ b/assets/disable-grid-4240599831.c8dc25a1.svg @@ -0,0 +1,3 @@ + + + diff --git a/assets/disable-grid.371ceaaa.svg b/assets/disable-grid.371ceaaa.svg new file mode 100644 index 00000000..571cecf7 --- /dev/null +++ b/assets/disable-grid.371ceaaa.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/assets/dismiss-2476348673.d0f98560.svg b/assets/dismiss-2476348673.d0f98560.svg new file mode 100644 index 00000000..f5b82e35 --- /dev/null +++ b/assets/dismiss-2476348673.d0f98560.svg @@ -0,0 +1,4 @@ + + + + diff --git a/assets/dismiss-2743697487.2f1a17f1.svg b/assets/dismiss-2743697487.2f1a17f1.svg new file mode 100644 index 00000000..a51940a8 --- /dev/null +++ b/assets/dismiss-2743697487.2f1a17f1.svg @@ -0,0 +1,4 @@ + + + + diff --git a/assets/download-sandbox.48a866e9.html b/assets/download-sandbox.48a866e9.html new file mode 100644 index 00000000..9666cb9e --- /dev/null +++ b/assets/download-sandbox.48a866e9.html @@ -0,0 +1,46 @@ + + + + + + + Download + + + diff --git a/assets/e2ee-disabled-1470792300.6863c16d.svg b/assets/e2ee-disabled-1470792300.6863c16d.svg new file mode 100644 index 00000000..170ddb07 --- /dev/null +++ b/assets/e2ee-disabled-1470792300.6863c16d.svg @@ -0,0 +1,5 @@ + + + + + diff --git a/assets/e2ee-disabled.8507165d.svg b/assets/e2ee-disabled.8507165d.svg new file mode 100644 index 00000000..a839e4e5 --- /dev/null +++ b/assets/e2ee-disabled.8507165d.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/assets/e2ee-normal-1448349558.af8f5484.svg b/assets/e2ee-normal-1448349558.af8f5484.svg new file mode 100644 index 00000000..0fd19d39 --- /dev/null +++ b/assets/e2ee-normal-1448349558.af8f5484.svg @@ -0,0 +1,3 @@ + + + diff --git a/assets/e2ee-normal.bef76bd4.svg b/assets/e2ee-normal.bef76bd4.svg new file mode 100644 index 00000000..ca9802c8 --- /dev/null +++ b/assets/e2ee-normal.bef76bd4.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/assets/element-logo-1551909733.1d59f06a.svg b/assets/element-logo-1551909733.1d59f06a.svg new file mode 100644 index 00000000..0213265e --- /dev/null +++ b/assets/element-logo-1551909733.1d59f06a.svg @@ -0,0 +1,6 @@ + + + + + + diff --git a/assets/element-logo-703176763.fc54fc8d.svg b/assets/element-logo-703176763.fc54fc8d.svg new file mode 100644 index 00000000..8e576d45 --- /dev/null +++ b/assets/element-logo-703176763.fc54fc8d.svg @@ -0,0 +1,6 @@ + + + + + + diff --git a/assets/element-logo.86bc8565.svg b/assets/element-logo.86bc8565.svg new file mode 100644 index 00000000..31c3bca9 --- /dev/null +++ b/assets/element-logo.86bc8565.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/assets/enable-grid-2071838379.ab4f40c5.svg b/assets/enable-grid-2071838379.ab4f40c5.svg new file mode 100644 index 00000000..a8308bcc --- /dev/null +++ b/assets/enable-grid-2071838379.ab4f40c5.svg @@ -0,0 +1,3 @@ + + + diff --git a/assets/enable-grid-2288309723.f83895c8.svg b/assets/enable-grid-2288309723.f83895c8.svg new file mode 100644 index 00000000..3ee085f6 --- /dev/null +++ b/assets/enable-grid-2288309723.f83895c8.svg @@ -0,0 +1,3 @@ + + + diff --git a/assets/enable-grid.eef43c65.svg b/assets/enable-grid.eef43c65.svg new file mode 100644 index 00000000..acf9a283 --- /dev/null +++ b/assets/enable-grid.eef43c65.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/assets/encryption-status-3449529405.c200a9bb.svg b/assets/encryption-status-3449529405.c200a9bb.svg new file mode 100644 index 00000000..de513dd3 --- /dev/null +++ b/assets/encryption-status-3449529405.c200a9bb.svg @@ -0,0 +1,3 @@ + + + diff --git a/assets/encryption-status-475927392.2fedc0bd.svg b/assets/encryption-status-475927392.2fedc0bd.svg new file mode 100644 index 00000000..ded7df83 --- /dev/null +++ b/assets/encryption-status-475927392.2fedc0bd.svg @@ -0,0 +1,3 @@ + + + diff --git a/assets/encryption-status.8054183e.svg b/assets/encryption-status.8054183e.svg new file mode 100644 index 00000000..0006bdf4 --- /dev/null +++ b/assets/encryption-status.8054183e.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/assets/icon-maskable.965d12c4.png b/assets/icon-maskable.965d12c4.png new file mode 100644 index 0000000000000000000000000000000000000000..3d96b2d8238c8d524f82533586cb9f6f22c89e1d GIT binary patch literal 16599 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 T?96B2zL1K7rhJX8Mfm>!lo{VW literal 0 HcmV?d00001 diff --git a/assets/icon.2a39c64c.png b/assets/icon.2a39c64c.png new file mode 100644 index 0000000000000000000000000000000000000000..b6c70c00a4957f34bda8d23ef1dd258f074f8764 GIT binary patch literal 15862 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 literal 0 HcmV?d00001 diff --git a/assets/index.ca5690cf.js b/assets/index.ca5690cf.js new file mode 100644 index 00000000..fe464ae4 --- /dev/null +++ b/assets/index.ca5690cf.js @@ -0,0 +1,21 @@ +var la=Object.defineProperty,ha=Object.defineProperties;var da=Object.getOwnPropertyDescriptors;var cs=Object.getOwnPropertySymbols;var fr=Object.prototype.hasOwnProperty,gr=Object.prototype.propertyIsEnumerable;var _r=(n,e,t)=>e in n?la(n,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):n[e]=t,ft=(n,e)=>{for(var t in e||(e={}))fr.call(e,t)&&_r(n,t,e[t]);if(cs)for(var t of cs(e))gr.call(e,t)&&_r(n,t,e[t]);return n},yr=(n,e)=>ha(n,da(e));var wr=(n,e)=>{var t={};for(var s in n)fr.call(n,s)&&e.indexOf(s)<0&&(t[s]=n[s]);if(n!=null&&cs)for(var s of cs(n))e.indexOf(s)<0&&gr.call(n,s)&&(t[s]=n[s]);return t};function xe(...n){const e={};for(const t of n)e[t]=t;return Object.freeze(e)}function vr(n){try{return new URL(n).origin}catch{return new URL(`https://${n}`).origin}}async function ua(n,e){const t={format:"json",timeout:3e4,method:"GET"};try{const s=`${n}/.well-known/matrix/client`;return await e(s,t).response()}catch(s){if(s.name==="ConnectionError")return null;throw s}}async function ma(n,e){var s;n=vr(n);const t=await ua(n,e);if(t&&t.status===200){const{body:i}=t,r=(s=i["m.homeserver"])==null?void 0:s.base_url;typeof r=="string"&&(n=vr(r))}return n}class ye extends Error{get name(){return"AbortError"}}class Ii{constructor(){this._handlers=new Set}onSubscribeFirst(){}onUnsubscribeLast(){}subscribe(e){return this._handlers.add(e),this._handlers.size===1&&this.onSubscribeFirst(),()=>this.unsubscribe(e)}unsubscribe(e){e&&(this._handlers.delete(e),this._handlers.size===0&&this.onUnsubscribeLast())}unsubscribeAll(){this._handlers.size!==0&&(this._handlers.clear(),this.onUnsubscribeLast())}get hasSubscriptions(){return this._handlers.size!==0}}class kt extends Ii{emit(e){for(const t of this._handlers)t(e)}waitFor(e){return e(this.get())?new _a(Promise.resolve(this.get())):new pa(this,e)}flatMap(e){return new fa(this,e)}}class pa{constructor(e,t){this._promise=new Promise((s,i)=>{this._reject=i,this._subscription=e.subscribe(r=>{t(r)&&(this._reject=null,s(r),this.dispose())})})}get promise(){return this._promise}dispose(){this._subscription&&(this._subscription(),this._subscription=null),this._reject&&(this._reject(new ye),this._reject=null)}}class _a{constructor(e){this.promise=e}dispose(){}}class we extends kt{constructor(e){super(),this._value=e}get(){return this._value}set(e){e!==this._value&&(this._value=e,this.emit(this._value))}}class ci extends we{constructor(e,t){super(e),this._freeCallback=t}onUnsubscribeLast(){super.onUnsubscribeLast(),this._freeCallback()}}class fa extends kt{constructor(e,t){super(),this.source=e,this.mapper=t}onUnsubscribeLast(){super.onUnsubscribeLast(),this.sourceSubscription=this.sourceSubscription(),this.targetSubscription&&(this.targetSubscription=this.targetSubscription())}onSubscribeFirst(){super.onSubscribeFirst(),this.sourceSubscription=this.source.subscribe(()=>{this.updateTargetSubscription(),this.emit(this.get())}),this.updateTargetSubscription()}updateTargetSubscription(){const e=this.source.get();if(e){const t=this.mapper(e);if(t){this.targetSubscription||(this.targetSubscription=t.subscribe(()=>this.emit(this.get())));return}}this.targetSubscription&&(this.targetSubscription=this.targetSubscription())}get(){const e=this.source.get();if(!e)return;const t=this.mapper(e);return t==null?void 0:t.get()}}class Mn{constructor(e){this._abortable=void 0;const t=i=>(this._abortable=i,i);this._progress=new we(void 0);const s=i=>{this._progress.set(i)};this.result=e(t,s)}get progress(){return this._progress}abort(){var e;(e=this._abortable)==null||e.abort(),this._abortable=void 0}}const ga={"image/jpeg":!0,"image/gif":!0,"image/png":!0,"video/mp4":!0,"video/webm":!0,"video/ogg":!0,"video/quicktime":!0,"video/VP8":!0,"audio/mp4":!0,"audio/webm":!0,"audio/aac":!0,"audio/mpeg":!0,"audio/ogg":!0,"audio/wave":!0,"audio/wav":!0,"audio/x-wav":!0,"audio/x-pn-wav":!0,"audio/flac":!0,"audio/x-flac":!0},br="application/octet-stream";class lt{constructor(e,t=null){this._blob=e,this._buffer=t,this._url=null}static fromBuffer(e,t){return t=t?t.split(";")[0].trim():"",ga[t]||(t=br),new lt(new Blob([e],{type:t}),e)}static fromBlob(e){return new lt(e)}get nativeBlob(){return this._blob}async readAsBuffer(){if(this._buffer)return this._buffer;{const e=new FileReader,t=new Promise((s,i)=>{e.addEventListener("load",r=>s(r.target.result)),e.addEventListener("error",r=>i(r.target.error))});return e.readAsArrayBuffer(this._blob),t}}get url(){return this._url||(this._url=URL.createObjectURL(this._blob)),this._url}get size(){return this._blob.size}get mimeType(){return this._blob.type||br}dispose(){this._url&&(URL.revokeObjectURL(this._url),this._url=null)}}function An(n){return Object.entries(n||{}).filter(([,e])=>e!==void 0).map(([e,t])=>(typeof t=="object"&&(t=JSON.stringify(t)),`${encodeURIComponent(e)}=${encodeURIComponent(t)}`)).join("&")}function ya(n){if(n instanceof lt){const e=n;return{mimeType:e.mimeType,body:e}}else{if(n instanceof Map)return{mimeType:"multipart/form-data",body:n};if(typeof n=="object"){const e=JSON.stringify(n);return{mimeType:"application/json",body:e}}else throw new Error("Unknown body type: "+n)}}class xn extends Error{constructor(e,t){super(`${e}: ${t.message}`),this.cause=t}get name(){return"WrappedError"}}class Nn extends Error{constructor(e,t,s,i){super(`${s?s.error:i} on ${e} ${t}`),this.errcode=s?s.errcode:null,this.retry_after_ms=s?s.retry_after_ms:0,this.statusCode=i}get name(){return"HomeServerError"}}class qe extends Error{constructor(e,t){super(e||"ConnectionError"),this.isTimeout=t}get name(){return"ConnectionError"}}class wa{constructor(e,t,s,i){let r;if(i!=null&&i.log){const o=i==null?void 0:i.log;r=o.child({t:"network",url:t,method:e},o.level.Info)}this._log=r,this._sourceRequest=s,this._promise=s.response().then(o=>{var a,c;if(r==null||r.set("status",o.status),o.status>=200&&o.status<300||((a=i==null?void 0:i.allowedStatusCodes)==null?void 0:a.includes(o.status)))return r==null||r.finish(),o.body;if(o.status>=500){const l=new qe("Internal Server Error");throw r==null||r.catch(l),l}else if(o.status>=400&&!((c=o.body)!=null&&c.errcode)){const l=new qe(`HTTP error status ${o.status} without errcode in body, assume this is a load balancer complaining the server is offline.`);throw r==null||r.catch(l),l}else{const l=new Nn(e,t,o.body,o.status);throw r==null||r.set("errcode",l.errcode),r==null||r.catch(l),l}},o=>{if(o.name==="AbortError"&&this._sourceRequest){const a=new qe("Service worker aborted, either updating or hit #187.");throw r==null||r.catch(a),a}else throw o.name==="ConnectionError"&&(r==null||r.set("timeout",o.isTimeout)),r==null||r.catch(o),o})}abort(){var e;this._sourceRequest&&((e=this._log)==null||e.set("aborted",!0),this._sourceRequest.abort(),this._sourceRequest=void 0)}response(){return this._promise}async responseCode(){return(await this._sourceRequest.response()).status}}const ls="/_matrix/client/r0",va="/_matrix/client/v3",ei="/_matrix/client/unstable/org.matrix.msc2697.v2";class Ze{constructor({homeserver:e,accessToken:t,request:s,reconnector:i}){this._homeserver=e,this._accessToken=t,this._requestFn=s,this._reconnector=i}_url(e,t=ls){return this._homeserver+t+e}_baseRequest(e,t,s,i,r,o){const a=An(s);t=`${t}?${a}`;let c;const l=new Map;if(o&&l.set("Authorization",`Bearer ${o}`),l.set("Accept","application/json"),i){const u=ya(i);l.set("Content-Type",u.mimeType),c=u.body}const h=this._requestFn(t,{method:e,headers:l,body:c,timeout:r==null?void 0:r.timeout,uploadProgress:r==null?void 0:r.uploadProgress,format:"json",cache:e!=="GET"}),d=new wa(e,t,h,r);return this._reconnector&&d.response().catch(u=>{u.name==="ConnectionError"&&this._reconnector.onRequestFailed(this)}),d}_unauthedRequest(e,t,s,i,r){return this._baseRequest(e,t,s,i,r)}_authedRequest(e,t,s,i,r){return this._baseRequest(e,t,s,i,r,this._accessToken)}_post(e,t,s,i){return this._authedRequest("POST",this._url(e,(i==null?void 0:i.prefix)||ls),t,s,i)}_put(e,t,s,i){return this._authedRequest("PUT",this._url(e,(i==null?void 0:i.prefix)||ls),t,s,i)}_get(e,t,s,i){return this._authedRequest("GET",this._url(e,(i==null?void 0:i.prefix)||ls),t,s,i)}sync(e,t,s,i){return this._get("/sync",{since:e,timeout:s,filter:t},void 0,i)}context(e,t,s,i){return this._get(`/rooms/${encodeURIComponent(e)}/context/${encodeURIComponent(t)}`,{filter:i,limit:s})}messages(e,t,s){return this._get(`/rooms/${encodeURIComponent(e)}/messages`,t,void 0,s)}members(e,t,s){return this._get(`/rooms/${encodeURIComponent(e)}/members`,t,void 0,s)}send(e,t,s,i,r){return this._put(`/rooms/${encodeURIComponent(e)}/send/${encodeURIComponent(t)}/${encodeURIComponent(s)}`,{},i,r)}redact(e,t,s,i,r){return this._put(`/rooms/${encodeURIComponent(e)}/redact/${encodeURIComponent(t)}/${encodeURIComponent(s)}`,{},i,r)}receipt(e,t,s,i){return this._post(`/rooms/${encodeURIComponent(e)}/receipt/${encodeURIComponent(t)}/${encodeURIComponent(s)}`,{},{},i)}state(e,t,s,i){return this._get(`/rooms/${encodeURIComponent(e)}/state/${encodeURIComponent(t)}/${encodeURIComponent(s)}`,{},void 0,i)}getLoginFlows(){return this._unauthedRequest("GET",this._url("/login"))}register(e,t,s,i,r=!0,o={}){o.allowedStatusCodes=[401];const a={auth:i,password:t,initial_device_displayname:s,inhibit_login:r};return e&&(a.username=e),this._unauthedRequest("POST",this._url("/register",va),void 0,a,o)}passwordLogin(e,t,s,i){return this._unauthedRequest("POST",this._url("/login"),void 0,{type:"m.login.password",identifier:{type:"m.id.user",user:e},password:t,initial_device_display_name:s},i)}tokenLogin(e,t,s,i){return this._unauthedRequest("POST",this._url("/login"),void 0,{type:"m.login.token",identifier:{type:"m.id.user"},token:e,txn_id:t,initial_device_display_name:s},i)}createFilter(e,t,s){return this._post(`/user/${encodeURIComponent(e)}/filter`,{},t,s)}versions(e){return this._unauthedRequest("GET",`${this._homeserver}/_matrix/client/versions`,void 0,void 0,e)}uploadKeys(e,t,s){let i="/keys/upload";return e&&(i=i+`/${encodeURIComponent(e)}`),this._post(i,{},t,s)}queryKeys(e,t){return this._post("/keys/query",{},e,t)}claimKeys(e,t){return this._post("/keys/claim",{},e,t)}sendToDevice(e,t,s,i){return this._put(`/sendToDevice/${encodeURIComponent(e)}/${encodeURIComponent(s)}`,{},t,i)}roomKeysVersion(e,t){let s="";return e&&(s=`/${encodeURIComponent(e)}`),this._get(`/room_keys/version${s}`,void 0,void 0,t)}roomKeyForRoomAndSession(e,t,s,i){return this._get(`/room_keys/keys/${encodeURIComponent(t)}/${encodeURIComponent(s)}`,{version:e},void 0,i)}uploadRoomKeysToBackup(e,t,s){return this._put("/room_keys/keys",{version:e},t,s)}uploadAttachment(e,t,s){return this._authedRequest("POST",`${this._homeserver}/_matrix/media/r0/upload`,{filename:t},e,s)}setPusher(e,t){return this._post("/pushers/set",{},e,t)}getPushers(e){return this._get("/pushers",void 0,void 0,e)}join(e,t){return this._post(`/rooms/${encodeURIComponent(e)}/join`,{},{},t)}joinIdOrAlias(e,t){return this._post(`/join/${encodeURIComponent(e)}`,{},{},t)}leave(e,t){return this._post(`/rooms/${encodeURIComponent(e)}/leave`,{},{},t)}forget(e,t){return this._post(`/rooms/${encodeURIComponent(e)}/forget`,{},{},t)}logout(e){return this._post("/logout",{},{},e)}getDehydratedDevice(e={}){return e.prefix=ei,this._get("/dehydrated_device",void 0,void 0,e)}createDehydratedDevice(e,t={}){return t.prefix=ei,this._put("/dehydrated_device",{},e,t)}claimDehydratedDevice(e,t={}){return t.prefix=ei,this._post("/dehydrated_device/claim",{},{device_id:e},t)}profile(e,t){return this._get(`/profile/${encodeURIComponent(e)}`)}createRoom(e,t){return this._post("/createRoom",{},e,t)}setAccountData(e,t,s,i){return this._put(`/user/${encodeURIComponent(e)}/account_data/${encodeURIComponent(t)}`,{},s,i)}}class Dn{constructor(e){this._start=2e3,this._current=2e3;const t=2e3;this._start=t,this._current=t,this._createTimeout=e,this._max=60*5*1e3}async waitForRetry(){this._timeout=this._createTimeout(this._current);try{await this._timeout.elapsed();const e=2*this._current;this._current=Math.min(this._max,e)}catch(e){if(!(e instanceof ye))throw e}finally{this._timeout=void 0}}abort(){this._timeout&&this._timeout.abort()}reset(){this._current=this._start,this.abort()}get nextValue(){return this._current}}var $t=(n=>(n[n.Waiting=0]="Waiting",n[n.Reconnecting=1]="Reconnecting",n[n.Online=2]="Online",n))($t||{});class ba{constructor({retryDelay:e,createMeasure:t,onlineStatus:s}){this._onlineStatus=s,this._retryDelay=e,this._createTimeMeasure=t,this._state=new we(2),this._isReconnecting=!1}get lastVersionsResponse(){return this._versionsResponse}get connectionStatus(){return this._state}get retryIn(){return this._state.get()===0?this._retryDelay.nextValue-this._stateSince.measure():0}async onRequestFailed(e){if(!this._isReconnecting){this._isReconnecting=!0;const t=this._onlineStatus&&this._onlineStatus.subscribe(s=>{s&&this.tryNow()});try{await this._reconnectLoop(e)}catch(s){console.error(s)}finally{t&&t(),this._isReconnecting=!1}}}tryNow(){this._retryDelay&&this._retryDelay.abort()}_setState(e){e!==this._state.get()&&(e===0?this._stateSince=this._createTimeMeasure():this._stateSince=null,this._state.set(e))}async _reconnectLoop(e){for(this._versionsResponse=void 0,this._retryDelay.reset();!this._versionsResponse;)try{this._setState(1);const t=e.versions({timeout:3e4});this._versionsResponse=await t.response(),this._setState(2)}catch(t){if(t.name==="ConnectionError")this._setState(0),await this._retryDelay.waitForRetry();else throw t}}}async function Sa(n,e,t){if(t===void 0||t.key===void 0||t.iv===void 0||t.hashes===void 0||t.hashes.sha256===void 0)throw new Error("Invalid info. Missing info.key, info.iv or info.hashes.sha256 key");const{crypto:s}=n,{base64:i}=n.encoding;var r=i.decode(t.iv),o=i.encode(i.decode(t.hashes.sha256));const a=await s.digest("SHA-256",e);if(i.encode(new Uint8Array(a))!=o)throw new Error("Mismatched SHA-256 digest");var c;return t.v=="v1"||t.v=="v2"?c=64:c=128,await s.aes.decryptCTR({jwkKey:t.key,iv:r,data:e,counterLength:c})}async function Ia(n,e){const{crypto:t}=n,{base64:s}=n.encoding,i=await t.aes.generateIV(),r=await t.aes.generateKey("jwk",256),o=await e.readAsBuffer(),a=await t.aes.encryptCTR({jwkKey:r,iv:i,data:o}),c=await t.digest("SHA-256",a);return{blob:n.createBlob(a,"application/octet-stream"),info:{v:"v2",key:r,iv:s.encodeUnpadded(i),hashes:{sha256:s.encodeUnpadded(c)}}}}class Ea{constructor({homeserver:e,platform:t}){this._homeserver=e,this._platform=t}mxcUrlThumbnail(e,t,s,i){const r=this._parseMxcUrl(e);if(r){const[o,a]=r;return`${this._homeserver}/_matrix/media/r0/thumbnail/${encodeURIComponent(o)}/${encodeURIComponent(a)}`+"?"+An({width:Math.round(t),height:Math.round(s),method:i})}return null}mxcUrl(e){const t=this._parseMxcUrl(e);if(t){const[s,i]=t;return`${this._homeserver}/_matrix/media/r0/download/${encodeURIComponent(s)}/${encodeURIComponent(i)}`}else return null}_parseMxcUrl(e){const t="mxc://";return e.startsWith(t)?e.substr(t.length).split("/",2):null}async downloadEncryptedFile(e,t=!1){const s=this.mxcUrl(e.url),{body:i}=await this._platform.request(s,{method:"GET",format:"buffer",cache:t}).response(),r=await Sa(this._platform,i,e);return this._platform.createBlob(r,e.mimetype)}async downloadPlaintextFile(e,t,s=!1){const i=this.mxcUrl(e),{body:r}=await this._platform.request(i,{method:"GET",format:"buffer",cache:s}).response();return this._platform.createBlob(r,t)}async downloadAttachment(e,t=!1){var s;return e.file?this.downloadEncryptedFile(e.file,t):this.downloadPlaintextFile(e.url,(s=e.info)==null?void 0:s.mimetype,t)}}class ka{constructor(e,t){this.methodName=e,this.args=t,this._responsePromise=new Promise((s,i)=>{this.responseResolve=s,this.responseReject=i})}abort(){var e;this._requestResult?this._requestResult.abort():(this.responseReject(new ye),(e=this.responseCodeReject)==null||e.call(this,new ye))}response(){return this._responsePromise}responseCode(){return this.requestResult?this.requestResult.responseCode():(this._responseCodePromise||(this._responseCodePromise=new Promise((e,t)=>{this.responseCodeResolve=e,this.responseCodeReject=t})),this._responseCodePromise)}async setRequestResult(e){var i,r,o;this._requestResult=e;const t=await((i=this._requestResult)==null?void 0:i.response());this.responseResolve(t);const s=await((r=this._requestResult)==null?void 0:r.responseCode());(o=this.responseCodeResolve)==null||o.call(this,s)}get requestResult(){return this._requestResult}}class Vn{constructor(e){this._scheduler=e}}for(const n of Object.getOwnPropertyNames(Ze.prototype))n!=="constructor"&&!n.startsWith("_")&&(Vn.prototype[n]=function(...e){return this._scheduler._hsApiRequest(n,e)});class Ra{constructor({hsApi:e,clock:t}){this._requests=new Set,this._stopped=!1,this._wrapper=new Vn(this),this._hsApi=e,this._clock=t}get hsApi(){return this._wrapper}stop(){this._stopped=!0;for(const e of this._requests)e.abort();this._requests.clear()}start(){this._stopped=!1}_hsApiRequest(e,t){const s=new ka(e,t);return this._doSend(s),s}async _doSend(e){this._requests.add(e);try{let t;for(;!this._stopped;)try{const s=this._hsApi[e.methodName].apply(this._hsApi,e.args);await e.setRequestResult(s);return}catch(s){if(s instanceof Nn&&s.errcode==="M_LIMIT_EXCEEDED")Number.isSafeInteger(s.retry_after_ms)?await this._clock.createTimeout(s.retry_after_ms).elapsed():(t||(t=new Dn(this._clock.createTimeout)),await t.waitForRetry());else{e.responseReject(s);return}}this._stopped&&e.abort()}finally{this._requests.delete(e)}}}const Ca=3e4,L=xe("InitialSync","CatchupSync","Syncing","Stopped");function Ta(n){var e;try{const t=(e=n==null?void 0:n.timeline)==null?void 0:e.events;return Array.isArray(t)&&t.length===0}catch{return!0}}class Ma{constructor({hsApi:e,session:t,storage:s,logger:i}){this._hsApi=e,this._logger=i,this._session=t,this._storage=s,this._currentRequest=null,this._status=new we(L.Stopped),this._error=null}get status(){return this._status}get error(){return this._error}start(){if(this._status.get()!==L.Stopped)return;this._error=null;let e=this._session.syncToken;e?this._status.set(L.CatchupSync):this._status.set(L.InitialSync),this._syncLoop(e)}async _syncLoop(e){for(;this._status.get()!==L.Stopped;){let t,s,i=this._status.get()===L.CatchupSync||this._status.get()===L.InitialSync;await this._logger.run("sync",async r=>{r.set("token",e),r.set("status",this._status.get());try{const o=this._status.get()===L.Syncing?Ca:0,a=await this._syncRequest(e,o,r);e=a.syncToken,t=a.roomStates,s=a.sessionChanges,this._status.get()!==L.Syncing&&a.hadToDeviceMessages?this._status.set(L.CatchupSync):this._status.set(L.Syncing)}catch(o){if(o.name==="ConnectionError"&&o.isTimeout)return;this._error=o,o.name!=="AbortError"&&(r.error=o,r.logLevel=r.level.Fatal),r.set("stopping",!0),this._status.set(L.Stopped)}this._status.get()!==L.Stopped&&await r.wrap("afterSyncCompleted",o=>this._runAfterSyncCompleted(s,t,o))},this._logger.level.Info,(r,o)=>o.durationWithoutType("network")>=2e3||o.error||i?r.minLevel(o.level.Detail):r.minLevel(o.level.Info))}}async _runAfterSyncCompleted(e,t,s){const i=this._status.get()===L.CatchupSync,r=(async()=>{try{await s.wrap("session",c=>this._session.afterSyncCompleted(e,i,c),s.level.Detail)}catch{}})(),a=t.filter(c=>c.room.needsAfterSyncCompleted(c.changes)).map(async c=>{try{await s.wrap("room",l=>c.room.afterSyncCompleted(c.changes,l),s.level.Detail)}catch{}});await Promise.all(a.concat(r))}async _syncRequest(e,t,s){var p;let{syncFilterId:i}=this._session;typeof i!="string"&&(this._currentRequest=this._hsApi.createFilter(this._session.user.id,{room:{state:{lazy_load_members:!0}}},{log:s}),i=(await this._currentRequest.response()).filter_id);const r=t+80*1e3;this._currentRequest=this._hsApi.sync(e,i,t,{timeout:r,log:s});const o=await this._currentRequest.response(),a=!e,c=new Aa,l=this._parseInvites(o.rooms),{roomStates:h,archivedRoomStates:d}=await this._parseRoomsResponse(o.rooms,l,a,s);try{c.lock=await s.wrap("obtainSyncLock",()=>this._session.obtainSyncLock(o)),await s.wrap("prepare",_=>this._prepareSync(c,h,o,_)),await s.wrap("afterPrepareSync",_=>Promise.all(h.map(f=>f.room.afterPrepareSync(f.preparation,_)))),await s.wrap("write",async _=>this._writeSync(c,l,h,d,o,i,a,_))}finally{c.dispose()}s.wrap("after",_=>this._afterSync(c,l,h,d,_));const u=(p=o.to_device)==null?void 0:p.events;return{syncToken:o.next_batch,roomStates:h,sessionChanges:c.changes,hadToDeviceMessages:Array.isArray(u)&&u.length>0}}_openPrepareSyncTxn(){const e=this._storage.storeNames;return this._storage.readTxn([e.olmSessions,e.inboundGroupSessions,e.timelineFragments,e.timelineEvents])}async _prepareSync(e,t,s,i){var a,c;const r=await this._openPrepareSyncTxn();e.preparation=await i.wrap("session",l=>this._session.prepareSync(s,e.lock,r,l));const o=(a=e.preparation)==null?void 0:a.newKeysByRoom;if(o){const{hasOwnProperty:l}=Object.prototype;for(const h of o.keys())if(!(((c=s.rooms)==null?void 0:c.join)&&l.call(s.rooms.join,h))){let u=this._session.rooms.get(h);u&&t.push(new Sr(u,!1,{},u.membership))}}await Promise.all(t.map(async l=>{const h=o==null?void 0:o.get(l.room.id);l.preparation=await i.wrap("room",async d=>(l.isNewRoom&&await l.room.load(null,r,d),l.room.prepareSync(l.roomResponse,l.membership,h,r,d)),i.level.Detail)})),await r.complete()}async _writeSync(e,t,s,i,r,o,a,c){const l=await this._openSyncTxn();try{e.changes=await c.wrap("session",h=>this._session.writeSync(r,o,e.preparation,l,h)),await Promise.all(t.map(async h=>{h.changes=await c.wrap("invite",d=>h.invite.writeSync(h.membership,h.roomResponse,l,d))})),await Promise.all(s.map(async h=>{h.changes=await c.wrap("room",d=>h.room.writeSync(h.roomResponse,a,h.preparation,l,d))})),await Promise.all(i.map(async h=>{var u;const d=(u=h.roomState)==null?void 0:u.summaryChanges;h.changes=await c.wrap("archivedRoom",p=>h.archivedRoom.writeSync(d,h.roomResponse,h.membership,l,p))}))}catch(h){throw l.abort(c),l.getCause(h)}await l.complete(c)}_afterSync(e,t,s,i,r){r.wrap("session",o=>this._session.afterSync(e.changes,o),r.level.Detail);for(let o of i)r.wrap("archivedRoom",a=>{o.archivedRoom.afterSync(o.changes,a),o.archivedRoom.release()},r.level.Detail);for(let o of s)r.wrap("room",a=>o.room.afterSync(o.changes,a),r.level.Detail);for(let o of t)r.wrap("invite",a=>o.invite.afterSync(o.changes,a),r.level.Detail);this._session.applyRoomCollectionChangesAfterSync(t,s,i,r)}_openSyncTxn(){const e=this._storage.storeNames;return this._storage.readWriteTxn([e.session,e.roomSummary,e.archivedRoomSummary,e.invites,e.roomState,e.roomMembers,e.timelineEvents,e.timelineRelations,e.timelineFragments,e.pendingEvents,e.userIdentities,e.groupSessionDecryptions,e.deviceIdentities,e.outboundGroupSessions,e.operations,e.accountData,e.olmSessions,e.inboundGroupSessions])}async _parseRoomsResponse(e,t,s,i){const r=[],o=[];if(e){const a=["join","leave"];for(const c of a){const l=e[c];if(l)for(const[h,d]of Object.entries(l)){if(s&&Ta(d))continue;const u=this._session.invites.get(h);u&&t.push(new Ir(u,!1,null,c));const p=this._createRoomSyncState(h,d,c,s);p&&r.push(p);const _=await this._createArchivedRoomSyncState(h,p,d,c,s,i);_&&o.push(_)}}}return{roomStates:r,archivedRoomStates:o}}_createRoomSyncState(e,t,s,i){let r=!1,o=this._session.rooms.get(e);if(!o&&(s==="join"||i&&s==="leave")&&(o=this._session.createJoinedRoom(e),r=!0),o)return new Sr(o,r,t,s)}async _createArchivedRoomSyncState(e,t,s,i,r,o){let a;if((t==null?void 0:t.shouldAdd)&&!r?a=this._session.createOrGetArchivedRoomForSync(e):i==="leave"&&(t?a=this._session.createOrGetArchivedRoomForSync(e):a=await this._session.loadArchivedRoom(e,o)),a)return new xa(a,t,s,i)}_parseInvites(e){const t=[];if(e!=null&&e.invite)for(const[s,i]of Object.entries(e.invite)){let r=this._session.invites.get(s),o=!1;r||(r=this._session.createInvite(s),o=!0),t.push(new Ir(r,o,i,"invite"))}return t}stop(){this._status.get()!==L.Stopped&&(this._status.set(L.Stopped),this._currentRequest&&(this._currentRequest.abort(),this._currentRequest=null))}}class Aa{constructor(){this.lock=null,this.preparation=null,this.changes=null}dispose(){var e;(e=this.lock)==null||e.release()}}class Sr{constructor(e,t,s,i){this.room=e,this.isNewRoom=t,this.roomResponse=s,this.membership=i,this.preparation=null,this.changes=null}get id(){return this.room.id}get shouldAdd(){return this.isNewRoom&&this.membership==="join"}get shouldRemove(){return!this.isNewRoom&&this.membership!=="join"}get summaryChanges(){var e;return(e=this.changes)==null?void 0:e.summaryChanges}}class xa{constructor(e,t,s,i,r){this.archivedRoom=e,this.roomState=t,this.roomResponse=s,this.membership=i,this.isInitialSync=r,this.changes=null}get id(){return this.archivedRoom.id}get shouldAdd(){return(this.roomState||this.isInitialSync)&&this.membership==="leave"}get shouldRemove(){return this.membership==="join"}}class Ir{constructor(e,t,s,i){this.invite=e,this.isNewInvite=t,this.membership=i,this.roomResponse=s,this.changes=null}get id(){return this.invite.id}get shouldAdd(){return this.isNewInvite}get shouldRemove(){return this.membership!=="invite"}}class Ls{constructor(){this._handlersByName={}}emit(e,t){const s=this._handlersByName[e];s&&s.forEach(i=>i(t))}disposableOn(e,t){return this.on(e,t),()=>{this.off(e,t)}}on(e,t){let s=this._handlersByName[e];s||(this.onFirstSubscriptionAdded(e),this._handlersByName[e]=s=new Set),s.add(t)}off(e,t){const s=this._handlersByName[e];s&&(s.delete(t),s.size===0&&(delete this._handlersByName[e],this.onLastSubscriptionRemoved(e)))}onFirstSubscriptionAdded(e){}onLastSubscriptionRemoved(e){}}function Na(n){if(n.__esModule)return n;var e=Object.defineProperty({},"__esModule",{value:!0});return Object.keys(n).forEach(function(t){var s=Object.getOwnPropertyDescriptor(n,t);Object.defineProperty(e,t,s.get?s:{enumerable:!0,get:function(){return n[t]}})}),e}var Er=/[\\\"\x00-\x1F]/g,Ne={};for(var hs=0;hs<32;++hs)Ne[String.fromCharCode(hs)]="\\U"+("0000"+hs.toString(16)).slice(-4).toUpperCase();Ne["\b"]="\\b";Ne[" "]="\\t";Ne[` +`]="\\n";Ne["\f"]="\\f";Ne["\r"]="\\r";Ne['"']='\\"';Ne["\\"]="\\\\";function Ln(n){return Er.lastIndex=0,n.replace(Er,function(e){return Ne[e]})}function Ei(n){switch(typeof n){case"string":return'"'+Ln(n)+'"';case"number":return isFinite(n)?n:"null";case"boolean":return n;case"object":return n===null?"null":Array.isArray(n)?Da(n):Va(n);default:throw new Error("Cannot stringify: "+typeof n)}}function Da(n){for(var e="[",t="",s=0;sBa(r,o,t,s,i),n)),n}function Fn(n,e,t){var r,o;const s=(r=n==null?void 0:n.state)==null?void 0:r.events;Array.isArray(s)&&(t=s.reduce(e,t));const i=(o=n==null?void 0:n.timeline)==null?void 0:o.events;return Array.isArray(i)&&(t=i.reduce((a,c)=>(typeof c.state_key=="string"&&(t=e(t,c)),t),t)),t}function Pa(n,e,t,s){e.summary&&(n=Ka(n,e.summary)),t!==n.membership&&(n=n.cloneIfNeeded(),n.membership=t),e.account_data&&(n=e.account_data.events.reduce(Fa,n)),n=Fn(e,(r,o)=>Bn(r,o,s),n);const i=e.unread_notifications;return i&&(n=Ua(n,i)),n}function Ua(n,e){const t=e.highlight_count||0;t!==n.highlightCount&&(n=n.cloneIfNeeded(),n.highlightCount=t);const s=e.notification_count;return s!==n.notificationCount&&(n=n.cloneIfNeeded(),n.notificationCount=s),n}function Fa(n,e){var t;if((e==null?void 0:e.type)==="m.tag"){let s=(t=e==null?void 0:e.content)==null?void 0:t.tags;(!s||Array.isArray(s)||typeof s!="object")&&(s=null),n=n.cloneIfNeeded(),n.tags=s}return n}function Bn(n,e,t){var s,i,r;if(e.type==="m.room.create")n=n.cloneIfNeeded(),n.lastMessageTimestamp=e.origin_server_ts;else if(e.type==="m.room.encryption"){const o=(s=e.content)==null?void 0:s.algorithm;!n.encryption&&o===ve&&(n=n.cloneIfNeeded(),n.encryption=e.content)}else if(e.type==="m.room.name"){const o=(i=e.content)==null?void 0:i.name;o!==n.name&&(n=n.cloneIfNeeded(),n.name=o)}else if(e.type==="m.room.avatar"){const o=(r=e.content)==null?void 0:r.url;o!==n.avatarUrl&&(n=n.cloneIfNeeded(),n.avatarUrl=o)}else if(e.type==="m.room.canonical_alias"){const o=e.content;n=n.cloneIfNeeded(),n.canonicalAlias=o.alias}else if(e.type==="m.room.member"){const o=e.content;if(o.is_direct===!0&&o.membership==="invite"&&!n.isDirectMessage){let a;e.sender===t?a=e.state_key:e.state_key===t&&(a=e.sender),a&&(n=n.cloneIfNeeded(),n.isDirectMessage=!0,n.dmUserId=a)}else o.membership==="leave"&&n.isDirectMessage&&n.dmUserId===e.state_key&&(n=n.cloneIfNeeded(),n.isDirectMessage=!1,n.dmUserId=null)}return n}function Ba(n,e,t,s,i){return e.eventType==="m.room.message"&&((!n.lastMessageTimestamp||e.timestamp>n.lastMessageTimestamp)&&(n=n.cloneIfNeeded(),n.lastMessageTimestamp=e.timestamp),!t&&e.sender!==i&&s&&(n=n.cloneIfNeeded(),n.isUnread=!0)),n}function Ka(n,e){const t=e["m.heroes"],s=e["m.joined_member_count"],i=e["m.invited_member_count"];return t&&Array.isArray(t)&&(n=n.cloneIfNeeded(),n.heroes=t),Number.isInteger(i)&&(n=n.cloneIfNeeded(),n.inviteCount=i),Number.isInteger(s)&&(n=n.cloneIfNeeded(),n.joinCount=s),n}class Ee{constructor(e,t){this.roomId=e?e.roomId:t,this.name=e?e.name:null,this.lastMessageTimestamp=e?e.lastMessageTimestamp:null,this.isUnread=e?e.isUnread:!1,this.encryption=e?e.encryption:null,this.membership=e?e.membership:null,this.inviteCount=e?e.inviteCount:0,this.joinCount=e?e.joinCount:0,this.heroes=e?e.heroes:null,this.canonicalAlias=e?e.canonicalAlias:null,this.hasFetchedMembers=e?e.hasFetchedMembers:!1,this.isTrackingMembers=e?e.isTrackingMembers:!1,this.avatarUrl=e?e.avatarUrl:null,this.notificationCount=e?e.notificationCount:0,this.highlightCount=e?e.highlightCount:0,this.tags=e?e.tags:null,this.isDirectMessage=e?e.isDirectMessage:!1,this.dmUserId=e?e.dmUserId:null,this.cloned=!!e}changedKeys(e){return Object.getOwnPropertyNames(this).filter(s=>s!=="cloned"&&this[s]!==e[s])}cloneIfNeeded(){return this.cloned?this:new Ee(this)}serialize(){return Object.entries(this).reduce((e,[t,s])=>(t!=="cloned"&&s!==null&&(e[t]=s),e),{})}applyTimelineEntries(e,t,s,i){return Oa(this,e,t,s,i)}applySyncResponse(e,t,s){return Pa(this,e,t,s)}get needsHeroes(){return!this.name&&!this.canonicalAlias&&this.heroes&&this.heroes.length>0}isNewJoin(e){return this.membership==="join"&&e.membership!=="join"}}class $a{constructor(e){this._data=null,this.applyChanges(new Ee(null,e))}get data(){return this._data}writeClearUnread(e){const t=new Ee(this._data);return t.isUnread=!1,t.notificationCount=0,t.highlightCount=0,e.roomSummary.set(t.serialize()),t}writeHasFetchedMembers(e,t){const s=new Ee(this._data);return s.hasFetchedMembers=e,t.roomSummary.set(s.serialize()),s}writeIsTrackingMembers(e,t){const s=new Ee(this._data);return s.isTrackingMembers=e,t.roomSummary.set(s.serialize()),s}writeData(e,t){if(e!==this._data)return t.roomSummary.set(e.serialize()),e}writeArchivedData(e,t){if(e!==this._data)return t.archivedRoomSummary.set(e.serialize()),e}async writeAndApplyData(e,t){if(e===this._data)return!1;const s=await t.readWriteTxn([t.storeNames.roomSummary]);try{s.roomSummary.set(e.serialize())}catch(i){throw s.abort(),i}return await s.complete(),this.applyChanges(e),!0}applyChanges(e){this._data=e,this._data.cloned=!1}async load(e){this.applyChanges(new Ee(e))}}var P=(n=>(n.session="session",n.roomState="roomState",n.roomSummary="roomSummary",n.archivedRoomSummary="archivedRoomSummary",n.invites="invites",n.roomMembers="roomMembers",n.timelineEvents="timelineEvents",n.timelineRelations="timelineRelations",n.timelineFragments="timelineFragments",n.pendingEvents="pendingEvents",n.userIdentities="userIdentities",n.deviceIdentities="deviceIdentities",n.olmSessions="olmSessions",n.inboundGroupSessions="inboundGroupSessions",n.outboundGroupSessions="outboundGroupSessions",n.groupSessionDecryptions="groupSessionDecryptions",n.operations="operations",n.accountData="accountData",n))(P||{});const Gt=Object.values(P);class Re extends Error{constructor(e,t=null){super(e),t&&(this.errcode=t.name),this.cause=t}get name(){return"StorageError"}}const F={get minStorageKey(){return 0},get middleStorageKey(){return 2147483647},get maxStorageKey(){return 4294967295}};class B{constructor(e,t){this.fragmentId=e,this.eventIndex=t}nextFragmentKey(){return new B(this.fragmentId+1,F.middleStorageKey)}nextKeyForDirection(e){return e.isForward?this.nextKey():this.previousKey()}previousKey(){return new B(this.fragmentId,this.eventIndex-1)}nextKey(){return new B(this.fragmentId,this.eventIndex+1)}static get maxKey(){return new B(F.maxStorageKey,F.maxStorageKey)}static get minKey(){return new B(F.minStorageKey,F.minStorageKey)}static get defaultLiveKey(){return B.defaultFragmentKey(F.minStorageKey)}static defaultFragmentKey(e){return new B(e,F.middleStorageKey)}toString(){return`[${this.fragmentId}/${this.eventIndex}]`}equals(e){return this.fragmentId===(e==null?void 0:e.fragmentId)&&this.eventIndex===(e==null?void 0:e.eventIndex)}}const li=Number.MAX_SAFE_INTEGER;class Kn{constructor(e){this._fragmentIdComparer=e}compare(e){return this.fragmentId===e.fragmentId?this.entryIndex-e.entryIndex:this.fragmentId===li?1:e.fragmentId===li?-1:this._fragmentIdComparer.compare(this.fragmentId,e.fragmentId)}asEventKey(){return new B(this.fragmentId,this.entryIndex)}}function hi(n){var e;return((e=n.unsigned)==null?void 0:e.prev_content)||n.prev_content}const ge="m.room.redaction";function di(n){var e;return!!((e=n==null?void 0:n.unsigned)!=null&&e.redacted_because)}var U=(n=>(n[n.None=1]="None",n[n.BeingCreated=2]="BeingCreated",n[n.Invited=4]="Invited",n[n.Joined=8]="Joined",n[n.Replaced=16]="Replaced",n[n.Archived=32]="Archived",n))(U||{}),re=(n=>(n[n.DirectMessage=0]="DirectMessage",n[n.Private=1]="Private",n[n.Public=2]="Public",n))(re||{});function ja(n,e){var o,a;let t;const s=c=>{const l=e(c);l instanceof Promise&&(t=t!=null?t:[],t.push(l))},i=(o=n.state)==null?void 0:o.events;if(i)for(let c=0;c{})}const qa="m.reaction",We="m.annotation";function Wa(n,e){return{"m.relates_to":{event_id:n,key:e,rel_type:We}}}function Ri(n){var e;return n.event_id||((e=n["m.in_reply_to"])==null?void 0:e.event_id)}function $n(n,e){n.event_id!==void 0?n.event_id=e:n["m.in_reply_to"]&&(n["m.in_reply_to"].event_id=e)}function Ha(n){if(n.type===ge)return n.redacts;{const e=$e(n);if(e)return Ri(e)}return null}function ze(n){return n==null?void 0:n["m.relates_to"]}function $e(n){return ze(n.content)}class za{constructor(){this._entries=[]}get firstTimestamp(){return this._entries.reduce((e,t)=>t.isRedaction?e:Math.min(t.timestamp,e),Number.MAX_SAFE_INTEGER)}get annotationEntry(){return this._entries.find(e=>!e.isRedaction)}get redactionEntry(){return this._entries.find(e=>e.isRedaction)}get count(){return this._entries.reduce((e,t)=>e+(t.isRedaction?-1:1),0)}add(e){this._entries.push(e)}remove(e){const t=this._entries.indexOf(e);return t===-1?!1:(this._entries.splice(t,1),!0)}get willAnnotate(){const e=this._entries.reduce((t,s)=>!t||s.pendingEvent.queueIndex>t.pendingEvent.queueIndex?s:t,null);return e?!e.isRedaction:!1}get isEmpty(){return this._entries.length===0}}function kr(n){return n.replace(/&/g,"&").replace(//g,">")}function Ga(n){switch(n){case"m.file":return"sent a file.";case"m.image":return"sent an image.";case"m.video":return"sent a video.";case"m.audio":return"sent an audio file."}return null}function Ja(n){return n==="m.emote"?"* ":""}function Qa(n,e,t,s){return{msgtype:e,body:t,format:"org.matrix.custom.html",formatted_body:s,"m.relates_to":{"m.in_reply_to":{event_id:n}}}}function Ya(n,e,t){const s=Ga(n.content.msgtype),i=Ja(n.content.msgtype),r=n.sender,o=n.displayName||r,a=s||n.content.formatted_body||n.content.body&&kr(n.content.body)||"",c=`

    In reply to ${i}${o}
    ${a}
    `,h=(s||n.content.body||"").split(` +`);h[0]=`> ${i}<${r}> ${h[0]}`;const u=h.join(` +> `)+` + +`+t,p=c+kr(t);return Qa(n.id,e,u,p)}class jn extends Kn{constructor(e){super(e),this._pendingRedactions=null,this._pendingAnnotations=null,this._contextEntry=null,this._contextForEntries=null}get isReply(){var e;return!!((e=this.relation)!=null&&e["m.in_reply_to"])}get isRedacting(){return!!this._pendingRedactions}get isRedacted(){return this.isRedacting}get isRedaction(){return this.eventType===ge}get redactionReason(){var e;return this._pendingRedactions?(e=this._pendingRedactions[0].content)==null?void 0:e.reason:null}setContextEntry(e){this._contextEntry=e,e._setAsContextOf(this)}_setAsContextOf(e){this._contextForEntries||(this._contextForEntries=[]),this._contextForEntries.push(e)}get contextForEntries(){return this._contextForEntries}get contextEntry(){return this._contextEntry}addLocalRelation(e){if(e.eventType===ge&&e.isRelatedToId(this.id)){if(this._pendingRedactions||(this._pendingRedactions=[]),this._pendingRedactions.push(e),this._pendingRedactions.length===1)return"isRedacted"}else{const t=e.redactingEntry||e;if(t.isRelatedToId(this.id)&&t.relation.rel_type===We&&this._addPendingAnnotation(e))return"pendingAnnotations"}}removeLocalRelation(e){var t;if(e.eventType===ge&&e.isRelatedToId(this.id)&&this._pendingRedactions){const s=this._pendingRedactions.length;if(this._pendingRedactions=this._pendingRedactions.filter(i=>i!==e),this._pendingRedactions.length===0&&(this._pendingRedactions=null,s!==0))return"isRedacted"}else{const s=e.redactingEntry||e;if(s.isRelatedToId(this.id)&&((t=s.relation)==null?void 0:t.rel_type)===We&&this._pendingAnnotations&&this._removePendingAnnotation(e))return"pendingAnnotations"}}_addPendingAnnotation(e){this._pendingAnnotations||(this._pendingAnnotations=new Map);const{key:t}=(e.redactingEntry||e).relation;if(t){let s=this._pendingAnnotations.get(t);return s||(s=new za,this._pendingAnnotations.set(t,s)),s.add(e),!0}return!1}_removePendingAnnotation(e){const{key:t}=(e.redactingEntry||e).relation;if(t){let s=this._pendingAnnotations.get(t);return s.remove(e)&&s.isEmpty&&this._pendingAnnotations.delete(t),this._pendingAnnotations.size===0&&(this._pendingAnnotations=null),!0}return!1}async abortPendingRedaction(){if(this._pendingRedactions)for(const e of this._pendingRedactions)await e.pendingEvent.abort()}get pendingRedaction(){return this._pendingRedactions?this._pendingRedactions[0]:null}annotate(e){return Wa(this.id,e)}reply(e,t){return Ya(this,e,t)}isRelatedToId(e){return e&&this.relatedEventId===e}haveAnnotation(e){var r,o,a;const t=((o=(r=this.annotations)==null?void 0:r[e])==null?void 0:o.me)||!1,s=(a=this.pendingAnnotations)==null?void 0:a.get(e),i=(s==null?void 0:s.willAnnotate)||!1;return t&&(!s||i)||!t&&i}get relation(){return ze(this.content)}get pendingAnnotations(){return this._pendingAnnotations}get annotations(){return null}}class Xa extends jn{constructor({pendingEvent:e,member:t,clock:s,redactingEntry:i}){super(null),this._pendingEvent=e,this._member=t,this._timestamp=s.now()-(100-e.queueIndex),this._redactingEntry=i}get fragmentId(){return li}get entryIndex(){return this._pendingEvent.queueIndex}get content(){return this._pendingEvent.content}get event(){return null}get eventType(){return this._pendingEvent.eventType}get stateKey(){return null}get sender(){var e;return(e=this._member)==null?void 0:e.userId}get displayName(){var e;return(e=this._member)==null?void 0:e.name}get avatarUrl(){var e;return(e=this._member)==null?void 0:e.avatarUrl}get timestamp(){return this._timestamp}get isPending(){return!0}get id(){return this._pendingEvent.txnId}get pendingEvent(){return this._pendingEvent}notifyUpdate(){}isRelatedToId(e){return e&&e===this._pendingEvent.relatedTxnId?!0:super.isRelatedToId(e)}get relatedEventId(){return this._pendingEvent.relatedEventId}get redactingEntry(){return this._redactingEntry}get contextEventId(){var e;return this.isReply?(e=this._pendingEvent.relatedEventId)!=null?e:this._pendingEvent.relatedTxnId:null}}const V=xe("Waiting","EncryptingAttachments","UploadingAttachments","Encrypting","Sending","Sent","Error"),Rr=["m.relates_to"];class Za{constructor({data:e,remove:t,emitUpdate:s,attachments:i}){this._data=e,this._attachments=i,this._emitUpdate=s,this._removeFromQueueCallback=t,this._aborted=!1,this._status=V.Waiting,this._sendRequest=null,this._attachmentsTotalBytes=0,this._attachments&&(this._attachmentsTotalBytes=Object.values(this._attachments).reduce((r,o)=>r+o.size,0))}get roomId(){return this._data.roomId}get queueIndex(){return this._data.queueIndex}get eventType(){return this._data.eventType}get txnId(){return this._data.txnId}get remoteId(){return this._data.remoteId}get content(){return this._data.content}get relatedTxnId(){return this._data.relatedTxnId}get relatedEventId(){const e=ze(this.content);return e?Ri(e):this._data.relatedEventId}setRelatedEventId(e){const t=ze(this.content);t?$n(t,e):this._data.relatedEventId=e}get data(){return this._data}getAttachment(e){return this._attachments&&this._attachments[e]}get needsSending(){return!this.remoteId&&!this.aborted}get needsEncryption(){return this._data.needsEncryption&&!this.aborted}get needsUpload(){return this._data.needsUpload&&!this.aborted}get isMissingAttachments(){return this.needsUpload&&!this._attachments}setEncrypting(){this._status=V.Encrypting,this._emitUpdate("status")}get contentForEncryption(){const e=Object.assign({},this._data.content);for(const t of Rr)delete e[t];return e}_preserveContentFields(e){const t=this._data.content;for(const s of Rr)t[s]!==void 0&&(e[s]=t[s])}setEncrypted(e,t){this._preserveContentFields(t),this._data.encryptedEventType=e,this._data.encryptedContent=t,this._data.needsEncryption=!1}setError(e){this._status=V.Error,this._error=e,this._emitUpdate("status")}setWaiting(){this._status=V.Waiting,this._emitUpdate("status")}get status(){return this._status}get error(){return this._error}get hasStartedSending(){return this._status===V.Sending||this._status===V.Sent}get attachmentsTotalBytes(){return this._attachmentsTotalBytes}get attachmentsSentBytes(){return this._attachments&&Object.values(this._attachments).reduce((e,t)=>e+t.sentBytes,0)}async uploadAttachments(e,t){if(!this.needsUpload)return;if(!this._attachments)throw new Error("attachments missing");if(this.needsEncryption){this._status=V.EncryptingAttachments,this._emitUpdate("status");for(const i of Object.values(this._attachments))if(await t.wrap("encrypt",()=>(t.set("size",i.size),i.encrypt())),this.aborted)throw new ye}this._status=V.UploadingAttachments,this._emitUpdate("status");const s=Object.entries(this._attachments);s.sort(([,i],[,r])=>i.size-r.size);for(const[i,r]of s)await t.wrap("upload",o=>(o.set("size",r.size),r.upload(e,()=>{this._emitUpdate("attachmentsSentBytes")},o))),r.applyToContent(i,this.content);this._data.needsUpload=!1}async abort(){var e;if(!this._aborted){if(this._aborted=!0,this._attachments)for(const t of Object.values(this._attachments))t.abort();(e=this._sendRequest)==null||e.abort(),await this._removeFromQueueCallback()}}get aborted(){return this._aborted}async send(e,t){this._status=V.Sending,this._emitUpdate("status");const s=this._data.encryptedEventType||this._data.eventType,i=this._data.encryptedContent||this._data.content;s===ge?this._sendRequest=e.redact(this.roomId,this._data.relatedEventId,this.txnId,i,{log:t}):this._sendRequest=e.send(this.roomId,s,this.txnId,i,{log:t});const r=await this._sendRequest.response();this._sendRequest=null,this._data.remoteId=r.event_id,t.set("id",this._data.remoteId),this._status=V.Sent,this._emitUpdate("status")}dispose(){if(this._attachments)for(const e of Object.values(this._attachments))e.dispose()}}class ne extends jn{constructor(e,t){super(t),this._eventEntry=e,this._decryptionError=null,this._decryptionResult=null}clone(){const e=new ne(this._eventEntry,this._fragmentIdComparer);return e.updateFrom(this),e}updateFrom(e){e._decryptionResult&&!this._decryptionResult&&(this._decryptionResult=e._decryptionResult),e._decryptionError&&!this._decryptionError&&(this._decryptionError=e._decryptionError),this._contextForEntries=e.contextForEntries,this._contextEntry=e.contextEntry}get event(){return this._eventEntry.event}get fragmentId(){return this._eventEntry.fragmentId}get entryIndex(){return this._eventEntry.eventIndex}get content(){var e,t;return((t=(e=this._decryptionResult)==null?void 0:e.event)==null?void 0:t.content)||this._eventEntry.event.content}get prevContent(){return hi(this._eventEntry.event)}get eventType(){var e,t;return((t=(e=this._decryptionResult)==null?void 0:e.event)==null?void 0:t.type)||this._eventEntry.event.type}get stateKey(){return this._eventEntry.event.state_key}get sender(){return this._eventEntry.event.sender}get displayName(){return this._eventEntry.displayName}get avatarUrl(){return this._eventEntry.avatarUrl}get timestamp(){return this._eventEntry.event.origin_server_ts}get id(){return this._eventEntry.event.event_id}setDecryptionResult(e){this._decryptionResult=e}get isEncrypted(){return this._eventEntry.event.type==="m.room.encrypted"}get isDecrypted(){var e;return!!((e=this._decryptionResult)!=null&&e.event)}get isVerified(){var e;return this.isEncrypted&&((e=this._decryptionResult)==null?void 0:e.isVerified)}get isUnverified(){var e;return this.isEncrypted&&((e=this._decryptionResult)==null?void 0:e.isUnverified)}setDecryptionError(e){this._decryptionError=e}get decryptionError(){return this._decryptionError}get relatedEventId(){return Ha(this.event)}get isRedacted(){return super.isRedacted||di(this._eventEntry.event)}get redactionReason(){var t,s;const e=(t=this._eventEntry.event.unsigned)==null?void 0:t.redacted_because;return e?(s=e.content)==null?void 0:s.reason:super.redactionReason}get annotations(){return this._eventEntry.annotations}get relation(){const e=this._eventEntry.event.content;return e&&ze(e)||ze(this.content)}get contextEventId(){return this.isReply?this.relatedEventId:null}}function qn(n,e,t){return{fragmentId:n.fragmentId,eventIndex:n.eventIndex,roomId:e,event:t}}function jt(n,e,t){t.isForward?n.push(e):n.unshift(e)}function ec(n,e,t){return t.isForward?n.concat(e):e.concat(n)}const oe="m.room.member";class O{constructor(e){this._data=e}static fromUserId(e,t,s){return new O({roomId:e,userId:t,membership:s})}static fromMemberEvent(e,t){const s=t==null?void 0:t.state_key;if(typeof s!="string")return;const i=t.content,r=hi(t),o=i==null?void 0:i.membership,a=(i==null?void 0:i.displayname)||(r==null?void 0:r.displayname),c=(i==null?void 0:i.avatar_url)||(r==null?void 0:r.avatar_url);return this._validateAndCreateMember(e,s,o,a,c)}static fromReplacingMemberEvent(e,t){const s=t&&t.state_key;if(typeof s!="string")return;const i=hi(t);return this._validateAndCreateMember(e,s,i==null?void 0:i.membership,i==null?void 0:i.displayname,i==null?void 0:i.avatar_url)}static _validateAndCreateMember(e,t,s,i,r){if(typeof s=="string")return new O({roomId:e,userId:t,membership:s,avatarUrl:r,displayName:i})}get membership(){return this._data.membership}get displayName(){return this._data.displayName}get name(){return this._data.displayName||this._data.userId}get avatarUrl(){return this._data.avatarUrl}get roomId(){return this._data.roomId}get userId(){return this._data.userId}serialize(){return this._data}equals(e){const t=this._data,s=e._data;return t.roomId===s.roomId&&t.userId===s.userId&&t.membership===s.membership&&t.displayName===s.displayName&&t.avatarUrl===s.avatarUrl}}class Wn{constructor(e,t){this.member=e,this.previousMembership=t}get roomId(){return this.member.roomId}get userId(){return this.member.userId}get membership(){return this.member.membership}get wasInvited(){return this.previousMembership==="invite"&&this.membership!=="invite"}get hasLeft(){return this.previousMembership==="join"&&this.membership!=="join"}get hasJoined(){return this.previousMembership!=="join"&&this.membership==="join"}}function Ci(n){return typeof n=="number"}const tc=["event_id","type","room_id","user_id","sender","state_key","prev_state","content","unsigned","origin_server_ts"].reduce(function(n,e){return n[e]=1,n},{}),sc={"m.room.member":{membership:1},"m.room.create":{creator:1},"m.room.join_rules":{join_rule:1},"m.room.power_levels":{ban:1,events:1,events_default:1,kick:1,redact:1,state_default:1,users:1,users_default:1},"m.room.aliases":{aliases:1}};function ic(n,e){for(const i of Object.keys(e))tc[i]||delete e[i];const{content:t}=e,s=sc[e.type];for(const i of Object.keys(t))s!=null&&s[i]||delete t[i];e.unsigned=e.unsigned||{},e.unsigned.redacted_because=n}function rc(n,e){const t=[];for(;Ci(n.previousId);){const s=e.get(n.previousId);if(!s)break;if(s.nextId!==n.id)throw new Error(`Previous fragment ${s.id} doesn't point back to ${n.id}`);e.delete(n.previousId),t.unshift(s),n=s}return t}function nc(n,e){const t=[];for(;Ci(n.nextId);){const s=e.get(n.nextId);if(!s)break;if(s.previousId!==n.id)throw new Error(`Next fragment ${s.id} doesn't point back to ${n.id}`);e.delete(n.nextId),t.push(s),n=s}return t}function oc(n){const e=new Map;for(let s of n)e.set(s.id,s);const t=[];for(;e.size;){const s=e.values().next().value;e.delete(s.id);const i=rc(s,e),r=nc(s,e),o=i.concat(s,r);t.push(o)}return t.map(s=>new ac(s))}class ti{constructor(e,t,s){this.id=e,this.previousId=t,this.nextId=s}}class ac{constructor(e){this._idToSortIndex=new Map,e.forEach((t,s)=>{this._idToSortIndex.set(t.id,s)})}compare(e,t){const s=this._idToSortIndex.get(e);if(s===void 0)throw new Error(`first id ${e} isn't part of this island`);const i=this._idToSortIndex.get(t);if(i===void 0)throw new Error(`second id ${t} isn't part of this island`);return s-i}get fragmentIds(){return this._idToSortIndex.keys()}}class Cr extends Error{get name(){return"CompareError"}}class cc{constructor(e){this._fragmentsById=e.reduce((t,s)=>(t.set(s.id,s),t),new Map),this.rebuild(e)}_getIsland(e){const t=this._idToIsland.get(e);if(t===void 0)throw new Cr(`Unknown fragment id ${e}`);return t}compare(e,t){if(e===t)return 0;const s=this._getIsland(e),i=this._getIsland(t);if(s!==i)throw new Cr(`${e} and ${t} are on different islands, can't tell order`);return s.compare(e,t)}rebuild(e){const t=oc(e);this._idToIsland=new Map;for(let s of t)for(let i of s.fragmentIds)this._idToIsland.set(i,s)}add(e){const t=new ti(e.id,e.previousId,e.nextId);this._fragmentsById.set(e.id,t),this.rebuild(this._fragmentsById.values())}append(e,t){const s=new ti(e,t,null),i=this._fragmentsById.get(t);i&&(i.nextId=e),this._fragmentsById.set(e,s),this.rebuild(this._fragmentsById.values())}prepend(e,t){const s=new ti(e,null,t),i=this._fragmentsById.get(t);i&&(i.previousId=e),this._fragmentsById.set(e,s),this.rebuild(this._fragmentsById.values())}}(function(){const e=document.createElement("link").relList;return e&&e.supports&&e.supports("modulepreload")?"modulepreload":"preload"})();function lc(n){return"objectStore"in n?`${n.objectStore.name}.${n.name}`:n.name}function hc(n){var e,t,s,i,r;return"objectStore"in n?(s=(t=(e=n.objectStore)==null?void 0:e.transaction)==null?void 0:t.db)==null?void 0:s.name:(r=(i=n.transaction)==null?void 0:i.db)==null?void 0:r.name}class Hn extends Re{constructor(e,t,s=null){const i=t&&"source"in t?t.source:t,r=i?lc(i):"",o=i?hc(i):"";let a=`${e} on ${o}.${r}`;s&&(a+=": ",typeof s.name=="string"&&(a+=`(name: ${s.name}) `),typeof s.code=="number"&&(a+=`(code: ${s.code}) `)),s&&(a+=s.message),super(a,s),this.storeName=r,this.databaseName=o}}class Ti extends Hn{constructor(e){const t=e.target,s=t.source,i=t.error;super("IDBRequest failed",s,i),this.errorEvent=e}preventTransactionAbort(){this.errorEvent.preventDefault()}}class Ie extends Hn{constructor(e,t,s,i){super(`${e}(${i.map(r=>JSON.stringify(r)).join(", ")}) failed`,t,s)}}const Tr={done:!0},Ge={done:!1};function Rs(n){const e=n.toString(16);return"0".repeat(8-e.length)+e}function ui(n){return parseInt(n,16)}function Mi(n,e,t,s=window.indexedDB){const i=s.open(n,t);return i.onupgradeneeded=async r=>{const o=r.target,a=o.result,c=o.transaction,l=r.oldVersion;try{await e(a,c,l,t)}catch{try{c.abort()}catch{}}},X(i)}function X(n){return new Promise((e,t)=>{n.addEventListener("success",s=>{e(s.target.result)}),n.addEventListener("error",s=>{const i=new Ti(s);t(i)})})}function Jt(n){return new Promise((e,t)=>{n.addEventListener("complete",()=>{e()}),n.addEventListener("abort",s=>{t(new ye)})})}function K(n,e){return new Promise((t,s)=>{n.onerror=i=>{s(new Ti(i))},n.onsuccess=i=>{const r=i.target.result;if(!r){t(!1);return}const o=e(r.value,r.key,r),a=o==null?void 0:o.done,c=o==null?void 0:o.jumpTo;a?t(!0):c?r.continue(c):r.continue()}}).catch(t=>{throw new Re("iterateCursor failed",t)})}async function dc(n,e){const t=[];return await K(n,s=>(t.push(s),{done:e(t)})),t}class Mr{constructor(e,t){this._target=e,this._transaction=t}get idbFactory(){return this._transaction.idbFactory}get IDBKeyRange(){return this._transaction.IDBKeyRange}get databaseName(){return this._transaction.databaseName}_openCursor(e,t){return e&&t?this._target.openCursor(e,t):e?this._target.openCursor(e):t?this._target.openCursor(null,t):this._target.openCursor()}supports(e){return this._target.supports(e)}count(e){return X(this._target.count(e))}get(e){return X(this._target.get(e))}getKey(e){return this._target.supports("getKey")?X(this._target.getKey(e)):X(this._target.get(e)).then(t=>{if(t){let s=this._target.keyPath;return typeof s=="string"&&(s=[s]),s.reduce((i,r)=>i[r],t)}})}reduce(e,t,s){return this._reduce(e,t,s,"next")}reduceReverse(e,t,s){return this._reduce(e,t,s,"prev")}selectLimit(e,t){return this._selectLimit(e,t,"next")}selectLimitReverse(e,t){return this._selectLimit(e,t,"prev")}selectWhile(e,t){return this._selectWhile(e,t,"next")}selectWhileReverse(e,t){return this._selectWhile(e,t,"prev")}async selectAll(e,t){const s=this._openCursor(e,t),i=[];return await K(s,r=>(i.push(r),Ge)),i}selectFirst(e){return this._find(e,()=>!0,"next")}selectLast(e){return this._find(e,()=>!0,"prev")}find(e,t){return this._find(e,t,"next")}findReverse(e,t){return this._find(e,t,"prev")}async findMaxKey(e){const t=this._target.openKeyCursor(e,"prev");let s;return await K(t,(i,r)=>(s=r,Tr)),s}async iterateValues(e,t){const s=this._target.openCursor(e,"next");await K(s,(i,r,o)=>({done:t(i,r,o)}))}async iterateKeys(e,t){const s=this._target.openKeyCursor(e,"next");await K(s,(i,r,o)=>({done:t(r,o)}))}async findExistingKeys(e,t,s){const i=(d,u)=>t?-this.idbFactory.cmp(d,u):this.idbFactory.cmp(d,u),r=e.slice().sort(i),o=r[0],a=r[r.length-1],c=t?"prev":"next",l=this._target.openKeyCursor(this.IDBKeyRange.bound(o,a),c);let h=0;await K(l,(d,u,p)=>{for(;h=r.length?Tr:{done:!1,jumpTo:r[h]}})}_reduce(e,t,s,i){let r=s;const o=this._openCursor(e,i);return K(o,a=>(r=t(r,a),Ge))}_selectLimit(e,t,s){return this._selectUntil(e,i=>i.length===t,s)}async _selectUntil(e,t,s){const i=this._openCursor(e,s),r=[];return await K(i,o=>(r.push(o),{done:t(r,o)})),r}async _selectWhile(e,t,s){const i=this._openCursor(e,s),r=[];return await K(i,o=>{const a=t(o);return a&&r.push(o),{done:!a}}),r}async iterateWhile(e,t){const s=this._openCursor(e,"next");await K(s,i=>({done:!t(i)}))}async _find(e,t,s){const i=this._openCursor(e,s);let r;if(await K(i,a=>{const c=t(a);return c&&(r=a),{done:c}}))return r}}const Ue=!1;function Fe(n,e,t){var r,o;const s=t==null?void 0:t.name,i=(o=(r=t==null?void 0:t.transaction)==null?void 0:r.db)==null?void 0:o.name;console.info(`${i}.${s}.${n}(${e.map(a=>JSON.stringify(a)).join(", ")})`)}class Ar{constructor(e){this._qt=e}get keyPath(){return this._qtStore.keyPath}get _qtStore(){return"objectStore"in this._qt?this._qt.objectStore:this._qt}supports(e){return!!this._qt[e]}openKeyCursor(e,t){try{return this._qt.openKeyCursor?(Ue&&Fe("openKeyCursor",[e,t],this._qt),this._qt.openKeyCursor(e,t)):(Ue&&Fe("openCursor",[e,t],this._qt),this.openCursor(e,t))}catch(s){throw new Ie("openKeyCursor",this._qt,s,[e,t])}}openCursor(e,t){try{return Ue&&Fe("openCursor",[],this._qt),this._qt.openCursor(e,t)}catch(s){throw new Ie("openCursor",this._qt,s,[e,t])}}put(e,t){try{return Ue&&Fe("put",[e,t],this._qt),this._qtStore.put(e,t)}catch(s){throw new Ie("put",this._qt,s,[e,t])}}add(e,t){try{return Ue&&Fe("add",[e,t],this._qt),this._qtStore.add(e,t)}catch(s){throw new Ie("add",this._qt,s,[e,t])}}get(e){try{return Ue&&Fe("get",[e],this._qt),this._qt.get(e)}catch(t){throw new Ie("get",this._qt,t,[e])}}getKey(e){try{return Ue&&Fe("getKey",[e],this._qt),this._qt.getKey(e)}catch(t){throw new Ie("getKey",this._qt,t,[e])}}delete(e){try{return Ue&&Fe("delete",[e],this._qt),this._qtStore.delete(e)}catch(t){throw new Ie("delete",this._qt,t,[e])}}count(e){try{return this._qt.count(e)}catch(t){throw new Ie("count",this._qt,t,[e])}}index(e){try{return this._qtStore.index(e)}catch(t){throw new Ie("index",this._qt,t,[e])}}get indexNames(){return Array.from(this._qtStore.indexNames)}}class zn extends Mr{constructor(e,t){super(new Ar(e),t)}get _idbStore(){return this._target}index(e){return new Mr(new Ar(this._idbStore.index(e)),this._transaction)}put(e,t){const s=this._idbStore.put(e);this._prepareErrorLog(s,t,"put",void 0,e)}add(e,t){const s=this._idbStore.add(e);this._prepareErrorLog(s,t,"add",void 0,e)}async tryAdd(e,t){try{return await X(this._idbStore.add(e)),!0}catch(s){if(s instanceof Ti)return t.log({l:"could not write",id:this._getKeys(e),e:s},t.level.Warn),s.preventTransactionAbort(),!1;throw s}}delete(e,t){const s=this._idbStore.delete(e);this._prepareErrorLog(s,t,"delete",e,void 0)}_prepareErrorLog(e,t,s,i,r){t&&t.ensureRefId(),X(e).catch(o=>{let a;r?a=this._getKeys(r):i&&(a=[i]),this._transaction.addWriteError(o,t,s,a)})}_getKeys(e){const t=[],{keyPath:s}=this._idbStore;try{t.push(this._readKeyPath(e,s))}catch{console.warn("could not read keyPath",s)}for(const i of this._idbStore.indexNames)try{const r=this._idbStore.index(i);t.push(this._readKeyPath(e,r.keyPath))}catch{console.warn("could not read index",i)}return t}_readKeyPath(e,t){if(Array.isArray(t)){let s=e;for(const i of t)if(typeof s=="object")s=s[i];else break;return s}else return e[t]}}function uc(n){return JSON.stringify(Gn(n))}function mc(n){return Jn(JSON.parse(n))}function Gn(n){if(typeof n=="object"&&n!==null&&!Array.isArray(n)){if(n.byteLength)return{_type:n.constructor.name,value:Array.from(n)};let e={};for(const t in n)n.hasOwnProperty(t)&&(e[t]=Gn(n[t]));return e}else return n}function Jn(n){if(typeof n=="object"&&n!==null&&!Array.isArray(n)){if(typeof n._type=="string")switch(n._type){case"Int8Array":return Int8Array.from(n.value);case"Uint8Array":return Uint8Array.from(n.value);case"Uint8ClampedArray":return Uint8ClampedArray.from(n.value);case"Int16Array":return Int16Array.from(n.value);case"Uint16Array":return Uint16Array.from(n.value);case"Int32Array":return Int32Array.from(n.value);case"Uint32Array":return Uint32Array.from(n.value);case"Float32Array":return Float32Array.from(n.value);case"Float64Array":return Float64Array.from(n.value);case"BigInt64Array":return BigInt64Array.from(n.value);case"BigUint64Array":return BigUint64Array.from(n.value);default:return n.value}let e={};for(const t in n)n.hasOwnProperty(t)&&(e[t]=Jn(n[t]));return e}else return n}class Ai{constructor(e,t){this._sessionStore=e,this._localStorage=t}get _localStorageKeyPrefix(){return`${this._sessionStore.databaseName}.session.`}async get(e){const t=await this._sessionStore.get(e);if(t)return t.value}_writeKeyToLocalStorage(e,t){try{const s=this._localStorageKeyPrefix+e,i=uc(t);this._localStorage.setItem(s,i)}catch(s){console.error("could not write to localStorage",s)}}writeE2EEIdentityToLocalStorage(){this._sessionStore.iterateValues(void 0,(e,t)=>(t.startsWith(ie)&&this._writeKeyToLocalStorage(t,e.value),!1))}async tryRestoreE2EEIdentityFromLocalStorage(e){let t=!1;const s=this._localStorageKeyPrefix,i=s+ie;for(let r=0;r(n[n.All=1]="All",n[n.Debug=2]="Debug",n[n.Detail=3]="Detail",n[n.Info=4]="Info",n[n.Warn=5]="Warn",n[n.Error=6]="Error",n[n.Fatal=7]="Fatal",n[n.Off=8]="Off",n))(_e||{});class mi{constructor(e){this._parentFilter=e}filter(e,t){return!(this._parentFilter&&!this._parentFilter.filter(e,t)||this._min!==void 0&&!Array.isArray(t)&&e.logLevels(t(this.item))).then(Cs,Cs),this.item}async export(){}get level(){return _e}}class fc{constructor(e){this.logger=e}wrap(e,t){return t(this)}log(){return this}set(){return this}runDetached(e,t){return new Promise(s=>s(t(this))).then(Cs,Cs),this}wrapDetached(e,t){return this.refDetached()}refDetached(){}ensureRefId(){}get level(){return _e}get duration(){return 0}catch(e){return e}child(){return this}finish(){}serialize(){}}const gc=new _c;function ae(n,e,t){return`${n}|${Rs(e)}|${Rs(t)}`}function yc(n){const[e,t,s]=n.split("|");return{roomId:e,eventKey:new B(ui(t),ui(s))}}function ms(n,e){return`${n}|${e}`}function Nr(n){const[e,t]=n.split("|");return{roomId:e,eventId:t}}class ps{constructor(e,t,s,i,r=!1,o=!1){this._IDBKeyRange=e,this._only=t,this._lower=s,this._upper=i,this._lowerOpen=r,this._upperOpen=o}asIDBKeyRange(e){try{if(this._only)return this._IDBKeyRange.only(ae(e,this._only.fragmentId,this._only.eventIndex));if(this._lower&&!this._upper)return this._IDBKeyRange.bound(ae(e,this._lower.fragmentId,this._lower.eventIndex),ae(e,this._lower.fragmentId,F.maxStorageKey),this._lowerOpen,!1);if(!this._lower&&this._upper)return this._IDBKeyRange.bound(ae(e,this._upper.fragmentId,F.minStorageKey),ae(e,this._upper.fragmentId,this._upper.eventIndex),!1,this._upperOpen);if(this._lower&&this._upper)return this._IDBKeyRange.bound(ae(e,this._lower.fragmentId,this._lower.eventIndex),ae(e,this._upper.fragmentId,this._upper.eventIndex),this._lowerOpen,this._upperOpen)}catch(t){throw new Re("IDBKeyRange failed with data: "+JSON.stringify(this),t)}}}class wc{constructor(e){this._timelineStore=e}onlyRange(e){return new ps(this._timelineStore.IDBKeyRange,e)}upperBoundRange(e,t=!1){return new ps(this._timelineStore.IDBKeyRange,void 0,void 0,e,void 0,t)}lowerBoundRange(e,t=!1){return new ps(this._timelineStore.IDBKeyRange,void 0,e,void 0,t)}boundRange(e,t,s=!1,i=!1){return new ps(this._timelineStore.IDBKeyRange,void 0,e,t,s,i)}async lastEvents(e,t,s){const i=B.maxKey;return i.fragmentId=t,this.eventsBefore(e,i,s)}async firstEvents(e,t,s){const i=B.minKey;return i.fragmentId=t,this.eventsAfter(e,i,s)}eventsAfter(e,t,s){const i=this.lowerBoundRange(t,!0).asIDBKeyRange(e);return this._timelineStore.selectLimit(i,s)}async eventsBefore(e,t,s){const i=this.upperBoundRange(t,!0).asIDBKeyRange(e),r=await this._timelineStore.selectLimitReverse(i,s);return r.reverse(),r}async getEventKeysForIds(e,t){const s=this._timelineStore.index("byEventId"),i=t.map(o=>ms(e,o)),r=new Map;return await s.findExistingKeys(i,!1,(o,a)=>{const{eventId:c}=Nr(o),{eventKey:l}=yc(a);return r.set(c,l),!1}),r}async findFirstOccurringEventId(e,t){const s=this._timelineStore.index("byEventId"),i=t.map(c=>ms(e,c)),r=new Array(i.length);let o;function a(){for(let c=0;c{const h=i.indexOf(c);return r[h]=l,o=a(),!!o}),o&&Nr(o).eventId}tryInsert(e,t){return e.key=ae(e.roomId,e.fragmentId,e.eventIndex),e.eventIdKey=ms(e.roomId,e.event.event_id),this._timelineStore.tryAdd(e,t)}update(e){this._timelineStore.put(e)}get(e,t){return this._timelineStore.get(ae(e,t.fragmentId,t.eventIndex))}getByEventId(e,t){return this._timelineStore.index("byEventId").get(ms(e,t))}removeAllForRoom(e){const t=ae(e,F.minStorageKey,F.minStorageKey),s=ae(e,F.maxStorageKey,F.maxStorageKey),i=this._timelineStore.IDBKeyRange.bound(t,s);this._timelineStore.delete(i)}}const te="\0",G="\u{10FFFF}";function me(n,e,t,s){return`${n}|${e}|${t}|${s}`}function Dr(n){const[e,t,s,i]=n.split("|");return{roomId:e,targetEventId:t,relType:s,sourceEventId:i}}class vc{constructor(e){this._store=e}add(e,t,s,i){this._store.add({key:me(e,t,s,i)})}remove(e,t,s,i){this._store.delete(me(e,t,s,i))}removeAllForTarget(e,t){const s=this._store.IDBKeyRange.bound(me(e,t,te,te),me(e,t,G,G),!0,!0);this._store.delete(s)}removeAllForRoom(e){const t=this._store.IDBKeyRange.bound(me(e,te,te,te),me(e,G,G,G),!0,!0);this._store.delete(t)}async getForTargetAndType(e,t,s){const i=this._store.IDBKeyRange.bound(me(e,t,s,te),me(e,t,s,G),!0,!0);return(await this._store.selectAll(i)).map(o=>Dr(o.key))}async getAllForTarget(e,t){const s=this._store.IDBKeyRange.bound(me(e,t,te,te),me(e,t,G,G),!0,!0);return(await this._store.selectAll(s)).map(r=>Dr(r.key))}}function Vr(n,e,t){return`${n}|${e}|${t}`}class bc{constructor(e){this._roomStateStore=e}get(e,t,s){const i=Vr(e,t,s);return this._roomStateStore.get(i)}set(e,t){const s=Vr(e,t.type,t.state_key),i={roomId:e,event:t,key:s};this._roomStateStore.put(i)}removeAllForRoom(e){const t=this._roomStateStore.IDBKeyRange.bound(e,`${e}|${G}`,!0,!0);this._roomStateStore.delete(t)}}function _s(n,e){return`${n}|${e}`}function Sc(n){const[e,t]=n.split("|");return{roomId:e,userId:t}}class Qn{constructor(e){this._roomMembersStore=e}get(e,t){return this._roomMembersStore.get(_s(e,t))}set(e){e.key=_s(e.roomId,e.userId),this._roomMembersStore.put(e)}getAll(e){const t=this._roomMembersStore.IDBKeyRange.lowerBound(_s(e,""));return this._roomMembersStore.selectWhile(t,s=>s.roomId===e)}async getAllUserIds(e){const t=[],s=this._roomMembersStore.IDBKeyRange.lowerBound(_s(e,""));return await this._roomMembersStore.iterateKeys(s,i=>{const r=Sc(i);return r.roomId===e?(t.push(r.userId),!1):!0}),t}removeAllForRoom(e){const t=this._roomMembersStore.IDBKeyRange.bound(e,`${e}|${G}`,!0,!0);this._roomMembersStore.delete(t)}}function fs(n,e){return`${n}|${Rs(e)}`}class Ic{constructor(e){this._store=e}_allRange(e){try{return this._store.IDBKeyRange.bound(fs(e,F.minStorageKey),fs(e,F.maxStorageKey))}catch(t){throw new Re(`error from IDBKeyRange with roomId ${e}`,t)}}all(e){return this._store.selectAll(this._allRange(e))}liveFragment(e){return this._store.findReverse(this._allRange(e),t=>typeof t.nextId!="number"&&typeof t.nextToken!="string")}add(e){e.key=fs(e.roomId,e.id),this._store.add(e)}update(e){this._store.put(e)}get(e,t){return this._store.get(fs(e,t))}removeAllForRoom(e){this._store.delete(this._allRange(e))}}function Qe(n,e){return`${n}|${Rs(e)}`}function Ec(n){const[e,t]=n.split("|"),s=ui(t);return{roomId:e,queueIndex:s}}class kc{constructor(e){this._eventStore=e}async getMaxQueueIndex(e){const t=this._eventStore.IDBKeyRange.bound(Qe(e,F.minStorageKey),Qe(e,F.maxStorageKey),!1,!1),s=await this._eventStore.findMaxKey(t);if(s)return Ec(s).queueIndex}remove(e,t){const s=this._eventStore.IDBKeyRange.only(Qe(e,t));this._eventStore.delete(s)}async exists(e,t){const s=this._eventStore.IDBKeyRange.only(Qe(e,t));return!!await this._eventStore.getKey(s)}add(e){e.key=Qe(e.roomId,e.queueIndex),this._eventStore.add(e)}update(e){this._eventStore.put(e)}getAll(){return this._eventStore.selectAll()}removeAllForRoom(e){const t=Qe(e,F.minStorageKey),s=Qe(e,F.maxStorageKey),i=this._eventStore.IDBKeyRange.bound(t,s);this._eventStore.delete(i)}}class Rc{constructor(e){this._store=e}get(e){return this._store.get(e)}set(e){this._store.put(e)}remove(e){this._store.delete(e)}}function Ye(n,e){return`${n}|${e}`}function Cc(n){const[e,t]=n.split("|");return{userId:e,deviceId:t}}class Tc{constructor(e){this._store=e}getAllForUserId(e){const t=this._store.IDBKeyRange.lowerBound(Ye(e,""));return this._store.selectWhile(t,s=>s.userId===e)}async getAllDeviceIds(e){const t=[],s=this._store.IDBKeyRange.lowerBound(Ye(e,""));return await this._store.iterateKeys(s,i=>{const r=Cc(i);return r.userId===e?(t.push(r.deviceId),!1):!0}),t}get(e,t){return this._store.get(Ye(e,t))}set(e){e.key=Ye(e.userId,e.deviceId),this._store.put(e)}getByCurve25519Key(e){return this._store.index("byCurve25519Key").get(e)}remove(e,t){this._store.delete(Ye(e,t))}removeAllForUser(e){const t=this._store.IDBKeyRange.bound(Ye(e,te),Ye(e,G),!0,!0);this._store.delete(t)}}function Nt(n,e){return`${n}|${e}`}function Mc(n){const[e,t]=n.split("|");return{senderKey:e,sessionId:t}}class Ac{constructor(e){this._store=e}async getSessionIds(e){const t=[],s=this._store.IDBKeyRange.lowerBound(Nt(e,""));return await this._store.iterateKeys(s,i=>{const r=Mc(i);return r.senderKey===e?(t.push(r.sessionId),!1):!0}),t}getAll(e){const t=this._store.IDBKeyRange.lowerBound(Nt(e,""));return this._store.selectWhile(t,s=>s.senderKey===e)}get(e,t){return this._store.get(Nt(e,t))}set(e){e.key=Nt(e.senderKey,e.sessionId),this._store.put(e)}remove(e,t){this._store.delete(Nt(e,t))}}var Os=(n=>(n[n.NotBackedUp=0]="NotBackedUp",n[n.BackedUp=1]="BackedUp",n))(Os||{}),es=(n=>(n[n.DeviceMessage=1]="DeviceMessage",n[n.Backup=2]="Backup",n[n.Outbound=3]="Outbound",n))(es||{});function gt(n,e,t){return`${n}|${e}|${t}`}class xc{constructor(e){this._store=e}async has(e,t,s){const i=gt(e,t,s),r=await this._store.getKey(i);return i===r}get(e,t,s){return this._store.get(gt(e,t,s))}set(e){const t=e;t.key=gt(e.roomId,e.senderKey,e.sessionId),this._store.put(t)}removeAllForRoom(e){const t=this._store.IDBKeyRange.bound(gt(e,te,te),gt(e,G,G));this._store.delete(t)}countNonBackedUpSessions(){return this._store.index("byBackup").count(this._store.IDBKeyRange.only(0))}getFirstNonBackedUpSessions(e){return this._store.index("byBackup").selectLimit(this._store.IDBKeyRange.only(0),e)}async markAsBackedUp(e,t,s){const i=await this._store.get(gt(e,t,s));i&&(i.backup=1,this._store.put(i))}async markAllAsNotBackedUp(){const e=this._store.IDBKeyRange.only(1);let t=0;return await this._store.index("byBackup").iterateValues(e,(s,i,r)=>(s.backup=0,r.update(s),t+=1,!1)),t}}class Nc{constructor(e){this._store=e}remove(e){this._store.delete(e)}get(e){return this._store.get(e)}set(e){this._store.put(e)}}function gs(n,e,t){return`${n}|${e}|${t}`}class Dc{constructor(e){this._store=e}get(e,t,s){return this._store.get(gs(e,t,s))}set(e,t,s,i){i.key=gs(e,t,s),this._store.put(i)}removeAllForRoom(e){const t=this._store.IDBKeyRange.bound(gs(e,te,te),gs(e,G,G));this._store.delete(t)}}function Ut(n,e){return`${n}|${e}`}class Vc{constructor(e){this._store=e}getAll(){return this._store.selectAll()}async getAllByTypeAndScope(e,t){const s=Ut(t,e),i=[];return await this._store.index("byScopeAndType").iterateWhile(s,r=>r.scopeTypeKey!==s?!1:(i.push(r),!0)),i}add(e){e.scopeTypeKey=Ut(e.scope,e.type),this._store.add(e)}update(e){this._store.put(e)}remove(e){this._store.delete(e)}async removeAllForScope(e){const t=this._store.IDBKeyRange.bound(Ut(e,te),Ut(e,G));await this._store.index("byScopeAndType").iterateValues(t,(i,r,o)=>(o.delete(),!0))}}class Lc{constructor(e){this._store=e}async get(e){return await this._store.get(e)}set(e){this._store.put(e)}}class Oc{constructor(e,t,s,i){this.error=e,this.refItem=t,this.operationName=s,this.keys=i}}class Lr{constructor(e,t,s){this._txn=e,this._allowedStoreNames=t,this._stores={},this._storage=s,this._writeErrors=[]}get idbFactory(){return this._storage.idbFactory}get IDBKeyRange(){return this._storage.IDBKeyRange}get databaseName(){return this._storage.databaseName}get logger(){return this._storage.logger}_idbStore(e){if(!this._allowedStoreNames.includes(e))throw new Re(`Invalid store for transaction: ${e}, only ${this._allowedStoreNames.join(", ")} are allowed.`);return new zn(this._txn.objectStore(e),this)}_store(e,t){if(!this._stores[e]){const s=this._idbStore(e);this._stores[e]=t(s)}return this._stores[e]}get session(){return this._store(P.session,e=>new Ai(e,this._storage.localStorage))}get roomSummary(){return this._store(P.roomSummary,e=>new xr(e))}get archivedRoomSummary(){return this._store(P.archivedRoomSummary,e=>new xr(e))}get invites(){return this._store(P.invites,e=>new pc(e))}get timelineFragments(){return this._store(P.timelineFragments,e=>new Ic(e))}get timelineEvents(){return this._store(P.timelineEvents,e=>new wc(e))}get timelineRelations(){return this._store(P.timelineRelations,e=>new vc(e))}get roomState(){return this._store(P.roomState,e=>new bc(e))}get roomMembers(){return this._store(P.roomMembers,e=>new Qn(e))}get pendingEvents(){return this._store(P.pendingEvents,e=>new kc(e))}get userIdentities(){return this._store(P.userIdentities,e=>new Rc(e))}get deviceIdentities(){return this._store(P.deviceIdentities,e=>new Tc(e))}get olmSessions(){return this._store(P.olmSessions,e=>new Ac(e))}get inboundGroupSessions(){return this._store(P.inboundGroupSessions,e=>new xc(e))}get outboundGroupSessions(){return this._store(P.outboundGroupSessions,e=>new Nc(e))}get groupSessionDecryptions(){return this._store(P.groupSessionDecryptions,e=>new Dc(e))}get operations(){return this._store(P.operations,e=>new Vc(e))}get accountData(){return this._store(P.accountData,e=>new Lc(e))}async complete(e){try{await Jt(this._txn)}catch(t){throw this._writeErrors.length?(this._logWriteErrors(e),this._writeErrors[0].error):t}}getCause(e){return e instanceof Re&&e.errcode==="AbortError"&&this._writeErrors.length?this._writeErrors[0].error:e}abort(e){try{this._txn.abort()}catch{e==null||e.set("couldNotAbortTxn",!0)}this._writeErrors.length&&this._logWriteErrors(e)}addWriteError(e,t,s,i){(e.errcode!=="AbortError"||this._writeErrors.length===0)&&this._writeErrors.push(new Oc(e,t,s,i))}_logWriteErrors(e){const t=i=>{e||i.set("allowedStoreNames",this._allowedStoreNames);for(const r of this._writeErrors)i.wrap({l:r.operationName,id:r.keys},o=>{r.refItem&&o.refDetached(r.refItem),o.catch(r.error)})},s=`${this._writeErrors.length} storage write operation(s) failed`;e?e.wrap(s,t):this.logger.run(s,t)}}const Or="782rh281re38-boguskey";class Pc{constructor(e,t,s,i,r,o){this._db=e,this.idbFactory=t,this.IDBKeyRange=s,this._hasWebkitEarlyCloseTxnBug=i,this.storeNames=P,this.localStorage=r,this.logger=o}_validateStoreNames(e){const t=e.findIndex(s=>!Gt.includes(s));if(t!==-1)throw new Re(`Tried top, a transaction unknown store ${e[t]}`)}async readTxn(e){this._validateStoreNames(e);try{const t=this._db.transaction(e,"readonly");return this._hasWebkitEarlyCloseTxnBug&&await X(t.objectStore(e[0]).get(Or)),new Lr(t,e,this)}catch(t){throw new Re("readTxn failed",t)}}async readWriteTxn(e){this._validateStoreNames(e);try{const t=this._db.transaction(e,"readwrite");return this._hasWebkitEarlyCloseTxnBug&&await X(t.objectStore(e[0]).get(Or)),new Lr(t,e,this)}catch(t){throw new Re("readWriteTxn failed",t)}}close(){this._db.close()}get databaseName(){return this._db.name}}async function Uc(n){const e=n.transaction(Gt,"readonly"),t={};return await Promise.all(Gt.map(async s=>{const i=t[s]=[],r=e.objectStore(s);await K(r.openCursor(),o=>(i.push(o),Ge))})),t}async function Fc(n,e){const t=n.transaction(Gt,"readwrite");for(const s of Gt){const i=t.objectStore(s);for(const r of e[s])i.add(r)}await Jt(t)}const Yn=[Kc,$c,jc,qc,Wc,Hc,zc,Gc,Jc,Qc,Yc,Xc,Zc,el,tl,sl];function Bc(n){return{databaseName:n.name,get idbFactory(){throw new Error("unused")},get IDBKeyRange(){throw new Error("unused")},addWriteError(){}}}function Kc(n){n.createObjectStore("session",{keyPath:"key"}),n.createObjectStore("roomSummary",{keyPath:"roomId"}),n.createObjectStore("timelineFragments",{keyPath:"key"}),n.createObjectStore("timelineEvents",{keyPath:"key"}).createIndex("byEventId","eventIdKey",{unique:!0}),n.createObjectStore("roomState",{keyPath:"key"}),n.createObjectStore("pendingEvents",{keyPath:"key"})}async function $c(n,e){const t=new Qn(n.createObjectStore("roomMembers",{keyPath:"key"})),s=e.objectStore("roomState");await K(s.openCursor(),i=>{if(i.event.type===oe){s.delete(i.key);const r=O.fromMemberEvent(i.roomId,i.event);r&&t.set(r.serialize())}return Ge})}async function jc(n,e,t){const s=e.objectStore("session");try{const r=await X(s.get(1));if(r){s.delete(1);const{syncToken:o,syncFilterId:a,serverVersions:c}=r.value,l=new Ai(s,t);l.set("sync",{token:o,filterId:a}),l.set("serverVersions",c)}}catch(i){e.abort(),console.error("could not migrate session",i.stack)}}function qc(n){n.createObjectStore("userIdentities",{keyPath:"userId"}),n.createObjectStore("deviceIdentities",{keyPath:"key"}).createIndex("byCurve25519Key","curve25519Key",{unique:!0}),n.createObjectStore("olmSessions",{keyPath:"key"}),n.createObjectStore("inboundGroupSessions",{keyPath:"key"}),n.createObjectStore("outboundGroupSessions",{keyPath:"roomId"}),n.createObjectStore("groupSessionDecryptions",{keyPath:"key"}),n.createObjectStore("operations",{keyPath:"id"}).createIndex("byTypeAndScope","typeScopeKey",{unique:!1})}async function Wc(n,e){var r;const t=e.objectStore("roomSummary"),s=e.objectStore("roomState"),i=[];await K(t.openCursor(),o=>(i.push(o),Ge));for(const o of i){const a=await X(s.get(`${o.roomId}|m.room.encryption|`));a&&(o.encryption=(r=a==null?void 0:a.event)==null?void 0:r.content,delete o.isEncrypted,t.put(o))}}function Hc(n){n.createObjectStore("accountData",{keyPath:"type"})}function zc(n){n.createObjectStore("invites",{keyPath:"roomId"})}function Gc(n){n.createObjectStore("archivedRoomSummary",{keyPath:"summary.roomId"})}async function Jc(n,e){try{const t=e.objectStore("operations");t.deleteIndex("byTypeAndScope"),await K(t.openCursor(),(s,i,r)=>{const{typeScopeKey:o}=s;delete s.typeScopeKey;const[a,c]=o.split("|");return s.scopeTypeKey=Ut(c,a),r.update(s),Ge}),t.createIndex("byScopeAndType","scopeTypeKey",{unique:!1})}catch(t){e.abort(),console.error("could not migrate operations",t.stack)}}function Qc(n){n.createObjectStore("timelineRelations",{keyPath:"key"})}function Yc(){}async function Xc(n,e){const t=e.objectStore("session"),s=await X(t.get("ssssKey"));s&&t.put({key:`${ie}ssssKey`,value:s.value})}async function Zc(n,e,t,s){const i=e.objectStore("session"),r=new Ai(new zn(i,Bc(n)),t);r.writeE2EEIdentityToLocalStorage();const o=await r.tryRestoreE2EEIdentityFromLocalStorage(s);s.set("restored",o)}async function el(n,e){for(const t of n.objectStoreNames){const s=e.objectStore(t);switch(t){case"inboundGroupSessions":case"outboundGroupSessions":case"olmSessions":case"operations":continue;case"session":{await K(s.openCursor(),(i,r,o)=>(r.startsWith(ie)||o.delete(),Ge));break}default:{s.clear();break}}}}async function tl(n,e,t,s){e.objectStore("inboundGroupSessions").createIndex("byBackup","backup",{unique:!1})}async function sl(n,e,t,s){const i=e.objectStore("inboundGroupSessions");let r=0,o=0;await K(i.openCursor(),(a,c,l)=>(a.session?(a.backup=Os.NotBackedUp,a.source=es.DeviceMessage,l.update(a),r+=1):o+=1,Ge)),s.set("countWithoutSession",o),s.set("countWithSession",r)}async function il(n){const e="hydrogen_webkit_test_inactive_txn_bug";try{const t=await Mi(e,r=>{r.createObjectStore("test",{keyPath:"key"})},1,n),s=t.transaction(["test"],"readonly");await X(s.objectStore("test").get("somekey")),await new Promise(r=>setTimeout(r,0));const i=t.transaction(["test"],"readwrite");await Promise.resolve(),i.objectStore("test").add({key:"somekey",value:"foo"}),await Jt(i),t.close()}catch(t){if(t.name==="TransactionInactiveError")return!0}return!1}const Xn=n=>`hydrogen_session_${n}`,si=function(n,e,t,s){const i=(r,o,a,c)=>ol(r,o,a,c,t,s);return Mi(Xn(n),i,Yn.length,e)};async function rl(){var e,t;const n=this;if((t=(e=n==null?void 0:n.navigator)==null?void 0:e.storage)!=null&&t.persist)return await n.navigator.storage.persist();if(n!=null&&n.document.requestStorageAccess)try{return await n.document.requestStorageAccess(),!0}catch(s){return console.warn("requestStorageAccess threw an error:",s),!1}else return!1}class nl{constructor(e,t=window.indexedDB,s=window.IDBKeyRange,i=window.localStorage){this._serviceWorkerHandler=e,this._idbFactory=t,this._IDBKeyRange=s,this._localStorage=i}async create(e,t){var r;await((r=this._serviceWorkerHandler)==null?void 0:r.preventConcurrentSessionAccess(e)),rl().then(o=>{o||console.warn("no persisted storage, database can be evicted by browser")});const s=await il(this._idbFactory),i=await si(e,this._idbFactory,this._localStorage,t);return new Pc(i,this._idbFactory,this._IDBKeyRange,s,this._localStorage,t.logger)}delete(e){const t=Xn(e),s=this._idbFactory.deleteDatabase(t);return X(s)}async export(e,t){const s=await si(e,this._idbFactory,this._localStorage,t);return await Uc(s)}async import(e,t,s){const i=await si(e,this._idbFactory,this._localStorage,s);return await Fc(i,t)}}async function ol(n,e,t,s,i,r){const o=t||0;return r.wrap({l:"storage migration",oldVersion:t,version:s},async a=>{for(let c=o;cl(n,e,i,h))}})}class Zn{constructor({roomId:e,ownUserId:t,fragmentIdComparer:s}){this._roomId=e,this._ownUserId=t,this._fragmentIdComparer=s}async writeRelation(e,t,s){const{relatedEventId:i}=e;if(i){const r=$e(e.event);r&&r.rel_type&&t.timelineRelations.add(this._roomId,r.event_id,r.rel_type,e.id);const o=await t.timelineEvents.getByEventId(this._roomId,i);if(o){const a=await this._applyRelation(e,o,t,s);if(a)return a.map(c=>(t.timelineEvents.update(c),new ne(c,this._fragmentIdComparer)))}}return null}async writeGapRelation(e,t,s,i){const r=new ne(e,this._fragmentIdComparer),o=await this.writeRelation(r,s,i);if(t.isBackward&&!di(e.event)){const a=await s.timelineRelations.getAllForTarget(this._roomId,r.id);if(a.length)for(const c of a){const l=await s.timelineEvents.getByEventId(this._roomId,c.sourceEventId);if(l){const h=new ne(l,this._fragmentIdComparer);await this._applyRelation(h,e,s,i)}}}return o}async _applyRelation(e,t,s,i){if(e.eventType===ge)return i.wrap("redact",async r=>{const o=t.event,a=$e(o);if(this._applyRedaction(e.event,t,s,r)){const l=[t];if(a){const h=await this._reaggregateRelation(o,a,s,r);h&&l.push(h)}return l}return null});{const r=$e(e.event);if(r&&!di(t.event)&&r.rel_type===We&&i.wrap("react",c=>this._aggregateAnnotation(e.event,t,c)))return[t]}return null}_applyRedaction(e,t,s,i){const r=t.event;i.set("redactionId",e.event_id),i.set("id",r.event_id);const o=$e(r);return o&&o.rel_type&&s.timelineRelations.remove(this._roomId,o.event_id,o.rel_type,r.event_id),s.timelineRelations.removeAllForTarget(this._roomId,r.event_id),ic(e,r),delete t.annotations,!0}_aggregateAnnotation(e,t){const s=$e(e);if(!s)return!1;let{annotations:i}=t;i||(t.annotations=i={});let r=i[s.key];r||(i[s.key]=r={count:0,me:!1,firstTimestamp:Number.MAX_SAFE_INTEGER});const o=e.sender===this._ownUserId;return r.me=r.me||o,r.count+=1,r.firstTimestamp=Math.min(r.firstTimestamp,e.origin_server_ts),!0}async _reaggregateRelation(e,t,s,i){return t.rel_type===We?i.wrap("reaggregate annotations",r=>this._reaggregateAnnotation(t.event_id,t.key,s,r)):null}async _reaggregateAnnotation(e,t,s,i){const r=await s.timelineEvents.getByEventId(this._roomId,e);if(!r||!r.annotations)return null;i.set("id",e);const o=await s.timelineRelations.getForTargetAndType(this._roomId,e,We);return i.set("relations",o.length),delete r.annotations[t],al(r.annotations)&&delete r.annotations,await Promise.all(o.map(async a=>{const c=await s.timelineEvents.getByEventId(this._roomId,a.sourceEventId);c||i.log({l:"missing annotation",id:a.sourceEventId}),$e(c.event).key===t&&this._aggregateAnnotation(c.event,r,i)})),r}}function al(n){for(const e in n)if(n.hasOwnProperty(e))return!1;return!0}class Me{constructor(e){this.isForward=e}get isBackward(){return!this.isForward}asApiString(){return this.isForward?"f":"b"}reverse(){return this.isForward?Me.Backward:Me.Forward}static get Forward(){return cl}static get Backward(){return ll}}const cl=new Me(!0),ll=new Me(!1);class ce extends Kn{constructor(e,t,s){super(s),this._fragment=e,this._isFragmentStart=t}static start(e,t){return new ce(e,!0,t)}static end(e,t){return new ce(e,!1,t)}get started(){return this._isFragmentStart}get hasEnded(){return!this.started}get fragment(){return this._fragment}get fragmentId(){return this._fragment.id}get entryIndex(){return this.started?F.minStorageKey:F.maxStorageKey}get isGap(){return!!this.token&&!this.edgeReached}get token(){return this.started?this.fragment.previousToken:this.fragment.nextToken}set token(e){this.started?this.fragment.previousToken=e:this.fragment.nextToken=e}get edgeReached(){return this.started?this.fragment.startReached:this.fragment.endReached}set edgeReached(e){this.started?this.fragment.startReached=e:this.fragment.endReached=e}get linkedFragmentId(){return this.started?this.fragment.previousId:this.fragment.nextId}set linkedFragmentId(e){this.started?this.fragment.previousId=e:this.fragment.nextId=e}get hasLinkedFragment(){return Ci(this.linkedFragmentId)}get direction(){return this.started?Me.Backward:Me.Forward}withUpdatedFragment(e){return new ce(e,this._isFragmentStart,this._fragmentIdComparer)}createNeighbourEntry(e){return new ce(e,!this._isFragmentStart,this._fragmentIdComparer)}addLocalRelation(){}removeLocalRelation(){}}function hl(n){const e=new Set;return n.filter(t=>e.has(t.event_id)?!1:(e.add(t.event_id),!0))}class dl{constructor({roomId:e,fragmentIdComparer:t,memberWriter:s,relationWriter:i}){this._roomId=e,this._memberWriter=s,this._relationWriter=i,this._fragmentIdComparer=t,this._lastLiveKey=null}async load(e,t){const s=await e.timelineFragments.liveFragment(this._roomId);if(s){const[i]=await e.timelineEvents.lastEvents(this._roomId,s.id,1),r=i?i.eventIndex:B.defaultLiveKey.eventIndex;this._lastLiveKey=new B(s.id,r)}this._lastLiveKey&&t.set("live key",this._lastLiveKey.toString())}async _createLiveFragment(e,t){const s=await e.timelineFragments.liveFragment(this._roomId);if(s)return s;{t||(t=null);const i={roomId:this._roomId,id:B.defaultLiveKey.fragmentId,previousId:null,nextId:null,previousToken:t,nextToken:null};return e.timelineFragments.add(i),this._fragmentIdComparer.add(i),i}}async _replaceLiveFragment(e,t,s,i){const r=await i.timelineFragments.get(this._roomId,e);if(!r)throw new Error(`old live fragment doesn't exist: ${e}`);r.nextId=t,i.timelineFragments.update(r);const o={roomId:this._roomId,id:t,previousId:e,nextId:null,previousToken:s,nextToken:null};return i.timelineFragments.add(o),this._fragmentIdComparer.append(t,e),{oldFragment:r,newFragment:o}}async _ensureLiveFragment(e,t,s,i,r){if(e){if(s.limited){const o=e.fragmentId;e=e.nextFragmentKey();const{oldFragment:a,newFragment:c}=await this._replaceLiveFragment(o,e.fragmentId,s.prev_batch,i);t.push(ce.end(a,this._fragmentIdComparer)),t.push(ce.start(c,this._fragmentIdComparer)),r.log({l:"live fragment",limited:!0,id:e.fragmentId})}}else{let o=await this._createLiveFragment(i,s.prev_batch);e=new B(o.id,B.defaultLiveKey.eventIndex),t.push(ce.start(o,this._fragmentIdComparer)),r.log({l:"live fragment",first:!0,id:e.fragmentId})}return e}async _writeStateEvents(e,t,s){let i=0;for(const r of e)r.type!==oe&&(t.roomState.set(this._roomId,r),i+=1);s.set("stateEvents",i)}async _writeTimeline(e,t,s,i,r,o){const a=[],c=[];if(e!=null&&e.length){i=await this._ensureLiveFragment(i,a,t,r,o),o.set("timelineEvents",e.length);let l=0;for(const h of e){i=i.nextKey();const d=qn(i,this._roomId,h);let u=await s.lookupMemberAtEvent(h.sender,h,r);if(u&&(d.displayName=u.displayName,d.avatarUrl=u.avatarUrl),!await r.timelineEvents.tryInsert(d,o))continue;const _=new ne(d,this._fragmentIdComparer);a.push(_);const f=await this._relationWriter.writeRelation(_,r,o);f&&c.push(...f),typeof h.state_key=="string"&&h.type!==oe&&(l+=1,r.roomState.set(this._roomId,h))}o.set("timelineStateEventCount",l)}return{currentKey:i,entries:a,updatedEntries:c}}async _handleRejoinOverlap(e,t,s){if(this._lastLiveKey){const{fragmentId:i}=this._lastLiveKey,[r]=await t.timelineEvents.lastEvents(this._roomId,i,1);if(r){const o=r.event.event_id,{events:a}=e,c=a.findIndex(l=>l.event_id===o);if(c!==-1)return s.set("overlap_event_id",o),Object.assign({},e,{limited:!1,events:a.slice(c+1)})}}return e.limited?e:(s.set("force_limited_without_overlap",!0),Object.assign({},e,{limited:!0}))}async writeSync(e,t,s,i,r){let{timeline:o}=e;r.set("isRejoin",t),t&&(o=await this._handleRejoinOverlap(o,i,r));let a;Array.isArray(o==null?void 0:o.events)&&(a=hl(o.events));const{state:c}=e;let l;Array.isArray(c==null?void 0:c.events)&&(l=c.events);const h=this._memberWriter.prepareMemberSync(l,a,s);l&&await this._writeStateEvents(l,i,r);const{currentKey:d,entries:u,updatedEntries:p}=await this._writeTimeline(a,o,h,this._lastLiveKey,i,r),_=await h.write(i);return{entries:u,updatedEntries:p,newLiveKey:d,memberChanges:_}}afterSync(e){this._lastLiveKey=e}get lastMessageKey(){return this._lastLiveKey}}class eo{constructor(e){this.limit=e,this._entries=[]}get size(){return this._entries.length}_get(e){return this._getByIndexAndMoveUp(this._entries.findIndex(e))}_getByIndexAndMoveUp(e){if(e!==-1){const t=this._entries[e];return e>0&&(this._entries.splice(e,1),this._entries.unshift(t)),t}}_set(e,t){let s=t?this._entries.findIndex(t):-1;this._entries.unshift(e),s===-1?this._entries.length>this.limit&&(s=this._entries.length-1):s+=1,s!==-1&&(this.onEvictEntry(this._entries[s]),this._entries.splice(s,1))}onEvictEntry(e){}}class ul extends eo{constructor(e,t){super(e),this._keyFn=t}get(e){return this._get(t=>this._keyFn(t)===e)}set(e){const t=this._keyFn(e);this._set(e,s=>this._keyFn(s)===t)}}class ml{constructor(e){this._roomId=e,this._cache=new ul(5,t=>t.userId)}prepareMemberSync(e,t,s){return new pl(this,e,t,s)}async _writeMember(e,t){let s=this._cache.get(e.userId);if(!s){const i=await t.roomMembers.get(this._roomId,e.userId);i&&(s=new O(i))}if(!s||!s.equals(e))return t.roomMembers.set(e.serialize()),this._cache.set(e),new Wn(e,s==null?void 0:s.membership)}async lookupMember(e,t){let s=this._cache.get(e);if(!s){const i=await t.roomMembers.get(this._roomId,e);i&&(s=new O(i),this._cache.set(s))}return s}}class pl{constructor(e,t,s,i){this._memberWriter=e,this._timelineEvents=s,this._hasFetchedMembers=i,this._newStateMembers=null,t&&(this._newStateMembers=this._stateEventsToMembers(t))}get _roomId(){return this._memberWriter._roomId}_stateEventsToMembers(e){let t;for(const s of e)if(s.type===oe){const i=O.fromMemberEvent(this._roomId,s);i&&(t||(t=new Map),t.set(i.userId,i))}return t}_timelineEventsToMembers(e){let t;for(let s=e.length-1;s>=0;s--){const i=e[s],r=i.state_key;if(i.type===oe&&!(t!=null&&t.has(r))){const o=O.fromMemberEvent(this._roomId,i);o&&(t||(t=new Map),t.set(o.userId,o))}}return t}async lookupMemberAtEvent(e,t,s){var r;let i;return this._timelineEvents&&(i=this._findPrecedingMemberEventInTimeline(e,t),i)||(i=(r=this._newStateMembers)==null?void 0:r.get(e),i)?i:await this._memberWriter.lookupMember(e,s)}async write(e){const t=new Map;let s;if(this._timelineEvents&&(s=this._timelineEventsToMembers(this._timelineEvents)),this._newStateMembers){for(const i of this._newStateMembers.values())if(!(s!=null&&s.has(i.userId))){const r=await this._memberWriter._writeMember(i,e);r&&(!this._hasFetchedMembers&&!r.previousMembership&&(r.previousMembership=i.membership),t.set(r.userId,r))}}if(s)for(const i of s.values()){const r=await this._memberWriter._writeMember(i,e);r&&t.set(r.userId,r)}return t}_findPrecedingMemberEventInTimeline(e,t){let s=-1;for(let i=this._timelineEvents.length-1;i>=0;i--)if(this._timelineEvents[i].event_id===t.event_id){s=i;break}for(let i=s-1;i>=0;i--){const r=this._timelineEvents[i];if(r.type===oe&&r.state_key===e){const o=O.fromMemberEvent(this._roomId,r);if(o)return o}}}}class _l{constructor({roomId:e,storage:t,fragmentIdComparer:s,relationWriter:i}){this._roomId=e,this._storage=t,this._fragmentIdComparer=s,this._relationWriter=i}async _findOverlappingEvents(e,t,s,i){const r=t.map(l=>l.event_id),o=await s.timelineEvents.getEventKeysForIds(this._roomId,r);i.set("existingEvents",o.size);const a=t.filter(l=>!o.has(l.event_id));i.set("nonOverlappingEvents",a.length);let c;if(e.hasLinkedFragment){i.set("linkedFragmentId",e.linkedFragmentId);for(const l of o.values())if(l.fragmentId===e.linkedFragmentId){i.set("foundLinkedFragment",!0);const h=await s.timelineFragments.get(this._roomId,e.linkedFragmentId);c=e.createNeighbourEntry(h);break}}return{nonOverlappingEvents:a,neighbourFragmentEntry:c}}async _findFragmentEdgeEventKey(e,t){const{fragmentId:s,direction:i}=e,r=await this._findFragmentEdgeEvent(s,i,t);return r?new B(r.fragmentId,r.eventIndex):B.defaultFragmentKey(e.fragmentId)}async _findFragmentEdgeEvent(e,t,s){if(t.isBackward){const[i]=await s.timelineEvents.firstEvents(this._roomId,e,1);return i}else{const[i]=await s.timelineEvents.lastEvents(this._roomId,e,1);return i}}async _storeEvents(e,t,s,i,r,o){const a=[],c=[];let l=t;for(let h=0;h=0&&l=0&&l + * Copyright JS Foundation and other contributors + * Released under MIT license + * Based on Underscore.js 1.8.3 + * Copyright Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors + */function He(n,e,t){let s=0,i=n.length;for(;s>>1,o=t(e,n[r]);o>0?s=r+1:o<0?i=r:s=i=r}return i}class Ct extends Ii{emitReset(){for(let e of this._handlers)e.onReset()}emitAdd(e,t){for(let s of this._handlers)s.onAdd(e,t)}emitUpdate(e,t,s){for(let i of this._handlers)i.onUpdate(e,t,s)}emitRemove(e,t){for(let s of this._handlers)s.onRemove(e,t)}}class qt extends Ct{constructor(e){super(),this._values=new Map(e)}update(e,t){const s=this._values.get(e);return s!==void 0?(this._values.set(e,s),this.emitUpdate(e,s,t),!0):!1}add(e,t){return this._values.has(e)?!1:(this._values.set(e,t),this.emitAdd(e,t),!0)}remove(e){const t=this._values.get(e);return t!==void 0?(this._values.delete(e),this.emitRemove(e,t),!0):!1}set(e,t){return this._values.has(e)?(this._values.set(e,t),this.update(e,void 0)):this.add(e,t)}reset(){this._values.clear(),this.emitReset()}get(e){return this._values.get(e)}get size(){return this._values.size}[Symbol.iterator](){return this._values.entries()}values(){return this._values.values()}keys(){return this._values.keys()}}class fl extends Rt{constructor(e,t){super(),this._sourceMap=e,this._comparator=(s,i)=>t(s.value,i.value),this._sortedPairs=null,this._mapSubscription=null}onAdd(e,t){const s={key:e,value:t},i=He(this._sortedPairs,s,this._comparator);this._sortedPairs.splice(i,0,s),this.emitAdd(i,t)}onRemove(e,t){const s={key:e,value:t},i=He(this._sortedPairs,s,this._comparator);this._sortedPairs.splice(i,1),this.emitRemove(i,t)}onUpdate(e,t,s){if(!this._sortedPairs)return;const i=this._sortedPairs.findIndex(a=>a.key===e);this._sortedPairs.splice(i,1);const r={key:e,value:t},o=He(this._sortedPairs,r,this._comparator);this._sortedPairs.splice(o,0,r),i!==o&&this.emitMove(i,o,t),this.emitUpdate(o,t,s)}onReset(){this._sortedPairs=[],this.emitReset()}onSubscribeFirst(){this._mapSubscription=this._sourceMap.subscribe(this),this._sortedPairs=new Array(this._sourceMap.size);let e=0;for(let[t,s]of this._sourceMap)this._sortedPairs[e]={key:t,value:s},++e;this._sortedPairs.sort(this._comparator),super.onSubscribeFirst()}onUnsubscribeLast(){super.onUnsubscribeLast(),this._sortedPairs=null,this._mapSubscription=this._mapSubscription()}get(e){return this._sortedPairs[e].value}get length(){return this._sourceMap.size}[Symbol.iterator](){const e=this._sortedPairs.values();return{next(){const t=e.next();return t.value&&(t.value=t.value.value),t}}}}class gl extends Ct{constructor(e,t){super(),this._source=e,this._filter=t,this._included=null,this._subscription=null}setFilter(e){this._filter=e,this._subscription&&this._reapplyFilter()}_reapplyFilter(e=!1){if(this._filter){const t=this._included;this._included=this._included||new Map;for(const[s,i]of this._source){const r=this._filter(i,s);if(this._included.set(s,r),!e){const o=t?t.get(s):!0;this._emitForUpdate(o,r,s,i)}}}else{if(this._included&&!e)for(const[t,s]of this._source)this._included.get(t)||this.emitAdd(t,s);this._included=null}}onAdd(e,t){if(this._filter){const s=this._filter(t,e);if(this._included.set(e,s),!s)return}this.emitAdd(e,t)}onRemove(e,t){const s=!this._filter||this._included.get(e);this._included.delete(e),s&&this.emitRemove(e,t)}onUpdate(e,t,s){if(!!this._included)if(this._filter){const i=this._included.get(e),r=this._filter(t,e);this._included.set(e,r),this._emitForUpdate(i,r,e,t,s)}else this.emitUpdate(e,t,s)}_emitForUpdate(e,t,s,i,r=null){e&&!t?this.emitRemove(s,i):!e&&t?this.emitAdd(s,i):e&&t&&this.emitUpdate(s,i,r)}onSubscribeFirst(){this._subscription=this._source.subscribe(this),this._reapplyFilter(!0),super.onSubscribeFirst()}onUnsubscribeLast(){super.onUnsubscribeLast(),this._included=null,this._subscription=this._subscription()}onReset(){this._reapplyFilter(),this.emitReset()}[Symbol.iterator](){return new yl(this._source,this._included)}get size(){let e=0;return this._included.forEach(t=>{t&&(e+=1)}),e}get(e){const t=this._source.get(e);if(t&&this._filter(t,e))return t}}class yl{constructor(e,t){this._included=t,this._sourceIterator=e[Symbol.iterator]()}next(){for(;;){const e=this._sourceIterator.next();if(e.done)return e;const t=e.value[0];if(this._included.get(t))return e}}}class wl extends Ct{constructor(e,t,s){super(),this._source=e,this._mapper=t,this._updater=s,this._mappedValues=new Map}_emitSpontaneousUpdate(e,t){const s=this._mappedValues.get(e);s&&this.emitUpdate(e,s,t)}onAdd(e,t){const s=this._emitSpontaneousUpdate.bind(this,e),i=this._mapper(t,s);this._mappedValues.set(e,i),this.emitAdd(e,i)}onRemove(e){const t=this._mappedValues.get(e);this._mappedValues.delete(e)&&this.emitRemove(e,t)}onUpdate(e,t,s){var r;if(!this._mappedValues)return;const i=this._mappedValues.get(e);i!==void 0&&((r=this._updater)==null||r.call(this,i,s,t),this.emitUpdate(e,i,s))}onSubscribeFirst(){this._subscription=this._source.subscribe(this);for(let[e,t]of this._source){const s=this._emitSpontaneousUpdate.bind(this,e),i=this._mapper(t,s);this._mappedValues.set(e,i)}super.onSubscribeFirst()}onUnsubscribeLast(){super.onUnsubscribeLast(),this._subscription=this._subscription(),this._mappedValues.clear()}onReset(){this._mappedValues.clear(),this.emitReset()}[Symbol.iterator](){return this._mappedValues.entries()}get size(){return this._mappedValues.size}get(e){return this._mappedValues.get(e)}}class vl extends Ct{constructor(e){super(),this._sources=e,this._subscriptions=null}onAdd(e,t,s){if(!this._isKeyAtSourceOccluded(e,t)){const i=this._getValueFromOccludedSources(e,t);i!==void 0&&this.emitRemove(t,i),this.emitAdd(t,s)}}onRemove(e,t,s){if(!this._isKeyAtSourceOccluded(e,t)){this.emitRemove(t,s);const i=this._getValueFromOccludedSources(e,t);i!==void 0&&this.emitAdd(t,i)}}onUpdate(e,t,s,i){!this._subscriptions||this._isKeyAtSourceOccluded(e,t)||this.emitUpdate(t,s,i)}onReset(){this.emitReset()}onSubscribeFirst(){this._subscriptions=this._sources.map(e=>new Sl(e,this).subscribe()),super.onSubscribeFirst()}_isKeyAtSourceOccluded(e,t){const s=this._sources.indexOf(e);for(let i=0;ie+t.size,0)}get(e){for(const t of this._sources){const s=t.get(e);if(s)return s}return null}}class bl{constructor(e){this._sources=e,this._sourceIndex=-1,this._currentIterator=null,this._encounteredKeys=new Set}next(){let e;for(;!e;){if(!this._currentIterator){if(this._sourceIndex+=1,this._sources.length<=this._sourceIndex)return{done:!0};this._currentIterator=this._sources[this._sourceIndex][Symbol.iterator]()}const t=this._currentIterator.next();if(t.done){this._currentIterator=null;continue}else{const s=t.value[0];this._encounteredKeys.has(s)||(this._encounteredKeys.add(s),e=t)}}return e}}class Sl{constructor(e,t){this._source=e,this._joinedMap=t,this._subscription=null}subscribe(){return this._subscription=this._source.subscribe(this),this}dispose(){this._subscription=this._subscription()}onAdd(e,t){this._joinedMap.onAdd(this._source,e,t)}onRemove(e,t){this._joinedMap.onRemove(this._source,e,t)}onUpdate(e,t,s){this._joinedMap.onUpdate(this._source,e,t,s)}onReset(){this._joinedMap.onReset(this._source)}}class Il extends Rt{constructor(e=[]){super(),this._items=e}append(e){this._items.push(e),this.emitAdd(this._items.length-1,e)}remove(e){const[t]=this._items.splice(e,1);this.emitRemove(e,t)}insertMany(e,t){for(let s of t)this.insert(e,s),e+=1}insert(e,t){this._items.splice(e,0,t),this.emitAdd(e,t)}move(e,t){if(e=0&&e=this._items.length||this._comparator(this._items[s],e)!==0?(this._items.splice(s,0,e),this.emitAdd(s,e)):(this._items[s]=e,this.emitUpdate(s,e,t))}get(e){return this._items[e]}remove(e){const t=this._items[e];this._items.splice(e,1),this.emitRemove(e,t)}get array(){return this._items}get length(){return this._items.length}[Symbol.iterator](){return new El(this)}}class El{constructor(e){this._sortedArray=e,this._current=null}next(){if(this._sortedArray){if(this._current?this._current=this._sortedArray._getNext(this._current):this._current=this._sortedArray.get(0),this._current)return{value:this._current};this._sortedArray=null}if(!this._sortedArray)return{done:!0}}}class kl extends Rt{constructor(e,t,s,i){super(),this._sourceUnsubscribe=null,this._mappedValues=null,this._sourceList=e,this._mapper=t,this._updater=s,this._removeCallback=i}findAndUpdate(e,t){return to(e,this._mappedValues,this,t)}get length(){return this._mappedValues.length}[Symbol.iterator](){return this._mappedValues.values()}}function Rl(n,e,t){n._mappedValues.splice(e,0,t),n.emitAdd(e,t)}function Cl(n,e,t,s){const i=n._mappedValues[e];n._updater&&n._updater(i,s,t),n.emitUpdate(e,i,s)}function Tl(n,e){const t=n._mappedValues[e];n._mappedValues.splice(e,1),n._removeCallback&&n._removeCallback(t),n.emitRemove(e,t)}function Ml(n,e,t){const s=n._mappedValues[e];n._mappedValues.splice(e,1),n._mappedValues.splice(t,0,s),n.emitMove(e,t,s)}function Al(n){n._mappedValues=[],n.emitReset()}class xl extends kl{constructor(){super(...arguments),this._eventQueue=null,this._flushing=!1}onSubscribeFirst(){this._sourceUnsubscribe=this._sourceList.subscribe(this),this._eventQueue=[],this._mappedValues=[];let e=0;for(const t of this._sourceList)this._eventQueue.push(new Pr(e,t)),e+=1;this._flush()}async _flush(){if(!this._flushing){this._flushing=!0;try{for(;this._eventQueue.length;)await this._eventQueue.shift().run(this)}finally{this._flushing=!1}}}onReset(){this._eventQueue&&(this._eventQueue.push(new Ll),this._flush())}onAdd(e,t){this._eventQueue&&(this._eventQueue.push(new Pr(e,t)),this._flush())}onUpdate(e,t,s){this._eventQueue&&(this._eventQueue.push(new Nl(e,t,s)),this._flush())}onRemove(e){this._eventQueue&&(this._eventQueue.push(new Dl(e)),this._flush())}onMove(e,t){this._eventQueue&&(this._eventQueue.push(new Vl(e,t)),this._flush())}onUnsubscribeLast(){this._sourceUnsubscribe(),this._eventQueue=null,this._mappedValues=null}}class Pr{constructor(e,t){this.index=e,this.value=t}async run(e){const t=await e._mapper(this.value);Rl(e,this.index,t)}}class Nl{constructor(e,t,s){this.index=e,this.value=t,this.params=s}async run(e){Cl(e,this.index,this.value,this.params)}}class Dl{constructor(e){this.index=e}async run(e){Tl(e,this.index)}}class Vl{constructor(e,t){this.fromIdx=e,this.toIdx=t}async run(e){Ml(e,this.fromIdx,this.toIdx)}}class Ll{async run(e){Al(e)}}class Ol extends Rt{constructor(...e){super(),this._sourceUnsubscribes=null,this._sourceLists=e}_offsetForSource(e){const t=this._sourceLists.indexOf(e);let s=0;for(let i=0;ie.subscribe(this))}onUnsubscribeLast(){for(const e of this._sourceUnsubscribes)e()}onReset(){this.emitReset();let e=0;for(const t of this)this.emitAdd(e,t),e+=1}onAdd(e,t,s){this.emitAdd(this._offsetForSource(s)+e,t)}onUpdate(e,t,s,i){!this._sourceUnsubscribes||this.emitUpdate(this._offsetForSource(i)+e,t,s)}onRemove(e,t,s){this.emitRemove(this._offsetForSource(s)+e,t)}onMove(e,t,s,i){const r=this._offsetForSource(i);this.emitMove(r+e,r+t,s)}get length(){let e=0;for(let t=0;t{let s=t.next();for(;s.done;){if(e+=1,e>=this._sourceLists.length)return s;t=this._sourceLists[e][Symbol.iterator](),s=t.next()}return s}}}}Object.assign(Ct.prototype,{sortValues(n){return new fl(this,n)},mapValues(n,e){return new wl(this,n,e)},filterValues(n){return new gl(this,n)},join(...n){return new vl([this].concat(n))}});function ii(n){typeof n=="function"?n():n.dispose()}function Pl(n){return n&&(typeof n=="function"||typeof n.dispose=="function")}class Ni{constructor(){this._disposables=[]}track(e){if(!Pl(e))throw new Error("Not a disposable");return this.isDisposed?(console.warn("Disposables already disposed, disposing new value"),ii(e),e):(this._disposables.push(e),e)}untrack(e){if(this.isDisposed){console.warn("Disposables already disposed, cannot untrack");return}const t=this._disposables.indexOf(e);t>=0&&this._disposables.splice(t,1)}dispose(){if(this._disposables){for(const e of this._disposables)ii(e);this._disposables=void 0}}get isDisposed(){return this._disposables===void 0}disposeTracked(e){if(e==null||this.isDisposed)return;const t=this._disposables.indexOf(e);if(t!==-1){const[s]=this._disposables.splice(t,1);ii(s)}else console.warn("disposable not found, did it leak?",e)}}class Ur{constructor(e,t){this.decryptRequest=null,this._promise=e(this,t)}complete(){return this._promise}dispose(){this.decryptRequest&&(this.decryptRequest.dispose(),this.decryptRequest=null)}}async function Ul(n,e,t,s,i,r){let o=[];const a=r.timelineEvents,c=r.timelineFragments;for(;o.lengthnew ne(d,i));if(o=ec(o,h,t),o.length{const a=await this._storage.readTxn(this.readTxnStores);return await this._readFrom(e,t,s,r,a,o)},i)}readFromEnd(e,t=null,s){return new Ur(async(i,r)=>{const o=t||await this._storage.readTxn(this.readTxnStores),a=await o.timelineFragments.liveFragment(this._roomId);let c;if(!a)c=[];else{this._fragmentIdComparer.add(a);const l=ce.end(a,this._fragmentIdComparer),h=l.asEventKey();c=await this._readFrom(h,Me.Backward,e,i,o,r),c.unshift(l)}return c},s)}async readById(e,t){let s=[this._storage.storeNames.timelineEvents];this._decryptEntries&&s.push(this._storage.storeNames.inboundGroupSessions);const i=await this._storage.readTxn(s),r=await i.timelineEvents.getByEventId(this._roomId,e);if(r){const o=new ne(r,this._fragmentIdComparer);return this._decryptEntries&&await this._decryptEntries([o],i,t).complete(),o}}async _readFrom(e,t,s,i,r,o){const a=await Ul(this._roomId,e,t,s,this._fragmentIdComparer,r);if(this._decryptEntries){i.decryptRequest=this._decryptEntries(a,r,o);try{await i.decryptRequest.complete()}finally{i.decryptRequest=null}}return a}}class Fl extends ne{get fragmentId(){throw new Error("Cannot access fragmentId for non-persisted EventEntry")}get entryIndex(){throw new Error("Cannot access entryIndex for non-persisted EventEntry")}get isNonPersisted(){return!0}get isRedacting(){return!1}get isRedacted(){return super.isRedacting}}class Bl{constructor(e){this._userId=e}get id(){return this._userId}}class Ts{constructor({roomId:e,storage:t,closeCallback:s,fragmentIdComparer:i,pendingEvents:r,clock:o,powerLevelsObservable:a,hsApi:c}){this._roomId=e,this._storage=t,this._closeCallback=s,this._fragmentIdComparer=i,this._disposables=new Ni,this._pendingEvents=r,this._clock=o,this._remoteEntries=new xi((l,h)=>l.compare(h)),this._ownMember=null,this._timelineReader=new so({roomId:this._roomId,storage:this._storage,fragmentIdComparer:this._fragmentIdComparer}),this._readerRequest=null,this._allEntries=null,this._contextEntriesNotInTimeline=new Map,this._decryptEntries=null,this._hsApi=c,this.initializePowerLevels(a)}initializePowerLevels(e){e&&(this._powerLevels=e.get(),this._disposables.track(e.subscribe(t=>this._powerLevels=t)))}async load(e,t,s){const i=await this._storage.readTxn(this._timelineReader.readTxnStores.concat(this._storage.storeNames.roomMembers,this._storage.storeNames.roomState)),r=await i.roomMembers.get(this._roomId,e.id);r?this._ownMember=new O(r):this._ownMember=O.fromUserId(this._roomId,e.id,t);const o=this._disposables.track(this._timelineReader.readFromEnd(20,i,s));try{const a=await o.complete();this._loadContextEntriesWhereNeeded(a),this._setupEntries(a)}finally{this._disposables.disposeTracked(o)}}_setupEntries(e){this._remoteEntries.setManySorted(e),this._pendingEvents?this._localEntries=new xl(this._pendingEvents,t=>this._mapPendingEventToEntry(t),(t,s)=>{t.notifyUpdate(s)},t=>this._applyAndEmitLocalRelationChange(t,s=>s.removeLocalRelation(t))):this._localEntries=new Il,this._allEntries=new Ol(this._remoteEntries,this._localEntries)}async _mapPendingEventToEntry(e){let t;e.eventType===ge&&(t=await this._getOrLoadEntry(e.relatedTxnId,e.relatedEventId));const s=new Xa({pendingEvent:e,member:this._ownMember,clock:this._clock,redactingEntry:t});return this._loadContextEntriesWhereNeeded([s]),this._applyAndEmitLocalRelationChange(s,i=>i.addLocalRelation(s)),s}_applyAndEmitLocalRelationChange(e,t){var i,r;const s=o=>{const a=t(o);return a||!1};if(this._findAndUpdateEntryById(e.pendingEvent.relatedTxnId,e.relatedEventId,s),e.redactingEntry){const o=(i=e.redactingEntry.pendingEvent)==null?void 0:i.relatedTxnId;this._findAndUpdateEntryById(o,e.redactingEntry.relatedEventId,s),(r=e.redactingEntry.contextForEntries)==null||r.forEach(a=>this._emitUpdateForEntry(a,"contextEntry"))}}_findAndUpdateEntryById(e,t,s){let i=!1;e&&(i=this._localEntries.findAndUpdate(r=>r.id===e,s)),!i&&t&&this._remoteEntries.findAndUpdate(r=>r.id===t,s)}async getOwnAnnotationEntry(e,t){const s=await this._storage.readWriteTxn([this._storage.storeNames.timelineEvents,this._storage.storeNames.timelineRelations]),i=await s.timelineRelations.getForTargetAndType(this._roomId,e,We);for(const r of i){const o=await s.timelineEvents.getByEventId(this._roomId,r.sourceEventId);if(o&&o.event.sender===this._ownMember.userId&&$e(o.event).key===t){const a=new ne(o,this._fragmentIdComparer);return this._addLocalRelationsToNewRemoteEntries([a]),a}}return null}updateOwnMember(e){this._ownMember=e}_addLocalRelationsToNewRemoteEntries(e){var t;if(!!((t=this._localEntries)!=null&&t.hasSubscriptions))for(const s of this._localEntries){if(s.relatedEventId){const i=e.find(r=>r.id===s.relatedEventId);i==null||i.addLocalRelation(s)}if(s.redactingEntry){const i=s.redactingEntry.relatedEventId,r=e.find(o=>o.id===i);r==null||r.addLocalRelation(s)}}}static _entryUpdater(e,t){var s;return(s=e.contextForEntries)==null||s.forEach(i=>i.setContextEntry(t)),t.updateFrom(e),t}replaceEntries(e){var t;this._addLocalRelationsToNewRemoteEntries(e);for(const s of e)try{this._remoteEntries.getAndUpdate(s,Ts._entryUpdater);const i=this._contextEntriesNotInTimeline.get(s.id);i&&(Ts._entryUpdater(i,s),this._contextEntriesNotInTimeline.set(s.id,s)),(t=s.contextForEntries)==null||t.forEach(r=>this._emitUpdateForEntry(r,"contextEntry"))}catch(i){if(i.name==="CompareError")continue;throw i}}addEntries(e){this._addLocalRelationsToNewRemoteEntries(e),this._updateEntriesFetchedFromHomeserver(e),this._moveEntryToRemoteEntries(e),this._loadContextEntriesWhereNeeded(e),this._remoteEntries.setManySorted(e)}_updateEntriesFetchedFromHomeserver(e){var t;for(const s of e){const i=this._contextEntriesNotInTimeline.get(s.relatedEventId);(i==null?void 0:i.isNonPersisted)&&(i==null?void 0:i.addLocalRelation(s))&&((t=i.contextForEntries)==null||t.forEach(r=>this._emitUpdateForEntry(r,"contextEntry")))}}_moveEntryToRemoteEntries(e){for(const t of e){const s=this._contextEntriesNotInTimeline.get(t.id);s&&(s.contextForEntries.forEach(i=>{i.setContextEntry(t),this._emitUpdateForEntry(i,"contextEntry")}),this._contextEntriesNotInTimeline.delete(t.id))}}_emitUpdateForEntry(e,t){const s=e.isPending?e.id:null,i=e.isPending?null:e.id;this._findAndUpdateEntryById(s,i,()=>t)}async _loadContextEntriesWhereNeeded(e){for(const t of e){if(!t.contextEventId)continue;const s=t.contextEventId;let i=e.find(r=>r.id===s);i||(i=this._findLoadedEventById(s)),i?t.setContextEntry(i):this._loadContextEntryNotInTimeline(t)}}async _loadContextEntryNotInTimeline(e){const t=e.contextEventId;let s=await this._getEventFromStorage(t);s||(s=await this._getEventFromHomeserver(t)),s&&(this._contextEntriesNotInTimeline.set(t,s),e.setContextEntry(s),this._emitUpdateForEntry(e,"contextEntry"))}_findLoadedEventById(e){var t;return(t=this.getByEventId(e))!=null?t:this._contextEntriesNotInTimeline.get(e)}async _getEventFromStorage(e){return await this._timelineReader.readById(e)}async _getEventFromHomeserver(e){const t=await this._hsApi.context(this._roomId,e,0).response(),s=t.event.sender,i=t.state.find(a=>a.type===oe&&a.user_id===s),r={event:t.event,displayName:i.content.displayname,avatarUrl:i.content.avatar_url},o=new Fl(r,this._fragmentIdComparer);return this._decryptEntries&&await this._decryptEntries([o]).complete(),o}async loadAtTop(e){if(this._disposables.isDisposed)return!0;const t=this._remoteEntries.array.find(i=>!!i.eventType);if(!t)return!0;const s=this._disposables.track(this._timelineReader.readFrom(t.asEventKey(),Me.Backward,e));try{const i=await s.complete();return this.addEntries(i),i.lengthnew O(i))}async function $l({summary:n,syncToken:e,roomId:t,hsApi:s,storage:i,setChangedMembersMap:r},o){const a=new Map;r(a);const c=await s.members(t,{at:e},{log:o}).response(),l=await i.readWriteTxn([i.storeNames.roomSummary,i.storeNames.roomMembers]);let h,d;try{h=n.writeHasFetchedMembers(!0,l);const{roomMembers:u}=l,p=c.chunk;if(!Array.isArray(p))throw new Error("malformed");o.set("members",p.length),d=await Promise.all(p.map(async _=>{const f=_==null?void 0:_.state_key;if(!f)throw new Error("malformed");const b=a.get(f);if(b)return b;{const S=O.fromMemberEvent(t,_);return S&&u.set(S.serialize()),S}}))}catch(u){throw l.abort(),u}finally{r(null)}return await l.complete(),n.applyChanges(h),d}async function jl(n,e){const{summary:t}=n;return t.data.hasFetchedMembers?Kl(n):e.wrapOrRun(n.log,"fetchMembers",s=>$l(n,s))}async function ql(n,e){const t=await Wl(n),{summary:s}=n;return!s.data.hasFetchedMembers&&!t?e.wrapOrRun(n.log,"fetchMember",i=>Hl(n,i)):t}async function Wl({roomId:n,userId:e,storage:t}){const i=await(await t.readTxn([t.storeNames.roomMembers])).roomMembers.get(n,e);return i?new O(i):null}async function Hl({roomId:n,userId:e,hsApi:t,storage:s},i){let r;try{r=await t.state(n,"m.room.member",e,{log:i}).response()}catch(c){if(c.name==="HomeServerError"&&c.errcode==="M_NOT_FOUND")return null;throw c}const o=new O({roomId:n,userId:e,membership:r.membership,avatarUrl:r.avatar_url,displayName:r.displayname}),a=await s.readWriteTxn([s.storeNames.roomMembers]);try{a.roomMembers.set(o.serialize())}catch(c){throw a.abort(),c}return await a.complete(),o}class zl{constructor(e){this._retentionCount=1,this._freeCallback=e}retain(){this._retentionCount+=1}release(){this._retentionCount-=1,this._retentionCount===0&&this._freeCallback()}}class Gl extends zl{constructor({members:e,closeCallback:t}){super(t),this._members=new qt;for(const s of e)this._members.add(s.userId,s)}afterSync(e){for(const[t,s]of e.entries())this._members.set(t,s.member)}get members(){return this._members}}function pi(n,e,t){const s=e.joinCount+e.inviteCount-1;if(n.length>=s)if(n.length>1){const i=n[n.length-1];return n.slice(0,n.length-1).map(o=>o.name).join(", ")+" and "+i.name}else{const i=n[0];return i?i.name:(t.log({l:"could get get other member name",length:n.length,otherMember:!!i,otherMemberMembership:i==null?void 0:i.membership}),"Unknown DM Name")}else return n.lengthi.name).join(", ")+` and ${s} others`:null}class Di{constructor(e){this._roomId=e,this._members=new Map}async calculateChanges(e,t,s){const i=new Map,r=[];for(const o of this._members.keys())e.indexOf(o)===-1&&r.push(o);for(const[o,a]of t.entries())(this._members.has(o)||e.indexOf(o)!==-1)&&i.set(o,a.member);for(const o of e)if(!this._members.has(o)&&!i.has(o)){const a=await s.roomMembers.get(this._roomId,o);if(a){const c=new O(a);i.set(c.userId,c)}}return{updatedHeroMembers:i.values(),removedUserIds:r}}applyChanges({updatedHeroMembers:e,removedUserIds:t},s,i){for(const o of t)this._members.delete(o);for(const o of e)this._members.set(o.userId,o);const r=Array.from(this._members.values()).sort((o,a)=>o.name.localeCompare(a.name));this._roomName=pi(r,s,i)}get roomName(){return this._roomName}get roomAvatarUrl(){if(this._members.size===1)for(const e of this._members.values())return e.avatarUrl;return null}get roomAvatarColorId(){if(this._members.size===1)for(const e of this._members.keys())return e;return null}}class Jl{constructor(e){this._map=new Map,this._notifyEmpty=e}observe(e,t=null){let s=this._map.get(e);return s||(s=new Ql(this,t,e),this._map.set(e,s)),s}updateEvents(e){for(let t=0;t{this.hasSubscriptions||(this._eventMap._remove(this._id),this._eventMap=null)})}subscribe(e){if(!this._eventMap)throw new Error("ObservedEvent expired, subscribe right after calling room.observeEvent()");return super.subscribe(e)}onUnsubscribeLast(){this._eventMap._remove(this._id),this._eventMap=null,super.onUnsubscribeLast()}update(e){this._entry=e,this.emit(this._entry)}get(){return this._entry}}function Yl(n){return n||gc.item}const Xl="m.room.power_levels";class Es{constructor({powerLevelEvent:e,createEvent:t,ownUserId:s,membership:i}){this._plEvent=e,this._createEvent=t,this._ownUserId=s,this._membership=i}canRedactFromSender(e){return e===this._ownUserId&&this._membership==="join"?!0:this.canRedact}canSendType(e){return this._myLevel>=this._getEventTypeLevel(e)}get canRedact(){return this._myLevel>=this._getActionLevel("redact")}get _myLevel(){return this._membership!=="join"?Number.MIN_SAFE_INTEGER:this.getUserLevel(this._ownUserId)}getUserLevel(e){var t,s,i,r;if(this._plEvent){let o=(s=(t=this._plEvent.content)==null?void 0:t.users)==null?void 0:s[e];if(typeof o!="number"&&(o=(i=this._plEvent.content)==null?void 0:i.users_default),typeof o=="number")return o}else if(this._createEvent&&e===((r=this._createEvent.content)==null?void 0:r.creator))return 100;return 0}_getActionLevel(e){var s;const t=(s=this._plEvent)==null?void 0:s.content[e];return typeof t=="number"?t:50}_getEventTypeLevel(e){var s,i,r;const t=(i=(s=this._plEvent)==null?void 0:s.content.events)==null?void 0:i[e];if(typeof t=="number")return t;{const o=(r=this._plEvent)==null?void 0:r.content.events_default;return typeof o=="number"?o:0}}}const Zl="m.room.encrypted";class io extends Ls{constructor({roomId:e,storage:t,hsApi:s,mediaRepository:i,emitCollectionChange:r,user:o,createRoomEncryption:a,getSyncToken:c,platform:l}){super(),this._roomId=e,this._storage=t,this._hsApi=s,this._mediaRepository=i,this._summary=new $a(e),this._fragmentIdComparer=new cc([]),this._emitCollectionChange=r,this._timeline=null,this._user=o,this._changedMembersDuringSync=null,this._memberList=null,this._createRoomEncryption=a,this._roomEncryption=null,this._getSyncToken=c,this._platform=l,this._observedEvents=null,this._powerLevels=null,this._powerLevelLoading=null,this._observedMembers=null}async _eventIdsToEntries(e,t){const s=[];return await Promise.all(e.map(async i=>{const r=await t.timelineEvents.getByEventId(this._roomId,i);r&&s.push(new ne(r,this._fragmentIdComparer))})),s}_getAdditionalTimelineRetryEntries(e,t){let s=this._roomEncryption.filterUndecryptedEventEntriesForKeys(this._timeline.remoteEntries,t);const i=e.reduce((r,o)=>(r.add(o.id),r),new Set);return s=s.filter(r=>!i.has(r.id)),s}async notifyRoomKey(e,t,s){var o;if(!this._roomEncryption)return;const i=await this._storage.readTxn([this._storage.storeNames.timelineEvents,this._storage.storeNames.inboundGroupSessions]);let r=await this._eventIdsToEntries(t,i);if(this._timeline){const a=this._getAdditionalTimelineRetryEntries(r,[e]);r=r.concat(a)}if(r.length){await this._decryptEntries(st.Retry,r,i,s).complete(),(o=this._timeline)==null||o.replaceEntries(r);const c=this._summary.data.applyTimelineEntries(r,!1,!1);await this._summary.writeAndApplyData(c,this._storage)&&this._emitUpdate()}}_setEncryption(e){return e&&!this._roomEncryption?(this._roomEncryption=e,this._timeline&&this._timeline.enableEncryption(this._decryptEntries.bind(this,st.Timeline)),!0):!1}_decryptEntries(e,t,s,i=null){return new eh(async(o,a)=>{if(s||(s=await this._storage.readTxn([this._storage.storeNames.inboundGroupSessions])),o.cancelled)return;const c=t.filter(_=>_.eventType===Zl).map(_=>_.event);if(o.preparation=await this._roomEncryption.prepareDecryptAll(c,null,e,s),o.cancelled)return;const l=await o.preparation.decrypt();if(o.preparation=null,o.cancelled)return;const h=[this._storage.storeNames.groupSessionDecryptions],d=this._isTimelineOpen;d&&h.push(this._storage.storeNames.deviceIdentities);const u=await this._storage.readWriteTxn(h);let p;try{p=await l.write(u,a),d&&await p.verifySenders(u)}catch(_){throw u.abort(),_}await u.complete(),p.applyToEntries(t),this._observedEvents&&this._observedEvents.updateEvents(t)},Yl(i))}async _getSyncRetryDecryptEntries(e,t,s){let r=(await Promise.all(e.map(async o=>{const a=await t.getEventIdsForMissingKey(o,s);if(a)return this._eventIdsToEntries(a,s)}))).reduce((o,a)=>a?o.concat(a):o,[]);if(this._timeline){const a=this._getAdditionalTimelineRetryEntries(r,e).map(c=>c.clone());r=r.concat(a)}return r}async load(e,t,s){s.set("id",this.id);try{if(e&&this._summary.load(e),this._summary.data.encryption){const i=this._createRoomEncryption(this,this._summary.data.encryption);this._setEncryption(i)}if(this._summary.data.needsHeroes){this._heroes=new Di(this._roomId);const i=await this._heroes.calculateChanges(this._summary.data.heroes,[],t);this._heroes.applyChanges(i,this._summary.data,s)}}catch(i){throw new xn(`Could not load room ${this._roomId}`,i)}}async observeMember(e){this._observedMembers||(this._observedMembers=new Map);const t=this._observedMembers.get(e);if(t)return t;const s=await ql({summary:this._summary,roomId:this._roomId,userId:e,storage:this._storage,hsApi:this._hsApi},this._platform.logger);if(!s)return null;const i=new ci(s,()=>this._observedMembers.delete(e));return this._observedMembers.set(e,i),i}async loadMemberList(e=void 0,t=null){if(this._memberList)return this._memberList.retain(),this._memberList;{const s=await jl({summary:this._summary,roomId:this._roomId,hsApi:this._hsApi,storage:this._storage,txn:e,syncToken:this._getSyncToken(),setChangedMembersMap:i=>this._changedMembersDuringSync=i,log:t},this._platform.logger);return this._memberList=new Gl({members:s,closeCallback:()=>{this._memberList=null}}),this._memberList}}fillGap(e,t,s=null){return this._platform.logger.wrapOrRun(s,"fillGap",async i=>{if(i.set("id",this.id),i.set("fragment",e.fragmentId),i.set("dir",e.direction.asApiString()),e.edgeReached){i.set("edgeReached",!0);return}const r=await this._hsApi.messages(this._roomId,{from:e.token,dir:e.direction.asApiString(),limit:t,filter:{lazy_load_members:!0,include_redundant_members:!0}},{log:i}).response(),o=await this._storage.readWriteTxn([this._storage.storeNames.pendingEvents,this._storage.storeNames.timelineEvents,this._storage.storeNames.timelineRelations,this._storage.storeNames.timelineFragments]);let a,c;try{a=await this._writeGapFill(r.chunk,o,i);const l=new Zn({roomId:this._roomId,fragmentIdComparer:this._fragmentIdComparer,ownUserId:this._user.id});c=await new _l({roomId:this._roomId,storage:this._storage,fragmentIdComparer:this._fragmentIdComparer,relationWriter:l}).writeFragmentFill(e,r,o,i)}catch(l){throw o.abort(),l}await o.complete(),this._roomEncryption&&await this._decryptEntries(st.Timeline,c.entries,null,i).complete();for(const l of c.fragments)this._fragmentIdComparer.add(l);a&&this._applyGapFill(a),this._timeline&&(this._timeline.replaceEntries(c.updatedEntries),this._timeline.addEntries(c.entries))})}async _writeGapFill(e,t,s){}_applyGapFill(){}get name(){if(this._heroes)return this._heroes.roomName;const e=this._summary.data;return e.name?e.name:e.canonicalAlias?e.canonicalAlias:null}get id(){return this._roomId}get avatarUrl(){return this._summary.data.avatarUrl?this._summary.data.avatarUrl:this._heroes?this._heroes.roomAvatarUrl:null}get avatarColorId(){return this._roomId}get lastMessageTimestamp(){return this._summary.data.lastMessageTimestamp}get isLowPriority(){const e=this._summary.data.tags;return!!(e&&e["m.lowpriority"])}get isEncrypted(){return!!this._summary.data.encryption}get isJoined(){return this.membership==="join"}get isLeft(){return this.membership==="leave"}get canonicalAlias(){return this._summary.data.canonicalAlias}get joinedMemberCount(){return this._summary.data.joinCount}get mediaRepository(){return this._mediaRepository}get membership(){return this._summary.data.membership}isDirectMessageForUserId(e){if(this._summary.data.dmUserId===e)return!0;{const{heroes:t,joinCount:s,inviteCount:i}=this._summary.data;if(t&&t.includes(e)&&s+i===2)return!0}return!1}async _loadPowerLevels(){const e=await this._storage.readTxn([this._storage.storeNames.roomState]),t=await e.roomState.get(this._roomId,"m.room.power_levels","");if(t)return new Es({powerLevelEvent:t.event,ownUserId:this._user.id,membership:this.membership});const s=await e.roomState.get(this._roomId,"m.room.create","");if(s)return new Es({createEvent:s.event,ownUserId:this._user.id,membership:this.membership});{const i=this.membership;return new Es({ownUserId:this._user.id,membership:i})}}async observePowerLevels(){this._powerLevelLoading&&await this._powerLevelLoading;let e=this._powerLevels;if(!e){this._powerLevelLoading=this._loadPowerLevels();const t=await this._powerLevelLoading;e=new ci(t,()=>{this._powerLevels=null}),this._powerLevels=e,this._powerLevelLoading=null}return e}enableKeyBackup(e){var t;(t=this._roomEncryption)==null||t.enableKeyBackup(e),this._timeline&&e&&this._platform.logger.run("enableKeyBackup",s=>this._roomEncryption.restoreMissingSessionsFromBackup(this._timeline.remoteEntries,s))}get _isTimelineOpen(){return!!this._timeline}_emitUpdate(){this.emit("change"),this._emitCollectionChange(this)}openTimeline(e=null){return this._platform.logger.wrapOrRun(e,"open timeline",async t=>{if(t.set("id",this.id),this._timeline)throw new Error("not dealing with load race here for now");this._timeline=new Ts({roomId:this.id,storage:this._storage,fragmentIdComparer:this._fragmentIdComparer,pendingEvents:this._getPendingEvents(),closeCallback:()=>{this._timeline=null,this._roomEncryption&&this._roomEncryption.notifyTimelineClosed()},clock:this._platform.clock,logger:this._platform.logger,powerLevelsObservable:await this.observePowerLevels(),hsApi:this._hsApi});try{this._roomEncryption&&this._timeline.enableEncryption(this._decryptEntries.bind(this,st.Timeline)),await this._timeline.load(this._user,this.membership,t)}catch(s){throw this._timeline.dispose(),s}return this._timeline})}_getPendingEvents(){return null}observeEvent(e){this._observedEvents||(this._observedEvents=new Jl(()=>{this._observedEvents=null}));let t=null;this._timeline&&(t=this._timeline.getByEventId(e));const s=this._observedEvents.observe(e,t);return t||this._readEventById(e).then(i=>{s.update(i)}).catch(i=>{console.warn(`could not load event ${e} from storage`,i)}),s}async _readEventById(e){return await new so({roomId:this._roomId,storage:this._storage,fragmentIdComparer:this._fragmentIdComparer}).readById(e)}dispose(){var e,t;(e=this._roomEncryption)==null||e.dispose(),(t=this._timeline)==null||t.dispose()}}class eh{constructor(e,t){this._cancelled=!1,this.preparation=null,this._promise=t.wrap("decryptEntries",s=>e(this,s))}complete(){return this._promise}get cancelled(){return this._cancelled}dispose(){this._cancelled=!0,this.preparation&&this.preparation.dispose()}}function Ms(){const e=Math.floor(Math.random()*Number.MAX_SAFE_INTEGER).toString(16);return"t"+"0".repeat(14-e.length)+e}function Fr(n){return n.startsWith("t")&&n.length===15}class th{constructor({roomId:e,storage:t,hsApi:s,pendingEvents:i}){i=i||[],this._roomId=e,this._storage=t,this._hsApi=s,this._pendingEvents=new xi((r,o)=>r.queueIndex-o.queueIndex),this._pendingEvents.setManyUnsorted(i.map(r=>this._createPendingEvent(r))),this._isSending=!1,this._offline=!1,this._roomEncryption=null,this._currentQueueIndex=0}_createPendingEvent(e,t=null){const s=new Za({data:e,remove:()=>this._removeEvent(s),emitUpdate:i=>this._pendingEvents.update(s,i),attachments:t});return s}enableEncryption(e){this._roomEncryption=e}_sendLoop(e){this._isSending=!0,this._sendLoopLogItem=e.runDetached("send queue flush",async t=>{try{for(const s of this._pendingEvents)await t.wrap("send event",async i=>{i.set("queueIndex",s.queueIndex);try{this._currentQueueIndex=s.queueIndex,await this._sendEvent(s,i)}catch(r){r instanceof qe?(this._offline=!0,i.set("offline",!0),s.setWaiting()):(i.catch(r),r.name==="HomeServerError"&&(r.statusCode===400||r.statusCode===403||r.statusCode===404)?(i.set("remove",!0),await s.abort()):s.setError(r))}finally{this._currentQueueIndex=0}})}finally{this._isSending=!1,this._sendLoopLogItem=null}})}async _sendEvent(e,t){if(e.needsUpload&&(await t.wrap("upload attachments",s=>e.uploadAttachments(this._hsApi,s)),await this._tryUpdateEvent(e)),e.needsEncryption){e.setEncrypting();const s=e.contentForEncryption,{type:i,content:r}=await t.wrap("encrypt",o=>this._roomEncryption.encrypt(e.eventType,s,this._hsApi,o));e.setEncrypted(i,r),await this._tryUpdateEvent(e)}if(e.needsSending){await e.send(this._hsApi,t);const s=await this._storage.readWriteTxn([this._storage.storeNames.pendingEvents]);try{await this._tryUpdateEventWithTxn(e,s),await this._resolveRemoteIdInPendingRelations(e.txnId,e.remoteId,s)}catch(i){throw s.abort(),i}await s.complete()}}async _resolveRemoteIdInPendingRelations(e,t,s){const i=this._pendingEvents.array.filter(r=>r.relatedTxnId===e&&r.relatedEventId!==t);for(const r of i)r.setRelatedEventId(t),await this._tryUpdateEventWithTxn(r,s);return i}async removeRemoteEchos(e,t,s){const i=[];for(const r of e){const o=r.unsigned&&r.unsigned.transaction_id;let a;if(o?a=this._pendingEvents.array.findIndex(c=>c.txnId===o):a=this._pendingEvents.array.findIndex(c=>c.remoteId===r.event_id),a!==-1){const c=this._pendingEvents.get(a),l=r.event_id;s.log({l:"removeRemoteEcho",queueIndex:c.queueIndex,remoteId:l,txnId:o}),t.pendingEvents.remove(c.roomId,c.queueIndex),i.push(c),await this._resolveRemoteIdInPendingRelations(o,l,t)}}return i}async _removeEvent(e){if(this._pendingEvents.array.indexOf(e)!==-1){const s=await this._storage.readWriteTxn([this._storage.storeNames.pendingEvents]);try{s.pendingEvents.remove(e.roomId,e.queueIndex)}catch{s.abort()}await s.complete();const i=this._pendingEvents.array.indexOf(e);i!==-1&&this._pendingEvents.remove(i)}e.dispose()}emitRemovals(e){for(const t of e){const s=this._pendingEvents.array.indexOf(t);s!==-1&&this._pendingEvents.remove(s),t.dispose()}}resumeSending(e){this._offline=!1,this._pendingEvents.length&&e.wrap("resumeSending",t=>{t.set("id",this._roomId),t.set("pendingEvents",this._pendingEvents.length),this._isSending||this._sendLoop(t),this._sendLoopLogItem&&t.refDetached(this._sendLoopLogItem)})}async enqueueEvent(e,t,s,i){const r=ze(t);let o=null;if(r){const a=Ri(r);if(Fr(a)&&(o=a,$n(r,null)),r.rel_type===We&&this._pendingEvents.array.some(l=>{const h=ze(l.content);return l.eventType===e&&h&&h.key===r.key&&(l.relatedTxnId===o||h.event_id===r.event_id)})){i.set("already_annotating",!0);return}}await this._enqueueEvent(e,t,s,o,null,i)}async _enqueueEvent(e,t,s,i,r,o){const a=await this._createAndStoreEvent(e,t,i,r,s);this._pendingEvents.set(a),o.set("queueIndex",a.queueIndex),o.set("pendingEvents",this._pendingEvents.length),!this._isSending&&!this._offline&&this._sendLoop(o),this._sendLoopLogItem&&o.refDetached(this._sendLoopLogItem)}async enqueueRedaction(e,t,s){if(this._pendingEvents.array.some(a=>a.eventType===ge&&(a.relatedTxnId===e||a.relatedEventId===e))){s.set("already_redacting",!0);return}let r,o;if(Fr(e)){r=e;const a=e,c=this._pendingEvents.array.find(l=>l.txnId===a);if(c&&!c.remoteId&&c.status!==V.Sending){s.set("remove",r),await c.abort();return}else if(c)o=c.remoteId;else return}else{o=e;const a=this._pendingEvents.array.find(c=>c.remoteId===o);a&&(r=a.txnId)}s.set("relatedTxnId",r),s.set("relatedEventId",o),await this._enqueueEvent(ge,{reason:t},null,r,o,s)}get pendingEvents(){return this._pendingEvents}async _tryUpdateEvent(e){const t=await this._storage.readWriteTxn([this._storage.storeNames.pendingEvents]);try{this._tryUpdateEventWithTxn(e,t)}catch(s){throw t.abort(),s}await t.complete()}async _tryUpdateEventWithTxn(e,t){await t.pendingEvents.exists(e.roomId,e.queueIndex)&&t.pendingEvents.update(e.data)}async _createAndStoreEvent(e,t,s,i,r){const o=await this._storage.readWriteTxn([this._storage.storeNames.pendingEvents]);let a;try{const c=o.pendingEvents,l=await c.getMaxQueueIndex(this._roomId)||0,d=Math.max(l,this._currentQueueIndex)+1,u=e!==ge&&e!==qa&&!!this._roomEncryption;a=this._createPendingEvent({roomId:this._roomId,queueIndex:d,eventType:e,content:t,relatedTxnId:s,relatedEventId:i,txnId:Ms(),needsEncryption:u,needsUpload:!!r},r),c.add(a.data)}catch(c){throw o.abort(),c}return await o.complete(),a}dispose(){for(const e of this._pendingEvents)e.dispose()}}class ro{constructor({filename:e,blob:t,platform:s}){this._filename=e,this._unencryptedBlob=t,this._transferredBlob=this._unencryptedBlob,this._platform=s,this._mxcUrl=null,this._encryptionInfo=null,this._uploadRequest=null,this._aborted=!1,this._error=null,this._sentBytes=0}get size(){return this._transferredBlob.size}get sentBytes(){return this._sentBytes}abort(){var e;(e=this._uploadRequest)==null||e.abort()}get localPreview(){return this._unencryptedBlob}async encrypt(){if(this._encryptionInfo)throw new Error("already encrypted");const{info:e,blob:t}=await Ia(this._platform,this._transferredBlob);this._transferredBlob=t,this._encryptionInfo=e}async upload(e,t,s){this._uploadRequest=e.uploadAttachment(this._transferredBlob,this._filename,{uploadProgress:r=>{this._sentBytes=r,t()},log:s});const{content_uri:i}=await this._uploadRequest.response();this._mxcUrl=i}applyToContent(e,t){if(!this._mxcUrl)throw new Error("upload has not finished");let s=e.substr(0,e.lastIndexOf("url"));ys(`${s}info.size`,t,this._transferredBlob.size),ys(`${s}info.mimetype`,t,this._unencryptedBlob.mimeType),this._encryptionInfo?ys(`${s}file`,t,Object.assign(this._encryptionInfo,{mimetype:this._unencryptedBlob.mimeType,url:this._mxcUrl})):ys(`${s}url`,t,this._mxcUrl)}dispose(){this._unencryptedBlob.dispose(),this._transferredBlob.dispose()}}function ys(n,e,t){const s=n.split(".");let i=e;for(let o=0;ou.event)))),d=d.filter(u=>(u==null?void 0:u.type)===sh),d.length&&(l=await a.prepareDecryptAll(d,s,st.Sync,i))}return{roomEncryption:a,summaryChanges:o,decryptPreparation:l,decryptChanges:null,retryEntries:c}}async afterPrepareSync(e,t){e.decryptPreparation&&await t.wrap("decrypt",async s=>{s.set("id",this.id),e.decryptChanges=await e.decryptPreparation.decrypt(),e.decryptPreparation=null},t.level.Detail)}async writeSync(e,t,{summaryChanges:s,decryptChanges:i,roomEncryption:r,retryEntries:o},a,c){var R;c.set("id",this.id);const l=s.isNewJoin(this._summary.data);l&&(a.roomState.removeAllForRoom(this.id),a.roomMembers.removeAllForRoom(this.id));const{entries:h,updatedEntries:d,newLiveKey:u,memberChanges:p}=await c.wrap("syncWriter",w=>this._syncWriter.writeSync(e,l,s.hasFetchedMembers,a,w),c.level.Detail);if(i){const w=await c.wrap("decryptChanges",I=>i.write(a,I));c.set("decryptionResults",w.results.size),c.set("decryptionErrors",w.errors.size),this._isTimelineOpen&&await w.verifySenders(a),w.applyToEntries(h),o!=null&&o.length&&(w.applyToEntries(o),d.push(...o))}c.set("newEntries",h.length),c.set("updatedEntries",d.length);let _;r&&(_=await r.writeSync(e,p,a,c),c.set("shouldFlushKeyShares",_.shouldFlush));const f=h.concat(d);s=s.applyTimelineEntries(f,t,!this._isTimelineOpen,this._user.id),s.membership!=="join"?a.roomSummary.remove(this.id):s=this._summary.writeData(s,a),s&&c.set("summaryChanges",s.changedKeys(this._summary.data));let b;s!=null&&s.needsHeroes&&(this._heroes||(this._heroes=new Di(this._roomId)),b=await this._heroes.calculateChanges(s.heroes,p,a));let S;Array.isArray((R=e.timeline)==null?void 0:R.events)&&(S=await this._sendQueue.removeRemoteEchos(e.timeline.events,a,c));const k=this._getPowerLevelsEvent(e);return{summaryChanges:s,roomEncryption:r,newEntries:h,updatedEntries:d,newLiveKey:u,removedPendingEvents:S,memberChanges:p,heroChanges:b,powerLevelsEvent:k,encryptionChanges:_}}afterSync(e,t){const{summaryChanges:s,newEntries:i,updatedEntries:r,newLiveKey:o,removedPendingEvents:a,memberChanges:c,powerLevelsEvent:l,heroChanges:h,roomEncryption:d,encryptionChanges:u}=e;if(t.set("id",this.id),this._syncWriter.afterSync(o),this._setEncryption(d),this._roomEncryption&&this._roomEncryption.afterSync(u),c.size){if(this._changedMembersDuringSync)for(const[_,f]of c.entries())this._changedMembersDuringSync.set(_,f.member);if(this._memberList&&this._memberList.afterSync(c),this._observedMembers&&this._updateObservedMembers(c),this._timeline){for(const[_,f]of c.entries())if(_===this._user.id){this._timeline.updateOwnMember(f.member);break}}}let p=!1;if(s&&(this._summary.applyChanges(s),this._summary.data.needsHeroes||(this._heroes=null),p=!0),this._heroes&&h){const _=this.name;this._heroes.applyChanges(h,this._summary.data,t),_!==this.name&&(p=!0)}l&&this._updatePowerLevels(l),p&&this._emitUpdate(),this._timeline&&(this._timeline.replaceEntries(r),this._timeline.addEntries(i)),this._observedEvents&&(this._observedEvents.updateEvents(r),this._observedEvents.updateEvents(i)),a&&this._sendQueue.emitRemovals(a)}_updateObservedMembers(e){for(const[t,s]of e){const i=this._observedMembers.get(t);i&&i.set(s.member)}}_getPowerLevelsEvent(e){var i,r,o;const t=a=>a.state_key===""&&a.type===Xl;return(o=(i=e.timeline)==null?void 0:i.events.find(t))!=null?o:(r=e.state)==null?void 0:r.events.find(t)}_updatePowerLevels(e){if(this._powerLevels){const t=new Es({powerLevelEvent:e,ownUserId:this._user.id,membership:this.membership});this._powerLevels.set(t)}}needsAfterSyncCompleted({encryptionChanges:e}){return e==null?void 0:e.shouldFlush}async afterSyncCompleted(e,t){t.set("id",this.id),this._roomEncryption&&await this._roomEncryption.flushPendingRoomKeyShares(this._hsApi,null,t)}start(e,t){if(this._roomEncryption){const s=e==null?void 0:e.get("share_room_key");s&&t.wrapDetached("flush room keys",i=>(i.set("id",this.id),this._roomEncryption.flushPendingRoomKeyShares(this._hsApi,s,i)))}this._sendQueue.resumeSending(t)}async load(e,t,s){try{await super.load(e,t,s),await this._syncWriter.load(t,s)}catch(i){throw new xn(`Could not load room ${this._roomId}`,i)}}async _writeGapFill(e,t,s){return await this._sendQueue.removeRemoteEchos(e,t,s)}_applyGapFill(e){this._sendQueue.emitRemovals(e)}sendEvent(e,t,s,i=null){return this._platform.logger.wrapOrRun(i,"send",r=>(r.set("id",this.id),this._sendQueue.enqueueEvent(e,t,s,r)))}sendRedaction(e,t,s=null){return this._platform.logger.wrapOrRun(s,"redact",i=>(i.set("id",this.id),this._sendQueue.enqueueRedaction(e,t,i)))}async ensureMessageKeyIsShared(e=null){if(!!this._roomEncryption)return this._platform.logger.wrapOrRun(e,"ensureMessageKeyIsShared",t=>(t.set("id",this.id),this._roomEncryption.ensureMessageKeyIsShared(this._hsApi,t)))}get avatarColorId(){var e;return((e=this._heroes)==null?void 0:e.roomAvatarColorId)||this._roomId}get isUnread(){return this._summary.data.isUnread}get notificationCount(){return this._summary.data.notificationCount}get highlightCount(){return this._summary.data.highlightCount}get isTrackingMembers(){return this._summary.data.isTrackingMembers}async _getLastEventId(){var t;const e=this._syncWriter.lastMessageKey;if(e){const i=await(await this._storage.readTxn([this._storage.storeNames.timelineEvents])).timelineEvents.get(this._roomId,e);return(t=i==null?void 0:i.event)==null?void 0:t.event_id}}async clearUnread(e=null){if(this.isUnread||this.notificationCount)return await this._platform.logger.wrapOrRun(e,"clearUnread",async t=>{t.set("id",this.id);const s=await this._storage.readWriteTxn([this._storage.storeNames.roomSummary]);let i;try{i=this._summary.writeClearUnread(s)}catch(r){throw s.abort(),r}await s.complete(),this._summary.applyChanges(i),this._emitUpdate();try{const r=await this._getLastEventId();r&&await this._hsApi.receipt(this._roomId,"m.read",r)}catch(r){if(r.name!=="ConnectionError")throw r}})}leave(e=null){return this._platform.logger.wrapOrRun(e,"leave room",async t=>{t.set("id",this.id),await this._hsApi.leave(this.id,{log:t}).response()})}_getPendingEvents(){return this._sendQueue.pendingEvents}writeIsTrackingMembers(e,t){return this._summary.writeIsTrackingMembers(e,t)}applyIsTrackingMembersChanges(e){this._summary.applyChanges(e)}createAttachment(e,t){return new ro({blob:e,filename:t,platform:this._platform})}dispose(){super.dispose(),this._sendQueue.dispose()}}class rh extends io{constructor(e){super(e),this._releaseCallback=e.releaseCallback,this._forgetCallback=e.forgetCallback,this._retentionCount=1,this._kickDetails=null,this._kickedBy=null}retain(){this._retentionCount+=1}release(){this._retentionCount-=1,this._retentionCount===0&&this._releaseCallback()}async _getKickAuthor(e,t){const s=await t.roomMembers.get(this.id,e);return s?new O(s):O.fromUserId(this.id,e,"join")}async load(e,t,s){const{summary:i,kickDetails:r}=e;return this._kickDetails=r,this._kickDetails&&(this._kickedBy=await this._getKickAuthor(this._kickDetails.sender,t)),super.load(i,t,s)}async writeSync(e,t,s,i,r){if(r.set("id",this.id),s==="leave"){const o=nh(t,this._user.id);if(o||e){const a=o||this._kickDetails;let c;o&&(c=await this._getKickAuthor(o.sender,i));const l=e||this._summary.data;return i.archivedRoomSummary.set({summary:l.serialize(),kickDetails:a}),{kickDetails:a,kickedBy:c,summaryData:l}}}else s==="join"&&i.archivedRoomSummary.remove(this.id);return{}}afterSync({summaryData:e,kickDetails:t,kickedBy:s},i){i.set("id",this.id),e&&this._summary.applyChanges(e),t&&(this._kickDetails=t),s&&(this._kickedBy=s),this._emitUpdate()}get isKicked(){var e;return((e=this._kickDetails)==null?void 0:e.membership)==="leave"}get isBanned(){var e;return((e=this._kickDetails)==null?void 0:e.membership)==="ban"}get kickedBy(){return this._kickedBy}get kickReason(){var e;return(e=this._kickDetails)==null?void 0:e.reason}isArchived(){return!0}forget(e=null){return this._platform.logger.wrapOrRun(e,"forget room",async t=>{t.set("id",this.id),await this._hsApi.forget(this.id,{log:t}).response();const s=this._storage.storeNames,i=await this._storage.readWriteTxn([s.roomState,s.archivedRoomSummary,s.roomMembers,s.timelineEvents,s.timelineFragments,s.timelineRelations,s.pendingEvents,s.inboundGroupSessions,s.groupSessionDecryptions,s.operations]);i.roomState.removeAllForRoom(this.id),i.archivedRoomSummary.remove(this.id),i.roomMembers.removeAllForRoom(this.id),i.timelineEvents.removeAllForRoom(this.id),i.timelineFragments.removeAllForRoom(this.id),i.timelineRelations.removeAllForRoom(this.id),i.pendingEvents.removeAllForRoom(this.id),i.inboundGroupSessions.removeAllForRoom(this.id),i.groupSessionDecryptions.removeAllForRoom(this.id),await i.operations.removeAllForScope(this.id),await i.complete(),this._retentionCount=0,this._releaseCallback(),this._forgetCallback(this.id)})}join(e=null){return this._platform.logger.wrapOrRun(e,"rejoin archived room",async t=>{await this._hsApi.join(this.id,{log:t}).response()})}}function nh(n,e){var s,i;const t=Fn(n,(r,o)=>(o.type===oe&&o.state_key===e&&o.sender!==o.state_key&&(r=o),r),null);if(t)return{membership:(s=t.content)==null?void 0:s.membership,reason:(i=t.content)==null?void 0:i.reason,sender:t.sender}}async function oh(n,e,t){const s=await Promise.all(n.map(async i=>{const r=await e.profile(i,{log:t}).response();return new ah(i,r.displayname,r.avatar_url)}));return s.sort((i,r)=>i.name.localeCompare(r.name)),s}class ah{constructor(e,t,s){this.userId=e,this.displayName=t,this.avatarUrl=s}get name(){return this.displayName||this.userId}}class ch{constructor(e){this.userId=e}get displayName(){}get name(){return this.userId}get avatarUrl(){}}function lh(n){switch(n){case re.DirectMessage:case re.Private:return!0;case re.Public:return!1}}function hh(n){switch(n){case re.DirectMessage:return"trusted_private_chat";case re.Private:return"private_chat";case re.Public:return"public_chat"}}class dh extends Ls{constructor(e,t,s,i,r,o){var a;if(super(),this.id=e,this.options=t,this.updateCallback=s,this.mediaRepository=i,this.platform=r,this.profiles=[],this._isCancelled=!1,this.isEncrypted=t.isEncrypted===void 0?lh(t.type):t.isEncrypted,t.name)this._calculatedName=t.name;else{const c={joinCount:1,inviteCount:((a=t.invites)==null?void 0:a.length)||0},l=(t.invites||[]).map(h=>new ch(h));this._calculatedName=pi(l,c,o)}}async create(e,t){try{let s;if(this.options.avatar){const{avatar:o}=this.options,a=new ro({filename:o.name,blob:o.blob,platform:this.platform});await a.upload(e,()=>{},t),s={info:o.info},a.applyToContent("url",s)}const i={is_direct:this.options.type===re.DirectMessage,preset:hh(this.options.type),initial_state:[]};this.options.name&&(i.name=this.options.name),this.options.topic&&(i.topic=this.options.topic),this.options.invites&&(i.invite=this.options.invites),this.options.alias&&(i.room_alias_name=this.options.alias),this.options.isFederationDisabled===!0&&(i.creation_content={"m.federate":!1}),this.options.powerLevelContentOverride&&(i.power_level_content_override=this.options.powerLevelContentOverride),this.isEncrypted&&i.initial_state.push(La()),s&&i.initial_state.push({type:"m.room.avatar",state_key:"",content:s});const r=await e.createRoom(i,{log:t}).response();this._roomId=r.room_id}catch(s){this._error=s}this.emitChange()}async loadProfiles(e,t){try{if(!this.options.name&&this.options.invites){this.profiles=await oh(this.options.invites,e,t);const s={joinCount:1,inviteCount:this.options.invites.length};this._calculatedName=pi(this.profiles,s,t),this.emitChange()}}catch{}}emitChange(e){this.updateCallback(this,e),this.emit("change")}get avatarColorId(){var e,t,s;return(s=(t=(e=this.options.invites)==null?void 0:e[0])!=null?t:this._roomId)!=null?s:this.id}get avatarUrl(){var e,t;return(t=(e=this.profiles)==null?void 0:e[0])==null?void 0:t.avatarUrl}get avatarBlobUrl(){var e,t;return(t=(e=this.options.avatar)==null?void 0:e.blob)==null?void 0:t.url}get roomId(){return this._roomId}get name(){return this._calculatedName}get isBeingCreated(){return!0}get error(){return this._error}cancel(){this._isCancelled||(this.dispose(),this._isCancelled=!0,this.emitChange("isCancelled"))}get isCancelled(){return this._isCancelled}dispose(){this.options.avatar&&this.options.avatar.blob.dispose()}async adjustDirectMessageMapIfNeeded(e,t,s,i){if(!this.options.invites||this.options.type!==re.DirectMessage)return;const r=this.options.invites[0],o="m.direct";await i.wrap("set "+o,async a=>{try{const c=await t.readWriteTxn([t.storeNames.accountData]);let l;try{l=await c.accountData.get(o),l||(l={type:o,content:{}});const h=l.content;let d=h[r];d||(h[r]=d=[]),d.push(this._roomId),c.accountData.set(l),await c.complete()}catch(h){throw c.abort(),h}await s.setAccountData(e.id,o,l.content,{log:a}).response()}catch(c){a.catch(c)}})}}class uh extends Ls{constructor({roomId:e,user:t,hsApi:s,mediaRepository:i,emitCollectionRemove:r,emitCollectionUpdate:o,platform:a}){super(),this._roomId=e,this._user=t,this._hsApi=s,this._emitCollectionRemove=r,this._emitCollectionUpdate=o,this._mediaRepository=i,this._platform=a,this._inviteData=null,this._accepting=!1,this._rejecting=!1,this._accepted=!1,this._rejected=!1}get isInvite(){return!0}get id(){return this._roomId}get name(){return this._inviteData.name||this._inviteData.canonicalAlias}get isDirectMessage(){return this._inviteData.isDirectMessage}get avatarUrl(){return this._inviteData.avatarUrl}get avatarColorId(){return this._inviteData.avatarColorId||this.id}get timestamp(){return this._inviteData.timestamp}get isEncrypted(){return this._inviteData.isEncrypted}get inviter(){return this._inviter}isDirectMessageForUserId(e){return this.isDirectMessage&&this._inviter.userId===e}get isPublic(){return this._inviteData.joinRule==="public"}get canonicalAlias(){return this._inviteData.canonicalAlias}async accept(e=null){await this._platform.logger.wrapOrRun(e,"acceptInvite",async t=>{this._accepting=!0,this._emitChange("accepting"),await this._hsApi.join(this._roomId,{log:t}).response()})}async reject(e=null){await this._platform.logger.wrapOrRun(e,"rejectInvite",async t=>{this._rejecting=!0,this._emitChange("rejecting"),await this._hsApi.leave(this._roomId,{log:t}).response()})}get accepting(){return this._accepting}get accepted(){return this._accepted}get rejecting(){return this._rejecting}get rejected(){return this._rejected}get mediaRepository(){return this._mediaRepository}_emitChange(e){this.emit("change"),this._emitCollectionUpdate(this,e)}load(e,t){t.set("id",this.id),this._inviteData=e,this._inviter=e.inviter?new O(e.inviter):null}async writeSync(e,t,s,i){var r;if(e==="invite"){i.set("id",this.id),i.set("add",!0);const o=(r=t.invite_state)==null?void 0:r.events;if(!Array.isArray(o))return null;const a=this._createSummaryData(o);let c;!a.name&&!a.canonicalAlias&&(c=await this._createHeroes(o,i));const l=this._getMyInvite(o);if(!l)return null;const h=this._getInviter(l,o),d=this._createData(o,l,h,a,c);return s.invites.set(d),{inviteData:d,inviter:h}}else return i.set("id",this.id),i.set("membership",e),s.invites.remove(this.id),{removed:!0,membership:e}}afterSync(e,t){t.set("id",this.id),e&&(e.removed?(this._accepting=!1,this._rejecting=!1,e.membership==="join"?this._accepted=!0:this._rejected=!0,this.emit("change")):(this._inviteData=e.inviteData,this._inviter=e.inviter))}_createData(e,t,s,i,r){const o=r?r.roomName:i.name,a=r?r.roomAvatarUrl:i.avatarUrl,c=(r==null?void 0:r.roomAvatarColorId)||this.id;return{roomId:this.id,isEncrypted:!!i.encryption,isDirectMessage:i.isDirectMessage,name:o,avatarUrl:a,avatarColorId:c,canonicalAlias:i.canonicalAlias,timestamp:this._platform.clock.now(),joinRule:this._getJoinRule(e),inviter:s==null?void 0:s.serialize()}}_createSummaryData(e){return e.reduce((t,s)=>Bn(t,s,this._user.id),new Ee(null,this.id))}async _createHeroes(e,t){const s=e.filter(h=>h.type===oe),i=s.filter(h=>h.state_key!==this._user.id),r=i.reduce((h,d)=>{const u=O.fromMemberEvent(this.id,d);return h.set(u.userId,new Wn(u,null)),h},new Map),o=i.map(h=>h.state_key),a=new Di(this.id),c=await a.calculateChanges(o,r,null),l=new Ee(null,this.id);return l.joinCount=s.reduce((h,d)=>{var u;return h+(((u=d.content)==null?void 0:u.membership)==="join"?1:0)},0),l.inviteCount=s.reduce((h,d)=>{var u;return h+(((u=d.content)==null?void 0:u.membership)==="invite"?1:0)},0),a.applyChanges(c,l,t),a}_getMyInvite(e){return e.find(t=>t.type===oe&&t.state_key===this._user.id)}_getInviter(e,t){const s=t.find(i=>i.type===oe&&i.state_key===e.sender);if(s)return O.fromMemberEvent(this.id,s)}_getJoinRule(e){var s;const t=e.find(i=>i.type==="m.room.join_rules");return t?(s=t.content)==null?void 0:s.join_rule:null}}class tt{constructor(e){this._description=e}static httpPusher(e,t,s,i){return new tt({kind:"http",append:!0,data:Object.assign({},i,{url:e+"/_matrix/push/v1/notify"}),pushkey:s,app_id:t,app_display_name:"Hydrogen",device_display_name:"Hydrogen",lang:"en"})}static createDefaultPayload(e){return{session_id:e}}async enable(e,t){try{t.set("endpoint",new URL(this._description.data.endpoint).host)}catch{t.set("endpoint",null)}await e.setPusher(this._description,{log:t}).response()}async disable(e,t){const s=Object.assign({},this._description,{kind:null});await e.setPusher(s,{log:t}).response()}serialize(){return this._description}equals(e){return this._description.app_id!==e._description.app_id||this._description.pushkey!==e._description.pushkey?!1:JSON.stringify(this._description.data)===JSON.stringify(e._description.data)}}function bt(n,e){return Vi(n,e,()=>[],(t,s)=>t.push(s))}function Vi(n,e,t,s){return n.reduce((i,r)=>{const o=e(r);let a=i.get(o);return a||(a=t(),i.set(o,a)),s(a,r),i},new Map)}function Br(n,e){return n.reduce((t,s)=>{const i=e(s);return t[i]?t[i]+=1:t[i]=1,t},{})}class mh{constructor({storage:e}){this._storage=e,this._olmDecryption=null,this._megolmDecryption=null}enableEncryption({olmDecryption:e,megolmDecryption:t}){this._olmDecryption=e,this._megolmDecryption=t}obtainSyncLock(e){var t;return(t=this._olmDecryption)==null?void 0:t.obtainDecryptionLock(e)}async prepareSync(e,t,s,i){i.set("messageTypes",Br(e,a=>a.type));const r=e.filter(a=>a.type==="m.room.encrypted");if(!this._olmDecryption){i.log("can't decrypt, encryption not enabled",i.level.Warn);return}const o=r.filter(a=>{var c;return((c=a.content)==null?void 0:c.algorithm)===ki});if(o.length){const a=await this._olmDecryption.decryptAll(o,t,s);i.set("decryptedTypes",Br(a.results,l=>{var h;return(h=l.event)==null?void 0:h.type}));for(const l of a.errors)i.child("decrypt_error").catch(l);const c=this._megolmDecryption.roomKeysFromDeviceMessages(a.results,i);return new ph(a,c)}}async writeSync(e,t){return e.olmDecryptChanges.write(t),(await Promise.all(e.newRoomKeys.map(i=>this._megolmDecryption.writeRoomKey(i,t)))).some(i=>!!i)}}class ph{constructor(e,t){this.olmDecryptChanges=e,this.newRoomKeys=t,this.newKeysByRoom=bt(t,s=>s.roomId)}}const Ft=ie+"olmAccount",_i=ie+"areDeviceKeysUploaded",ks=ie+"serverOTKCount";async function Kr(n,e,t,s,i){const r=n.pickle(e),o=await i.readWriteTxn([i.storeNames.session]);try{o.session.add(Ft,r),o.session.add(_i,t),o.session.add(ks,s)}catch(a){throw o.abort(),a}await o.complete()}class rt{static async load({olm:e,pickleKey:t,hsApi:s,userId:i,deviceId:r,olmWorker:o,txn:a}){const c=await a.session.get(Ft);if(c){const l=new e.Account,h=await a.session.get(_i);l.unpickle(t,c);const d=await a.session.get(ks);return new rt({pickleKey:t,hsApi:s,account:l,userId:i,deviceId:r,areDeviceKeysUploaded:h,serverOTKCount:d,olm:e,olmWorker:o})}}static async adoptDehydratedDevice({olm:e,dehydratedDevice:t,pickleKey:s,hsApi:i,userId:r,olmWorker:o,storage:a}){const c=t.adoptUnpickledOlmAccount(),l=JSON.parse(c.one_time_keys()),d=Object.entries(l.curve25519).length,u=!0;return await Kr(c,s,u,d,a),new rt({pickleKey:s,hsApi:i,account:c,userId:r,deviceId:t.deviceId,areDeviceKeysUploaded:u,serverOTKCount:d,olm:e,olmWorker:o})}static async create({olm:e,pickleKey:t,hsApi:s,userId:i,deviceId:r,olmWorker:o,storage:a}){const c=new e.Account;o?await o.createAccountAndOTKs(c,c.max_number_of_one_time_keys()):(c.create(),c.generate_one_time_keys(c.max_number_of_one_time_keys()));const l=!1,h=0;return a&&await Kr(c,t,l,h,a),new rt({pickleKey:t,hsApi:s,account:c,userId:i,deviceId:r,areDeviceKeysUploaded:l,serverOTKCount:h,olm:e,olmWorker:o})}constructor({pickleKey:e,hsApi:t,account:s,userId:i,deviceId:r,areDeviceKeysUploaded:o,serverOTKCount:a,olm:c,olmWorker:l}){this._olm=c,this._pickleKey=e,this._hsApi=t,this._account=s,this._userId=i,this._deviceId=r,this._areDeviceKeysUploaded=o,this._serverOTKCount=a,this._olmWorker=l,this._identityKeys=JSON.parse(this._account.identity_keys())}get identityKeys(){return this._identityKeys}setDeviceId(e){this._deviceId=e}async uploadKeys(e,t,s){var o;const i=JSON.parse(this._account.one_time_keys()),r=Object.entries(i.curve25519);if(r.length||!this._areDeviceKeysUploaded){const a={};if(!this._areDeviceKeysUploaded){s.set("identity",!0);const h=JSON.parse(this._account.identity_keys());a.device_keys=this._deviceKeysPayload(h)}r.length&&(s.set("otks",!0),a.one_time_keys=this._oneTimeKeysPayload(r));const c=t?this._deviceId:void 0,l=await this._hsApi.uploadKeys(c,a,{log:s}).response();this._serverOTKCount=(o=l==null?void 0:l.one_time_key_counts)==null?void 0:o.signed_curve25519,s.set("serverOTKCount",this._serverOTKCount),await this._updateSessionStorage(e,h=>{r.length&&(this._account.mark_keys_as_published(),h==null||h.set(Ft,this._account.pickle(this._pickleKey)),h==null||h.set(ks,this._serverOTKCount)),this._areDeviceKeysUploaded||(this._areDeviceKeysUploaded=!0,h==null||h.set(_i,this._areDeviceKeysUploaded))})}}async generateOTKsIfNeeded(e,t){const s=this._account.max_number_of_one_time_keys(),i=Math.floor(s/2);if(this._serverOTKCount0&&await t.wrap("generate otks",l=>{l.set("max",s),l.set("server",this._serverOTKCount),l.set("unpublished",a),l.set("new",c),l.set("limit",i),this._account.generate_one_time_keys(c),this._updateSessionStorage(e,h=>{h.set(Ft,this._account.pickle(this._pickleKey))})}),!0}return!1}createInboundOlmSession(e,t){const s=new this._olm.Session;try{return s.create_inbound_from(this._account,e,t),s}catch(i){throw s.free(),i}}async createOutboundOlmSession(e,t){const s=new this._olm.Session;try{return this._olmWorker?await this._olmWorker.createOutboundOlmSession(this._account,s,e,t):s.create_outbound(this._account,e,t),s}catch(i){throw s.free(),i}}writeRemoveOneTimeKey(e,t){this._account.remove_one_time_keys(e),t.session.set(Ft,this._account.pickle(this._pickleKey))}writeSync(e,t,s){const i=e.signed_curve25519;if(Number.isSafeInteger(i)&&i!==this._serverOTKCount)return t.session.set(ks,i),s.set("otkCount",i),i}afterSync(e){Number.isSafeInteger(e)&&(this._serverOTKCount=e)}_deviceKeysPayload(e){const t={user_id:this._userId,device_id:this._deviceId,algorithms:[ki,ve],keys:{}};for(const[s,i]of Object.entries(e))t.keys[`${s}:${this._deviceId}`]=i;return this.signObject(t),t}_oneTimeKeysPayload(e){const t={};for(const[s,i]of e){const r={key:i};this.signObject(r),t[`signed_curve25519:${s}`]=r}return t}async _updateSessionStorage(e,t){if(e){const s=await e.readWriteTxn([e.storeNames.session]);try{await t(s.session)}catch(i){throw s.abort(),i}await s.complete()}else await t(void 0)}signObject(e){const t=e.signatures||{},s=e.unsigned;delete e.signatures,delete e.unsigned,t[this._userId]=t[this._userId]||{},t[this._userId]["ed25519:"+this._deviceId]=this._account.sign(On.stringify(e)),e.signatures=t,s!==void 0&&(e.unsigned=s)}pickleWithKey(e){return this._account.pickle(e)}dispose(){this._account.free(),this._account=void 0}}class Li{constructor(e,t){this._id=e,this._keyDescription=t}get id(){return this._id}get passphraseParams(){var e;return(e=this._keyDescription)==null?void 0:e.passphrase}get algorithm(){var e;return(e=this._keyDescription)==null?void 0:e.algorithm}async isCompatible(e,t){if(this.algorithm==="m.secret_storage.v1.aes-hmac-sha2"){const s=this._keyDescription;if(s.mac){const i=await _h(e.binaryKey,s.iv,t);return s.mac===i}else if(s.passphrase){const i=e.description._keyDescription;return i.passphrase?s.passphrase.algorithm===i.passphrase.algorithm&&s.passphrase.iterations===i.passphrase.iterations&&s.passphrase.salt===i.passphrase.salt:!1}}return!1}}class ts{constructor(e,t){this._keyDescription=e,this._binaryKey=t}withDescription(e){return new ts(e,this._binaryKey)}get description(){return this._keyDescription}get id(){return this._keyDescription.id}get binaryKey(){return this._binaryKey}get algorithm(){return this._keyDescription.algorithm}}async function _h(n,e,t){const{crypto:s,encoding:i}=t,{utf8:r,base64:o}=i,{derive:a,aes:c,hmac:l}=s,h=o.decode(e),d=new Uint8Array(8),u="\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0",p=r.encode(""),_=await a.hkdf(n,d,p,"SHA-256",512),f=_.slice(0,32),b=_.slice(32),S=await c.encryptCTR({key:f,iv:h,data:r.encode(u)}),k=await l.compute(b,S,"SHA-256");return o.encode(k)}const fh=5e5,gh=256;async function yh(n,e,t){const{passphraseParams:s}=n;if(!s)throw new Error("not a passphrase key");if(s.algorithm!=="m.pbkdf2")throw new Error(`Unsupported passphrase algorithm: ${s.algorithm}`);const{utf8:i}=t.encoding,r=await t.crypto.derive.pbkdf2(i.encode(e),s.iterations||fh,i.encode(s.salt),"SHA-512",s.bits||gh);return new ts(n,r)}const Dt=[139,1];function wh(n,e,t,s){const i=s.encoding.base58.decode(e.replace(/ /g,""));let r=0;for(const a of i)r^=a;if(r!==0)throw new Error("Incorrect parity");for(let a=0;a(n[n.RecoveryKey=0]="RecoveryKey",n[n.Passphrase=1]="Passphrase",n))(Qt||{});async function no(n){var r;const e=await n.readTxn([n.storeNames.accountData]),t=await e.accountData.get("m.secret_storage.default_key"),s=(r=t==null?void 0:t.content)==null?void 0:r.key;if(!s)return;const i=await e.accountData.get(`m.secret_storage.key.${s}`);if(!!i)return new Li(s,i.content)}async function vh(n,e,t){const s=await t.session.get($r);return t.session.set($r,e),t.session.set(Oi,{id:n.id,binaryKey:n.binaryKey}),s}async function bh(n){const e=await n.session.get(Oi);if(!e)return;const t=await n.accountData.get(`m.secret_storage.key.${e.id}`);if(t)return new ts(new Li(e.id,t.content),e.binaryKey)}async function Sh(n){n.session.remove(Oi)}async function Ih(n,e,t,s,i){const r=await no(t);if(!r)throw new Error("Could not find a default secret storage key in account data");return await oo(n,e,r,s,i)}async function oo(n,e,t,s,i){let r;if(n===1)r=await yh(t,e,s);else if(n===0)r=wh(t,e,i,s);else throw new Error(`Invalid type: ${n}`);return r}async function Eh(n,e,t){const s=await no(e);if(await(s==null?void 0:s.isCompatible(n,t)))return n.withDescription(s)}const ao="org.matrix.msc2697.v1.olm.libolm_pickle";async function kh(n,e,t,s){try{const i=await n.getDehydratedDevice({log:s}).response();if(i.device_data.algorithm===ao)return new Ch(i,e,t)}catch(i){i.name!=="HomeServerError"&&(s.error=i);return}}async function Rh(n,e,t,s,i){var a;const o=(await e.createDehydratedDevice({device_data:{algorithm:ao,account:n.pickleWithKey(t.binaryKey.slice()),passphrase:((a=t.description)==null?void 0:a.passphraseParams)||{}},initial_device_display_name:s}).response()).device_id;return n.setDeviceId(o),await n.uploadKeys(void 0,!0,i),o}class Ch{constructor(e,t,s){this._dehydratedDevice=e,this._olm=t,this._platform=s}async decrypt(e,t){const s=new Li("dehydrated_device",this._dehydratedDevice.device_data.passphrase),i=await oo(e,t,s,this._platform,this._olm),r=new this._olm.Account;try{const o=this._dehydratedDevice.device_data.account;return r.unpickle(i.binaryKey.slice(),o),new Th(this._dehydratedDevice,r,i)}catch(o){if(r.free(),o.message==="OLM.BAD_ACCOUNT_KEY")return;throw o}}get deviceId(){return this._dehydratedDevice.device_id}}class Th{constructor(e,t,s){this._dehydratedDevice=e,this._account=t,this._key=s}async claim(e,t){try{return(await e.claimDehydratedDevice(this.deviceId,{log:t}).response()).success}catch{return!1}}adoptUnpickledOlmAccount(){const e=this._account;return this._account=void 0,e}get deviceId(){return this._dehydratedDevice.device_id}get key(){return this._key}dispose(){var e;(e=this._account)==null||e.free(),this._account=void 0}}class Mh{tryTake(){return this._promise?!1:(this._promise=new Promise(e=>{this._resolve=e}),!0)}async take(){for(;!this.tryTake();)await this.released()}get isTaken(){return!!this._promise}release(){if(this._resolve){this._promise=void 0;const e=this._resolve;this._resolve=void 0,e()}}released(){return this._promise}}class Ah{constructor(e){this.locks=e}release(){for(const e of this.locks)e.release()}}function co(n,e,t,s){return{session:n.pickle(s),sessionId:n.session_id(),senderKey:e,lastUsed:t}}class As{constructor(e,t,s,i=!1){this.data=e,this.pickleKey=t,this.olm=s,this.isNew=i,this.isModified=i}static create(e,t,s,i,r){const o=co(t,e,r,i);return new As(o,i,s,!0)}get id(){return this.data.sessionId}load(){const e=new this.olm.Session;return e.unpickle(this.pickleKey,this.data.session),e}unload(e){e.free()}save(e){this.data.session=e.pickle(this.pickleKey),this.isModified=!0}}class lo{constructor(e,t,s){this.event=e,this.senderCurve25519Key=t,this.claimedEd25519Key=s,this.roomTracked=!0}setDevice(e){this.device=e}setRoomNotTrackedYet(){this.roomTracked=!1}get isVerified(){return this.device?this.device.ed25519Key===this.claimedEd25519Key:!1}get isUnverified(){return this.device?!this.isVerified:!this.isVerificationUnknown}get isVerificationUnknown(){return!this.device&&!this.roomTracked}}var xs=(n=>(n[n.PreKey=0]="PreKey",n[n.Normal=1]="Normal",n))(xs||{});const jr=4;function ho(n){n.sort((e,t)=>t.data.lastUsed-e.data.lastUsed)}class xh{constructor(e,t,s,i,r,o){this.account=e,this.pickleKey=t,this.now=s,this.ownUserId=i,this.olm=r,this.senderKeyLock=o}async obtainDecryptionLock(e){var i;const t=new Set;for(const r of e){const o=(i=r.content)==null?void 0:i.sender_key;o&&t.add(o)}const s=await Promise.all(Array.from(t).map(r=>this.senderKeyLock.takeLock(r)));return new Ah(s)}async decryptAll(e,t,s){try{const i=bt(e,h=>{var d;return(d=h.content)==null?void 0:d.sender_key}),r=this.now(),o=await Promise.all(Array.from(i.entries()).map(([h,d])=>this._decryptAllForSenderKey(h,d,r,s))),a=o.reduce((h,d)=>h.concat(d.results),[]),c=o.reduce((h,d)=>h.concat(d.errors),[]),l=o.map(h=>h.senderKeyDecryption);return new Dh(l,a,c,this.account,t)}catch(i){throw t.release(),i}}async _decryptAllForSenderKey(e,t,s,i){const r=await this._getSessions(e,i),o=new Nh(e,r,s),a=[],c=[];for(const l of t)try{const h=this._decryptForSenderKey(o,l,s);a.push(h)}catch(h){c.push(h)}return{results:a,errors:c,senderKeyDecryption:o}}_decryptForSenderKey(e,t,s){const i=e.senderKey,r=this._getMessageAndValidateEvent(t);let o;try{o=e.decrypt(r)}catch(a){throw new z("OLM_BAD_ENCRYPTED_MESSAGE",t,{senderKey:i,error:a.message})}if(typeof o!="string"&&r.type===xs.PreKey){let a;try{a=this._createSessionAndDecrypt(i,r,s)}catch(c){throw new z(`Could not create inbound olm session: ${c.message}`,t,{senderKey:i,error:c})}e.addNewSession(a.session),o=a.plaintext}if(typeof o=="string"){let a;try{a=JSON.parse(o)}catch(c){throw new z("PLAINTEXT_NOT_JSON",t,{plaintext:o,error:c})}return this._validatePayload(a,t),new lo(a,i,a.keys.ed25519)}else throw new z("OLM_NO_MATCHING_SESSION",t,{knownSessionIds:e.sessions.map(a=>a.id)})}_createSessionAndDecrypt(e,t,s){let i;const r=this.account.createInboundOlmSession(e,t.body);try{i=r.decrypt(t.type,t.body);const o=As.create(e,r,this.olm,this.pickleKey,s);return o.unload(r),{session:o,plaintext:i}}catch(o){throw r.free(),o}}_getMessageAndValidateEvent(e){var i;const t=(i=e.content)==null?void 0:i.ciphertext;if(!t)throw new z("OLM_MISSING_CIPHERTEXT",e);const s=t==null?void 0:t[this.account.identityKeys.curve25519];if(!s)throw new z("OLM_NOT_INCLUDED_IN_RECIPIENTS",e);return s}async _getSessions(e,t){const i=(await t.olmSessions.getAll(e)).map(r=>new As(r,this.pickleKey,this.olm));return ho(i),i}_validatePayload(e,t){var s,i,r;if(e.sender!==t.sender)throw new z("OLM_FORWARDED_MESSAGE",t,{sentBy:t.sender,encryptedBy:e.sender});if(e.recipient!==this.ownUserId)throw new z("OLM_BAD_RECIPIENT",t,{recipient:e.recipient});if(((s=e.recipient_keys)==null?void 0:s.ed25519)!==this.account.identityKeys.ed25519)throw new z("OLM_BAD_RECIPIENT_KEY",t,{key:(i=e.recipient_keys)==null?void 0:i.ed25519});if(!e.type)throw new z("missing type on payload",t,{payload:e});if(typeof((r=e.keys)==null?void 0:r.ed25519)!="string")throw new z("Missing or invalid claimed ed25519 key on payload",t,{payload:e})}}class Nh{constructor(e,t,s){this.senderKey=e,this.sessions=t,this.timestamp=s}addNewSession(e){this.sessions.unshift(e)}decrypt(e){for(const t of this.sessions){const s=this.decryptWithSession(t,e);if(typeof s=="string")return ho(this.sessions),s}}getModifiedSessions(){return this.sessions.filter(e=>e.isModified)}get hasNewSessions(){return this.sessions.some(e=>e.isNew)}decryptWithSession(e,t){if(t.type===void 0||t.body===void 0)throw new Error("Invalid message without type or body");const s=e.load();try{if(t.type===xs.PreKey&&!s.matches_inbound(t.body))return;try{const i=s.decrypt(t.type,t.body);return e.save(s),e.data.lastUsed=this.timestamp,i}catch(i){if(t.type===xs.PreKey)throw new Error(`Error decrypting prekey message with existing session id ${e.id}: ${i.message}`);return}}finally{e.unload(s)}}}class Dh{constructor(e,t,s,i,r){this.senderKeyDecryptions=e,this.results=t,this.errors=s,this.account=i,this.lock=r}get hasNewSessions(){return this.senderKeyDecryptions.some(e=>e.hasNewSessions)}write(e){try{for(const t of this.senderKeyDecryptions){for(const s of t.getModifiedSessions())if(e.olmSessions.set(s.data),s.isNew){const i=s.load();try{this.account.writeRemoveOneTimeKey(i,e)}finally{s.unload(i)}}if(t.sessions.length>jr){const{senderKey:s,sessions:i}=t;for(let r=i.length-1;r>=jr;r-=1){const o=i[r];e.olmSessions.remove(s,o.id)}}}}finally{this.lock.release()}}}function Vh(n){return n.reduce((e,t)=>!e||tthis.senderKeyLock.takeLock(a.curve25519Key)));try{const{devicesWithoutSession:a,existingEncryptionTargets:c}=await this._findExistingSessions(s),l=this.now();let h=[];try{if(a.length){const p=await r.wrap("create sessions",_=>this._createNewSessions(a,i,l,_));h=h.concat(p)}await this._loadSessions(c),h=h.concat(c);const d={l:"encrypt",targets:h.length},u=r.wrap(d,()=>h.map(p=>{const _=this._encryptForDevice(e,t,p);return new Oh(_,p.device)}));return await this._storeSessions(h,l),u}finally{for(const d of h)d.dispose()}}finally{for(const a of o)a.release()}}async _findExistingSessions(e){const t=await this.storage.readTxn([this.storage.storeNames.olmSessions]),s=await Promise.all(e.map(async o=>await t.olmSessions.getSessionIds(o.curve25519Key))),i=e.filter((o,a)=>{const c=s[a];return!(c!=null&&c.length)}),r=e.map((o,a)=>{const c=s[a];if((c==null?void 0:c.length)>0){const l=Vh(c);return Yt.fromSessionId(o,l)}}).filter(o=>!!o);return{devicesWithoutSession:i,existingEncryptionTargets:r}}_encryptForDevice(e,t,s){const{session:i,device:r}=s,o=JSON.stringify(this._buildPlainTextMessageForDevice(e,t,r)),a=i.encrypt(o);return{algorithm:ki,sender_key:this.account.identityKeys.curve25519,ciphertext:{[r.curve25519Key]:a}}}_buildPlainTextMessageForDevice(e,t,s){return{keys:{ed25519:this.account.identityKeys.ed25519},recipient_keys:{ed25519:s.ed25519Key},recipient:s.userId,sender:this.ownUserId,content:t,type:e}}async _createNewSessions(e,t,s,i){const r=await i.wrap("claim",o=>this._claimOneTimeKeys(t,e,o));try{for(const o of r){const{device:a,oneTimeKey:c}=o;o.session=await this.account.createOutboundOlmSession(a.curve25519Key,c)}await this._storeSessions(r,s)}catch(o){for(const a of r)a.dispose();throw o}return r}async _claimOneTimeKeys(e,t,s){const i=Vi(t,c=>c.userId,()=>new Map,(c,l)=>c.set(l.deviceId,l)),r=Array.from(i.entries()).reduce((c,[l,h])=>(c[l]=Array.from(h.values()).reduce((d,u)=>(d[u.deviceId]=qr,d),{}),c),{}),o=await e.claimKeys({timeout:1e4,one_time_keys:r},{log:s}).response();Object.keys(o.failures).length&&s.log({l:"failures",servers:Object.keys(o.failures)},s.level.Warn);const a=o==null?void 0:o.one_time_keys;return this._verifyAndCreateOTKTargets(a,i,s)}_verifyAndCreateOTKTargets(e,t,s){var r;const i=[];for(const[o,a]of Object.entries(e))for(const[c,l]of Object.entries(a)){const[h,d]=Object.entries(l)[0],[u]=h.split(":");if(u===qr){const p=(r=t.get(o))==null?void 0:r.get(c);if(p&&Un(this.olmUtil,o,c,p.ed25519Key,d,s)){const f=Yt.fromOTK(p,d.key);i.push(f)}}}return i}async _loadSessions(e){const t=await this.storage.readTxn([this.storage.storeNames.olmSessions]);let s=!1;try{await Promise.all(e.map(async i=>{const r=await t.olmSessions.get(i.device.curve25519Key,i.sessionId);if(r&&!s){const o=new this.olm.Session;o.unpickle(this.pickleKey,r.session),i.session=o}}))}catch(i){s=!0;for(const r of e)r.dispose();throw i}}async _storeSessions(e,t){const s=await this.storage.readWriteTxn([this.storage.storeNames.olmSessions]);try{for(const i of e){const r=co(i.session,i.device.curve25519Key,t,this.pickleKey);s.olmSessions.set(r)}}catch(i){throw s.abort(),i}await s.complete()}}class Yt{constructor(e,t,s){this.device=e,this.oneTimeKey=t,this.sessionId=s,this.session=null}static fromOTK(e,t){return new Yt(e,t,null)}static fromSessionId(e,t){return new Yt(e,null,t)}dispose(){this.session&&this.session.free()}}class Oh{constructor(e,t){this.content=e,this.device=t}}class Ph{constructor(e,t,s,i){this._roomId=e,this._results=t,this._errors=s,this._replayEntries=i}async write(e){return await Promise.all(this._replayEntries.map(async t=>{try{this._handleReplayAttack(this._roomId,t,e)}catch(s){this._errors.set(t.eventId,s)}})),{results:this._results,errors:this._errors}}async _handleReplayAttack(e,t,s){const{messageIndex:i,sessionId:r,eventId:o,timestamp:a}=t,c=await s.groupSessionDecryptions.get(e,r,i);if(c&&c.eventId!==o){const h=c.timestamp{const r=await i.decryptAll();fi(r.errors,e),fi(r.results,t),s.push(...r.replayEntries)})),new Ph(this._roomId,t,e,s)}finally{this.dispose()}}dispose(){for(const e of this._sessionDecryptions)e.dispose()}}class Fh{constructor(e,t,s){this.sessionId=e,this.messageIndex=t,this.event=s}get eventId(){return this.event.event_id}get timestamp(){return this.event.origin_server_ts}}class Bh{constructor(e,t,s,i){this.key=e,this.events=t,this.olmWorker=s,this.keyLoader=i,this.decryptionRequests=s?[]:void 0}async decryptAll(){const e=[],t=new Map;let s;return await this.keyLoader.useKey(this.key,async i=>{for(const r of this.events)try{const o=r.content.ciphertext;let a;if(this.olmWorker){const d=this.olmWorker.megolmDecrypt(i,o);this.decryptionRequests.push(d),a=await d.response()}else a=i.decrypt(o);const{plaintext:c}=a;let l;try{l=JSON.parse(c)}catch(d){throw new z("PLAINTEXT_NOT_JSON",r,{plaintext:c,err:d})}if(l.room_id!==this.key.roomId)throw new z("MEGOLM_WRONG_ROOM",r,{encryptedRoomId:l.room_id,eventRoomId:this.key.roomId});e.push(new Fh(this.key.sessionId,a.message_index,r));const h=new lo(l,this.key.senderKey,this.key.claimedEd25519Key);t.set(r.event_id,h)}catch(o){if(o.name==="AbortError")return;s||(s=new Map),s.set(r.event_id,o)}}),{results:t,errors:s,replayEntries:e}}dispose(){if(this.decryptionRequests)for(const e of this.decryptionRequests)e.abort()}}function Pi(n){var e;return(e=n.content)==null?void 0:e.sender_key}function Ui(n){var e;return(e=n.content)==null?void 0:e.session_id}function Kh(n){var e;return(e=n.content)==null?void 0:e.ciphertext}function $h(n){return typeof Pi(n)=="string"&&typeof Ui(n)=="string"&&typeof Kh(n)=="string"}class jh{constructor(){this.events=[]}get senderKey(){return Pi(this.events[0])}get sessionId(){return Ui(this.events[0])}}function gi(n){return Vi(n,e=>`${Pi(e)}|${Ui(e)}`,()=>new jh,(e,t)=>e.events.push(t))}class uo{isForSession(e,t,s){return this.roomId===e&&this.senderKey===t&&this.sessionId===s}get isBetter(){return this._isBetter}set isBetter(e){this._isBetter=e}}function mo(n,e){return n.first_known_index(){s=r.pickle(o)},t),this.isBetter===!1)return!1;s||(s=await e.useKey(this,(r,o)=>r.pickle(o)));const i={roomId:this.roomId,senderKey:this.senderKey,sessionId:this.sessionId,session:s,backup:this.backupStatus,source:this.keySource,claimedKeys:{ed25519:this.claimedEd25519Key}};return t.inboundGroupSessions.set(i),!0}get eventIds(){return this._eventIds}async _checkBetterThanKeyInStorage(e,t,s){if(this.isBetter!==void 0)return this.isBetter;let i=e.getCachedKey(this.roomId,this.senderKey,this.sessionId);if(!i){const r=await fo(this.roomId,this.senderKey,this.sessionId,s);r&&(r.hasSession?i=r:r.eventIds&&(this._eventIds=r.eventIds))}if(i){const r=i;await e.useKey(this,async o=>{await e.useKey(r,(a,c)=>{this.isBetter=mo(o,a),r.isBetter=!this.isBetter,this.isBetter&&t&&t(o,c)})})}else this.isBetter=!0;return this.isBetter}get backupStatus(){return Os.NotBackedUp}}class qh extends Fi{constructor(e){super(),this._decryptionResult=e}get roomId(){var e;return(e=this._decryptionResult.event.content)==null?void 0:e.room_id}get senderKey(){return this._decryptionResult.senderCurve25519Key}get sessionId(){var e;return(e=this._decryptionResult.event.content)==null?void 0:e.session_id}get claimedEd25519Key(){return this._decryptionResult.claimedEd25519Key}get serializationKey(){var e;return(e=this._decryptionResult.event.content)==null?void 0:e.session_key}get serializationType(){return"create"}get keySource(){return es.DeviceMessage}loadInto(e){e.create(this.serializationKey)}}class Wh extends Fi{constructor(e,t,s){super(),this._roomId=e,this.outboundSession=t,this.identityKeys=s,this.isBetter=!0,this._sessionKey=this.outboundSession.session_key()}get roomId(){return this._roomId}get senderKey(){return this.identityKeys.curve25519}get sessionId(){return this.outboundSession.session_id()}get claimedEd25519Key(){return this.identityKeys.ed25519}get serializationKey(){return this._sessionKey}get serializationType(){return"create"}get keySource(){return es.Outbound}loadInto(e){e.create(this.serializationKey)}}class Hh extends Fi{constructor(e,t,s){super(),this._roomId=e,this._sessionId=t,this._backupInfo=s}get roomId(){return this._roomId}get senderKey(){return this._backupInfo.sender_key}get sessionId(){return this._sessionId}get claimedEd25519Key(){var e;return(e=this._backupInfo.sender_claimed_keys)==null?void 0:e.ed25519}get serializationKey(){return this._backupInfo.session_key}get serializationType(){return"import_session"}get keySource(){return es.Backup}loadInto(e){e.import_session(this.serializationKey)}get backupStatus(){return Os.BackedUp}}class po extends uo{constructor(e){super(),this.isBetter=!0,this.storageEntry=e}get roomId(){return this.storageEntry.roomId}get senderKey(){return this.storageEntry.senderKey}get sessionId(){return this.storageEntry.sessionId}get claimedEd25519Key(){return this.storageEntry.claimedKeys.ed25519}get eventIds(){return this.storageEntry.eventIds}get serializationKey(){return this.storageEntry.session||""}get serializationType(){return"unpickle"}loadInto(e,t){e.unpickle(t,this.serializationKey)}get hasSession(){return!!this.serializationKey}}function zh(n){var s;const e=(s=n.event.content)==null?void 0:s.session_key,t=new qh(n);if(typeof t.roomId=="string"&&typeof t.sessionId=="string"&&typeof t.senderKey=="string"&&typeof e=="string")return t}function _o(n,e,t){var o;const s=t.session_key,i=t.sender_key,r=(o=t.sender_claimed_keys)==null?void 0:o.ed25519;if(typeof n=="string"&&typeof e=="string"&&typeof i=="string"&&typeof s=="string"&&typeof r=="string")return new Hh(n,e,t)}async function fo(n,e,t,s){const i=await s.inboundGroupSessions.get(n,e,t);if(i)return new po(i)}class Gh{constructor(e,t){this.keyLoader=e,this.olmWorker=t}async addMissingKeyEventIds(e,t,s,i,r){let o=await r.inboundGroupSessions.get(e,t,s);if(!(o!=null&&o.session)){if(o){const a=new Set(o.eventIds);for(const c of i)a.add(c);o.eventIds=Array.from(a)}else o={roomId:e,senderKey:t,sessionId:s,eventIds:i};r.inboundGroupSessions.set(o)}}async getEventIdsForMissingKey(e,t,s,i){const r=await i.inboundGroupSessions.get(e,t,s);if(r&&!r.session)return r.eventIds}async hasSession(e,t,s,i){const r=await i.inboundGroupSessions.get(e,t,s);return typeof(r==null?void 0:r.session)=="string"}async prepareDecryptAll(e,t,s,i){const r=new Map,o=[];for(const l of t)$h(l)?o.push(l):r.set(l.event_id,new z("MEGOLM_INVALID_EVENT",l));const a=gi(o),c=[];return await Promise.all(Array.from(a.values()).map(async l=>{const h=await this.getRoomKey(e,l.senderKey,l.sessionId,s,i);if(h)c.push(new Bh(h,l.events,this.olmWorker,this.keyLoader));else for(const d of l.events)r.set(d.event_id,new z("MEGOLM_NO_SESSION",d))})),new Uh(e,c,r)}async getRoomKey(e,t,s,i,r){if(i){const c=i.find(l=>l.isForSession(e,t,s));if(c&&await c.checkBetterThanKeyInStorage(this.keyLoader,r))return c}const o=this.keyLoader.getCachedKey(e,t,s);if(o)return o;const a=await fo(e,t,s,r);if(a&&a.serializationKey)return a}writeRoomKey(e,t){return e.write(this.keyLoader,t)}roomKeysFromDeviceMessages(e,t){var i,r;const s=[];for(const o of e)((i=o.event)==null?void 0:i.type)!=="m.room_key"||((r=o.event.content)==null?void 0:r.algorithm)!==ve||t.wrap("room_key",a=>{const c=zh(o);c?(a.set("roomId",c.roomId),a.set("id",c.sessionId),s.push(c)):(a.logLevel=a.level.Warn,a.set("invalid",!0))},t.level.Detail);return s}roomKeyFromBackup(e,t,s){return _o(e,t,s)}dispose(){this.keyLoader.dispose()}}class Jh extends eo{constructor(e,t,s){super(s),this.pickleKey=t,this.olm=e}getCachedKey(e,t,s){const i=this.findCachedKeyIndex(e,t,s);if(i!==-1)return this._getByIndexAndMoveUp(i).key}async useKey(e,t){const s=await this.allocateOperation(e);try{return await t(s.session,this.pickleKey)}finally{this.releaseOperation(s)}}get running(){return this._entries.some(e=>e.refCount!==0)}dispose(){for(let e=0;e{this.resolveUnusedOperation=e})),this.operationBecomesUnusedPromise}findIndexForAllocation(e){let t=this.findIndexSameKey(e);return t===-1&&(this.size{const c=i===-1?void 0:a[i];return r.isBest===!0&&r.isForSameSession(e,t,s)&&(!c||r.isBetter(c))?o:i},-1)}findIndexSameKey(e){return this._entries.findIndex(t=>t.isForSameSession(e.roomId,e.senderKey,e.sessionId)&&t.isForKey(e))}findIndexSameSessionUnused(e){return this._entries.reduce((t,s,i,r)=>{const o=t===-1?void 0:r[t];return s.refCount===0&&s.isForSameSession(e.roomId,e.senderKey,e.sessionId)&&(!o||!s.isBetter(o))?i:t},-1)}findIndexOldestUnused(){for(let e=this._entries.length-1;e>=0;e-=1)if(this._entries[e].refCount===0)return e;return-1}}class Qh{constructor(e,t){this.key=e,this.session=t,this.refCount=1}isForSameSession(e,t,s){return this.key.roomId===e&&this.key.senderKey===t&&this.key.sessionId===s}isBetter(e){return mo(this.session,e.session)}isForKey(e){return this.key.serializationKey===e.serializationKey&&this.key.serializationType===e.serializationType}dispose(){this.session.free(),this.session=void 0}get isBest(){return this.key.isBetter}}const Yh="m.megolm_backup.v1.curve25519-aes-sha2";class Bi{constructor(e,t){this.encryption=e,this.decryption=t}static fromAuthData(e,t,s){const i=e.public_key,r=new s.PkDecryption,o=new s.PkEncryption;try{const a=r.init_with_private_key(t);if(a!==i)throw new Error(`Bad backup key, public key does not match. Calculated ${a} but expected ${i}`);o.set_recipient_key(a)}catch(a){throw r.free(),a}return new Bi(o,r)}decryptRoomKey(e){const t=this.decryption.decrypt(e.ephemeral,e.mac,e.ciphertext);return JSON.parse(t)}encryptRoomKey(e,t){const s={algorithm:ve,sender_key:e.senderKey,sender_claimed_keys:{ed25519:e.claimedEd25519Key},forwarding_curve25519_key_chain:[],session_key:t};return this.encryption.encrypt(JSON.stringify(s))}dispose(){var e,t;(e=this.decryption)==null||e.free(),this.decryption=void 0,(t=this.encryption)==null||t.free(),this.encryption=void 0}}const Xh=200;class Ki{constructor(e,t,s,i,r,o,a=1e4){this.backupInfo=e,this.crypto=t,this.hsApi=s,this.keyLoader=i,this.storage=r,this.platform=o,this.maxDelay=a,this.operationInProgress=new we(void 0),this._stopped=!1,this._needsNewKey=!1,this._hasBackedUpAllKeys=!1}get hasStopped(){return this._stopped}get error(){return this._error}get version(){return this.backupInfo.version}get needsNewKey(){return this._needsNewKey}get hasBackedUpAllKeys(){return this._hasBackedUpAllKeys}async getRoomKey(e,t,s){const i=await this.hsApi.roomKeyForRoomAndSession(this.backupInfo.version,e,t,{log:s}).response();if(!i.session_data)return;const r=this.crypto.decryptRoomKey(i.session_data);if((r==null?void 0:r.algorithm)===ve)return _o(e,t,r);r!=null&&r.algorithm&&s.set("unknown algorithm",r.algorithm)}markAllForBackup(e){return e.inboundGroupSessions.markAllAsNotBackedUp()}flush(e){this.operationInProgress.get()||e.wrapDetached("flush key backup",async t=>{if(this._needsNewKey){t.set("needsNewKey",this._needsNewKey);return}this._stopped=!1,this._error=void 0,this._hasBackedUpAllKeys=!1;const s=this._runFlushOperation(t);this.operationInProgress.set(s);try{await s.result,this._hasBackedUpAllKeys=!0}catch(i){this._stopped=!0,i.name==="HomeServerError"&&(i.errcode==="M_WRONG_ROOM_KEYS_VERSION"||i.errcode==="M_NOT_FOUND")?(t.set("wrong_version",!0),this._needsNewKey=!0):(i.name!=="AbortError"||i.name==="StorageError"&&i.errcode==="AbortError")&&(this._error=i),t.catch(i)}this.operationInProgress.set(void 0)})}_runFlushOperation(e){return new Mn(async(t,s)=>{let i=0,r=0;for(;;){const o=this.platform.random()*this.maxDelay,a=this.platform.clock.createTimeout(o);t(a),await a.elapsed();const c=await this.storage.readTxn([P.inboundGroupSessions]);t(c),i=r+await c.inboundGroupSessions.countNonBackedUpSessions(),s(new Hr(i,r));const l=(await c.inboundGroupSessions.getFirstNonBackedUpSessions(Xh)).map(u=>new po(u));if(l.length===0){e.set("total",i);return}const h=await this.encodeKeysForBackup(l),d=this.hsApi.uploadRoomKeysToBackup(this.backupInfo.version,h,{log:e});t(d),await d.response(),await this.markKeysAsBackedUp(l,t),r+=l.length,s(new Hr(i,r))}})}async encodeKeysForBackup(e){const t={rooms:{}},s=t.rooms;for(const i of e){let r=s[i.roomId];r||(r=s[i.roomId]={sessions:{}}),r.sessions[i.sessionId]=await this.encodeRoomKey(i)}return t}async markKeysAsBackedUp(e,t){const s=await this.storage.readWriteTxn([P.inboundGroupSessions]);t(s);try{await Promise.all(e.map(i=>s.inboundGroupSessions.markAsBackedUp(i.roomId,i.senderKey,i.sessionId)))}catch(i){throw s.abort(),i}await s.complete()}async encodeRoomKey(e){return await this.keyLoader.useKey(e,t=>{const s=t.first_known_index(),i=t.export_session(s);return{first_message_index:s,forwarded_count:0,is_verified:!1,session_data:this.crypto.encryptRoomKey(e,i)}})}dispose(){this.crypto.dispose()}static async fromSecretStorage(e,t,s,i,r,o,a){const c=await s.readSecret("m.megolm_backup.v1",a);if(c){const l=new Uint8Array(e.encoding.base64.decode(c)),h=await i.roomKeysVersion().response();if(h.algorithm===Yh){const d=Bi.fromAuthData(h.auth_data,l,t);return new Ki(h,d,i,r,o,e)}else throw new Error(`Unknown backup algorithm: ${h.algorithm}`)}}}class Hr{constructor(e,t){this.total=e,this.finished=t}}class Zh{constructor({pickleKey:e,olm:t,account:s,keyLoader:i,storage:r,now:o,ownDeviceId:a}){this._pickleKey=e,this._olm=t,this._account=s,this._keyLoader=i,this._storage=r,this._now=o,this._ownDeviceId=a}discardOutboundSession(e,t){t.outboundGroupSessions.remove(e)}async createRoomKeyMessage(e,t){let s=await t.outboundGroupSessions.get(e);if(s){const i=new this._olm.OutboundGroupSession;try{return i.unpickle(this._pickleKey,s.session),this._createRoomKeyMessage(i,e)}finally{i.free()}}}createWithheldMessage(e,t,s){return{algorithm:e.algorithm,code:t,reason:s,room_id:e.room_id,sender_key:this._account.identityKeys.curve25519,session_id:e.session_id}}async ensureOutboundSession(e,t){let s=new this._olm.OutboundGroupSession;try{const i=await this._storage.readWriteTxn([this._storage.storeNames.inboundGroupSessions,this._storage.storeNames.outboundGroupSessions]);let r;try{let o=await i.outboundGroupSessions.get(e);r=await this._readOrCreateSession(s,o,e,t,i),r&&this._writeSession(this._now(),s,e,i)}catch(o){throw i.abort(),o}return await i.complete(),r}finally{s.free()}}async _readOrCreateSession(e,t,s,i,r){if(t&&e.unpickle(this._pickleKey,t.session),!t||this._needsToRotate(e,t.createdAt,i)){t&&(e.free(),e=new this._olm.OutboundGroupSession),e.create();const o=this._createRoomKeyMessage(e,s);return await new Wh(s,e,this._account.identityKeys).write(this._keyLoader,r),o}}_writeSession(e,t,s,i){i.outboundGroupSessions.set({roomId:s,session:t.pickle(this._pickleKey),createdAt:e})}async encrypt(e,t,s,i){let r=new this._olm.OutboundGroupSession;try{const o=await this._storage.readWriteTxn([this._storage.storeNames.inboundGroupSessions,this._storage.storeNames.outboundGroupSessions]);let a,c;try{let l=await o.outboundGroupSessions.get(e);a=await this._readOrCreateSession(r,l,e,i,o),c=this._encryptContent(e,r,t,s);const h=a?this._now():l.createdAt;this._writeSession(h,r,e,o)}catch(l){throw o.abort(),l}return await o.complete(),new ed(c,a)}finally{r&&r.free()}}_needsToRotate(e,t,s){let i=6048e5;Number.isSafeInteger(s==null?void 0:s.rotation_period_ms)&&(i=s==null?void 0:s.rotation_period_ms);let r=100;if(Number.isSafeInteger(s==null?void 0:s.rotation_period_msgs)&&(r=s==null?void 0:s.rotation_period_msgs),this._now()>t+i||e.message_index()>=r)return!0}_encryptContent(e,t,s,i){const r=JSON.stringify({room_id:e,type:s,content:i}),o=t.encrypt(r);return{algorithm:ve,sender_key:this._account.identityKeys.curve25519,ciphertext:o,session_id:t.session_id(),device_id:this._ownDeviceId}}_createRoomKeyMessage(e,t){return{room_id:t,session_id:e.session_id(),session_key:e.session_key(),algorithm:ve,chain_index:e.message_index()}}}class ed{constructor(e,t){this.content=e,this.roomKeyMessage=t}}class Wt{constructor(e,t,s,i){this._logger=s,this.start=s._now(),this._values=typeof e=="string"?{l:e}:e,this.logLevel=t,this._filterCreator=i}runDetached(e,t,s,i){return this._logger.runDetached(e,t,s,i)}wrapDetached(e,t,s,i){this.refDetached(this.runDetached(e,t,s,i))}refDetached(e,t){e.ensureRefId(),this.log({ref:e.values.refId},t)}ensureRefId(){this._values.refId||this.set("refId",this._logger._createRefId())}wrap(e,t,s,i){return this.child(e,s,i).run(t)}get duration(){if(this.end)return this.end-this.start}durationWithoutType(e){const t=this.durationOfType(e);if(this.duration&&t)return this.duration-t}durationOfType(e){return this._values.t===e?this.duration:this._children?this._children.reduce((t,s)=>{const i=s.durationOfType(e);return t+(i!=null?i:0)},0):0}log(e,t){const s=this.child(e,t);return s.end=s.start,s}set(e,t){if(typeof e=="object"){const s=e;Object.assign(this._values,s)}else this._values[e]=t;return this}serialize(e,t,s){if(this._filterCreator)try{e=this._filterCreator(new mi(e),this)}catch(o){console.error("Error creating log filter",o)}let i=null;if(this._children&&(i=this._children.reduce((o,a)=>{const c=a.serialize(e,this.start,!1);return c&&(o===null&&(o=[]),o.push(c)),o},null)),e&&!e.filter(this,i))return;const r={s:typeof t=="number"?this.start-t:this.start,d:this.duration,v:this._values,l:this.logLevel};return this.error&&(r.e={stack:this.error.stack,name:this.error.name,message:this.error.message.split(` +`)[0]}),s&&(r.f=!0),i&&(r.c=i),r}run(e){this.end!==void 0&&console.trace("log item is finished, additional logs will likely not be recorded");try{const t=e(this);return t instanceof Promise?t.then(s=>(this.finish(),s),s=>{throw this.catch(s)}):(this.finish(),t)}catch(t){throw this.catch(t)}}finish(){if(this.end===void 0){if(this._children)for(const e of this._children)e.finish();this.end=this._logger._now()}}get level(){return _e}catch(e){return this.error=e,this.logLevel=_e.Error,this.finish(),e}child(e,t,s){this.end&&console.trace("log item is finished, additional logs will likely not be recorded"),t||(t=this.logLevel||_e.Info);const i=new Wt(e,t,this._logger,s);return this._children||(this._children=[]),this._children.push(i),i}get logger(){return this._logger}get values(){return this._values}get children(){return this._children}}class go{constructor({platform:e,serializedTransformer:t=s=>s}){this._openItems=new Set,this._platform=e,this._serializedTransformer=t}log(e,t=_e.Info){const s=new Wt(e,t,this);s.end=s.start,this._persistItem(s,void 0,!1)}wrapOrRun(e,t,s,i,r){return e?e.wrap(t,s,i,r):this.run(t,s,i,r)}runDetached(e,t,s,i){s||(s=_e.Info);const r=new Wt(e,s,this);return this._run(r,t,s,!1,i),r}run(e,t,s,i){s===void 0&&(s=_e.Info);const r=new Wt(e,s,this);return this._run(r,t,s,!0,i)}_run(e,t,s,i,r){this._openItems.add(e);const o=()=>{let a=new mi;if(r)try{a=r(a,e)}catch(c){console.error("Error while creating log filter",c)}else a=a.minLevel(s);try{this._persistItem(e,a,!1)}catch(c){console.error("Could not persist log item",c)}this._openItems.delete(e)};try{let a=e.run(t);if(a instanceof Promise){if(a=a.then(c=>(o(),c),c=>{if(o(),i)throw c}),i)return a}else if(o(),i)return a}catch(a){if(o(),i)throw a}}_finishOpenItems(){for(const e of this._openItems){e.finish();try{this._persistItem(e,new mi,!0)}catch(t){console.error("Could not serialize log item",t)}}this._openItems.clear()}get level(){return _e}_now(){return this._platform.clock.now()}_createRefId(){return Math.round(this._platform.random()*Number.MAX_SAFE_INTEGER)}}class td extends go{_persistItem(e){yo(e)}async export(){}}const sd=["l","id"];function id(n){return Object.entries(n).filter(([e])=>!sd.includes(e)).reduce((e,[t,s])=>(e=e||{},e[t]=s,e),null)}function yo(n){const e=`${rd(n)} (${n.duration}ms)`,t=id(n.values),s=n.children||t;if(s?(n.error?console.group(e):console.groupCollapsed(e),n.error&&console.error(n.error)):n.error?console.error(n.error):console.log(e),t&&console.table(t),n.children)for(const i of n.children)yo(i);s&&console.groupEnd()}function rd(n){return n.values.t==="network"?`${n.values.method} ${n.values.url}`:n.values.l&&typeof n.values.id!="undefined"?`${n.values.l} ${n.values.id}`:n.values.l&&typeof n.values.status!="undefined"?`${n.values.l} (${n.values.status})`:n.values.l&&n.error?`${n.values.l} failed`:typeof n.values.ref!="undefined"?`ref ${n.values.ref}`:n.values.l||n.values.type}const zr="m.room.encrypted",Gr="m.room.history_visibility",nd=60*1e3;class od{constructor({room:e,deviceTracker:t,olmEncryption:s,megolmEncryption:i,megolmDecryption:r,encryptionParams:o,storage:a,keyBackup:c,notifyMissingMegolmSession:l,clock:h}){this._room=e,this._deviceTracker=t,this._olmEncryption=s,this._megolmEncryption=i,this._megolmDecryption=r,this._encryptionParams=o,this._senderDeviceCache=new Map,this._storage=a,this._keyBackup=c,this._notifyMissingMegolmSession=l,this._clock=h,this._isFlushingRoomKeyShares=!1,this._lastKeyPreShareTime=null,this._keySharePromise=null,this._historyVisibility=void 0,this._disposed=!1}enableKeyBackup(e){this._keyBackup&&!!e||(this._keyBackup=e)}async restoreMissingSessionsFromBackup(e,t){const s=e.filter(h=>h.isEncrypted&&!h.isDecrypted&&h.event).map(h=>h.event),i=gi(s),r=Array.from(i.values()),o=await this._storage.readTxn([this._storage.storeNames.inboundGroupSessions]),a=await Promise.all(r.map(async h=>this._megolmDecryption.hasSession(this._room.id,h.senderKey,h.sessionId,o))),c=r.filter((h,d)=>!a[d]);if(c.length)for(var l=c.length-1;l>=0;l--){const h=c[l];await t.wrap("session",d=>this._requestMissingSessionFromBackup(h.senderKey,h.sessionId,d))}}notifyTimelineClosed(){this._senderDeviceCache=new Map}async writeSync(e,t,s,i){let r=await this._loadHistoryVisibilityIfNeeded(this._historyVisibility,s);const o=[],a=[];if(await ja(e,l=>{var h;if(l.state_key===""&&l.type===Gr){const d=(h=l==null?void 0:l.content)==null?void 0:h.history_visibility;if(d!==r)return i.wrap({l:"history_visibility changed",from:r,to:d},async u=>{r=d;const p=await this._deviceTracker.writeHistoryVisibility(this._room,r,s,u);o.push(...p.added),a.push(...p.removed)})}}),t.size){const l=await this._deviceTracker.writeMemberChanges(this._room,t,r,s);o.push(...l.added),a.push(...l.removed)}a.length&&(i.log({l:"discardOutboundSession",leftUsers:a}),this._megolmEncryption.discardOutboundSession(this._room.id,s));let c=!1;return o.length&&(c=await this._addShareRoomKeyOperationForMembers(o,s,i)),{shouldFlush:c,historyVisibility:r}}afterSync({historyVisibility:e}){this._historyVisibility=e}async _loadHistoryVisibilityIfNeeded(e,t=void 0){var s,i;if(!e){t||(t=await this._storage.readTxn([this._storage.storeNames.roomState]));const r=await t.roomState.get(this._room.id,Gr,"");if(r)return(i=(s=r.event)==null?void 0:s.content)==null?void 0:i.history_visibility}return e}async prepareDecryptAll(e,t,s,i){var c,l,h;const r=new Map,o=[];for(const d of e)d.redacted_because||((c=d.unsigned)==null?void 0:c.redacted_because)||(((l=d.content)==null?void 0:l.algorithm)!==ve&&r.set(d.event_id,new Error("Unsupported algorithm: "+((h=d.content)==null?void 0:h.algorithm))),o.push(d));const a=await this._megolmDecryption.prepareDecryptAll(this._room.id,o,t,i);return new ad(a,r,s,this,e)}async _processDecryptionResults(e,t,s,i,r,o){const a=e.filter(l=>{const h=s.get(l.event_id);return(h==null?void 0:h.code)==="MEGOLM_NO_SESSION"});if(!a.length)return;const c=gi(a);i===st.Sync&&await Promise.all(Array.from(c.values()).map(async l=>{const h=l.events.map(d=>d.event_id);return this._megolmDecryption.addMissingKeyEventIds(this._room.id,l.senderKey,l.sessionId,h,r)})),this._keyBackup&&o.wrapDetached("check key backup",async l=>{if(l.set("source",i),l.set("events",a.length),l.set("sessions",c.size),i===st.Sync){if(await this._clock.createTimeout(1e4).elapsed(),this._disposed)return;const h=await this._storage.readTxn([this._storage.storeNames.inboundGroupSessions]);await Promise.all(Array.from(c).map(async([d,u])=>{await this._megolmDecryption.hasSession(this._room.id,u.senderKey,u.sessionId,h)&&c.delete(d)}))}await Promise.all(Array.from(c.values()).map(h=>l.wrap("session",d=>this._requestMissingSessionFromBackup(h.senderKey,h.sessionId,d))))})}async _verifyDecryptionResult(e,t){let s=this._senderDeviceCache.get(e.senderCurve25519Key);s||(s=await this._deviceTracker.getDeviceByCurve25519Key(e.senderCurve25519Key,t),this._senderDeviceCache.set(e.senderCurve25519Key,s)),s?e.setDevice(s):this._room.isTrackingMembers||e.setRoomNotTrackedYet()}async _requestMissingSessionFromBackup(e,t,s){if(!this._keyBackup){s.set("enabled",!1),this._notifyMissingMegolmSession();return}s.set("id",t),s.set("senderKey",e);try{const i=await this._keyBackup.getRoomKey(this._room.id,t,s);if(i){if(i.senderKey!==e){s.set("wrong_sender_key",i.senderKey),s.logLevel=s.level.Warn;return}let r=!1,o;const a=await this._storage.readWriteTxn([this._storage.storeNames.inboundGroupSessions]);try{r=await this._megolmDecryption.writeRoomKey(i,a),s.set("isBetter",r),r&&(o=i.eventIds)}catch(c){throw a.abort(),c}await a.complete(),r&&await s.wrap("retryDecryption",c=>this._room.notifyRoomKey(i,o||[],c))}}catch(i){i.name==="HomeServerError"&&i.errcode==="M_NOT_FOUND"?(s.error=i,s.logLevel=s.level.Error):s.set("not_found",!0)}}getEventIdsForMissingKey(e,t){return this._megolmDecryption.getEventIdsForMissingKey(this._room.id,e.senderKey,e.sessionId,t)}async ensureMessageKeyIsShared(e,t){var s;if(!(((s=this._lastKeyPreShareTime)==null?void 0:s.measure()){var r;const i=await this._megolmEncryption.ensureOutboundSession(this._room.id,this._encryptionParams);i&&((r=this._keyBackup)==null||r.flush(t),await t.wrap("share key",o=>this._shareNewRoomKey(i,e,o)))})(),await this._keySharePromise}finally{this._keySharePromise=null}}}async encrypt(e,t,s,i){var o;this._keySharePromise&&(i.set("waitForRunningKeyShare",!0),await this._keySharePromise);const r=await i.wrap("megolm encrypt",()=>this._megolmEncryption.encrypt(this._room.id,e,t,this._encryptionParams));return r.roomKeyMessage&&((o=this._keyBackup)==null||o.flush(i),await i.wrap("share key",a=>this._shareNewRoomKey(r.roomKeyMessage,s,a))),{type:zr,content:r.content}}needsToShareKeys(e){for(const t of e.values())if(t.hasJoined)return!0;return!1}async _shareNewRoomKey(e,t,s){this._historyVisibility=await this._loadHistoryVisibilityIfNeeded(this._historyVisibility),await this._deviceTracker.trackRoom(this._room,this._historyVisibility,s);const i=await this._deviceTracker.devicesForTrackedRoom(this._room.id,t,s),r=Array.from(i.reduce((c,l)=>c.add(l.userId),new Set));let o=await this._storage.readWriteTxn([this._storage.storeNames.operations]),a;try{a=this._writeRoomKeyShareOperation(e,r,o)}catch(c){throw o.abort(),c}await this._processShareRoomKeyOperation(a,t,s)}async _addShareRoomKeyOperationForMembers(e,t,s){const i=await this._megolmEncryption.createRoomKeyMessage(this._room.id,t);return i?(s.log({l:"share key for new members",userIds:e,id:i.session_id,chain_index:i.chain_index}),this._writeRoomKeyShareOperation(i,e,t),!0):!1}async flushPendingRoomKeyShares(e,t,s){if(!this._isFlushingRoomKeyShares){this._isFlushingRoomKeyShares=!0;try{t||(t=await(await this._storage.readTxn([this._storage.storeNames.operations])).operations.getAllByTypeAndScope("share_room_key",this._room.id));for(const i of t)i.type==="share_room_key"&&await s.wrap("operation",r=>this._processShareRoomKeyOperation(i,e,r))}finally{this._isFlushingRoomKeyShares=!1}}}_writeRoomKeyShareOperation(e,t,s){const r={id:Math.floor(Math.random()*Number.MAX_SAFE_INTEGER).toString(),type:"share_room_key",scope:this._room.id,userIds:t,roomKeyMessage:e};return s.operations.add(r),r}async _processShareRoomKeyOperation(e,t,s){s.set("id",e.id),this._historyVisibility=await this._loadHistoryVisibilityIfNeeded(this._historyVisibility),await this._deviceTracker.trackRoom(this._room,this._historyVisibility,s);const i=await this._deviceTracker.devicesForRoomMembers(this._room.id,e.userIds,t,s),r=await s.wrap("olm encrypt",a=>this._olmEncryption.encrypt("m.room_key",e.roomKeyMessage,i,t,a)),o=i.filter(a=>!r.some(c=>c.device===a));await s.wrap("send",a=>this._sendMessagesToDevices(zr,r,t,a)),o.length&&await s.wrap("missingDevices",async a=>{a.set("devices",o.map(h=>h.deviceId));const c=e.userIds.filter(h=>o.some(d=>d.userId===h));a.set("unsentUserIds",c),e.userIds=c,await this._updateOperationsStore(h=>h.update(e));const l=this._megolmEncryption.createWithheldMessage(e.roomKeyMessage,"m.no_olm","OTKs exhausted");await this._sendSharedMessageToDevices("org.matrix.room_key.withheld",l,o,t,a)}),await this._updateOperationsStore(a=>a.remove(e.id))}async _updateOperationsStore(e){const t=await this._storage.readWriteTxn([this._storage.storeNames.operations]);try{e(t.operations)}catch(s){throw t.abort(),s}await t.complete()}async _sendSharedMessageToDevices(e,t,s,i,r){const o=bt(s,l=>l.userId),a={messages:Array.from(o.entries()).reduce((l,[h,d])=>(l[h]=d.reduce((u,p)=>(u[p.deviceId]=t,u),{}),l),{})},c=Ms();await i.sendToDevice(e,a,c,{log:r}).response()}async _sendMessagesToDevices(e,t,s,i){i.set("messages",t.length);const r=bt(t,c=>c.device.userId),o={messages:Array.from(r.entries()).reduce((c,[l,h])=>(c[l]=h.reduce((d,u)=>(d[u.device.deviceId]=u.content,d),{}),c),{})},a=Ms();await s.sendToDevice(e,o,a,{log:i}).response()}filterUndecryptedEventEntriesForKeys(e,t){return e.filter(s=>{var i,r;if(s.isEncrypted&&!s.isDecrypted){const{event:o}=s;if(o){const a=(i=o.content)==null?void 0:i.sender_key,c=(r=o.content)==null?void 0:r.session_id;return t.some(l=>a===l.senderKey&&c===l.sessionId)}}return!1})}dispose(){this._disposed=!0}}class ad{constructor(e,t,s,i,r){this._megolmDecryptionPreparation=e,this._extraErrors=t,this._source=s,this._roomEncryption=i,this._events=r}async decrypt(){return new cd(await this._megolmDecryptionPreparation.decrypt(),this._extraErrors,this._source,this._roomEncryption,this._events)}dispose(){this._megolmDecryptionPreparation.dispose()}}class cd{constructor(e,t,s,i,r){this._megolmDecryptionChanges=e,this._extraErrors=t,this._source=s,this._roomEncryption=i,this._events=r}async write(e,t){const{results:s,errors:i}=await this._megolmDecryptionChanges.write(e);return fi(this._extraErrors,i),await this._roomEncryption._processDecryptionResults(this._events,s,i,this._source,e,t),new ld(s,i,this._roomEncryption)}}class ld{constructor(e,t,s){this.results=e,this.errors=t,this._roomEncryption=s}applyToEntries(e){for(const t of e){const s=this.results.get(t.id);if(s)t.setDecryptionResult(s);else{const i=this.errors.get(t.id);i&&t.setDecryptionError(i)}}}verifySenders(e){return Promise.all(Array.from(this.results.values()).map(t=>this._roomEncryption._verifyDecryptionResult(t,e)))}}const yi=0,Jr=1;function hd(n,e,t){if(n){if(!n.roomIds.includes(t))return n.roomIds.push(t),n}else return n={userId:e,roomIds:[t],deviceTrackingStatus:yi},n}function dd(n){var s;const e=n.device_id;return{userId:n.user_id,deviceId:e,ed25519Key:n.keys[`ed25519:${e}`],curve25519Key:n.keys[`curve25519:${e}`],algorithms:n.algorithms,displayName:(s=n.unsigned)==null?void 0:s.device_display_name}}class ud{constructor({storage:e,getSyncToken:t,olmUtil:s,ownUserId:i,ownDeviceId:r}){this._storage=e,this._getSyncToken=t,this._identityChangedForRoom=null,this._olmUtil=s,this._ownUserId=i,this._ownDeviceId=r}async writeDeviceChanges(e,t,s){const{userIdentities:i}=t;s.set("changed",e.length),await Promise.all(e.map(async r=>{const o=await i.get(r);o&&(s.log({l:"outdated",id:r}),o.deviceTrackingStatus=yi,i.set(o))}))}async writeMemberChanges(e,t,s,i){const r=[],o=[];return await Promise.all(Array.from(t.values()).map(async a=>{if(us(a.membership,s))await this._addRoomToUserIdentity(a.roomId,a.userId,i)&&r.push(a.userId);else if(us(a.previousMembership,s)){const{roomId:c}=a;if(a.userId===this._ownUserId){const l=await i.roomMembers.getAllUserIds(c);await Promise.all(l.map(h=>this._removeRoomFromUserIdentity(c,h,i)))}else await this._removeRoomFromUserIdentity(c,a.userId,i);o.push(a.userId)}})),{added:r,removed:o}}async trackRoom(e,t,s){if(e.isTrackingMembers||!e.isEncrypted)return;const i=await e.loadMemberList(void 0,s),r=await this._storage.readWriteTxn([this._storage.storeNames.roomSummary,this._storage.storeNames.userIdentities]);try{let o;try{o=e.writeIsTrackingMembers(!0,r);const a=Array.from(i.members.values());s.set("members",a.length),await Promise.all(a.map(async c=>{us(c.membership,t)&&await this._addRoomToUserIdentity(c.roomId,c.userId,r)}))}catch(a){throw r.abort(),a}await r.complete(),e.applyIsTrackingMembersChanges(o)}finally{i.release()}}async writeHistoryVisibility(e,t,s,i){const r=[],o=[];return e.isTrackingMembers&&e.isEncrypted&&await i.wrap("rewriting userIdentities",async a=>{const c=await e.loadMemberList(s,a);try{const l=Array.from(c.members.values());a.set("members",l.length),await Promise.all(l.map(async h=>{us(h.membership,t)?await this._addRoomToUserIdentity(h.roomId,h.userId,s)&&r.push(h.userId):await this._removeRoomFromUserIdentity(h.roomId,h.userId,s)&&o.push(h.userId)}))}finally{c.release()}}),{added:r,removed:o}}async _addRoomToUserIdentity(e,t,s){const{userIdentities:i}=s,r=await i.get(t),o=hd(r,t,e);return o?(i.set(o),!0):!1}async _removeRoomFromUserIdentity(e,t,s){const{userIdentities:i,deviceIdentities:r}=s,o=await i.get(t);return o?(o.roomIds=o.roomIds.filter(a=>a!==e),o.roomIds.length===0?(i.remove(t),r.removeAllForUser(t)):i.set(o),!0):!1}async _queryKeys(e,t,s){const i=await t.queryKeys({timeout:1e4,device_keys:e.reduce((c,l)=>(c[l]=[],c),{}),token:this._getSyncToken()},{log:s}).response(),r=s.wrap("verify",c=>this._filterVerifiedDeviceKeys(i.device_keys,c)),o=await this._storage.readWriteTxn([this._storage.storeNames.userIdentities,this._storage.storeNames.deviceIdentities]);let a;try{a=(await Promise.all(r.map(async({userId:l,verifiedKeys:h})=>{const d=h.map(dd);return await this._storeQueriedDevicesForUserId(l,d,o)}))).reduce((l,h)=>l.concat(h),[]),s.set("devices",a.length)}catch(c){throw o.abort(),c}return await o.complete(),a}async _storeQueriedDevicesForUserId(e,t,s){const i=await s.deviceIdentities.getAllDeviceIds(e);for(const c of i)t.every(l=>l.deviceId!==c)&&s.deviceIdentities.remove(e,c);const r=[],o=[];await Promise.all(t.map(async c=>{if(i.includes(c.deviceId)){const l=await s.deviceIdentities.get(c.userId,c.deviceId);if(l.ed25519Key!==c.ed25519Key){r.push(l);return}}r.push(c),o.push(c)}));for(const c of o)s.deviceIdentities.set(c);const a=await s.userIdentities.get(e);return a.deviceTrackingStatus=Jr,s.userIdentities.set(a),r}_filterVerifiedDeviceKeys(e,t){const s=new Set;return Object.entries(e).map(([r,o])=>{const c=Object.entries(o).filter(([l,h])=>{var b,S;const d=h.device_id;if(h.user_id!==r||d!==l)return!1;const p=(b=h.keys)==null?void 0:b[`ed25519:${l}`],_=(S=h.keys)==null?void 0:S[`curve25519:${l}`];if(typeof p!="string"||typeof _!="string")return!1;if(s.has(_))return t.log({l:"ignore device with duplicate curve25519 key",keys:h},t.level.Warn),!1;s.add(_);const f=this._hasValidSignature(h,t);return f||t.log({l:"ignore device with invalid signature",keys:h},t.level.Warn),f}).map(([,l])=>l);return{userId:r,verifiedKeys:c}})}_hasValidSignature(e,t){var o;const s=e.device_id,i=e.user_id,r=(o=e==null?void 0:e.keys)==null?void 0:o[`${Pn}:${s}`];return Un(this._olmUtil,i,s,r,e,t)}async devicesForTrackedRoom(e,t,s){const i=await this._storage.readTxn([this._storage.storeNames.roomMembers,this._storage.storeNames.userIdentities]),r=await i.roomMembers.getAllUserIds(e);return await this._devicesForUserIds(e,r,i,t,s)}async devicesForRoomMembers(e,t,s,i){const r=await this._storage.readTxn([this._storage.storeNames.userIdentities]);return await this._devicesForUserIds(e,t,r,s,i)}async _devicesForUserIds(e,t,s,i,r){const a=(await Promise.all(t.map(f=>s.userIdentities.get(f)))).filter(f=>f&&f.roomIds.includes(e)),c=a.filter(f=>f.deviceTrackingStatus===Jr),l=a.filter(f=>f.deviceTrackingStatus===yi);r.set("uptodate",c.length),r.set("outdated",l.length);let h;l.length&&(h=await this._queryKeys(l.map(f=>f.userId),i,r));const d=await this._storage.readTxn([this._storage.storeNames.deviceIdentities]);let p=(await Promise.all(c.map(f=>d.deviceIdentities.getAllForUserId(f.userId)))).reduce((f,b)=>f.concat(b),[]);return h&&h.length&&(p=p.concat(h)),p.filter(f=>!(f.userId===this._ownUserId&&f.deviceId===this._ownDeviceId))}async getDeviceByCurve25519Key(e,t){return await t.deviceIdentities.getByCurve25519Key(e)}}class md{constructor(){this._map=new Map}async takeLock(e){let t=this._map.get(e);return t?await t.take():(t=new Mh,t.tryTake(),this._map.set(e,t)),t.released().then(()=>{Promise.resolve().then(()=>{t.isTaken||this._map.delete(e)})}),t}}class pd{constructor({key:e,platform:t}){this._key=e,this._platform=t}async readSecret(e,t){var r,o;const s=await t.accountData.get(e);if(!s)return;const i=(o=(r=s==null?void 0:s.content)==null?void 0:r.encrypted)==null?void 0:o[this._key.id];if(!i)throw new Error(`Secret ${s.type} is not encrypted for key ${this._key.id}`);if(this._key.algorithm==="m.secret_storage.v1.aes-hmac-sha2")return await this._decryptAESSecret(s.type,i);throw new Error(`Unsupported algorithm for key ${this._key.id}: ${this._key.algorithm}`)}async _decryptAESSecret(e,t){const{base64:s,utf8:i}=this._platform.encoding,r=await this._platform.crypto.derive.hkdf(this._key.binaryKey,new Uint8Array(8).buffer,i.encode(e),"SHA-256",512),o=r.slice(0,32),a=r.slice(32),c=s.decode(t.ciphertext);if(!await this._platform.crypto.hmac.verify(a,s.decode(t.mac),c,"SHA-256"))throw new Error("Bad MAC");const h=await this._platform.crypto.aes.decryptCTR({key:o,iv:s.decode(t.iv),data:c});return i.decode(h)}}const Xe="DEFAULT_KEY",Vt="pusher";class _d{constructor({storage:e,hsApi:t,sessionInfo:s,olm:i,olmWorker:r,platform:o,mediaRepository:a}){this._platform=o,this._storage=e,this._hsApi=t,this._mediaRepository=a,this._syncInfo=null,this._sessionInfo=s,this._rooms=new qt,this._roomUpdateCallback=(c,l)=>this._rooms.update(c.id,l),this._activeArchivedRooms=new Map,this._invites=new qt,this._inviteUpdateCallback=(c,l)=>this._invites.update(c.id,l),this._roomsBeingCreatedUpdateCallback=(c,l)=>{c.isCancelled?this._roomsBeingCreated.remove(c.id):this._roomsBeingCreated.update(c.id,l)},this._roomsBeingCreated=new qt,this._user=new Bl(s.userId),this._deviceMessageHandler=new mh({storage:e}),this._olm=i,this._olmUtil=null,this._e2eeAccount=null,this._deviceTracker=null,this._olmEncryption=null,this._keyLoader=null,this._megolmEncryption=null,this._megolmDecryption=null,this._getSyncToken=()=>this.syncToken,this._olmWorker=r,this._keyBackup=new we(void 0),this._observedRoomStatus=new Map,i&&(this._olmUtil=new i.Utility,this._deviceTracker=new ud({storage:e,getSyncToken:this._getSyncToken,olmUtil:this._olmUtil,ownUserId:s.userId,ownDeviceId:s.deviceId})),this._createRoomEncryption=this._createRoomEncryption.bind(this),this._forgetArchivedRoom=this._forgetArchivedRoom.bind(this),this.needsKeyBackup=new we(!1)}get fingerprintKey(){var e;return(e=this._e2eeAccount)==null?void 0:e.identityKeys.ed25519}get hasSecretStorageKey(){return this._hasSecretStorageKey}get deviceId(){return this._sessionInfo.deviceId}get userId(){return this._sessionInfo.userId}_setupEncryption(){const e=new md,t=new xh(this._e2eeAccount,Xe,this._platform.clock.now,this._user.id,this._olm,e);this._olmEncryption=new Lh(this._e2eeAccount,Xe,this._olm,this._storage,this._platform.clock.now,this._user.id,this._olmUtil,e),this._keyLoader=new Jh(this._olm,Xe,20),this._megolmEncryption=new Zh({account:this._e2eeAccount,pickleKey:Xe,olm:this._olm,storage:this._storage,keyLoader:this._keyLoader,now:this._platform.clock.now,ownDeviceId:this._sessionInfo.deviceId}),this._megolmDecryption=new Gh(this._keyLoader,this._olmWorker),this._deviceMessageHandler.enableEncryption({olmDecryption:t,megolmDecryption:this._megolmDecryption})}_createRoomEncryption(e,t){var s;if(!this._olmEncryption)throw new Error("creating room encryption before encryption got globally enabled");return t.algorithm!==ve?null:new od({room:e,deviceTracker:this._deviceTracker,olmEncryption:this._olmEncryption,megolmEncryption:this._megolmEncryption,megolmDecryption:this._megolmDecryption,storage:this._storage,keyBackup:(s=this._keyBackup)==null?void 0:s.get(),encryptionParams:t,notifyMissingMegolmSession:()=>{this._keyBackup.get()||this.needsKeyBackup.set(!0)},clock:this._platform.clock})}enableSecretStorage(e,t,s=void 0){return this._platform.logger.wrapOrRun(s,"enable secret storage",async i=>{if(!this._olm)throw new Error("olm required");this._keyBackup.get()&&(this._keyBackup.get().dispose(),this._keyBackup.set(null));const r=await Ih(e,t,this._storage,this._platform,this._olm),o=await this._storage.readTxn([this._storage.storeNames.accountData]);if(await this._createKeyBackup(r,o,i))return await this._writeSSSSKey(r,i),this._keyBackup.get().flush(i),r;throw new Error("Could not read key backup with the given key")})}async _writeSSSSKey(e,t){const s=this._keyBackup.get();if(!s)return;const i=s.version,r=await this._storage.readWriteTxn([this._storage.storeNames.session,this._storage.storeNames.inboundGroupSessions]);try{const o=await vh(e,i,r);if(t.set("previousBackupVersion",o),t.set("backupVersion",i),!!o&&o!==i){const a=await s.markAllForBackup(r);t.set("amountMarkedForBackup",a)}}catch(o){throw r.abort(),o}await r.complete()}async disableSecretStorage(){const e=await this._storage.readWriteTxn([this._storage.storeNames.session]);try{Sh(e)}catch(t){throw e.abort(),t}if(await e.complete(),this._keyBackup.get()){for(const t of this._rooms.values())t.isEncrypted&&t.enableKeyBackup(void 0);this._keyBackup.get().dispose(),this._keyBackup.set(null)}}_createKeyBackup(e,t,s){return s.wrap("enable key backup",async i=>{try{const r=new pd({key:e,platform:this._platform}),o=await Ki.fromSecretStorage(this._platform,this._olm,r,this._hsApi,this._keyLoader,this._storage,t);if(o){for(const a of this._rooms.values())a.isEncrypted&&a.enableKeyBackup(o);return this._keyBackup.set(o),!0}}catch(r){i.catch(r)}return!1})}get keyBackup(){return this._keyBackup}get hasIdentity(){return!!this._e2eeAccount}async createIdentity(e){this._olm&&(this._e2eeAccount||(this._e2eeAccount=await this._createNewAccount(this._sessionInfo.deviceId,this._storage),e.set("keys",this._e2eeAccount.identityKeys),this._setupEncryption()),await this._e2eeAccount.generateOTKsIfNeeded(this._storage,e),await e.wrap("uploadKeys",t=>this._e2eeAccount.uploadKeys(this._storage,!1,t)))}async dehydrateIdentity(e,t){return t.set("deviceId",e.deviceId),this._olm?e.deviceId!==this.deviceId?(t.set("wrong_device",!0),!1):this._e2eeAccount?(t.set("account_already_setup",!0),!1):await e.claim(this._hsApi,t)?(this._e2eeAccount=await rt.adoptDehydratedDevice({dehydratedDevice:e,hsApi:this._hsApi,olm:this._olm,pickleKey:Xe,userId:this._sessionInfo.userId,olmWorker:this._olmWorker,deviceId:this.deviceId,storage:this._storage}),t.set("keys",this._e2eeAccount.identityKeys),this._setupEncryption(),!0):(t.set("already_claimed",!0),!1):(t.set("no_olm",!0),!1)}_createNewAccount(e,t=void 0){return rt.create({hsApi:this._hsApi,olm:this._olm,pickleKey:Xe,userId:this._sessionInfo.userId,olmWorker:this._olmWorker,deviceId:e,storage:t})}setupDehydratedDevice(e,t=null){return this._platform.logger.wrapOrRun(t,"setupDehydratedDevice",async s=>{const i=await this._createNewAccount("temp-device-id");try{const r=await Rh(i,this._hsApi,e,"Dehydrated device",s);return s.set("deviceId",r),r}finally{i.dispose()}})}async load(e){const t=await this._storage.readTxn([this._storage.storeNames.session,this._storage.storeNames.roomSummary,this._storage.storeNames.invites,this._storage.storeNames.roomMembers,this._storage.storeNames.timelineEvents,this._storage.storeNames.timelineFragments,this._storage.storeNames.pendingEvents]);this._syncInfo=await t.session.get("sync"),this._olm&&(this._e2eeAccount=await rt.load({hsApi:this._hsApi,olm:this._olm,pickleKey:Xe,userId:this._sessionInfo.userId,deviceId:this._sessionInfo.deviceId,olmWorker:this._olmWorker,txn:t}),this._e2eeAccount&&(e.set("keys",this._e2eeAccount.identityKeys),this._setupEncryption()));const s=await this._getPendingEventsByRoom(t),i=await t.invites.getAll(),r=Promise.all(i.map(async c=>{const l=this.createInvite(c.roomId);e.wrap("invite",h=>l.load(c,h)),this._invites.add(l.id,l)})),o=await t.roomSummary.getAll(),a=Promise.all(o.map(async c=>{const l=this.createJoinedRoom(c.roomId,s.get(c.roomId));await e.wrap("room",h=>l.load(c,t,h)),this._rooms.add(l.id,l)}));await Promise.all([r,a]);for(const[c,l]of this.invites){const h=this.rooms.get(c);h&&h.setInvite(l)}}dispose(){var e,t,s,i;(e=this._olmWorker)==null||e.dispose(),this._olmWorker=void 0,(t=this._keyBackup.get())==null||t.dispose(),this._keyBackup.set(void 0),(s=this._megolmDecryption)==null||s.dispose(),this._megolmDecryption=void 0,(i=this._e2eeAccount)==null||i.dispose(),this._e2eeAccount=void 0;for(const r of this._rooms.values())r.dispose();this._rooms=void 0}async start(e,t,s){var a;if(e){const c=await this._storage.readWriteTxn([this._storage.storeNames.session]);c.session.set("serverVersions",e),await c.complete()}if(!this._keyBackup.get()){t&&await s.wrap("SSSSKeyFromDehydratedDeviceKey",async h=>{const d=await Eh(t.key,this._storage,this._platform);d&&(h.set("success",!0),await this._writeSSSSKey(d))});const c=await this._storage.readTxn([this._storage.storeNames.session,this._storage.storeNames.accountData]),l=await bh(c);l&&await this._createKeyBackup(l,c,s)&&((a=this._keyBackup.get())==null||a.flush(s)),this._keyBackup.get()||this._keyBackup.set(null)}const r=await(await this._storage.readWriteTxn([this._storage.storeNames.operations])).operations.getAll(),o=bt(r,c=>c.scope);for(const c of this._rooms.values()){let l;const h=o.get(c.id);h&&(l=bt(h,d=>d.type)),c.start(l,s)}}async _getPendingEventsByRoom(e){return(await e.pendingEvents.getAll()).reduce((s,i)=>{const r=s.get(i.roomId);return r?r.push(i):s.set(i.roomId,[i]),s},new Map)}get rooms(){return this._rooms}findDirectMessageForUserId(e){for(const[,t]of this._rooms)if(t.isDirectMessageForUserId(e))return t;for(const[,t]of this._invites)if(t.isDirectMessageForUserId(e))return t}createJoinedRoom(e,t){return new ih({roomId:e,getSyncToken:this._getSyncToken,storage:this._storage,emitCollectionChange:this._roomUpdateCallback,hsApi:this._hsApi,mediaRepository:this._mediaRepository,pendingEvents:t,user:this._user,createRoomEncryption:this._createRoomEncryption,platform:this._platform})}_createArchivedRoom(e){const t=new rh({roomId:e,getSyncToken:this._getSyncToken,storage:this._storage,emitCollectionChange:()=>{},releaseCallback:()=>this._activeArchivedRooms.delete(e),forgetCallback:this._forgetArchivedRoom,hsApi:this._hsApi,mediaRepository:this._mediaRepository,user:this._user,createRoomEncryption:this._createRoomEncryption,platform:this._platform});return this._activeArchivedRooms.set(e,t),t}get invites(){return this._invites}createInvite(e){return new uh({roomId:e,hsApi:this._hsApi,emitCollectionUpdate:this._inviteUpdateCallback,mediaRepository:this._mediaRepository,user:this._user,platform:this._platform})}get roomsBeingCreated(){return this._roomsBeingCreated}createRoom(e){let t;return this._platform.logger.runDetached("create room",async s=>{const i=`local-${Math.floor(this._platform.random()*Number.MAX_SAFE_INTEGER)}`;t=new dh(i,e,this._roomsBeingCreatedUpdateCallback,this._mediaRepository,this._platform,s),this._roomsBeingCreated.set(i,t);const r=[t.create(this._hsApi,s)];e.loadProfiles!==!1&&r.push(t.loadProfiles(this._hsApi,s)),await Promise.all(r),t.roomId&&(this.rooms.get(t.roomId)&&this._tryReplaceRoomBeingCreated(t.roomId,s),await t.adjustDirectMessageMapIfNeeded(this._user,this._storage,this._hsApi,s))}),t}async obtainSyncLock(e){var s;const t=(s=e.to_device)==null?void 0:s.events;if(Array.isArray(t)&&t.length)return await this._deviceMessageHandler.obtainSyncLock(t)}async prepareSync(e,t,s,i){var o;const r=(o=e.to_device)==null?void 0:o.events;if(Array.isArray(r)&&r.length)return await i.wrap("deviceMsgs",a=>this._deviceMessageHandler.prepareSync(r,t,s,a))}async writeSync(e,t,s,i,r){const o={syncInfo:null,e2eeAccountChanges:null},a=e.next_batch;if(a!==this.syncToken){const d={token:a,filterId:t};i.session.set("sync",d),o.syncInfo=d}const c=e.device_one_time_keys_count;this._e2eeAccount&&c&&(o.e2eeAccountChanges=this._e2eeAccount.writeSync(c,i,r));const l=e.device_lists;this._deviceTracker&&Array.isArray(l==null?void 0:l.changed)&&l.changed.length&&await r.wrap("deviceLists",d=>this._deviceTracker.writeDeviceChanges(l.changed,i,d)),s&&(o.hasNewRoomKeys=await r.wrap("deviceMsgs",d=>this._deviceMessageHandler.writeSync(s,i,d)));const h=e.account_data;if(Array.isArray(h==null?void 0:h.events))for(const d of h.events)typeof d.type=="string"&&i.accountData.set(d);return o}afterSync({syncInfo:e,e2eeAccountChanges:t}){e&&(this._syncInfo=e),this._e2eeAccount&&this._e2eeAccount.afterSync(t)}async afterSyncCompleted(e,t,s){var i;t||await this._e2eeAccount.generateOTKsIfNeeded(this._storage,s)&&await s.wrap("uploadKeys",o=>this._e2eeAccount.uploadKeys(this._storage,!1,o)),e.hasNewRoomKeys&&((i=this._keyBackup.get())==null||i.flush(s))}_tryReplaceRoomBeingCreated(e,t){for(const[,s]of this._roomsBeingCreated)if(s.roomId===e){const i=this._observedRoomStatus.get(s.id);i&&(t.log("replacing room being created").set("localId",s.id).set("roomId",s.roomId),i.set(i.get()|U.Replaced)),s.dispose(),this._roomsBeingCreated.remove(s.id);return}}applyRoomCollectionChangesAfterSync(e,t,s,i){var r,o;for(const a of t)a.shouldAdd?(this._rooms.add(a.id,a.room),this._tryReplaceRoomBeingCreated(a.id,i)):a.shouldRemove&&this._rooms.remove(a.id);for(const a of e)a.shouldAdd?this._invites.add(a.id,a.invite):a.shouldRemove&&this._invites.remove(a.id);if(this._observedRoomStatus.size!==0){for(const a of s)a.shouldAdd&&((r=this._observedRoomStatus.get(a.id))==null||r.set(U.Archived));for(const a of t)a.shouldAdd&&((o=this._observedRoomStatus.get(a.id))==null||o.set(U.Joined));for(const a of e){const c=this._observedRoomStatus.get(a.id);if(c){const l=c.get()|U.Invited;if(a.shouldAdd)c.set(l);else if(a.shouldRemove){const h=l^U.Invited;c.set(h)}}}}}_forgetArchivedRoom(e){const t=this._observedRoomStatus.get(e);t&&t.set((t.get()|U.Archived)^U.Archived)}get syncToken(){var e;return(e=this._syncInfo)==null?void 0:e.token}get syncFilterId(){var e;return(e=this._syncInfo)==null?void 0:e.filterId}get user(){return this._user}get mediaRepository(){return this._mediaRepository}enablePushNotifications(e){return e?this._enablePush():this._disablePush()}async _enablePush(){return this._platform.logger.run("enablePush",async e=>{const t=tt.createDefaultPayload(this._sessionInfo.id),s=await this._platform.notificationService.enablePush(tt,t);if(!s)return e.set("no_pusher",!0),!1;await s.enable(this._hsApi,e);const i=await this._storage.readWriteTxn([this._storage.storeNames.session]);return i.session.set(Vt,s.serialize()),await i.complete(),!0})}async _disablePush(){return this._platform.logger.run("disablePush",async e=>{await this._platform.notificationService.disablePush();const s=await(await this._storage.readTxn([this._storage.storeNames.session])).session.get(Vt);if(!s)return!0;await new tt(s).disable(this._hsApi,e);const r=await this._storage.readWriteTxn([this._storage.storeNames.session]);return r.session.remove(Vt),await r.complete(),!0})}async arePushNotificationsEnabled(){return await this._platform.notificationService.isPushEnabled()?!!await(await this._storage.readTxn([this._storage.storeNames.session])).session.get(Vt):!1}async checkPusherEnabledOnHomeserver(){const t=await(await this._storage.readTxn([this._storage.storeNames.session])).session.get(Vt);if(!t)return!1;const s=new tt(t),i=await this._hsApi.getPushers().response();return((i==null?void 0:i.pushers)||[]).map(o=>new tt(o)).some(o=>o.equals(s))}async getRoomStatus(e){if(!!this._roomsBeingCreated.get(e))return U.BeingCreated;if(!!this._rooms.get(e))return U.Joined;{const i=!!this._invites.get(e),o=await(await this._storage.readTxn([this._storage.storeNames.archivedRoomSummary])).archivedRoomSummary.has(e);return i&&o?U.Invited|U.Archived:i?U.Invited:o?U.Archived:U.None}}async observeRoomStatus(e){let t=this._observedRoomStatus.get(e);if(!t){const s=await this.getRoomStatus(e);t=new ci(s,()=>{this._observedRoomStatus.delete(e)}),this._observedRoomStatus.set(e,t)}return t}createOrGetArchivedRoomForSync(e){let t=this._activeArchivedRooms.get(e);return t?t.retain():t=this._createArchivedRoom(e),t}loadArchivedRoom(e,t=null){return this._platform.logger.wrapOrRun(t,"loadArchivedRoom",async s=>{s.set("id",e);const i=this._activeArchivedRooms.get(e);if(i)return i.retain(),i;const r=await this._storage.readTxn([this._storage.storeNames.archivedRoomSummary,this._storage.storeNames.roomMembers]),o=await r.archivedRoomSummary.get(e);if(o){const a=this._createArchivedRoom(e);return await a.load(o,r,s),a}})}joinRoom(e,t=null){return this._platform.logger.wrapOrRun(t,"joinRoom",async s=>(await this._hsApi.joinIdOrAlias(e,{log:s}).response()).room_id)}}class fd{constructor({username:e,password:t,homeserver:s}){this._username=e,this._password=t,this.homeserver=s}async login(e,t,s){return await e.passwordLogin(this._username,this._password,t,{log:s}).response()}}class gd{constructor({homeserver:e,loginToken:t}){this.homeserver=e,this._loginToken=t}async login(e,t,s){return await e.tokenLogin(this._loginToken,Ms(),t,{log:s}).response()}}class yd{constructor(e){this._homeserver=e}get homeserver(){return this._homeserver}createSSORedirectURL(e){return`${this._homeserver}/_matrix/client/r0/login/sso/redirect?redirectUrl=${e}`}}class $i{constructor(e,t){this._session=e,this._params=t}setNextStage(e){this._nextStage=e}get nextStage(){return this._nextStage}}class wd extends $i{generateAuthenticationData(){return{session:this._session,type:this.type}}get type(){return"m.login.dummy"}}class vd extends $i{generateAuthenticationData(){return{session:this._session,type:this.type}}get type(){return"m.login.terms"}get privacyPolicy(){var e;return(e=this._params)==null?void 0:e.policies.privacy_policy}get termsOfService(){var e;return(e=this._params)==null?void 0:e.policies.terms_of_service}}class bd extends $i{constructor(e,t,s){super(e,t),this._type=s}generateAuthenticationData(){if(!this._token)throw new Error("No token provided for TokenAuth");return{session:this._session,type:this._type,token:this._token}}setToken(e){this._token=e}get type(){return this._type}}class Sd{constructor(e,t,s){this._hsApi=e,this._accountDetails=t,this._flowSelector=s!=null?s:i=>i[0]}async start(){const e=await this._hsApi.register(this._accountDetails.username,this._accountDetails.password,this._accountDetails.initialDeviceDisplayName,void 0,this._accountDetails.inhibitLogin).response();return this.parseStagesFromResponse(e)}async submitStage(e){const t=e.generateAuthenticationData(),{username:s,password:i,initialDeviceDisplayName:r,inhibitLogin:o}=this._accountDetails,a=this._hsApi.register(s,i,r,t,o),c=await a.response(),l=await a.responseCode(),h=yr(ft({},c),{status:l});return this.parseRegistrationResponse(h,e)}parseStagesFromResponse(e){const{session:t,params:s}=e,i=this._flowSelector(e.flows);if(!i)throw new Error("flowSelector did not return any flow!");let r,o;for(const a of i.stages){const c=this._createRegistrationStage(a,t,s);r?(o.setNextStage(c),o=c):(r=c,o=c)}return r}async parseRegistrationResponse(e,t){var s;switch(e.status){case 200:this._sessionInfo=e;return;case 401:if((s=e.completed)!=null&&s.includes(t.type))return t.nextStage;throw new Error("This stage could not be completed!")}}_createRegistrationStage(e,t,s){switch(e){case"m.login.dummy":return new wd(t,s==null?void 0:s[e]);case"m.login.terms":return new vd(t,s==null?void 0:s[e]);case"org.matrix.msc3231.login.registration_token":case"m.login.registration_token":return new bd(t,s==null?void 0:s[e],e);default:throw new Error(`Unknown stage: ${e}`)}}get sessionInfo(){return this._sessionInfo}}const M=xe("NotLoading","Login","LoginFailed","QueryAccount","AccountSetup","Loading","SessionSetup","Migrating","FirstSync","Error","Ready"),Ce=xe("Connection","Credentials","Unknown");class ji{constructor(e){this._platform=e,this._sessionStartedByReconnector=!1,this._status=new we(M.NotLoading),this._error=null,this._loginFailure=null,this._reconnector=null,this._session=null,this._sync=null,this._sessionId=null,this._storage=null,this._requestScheduler=null,this._olmPromise=e.loadOlm(),this._workerPromise=e.loadOlmWorker(),this._accountSetup=void 0}createNewSessionId(){return Math.floor(this._platform.random()*Number.MAX_SAFE_INTEGER).toString()}get sessionId(){return this._sessionId}async startWithExistingSession(e){this._status.get()===M.NotLoading&&(this._status.set(M.Loading),await this._platform.logger.run("load session",async t=>{t.set("id",e);try{const s=await this._platform.sessionInfoStorage.get(e);if(!s)throw new Error("Invalid session id: "+e);await this._loadSessionInfo(s,null,t),t.set("status",this._status.get())}catch(s){t.catch(s),this._error=s,this._status.set(M.Error)}}))}_parseLoginOptions(e,t){const s=e.flows,i={homeserver:t};for(const r of s)r.type==="m.login.password"?i.password=(o,a)=>new fd({homeserver:t,username:o,password:a}):r.type==="m.login.sso"&&s.find(o=>o.type==="m.login.token")?i.sso=new yd(t):r.type==="m.login.token"&&(i.token=o=>new gd({homeserver:t,loginToken:o}));return i}queryLogin(e){return new Mn(async t=>{e=await ma(e,(r,o)=>t(this._platform.request(r,o)));const s=new Ze({homeserver:e,request:this._platform.request}),i=await t(s.getLoginFlows()).response();return this._parseLoginOptions(i,e)})}async startRegistration(e,t,s,i,r){const o=this._platform.request,a=new Ze({homeserver:e,request:o});return new Sd(a,{username:t,password:s,initialDeviceDisplayName:i},r)}async startWithLogin(e,{inspectAccountSetup:t}={}){const s=this._status.get();s!==M.LoginFailed&&s!==M.NotLoading&&s!==M.Error||(this._resetStatus(),await this._platform.logger.run("login",async i=>{this._status.set(M.Login);const r=this._platform.clock;let o;try{const c=this._platform.request,l=new Ze({homeserver:e.homeserver,request:c}),h=await e.login(l,"Hydrogen",i),d=this.createNewSessionId();o={id:d,deviceId:h.device_id,userId:h.user_id,homeServer:e.homeserver,homeserver:e.homeserver,accessToken:h.access_token,lastUsed:r.now()},i.set("id",d)}catch(c){this._error=c,c.name==="HomeServerError"?(c.errcode==="M_FORBIDDEN"?this._loginFailure=Ce.Credentials:this._loginFailure=Ce.Unknown,i.set("loginFailure",this._loginFailure),this._status.set(M.LoginFailed)):c.name==="ConnectionError"?(this._loginFailure=Ce.Connection,this._status.set(M.LoginFailed)):this._status.set(M.Error);return}let a;t&&(a=await this._inspectAccountAfterLogin(o,i),a&&(o.deviceId=a.deviceId)),await this._platform.sessionInfoStorage.add(o);try{await this._loadSessionInfo(o,a,i),i.set("status",this._status.get())}catch(c){i.catch(c),a==null||a.dispose(),this._error=c,this._status.set(M.Error)}}))}async _loadSessionInfo(e,t,s){s.set("appVersion",this._platform.version);const i=this._platform.clock;this._sessionStartedByReconnector=!1,this._status.set(M.Loading),this._reconnector=new ba({onlineStatus:this._platform.onlineStatus,retryDelay:new Dn(i.createTimeout),createMeasure:i.createMeasure});const r=new Ze({homeserver:e.homeServer,accessToken:e.accessToken,request:this._platform.request,reconnector:this._reconnector});this._sessionId=e.id,this._storage=await this._platform.storageFactory.create(e.id,s);const o={id:e.id,deviceId:e.deviceId,userId:e.userId,homeserver:e.homeServer},a=await this._olmPromise;let c=null;this._workerPromise&&(c=await this._workerPromise),this._requestScheduler=new Ra({hsApi:r,clock:i}),this._requestScheduler.start();const l=new Ea({homeserver:e.homeServer,platform:this._platform});if(this._session=new _d({storage:this._storage,sessionInfo:o,hsApi:this._requestScheduler.hsApi,olm:a,olmWorker:c,mediaRepository:l,platform:this._platform}),await this._session.load(s),t?(await s.wrap("dehydrateIdentity",h=>this._session.dehydrateIdentity(t,h)),await this._session.setupDehydratedDevice(t.key,s)):this._session.hasIdentity||(this._status.set(M.SessionSetup),await s.wrap("createIdentity",h=>this._session.createIdentity(h))),this._sync=new Ma({hsApi:this._requestScheduler.hsApi,storage:this._storage,session:this._session,logger:this._platform.logger}),this._reconnectSubscription=this._reconnector.connectionStatus.subscribe(h=>{h===$t.Online&&this._platform.logger.runDetached("reconnect",async d=>{this._requestScheduler.start(),this._sync.start(),this._sessionStartedByReconnector=!0;const u=t;t=void 0,await d.wrap("session start",p=>this._session.start(this._reconnector.lastVersionsResponse,u,p))})}),await s.wrap("wait first sync",()=>this._waitForFirstSync()),!this._isDisposed&&(this._status.set(M.Ready),!this._sessionStartedByReconnector)){const h=await r.versions({timeout:1e4,log:s}).response();if(this._isDisposed)return;const d=t;t=void 0,await s.wrap("session start",u=>this._session.start(h,d,u))}}async _waitForFirstSync(){this._sync.start(),this._status.set(M.FirstSync),this._waitForFirstSyncHandle=this._sync.status.waitFor(e=>{var t;return e===L.Stopped?((t=this._sync.error)==null?void 0:t.name)!=="ConnectionError":e===L.Syncing});try{if(await this._waitForFirstSyncHandle.promise,this._sync.status.get()===L.Stopped&&this._sync.error)throw this._sync.error}catch(e){if(e.name==="AbortError")return;throw e}finally{this._waitForFirstSyncHandle=null}}_inspectAccountAfterLogin(e,t){return t.wrap("inspectAccount",async s=>{var a;this._status.set(M.QueryAccount);const i=new Ze({homeserver:e.homeServer,accessToken:e.accessToken,request:this._platform.request}),r=await this._olmPromise;let o;try{o=await kh(i,r,this._platform,s)}catch(c){if(c.name==="HomeServerError")s.set("not_supported",!0);else throw c}if(o){let c;const l=new Promise(d=>c=d);this._accountSetup=new Id(o,c),this._status.set(M.AccountSetup),await l;const h=(a=this._accountSetup)==null?void 0:a._dehydratedDevice;return this._accountSetup=null,h}})}get accountSetup(){return this._accountSetup}get loadStatus(){return this._status}get loadError(){return this._error}get loginFailure(){return this._loginFailure}get sync(){return this._sync}get session(){return this._session}get reconnector(){return this._reconnector}get _isDisposed(){return!this._reconnector}startLogout(e){return this._platform.logger.run("logout",async t=>{this._sessionId=e,t.set("id",this._sessionId);const s=await this._platform.sessionInfoStorage.get(this._sessionId);if(!s)throw new Error(`Could not find session for id ${this._sessionId}`);try{await new Ze({homeserver:s.homeServer,accessToken:s.accessToken,request:this._platform.request}).logout({log:t}).response()}catch{}await this.deleteSession(t)})}dispose(){this._reconnectSubscription&&(this._reconnectSubscription(),this._reconnectSubscription=null),this._reconnector=null,this._requestScheduler&&(this._requestScheduler.stop(),this._requestScheduler=null),this._sync&&(this._sync.stop(),this._sync=null),this._session&&(this._session.dispose(),this._session=null),this._waitForFirstSyncHandle&&(this._waitForFirstSyncHandle.dispose(),this._waitForFirstSyncHandle=null),this._storage&&(this._storage.close(),this._storage=null)}async deleteSession(e){this._sessionId&&(this.dispose(),await Promise.all([e.wrap("storageFactory",()=>this._platform.storageFactory.delete(this._sessionId)),e.wrap("sessionInfoStorage",()=>this._platform.sessionInfoStorage.delete(this._sessionId))]),this._sessionId=null)}_resetStatus(){this._status.set(M.NotLoading),this._error=null,this._loginFailure=null}}class Id{constructor(e,t){this._encryptedDehydratedDevice=e,this._dehydratedDevice=void 0,this._finishStage=t}get encryptedDehydratedDevice(){return this._encryptedDehydratedDevice}finish(e){this._dehydratedDevice=e,this._finishStage()}}class A extends Ls{constructor(e){super(),this._isDisposed=!1,this._options=e}childOptions(e){return Object.assign({},this._options,e)}get options(){return this._options}getOption(e){return this._options[e]}observeNavigation(e,t){const i=this.navigation.observe(e).subscribe(r=>{t(r,e)});this.track(i)}track(e){return this.disposables||(this.disposables=new Ni),this.disposables.track(e)}untrack(e){if(this.disposables)return this.disposables.untrack(e)}dispose(){this.disposables&&this.disposables.dispose(),this._isDisposed=!0}get isDisposed(){return this._isDisposed}disposeTracked(e){if(this.disposables)return this.disposables.disposeTracked(e)}i18n(e,...t){let s="";for(let i=0;it.toLowerCase().trim())}matches(e){const t=e.name.toLowerCase();return this._parts.every(s=>t.includes(s))}}class Md extends Ct{constructor(e,t){super(),this._source=e,this._apply=t,this._subscription=null}hasApply(){return!!this._apply}setApply(e){this._apply=e,e&&this.applyOnce(this._apply)}applyOnce(e){for(const[t,s]of this._source)e(t,s)}onAdd(e,t){this._apply&&this._apply(e,t),this.emitAdd(e,t)}onRemove(e,t){this.emitRemove(e,t)}onUpdate(e,t,s){this._apply&&this._apply(e,t,s),this.emitUpdate(e,t,s)}onSubscribeFirst(){this._subscription=this._source.subscribe(this),this._apply&&this.applyOnce(this._apply),super.onSubscribeFirst()}onUnsubscribeLast(){super.onUnsubscribeLast(),this._subscription=this._subscription()}onReset(){this._apply&&this.applyOnce(this._apply),this.emitReset()}[Symbol.iterator](){return this._source[Symbol.iterator]()}get size(){return this._source.size}get(e){return this._source.get(e)}}class Ad{constructor(e){this._observables=new Map,this._allowsChild=e,this._path=new ke([],e),this._pathObservable=new we(this._path)}get pathObservable(){return this._pathObservable}get path(){return this._path}push(e,...t){const s=this.path.with(new se(e,...t));s&&this.applyPath(s)}applyPath(e){const t=this._path;this._path=e;for(let s=t.segments.length-1;s>=0;s-=1){const i=t.segments[s];if(!this._path.get(i.type)){const r=this._observables.get(i.type);r==null||r.emitIfChanged()}}for(const s of this._path.segments){const i=this._observables.get(s.type);i==null||i.emitIfChanged()}this._pathObservable.set(this._path)}observe(e){let t=this._observables.get(e);return t||(t=new Nd(this,e),this._observables.set(e,t)),t}pathFrom(e){let t,s;for(s=0;s=-1)}until(e){const t=this._segments.findIndex(s=>s.type===e);return t!==-1?new ke(this._segments.slice(0,t+1),this._allowsChild):new ke([],this._allowsChild)}get(e){return this._segments.find(t=>t.type===e)}replace(e){const t=this._segments.findIndex(s=>s.type===e.type);if(t!==-1){const s=this._segments[t-1];if(this._allowsChild(s,e)){const i=this._segments[t+1];if(!i||this._allowsChild(e,i)){const r=this._segments.slice();return r[t]=e,new ke(r,this._allowsChild)}}}}get segments(){return this._segments}}class Nd extends kt{constructor(e,t){var s;super(),this._navigation=e,this._type=t,this._lastSetValue=(s=e.path.get(t))==null?void 0:s.value}get(){const t=this._navigation.path.get(this._type);return t==null?void 0:t.value}emitIfChanged(){const e=this.get();xd(e,this._lastSetValue)||(this._lastSetValue=e,this.emit(e))}}class Dd{constructor(e,t,s,i){this._isApplyingUrl=!1,this._history=e,this._navigation=t,this._parseUrlPath=s,this._stringifyPath=i,this._defaultSessionId=this._getLastSessionId()}_getLastSessionId(){var s;const t=(s=this._urlAsNavPath(this._history.getLastSessionUrl()||"").get("session"))==null?void 0:s.value;if(typeof t=="string")return t}attach(){this._subscription=this._history.subscribe(e=>this._applyUrl(e)),this._pathSubscription=this._navigation.pathObservable.subscribe(e=>this._applyNavPathToHistory(e)),this._applyUrl(this._history.get())}dispose(){this._subscription&&(this._subscription=this._subscription()),this._pathSubscription&&(this._pathSubscription=this._pathSubscription())}_applyNavPathToHistory(e){const t=this.urlForPath(e);t!==this._history.get()&&(this._isApplyingUrl?this._history.replaceUrlSilently(t):this._history.pushUrlSilently(t))}_applyNavPathToNavigation(e){this._isApplyingUrl=!0,this._navigation.applyPath(e),this._isApplyingUrl=!1}_urlAsNavPath(e){const t=this._history.urlAsPath(e);return this._navigation.pathFrom(this._parseUrlPath(t,this._navigation.path,this._defaultSessionId))}_applyUrl(e){const t=this._urlAsNavPath(e);this._applyNavPathToNavigation(t)}pushUrl(e){this._history.pushUrl(e)}tryRestoreLastUrl(){const e=this._urlAsNavPath(this._history.getLastSessionUrl()||"");return e.segments.length!==0?(this._applyNavPathToNavigation(e),!0):!1}urlForSegments(e){let t=this._navigation.path;for(const s of e)if(t=t.with(s),!t)return;return this.urlForPath(t)}urlForSegment(e,...t){return this.urlForSegments([this._navigation.segment(e,...t)])}urlUntilSegment(e){return this.urlForPath(this._navigation.path.until(e))}urlForPath(e){return this._history.pathAsUrl(this._stringifyPath(e))}openRoomActionUrl(e){const t=`${this._stringifyPath(this._navigation.path.until("session"))}/open-room/${e}`;return this._history.pathAsUrl(t)}createSSOCallbackURL(){return window.location.origin}normalizeUrl(){this._history.replaceUrlSilently(`${window.location.origin}/${window.location.hash}`)}}function Vd(){return new Ad(Od)}function Ld({history:n,navigation:e}){return new Dd(n,e,Ud,Fd)}function Od(n,e){const{type:t}=e;switch(n==null?void 0:n.type){case void 0:return t==="login"||t==="session"||t==="sso"||t==="logout";case"session":return t==="room"||t==="rooms"||t==="settings"||t==="create-room";case"rooms":return t==="room"||t==="empty-grid-tile";case"room":return t==="lightbox"||t==="right-panel";case"right-panel":return t==="details"||t==="members"||t==="member";default:return!1}}function Pd(n,e,t){if(n.value.includes(e))return n;{const s=t.get("empty-grid-tile"),i=t.get("room");let r=0;s?r=s.value:i&&(r=n.value.indexOf(i.value));const o=n.value.slice();return o[r]=e,new se("rooms",o)}}function Yr(n,e,...t){n.push(new se("right-panel")),n.push(new se(e,...t))}function vi(n,e){const t=n.path.segments,s=t.findIndex(r=>r.type==="right-panel");let i=e;return s!==-1&&(i=e.until("room"),i=i.with(t[s]),i=i.with(t[s+1])),i}function Ud(n,e,t){const s=n.substring(1).split("/"),i=s[Symbol.iterator](),r=[];let o;for(;!(o=i.next()).done;){const a=o.value;if(a==="rooms"){const c=i.next().value;if(c===void 0)break;const l=c.split(",");r.push(new se(a,l));const h=parseInt(i.next().value||"0",10),d=l[h];d?r.push(new se("room",d)):r.push(new se("empty-grid-tile",h))}else if(a==="open-room"){const c=i.next().value;if(!c)break;const l=e.get("rooms");if(l&&r.push(Pd(l,c,e)),r.push(new se("room",c)),s.findIndex(u=>u==="open-room")>=s.length-2){const u=e.segments,p=u.findIndex(_=>_.type==="right-panel");p!==-1&&r.push(...u.slice(p))}}else if(a==="last-session"){let c=e.get("session");typeof(c==null?void 0:c.value)!="string"&&t&&(c=new se("session",t)),c&&r.push(c)}else if(a==="details"||a==="members")Yr(r,a);else if(a==="member"){const c=i.next().value;if(!c)break;Yr(r,a,c)}else if(a.includes("loginToken")){const c=a.split("=").pop();r.push(new se("sso",c))}else{const c=i.next().value;r.push(new se(a,c))}}return r}function Fd(n){let e="",t;for(const s of n.segments){switch(s.type){case"rooms":e+=`/rooms/${s.value.join(",")}`;break;case"empty-grid-tile":e+=`/${s.value}`;break;case"room":(t==null?void 0:t.type)==="rooms"?e+=`/${t.value.indexOf(s.value)}`:e+=`/${s.type}/${s.value}`;break;case"right-panel":case"sso":continue;default:e+=`/${s.type}`,s.value&&s.value!==!0&&(e+=`/${s.value}`)}t=s}return e}class Bd extends A{constructor(e){super(e);const{session:t}=e;this._tileViewModelsMap=this._mapTileViewModels(t.roomsBeingCreated,t.invites,t.rooms),this._tileViewModelsFilterMap=new Md(this._tileViewModelsMap),this._tileViewModels=this._tileViewModelsFilterMap.sortValues((s,i)=>s.compare(i)),this._currentTileVM=null,this._setupNavigation(),this._closeUrl=this.urlCreator.urlForSegment("session"),this._settingsUrl=this.urlCreator.urlForSegment("settings"),this._createRoomUrl=this.urlCreator.urlForSegment("create-room")}_mapTileViewModels(e,t,s){return t.join(e,s).mapValues((r,o)=>{var l;let a;return r.isBeingCreated?a=new Cd(this.childOptions({roomBeingCreated:r,emitChange:o})):r.isInvite?a=new Rd(this.childOptions({invite:r,emitChange:o})):a=new kd(this.childOptions({room:r,emitChange:o})),((l=this.navigation.path.get("room"))==null?void 0:l.value)===r.id&&(a.open(),this._updateCurrentVM(a)),a})}_updateCurrentVM(e){var t;(t=this._currentTileVM)==null||t.close(),this._currentTileVM=e}get closeUrl(){return this._closeUrl}get settingsUrl(){return this._settingsUrl}get createRoomUrl(){return this._createRoomUrl}_setupNavigation(){const e=this.navigation.observe("room");this.track(e.subscribe(s=>this._open(s)));const t=this.navigation.observe("rooms");this.gridEnabled=!!t.get(),this.track(t.subscribe(s=>{const i=this.gridEnabled^!!s;this.gridEnabled=!!s,i&&this.emitChange("gridEnabled")}))}_open(e){var t,s;(t=this._currentTileVM)==null||t.close(),this._currentTileVM=null,e&&(this._currentTileVM=this._tileViewModelsMap.get(e),(s=this._currentTileVM)==null||s.open())}toggleGrid(){const e=this.navigation.path.get("room");let t=this.navigation.path.until("session");this.gridEnabled?e&&(t=t.with(e),t=vi(this.navigation,t)):e?(t=t.with(this.navigation.segment("rooms",[e.value])),t=t.with(e),t=vi(this.navigation,t)):(t=t.with(this.navigation.segment("rooms",[])),t=t.with(this.navigation.segment("empty-grid-tile",0))),this.navigation.applyPath(t)}get tileViewModels(){return this._tileViewModels}clearFilter(){this._tileViewModelsFilterMap.setApply(null),this._tileViewModelsFilterMap.applyOnce((e,t)=>t.hidden=!1)}setFilter(e){if(e=e.trim(),e.length===0)return this.clearFilter(),!1;{const t=!this._tileViewModelsFilterMap.hasApply(),s=new Td(e);return this._tileViewModelsFilterMap.setApply((i,r)=>{r.hidden=!s.matches(r)}),t}}}class fe{constructor(e,t,s,i){this._remove=e,this._update=t,this._replace=s,this._updateParams=i}get shouldReplace(){return this._replace}get shouldRemove(){return this._remove}get shouldUpdate(){return this._update}get updateParams(){return this._updateParams}static Remove(){return new fe(!0,!1,!1,null)}static Update(e){return new fe(!1,!0,!1,e)}static Nothing(){return new fe(!1,!1,!1,null)}static Replace(e){return new fe(!1,!1,!0,e)}}class Kd extends Rt{constructor(e,t){super(),this._entries=e,this._tiles=null,this._entrySubscription=null,this._tileOptions=t,this._emitSpontanousUpdate=this._emitSpontanousUpdate.bind(this)}_createTile(e){const t=this._tileOptions.tileClassForEntry(e);if(t)return new t(e,this._tileOptions)}_emitSpontanousUpdate(e,t){const s=e.lowerEntry,i=this._findTileIdx(s);this.emitUpdate(i,e,t)}onSubscribeFirst(){this._entrySubscription=this._entries.subscribe(this),this._populateTiles()}_populateTiles(){this._tiles=[];let e=null;for(let s of this._entries)(!e||!e.tryIncludeEntry(s))&&(e=this._createTile(s),e&&this._tiles.push(e));let t=null;for(let s of this._tiles)t&&t.updateNextSibling(s),s.updatePreviousSibling(t),t=s;t&&t.updateNextSibling(null);for(const s of this._tiles)s.setUpdateEmit(this._emitSpontanousUpdate)}_findTileIdx(e){return He(this._tiles,e,(t,s)=>-s.compareEntry(t))}_findTileAtIdx(e,t){const s=this._getTileAtIdx(t);if(s&&s.compareEntry(e)===0)return s}_getTileAtIdx(e){return e>=0&&ei.compare(r)),s=this._tiles[t];return(s==null?void 0:s.compare(e))===0?t:-1}sliceIterator(e,t){return this._tiles.slice(e,t)[Symbol.iterator]()}}class $d extends A{constructor(e){super(e);const{timeline:t,tileOptions:s}=e;this._timeline=this.track(t),this._tiles=new Kd(t.entries,s),this._startTile=null,this._endTile=null,this._topLoadingPromise=null,this._requestedStartTile=null,this._requestedEndTile=null,this._requestScheduled=!1,this._showJumpDown=!1}setVisibleTileRange(e,t){this._requestedStartTile=e,this._requestedEndTile=t,this._requestScheduled||(Promise.resolve().then(()=>{this._setVisibleTileRange(this._requestedStartTile,this._requestedEndTile),this._requestScheduled=!1}),this._requestScheduled=!0)}_setVisibleTileRange(e,t){let s;if(e&&t){this._startTile=e,this._endTile=t;const i=this._tiles.getTileIndex(this._startTile),r=this._tiles.getTileIndex(this._endTile);for(const o of this._tiles.sliceIterator(i,r+1))o.notifyVisible();s=i<10,this._setShowJumpDown(r{this._topLoadingPromise=null,i||this.setVisibleTileRange(this._requestedStartTile,this._requestedEndTile)}))}get tiles(){return this._tiles}_setShowJumpDown(e){this._showJumpDown!==e&&(this._showJumpDown=e,this.emitChange("showJumpDown"))}get showJumpDown(){return this._showJumpDown}}class jd extends A{constructor(e){super(e.options),this._roomVM=e,this._isEmpty=!0,this._replyVM=null}setReplyingTo(e){var s;(new Boolean(e)!==new Boolean(this._replyVM)||!((s=this._replyVM)!=null&&s.id.equals(e.asEventKey())))&&(this._replyVM=this.disposeTracked(this._replyVM),e&&(this._replyVM=this.track(this._roomVM._createTile(e)),this._replyVM.notifyVisible()),this.emitChange("replyViewModel"),this.emit("focus"))}clearReplyingTo(){this.setReplyingTo(null)}get replyViewModel(){return this._replyVM}get isEncrypted(){return this._roomVM.isEncrypted}async sendMessage(e){const t=await this._roomVM._sendMessage(e,this._replyVM);return t&&(this._isEmpty=!0,this.emitChange("canSend"),this.clearReplyingTo()),t}sendPicture(){this._roomVM._pickAndSendPicture()}sendFile(){this._roomVM._pickAndSendFile()}sendVideo(){this._roomVM._pickAndSendVideo()}get canSend(){return!this._isEmpty}async setInput(e){const t=this._isEmpty;this._isEmpty=e.length===0,t&&!this._isEmpty&&this._roomVM._room.ensureMessageKeyIsShared(),t!==this._isEmpty&&this.emitChange("canSend")}get kind(){return"composer"}}function Ht(n){return{w:n.width,h:n.height,mimetype:n.blob.mimeType,size:n.blob.size}}class ss extends A{constructor(e,t){super(t),this._entry=e,this._emitUpdate=void 0}get shape(){return null}get isContinuation(){return!1}get hasDateSeparator(){return!1}get id(){return this._entry.asEventKey()}get eventId(){return this._entry.id}get isPending(){return this._entry.isPending}get isUnsent(){return this._entry.isPending&&this._entry.pendingEvent.status!==V.Sent}get canAbortSending(){return this._entry.isPending&&!this._entry.pendingEvent.hasStartedSending}abortSending(){var e;(e=this._entry.pendingEvent)==null||e.abort()}setUpdateEmit(e){this._emitUpdate=e}emitChange(e){this._emitUpdate&&this._emitUpdate(this,e),super.emitChange(e)}get upperEntry(){return this._entry}get lowerEntry(){return this._entry}compare(e){return this.upperEntry.compare(e.upperEntry)}compareEntry(e){return this._entry.compare(e)}updateEntry(e,t){const s=this.shape==="redacted";return!e.isGap&&e.isRedacted!==s?fe.Replace("shape"):(this._entry=e,fe.Update(t))}removeEntry(){return!0}tryIncludeEntry(){return!1}updatePreviousSibling(){}updateNextSibling(){}notifyVisible(){}dispose(){this.setUpdateEmit(null),super.dispose()}get _room(){return this._roomVM.room}get _roomVM(){return this._options.roomVM}get _timeline(){return this._options.timeline}get _powerLevels(){return this._timeline.powerLevels}get _ownMember(){return this._options.timeline.me}}class qd extends ss{constructor(e,t){super(e,t),this._loading=!1,this._error=null,this._isAtTop=!0,this._siblingChanged=!1}async fill(){if(!this._loading&&!this._entry.edgeReached){this._loading=!0,this.emitChange("isLoading");try{await this._room.fillGap(this._entry,10)}catch(e){throw console.error(`room.fillGap(): ${e.message}: +${e.stack}`),this._error=e,this.emitChange("error"),e}finally{this._loading=!1,this.emitChange("isLoading")}return!0}return!1}async notifyVisible(){let e=0,t;this._siblingChanged=!1;do t=await this.fill(),e=e+1;while(e<10&&!this._siblingChanged&&t&&!this.isDisposed)}get isAtTop(){return this._isAtTop}updatePreviousSibling(e){super.updatePreviousSibling(e);const t=!e;this._isAtTop!==t&&(this._isAtTop=t,this.emitChange("isAtTop")),this._siblingChanged=!0}updateNextSibling(){this._siblingChanged=!0}updateEntry(e,t){return super.updateEntry(e,t),e.isGap?fe.Nothing():fe.Remove()}get shape(){return"gap"}get isLoading(){return this._loading}get error(){return this._error?`Could not load ${this._entry.prev_batch?"previous":"next"} messages: ${this._error.message}`:null}}class Wd{constructor(e){this._parentTile=e,this._map=new qt,this._reactions=this._map.sortValues((t,s)=>t._compare(s))}update(e,t){if(e){for(const s in e)if(e.hasOwnProperty(s)){const i=e[s],r=this._map.get(s);r?r._tryUpdate(i)&&this._map.update(s):this._map.add(s,new Xr(s,i,null,this._parentTile))}}if(t)for(const[s,i]of t.entries()){const r=this._map.get(s);r?(r._tryUpdatePending(i),this._map.update(s)):this._map.add(s,new Xr(s,null,i,this._parentTile))}for(const s of this._map.keys()){const i=t==null?void 0:t.has(s),r=e==null?void 0:e.hasOwnProperty(s);!r&&!i?this._map.remove(s):r?i||this._map.get(s)._tryUpdatePending(null)&&this._map.update(s):this._map.get(s)._tryUpdate(null)&&this._map.update(s)}}get reactions(){return this._reactions}getReaction(e){return this._map.get(e)}}class Xr{constructor(e,t,s,i){this._key=e,this._annotation=t,this._pending=s,this._parentTile=i,this._isToggling=!1}_tryUpdate(e){const t=!!this._annotation!=!!e,i=this._annotation&&e&&(e.me!==this._annotation.me||e.count!==this._annotation.count||e.firstTimestamp!==this._annotation.firstTimestamp);return t||i?(this._annotation=e,!0):!1}_tryUpdatePending(e){return!e&&!this._pending?!1:(this._pending=e,!0)}get key(){return this._key}get count(){var e,t;return(((e=this._pending)==null?void 0:e.count)||0)+(((t=this._annotation)==null?void 0:t.count)||0)}get isPending(){return this._pending!==null}get isActive(){var e;return((e=this._annotation)==null?void 0:e.me)||this.isPending}get firstTimestamp(){let e=Number.MAX_SAFE_INTEGER;return this._annotation&&(e=Math.min(e,this._annotation.firstTimestamp)),this._pending&&(e=Math.min(e,this._pending.firstTimestamp)),e}_compare(e){if(e===this)return 0;if(this.count!==e.count)return e.count-this.count;{const t=this.firstTimestamp-e.firstTimestamp;return t===0?this.key{var r,o;if(!this.canReact){s.set("powerlevel_lacking",!0);return}if(this._entry.haveAnnotation(e)){s.set("already_reacted",!0);return}const i=(o=(r=this._entry.pendingAnnotations)==null?void 0:r.get(e))==null?void 0:o.redactionEntry;i&&!i.pendingEvent.hasStartedSending?(s.set("abort_redaction",!0),await i.pendingEvent.abort()):await this._room.sendEvent("m.reaction",this._entry.annotate(e),null,s)})}redactReaction(e,t=null){return this.logger.wrapOrRun(t,"redactReaction",async s=>{var r,o;if(!this._powerLevels.canRedactFromSender(this._ownMember.userId)){s.set("powerlevel_lacking",!0);return}if(!this._entry.haveAnnotation(e)){s.set("not_yet_reacted",!0);return}let i=(o=(r=this._entry.pendingAnnotations)==null?void 0:r.get(e))==null?void 0:o.annotationEntry;i||(i=await this._timeline.getOwnAnnotationEntry(this._entry.id,e)),i?await this._room.sendRedaction(i.id,null,s):s.set("no_reaction",!0)})}toggleReaction(e,t=null){return this.logger.wrapOrRun(t,"toggleReaction",async s=>{this._entry.haveAnnotation(e)?await this.redactReaction(e,s):await this.react(e,s)})}_updateReactions(){const{annotations:e,pendingAnnotations:t}=this._entry;!e&&!t?this._reactions&&(this._reactions=null):(this._reactions||(this._reactions=new Wd(this)),this._reactions.update(e,t))}get replyTile(){return this._entry.contextEventId?this._replyTile:null}}const Hd="(?:https|http|ftp):\\/\\/",wo="[^\\s.,?!)]",Zr="[a-zA-Z0-9:.\\[\\]-]",zd=`${Zr}*(?=${Zr})${wo}`,Gd=`(?:[\\/#](?:[^\\s]*${wo})?)`,Jd=`${Hd}${zd}${Gd}?`,Qd=new RegExp(Jd,"gi");function vo(n,e){const t=n.matchAll(Qd);let s=0;for(let r of t){const o=n.slice(s,r.index);e(o,!1),e(r[0],!0);const a=r[0].length;s=r.index+a}const i=n.slice(s);e(i,!1)}function Yd(n){const e=[],t=n.split(` +`),s=(i,r)=>{r?e.push(new bi(i,[new St(i)])):e.push(new St(i))};for(let i=0;i=t.length-1||e.push(new bo)}return new Wi(n,e)}function Xd(n){return new Wi(n,[new St(n)])}class Zd{constructor(e,t){this.level=e,this.inlines=t}get type(){return"header"}}class en{constructor(e,t){this.language=e,this.text=t}get type(){return"codeblock"}}class eu{constructor(e,t){this.items=t,this.startOffset=e}get type(){return"list"}}class tu{constructor(e,t){this.head=e,this.body=t}get type(){return"table"}}class su{get type(){return"rule"}}class bo{get type(){return"newline"}}class ws{constructor(e,t){this.format=e.toLowerCase(),this.children=t}get type(){return"format"}}class iu{constructor(e,t,s,i,r){this.src=e,this.width=t,this.height=s,this.alt=i,this.title=r}get type(){return"image"}}class ru{constructor(e,t,s){this.id=e,this.href=t,this.children=s}get type(){return"pill"}get avatarColorNumber(){return de(this.id)}get avatarInitials(){return he(this.id)}}class bi{constructor(e,t){this.url=e,this.inlines=t}get type(){return"link"}}class St{constructor(e){this.text=e}get type(){return"text"}}function nu(n){return n.type==="format"&&n.format==="blockquote"}class Wi{constructor(e,t){this.sourceString=e,this.parts=t}insertEmote(e){let t=0;for(;t`${n}://`),lu="https://matrix.to",tn=`${lu}/#/`;class hu{constructor(e,t){this.result=e,this.mediaRepository=t}parsePillLink(e){if(!e.startsWith(tn))return null;const t=e.substring(tn.length);return t[0]==="@"?t:null}parseLink(e,t){const s=this.result.getAttributeValue(e,"href"),i=s==null?void 0:s.toLowerCase();if(!i||!cu.some(o=>i.startsWith(o)))return new ws("span",t);const r=this.parsePillLink(s);return r?new ru(r,s,t):new bi(s,t)}parseList(e){const t=this.result;let s=null;t.getNodeElementName(e)==="OL"&&(s=parseInt(t.getAttributeValue(e,"start"))||1);const i=[];for(const r of t.getChildNodes(e)){if(t.getNodeElementName(r)!=="LI")continue;const o=this.parseAnyNodes(t.getChildNodes(r));i.push(o)}return new eu(s,i)}_ensureElement(e,t){return e&&this.result.isElementNode(e)&&this.result.getNodeElementName(e)===t}parseCodeBlock(e){const t=this.result;let s;for(const o of t.getChildNodes(e)){s=o;break}let i=null;if(!this._ensureElement(s,"CODE"))return new en(i,this.result.getNodeText(e));const r=t.getAttributeValue(s,"class")||"";for(const o of r.split(" "))if(o.startsWith("language-")&&!o.startsWith("language-_")){i=o.substring(9);break}return new en(i,this.result.getNodeText(s))}parseImage(e){const t=this.result,s=t.getAttributeValue(e,"src")||"",i=this.mediaRepository.mxcUrl(s);if(!i)return null;const r=parseInt(t.getAttributeValue(e,"width"))||null,o=parseInt(t.getAttributeValue(e,"height"))||null,a=t.getAttributeValue(e,"alt"),c=t.getAttributeValue(e,"title");return new iu(i,r,o,a,c)}parseTableRow(e,t){const s=[];for(const i of this.result.getChildNodes(e)){if(!this._ensureElement(i,t))continue;const r=this.result.getChildNodes(i),o=this.parseInlineNodes(r);s.push(o)}return s}parseTableHead(e){let t=null;for(const s of this.result.getChildNodes(e)){t=s;break}return this._ensureElement(t,"TR")?this.parseTableRow(t,"TH"):null}parseTableBody(e){const t=[];for(const s of this.result.getChildNodes(e))!this._ensureElement(s,"TR")||t.push(this.parseTableRow(s,"TD"));return t}parseTable(e){const t=Array.from(this.result.getChildNodes(e));let s,i;return this._ensureElement(t[0],"THEAD")&&this._ensureElement(t[1],"TBODY")?(s=this.parseTableHead(t[0]),i=this.parseTableBody(t[1])):this._ensureElement(t[0],"TBODY")&&(s=null,i=this.parseTableBody(t[0])),new tu(s,i)}parseInlineElement(e){const t=this.result,s=t.getNodeElementName(e),i=t.getChildNodes(e);switch(s){case"A":{const r=this.parseInlineNodes(i);return this.parseLink(e,r)}case"BR":return new bo;default:{if(!ou.includes(s))return null;const r=this.parseInlineNodes(i);return new ws(s,r)}}}parseInlineNode(e){return this.result.isElementNode(e)?this.parseInlineElement(e):null}parseBlockElement(e){const t=this.result,s=t.getNodeElementName(e),i=t.getChildNodes(e);switch(s){case"H1":case"H2":case"H3":case"H4":case"H5":case"H6":{const r=this.parseInlineNodes(i);return new Zd(parseInt(s[1]),r)}case"UL":case"OL":return this.parseList(e);case"PRE":return this.parseCodeBlock(e);case"HR":return new su;case"IMG":return this.parseImage(e);case"P":{const r=this.parseInlineNodes(i);return new ws(s,r)}case"TABLE":return this.parseTable(e);default:{if(!au.includes(s))return null;const r=this.parseAnyNodes(i);return new ws(s,r)}}}parseBlockNode(e){return this.result.isElementNode(e)?this.parseBlockElement(e):null}_parseTextParts(e,t){if(!this.result.isTextNode(e))return!1;const s=(i,r)=>{r?t.push(new bi(i,[new St(i)])):t.push(new St(i))};return vo(this.result.getNodeText(e),s),!0}_isAllowedNode(e){return!this._ensureElement(e,"MX-REPLY")}_parseInlineNodes(e,t){for(const s of e){if(this._parseTextParts(s,t))continue;const i=this.parseInlineNode(s);if(i){t.push(i);continue}this._isAllowedNode(s)&&this._parseInlineNodes(this.result.getChildNodes(s),t)}}parseInlineNodes(e){const t=[];return this._parseInlineNodes(e,t),t}_parseAnyNodes(e,t){for(const s of e){if(this._parseTextParts(s,t))continue;const i=this.parseInlineNode(s)||this.parseBlockNode(s);if(i){t.push(i);continue}this._isAllowedNode(s)&&this._parseAnyNodes(this.result.getChildNodes(s),t)}}parseAnyNodes(e){const t=[];return this._parseAnyNodes(e,t),t}}function du(n,e,t){const s=n.parseHTML(t),r=new hu(s,e).parseAnyNodes(s.rootNodes);return new Wi(t,r)}class uu extends So{_getContentString(e){var t;return((t=this._getContent())==null?void 0:t[e])||""}_getPlainBody(){return this._getContentString("body")}_getFormattedBody(){return this._getContentString("formatted_body")}_getBody(){return this._getBodyFormat()===Bt.Html?this._getFormattedBody():this._getPlainBody()}_getBodyFormat(){var e;return((e=this._getContent())==null?void 0:e.format)==="org.matrix.custom.html"?Bt.Html:Bt.Plain}_parseBody(e,t){var i;let s;return t===Bt.Html?s=du(this.platform,this._mediaRepository,e):s=Yd(e),((i=this._getContent())==null?void 0:i.msgtype)==="m.emote"&&s.insertEmote(`* ${this.displayName} `),s}}class sn extends Je{get shape(){return"redacted"}get description(){const{redactionReason:e}=this._entry;return this.isRedacting?e?this.i18n`This message is being deleted (${e})…`:this.i18n`This message is being deleted…`:e?this.i18n`This message has been deleted (${e}).`:this.i18n`This message has been deleted.`}get isRedacting(){return this._entry.isRedacting}get canRedact(){return!1}abortPendingRedaction(){return this._entry.abortPendingRedaction()}}const mu=300,pu=400;class Io extends Je{constructor(e,t){super(e,t),this._decryptedThumbnail=null,this._decryptedFile=null,this._isVisible=!1,this._error=null,this._downloading=!1,this._downloadError=null}async downloadMedia(){if(this._downloading||this.isPending)return;const e=this._getContent(),t=e.body;this._downloading=!0,this.emitChange("status");let s;try{s=await this._mediaRepository.downloadAttachment(e),this.platform.saveFileAs(s,t)}catch(i){this._downloadError=i}finally{s==null||s.dispose(),this._downloading=!1}this.emitChange("status")}get isUploading(){return this.isPending&&this._entry.pendingEvent.status===V.UploadingAttachments}get uploadPercentage(){const{pendingEvent:e}=this._entry;return e&&Math.round(e.attachmentsSentBytes/e.attachmentsTotalBytes*100)}get status(){const{pendingEvent:e}=this._entry;switch(e==null?void 0:e.status){case V.Waiting:return this.i18n`Waiting…`;case V.EncryptingAttachments:case V.Encrypting:return this.i18n`Encrypting…`;case V.UploadingAttachments:return this.i18n`Uploading…`;case V.Sending:return this.i18n`Sending…`;case V.Error:return this.i18n`Error: ${e.error.message}`;default:return this._downloadError?"Download failed":this._downloading?this.i18n`Downloading…`:""}}get thumbnailUrl(){var e,t;if(!this._isVisible)return"";if(this._decryptedThumbnail)return this._decryptedThumbnail.url;{const s=(e=this._getContent().info)==null?void 0:e.thumbnail_url;if(s)return this._mediaRepository.mxcUrlThumbnail(s,this.width,this.height,"scale")}if(this._entry.isPending){const s=this._entry.pendingEvent.getAttachment("info.thumbnail_url");return s&&s.localPreview.url}if(this._isMainResourceImage()){if(this._decryptedFile)return this._decryptedFile.url;{const s=(t=this._getContent())==null?void 0:t.url;if(typeof s=="string")return this._mediaRepository.mxcUrlThumbnail(s,this.width,this.height,"scale")}}return""}notifyVisible(){super.notifyVisible(),this._isVisible=!0,this.emitChange("thumbnailUrl"),this.isPending||this._tryLoadEncryptedThumbnail()}get width(){var t;const e=(t=this._getContent())==null?void 0:t.info;return Math.round((e==null?void 0:e.w)*this._scaleFactor())}get height(){var t;const e=(t=this._getContent())==null?void 0:t.info;return Math.round((e==null?void 0:e.h)*this._scaleFactor())}get mimeType(){var t;const e=(t=this._getContent())==null?void 0:t.info;return e==null?void 0:e.mimetype}get label(){return this._getContent().body}get error(){return this._error?`Could not load media: ${this._error.message}`:null}setViewError(e){this._error=e,this.emitChange("error")}async _loadEncryptedFile(e){const t=await this._mediaRepository.downloadEncryptedFile(e,!0);if(this.isDisposed){t.dispose();return}return this.track(t)}async _tryLoadEncryptedThumbnail(){var e;try{const t=(e=this._getContent().info)==null?void 0:e.thumbnail_file,s=this._getContent().file;t?(this._decryptedThumbnail=await this._loadEncryptedFile(t),this.emitChange("thumbnailUrl")):s&&this._isMainResourceImage()&&(this._decryptedFile=await this._loadEncryptedFile(s),this.emitChange("thumbnailUrl"))}catch(t){this._error=t,this.emitChange("error")}}_scaleFactor(){var i;const e=(i=this._getContent())==null?void 0:i.info,t=mu/(e==null?void 0:e.h),s=pu/(e==null?void 0:e.w);return Math.min(s,t,1)}_isMainResourceImage(){return!0}}class _u extends Io{constructor(e,t){super(e,t),this._lightboxUrl=this.urlCreator.urlForSegments([this.navigation.segment("room",this._room.id),this.navigation.segment("lightbox",this._entry.id)])}get lightboxUrl(){return this.isPending?"":this._lightboxUrl}get shape(){return"image"}}class fu extends Io{async loadVideo(){const e=this._getContent().file;e&&!this._decryptedFile&&(this._decryptedFile=await this._loadEncryptedFile(e),this.emitChange("videoUrl"))}get videoUrl(){var t;if(this._decryptedFile)return this._decryptedFile.url;const e=(t=this._getContent())==null?void 0:t.url;return typeof e=="string"?this._mediaRepository.mxcUrl(e):""}get shape(){return"video"}_isMainResourceImage(){return!1}}function gu(n,e=2){if(Number.isSafeInteger(n)){const t=Math.min(3,Math.floor(Math.log(n)/Math.log(1024))),s=Math.round(n/Math.pow(1024,t)).toFixed(e);switch(t){case 0:return`${s} bytes`;case 1:return`${s} KB`;case 2:return`${s} MB`;case 3:return`${s} GB`}}return""}class yu extends Je{constructor(e,t){super(e,t),this._downloadError=null,this._downloading=!1}async download(){if(this._downloading||this.isPending)return;const e=this._getContent(),t=e.body;this._downloading=!0,this.emitChange("label");let s;try{s=await this._mediaRepository.downloadAttachment(e),this.platform.saveFileAs(s,t)}catch(i){this._downloadError=i}finally{s==null||s.dispose(),this._downloading=!1}this.emitChange("label")}get label(){var s;if(this._downloadError)return`Could not download file: ${this._downloadError.message}`;const t=this._getContent().body;if(this._entry.isPending){const{pendingEvent:i}=this._entry;switch(i==null?void 0:i.status){case V.Waiting:return this.i18n`Waiting to send ${t}…`;case V.EncryptingAttachments:case V.Encrypting:return this.i18n`Encrypting ${t}…`;case V.UploadingAttachments:{const r=Math.round(i.attachmentsSentBytes/i.attachmentsTotalBytes*100);return this.i18n`Uploading ${t}: ${r}%`}case V.Sending:case V.Sent:return this.i18n`Sending ${t}…`;case V.Error:return this.i18n`Error: could not send ${t}: ${i.error.message}`;default:return`Unknown send status for ${t}`}}else{const i=gu((s=this._getContent().info)==null?void 0:s.size);return this._downloading?this.i18n`Downloading ${t} (${i})…`:this.i18n`Download ${t} (${i})`}}get shape(){return"file"}}class wu extends Je{get shape(){return"location"}get mapsLink(){try{const e=new URL(this._getContent().geo_uri);if(e.protocol!=="geo:")return"";const[t,...s]=e.pathname.split(";"),[i,r]=t.split(","),o=parseFloat(i),a=parseFloat(r);let c;for(const l of s){const[h,d]=l.split("=");h==="u"&&(c=parseFloat(d))}if(this.platform.isIOS)return`http://maps.apple.com/?ll=${o},${a}`;{let l=`geo:${o},${a}`;return c&&(l=l+`;u=${c}`),l}}catch{return""}}get label(){return this.i18n`${this.displayName} sent their location`}}class vu extends ss{get shape(){return"announcement"}get announcement(){const e=this._entry.content;return`${this._entry.displayName||this._entry.sender} named the room "${e==null?void 0:e.name}"`}}class bu extends ss{get shape(){return"announcement"}get announcement(){var l,h;const{sender:e,content:t,prevContent:s,stateKey:i}=this._entry,r=this._entry.displayName||e,o=e===i?r:((l=this._entry.content)==null?void 0:l.displayname)||i,a=t&&t.membership,c=s&&s.membership;if(c==="join"&&a==="join"){if(t.avatar_url!==s.avatar_url)return`${r} changed their avatar`;if(t.displayname!==s.displayname)return t.displayname?`${(h=s.displayname)!=null?h:i} changed their name to ${t.displayname}`:`${i} removed their name (${s.displayname})`}else{if(a==="join")return`${o} joined the room`;if(a==="invite")return`${o} was invited to the room by ${r}`;if(c==="invite"){if(a==="join")return`${o} accepted the invitation to join the room`;if(a==="leave")return`${o} declined the invitation to join the room`}else if(a==="leave"){if(i===e)return`${o} left the room`;{const d=t.reason;return`${o} was kicked from the room by ${r}${d?`: ${d}`:""}`}}else if(a==="ban")return`${o} was banned from the room by ${r}`}return`${e} membership changed to ${t.membership}`}}class Su extends So{updateEntry(e,t){const s=super.updateEntry(e,t);return e.eventType!=="m.room.encrypted"?fe.Replace("shape"):s}get shape(){return"message-status"}_getBody(){const e=this._entry.decryptionError,t=e==null?void 0:e.code;let s;return t==="MEGOLM_NO_SESSION"?s=this.i18n`The sender hasn't sent us the key for this message yet.`:s=(e==null?void 0:e.message)||this.i18n`Could not decrypt message because of unknown reason.`,s}}class Iu extends ss{get shape(){return"announcement"}get announcement(){const e=this._entry.displayName||this._entry.sender;return this.i18n`${e} has enabled end-to-end encryption`}}class Eu extends Je{get shape(){return"missing-attachment"}get label(){const e=this._getContent().body;return this._getContent().msgtype==="m.image"?this.i18n`The image ${e} wasn't fully sent previously and could not be recovered.`:this.i18n`The file ${e} wasn't fully sent previously and could not be recovered.`}}function ku(n){if(n.isGap)return qd;if(n.isPending&&n.pendingEvent.isMissingAttachments)return Eu;if(n.eventType)switch(n.eventType){case"m.room.message":{if(n.isRedacted)return sn;const e=n.content;switch(e&&e.msgtype){case"m.text":case"m.notice":case"m.emote":return uu;case"m.image":return _u;case"m.video":return fu;case"m.file":return yu;case"m.location":return wu;default:return}}case"m.room.name":return vu;case"m.room.member":return bu;case"m.room.encrypted":return n.isRedacted?sn:Su;case"m.room.encryption":return Iu;default:return}}class rn extends A{constructor(e){super(e);const{room:t,tileClassForEntry:s}=e;this._room=t,this._timelineVM=null,this._tileClassForEntry=s!=null?s:ku,this._tileOptions=void 0,this._onRoomChange=this._onRoomChange.bind(this),this._timelineError=null,this._sendError=null,this._composerVM=null,t.isArchived?this._composerVM=this.track(new Cu(this.childOptions({archivedRoom:t}))):this._recreateComposerOnPowerLevelChange(),this._clearUnreadTimout=null,this._closeUrl=this.urlCreator.urlUntilSegment("session")}async load(){this._room.on("change",this._onRoomChange);try{const e=await this._room.openTimeline();this._tileOptions=this.childOptions({roomVM:this,timeline:e,tileClassForEntry:this._tileClassForEntry}),this._timelineVM=this.track(new $d(this.childOptions({tileOptions:this._tileOptions,timeline:e}))),this.emitChange("timelineViewModel")}catch(e){console.error(`room.openTimeline(): ${e.message}: +${e.stack}`),this._timelineError=e,this.emitChange("error")}this._clearUnreadAfterDelay()}async _recreateComposerOnPowerLevelChange(){const e=await this._room.observePowerLevels(),t=()=>e.get().canSendType("m.room.message");let s=t();const i=r=>{this._composerVM=this.disposeTracked(this._composerVM),r?this._composerVM=this.track(new jd(this)):this._composerVM=this.track(new Tu(this.childOptions())),this.emitChange("powerLevelObservable")};this.track(e.subscribe(()=>{const r=t();s!==r&&(i(r),s=r)})),i(s)}async _clearUnreadAfterDelay(){if(!(this._room.isArchived||this._clearUnreadTimout)){this._clearUnreadTimout=this.clock.createTimeout(2e3);try{await this._clearUnreadTimout.elapsed(),await this._room.clearUnread(),this._clearUnreadTimout=null}catch(e){if(e.name!=="AbortError")throw e}}}focus(){this._clearUnreadAfterDelay()}dispose(){super.dispose(),this._room.off("change",this._onRoomChange),this._room.isArchived&&this._room.release(),this._clearUnreadTimout&&(this._clearUnreadTimout.abort(),this._clearUnreadTimout=null)}_onRoomChange(){this._composerVM.emitChange(),this.emitChange()}get kind(){return"room"}get closeUrl(){return this._closeUrl}get name(){return this._room.name||this.i18n`Empty Room`}get id(){return this._room.id}get timelineViewModel(){return this._timelineVM}get isEncrypted(){return this._room.isEncrypted}get error(){return this._timelineError?`Something went wrong loading the timeline: ${this._timelineError.message}`:this._sendError?`Something went wrong sending your message: ${this._sendError.message}`:""}get avatarLetter(){return he(this.name)}get avatarColorNumber(){return de(this._room.avatarColorId)}avatarUrl(e){return De(this._room.avatarUrl,e,this.platform,this._room.mediaRepository)}get avatarTitle(){return this.name}get canLeave(){return this._room.isJoined}leaveRoom(){this._room.leave()}get canForget(){return this._room.isArchived}forgetRoom(){this._room.forget()}get canRejoin(){return this._room.isArchived}rejoinRoom(){this._room.join()}_createTile(e){if(this._tileOptions){const t=this._tileOptions.tileClassForEntry(e);if(t)return new t(e,this._tileOptions)}}async _processCommandJoin(e){var t,s,i,r;try{const o=await this._options.client.session.joinRoom(e);await(await this._options.client.session.observeRoomStatus(o)).waitFor(c=>c===U.Joined),this.navigation.push("room",o)}catch(o){let a;((t=o.statusCode)!=null?t:o.status)===400?a=new Error(`/join : '${e}' was not legal room ID or room alias`):((s=o.statusCode)!=null?s:o.status)===404||((i=o.statusCode)!=null?i:o.status)===502||o.message=="Internal Server Error"?a=new Error(`/join : room '${e}' not found`):((r=o.statusCode)!=null?r:o.status)===403?a=new Error(`/join : you're not invited to join '${e}'`):a=o,this._sendError=a,this._timelineError=null,this.emitChange("error")}}async _processCommand(e){let t;const[s,...i]=e.substring(1).split(" ");switch(s){case"me":e=i.join(" "),t="m.emote";break;case"join":if(i.length===1){const r=i[0];await this._processCommandJoin(r)}else this._sendError=new Error("join syntax: /join "),this._timelineError=null,this.emitChange("error");break;case"shrug":e="\xAF\\_(\u30C4)_/\xAF "+i.join(" "),t="m.text";break;case"tableflip":e="(\u256F\xB0\u25A1\xB0\uFF09\u256F\uFE35 \u253B\u2501\u253B "+i.join(" "),t="m.text";break;case"unflip":e="\u252C\u2500\u2500\u252C \u30CE( \u309C-\u309C\u30CE) "+i.join(" "),t="m.text";break;case"lenny":e="( \u0361\xB0 \u035C\u0296 \u0361\xB0) "+i.join(" "),t="m.text";break;default:this._sendError=new Error(`no command name "${s}". To send the message instead of executing, please type "/${e}"`),this._timelineError=null,this.emitChange("error"),e=void 0}return{type:t,message:e}}async _sendMessage(e,t){if(!this._room.isArchived&&e){let s={type:"m.text",message:e};e.startsWith("//")?s.message=e.substring(1).trim():e.startsWith("/")&&(s=await this._processCommand(e));try{const i=s.type,r=s.message;i&&r&&(t?await t.reply(i,r):await this._room.sendEvent("m.room.message",{msgtype:i,body:r}))}catch(i){return console.error(`room.sendMessage(): ${i.message}: +${i.stack}`),this._sendError=i,this._timelineError=null,this.emitChange("error"),!1}return!0}return!1}async _pickAndSendFile(){try{const e=await this.platform.openFile();return e?this._sendFile(e):void 0}catch(e){console.error(e)}}async _sendFile(e){const t={body:e.name,msgtype:"m.file"};await this._room.sendEvent("m.room.message",t,{url:this._room.createAttachment(e.blob,e.name)})}async _pickAndSendVideo(){try{if(!this.platform.hasReadPixelPermission()){alert("Please allow canvas image data access, so we can scale your images down.");return}const e=await this.platform.openFile("video/*");if(!e)return;if(!e.blob.mimeType.startsWith("video/"))return this._sendFile(e);let t;try{t=await this.platform.loadVideo(e.blob)}catch(c){throw c instanceof window.MediaError&&c.code===4?new Error(`this browser does not support videos of type ${e==null?void 0:e.blob.mimeType}.`):c}const s={body:e.name,msgtype:"m.video",info:Ru(t)},i={url:this._room.createAttachment(t.blob,e.name)},o=await this.platform.settingsStorage.getInt("sentImageSizeLimit")||Math.min(t.maxDimension,800),a=await t.scale(o);s.info.thumbnail_info=Ht(a),i["info.thumbnail_url"]=this._room.createAttachment(a.blob,e.name),await this._room.sendEvent("m.room.message",s,i)}catch(e){this._sendError=e,this.emitChange("error"),console.error(e.stack)}}async _pickAndSendPicture(){try{if(!this.platform.hasReadPixelPermission()){alert("Please allow canvas image data access, so we can scale your images down.");return}const e=await this.platform.openFile("image/*");if(!e)return;if(!e.blob.mimeType.startsWith("image/"))return this._sendFile(e);let t=await this.platform.loadImage(e.blob);const s=await this.platform.settingsStorage.getInt("sentImageSizeLimit");if(s&&t.maxDimension>s){const o=await t.scale(s);t.dispose(),t=o}const i={body:e.name,msgtype:"m.image",info:Ht(t)},r={url:this._room.createAttachment(t.blob,e.name)};if(t.maxDimension>600){const o=await t.scale(400);i.info.thumbnail_info=Ht(o),r["info.thumbnail_url"]=this._room.createAttachment(o.blob,e.name)}await this._room.sendEvent("m.room.message",i,r)}catch(e){this._sendError=e,this.emitChange("error"),console.error(e.stack)}}get room(){return this._room}get composerViewModel(){return this._composerVM}openDetailsPanel(){let e=this.navigation.path.until("room");e=e.with(this.navigation.segment("right-panel",!0)),e=e.with(this.navigation.segment("details",!0)),this.navigation.applyPath(e)}startReply(e){this._room.isArchived||this._composerVM.setReplyingTo(e)}dismissError(){this._sendError=null,this.emitChange("error")}}function Ru(n){const e=Ht(n);return e.duration=n.duration,e}class Cu extends A{constructor(e){super(e),this._archivedRoom=e.archivedRoom}get description(){return this._archivedRoom.isKicked?this._archivedRoom.kickReason?this.i18n`You were kicked from the room by ${this._archivedRoom.kickedBy.name} because: ${this._archivedRoom.kickReason}`:this.i18n`You were kicked from the room by ${this._archivedRoom.kickedBy.name}.`:this._archivedRoom.isBanned?this._archivedRoom.kickReason?this.i18n`You were banned from the room by ${this._archivedRoom.kickedBy.name} because: ${this._archivedRoom.kickReason}`:this.i18n`You were banned from the room by ${this._archivedRoom.kickedBy.name}.`:this.i18n`You left this room`}get kind(){return"disabled"}}class Tu extends A{get description(){return this.i18n`You do not have the powerlevel necessary to send messages`}get kind(){return"disabled"}}class Mu extends A{constructor(e){super(e);const{roomIdOrAlias:t,session:s}=e;this._session=s,this.roomIdOrAlias=t,this._error=null,this._busy=!1}get error(){var e;return(e=this._error)==null?void 0:e.message}async join(){this._busy=!0,this.emitChange("busy");try{const e=await this._session.joinRoom(this.roomIdOrAlias);this.navigation.push("room",e)}catch(e){this._error=e,this._busy=!1,this.emitChange("error")}}get busy(){return this._busy}get kind(){return"unknown"}}class Au extends A{constructor(e){super(e);const{invite:t,mediaRepository:s}=e;this._invite=t,this._mediaRepository=s,this._onInviteChange=this._onInviteChange.bind(this),this._error=null,this._closeUrl=this.urlCreator.urlUntilSegment("session"),this._invite.on("change",this._onInviteChange),this._inviter=null,this._invite.inviter&&(this._inviter=new xu(this._invite.inviter,s,this.platform)),this._roomDescription=this._createRoomDescription()}get kind(){return"invite"}get closeUrl(){return this._closeUrl}get name(){return this._invite.name}get id(){return this._invite.id}get isEncrypted(){return this._invite.isEncrypted}get isDirectMessage(){return this._invite.isDirectMessage}get inviter(){return this._inviter}get busy(){return this._invite.accepting||this._invite.rejecting}get error(){return this._error?`Something went wrong: ${this._error.message}`:""}get avatarLetter(){return he(this.name)}get avatarColorNumber(){return de(this._invite.avatarColorId)}avatarUrl(e){return De(this._invite.avatarUrl,e,this.platform,this._mediaRepository)}_createRoomDescription(){const e=[];return this._invite.isPublic?e.push("Public room"):e.push("Private room"),this._invite.canonicalAlias&&e.push(this._invite.canonicalAlias),e.join(" \u2022 ")}get roomDescription(){return this._roomDescription}get avatarTitle(){return this.name}focus(){}async accept(){try{await this._invite.accept()}catch(e){this._error=e,this.emitChange("error")}}async reject(){try{await this._invite.reject()}catch(e){this._error=e,this.emitChange("error")}}_onInviteChange(){this.emitChange()}dispose(){super.dispose(),this._invite.off("change",this._onInviteChange)}}class xu{constructor(e,t,s){this._member=e,this._mediaRepository=t,this._platform=s}get id(){return this._member.userId}get name(){return this._member.name}get avatarLetter(){return he(this.name)}get avatarColorNumber(){return de(this._member.userId)}avatarUrl(e){return De(this._member.avatarUrl,e,this._platform,this._mediaRepository)}get avatarTitle(){return this.name}}class Nu extends A{constructor(e){super(e);const{roomBeingCreated:t,mediaRepository:s}=e;this._roomBeingCreated=t,this._mediaRepository=s,this._onRoomChange=this._onRoomChange.bind(this),this._closeUrl=this.urlCreator.urlUntilSegment("session"),this._roomBeingCreated.on("change",this._onRoomChange)}get kind(){return"roomBeingCreated"}get closeUrl(){return this._closeUrl}get name(){return this._roomBeingCreated.name}get id(){return this._roomBeingCreated.id}get isEncrypted(){return this._roomBeingCreated.isEncrypted}get error(){const{error:e}=this._roomBeingCreated;return e?e.name==="ConnectionError"?this.i18n`You seem to be offline`:e.message:""}get avatarLetter(){return he(this.name)}get avatarColorNumber(){return de(this._roomBeingCreated.avatarColorId)}get avatarTitle(){return this.name}avatarUrl(e){var t;return(t=this._roomBeingCreated.avatarBlobUrl)!=null?t:De(this._roomBeingCreated.avatarUrl,e,this.platform,this._mediaRepository)}focus(){}_onRoomChange(){this.emitChange()}cancel(){this._roomBeingCreated.cancel(),this.navigation.applyPath(this.navigation.path.until("session"))}dispose(){super.dispose(),this._roomBeingCreated.off("change",this._onRoomChange)}}class Du extends A{constructor(e){super(e),this._eventId=e.eventId,this._unencryptedImageUrl=null,this._decryptedImage=null,this._closeUrl=this.urlCreator.urlUntilSegment("room"),this._eventEntry=null,this._date=null,this._subscribeToEvent(e.room,e.eventId)}_subscribeToEvent(e,t){const s=e.observeEvent(t);this.track(s.subscribe(i=>{this._loadEvent(e,i)})),this._loadEvent(e,s.get())}async _loadEvent(e,t){if(!t)return;const{mediaRepository:s}=e;this._eventEntry=t;const{content:i}=this._eventEntry;this._date=this._eventEntry.timestamp?new Date(this._eventEntry.timestamp):null,i.url?(this._unencryptedImageUrl=s.mxcUrl(i.url),this.emitChange("imageUrl")):i.file&&(this._decryptedImage=this.track(await s.downloadEncryptedFile(i.file)),this.emitChange("imageUrl"))}get imageWidth(){var e,t,s;return(s=(t=(e=this._eventEntry)==null?void 0:e.content)==null?void 0:t.info)==null?void 0:s.w}get imageHeight(){var e,t,s;return(s=(t=(e=this._eventEntry)==null?void 0:e.content)==null?void 0:t.info)==null?void 0:s.h}get name(){var e,t;return(t=(e=this._eventEntry)==null?void 0:e.content)==null?void 0:t.body}get sender(){var e;return(e=this._eventEntry)==null?void 0:e.displayName}get imageUrl(){return this._decryptedImage?this._decryptedImage.url:this._unencryptedImageUrl?this._unencryptedImageUrl:""}get date(){return this._date&&this._date.toLocaleDateString({},{weekday:"long",year:"numeric",month:"long",day:"numeric"})}get time(){return this._date&&this._date.toLocaleTimeString({},{hour:"numeric",minute:"2-digit"})}get closeUrl(){return this._closeUrl}close(){this.platform.history.pushUrl(this.closeUrl)}}const J=xe("Disconnected","Connecting","FirstSync","Sending","Syncing","SyncError");class Vu extends A{constructor(e){super(e);const{sync:t,reconnector:s,session:i}=e;this._sync=t,this._reconnector=s,this._status=this._calculateState(s.connectionStatus.get(),t.status.get()),this._session=i,this._setupKeyBackupUrl=this.urlCreator.urlForSegment("settings"),this._dismissSecretStorage=!1}start(){const e=()=>this._updateStatus();this.track(this._sync.status.subscribe(e)),this.track(this._reconnector.connectionStatus.subscribe(e)),this.track(this._session.needsKeyBackup.subscribe(()=>{this.emitChange()}))}get setupKeyBackupUrl(){return this._setupKeyBackupUrl}get isShown(){return this._session.needsKeyBackup.get()&&!this._dismissSecretStorage||this._status!==J.Syncing}get statusLabel(){switch(this._status){case J.Disconnected:{const e=Math.round(this._reconnector.retryIn/1e3);return this.i18n`Disconnected, trying to reconnect in ${e}s…`}case J.Connecting:return this.i18n`Trying to reconnect now…`;case J.FirstSync:return this.i18n`Catching up with your conversations…`;case J.SyncError:return this.i18n`Sync failed because of ${this._sync.error}`}return this._session.needsKeyBackup.get()?this.i18n`Set up session backup to decrypt older messages.`:""}get isWaiting(){switch(this._status){case J.Connecting:case J.FirstSync:return!0;default:return!1}}_updateStatus(){const e=this._calculateState(this._reconnector.connectionStatus.get(),this._sync.status.get());e!==this._status&&(e===J.Disconnected?this._retryTimer=this.track(this.clock.createInterval(()=>{this.emitChange("statusLabel")},1e3)):this._retryTimer=this.disposeTracked(this._retryTimer),this._status=e,this.emitChange())}_calculateState(e,t){if(e!==$t.Online)switch(e){case $t.Reconnecting:return J.Connecting;case $t.Waiting:return J.Disconnected}else if(t!==L.Syncing)switch(t){case L.InitialSync:case L.CatchupSync:return J.FirstSync;case L.Stopped:return J.SyncError}else return J.Syncing}get isConnectNowShown(){return this._status===J.Disconnected}get isSecretStorageShown(){return this._status===J.Syncing&&this._session.needsKeyBackup.get()&&!this._dismissSecretStorage}get canDismiss(){return this.isSecretStorageShown}dismiss(){this.isSecretStorageShown&&(this._dismissSecretStorage=!0,this.emitChange())}connectNow(){this.isConnectNowShown&&this._reconnector.tryNow()}}function nn(n){return n.map((e,t)=>{if(!n.slice(0,t).includes(e))return e})}class Lu extends A{constructor(e){super(e),this._width=e.width,this._height=e.height,this._createRoomViewModelObservable=e.createRoomViewModelObservable,this._selectedIndex=0,this._viewModelsObservables=[],this._setupNavigation()}_setupNavigation(){const e=this.navigation.observe("empty-grid-tile");this.track(e.subscribe(s=>{typeof s=="number"&&this._setFocusIndex(s)})),typeof e.get()=="number"&&(this._selectedIndex=e.get());const t=this.navigation.observe("room");this.track(t.subscribe(s=>{s&&this._setFocusRoom(s)}))}roomViewModelAt(e){var t;return(t=this._viewModelsObservables[e])==null?void 0:t.get()}get focusIndex(){return this._selectedIndex}get width(){return this._width}get height(){return this._height}_switchToRoom(e){let t=this.navigation.path.until("rooms");t=t.with(this.navigation.segment("room",e)),t=vi(this.navigation,t),this.navigation.applyPath(t)}focusTile(e){if(e===this._selectedIndex)return;const t=this._viewModelsObservables[e];t?this._switchToRoom(t.id):this.navigation.push("empty-grid-tile",e)}initializeRoomIdsAndTransferVM(e,t){e=nn(e);let s=!1;if(t){const r=e.indexOf(t.id);r!==-1&&(this._viewModelsObservables[r]=this.track(t),t.subscribe(o=>this._refreshRoomViewModel(o)),s=!0)}this.setRoomIds(e);const i=this.navigation.path.get("room");if(i){const r=this._viewModelsObservables.findIndex(o=>o&&o.id===i.value);r!==-1&&(this._selectedIndex=r)}return s}setRoomIds(e){e=nn(e);let t=!1;const s=this._height*this._width;for(let i=0;ithis._refreshRoomViewModel(c)),a.initialize()}t=!0}}return t&&this.emitChange(),t}_refreshRoomViewModel(e){this.emitChange(),e==null||e.focus()}releaseRoomViewModel(e){const t=this._viewModelsObservables.findIndex(s=>s&&s.id===e);if(t!==-1){const s=this._viewModelsObservables[t];return this.untrack(s),s.unsubscribeAll(),this._viewModelsObservables[t]=null,s}}_setFocusIndex(e){var s;if(e===this._selectedIndex||e>=this._width*this._height)return;this._selectedIndex=e;const t=this._viewModelsObservables[this._selectedIndex];(s=t==null?void 0:t.get())==null||s.focus(),this.emitChange("focusIndex")}_setFocusRoom(e){const t=this._viewModelsObservables.findIndex(s=>(s==null?void 0:s.id)===e);t>=0&&this._setFocusIndex(t)}}const ee=xe("Enabled","SetupKey","SetupPhrase","Pending","NewVersionAvailable"),Lt=xe("Writing","Stopped","Done","Pending");class Ou extends A{constructor(e){super(e),this._session=e.session,this._error=null,this._isBusy=!1,this._dehydratedDeviceId=void 0,this._status=void 0,this._backupOperation=this._session.keyBackup.flatMap(t=>t.operationInProgress),this._progress=this._backupOperation.flatMap(t=>t.progress),this.track(this._backupOperation.subscribe(()=>{this._reevaluateStatus(),this.emitChange("isBackingUp")})),this.track(this._progress.subscribe(()=>this.emitChange("backupPercentage"))),this._reevaluateStatus(),this.track(this._session.keyBackup.subscribe(()=>{this._reevaluateStatus()&&this.emitChange("status")}))}_reevaluateStatus(){if(this._isBusy)return!1;let e;const t=this._session.keyBackup.get();t?e=t.needsNewKey?ee.NewVersionAvailable:ee.Enabled:t===null?e=this.showPhraseSetup()?ee.SetupPhrase:ee.SetupKey:e=ee.Pending;const s=e!==this._status;return this._status=e,s}get decryptAction(){return this.i18n`Set up`}get purpose(){return this.i18n`set up key backup`}offerDehydratedDeviceSetup(){return!0}get dehydratedDeviceId(){return this._dehydratedDeviceId}get isBusy(){return this._isBusy}get backupVersion(){var e;return(e=this._session.keyBackup.get())==null?void 0:e.version}get backupWriteStatus(){const e=this._session.keyBackup.get();if(e){if(e.hasStopped)return Lt.Stopped}else return Lt.Pending;return e.operationInProgress.get()?Lt.Writing:e.hasBackedUpAllKeys?Lt.Done:Lt.Pending}get backupError(){var e,t;return(t=(e=this._session.keyBackup.get())==null?void 0:e.error)==null?void 0:t.message}get status(){return this._status}get error(){var e;return(e=this._error)==null?void 0:e.message}showPhraseSetup(){this._status===ee.SetupKey&&(this._status=ee.SetupPhrase,this.emitChange("status"))}showKeySetup(){this._status===ee.SetupPhrase&&(this._status=ee.SetupKey,this.emitChange("status"))}async _enterCredentials(e,t,s){if(t)try{this._isBusy=!0,this.emitChange("isBusy");const i=await this._session.enableSecretStorage(e,t);s&&(this._dehydratedDeviceId=await this._session.setupDehydratedDevice(i))}catch(i){console.error(i),this._error=i,this.emitChange("error")}finally{this._isBusy=!1,this._reevaluateStatus(),this.emitChange("")}}enterSecurityPhrase(e,t){this._enterCredentials(Qt.Passphrase,e,t)}enterSecurityKey(e,t){this._enterCredentials(Qt.RecoveryKey,e,t)}async disable(){try{this._isBusy=!0,this.emitChange("isBusy"),await this._session.disableSecretStorage()}catch(e){console.error(e),this._error=e,this.emitChange("error")}finally{this._isBusy=!1,this._reevaluateStatus(),this.emitChange("")}}get isBackingUp(){return!!this._backupOperation.get()}get backupPercentage(){const e=this._progress.get();return e?Math.round(e.finished/e.total*100):0}get backupInProgressLabel(){const e=this._progress.get();return e?this.i18n`${e.finished} of ${e.total}`:this.i18n`…`}cancelBackup(){var e;(e=this._backupOperation.get())==null||e.abort()}startBackup(){var e;(e=this._session.keyBackup.get())==null||e.flush()}}async function Pu(n,e,t,s){const i=new Map;n.text&&i.set("text",n.text),i.set("user_agent",n.userAgent),i.set("app",n.app),i.set("version",n.version),n.label&&i.set("label",n.label),i.set("file",{name:"logs.json",blob:e});const r=new Map;r.set("Accept","application/json");const o=s(t,{method:"POST",body:i,headers:r});let a;try{a=await o.response()}catch(h){throw new Error(`Could not submit logs to ${t}, got error ${h.message}`)}const{status:c,body:l}=a;if(c<200||c>=300)throw new Error(`Could not submit logs to ${t}, got status code ${c} with body ${l}`)}class Uu{constructor(){this.supported=null,this.enabled=!1,this.updating=!1,this.enabledOnServer=null,this.serverError=null}}function Fu(n){const t=Math.ceil(n.length/4);let s="";for(let i=0;ithis.maxSentImageSizeLimit||es){const i=await t.scale(s);t.dispose(),t=i}this._avatarScaledBlob=t.blob,this._avatarInfo=Ht(t),this._avatarFileName=e.name,this.emitChange("hasAvatar")}}function $u(n){n.startsWith("#")&&(n=n.substr(1));const e=n.indexOf(":");return e!==-1&&(n=n.substr(0,e)),n}class on extends we{constructor(e,t){super(null),this._statusSubscription=null,this._sessionViewModel=e,this.id=t}async initialize(){const{session:e}=this._sessionViewModel._client,t=await e.observeRoomStatus(this.id);this.set(await this._statusToViewModel(t.get())),this._statusSubscription=t.subscribe(async s=>{var i;(i=this.get())==null||i.dispose(),this.set(await this._statusToViewModel(s))})}async _statusToViewModel(e){if(e&U.Replaced)if(e&U.BeingCreated){const{session:t}=this._sessionViewModel._client,s=t.roomsBeingCreated.get(this.id);this._sessionViewModel.notifyRoomReplaced(s.id,s.roomId)}else throw new Error("Don't know how to replace a room with this status: "+(e^U.Replaced));else return e&U.BeingCreated?this._sessionViewModel._createRoomBeingCreatedViewModel(this.id):e&U.Invited?this._sessionViewModel._createInviteViewModel(this.id):e&U.Joined?this._sessionViewModel._createRoomViewModelInstance(this.id):e&U.Archived?await this._sessionViewModel._createArchivedRoomViewModel(this.id):this._sessionViewModel._createUnknownRoomViewModel(this.id)}dispose(){var e;this._statusSubscription&&(this._statusSubscription=this._statusSubscription()),this.unsubscribeAll(),(e=this.get())==null||e.dispose()}}class ju extends A{constructor(e){super(e),this._room=e.room,this._onRoomChange=this._onRoomChange.bind(this),this._room.on("change",this._onRoomChange)}get type(){return"room-details"}get shouldShowBackButton(){return!1}get previousSegmentName(){return!1}get roomId(){return this._room.id}get canonicalAlias(){return this._room.canonicalAlias}get name(){return this._room.name}get isEncrypted(){return!!this._room.isEncrypted}get memberCount(){return this._room.joinedMemberCount}get avatarLetter(){return he(this.name)}get avatarColorNumber(){return de(this._room.avatarColorId)}avatarUrl(e){return De(this._room.avatarUrl,e,this.platform,this._room.mediaRepository)}get avatarTitle(){return this.name}_onRoomChange(){this.emitChange()}dispose(){super.dispose(),this._room.off("change",this._onRoomChange)}openPanel(e){let t=this.navigation.path.until("room");t=t.with(this.navigation.segment("right-panel",!0)),t=t.with(this.navigation.segment(e,!0)),this.navigation.applyPath(t)}}class qu extends A{constructor(e){super(e),this._member=this._options.member,this._mediaRepository=e.mediaRepository,this._previousName=null,this._nameChanged=!0}get name(){return`${this._member.name}${this._disambiguationPart}`}get _disambiguationPart(){return this._disambiguate?` (${this.userId})`:""}get userId(){return this._member.userId}get previousName(){return this._previousName}get nameChanged(){return this._nameChanged}get detailsUrl(){const e=this.navigation.path.get("room").value;return`${this.urlCreator.openRoomActionUrl(e)}/member/${this._member.userId}`}_updatePreviousName(e){const t=this._member.name;t!==e?(this._previousName=t,this._nameChanged=!0):this._nameChanged=!1}setDisambiguation(e){this._disambiguate=e,this.emitChange()}updateFrom(e){this._updatePreviousName(e.name),this._member=e}get avatarLetter(){return he(this.name)}get avatarColorNumber(){return de(this.userId)}avatarUrl(e){return De(this._member.avatarUrl,e,this.platform,this._mediaRepository)}get avatarTitle(){return this.name}}function Wu(n){const e=new Intl.Collator,t=s=>s.charAt(0)==="@"?s.slice(1):s;return function(i,r){const o=n.getUserLevel(i.userId),a=n.getUserLevel(r.userId);if(o!==a)return a-o;const c=t(i.name),l=t(r.name);return e.compare(c,l)}}class Hu{constructor(){this._map=new Map}_unDisambiguate(e,t){const s=t.indexOf(e);if(s!==-1){const[i]=t.splice(s,1);i.setDisambiguation(!1)}}_handlePreviousName(e){const t=e.previousName;if(typeof t!="string")return;const s=this._map.get(t);if(Array.isArray(s)){if(this._unDisambiguate(e,s),s.length===1){const i=s[0];i.setDisambiguation(!1),this._map.set(t,i)}}else this._map.delete(t)}_updateMap(e){const t=e.name,s=this._map.get(t);if(s){if(Array.isArray(s))return s.findIndex(i=>i.userId===e.userId)!==-1?void 0:(s.push(e),s);if(e.userId!==s.userId){const i=[s,e];return this._map.set(t,i),i}}else this._map.set(t,e)}disambiguate(e){if(!e.nameChanged)return;this._handlePreviousName(e);const t=this._updateMap(e);t==null||t.forEach(s=>s.setDisambiguation(!0))}}class zu extends A{constructor(e){super(e);const t=e.members,s=e.powerLevelsObservable;this.track(s.subscribe(()=>{}));const i=s.get();this.memberTileViewModels=this._mapTileViewModels(t.members.filterValues(r=>r.membership==="join")).sortValues(Wu(i)),this.nameDisambiguator=new Hu,this.mediaRepository=e.mediaRepository}get type(){return"member-list"}get shouldShowBackButton(){return!0}get previousSegmentName(){return"details"}_mapTileViewModels(e){const t=(i,r)=>{const o=this.mediaRepository,a=new qu(this.childOptions({member:i,emitChange:r,mediaRepository:o}));return this.nameDisambiguator.disambiguate(a),a},s=(i,r,o)=>{i.updateFrom(o),this.nameDisambiguator.disambiguate(i)};return e.mapValues(t,s)}}class Gu extends A{constructor(e){super(e),this._observableMember=e.observableMember,this._mediaRepository=e.mediaRepository,this._member=this._observableMember.get(),this._isEncrypted=e.isEncrypted,this._powerLevelsObservable=e.powerLevelsObservable,this._session=e.session,this.track(this._powerLevelsObservable.subscribe(()=>this._onPowerLevelsChange())),this.track(this._observableMember.subscribe(()=>this._onMemberChange()))}get name(){return this._member.name}get userId(){return this._member.userId}get type(){return"member-details"}get shouldShowBackButton(){return!0}get previousSegmentName(){return"members"}get role(){return this.powerLevel>=100?this.i18n`Admin`:this.powerLevel>=50?this.i18n`Moderator`:this.powerLevel===0?this.i18n`Default`:this.i18n`Custom (${this.powerLevel})`}_onMemberChange(){this._member=this._observableMember.get(),this.emitChange("member")}_onPowerLevelsChange(){this.emitChange("role")}get avatarLetter(){return he(this.name)}get avatarColorNumber(){return de(this.userId)}avatarUrl(e){return De(this._member.avatarUrl,e,this.platform,this._mediaRepository)}get avatarTitle(){return this.name}get isEncrypted(){return this._isEncrypted}get powerLevel(){var e;return(e=this._powerLevelsObservable.get())==null?void 0:e.getUserLevel(this._member.userId)}get linkToUser(){return`https://matrix.to/#/${encodeURIComponent(this._member.userId)}`}async openDirectMessage(){const e=this._session.findDirectMessageForUserId(this.userId);let t=e==null?void 0:e.id;t||(t=(await this._session.createRoom({type:re.DirectMessage,invites:[this.userId]})).id),this.navigation.push("room",t)}}class Ju extends A{constructor(e){super(e),this._room=e.room,this._session=e.session,this._members=null,this._setupNavigation()}get activeViewModel(){return this._activeViewModel}async _getMemberListArguments(){this._members||(this._members=await this._room.loadMemberList(),this.track(()=>this._members.release()));const e=this._room,t=await this._room.observePowerLevels();return{members:this._members,powerLevelsObservable:t,mediaRepository:e.mediaRepository}}async _getMemberDetailsArguments(){const t=this.navigation.path.get("member").value,s=await this._room.observeMember(t);if(!s)return!1;const i=this._room.isEncrypted,r=await this._room.observePowerLevels();return{observableMember:s,isEncrypted:i,powerLevelsObservable:r,mediaRepository:this._room.mediaRepository,session:this._session}}_setupNavigation(){this._hookUpdaterToSegment("details",ju,()=>({room:this._room})),this._hookUpdaterToSegment("members",zu,()=>this._getMemberListArguments()),this._hookUpdaterToSegment("member",Gu,()=>this._getMemberDetailsArguments(),()=>{const e=`${this.urlCreator.urlUntilSegment("room")}/members`;this.urlCreator.pushUrl(e)})}_hookUpdaterToSegment(e,t,s,i){const r=this.navigation.observe(e),o=this._setupUpdater(e,t,s,i);this.track(r.subscribe(o))}_setupUpdater(e,t,s,i){const r=async(o=!1)=>{var c;if(o||(this._activeViewModel=this.disposeTracked(this._activeViewModel)),!!((c=this.navigation.path.get(e))!=null&&c.value)){const l=await s();if(!l&&i){i();return}this._activeViewModel=this.track(new t(this.childOptions(l)))}this.emitChange("activeViewModel")};return r(!0),r}closePanel(){const e=this.navigation.path.until("room");this.navigation.applyPath(e)}showPreviousPanel(){const e=this.activeViewModel.previousSegmentName;if(e){let t=this.navigation.path.until("room");t=t.with(this.navigation.segment("right-panel",!0)),t=t.with(this.navigation.segment(e,!0)),this.navigation.applyPath(t)}}}class Qu extends A{constructor(e){super(e);const{client:t}=e;this._client=this.track(t),this._sessionStatusViewModel=this.track(new Vu(this.childOptions({sync:t.sync,reconnector:t.reconnector,session:t.session}))),this._leftPanelViewModel=this.track(new Bd(this.childOptions({session:this._client.session}))),this._settingsViewModel=null,this._roomViewModelObservable=null,this._gridViewModel=null,this._createRoomViewModel=null,this._setupNavigation()}_setupNavigation(){const e=this.navigation.observe("rooms");this.track(e.subscribe(a=>{this._updateGrid(a)})),e.get()&&this._updateGrid(e.get());const t=this.navigation.observe("room");this.track(t.subscribe(a=>{this._gridViewModel||this._updateRoom(a),this._updateRightPanel()})),this._gridViewModel||this._updateRoom(t.get());const s=this.navigation.observe("settings");this.track(s.subscribe(a=>{this._updateSettings(a)})),this._updateSettings(s.get());const i=this.navigation.observe("create-room");this.track(i.subscribe(a=>{this._updateCreateRoom(a)})),this._updateCreateRoom(i.get());const r=this.navigation.observe("lightbox");this.track(r.subscribe(a=>{this._updateLightbox(a)})),this._updateLightbox(r.get());const o=this.navigation.observe("right-panel");this.track(o.subscribe(()=>this._updateRightPanel())),this._updateRightPanel()}get id(){return this._client.sessionId}start(){this._sessionStatusViewModel.start()}get activeMiddleViewModel(){var e;return((e=this._roomViewModelObservable)==null?void 0:e.get())||this._gridViewModel||this._settingsViewModel||this._createRoomViewModel}get roomGridViewModel(){return this._gridViewModel}get leftPanelViewModel(){return this._leftPanelViewModel}get sessionStatusViewModel(){return this._sessionStatusViewModel}get settingsViewModel(){return this._settingsViewModel}get currentRoomViewModel(){var e;return(e=this._roomViewModelObservable)==null?void 0:e.get()}get rightPanelViewModel(){return this._rightPanelViewModel}get createRoomViewModel(){return this._createRoomViewModel}_updateGrid(e){var i;const t=!(this._gridViewModel&&e),s=this.navigation.path.get("room");if(e)this._gridViewModel?this._gridViewModel.setRoomIds(e):(this._gridViewModel=this.track(new Lu(this.childOptions({width:3,height:2,createRoomViewModelObservable:r=>new on(this,r)}))),(i=this._roomViewModelObservable)==null||i.unsubscribeAll(),this._gridViewModel.initializeRoomIdsAndTransferVM(e,this._roomViewModelObservable)?this._roomViewModelObservable=this.untrack(this._roomViewModelObservable):this._roomViewModelObservable&&(this._roomViewModelObservable=this.disposeTracked(this._roomViewModelObservable)));else if(this._gridViewModel&&!e){if(s){const r=this._gridViewModel.releaseRoomViewModel(s.value);r&&(this._roomViewModelObservable=this.track(r),this._roomViewModelObservable.subscribe(()=>{this.emitChange("activeMiddleViewModel")}))}this._gridViewModel=this.disposeTracked(this._gridViewModel)}t&&this.emitChange("activeMiddleViewModel")}_createRoomViewModelInstance(e){const t=this._client.session.rooms.get(e);if(t){const s=new rn(this.childOptions({room:t}));return s.load(),s}return null}_createUnknownRoomViewModel(e){return new Mu(this.childOptions({roomIdOrAlias:e,session:this._client.session}))}async _createArchivedRoomViewModel(e){const t=await this._client.session.loadArchivedRoom(e);if(t){const s=new rn(this.childOptions({room:t}));return s.load(),s}return null}_createInviteViewModel(e){const t=this._client.session.invites.get(e);return t?new Au(this.childOptions({invite:t,mediaRepository:this._client.session.mediaRepository})):null}_createRoomBeingCreatedViewModel(e){const t=this._client.session.roomsBeingCreated.get(e);return t?new Nu(this.childOptions({roomBeingCreated:t,mediaRepository:this._client.session.mediaRepository})):null}_updateRoom(e){var s;if(((s=this._roomViewModelObservable)==null?void 0:s.id)===e)return;if(this._roomViewModelObservable&&(this._roomViewModelObservable=this.disposeTracked(this._roomViewModelObservable)),!e){this.emitChange("activeMiddleViewModel");return}const t=new on(this,e);this._roomViewModelObservable=this.track(t),this._roomViewModelObservable.subscribe(()=>{this.emitChange("activeMiddleViewModel")}),t.initialize()}_updateSettings(e){this._settingsViewModel&&(this._settingsViewModel=this.disposeTracked(this._settingsViewModel)),e&&(this._settingsViewModel=this.track(new Bu(this.childOptions({client:this._client}))),this._settingsViewModel.load()),this.emitChange("activeMiddleViewModel")}_updateCreateRoom(e){this._createRoomViewModel&&(this._createRoomViewModel=this.disposeTracked(this._createRoomViewModel)),e&&(this._createRoomViewModel=this.track(new Ku(this.childOptions({session:this._client.session})))),this.emitChange("activeMiddleViewModel")}_updateLightbox(e){if(this._lightboxViewModel&&(this._lightboxViewModel=this.disposeTracked(this._lightboxViewModel)),e){const t=this._roomFromNavigation();this._lightboxViewModel=this.track(new Du(this.childOptions({eventId:e,room:t})))}this.emitChange("lightboxViewModel")}get lightboxViewModel(){return this._lightboxViewModel}_roomFromNavigation(){var s;const e=(s=this.navigation.path.get("room"))==null?void 0:s.value;return this._client.session.rooms.get(e)}_updateRightPanel(){var t;if(this._rightPanelViewModel=this.disposeTracked(this._rightPanelViewModel),!!((t=this.navigation.path.get("right-panel"))!=null&&t.value)){const s=this._roomFromNavigation();this._rightPanelViewModel=this.track(new Ju(this.childOptions({room:s,session:this._client.session})))}this.emitChange("rightPanelViewModel")}notifyRoomReplaced(e,t){this.navigation.push("room",t)}}class Yu extends A{constructor(e){super(e),this._accountSetup=e.accountSetup,this._dehydratedDevice=void 0,this._decryptDehydratedDeviceViewModel=void 0,this._accountSetup.encryptedDehydratedDevice&&(this._decryptDehydratedDeviceViewModel=new Xu(this,t=>{this._dehydratedDevice=t,this._decryptDehydratedDeviceViewModel=void 0,this.emitChange("deviceDecrypted")}))}get decryptDehydratedDeviceViewModel(){return this._decryptDehydratedDeviceViewModel}get deviceDecrypted(){return!!this._dehydratedDevice}get dehydratedDeviceId(){return this._accountSetup.encryptedDehydratedDevice.deviceId}finish(){this._accountSetup.finish(this._dehydratedDevice)}}class Xu extends A{constructor(e,t){super(e.options),this._accountSetupViewModel=e,this._isBusy=!1,this._status=ee.SetupKey,this._error=void 0,this._decryptedCallback=t}get decryptAction(){return this.i18n`Restore`}get purpose(){return this.i18n`claim your dehydrated device`}get offerDehydratedDeviceSetup(){return!1}get dehydratedDeviceId(){var e;return(e=this._accountSetupViewModel._dehydratedDevice)==null?void 0:e.deviceId}get isBusy(){return this._isBusy}get backupVersion(){return 0}get status(){return this._status}get error(){var e;return(e=this._error)==null?void 0:e.message}showPhraseSetup(){this._status===ee.SetupKey&&(this._status=ee.SetupPhrase,this.emitChange("status"))}showKeySetup(){this._status===ee.SetupPhrase&&(this._status=ee.SetupKey,this.emitChange("status"))}async _enterCredentials(e,t){if(t)try{this._isBusy=!0,this.emitChange("isBusy");const{encryptedDehydratedDevice:s}=this._accountSetupViewModel._accountSetup,i=await s.decrypt(e,t);this._decryptedCallback(i)}catch(s){console.error(s),this._error=s,this.emitChange("error")}finally{this._isBusy=!1,this.emitChange("")}}enterSecurityPhrase(e){this._enterCredentials(Qt.Passphrase,e)}enterSecurityKey(e){this._enterCredentials(Qt.RecoveryKey,e)}disable(){}}class Eo extends A{constructor(e){super(e);const{client:t,ready:s,homeserver:i,deleteSessionOnCancel:r}=e;this._client=t,this._ready=s,this._homeserver=i,this._deleteSessionOnCancel=r,this._loading=!1,this._error=null,this.backUrl=this.urlCreator.urlForSegment("session",!0),this._accountSetupViewModel=void 0}async start(){if(!this._loading)try{this._loading=!0,this.emitChange("loading"),this._waitHandle=this._client.loadStatus.waitFor(s=>(s===M.AccountSetup?this._accountSetupViewModel=new Yu(this.childOptions({accountSetup:this._client.accountSetup})):this._accountSetupViewModel=void 0,this.emitChange("loadLabel"),s===M.FirstSync&&this._client.sync.status.get()===L.CatchupSync||s===M.LoginFailed||s===M.Error||s===M.Ready));try{await this._waitHandle.promise}catch{return}const e=this._client.loadStatus.get(),t=this._client.loadError;if(e===M.FirstSync||e===M.Ready){const s=this._client;this._client=null,this._ready(s)}t&&console.error("session load error",t)}catch(e){this._error=e,console.error("error thrown during session load",e.stack)}finally{this._loading=!1,this.emitChange("loading")}}dispose(){this._client&&(this._client.dispose(),this._client=null),this._waitHandle&&(this._waitHandle.dispose(),this._waitHandle=null)}get loading(){const e=this._client;return e&&e.loadStatus.get()===M.AccountSetup?!1:this._loading}get loadLabel(){const e=this._client,t=this._getError();if(t||e&&e.loadStatus.get()===M.Error)return`Something went wrong: ${t&&t.message}.`;if(e)switch(e.loadStatus.get()){case M.QueryAccount:return"Querying account encryption setup\u2026";case M.AccountSetup:return"";case M.SessionSetup:return"Setting up your encryption keys\u2026";case M.Loading:return"Loading your conversations\u2026";case M.FirstSync:return"Getting your conversations from the server\u2026";default:return this._client.loadStatus.get()}return"Preparing\u2026"}_getError(){var e;return this._error||((e=this._client)==null?void 0:e.loadError)}get hasError(){return!!this._getError()}async exportLogs(){const e=await this.logger.export();this.platform.saveFileAs(e.asBlob(),`hydrogen-logs-${this.platform.clock.now()}.json`)}async logout(){await this._client.logout(),this.navigation.push("session",!0)}get accountSetupViewModel(){return this._accountSetupViewModel}}class Zu extends A{constructor(e){super(e);const{loginOptions:t,attemptLogin:s}=e;this._loginOptions=t,this._attemptLogin=s,this._isBusy=!1,this._errorMessage=""}get isBusy(){return this._isBusy}get errorMessage(){return this._errorMessage}setBusy(e){this._isBusy=e,this.emitChange("isBusy")}_showError(e){this._errorMessage=e,this.emitChange("errorMessage")}async login(e,t){this._errorMessage="",this.emitChange("errorMessage");const s=await this._attemptLogin(this._loginOptions.password(e,t));let i="";switch(s){case Ce.Credentials:i=this.i18n`Your username and/or password don't seem to be correct.`;break;case Ce.Connection:i=this.i18n`Can't connect to ${this._loginOptions.homeserver}.`;break;case Ce.Unknown:i=this.i18n`Something went wrong while checking your login and password.`;break}i&&this._showError(i)}}class em extends A{constructor(e){super(e),this._sso=e.loginOptions.sso,this._isBusy=!1}get isBusy(){return this._isBusy}setBusy(e){this._isBusy=e,this.emitChange("isBusy")}async startSSOLogin(){await this.platform.settingsStorage.setString("sso_ongoing_login_homeserver",this._sso.homeserver);const e=this._sso.createSSORedirectURL(this.urlCreator.createSSOCallbackURL());this.platform.openUrl(e)}}class tm extends A{constructor(e){super(e);const{loginToken:t,client:s,attemptLogin:i}=e;this._loginToken=t,this._client=s,this._attemptLogin=i,this._errorMessage="",this.performSSOLoginCompletion()}get errorMessage(){return this._errorMessage}_showError(e){this._errorMessage=e,this.emitChange("errorMessage")}async performSSOLoginCompletion(){if(!this._loginToken)return;const e=await this.platform.settingsStorage.getString("sso_ongoing_login_homeserver");let t;try{t=await this._client.queryLogin(e).result}catch(r){this._showError(r.message);return}if(!t.token){this.navigation.push("session");return}const s=await this._attemptLogin(t.token(this._loginToken));let i="";switch(s){case Ce.Credentials:i=this.i18n`Your login token is invalid.`;break;case Ce.Connection:i=this.i18n`Can't connect to ${e}.`;break;case Ce.Unknown:i=this.i18n`Something went wrong while checking your login token.`;break}i&&this._showError(i)}}class sm extends A{constructor(e){super(e),this._hideHomeserver=!1,this._isBusy=!1,this._errorMessage="";const{ready:t,defaultHomeserver:s,loginToken:i}=e;this._ready=t,this._loginToken=i,this._client=new ji(this.platform),this._homeserver=s,this._initViewModels()}get passwordLoginViewModel(){return this._passwordLoginViewModel}get startSSOLoginViewModel(){return this._startSSOLoginViewModel}get completeSSOLoginViewModel(){return this._completeSSOLoginViewModel}get homeserver(){return this._homeserver}get resolvedHomeserver(){var e;return(e=this._loginOptions)==null?void 0:e.homeserver}get errorMessage(){return this._errorMessage}get showHomeserver(){return!this._hideHomeserver}get loadViewModel(){return this._loadViewModel}get isBusy(){return this._isBusy}get isFetchingLoginOptions(){return!!this._abortQueryOperation}goBack(){this.navigation.push("session")}_initViewModels(){this._loginToken?(this._hideHomeserver=!0,this._completeSSOLoginViewModel=this.track(new tm(this.childOptions({client:this._client,attemptLogin:e=>this.attemptLogin(e),loginToken:this._loginToken}))),this.emitChange("completeSSOLoginViewModel")):this.queryHomeserver()}_showPasswordLogin(){this._passwordLoginViewModel=this.track(new Zu(this.childOptions({loginOptions:this._loginOptions,attemptLogin:e=>this.attemptLogin(e)}))),this.emitChange("passwordLoginViewModel")}_showSSOLogin(){this._startSSOLoginViewModel=this.track(new em(this.childOptions({loginOptions:this._loginOptions}))),this.emitChange("startSSOLoginViewModel")}_showError(e){this._errorMessage=e,this.emitChange("errorMessage")}_setBusy(e){var t,s;this._isBusy=e,(t=this._passwordLoginViewModel)==null||t.setBusy(e),(s=this._startSSOLoginViewModel)==null||s.setBusy(e),this.emitChange("isBusy")}async attemptLogin(e){this._setBusy(!0),this._client.startWithLogin(e,{inspectAccountSetup:!0});const t=this._client.loadStatus;return await t.waitFor(r=>r!==M.Login).promise,this._setBusy(!1),t.get()===M.LoginFailed?this._client.loginFailure:(this._hideHomeserver=!0,this.emitChange("hideHomeserver"),this._disposeViewModels(),this._createLoadViewModel(),null)}_createLoadViewModel(){this._loadViewModelSubscription=this.disposeTracked(this._loadViewModelSubscription),this._loadViewModel=this.disposeTracked(this._loadViewModel),this._loadViewModel=this.track(new Eo(this.childOptions({ready:e=>{this._client=null,this._ready(e)},client:this._client,homeserver:this._homeserver}))),this._loadViewModel.start(),this.emitChange("loadViewModel"),this._loadViewModelSubscription=this.track(this._loadViewModel.disposableOn("change",()=>{this._loadViewModel.loading||(this._loadViewModelSubscription=this.disposeTracked(this._loadViewModelSubscription)),this._setBusy(!1)}))}_disposeViewModels(){this._startSSOLoginViewModel=this.disposeTracked(this._startSSOLoginViewModel),this._passwordLoginViewModel=this.disposeTracked(this._passwordLoginViewModel),this._completeSSOLoginViewModel=this.disposeTracked(this._completeSSOLoginViewModel),this.emitChange("disposeViewModels")}async setHomeserver(e){this._homeserver=e,this._loginOptions=void 0,this._queriedHomeserver=void 0,this._showError(""),this._disposeViewModels(),this._abortQueryOperation=this.disposeTracked(this._abortQueryOperation),this.emitChange("loginViewModels"),this.disposeTracked(this._abortHomeserverQueryTimeout);const t=this.clock.createTimeout(1e3);this._abortHomeserverQueryTimeout=this.track(()=>t.abort());try{await t.elapsed()}catch(s){if(s.name==="AbortError")return;throw s}this._abortHomeserverQueryTimeout=this.disposeTracked(this._abortHomeserverQueryTimeout),this.queryHomeserver()}async queryHomeserver(){if(!(this._homeserver===this._queriedHomeserver||this._homeserver==="")){this._queriedHomeserver=this._homeserver,this._abortHomeserverQueryTimeout=this.disposeTracked(this._abortHomeserverQueryTimeout),this._abortQueryOperation=this.disposeTracked(this._abortQueryOperation);try{const e=this._client.queryLogin(this._homeserver);this._abortQueryOperation=this.track(()=>e.abort()),this.emitChange("isFetchingLoginOptions"),this._loginOptions=await e.result,this.emitChange("resolvedHomeserver")}catch(e){if(e.name==="AbortError")return;this._loginOptions=void 0}finally{this._abortQueryOperation=this.disposeTracked(this._abortQueryOperation),this.emitChange("isFetchingLoginOptions")}this._loginOptions?(this._loginOptions.sso&&this._showSSOLogin(),this._loginOptions.password&&this._showPasswordLogin(),!this._loginOptions.sso&&!this._loginOptions.password&&this._showError("This homeserver supports neither SSO nor password based login flows")):this._showError(`Could not query login methods supported by ${this.homeserver}`)}}dispose(){super.dispose(),this._client&&this._client.deleteSession()}}class im extends A{constructor(e){super(e),this._sessionId=e.sessionId,this._busy=!1,this._showConfirm=!0,this._error=void 0}get showConfirm(){return this._showConfirm}get busy(){return this._busy}get cancelUrl(){return this.urlCreator.urlForSegment("session",!0)}async logout(){this._busy=!0,this._showConfirm=!1,this.emitChange("busy");try{await new ji(this.platform).startLogout(this._sessionId),this.navigation.push("session",!0)}catch(e){this._error=e,this._busy=!1,this.emitChange("busy")}}get status(){return this._error?this.i18n`Could not log out of device: ${this._error.message}`:this.i18n`Logging out… Please don't close the app.`}}class rm extends A{constructor(e,t){super(e),this._pickerVM=t,this._sessionInfo=e.sessionInfo,this._isDeleting=!1,this._isClearing=!1,this._error=null,this._exportDataUrl=null}get error(){return this._error&&this._error.message}get id(){return this._sessionInfo.id}get openUrl(){return this.urlCreator.urlForSegment("session",this.id)}get label(){const{userId:e,comment:t}=this._sessionInfo;return t?`${e} (${t})`:e}get sessionInfo(){return this._sessionInfo}get exportDataUrl(){return this._exportDataUrl}get avatarColorNumber(){return de(this._sessionInfo.userId)}get avatarInitials(){return he(this._sessionInfo.userId)}}class nm extends A{constructor(e){super(e),this._sessions=new xi((t,s)=>t.id.localeCompare(s.id)),this._loadViewModel=null,this._error=null}async load(){const e=await this.platform.sessionInfoStorage.getAll();this._sessions.setManyUnsorted(e.map(t=>new rm(this.childOptions({sessionInfo:t}),this)))}get loadViewModel(){return this._loadViewModel}get sessions(){return this._sessions}get cancelUrl(){return this.urlCreator.urlForSegment("login")}}class om extends A{constructor(e){super(e),this._error=null,this._sessionPickerViewModel=null,this._sessionLoadViewModel=null,this._loginViewModel=null,this._logoutViewModel=null,this._sessionViewModel=null,this._pendingClient=null}async load(){this.track(this.navigation.observe("login").subscribe(()=>this._applyNavigation())),this.track(this.navigation.observe("session").subscribe(()=>this._applyNavigation())),this.track(this.navigation.observe("sso").subscribe(()=>this._applyNavigation())),this._applyNavigation(!0)}async _applyNavigation(e){var o,a,c;const t=this.navigation.path.get("login"),s=(o=this.navigation.path.get("logout"))==null?void 0:o.value,i=(a=this.navigation.path.get("session"))==null?void 0:a.value,r=(c=this.navigation.path.get("sso"))==null?void 0:c.value;if(t)this.activeSection!=="login"&&this._showLogin();else if(s)this.activeSection!=="logout"&&this._showLogout(s);else if(i===!0)this.activeSection!=="picker"&&this._showPicker();else if(i){if(!this._sessionViewModel||this._sessionViewModel.id!==i)if(this._pendingClient&&this._pendingClient.sessionId===i){const l=this._pendingClient;this._pendingClient=null,this._showSession(l)}else this._pendingClient&&(this._pendingClient.dispose(),this._pendingClient=null),this._showSessionLoader(i)}else if(r)this.urlCreator.normalizeUrl(),this.activeSection!=="login"&&this._showLogin(r);else try{if(!(e&&this.urlCreator.tryRestoreLastUrl())){const l=await this.platform.sessionInfoStorage.getAll();l.length===0?this.navigation.push("login"):l.length===1?this.navigation.push("session",l[0].id):this.navigation.push("session")}}catch(l){this._setSection(()=>this._error=l)}}async _showPicker(){this._setSection(()=>{this._sessionPickerViewModel=new nm(this.childOptions())});try{await this._sessionPickerViewModel.load()}catch(e){this._setSection(()=>this._error=e)}}_showLogin(e){this._setSection(()=>{this._loginViewModel=new sm(this.childOptions({defaultHomeserver:this.platform.config.defaultHomeServer,ready:t=>{this._pendingClient=t,this.navigation.push("session",t.sessionId)},loginToken:e}))})}_showLogout(e){this._setSection(()=>{this._logoutViewModel=new im(this.childOptions({sessionId:e}))})}_showSession(e){this._setSection(()=>{this._sessionViewModel=new Qu(this.childOptions({client:e})),this._sessionViewModel.start()})}_showSessionLoader(e){const t=new ji(this.platform);t.startWithExistingSession(e),this._setSection(()=>{this._sessionLoadViewModel=new Eo(this.childOptions({client:t,ready:s=>this._showSession(s)})),this._sessionLoadViewModel.start()})}get activeSection(){return this._error?"error":this._sessionViewModel?"session":this._loginViewModel?"login":this._logoutViewModel?"logout":this._sessionPickerViewModel?"picker":this._sessionLoadViewModel?"loading":"redirecting"}_setSection(e){this._error=null,this._sessionPickerViewModel=this.disposeTracked(this._sessionPickerViewModel),this._sessionLoadViewModel=this.disposeTracked(this._sessionLoadViewModel),this._loginViewModel=this.disposeTracked(this._loginViewModel),this._logoutViewModel=this.disposeTracked(this._logoutViewModel),this._sessionViewModel=this.disposeTracked(this._sessionViewModel),e(),this._sessionPickerViewModel&&this.track(this._sessionPickerViewModel),this._sessionLoadViewModel&&this.track(this._sessionLoadViewModel),this._loginViewModel&&this.track(this._loginViewModel),this._logoutViewModel&&this.track(this._logoutViewModel),this._sessionViewModel&&this.track(this._sessionViewModel),this.emitChange("activeSection")}get error(){return this._error}get sessionViewModel(){return this._sessionViewModel}get loginViewModel(){return this._loginViewModel}get logoutViewModel(){return this._logoutViewModel}get sessionPickerViewModel(){return this._sessionPickerViewModel}get sessionLoadViewModel(){return this._sessionLoadViewModel}}async function am(n){try{await n.init();const e=Vd();n.setNavigation(e);const t=Ld({navigation:e,history:n.history});t.attach();const s=new om({platform:n,urlCreator:t,navigation:e});await s.load(),n.createAndMountRootView(s)}catch(e){console.error(`${e.message}: +${e.stack}`)}}function cm(n,e,t,s){const i=n(e);let r=!1;return i.elapsed().then(()=>{r=!0,t.abort()},()=>{}),s.then(o=>(i.abort(),o),o=>{throw i.abort(),o.name==="AbortError"&&r?new qe(`Request timed out after ${e}ms`,!0):o})}function ko(n,e=Math.random){return n.includes("?")?n=n+"&":n=n+"?",n+`_cacheBuster=${Math.ceil(e()*Number.MAX_SAFE_INTEGER)}`}function Ro(n){var t;const e=new FormData;for(const[s,i]of n)((t=i.blob)==null?void 0:t.nativeBlob)&&i.name?e.set(s,i.blob.nativeBlob,i.name):e.set(s,i);return e}class lm{constructor(e,t){this._promise=e,this._xhr=t}abort(){this._xhr.abort()}response(){return this._promise}}function hm(n,{method:e,headers:t,timeout:s,format:i,uploadProgress:r}){const o=new XMLHttpRequest;if(r&&o.upload.addEventListener("progress",a=>r(a.loaded)),o.open(e,n),i==="buffer"&&(o.responseType="arraybuffer"),t)for(const[a,c]of t.entries())try{o.setRequestHeader(a,c)}catch(l){console.info(`Could not set ${a} header: ${l.message}`)}return s&&(o.timeout=s),o}function dm(n,e,t){return new Promise((s,i)=>{n.addEventListener("load",()=>s(n)),n.addEventListener("abort",()=>i(new ye)),n.addEventListener("error",()=>i(new qe(`Error ${e} ${t}`))),n.addEventListener("timeout",()=>i(new qe(`Timeout ${e} ${t}`,!0)))})}function Co(n,e){let{cache:t,format:s,body:i,method:r}=e;t||(n=ko(n));const o=hm(n,e),a=dm(o,r,n).then(c=>{const{status:l}=c;let h=null;return s==="buffer"?h=c.response:c.getResponseHeader("Content-Type")==="application/json"&&(h=JSON.parse(c.responseText)),{status:l,body:h}});return i!=null&&i.nativeBlob&&(i=i.nativeBlob),i instanceof Map&&(i=Ro(i)),o.send(i||null),new lm(a,o)}class an{constructor(e,t){if(t)this.promise=e,this._controller=t;else{const s=new Promise((i,r)=>{this._controller={abort(){const o=new Error("fetch request aborted");o.name="AbortError",r(o)}}});this.promise=Promise.race([e,s])}}abort(){this._controller.abort()}response(){return this.promise}}function um(n,e){return function(s,i){if(e!=null&&e.haltRequests)return new an(new Promise(()=>{}),{});if(i!=null&&i.uploadProgress)return Co(s,i);let{method:r,headers:o,body:a,timeout:c,format:l,cache:h=!1}=i;const d=typeof AbortController=="function"?new AbortController:null;a!=null&&a.nativeBlob&&(a=a.nativeBlob),a instanceof Map&&(a=Ro(a));let u={method:r,body:a};if(d&&(u=Object.assign(u,{signal:d.signal})),h||(s=ko(s)),u=Object.assign(u,{mode:"cors",credentials:"omit",referrer:"no-referrer",cache:"default"}),o){const f=new Headers;for(const[b,S]of o.entries())f.append(b,S);u.headers=f}const p=fetch(s,u).then(async f=>{const{status:b}=f;let S;try{l==="json"?S=await f.json():l==="buffer"?S=await f.arrayBuffer():l==="text"&&(S=await f.text())}catch(k){if(!(k.name==="SyntaxError"&&b>=400))throw k}return{status:b,body:S}},f=>{throw f.name==="AbortError"?new ye:f instanceof TypeError?new qe(`${r} ${s}: ${f.message}`):f}),_=new an(p,d);return c&&(_.promise=cm(n,c,_,_.promise)),_}}class mm{constructor(e){this._name=e}getAll(){const e=localStorage.getItem(this._name);if(e){const t=JSON.parse(e);if(Array.isArray(t))return Promise.resolve(t)}return Promise.resolve([])}async updateLastUsed(e,t){const s=await this.getAll();if(s){const i=s.find(r=>r.id===e);i&&(i.lastUsed=t,localStorage.setItem(this._name,JSON.stringify(s)))}}async get(e){const t=await this.getAll();if(t)return t.find(s=>s.id===e)}async add(e){const t=await this.getAll();t.push(e),localStorage.setItem(this._name,JSON.stringify(t))}async delete(e){let t=await this.getAll();t=t.filter(s=>s.id!==e),localStorage.setItem(this._name,JSON.stringify(t))}}class pm{constructor(e){this._prefix=e}async setInt(e,t){this._set(e,t)}async getInt(e,t=0){const s=window.localStorage.getItem(`${this._prefix}${e}`);return typeof s=="string"?parseInt(s,10):t}async setBool(e,t){this._set(e,t)}async getBool(e,t=!1){const s=window.localStorage.getItem(`${this._prefix}${e}`);return typeof s=="string"?s==="true":t}async setString(e,t){this._set(e,t)}async getString(e){return window.localStorage.getItem(`${this._prefix}${e}`)}async remove(e){window.localStorage.removeItem(`${this._prefix}${e}`)}async _set(e,t){window.localStorage.setItem(`${this._prefix}${e}`,t)}}class _m{constructor(){this._encoder=null,this._decoder=null}encode(e){return this._encoder||(this._encoder=new TextEncoder),this._encoder.encode(e)}decode(e){return this._decoder||(this._decoder=new TextDecoder),this._decoder.decode(e)}}var nt={};(function(){for(var n="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",e=new Uint8Array(256),t=0;t>2],a+=n[(i[r]&3)<<4|i[r+1]>>4],a+=n[(i[r+1]&15)<<2|i[r+2]>>6],a+=n[i[r+2]&63];return o%3===2?a=a.substring(0,a.length-1)+"=":o%3===1&&(a=a.substring(0,a.length-2)+"=="),a},nt.decode=function(s){var i=s.length*.75,r=s.length,o,a=0,c,l,h,d;s[s.length-1]==="="&&(i--,s[s.length-2]==="="&&i--);var u=new ArrayBuffer(i),p=new Uint8Array(u);for(o=0;o>4,p[a++]=(l&15)<<4|h>>2,p[a++]=(h&3)<<6|d&63;return u}})();class fm{encodeUnpadded(e){const t=nt.encode(e),s=t.indexOf("=");return s!==-1?t.substr(0,s):t}encode(e){return nt.encode(e)}decode(e){return nt.decode(e)}}var To={isBuffer:function(n){return n instanceof Uint8Array},from:function(n){return n},allocUnsafe:function(n){return To.alloc(n)},alloc:function(n){return new Uint8Array(n)}},gm=Object.freeze(Object.defineProperty({__proto__:null,Buffer:To},Symbol.toStringTag,{value:"Module"})),ym=Na(gm),vs=ym.Buffer;function wm(n){if(n.length>=255)throw new TypeError("Alphabet too long");for(var e=new Uint8Array(256),t=0;t>>0,R=new Uint8Array(k);b!==S;){for(var w=p[b],I=0,x=k-1;(w!==0||I>>0,R[x]=w%o>>>0,w=w/o>>>0;if(w!==0)throw new Error("Non-zero carry");f=I,b++}for(var D=k-f;D!==k&&R[D]===0;)D++;for(var Le=a.repeat(_);D>>0,k=new Uint8Array(S);p[_];){var R=e[p.charCodeAt(_)];if(R===255)return;for(var w=0,I=S-1;(R!==0||w>>0,k[I]=R%256>>>0,R=R/256>>>0;if(R!==0)throw new Error("Non-zero carry");b=w,_++}if(p[_]!==" "){for(var x=S-b;x!==S&&k[x]===0;)x++;var D=vs.allocUnsafe(f+(S-x));D.fill(0,0,f);for(var Le=f;x!==S;)D[Le++]=k[x++];return D}}}function u(p){var _=d(p);if(_)return _;throw new Error("Non-base"+o+" character")}return{encode:h,decodeUnsafe:d,decode:u}}var vm=wm,bm=vm,Sm="123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz",cn=bm(Sm);class Im{encode(e){return cn.encode(e)}decode(e){return cn.decode(e)}}class Em{constructor(){this.utf8=new _m,this.base64=new fm,this.base58=new Im}}class km{constructor(e){this._workerPool=e}megolmDecrypt(e,t){const s=e.export_session(e.first_known_index());return this._workerPool.send({type:"megolm_decrypt",ciphertext:t,sessionKey:s})}async createAccountAndOTKs(e,t){let s;window.msCrypto&&(s=[window.msCrypto.getRandomValues(new Uint8Array(64)),window.msCrypto.getRandomValues(new Uint8Array(t*32))]);const i=await this._workerPool.send({type:"olm_create_account_otks",randomValues:s,otkAmount:t}).response();e.unpickle("",i)}async createOutboundOlmSession(e,t,s,i){const r=e.pickle("");let o;window.msCrypto&&(o=[window.msCrypto.getRandomValues(new Uint8Array(64))]);const a=await this._workerPool.send({type:"olm_create_outbound",accountPickle:r,theirIdentityKey:s,theirOneTimeKey:i,randomValues:o}).response();t.unpickle("",a)}dispose(){this._workerPool.dispose()}}class Rm extends go{constructor(e){super(e);const{name:t,flushInterval:s=60*1e3,limit:i=3e3}=e;this._name=t,this._limit=i,this._queuedItems=this._loadQueuedItems(),window.addEventListener("pagehide",this,!1),this._flushInterval=this._platform.clock.createInterval(()=>this._tryFlush(),s)}dispose(){window.removeEventListener("pagehide",this,!1),this._flushInterval.dispose()}handleEvent(e){e.type==="pagehide"&&this._finishAllAndFlush()}async _tryFlush(){const e=await this._openDB();try{const t=e.transaction(["logs"],"readwrite"),s=t.objectStore("logs"),i=this._queuedItems.length;for(const o of this._queuedItems)s.add(o);const r=await X(s.count());if(r>this._limit){let o=r-this._limit+Math.round(.1*this._limit);await K(s.openCursor(),(a,c,l)=>(l.delete(),o-=1,{done:o===0}))}await Jt(t),this._queuedItems.splice(0,i)}catch(t){console.error("Could not flush logs",t)}finally{try{e.close()}catch{}}}_finishAllAndFlush(){this._finishOpenItems(),this.log({l:"pagehide, closing logs",t:"navigation"}),this._persistQueuedItems(this._queuedItems)}_loadQueuedItems(){const e=`${this._name}_queuedItems`;try{const t=window.localStorage.getItem(e);if(t)return window.localStorage.removeItem(e),JSON.parse(t)}catch(t){console.error("Could not load queued log items",t)}return[]}_openDB(){return Mi(this._name,e=>e.createObjectStore("logs",{keyPath:"id",autoIncrement:!0}),1)}_persistItem(e,t,s){const i=e.serialize(t,void 0,s);if(i){const r=this._serializedTransformer(i);this._queuedItems.push({json:JSON.stringify(r)})}}_persistQueuedItems(e){try{window.localStorage.setItem(`${this._name}_queuedItems`,JSON.stringify(e))}catch(t){console.error("Could not persist queued log items in localStorage, they will likely be lost",t)}}async export(){const e=await this._openDB();try{const s=e.transaction(["logs"],"readonly").objectStore("logs"),r=(await dc(s.openCursor(),()=>!1)).concat(this._queuedItems);return new Cm(r,this,this._platform)}finally{try{e.close()}catch{}}}async _removeItems(e){const t=await this._openDB();try{const s=t.transaction(["logs"],"readwrite"),i=s.objectStore("logs");for(const r of e)if(typeof r.id=="number")i.delete(r.id);else{const o=this._queuedItems.indexOf(r);o===-1&&this._queuedItems.splice(o,1)}await Jt(s)}finally{try{t.close()}catch{}}}}class Cm{constructor(e,t,s){this._items=e,this._logger=t,this._platform=s}get count(){return this._items.length}removeFromStore(){return this._logger._removeItems(this._items)}asBlob(){var r;const e={formatVersion:1,appVersion:(r=this._platform.updateService)==null?void 0:r.version,items:this._items.map(o=>JSON.parse(o.json))},t=JSON.stringify(e),s=this._platform.encoding.utf8.encode(t);return this._platform.createBlob(s,"application/json")}}function Mo(n){return typeof n!="object"||"nodeType"in n||Array.isArray(n)}function It(n,e){return Object.entries(n).reduce((t,[s,i])=>(typeof i=="function"&&(i=i(e)),i?t+(t.length?" ":"")+s:t),"")}function vt(n,e,t){e==="className"&&(e="class"),t===!1?n.removeAttribute(e):(t===!0&&(t=e),n.setAttribute(e,t))}function Tm(n,e,t){return Ao(Hi,n,e,t)}function Ao(n,e,t,s){t&&Mo(t)&&(s=t,t=void 0);const i=document.createElementNS(n,e);if(t)for(let[r,o]of Object.entries(t))typeof o=="object"&&(o=o!==null&&r==="className"?It(o,void 0):!1),vt(i,r,o);if(s){Array.isArray(s)||(s=[s]);for(let r of s)typeof r=="string"&&(r=Te(r)),i.appendChild(r)}return i}function Te(n){return document.createTextNode(n)}const Hi="http://www.w3.org/1999/xhtml",Mm="http://www.w3.org/2000/svg",xo={[Hi]:["br","a","ol","ul","li","div","h1","h2","h3","h4","h5","h6","p","strong","em","span","img","section","main","article","aside","del","blockquote","table","thead","tbody","tr","th","td","hr","pre","code","button","time","input","textarea","select","option","label","form","progress","output","video"],[Mm]:["svg","g","path","circle","ellipse","rect","use"]},T={};for(const[n,e]of Object.entries(xo))for(const t of e)T[t]=function(s,i){return Ao(n,t,s,i)};function Xt(n,e){let t;try{t=n.mount(e)}catch(s){t=Am(s)}return t}function Am(n){const e=new Error().stack;let t=null;return e&&(t=e.split(` +`)[1]),T.div([T.h2("Something went wrong\u2026"),T.h3(n.message),T.p(`This occurred while running ${t}.`),T.pre(n.stack)])}function ln(n,e,t){if(e===n.childElementCount)n.appendChild(t);else{const i=n.children[e];n.insertBefore(t,i)}}function xm(n){n.innerHTML=""}function Nm(n){return async e=>{var t,s;(t=e.target)==null||t.setAttribute("disabled","disabled"),await n(e),(s=e.target)==null||s.removeAttribute("disabled")}}class is{constructor({list:e,onItemClick:t,className:s,tagName:i="ul",parentProvidesUpdates:r=!0},o){this._onItemClick=t,this._list=e,this._className=s,this._tagName=i,this._root=void 0,this._subscription=void 0,this._childCreator=o,this._childInstances=void 0,this._mountArgs={parentProvidesUpdates:r}}root(){return this._root}update(e){if(e.list){if(this._subscription)for(this._unloadList();this._root.lastChild;)this._root.lastChild.remove();this._list=e.list,this.loadList()}}mount(){const e={};this._className&&(e.className=this._className);const t=this._root=Tm(this._tagName,e);return this.loadList(),this._onItemClick&&t.addEventListener("click",this),t}handleEvent(e){e.type==="click"&&this._handleClick(e)}unmount(){this._list&&this._unloadList()}_handleClick(e){if(e.target===this._root||!this._onItemClick)return;let t=e.target;for(;t.parentNode!==this._root;)t=t.parentNode;const s=Array.prototype.indexOf.call(this._root.childNodes,t),i=this._childInstances[s];i&&this._onItemClick(i,e)}_unloadList(){this._subscription=this._subscription();for(let e of this._childInstances)e.unmount();this._childInstances=void 0}loadList(){if(!this._list)return;this._subscription=this._list.subscribe(this),this._childInstances=[];const e=document.createDocumentFragment();for(let t of this._list){const s=this._childCreator(t);this._childInstances.push(s),e.appendChild(Xt(s,this._mountArgs))}this._root.appendChild(e)}onReset(){for(const e of this._childInstances)e.root().remove(),e.unmount();this._childInstances.length=0}onAdd(e,t){this.addChild(e,t)}onRemove(e,t){this.removeChild(e)}onMove(e,t,s){this.moveChild(e,t)}onUpdate(e,t,s){this.updateChild(e,t,s)}addChild(e,t){const s=this._childCreator(t);this._childInstances.splice(e,0,s),ln(this._root,e,Xt(s,this._mountArgs))}removeChild(e){const[t]=this._childInstances.splice(e,1);t.root().remove(),t.unmount()}moveChild(e,t){const[s]=this._childInstances.splice(e,1);this._childInstances.splice(t,0,s),s.root().remove(),ln(this._root,t,s.root())}updateChild(e,t,s){if(this._childInstances){const i=this._childInstances[e];i&&i.update(t,s)}}recreateItem(e,t){if(this._childInstances){const s=this._childCreator(t);if(!s)this.onRemove(e,t);else{const[i]=this._childInstances.splice(e,1,s);this._root.replaceChild(s.mount(this._mountArgs),i.root()),i.unmount()}}}getChildInstanceByIndex(e){var t;return(t=this._childInstances)==null?void 0:t[e]}}class No{constructor(e){this._value=e,this._boundUpdateFromValue=null}subscribeOnMount(e){e&&e.parentProvidesUpdates||this._subscribe()}unmount(){this._unsubscribe()}get value(){return this._value}_updateFromValue(e){this.update(this._value,e)}_subscribe(){var e;typeof((e=this._value)==null?void 0:e.on)=="function"&&(this._boundUpdateFromValue=this._updateFromValue.bind(this),this._value.on("change",this._boundUpdateFromValue))}_unsubscribe(){this._boundUpdateFromValue&&(typeof this._value.off=="function"&&this._value.off("change",this._boundUpdateFromValue),this._boundUpdateFromValue=null)}}function Dm(n){for(const e of Object.values(n))if(typeof e=="function")return!0;return!1}class E extends No{constructor(){super(...arguments),this._eventListeners=void 0,this._bindings=void 0,this._root=void 0,this._subViews=void 0}_attach(){if(this._eventListeners)for(let{node:e,name:t,fn:s,useCapture:i}of this._eventListeners)e.addEventListener(t,s,i)}_detach(){if(this._eventListeners)for(let{node:e,name:t,fn:s,useCapture:i}of this._eventListeners)e.removeEventListener(t,s,i)}mount(e){const t=new Do(this);try{this._root=this.render(t,this._value)}finally{t.close()}return this.subscribeOnMount(e),this._attach(),this._root}unmount(){if(this._detach(),super.unmount(),this._subViews)for(const e of this._subViews)e.unmount()}root(){return this._root}update(e,t){if(this._value=e,this._bindings)for(const s of this._bindings)s()}_addEventListener(e,t,s,i=!1){this._eventListeners||(this._eventListeners=[]),this._eventListeners.push({node:e,name:t,fn:s,useCapture:i})}_addBinding(e){this._bindings||(this._bindings=[]),this._bindings.push(e)}addSubView(e){this._subViews||(this._subViews=[]),this._subViews.push(e)}removeSubView(e){if(!this._subViews)return;const t=this._subViews.indexOf(e);t!==-1&&this._subViews.splice(t,1)}updateSubViews(e,t){if(this._subViews)for(const s of this._subViews)s.update(e,t)}}class Do{constructor(e){this._closed=!1,this._templateView=e}close(){this._closed=!0}_addBinding(e){this._closed&&console.trace("Adding a binding after render will likely cause memory leaks"),this._templateView._addBinding(e)}get _value(){return this._templateView.value}addEventListener(e,t,s,i=!1){this._templateView._addEventListener(e,t,s,i)}_addAttributeBinding(e,t,s){let i;const r=()=>{const o=s(this._value);i!==o&&(i=o,vt(e,t,o))};this._addBinding(r),r()}_addClassNamesBinding(e,t){this._addAttributeBinding(e,"className",s=>It(t,s))}_addTextBinding(e){const t=e(this._value)+"",s=Te(t);let i=t;const r=()=>{const o=e(this._value)+"";i!==o&&(i=o,s.textContent=o)};return this._addBinding(r),s}_isEventHandler(e,t){return e.startsWith("on")&&e.length>2&&typeof t=="function"}_setNodeAttributes(e,t){for(let[s,i]of Object.entries(t))if(typeof i=="object"){if(s!=="className"||i===null)continue;Dm(i)?this._addClassNamesBinding(e,i):vt(e,s,It(i,this._value))}else if(this._isEventHandler(s,i)){const r=s.substr(2,1).toLowerCase()+s.substr(3),o=i;this._templateView._addEventListener(e,r,o)}else typeof i=="function"?this._addAttributeBinding(e,s,i):vt(e,s,i)}_setNodeChildren(e,t){Array.isArray(t)||(t=[t]);for(let s of t)typeof s=="function"?s=this._addTextBinding(s):typeof s=="string"&&(s=Te(s)),e.appendChild(s)}_addReplaceNodeBinding(e,t){let s=e(this._value),i=t(null);const r=()=>{const o=e(this._value);if(s!==o){s=o;const a=t(i);i.parentNode&&i.parentNode.replaceChild(a,i),i=a}};return this._addBinding(r),i}el(e,t,s){return this.elNS(Hi,e,t,s)}elNS(e,t,s,i){let r;s&&(Mo(s)?i=s:r=s);const o=document.createElementNS(e,t);return r&&this._setNodeAttributes(o,r),i&&this._setNodeChildren(o,i),o}view(e,t){return this._templateView.addSubView(e),Xt(e,t)}mapView(e,t){return this._addReplaceNodeBinding(e,s=>{if(s&&s.nodeType!==Node.COMMENT_NODE){const r=this._templateView._subViews;if(r){const o=r.findIndex(a=>a.root()===s);if(o!==-1){const[a]=r.splice(o,1);a.unmount()}}}const i=t(e(this._value));return i?this.view(i):document.createComment("node binding placeholder")})}map(e,t){return this.mapView(e,s=>new Ns(this._value,(i,r)=>{const o=t(s,i,r);return o||document.createComment("map placeholder")}))}ifView(e,t){return this.mapView(s=>!!e(s),s=>s?t(this._value):null)}if(e,t){return this.ifView(e,s=>new Ns(s,t))}mapSideEffect(e,t){let s=e(this._value);const i=()=>{const r=e(this._value);s!==r&&(t(r,s),s=r)};this._addBinding(i),t(s,void 0)}}for(const[n,e]of Object.entries(xo))for(const t of e)Do.prototype[t]=function(s,i){return this.elNS(n,t,s,i)};class Ns extends E{constructor(e,t){super(e),this._render=t}render(e,t){return this._render(e,t)}}function it(n,e,t=void 0){const s=!!n.avatarUrl(e);let i=It({avatar:!0,[`size-${e}`]:!0,[`usercolor${n.avatarColorNumber}`]:!s});t&&(i+=` ${t}`);const r=s?Vo(n,e):Te(n.avatarLetter),o=T.div({className:i,"data-testid":"avatar"},[r]);return s&&(vt(o,"data-avatar-letter",n.avatarLetter),vt(o,"data-avatar-color",n.avatarColorNumber)),o}function Vo(n,e){const t=e.toString();return T.img({src:n.avatarUrl(e),width:t,height:t,title:n.avatarTitle})}function Vm(n){const e=n.target,t=e.parentElement;return e.tagName==="IMG"&&t.classList.contains("avatar")}function hn(n){if(!Vm(n))return;const e=n.target.parentElement,t=e.getAttribute("data-avatar-color");e.classList.add(`usercolor${t}`);const s=e.getAttribute("data-avatar-letter");e.textContent=s}class ht extends No{constructor(e,t){super(e),this._root=null,this._avatarUrl=null,this._avatarTitle=null,this._avatarLetter=null,this._size=t}_avatarUrlChanged(){return this.value.avatarUrl(this._size)!==this._avatarUrl?(this._avatarUrl=this.value.avatarUrl(this._size),!0):!1}_avatarTitleChanged(){return this.value.avatarTitle!==this._avatarTitle?(this._avatarTitle=this.value.avatarTitle,!0):!1}_avatarLetterChanged(){return this.value.avatarLetter!==this._avatarLetter?(this._avatarLetter=this.value.avatarLetter,!0):!1}mount(e){return this._avatarUrlChanged(),this._avatarLetterChanged(),this._avatarTitleChanged(),this._root=it(this.value,this._size),this.subscribeOnMount(e),this._root}root(){return this._root}update(e){if(this._avatarUrlChanged()){const s=`usercolor${e.avatarColorNumber}`;e.avatarUrl(this._size)?(this._root.replaceChild(Vo(e,this._size),this._root.firstChild),this._root.classList.remove(s)):(this._root.textContent=e.avatarLetter,this._root.classList.add(s))}const t=!!e.avatarUrl(this._size);if(this._avatarTitleChanged()&&t){const s=this._root.firstChild;s.tagName==="IMG"&&s.setAttribute("title",e.avatarTitle)}this._avatarLetterChanged()&&!t&&(this._root.textContent=e.avatarLetter)}}let Ot;function Ve(n,e=void 0){Ot===void 0&&(Ot=document.querySelector(".hydrogen"));const t=Object.assign({spinner:!0},e);return Ot!=null&&Ot.classList.contains("legacy")?n.div({className:t},[n.div(),n.div(),n.div(),n.div()]):n.svg({className:t,viewBox:"0 0 100 100"},n.circle({cx:"50%",cy:"50%",r:"45%",pathLength:"100"}))}class Lm extends E{render(e,t){const s={active:i=>i.isOpen,hidden:i=>i.hidden};return e.li({className:s},[e.a({href:t.url},[e.view(new ht(t,32),{parentProvidesUpdates:!0}),e.div({className:"description"},[e.div({className:{name:!0,unread:i=>i.isUnread}},i=>i.name),e.map(i=>i.busy,i=>i?Ve(e):e.div({className:{badge:!0,highlighted:r=>r.isHighlighted,hidden:r=>!r.badgeCount}},r=>r.badgeCount))])])])}update(e,t){super.update(e),this.updateSubViews(e,t)}}class Om extends E{render(e,t){const s=()=>{i.value="",i.blur(),r.blur(),t.clear()},i=e.input({type:"text",placeholder:t==null?void 0:t.label,"aria-label":t==null?void 0:t.label,autocomplete:t==null?void 0:t.autocomplete,enterkeyhint:"search",name:t==null?void 0:t.name,onInput:o=>t.set(o.target.value),onKeydown:o=>{(o.key==="Escape"||o.key==="Esc")&&s()},onFocus:()=>i.select()}),r=e.button({onClick:s,title:t.i18n`Clear`,"aria-label":t.i18n`Clear`});return e.div({className:"FilterField"},[i,r])}}class Pm extends E{render(e,t){const s=o=>o.gridEnabled?o.i18n`Show single room`:o.i18n`Enable grid layout`,i=e.view(new is({className:"RoomList",list:t.tileViewModels},o=>new Lm(o))),r=e.div({className:"utilities"},[e.a({className:"button-utility close-session",href:t.closeUrl,"aria-label":t.i18n`Back to account list`,title:t.i18n`Back to account list`}),e.view(new Om({i18n:t.i18n,label:t.i18n`Filter rooms…`,name:"room-filter",autocomplete:!0,set:o=>{t.setFilter(o)&&(i.scrollTop=0)},clear:()=>t.clearFilter()})),e.button({onClick:()=>t.toggleGrid(),className:{"button-utility":!0,grid:!0,on:o=>o.gridEnabled},title:s,"aria-label":s}),e.a({className:"button-utility settings",href:t.settingsUrl,"aria-label":t.i18n`Settings`,title:t.i18n`Settings`}),e.a({className:"button-utility create",href:t.createRoomUrl,"aria-label":t.i18n`Create room`,title:t.i18n`Create room`})]);return e.div({className:"LeftPanel"},[r,i])}}class zi{constructor(e,t=null){this._view=e,this._target=null,this._arrangement=null,this._scroller=null,this._fakeRoot=null,this._trackingTemplateView=null,this._closeCallback=t}_getPopupContainer(){const e=this._target.closest(".hydrogen");let t=e.querySelector(".popupContainer");return t||(t=T.div({className:"popupContainer"}),e.appendChild(t)),t}trackInTemplateView(e){this._trackingTemplateView=e,this._trackingTemplateView.addSubView(this)}showRelativeTo(e,t=0){this._target=e,this._verticalPadding=t,this._scroller=Um(this._target),this._view.mount(),this._getPopupContainer().appendChild(this._popup),this._position(),this._scroller&&document.body.addEventListener("scroll",this,!0),setTimeout(()=>{document.body.addEventListener("click",this,!1)},10)}get isOpen(){return!!this._view}close(){this._view&&(this._view.unmount(),this._trackingTemplateView.removeSubView(this),this._scroller&&document.body.removeEventListener("scroll",this,!0),document.body.removeEventListener("click",this,!1),this._popup.remove(),this._view=null,this._closeCallback&&this._closeCallback())}get _popup(){return this._view.root()}handleEvent(e){e.type==="scroll"?this._position()||this.close():e.type==="click"&&this._onClick(e)}_onClick(){this.close()}_position(){const e=this._target.getBoundingClientRect(),t=this._popup.clientWidth,s=this._popup.clientHeight,i=(this._scroller?this._scroller:document.documentElement).getBoundingClientRect();if(e.top>i.bottom||e.left>i.right||e.bottom=e.bottom+s)this._popup.style.top=`${e.bottom+this._verticalPadding}px`;else if(i.top<=e.top-s)this._popup.style.top=`${e.top-s-this._verticalPadding}px`;else return!1;if(i.right>=e.right+t)this._popup.style.left=`${e.left}px`;else if(i.left<=e.left-t)this._popup.style.left=`${e.right-t}px`;else return!1;return!0}root(){return this._fakeRoot}mount(){return this._fakeRoot=document.createComment("popup"),this._fakeRoot}unmount(){this.close()}update(){}}function Um(n){let e=n;do if(e=e.parentElement,e.scrollHeight>e.clientHeight){const s=window.getComputedStyle(e).getPropertyValue("overflow-y");if(s==="auto"||s==="scroll")return e}while(e!==document.body)}class Y extends E{static option(e,t){return new Fm(e,t)}constructor(e){super(),this._options=e}render(e){return e.ul({className:"menu",role:"menu"},this._options.map(t=>t.toDOM(e)))}}class Fm{constructor(e,t){this.label=e,this.callback=t,this.icon=null,this.destructive=!1}setIcon(e){return this.icon=e,this}setDestructive(){return this.destructive=!0,this}toDOM(e){const t={destructive:this.destructive};return this.icon&&(t.icon=!0,t[this.icon]=!0),e.li({className:t},e.button({className:"menu-item",onClick:this.callback},this.label))}}function dn(n){return n.offsetTop+n.clientHeight}function un(n,e,t=n.children.length-1){for(var s=t;s>=0;s--)if(n.children[s].offsetTop{this.restoreScrollPosition()}),this.tilesView=new Km(t.tiles,()=>this.restoreScrollPosition(),this.viewClassForTile);const s=e.div({className:"Timeline"},[e.div({className:"Timeline_scroller bottom-aligned-scroll",onScroll:()=>this.onScroll()},e.view(this.tilesView)),e.button({className:{Timeline_jumpDown:!0,hidden:i=>!i.showJumpDown},title:"Jump down",onClick:()=>this.jumpDown()})]);return typeof ResizeObserver=="function"&&(this.resizeObserver=new ResizeObserver(()=>{this.restoreScrollPosition()}),this.resizeObserver.observe(s)),s}get scrollNode(){return this.root().firstElementChild}get tilesNode(){return this.tilesView.root()}jumpDown(){const{scrollNode:e}=this;this.stickToBottom=!0,e.scrollTop=e.scrollHeight}unmount(){super.unmount(),this.resizeObserver&&(this.resizeObserver.unobserve(this.root()),this.resizeObserver=void 0)}restoreScrollPosition(){const{scrollNode:e,tilesNode:t}=this,s=e.clientHeight-t.clientHeight;if(s>0){t.style.setProperty("margin-top",`${s}px`);const i=this.value.tiles.length;this.updateVisibleRange(0,i-1)}else if(t.style.removeProperty("margin-top"),this.stickToBottom)e.scrollTop=e.scrollHeight;else if(this.anchoredNode){const i=dn(this.anchoredNode);if(i!==this.anchoredBottom){const r=i-this.anchoredBottom;typeof e.scrollBy=="function"?e.scrollBy(0,r):e.scrollTop=e.scrollTop+r,this.anchoredBottom=i}}}onScroll(){const{scrollNode:e,tilesNode:t}=this,{scrollHeight:s,scrollTop:i,clientHeight:r}=e;let o;if(this.stickToBottom=Math.abs(s-(i+r))<1,this.stickToBottom)o=this.value.tiles.length-1;else{const c=i+r,l=un(t,c);this.anchoredNode=t.childNodes[l],this.anchoredBottom=dn(this.anchoredNode),o=l}let a=un(t,i,o);this.updateVisibleRange(a,o)}updateVisibleRange(e,t){const s=this.tilesView.getChildInstanceByIndex(e),i=this.tilesView.getChildInstanceByIndex(t);this.value.setVisibleTileRange(s==null?void 0:s.value,i==null?void 0:i.value)}}class Km extends is{constructor(e,t,s){super({list:e,onItemClick:(i,r)=>i.onClick(r)},i=>{const r=s(i);return new r(i,s)}),this.viewClassForTile=s,this.onChanged=t}onReset(){super.onReset(),this.onChanged()}onUpdate(e,t,s){if(s==="shape"){const i=this.viewClassForTile(t),r=this.getChildInstanceByIndex(e);if(!i||!(r instanceof i)){super.recreateItem(e,t);return}}super.onUpdate(e,t,s),this.onChanged()}onAdd(e,t){super.onAdd(e,t),this.onChanged()}onRemove(e,t){super.onRemove(e,t),this.onChanged()}onMove(e,t,s){super.onMove(e,t,s),this.onChanged()}}class $m extends E{render(e,t){return e.div({className:"TimelineLoadingView"},[Ve(e),e.div(t.isEncrypted?t.i18n`Loading encrypted messages…`:t.i18n`Loading messages…`)])}}class jm extends E{constructor(e,t){super(e),this._viewClassForTile=t,this._input=null,this._attachmentPopup=null,this._focusInput=null,this._rafResizeHandle=void 0}render(e,t){this._input=e.textarea({onKeydown:r=>this._onKeyDown(r),onInput:()=>{t.setInput(this._input.value),this._input.value?this._adjustHeight():this._clearHeight()},placeholder:r=>r.isEncrypted?"Send an encrypted message\u2026":"Send a message\u2026",rows:"1"}),this._focusInput=()=>this._input.focus(),this.value.on("focus",this._focusInput);const s=e.map(r=>r.replyViewModel,(r,o)=>{const a=r&&this._viewClassForTile(r);return a?o.div({className:"MessageComposer_replyPreview"},[o.span({className:"replying"},"Replying"),o.button({className:"cancel",onClick:()=>this._clearReplyingTo()},"Close"),o.view(new a(r,this._viewClassForTile,{interactive:!1},"div"))]):null}),i=e.div({className:"MessageComposer_input"},[this._input,e.button({className:"sendFile",title:t.i18n`Pick attachment`,onClick:r=>this._toggleAttachmentMenu(r)},t.i18n`Send file`),e.button({className:"send",title:t.i18n`Send`,onClick:()=>this._trySend()},t.i18n`Send`)]);return e.div({className:{MessageComposer:!0,MessageComposer_canSend:r=>r.canSend}},[s,i])}unmount(){this._focusInput&&this.value.off("focus",this._focusInput),super.unmount()}_clearReplyingTo(){this.value.clearReplyingTo()}async _trySend(){this._input.focus();const{value:e}=this._input,t=()=>{this._input.value=e,this._adjustHeight()};this._input.value="",this._clearHeight();try{await this.value.sendMessage(e)||t()}catch(s){t(),console.error(s)}}_onKeyDown(e){e.key==="Enter"&&!e.shiftKey&&(e.preventDefault(),this._trySend())}_toggleAttachmentMenu(e){if(this._attachmentPopup&&this._attachmentPopup.isOpen)this._attachmentPopup.close();else{const t=this.value;this._attachmentPopup=new zi(new Y([Y.option(t.i18n`Send video`,()=>t.sendVideo()).setIcon("video"),Y.option(t.i18n`Send picture`,()=>t.sendPicture()).setIcon("picture"),Y.option(t.i18n`Send file`,()=>t.sendFile()).setIcon("file")])),this._attachmentPopup.trackInTemplateView(this),this._attachmentPopup.showRelativeTo(e.target,12)}}_adjustHeight(){this._rafResizeHandle||(this._rafResizeHandle=window.requestAnimationFrame(()=>{const e=this._input.scrollHeight;this._input.style.height=`${e}px`,this._rafResizeHandle=void 0}))}_clearHeight(){this._input.style.removeProperty("height")}}class qm extends E{render(e){return e.div({className:"DisabledComposerView"},e.h3(t=>t.description))}}class Lo extends E{constructor(e,t){super(e),this._viewClassForTile=t,this._optionsPopup=null}render(e,t){return e.main({className:"RoomView middle"},[e.div({className:"RoomHeader middle-header"},[e.a({className:"button-utility close-middle",href:t.closeUrl,title:t.i18n`Close room`}),e.view(new ht(t,32)),e.div({className:"room-description"},[e.h2(s=>s.name)]),e.button({className:"button-utility room-options","aria-label":t.i18n`Room options`,onClick:s=>this._toggleOptionsMenu(s)})]),e.div({className:"RoomView_body"},[e.div({className:"RoomView_error"},[e.if(s=>s.error,s=>s.div([s.p({},i=>i.error),s.button({className:"RoomView_error_closerButton",onClick:i=>t.dismissError(i)})]))]),e.mapView(s=>s.timelineViewModel,s=>s?new Bm(s,this._viewClassForTile):new $m(t)),e.mapView(s=>s.composerViewModel,s=>{switch(s==null?void 0:s.kind){case"composer":return new jm(t.composerViewModel,this._viewClassForTile);case"disabled":return new qm(t.composerViewModel)}})])])}_toggleOptionsMenu(e){if(this._optionsPopup&&this._optionsPopup.isOpen)this._optionsPopup.close();else{const t=this.value,s=[];if(s.push(Y.option(t.i18n`Room details`,()=>t.openDetailsPanel())),t.canLeave&&s.push(Y.option(t.i18n`Leave room`,()=>this._confirmToLeaveRoom()).setDestructive()),t.canForget&&s.push(Y.option(t.i18n`Forget room`,()=>t.forgetRoom()).setDestructive()),t.canRejoin&&s.push(Y.option(t.i18n`Rejoin room`,()=>t.rejoinRoom())),!s.length)return;this._optionsPopup=new zi(new Y(s)),this._optionsPopup.trackInTemplateView(this),this._optionsPopup.showRelativeTo(e.target,10)}}_confirmToLeaveRoom(){confirm(this.value.i18n`Are you sure you want to leave "${this.value.name}"?`)&&this.value.leaveRoom()}}class Wm extends E{render(e,t){return e.main({className:"UnknownRoomView middle"},e.div([e.h2([t.i18n`You are currently not in ${t.roomIdOrAlias}.`,e.br(),t.i18n`Want to join it?`]),e.button({className:"button-action primary",onClick:()=>t.join(),disabled:s=>s.busy},t.i18n`Join room`),e.if(s=>s.error,s=>s.p({className:"error"},t.error))]))}}class Et{constructor(e,t=void 0){typeof e=="function"&&!t&&(t=e,e=null),this._root=t?t(T,e):this.render(T,e)}mount(){return this._root}root(){return this._root}unmount(){}update(){}}class Oo extends Et{constructor(e="Loading"){super(e,(t,s)=>t.div({className:"LoadingView"},[Ve(t),s]))}}class Po extends E{render(e,t){return e.main({className:"RoomView middle"},[e.div({className:"RoomHeader middle-header"},[e.a({className:"button-utility close-middle",href:t.closeUrl,title:t.i18n`Close room`}),e.view(new ht(t,32)),e.div({className:"room-description"},[e.h2(s=>s.name)])]),e.div({className:"RoomView_body"},[e.mapView(s=>s.error,s=>s?new Hm(t):new Oo(t.i18n`Setting up the room…`))])])}}class Hm extends E{render(e,t){return e.div({className:"RoomBeingCreated_error centered-column"},[e.h3(t.i18n`Could not create the room, something went wrong:`),e.div({className:"RoomView_error form-group"},t.error),e.div({className:"button-row"},e.button({className:"button-action primary destructive",onClick:()=>t.cancel()},t.i18n`Cancel`))])}}class Uo extends E{render(e,t){var r;let s=[];t.isDirectMessage&&s.push(it(t,128,"InviteView_dmAvatar"));let i;return t.isDirectMessage?i=[e.strong(t.name),` (${(r=t.inviter)==null?void 0:r.id}) wants to chat with you.`]:t.inviter?i=[it(t.inviter,24),e.strong(t.inviter.name),` (${t.inviter.id}) invited you.`]:i="You were invited to join.",s.push(e.p({className:"InviteView_inviter"},i)),t.isDirectMessage||s.push(e.div({className:"InviteView_roomProfile"},[it(t,64,"InviteView_roomAvatar"),e.h3(t.name),e.p({className:"InviteView_roomDescription"},t.roomDescription)])),e.main({className:"InviteView middle"},[e.div({className:"RoomHeader middle-header"},[e.a({className:"button-utility close-middle",href:t.closeUrl,title:t.i18n`Close invite`}),it(t,32),e.div({className:"room-description"},[e.h2(o=>o.name)])]),e.if(o=>o.error,o=>o.div({className:"RoomView_error"},a=>a.error)),e.div({className:"InviteView_body"},[e.div({className:"InviteView_invite"},[...s,e.div({className:"InviteView_buttonRow"},e.button({className:"button-action primary",disabled:o=>o.busy,onClick:()=>t.accept()},t.i18n`Accept`)),e.div({className:"InviteView_buttonRow"},e.button({className:"button-action primary destructive",disabled:o=>o.busy,onClick:()=>t.reject()},t.i18n`Reject`))])])])}}class zm extends E{render(e,t){const s=e.a({href:t.closeUrl,title:t.i18n`Close`,className:"close"}),i=e.div({role:"img","aria-label":c=>c.name,title:c=>c.name,className:{picture:!0,hidden:c=>!c.imageUrl},style:c=>`background-image: url('${c.imageUrl}'); max-width: ${c.imageWidth}px; max-height: ${c.imageHeight}px;`}),r=e.div({className:{loading:!0,hidden:c=>!!c.imageUrl}},[Ve(e),e.div(t.i18n`Loading image…`)]),o=e.div({className:"details"},[e.strong(c=>c.name),e.br(),"uploaded by ",e.strong(c=>c.sender),c=>` at ${c.time} on ${c.date}.`]),a=e.div({role:"dialog",className:"lightbox",onClick:c=>this.clickToClose(c),onKeydown:c=>this.closeOnEscKey(c)},[i,r,o,s]);return Gm(e,a),a}clickToClose(e){e.target===this.root()&&this.value.close()}closeOnEscKey(e){(e.key==="Escape"||e.key==="Esc")&&this.value.close()}}function Gm(n,e){const t=Jm(e),s=t[0],i=t[t.length-1];n.addEventListener(e,"keydown",r=>{r.key==="Tab"&&(r.shiftKey?document.activeElement===s&&(i.focus(),r.preventDefault()):document.activeElement===i&&(s.focus(),r.preventDefault()))},!0),Promise.resolve().then(()=>{s.focus()})}function Jm(n){return n.querySelectorAll("a[href], button, textarea, input, select")}class Qm extends E{render(e,t){return e.div({className:{SessionStatusView:!0,hidden:s=>!s.isShown}},[Ve(e,{hidden:s=>!s.isWaiting}),e.p(s=>s.statusLabel),e.if(s=>s.isConnectNowShown,s=>s.button({className:"link",onClick:()=>t.connectNow()},"Retry now")),e.if(s=>s.isSecretStorageShown,s=>s.a({href:t.setupKeyBackupUrl},"Go to settings")),e.if(s=>s.canDismiss,s=>s.div({className:"end"},s.button({className:"dismiss",onClick:()=>t.dismiss()})))])}}class Ym extends E{constructor(e,t){super(e),this._viewClassForTile=t}render(e,t){const s=[];for(let i=0;it.focusTile(i),onFocusin:()=>t.focusTile(i),className:{container:!0,[`tile${i}`]:!0,focused:r=>r.focusIndex===i}},e.mapView(r=>r.roomViewModelAt(i),r=>r?r.kind==="roomBeingCreated"?new Po(r):r.kind==="invite"?new Uo(r):new Lo(r,this._viewClassForTile):new Et(o=>o.div({className:"room-placeholder"},[o.h2({className:"focused"},t.i18n`Select a room on the left`),o.h2({className:"unfocused"},t.i18n`Click to select this tile`)])))));return s.push(e.div({className:i=>`focus-ring tile${i.focusIndex}`})),e.div({className:"RoomGridView middle layout3x2"},s)}}class Fo extends E{render(e){return e.div([e.map(t=>t.status,(t,s,i)=>{switch(t){case"Enabled":return Xm(s,i);case"NewVersionAvailable":return Zm(s,i);case"SetupKey":return ep(s,i);case"SetupPhrase":return tp(s,i);case"Pending":return s.p(i.i18n`Waiting to go online…`)}}),e.map(t=>t.backupWriteStatus,(t,s,i)=>{switch(t){case"Writing":{const r=s.progress({min:0,max:100,value:o=>o.backupPercentage});return s.div(["Backup in progress ",r," ",o=>o.backupInProgressLabel])}case"Stopped":{let r;return i.backupError?r=`Backup has stopped because of an error: ${i.backupError}`:r="Backup has stopped",s.p(r," ",s.button({onClick:()=>i.startBackup()},"Backup now"))}case"Done":return s.p("All keys are backed up.");default:return null}})])}}function Xm(n,e){const t=[n.p([e.i18n`Key backup is enabled, using backup version ${e.backupVersion}. `,n.button({onClick:()=>e.disable()},e.i18n`Disable`)])];return e.dehydratedDeviceId&&t.push(n.p(e.i18n`A dehydrated device id was set up with id ${e.dehydratedDeviceId} which you can use during your next login with your secret storage key.`)),n.div(t)}function Zm(n,e){const t=[n.p([e.i18n`A new backup version has been created from another device. Disable key backup and enable it again with the new key.`,n.button({onClick:()=>e.disable()},e.i18n`Disable`)])];return n.div(t)}function ep(n,e){const t=n.button({className:"link",onClick:()=>e.showPhraseSetup()},e.i18n`use a security phrase`);return n.div([n.p(e.i18n`Enter your secret storage security key below to ${e.purpose}, which will enable you to decrypt messages received before you logged into this session. The security key is a code of 12 groups of 4 characters separated by a space that Element created for you when setting up security.`),Ko(n),Bo(n,e,e.i18n`Security key`,(s,i)=>e.enterSecurityKey(s,i)),n.p([e.i18n`Alternatively, you can `,t,e.i18n` if you have one.`])])}function tp(n,e){const t=n.button({className:"link",onClick:()=>e.showKeySetup()},e.i18n`use your security key`);return n.div([n.p(e.i18n`Enter your secret storage security phrase below to ${e.purpose}, which will enable you to decrypt messages received before you logged into this session. The security phrase is a freeform secret phrase you optionally chose when setting up security in Element. It is different from your password to login, unless you chose to set them to the same value.`),Ko(n),Bo(n,e,e.i18n`Security phrase`,(s,i)=>e.enterSecurityPhrase(s,i)),n.p([e.i18n`You can also `,t,e.i18n`.`])])}function Bo(n,e,t,s){let i;const r=()=>s(o.value,(i==null?void 0:i.checked)||!1),o=n.input({type:"password",disabled:c=>c.isBusy,placeholder:t}),a=[n.p([o,n.button({disabled:c=>c.isBusy,onClick:r},e.decryptAction)])];if(e.offerDehydratedDeviceSetup){i=n.input({type:"checkbox",id:"enable-dehydrated-device"});const c=n.a({href:"https://github.com/uhoreg/matrix-doc/blob/dehydration/proposals/2697-device-dehydration.md",target:"_blank",rel:"noopener"},"more info");a.push(n.p([i,n.label({for:i.id},[e.i18n`Back up my device as well (`,c,")"])]))}return n.div({className:"row"},[n.div({className:"label"},t),n.div({className:"content"},a)])}function Ko(n){return n.if(e=>e.error,(e,t)=>e.div([e.p({className:"error"},s=>s.i18n`Could not enable key backup: ${s.error}.`),e.p(t.i18n`Try double checking that you did not mix up your security key, security phrase and login password as explained above.`)]))}class sp extends E{render(e,t){let s=t.version;t.showUpdateButton&&(s=e.span([t.version,e.button({onClick:()=>t.checkForUpdate()},t.i18n`Check for updates`)]));const i=(a,c,l,h="")=>a.div({className:`row ${h}`},[a.div({className:"label"},c),a.div({className:"content"},l)]),r=[];r.push(e.h3("Session"),i(e,t.i18n`User ID`,t.userId),i(e,t.i18n`Session ID`,t.deviceId,"code"),i(e,t.i18n`Session key`,t.fingerprintKey,"code"),i(e,"",e.button({onClick:()=>t.logout(),disabled:a=>a.isLoggingOut},t.i18n`Log out`))),r.push(e.h3("Key backup"),e.view(new Fo(t.keyBackupViewModel))),r.push(e.h3("Notifications"),e.map(a=>a.pushNotifications.supported,(a,c)=>{if(a===null)return c.p(t.i18n`Loading…`);if(a){const l=d=>d.pushNotifications.enabled?d.i18n`Push notifications are enabled`:d.i18n`Push notifications are disabled`,h=d=>d.pushNotifications.enabled?d.i18n`Disable`:d.i18n`Enable`;return i(c,l,c.button({onClick:()=>t.togglePushNotifications(),disabled:d=>d.pushNotifications.updating},h))}else return c.p(t.i18n`Push notifications are not supported on this browser`)}),e.if(a=>a.pushNotifications.supported&&a.pushNotifications.enabled,a=>a.div([a.p(["If you think push notifications are not being delivered, ",a.button({className:"link",onClick:()=>t.checkPushEnabledOnServer()},"check")," if they got disabled on the server"]),a.map(c=>c.pushNotifications.enabledOnServer,(c,l)=>{if(c===!0)return l.p("Push notifications are still enabled on the server, so everything should be working. Sometimes notifications can get dropped if they can't be delivered within a given time.");if(c===!1)return l.p("Push notifications have been disabled on the server, likely due to a bug. Please re-enable them by clicking Disable and then Enable again above.")}),a.map(c=>c.pushNotifications.serverError,(c,l)=>{if(c)return l.p("Couldn't not check on server: "+c.message)})]))),r.push(e.h3("Preferences"),i(e,t.i18n`Scale down images when sending`,this._imageCompressionRange(e,t)),e.if(a=>a.activeTheme,(a,c)=>i(a,c.i18n`Use the following theme`,this._themeOptions(a,c))));const o=[];return t.canSendLogsToServer&&o.push(e.button({onClick:Nm(()=>t.sendLogsToServer())},`Submit logs to ${t.logsServer}`)),o.push(e.button({onClick:()=>t.exportLogs()},"Download logs")),r.push(e.h3("Application"),i(e,t.i18n`Version`,s),i(e,t.i18n`Storage usage`,a=>`${a.storageUsage} / ${a.storageQuota}`),i(e,t.i18n`Debug logs`,o),e.p({className:{hidden:a=>!a.logsFeedbackMessage}},a=>a.logsFeedbackMessage),e.p(["Debug logs contain application usage data including your username, the IDs or aliases of the rooms or groups you have visited, the usernames of other users and the names of files you send. They do not contain messages. For more information, review our ",e.a({href:"https://element.io/privacy",target:"_blank",rel:"noopener"},"privacy policy"),"."])),e.main({className:"Settings middle"},[e.div({className:"middle-header"},[e.a({className:"button-utility close-middle",href:t.closeUrl,title:t.i18n`Close settings`}),e.h2("Settings")]),e.div({className:"SettingsBody"},r)])}_imageCompressionRange(e,t){const i=Math.ceil(t.minSentImageSizeLimit/32)*32,r=(Math.floor(t.maxSentImageSizeLimit/32)+1)*32,o=a=>t.setSentImageSizeLimit(parseInt(a.target.value,10));return[e.input({type:"range",step:32,min:i,max:r,value:a=>a.sentImageSizeLimit||r,onInput:o,onChange:o})," ",e.output(a=>a.sentImageSizeLimit?a.i18n`resize to ${a.sentImageSizeLimit}px`:a.i18n`no resizing`)]}_themeOptions(e,t){const{themeName:s,themeVariant:i}=t.activeTheme,r=[];for(const _ of Object.keys(t.themeMapping))r.push(e.option({value:_,selected:_===s},_));const o=e.select({onChange:_=>{const f=_.target.value;if(!("id"in t.themeMapping[f])){const b=h.checked?"dark":u.checked?"light":"default";a(b);return}t.changeThemeOption(f)}},r),a=_=>{const f=o.options[o.selectedIndex].value;t.changeThemeOption(f,_)},c=i==="dark",l=i==="light",h=e.input({type:"radio",name:"radio-chooser",value:"dark",id:"dark",checked:c}),d=e.input({type:"radio",name:"radio-chooser",value:"default",id:"default",checked:!(c||l)}),u=e.input({type:"radio",name:"radio-chooser",value:"light",id:"light",checked:l}),p=e.form({className:{hidden:()=>{const _=o.options[o.selectedIndex].value;return"id"in t.themeMapping[_]}},onChange:_=>a(_.target.value)},[d,e.label({for:"default"},"Match system theme"),h,e.label({for:"dark"},"dark"),u,e.label({for:"light"},"light")]);return e.div({className:"theme-chooser"},[o,p])}}class ip extends E{render(e,t){return e.main({className:"middle"},e.div({className:"CreateRoomView centered-column"},[e.h2("Create room"),e.form({className:"CreateRoomView_detailsForm form",onChange:s=>this.onFormChange(s),onSubmit:s=>this.onSubmit(s)},[e.div({className:"vertical-layout"},[e.button({type:"button",className:"CreateRoomView_selectAvatar",onClick:()=>t.selectAvatar()},e.mapView(s=>s.hasAvatar,s=>s?new ht(t,64):new Et(void 0,i=>i.div({className:"CreateRoomView_selectAvatarPlaceholder"})))),e.div({className:"stretch form-row text"},[e.label({for:"name"},t.i18n`Room name`),e.input({onInput:s=>t.setName(s.target.value),type:"text",name:"name",id:"name",placeholder:t.i18n`Enter a room name`})])]),e.div({className:"form-row text"},[e.label({for:"topic"},t.i18n`Topic (optional)`),e.textarea({onInput:s=>t.setTopic(s.target.value),name:"topic",id:"topic",placeholder:t.i18n`Topic`})]),e.div({className:"form-group"},[e.div({className:"form-row check"},[e.input({type:"radio",name:"isPublic",id:"isPrivate",value:"false",checked:!t.isPublic}),e.label({for:"isPrivate"},t.i18n`Private room, only upon invitation.`)]),e.div({className:"form-row check"},[e.input({type:"radio",name:"isPublic",id:"isPublic",value:"true",checked:t.isPublic}),e.label({for:"isPublic"},t.i18n`Public room, anyone can join`)])]),e.div({className:{"form-row check":!0,hidden:s=>s.isPublic}},[e.input({type:"checkbox",name:"isEncrypted",id:"isEncrypted",checked:t.isEncrypted}),e.label({for:"isEncrypted"},t.i18n`Enable end-to-end encryption`)]),e.div({className:{"form-row text":!0,hidden:s=>!s.isPublic}},[e.label({for:"roomAlias"},t.i18n`Room alias`),e.input({onInput:s=>t.setRoomAlias(s.target.value),type:"text",name:"roomAlias",id:"roomAlias",placeholder:t.i18n`Room alias (, or # or #:hs.tld`})]),e.div({className:"form-group"},[e.div(e.button({className:"link",type:"button",onClick:()=>t.toggleAdvancedShown()},s=>s.isAdvancedShown?s.i18n`Hide advanced settings`:s.i18n`Show advanced settings`)),e.div({className:{"form-row check":!0,hidden:s=>!s.isAdvancedShown}},[e.input({type:"checkbox",name:"isFederationDisabled",id:"isFederationDisabled",checked:t.isFederationDisabled}),e.label({for:"isFederationDisabled"},[t.i18n`Disable federation`,e.p({className:"form-row-description"},t.i18n`Can't be changed later. This will prevent people on other homeservers from joining the room. This is typically used when only people from your own organisation (if applicable) should be allowed in the room, and is otherwise not needed.`)])])]),e.div({className:"button-row"},[e.button({className:"button-action primary",type:"submit",disabled:s=>!s.canCreate},t.i18n`Create room`)])])]))}onFormChange(e){switch(e.target.name){case"isEncrypted":this.value.setEncrypted(e.target.checked);break;case"isPublic":this.value.setPublic(e.currentTarget.isPublic.value==="true");break;case"isFederationDisabled":this.value.setFederationDisabled(e.target.checked);break}}onSubmit(e){e.preventDefault(),this.value.create()}}class rp extends E{render(e,t){const s=()=>t.isEncrypted?t.i18n`On`:t.i18n`Off`;return e.div({className:"RoomDetailsView"},[e.div({className:"RoomDetailsView_avatar"},[e.view(new ht(t,52)),e.mapView(i=>i.isEncrypted,i=>new np(i))]),e.div({className:"RoomDetailsView_name"},[e.h2(i=>i.name)]),this._createRoomAliasDisplay(t),e.div({className:"RoomDetailsView_rows"},[this._createRightPanelButtonRow(e,t.i18n`People`,{MemberCount:!0},i=>i.memberCount,()=>t.openPanel("members")),this._createRightPanelRow(e,t.i18n`Encryption`,{EncryptionStatus:!0},s)])])}_createRoomAliasDisplay(e){return e.canonicalAlias?T.div({className:"RoomDetailsView_id"},[e.canonicalAlias]):""}_createRightPanelRow(e,t,s,i){const r=It(ft({RoomDetailsView_label:!0},s));return e.div({className:"RoomDetailsView_row"},[e.div({className:r},[t]),e.div({className:"RoomDetailsView_value"},i)])}_createRightPanelButtonRow(e,t,s,i,r){const o=It(ft({RoomDetailsView_label:!0},s));return e.button({className:"RoomDetailsView_row",onClick:r},[e.div({className:o},[t]),e.div({className:"RoomDetailsView_value"},i)])}}class np extends E{render(e,t){return e.div({className:"EncryptionIconView"},[e.div({className:t?"EncryptionIconView_encrypted":"EncryptionIconView_unencrypted"})])}}class op{constructor(e,t){this.start=e,this.end=t}get length(){return this.end-this.start}contains(e){return e.start>=this.start&&e.end<=this.end}containsIndex(e){return e>=this.start&&e(n[n.Before=1]="Before",n[n.Inside=2]="Inside",n[n.After=3]="After",n))(ot||{});class ap{constructor(e){this.range=e,this.idx=e.start-1}next(){return this.idxthis.range.start?(this.idx-=1,{value:this.idx,done:!1}):{value:void 0,done:!0}}}function lp(n,e){let t=0;for(;t(n[n.Move=0]="Move",n[n.Add=1]="Add",n[n.Remove=2]="Remove",n[n.RemoveAndAdd=3]="RemoveAndAdd",n[n.UpdateRange=4]="UpdateRange",n))(wt||{});class zt extends op{constructor(e,t,s,i=t-e){super(e,t),this._totalLength=s,this._viewportItemCount=i}expand(e){if(this.length===0)return this;const t=Math.max(0,this.start-e),s=Math.min(this.totalLength,this.end+e);return new zt(t,s,this.totalLength,this._viewportItemCount)}get totalLength(){return this._totalLength}get viewportItemCount(){return this._viewportItemCount}static fromViewport(e,t,s,i){const r=Math.min(Math.max(0,Math.floor(i/t)),e),o=e-r,a=s!==0?Math.ceil(s/t):0,c=Math.min(a,o);return new zt(r,r+c,e,a)}queryAdd(e,t,s){const i=this.viewportItemCount>this.length?this.end:this.end-1;if(e<=i){const r=this.clampIndex(e,i),o=r===e?t:bs(s[Symbol.iterator](),r);return this.createAddResult(r,o)}else return{type:4,newRange:this.deriveRange(1,0)}}queryRemove(e,t){if(ethis.length)return{type:1,addIdx:e,value:t,newRange:this.deriveRange(1,1)};{const s=this.clampIndex(Number.MAX_SAFE_INTEGER);return{type:3,removeIdx:s,addIdx:e,value:t,newRange:this.deriveRange(1,0)}}}createRemoveResult(e,t){if(this.endrequestAnimationFrame(t)),await new Promise(t=>requestAnimationFrame(t)),!this._list)return;this._subscription=this._list.subscribe(this);const e=this._getVisibleRange();this.renderRange=e.expand(this.overflowItems),this._childInstances=[],this.reRenderFullRange(this.renderRange)}_getVisibleRange(){const{clientHeight:e,scrollTop:t}=this.root();if(e===0)throw new Error("LazyListView height is 0");return zt.fromViewport(this._list.length,this.itemHeight,e,t)}reRenderFullRange(e){xm(this._listElement);const t=document.createDocumentFragment(),s=this._list[Symbol.iterator]();this._childInstances.length=0,e.forEachInIterator(s,i=>{const r=this._childCreator(i);this._childInstances.push(r),t.appendChild(Xt(r,this._mountArgs))}),this._listElement.appendChild(t),this.adjustPadding(e)}renderUpdate(e,t){if(t.intersects(e)){for(const s of e.reverseIterable())if(!t.containsIndex(s)){const i=s-e.start;this.removeChild(i)}t.forEachInIterator(this._list[Symbol.iterator](),(s,i)=>{if(!e.containsIndex(i)){const r=i-t.start;this.addChild(r,s)}}),this.adjustPadding(t)}else this.reRenderFullRange(t)}adjustPadding(e){const t=e.start*this.itemHeight,s=(e.totalLength-e.end)*this.itemHeight,i=this._listElement.style;i.paddingTop=`${t}px`,i.paddingBottom=`${s}px`}mount(){const e=super.mount();return this.scrollContainer=T.div({className:"LazyListParent"},e),this.scrollContainer.addEventListener("scroll",this),this.scrollContainer}unmount(){this.root().removeEventListener("scroll",this),this.scrollContainer=void 0,super.unmount()}root(){return this.scrollContainer}get _listElement(){return super.root()}onAdd(e,t){const s=this.renderRange.queryAdd(e,t,this._list);this.applyRemoveAddResult(s)}onRemove(e,t){const s=this.renderRange.queryRemove(e,this._list);this.applyRemoveAddResult(s)}onMove(e,t,s){const i=this.renderRange.queryMove(e,t,s,this._list);i&&(i.type===wt.Move?this.moveChild(this.renderRange.toLocalIndex(i.fromIdx),this.renderRange.toLocalIndex(i.toIdx)):this.applyRemoveAddResult(i))}onUpdate(e,t,s){this.renderRange.containsIndex(e)&&this.updateChild(this.renderRange.toLocalIndex(e),t,s)}applyRemoveAddResult(e){(e.type===wt.Remove||e.type===wt.RemoveAndAdd)&&this.removeChild(this.renderRange.toLocalIndex(e.removeIdx)),e.newRange&&(this.renderRange=e.newRange,this.adjustPadding(this.renderRange)),(e.type===wt.Add||e.type===wt.RemoveAndAdd)&&this.addChild(this.renderRange.toLocalIndex(e.addIdx),e.value)}}class dp extends E{render(e,t){return e.li({className:"MemberTileView"},e.a({href:t.detailsUrl},[e.view(new ht(t,32)),e.div({className:"MemberTileView_name"},s=>s.name)]))}}class up extends hp{constructor(e){super({list:e.memberTileViewModels,className:"MemberListView",itemHeight:40},t=>new dp(t))}}class mp extends E{render(e,t){return e.div({className:"MemberDetailsView"},[e.view(new ht(t,128)),e.div({className:"MemberDetailsView_name"},e.h2(s=>s.name)),e.div({className:"MemberDetailsView_id"},t.userId),this._createSection(e,t.i18n`Role`,s=>s.role),this._createSection(e,t.i18n`Security`,t.isEncrypted?t.i18n`Messages in this room are end-to-end encrypted.`:t.i18n`Messages in this room are not end-to-end encrypted.`),this._createOptions(e,t)])}_createSection(e,t,s){return e.div({className:"MemberDetailsView_section"},[e.div({className:"MemberDetailsView_label"},t),e.div({className:"MemberDetailsView_value"},s)])}_createOptions(e,t){return e.div({className:"MemberDetailsView_section"},[e.div({className:"MemberDetailsView_label"},t.i18n`Options`),e.div({className:"MemberDetailsView_options"},[e.a({href:t.linkToUser,target:"_blank",rel:"noopener"},t.i18n`Open Link to User`),e.button({className:"text",onClick:()=>t.openDirectMessage()},t.i18n`Open direct message`)])])}}class pp extends E{render(e){return e.div({className:"RightPanelView"},[e.ifView(t=>t.activeViewModel,t=>new _p(t)),e.mapView(t=>t.activeViewModel,t=>this._viewFromType(t))])}_viewFromType(e){switch(e==null?void 0:e.type){case"room-details":return new rp(e);case"member-list":return new up(e);case"member-details":return new mp(e);default:return new Oo}}}class _p extends E{render(e,t){return e.div({className:"RightPanelView_buttons"},[e.button({className:{back:!0,"button-utility":!0,hide:!t.activeViewModel.shouldShowBackButton},onClick:()=>t.showPreviousPanel()}),e.button({className:"close button-utility",onClick:()=>t.closePanel()})])}}class fp extends is{constructor(e){const t={className:"Timeline_messageReactions",tagName:"div",list:e.reactions,onItemClick:s=>s.onClick()};super(t,s=>new gp(s))}}class gp extends E{render(e,t){return e.button({className:{active:s=>s.isActive,pending:s=>s.isPending}},[t.key," ",s=>`${s.count}`])}onClick(){this.value.toggle()}}class Tt extends E{constructor(e,t,s,i="li"){super(e),this._menuPopup=null,this._tagName=i,this._viewClassForTile=t,this._renderFlags=s}get _interactive(){var e,t;return(t=(e=this._renderFlags)==null?void 0:e.interactive)!=null?t:!0}get _isReplyPreview(){var e;return(e=this._renderFlags)==null?void 0:e.reply}render(e,t){const s=[this.renderMessageBody(e,t)];this._interactive&&s.push(e.button({className:"Timeline_messageOptions"},"\u22EF"));const i=e.el(this._tagName,{className:{Timeline_message:!0,own:t.isOwn,unsent:t.isUnsent,unverified:t.isUnverified,disabled:!this._interactive,continuation:o=>o.isContinuation},"data-event-id":t.eventId},s);e.mapSideEffect(o=>o.isContinuation,(o,a)=>{if(o&&a===!1)i.removeChild(i.querySelector(".Timeline_messageAvatar")),i.removeChild(i.querySelector(".Timeline_messageSender"));else if(!o&&!this._isReplyPreview){const c=T.a({href:t.memberPanelLink,className:"Timeline_messageAvatar"},[it(t,30)]),l=T.div({className:`Timeline_messageSender usercolor${t.avatarColorNumber}`},t.displayName);i.insertBefore(c,i.firstChild),i.insertBefore(l,i.firstChild)}});let r=null;return e.mapSideEffect(o=>o.reactions,o=>{o&&this._interactive&&!r?(r=new fp(o),this.addSubView(r),i.appendChild(Xt(r))):!o&&r&&(i.removeChild(r.root()),r.unmount(),this.removeSubView(r),r=null)}),i}onClick(e){e.target.className==="Timeline_messageOptions"&&this._toggleMenu(e.target)}_toggleMenu(e){if(this._menuPopup&&this._menuPopup.isOpen)this._menuPopup.close();else{const t=this.createMenuOptions(this.value);if(!t.length)return;this.root().classList.add("menuOpen");const s=()=>this.root().classList.remove("menuOpen");this._menuPopup=new zi(new Y(t),s),this._menuPopup.trackInTemplateView(this),this._menuPopup.showRelativeTo(e,2)}}createMenuOptions(e){const t=[];return e.canReact&&e.shape!=="redacted"&&!e.isPending&&(t.push(new yp(e)),t.push(Y.option(e.i18n`Reply`,()=>e.startReply()))),e.canAbortSending?t.push(Y.option(e.i18n`Cancel`,()=>e.abortSending())):e.canRedact&&t.push(Y.option(e.i18n`Delete`,()=>e.redact()).setDestructive()),t}renderMessageBody(){}}class yp{constructor(e){this._vm=e}toDOM(e){const t=["\u{1F44D}","\u{1F44E}","\u{1F604}","\u{1F389}","\u{1F615}","\u2764\uFE0F","\u{1F680}","\u{1F440}"].map(i=>e.button({onClick:()=>this._vm.react(i)},i)),s=e.button({onClick:()=>{const i=prompt("Enter your reaction (emoji)");i&&this._vm.react(i)}},"\u2026");return e.li({className:"quick-reactions"},[...t,s])}}class wp extends E{constructor(e,t){super(e),this._viewClassForTile=t}render(e,t){const s=this._viewClassForTile(t);if(!s)throw new Error(`Shape ${t.shape} is unrecognized.`);const i=new s(t,this._viewClassForTile,{reply:!0,interactive:!1});return e.div({className:"ReplyPreviewView"},e.blockquote([e.a({className:"link",href:t.permaLink},"In reply to"),e.a({className:"pill",href:t.senderProfileLink},[it(t,12,void 0),t.displayName]),e.br(),e.view(i)]))}}class vp extends E{render(e){return e.blockquote({className:"ReplyPreviewView"},[e.div({className:"Timeline_messageBody statusMessage"},"This reply could not be found.")])}}class bp extends Tt{renderMessageBody(e,t){const s=e.time({className:{hidden:!t.date}},t.date+" "+t.time),i=e.div({className:{Timeline_messageBody:!0,statusMessage:o=>o.shape==="message-status"}},e.mapView(o=>o.replyTile,o=>this._isReplyPreview?null:t.isReply&&!o?new vp:o?new wp(o,this._viewClassForTile):null)),r=o=>(o==null?void 0:o.nodeType)!==Node.COMMENT_NODE&&o.className!=="ReplyPreviewView";return e.mapSideEffect(o=>o.body,o=>{for(;r(i.lastChild);)i.removeChild(i.lastChild);for(const a of o.parts)i.appendChild($o(a));i.appendChild(s)}),i}}function Sp(n){const e=n.items.map(s=>T.li(at(s))),t=n.startOffset;return t?T.ol({start:t},e):T.ul(e)}function Ip(n){const e={src:n.src};return n.width&&(e.width=n.width),n.height&&(e.height=n.height),n.alt&&(e.alt=n.alt),n.title&&(e.title=n.title),T.img(e)}function Ep(n){const e=`avatar size-12 usercolor${n.avatarColorNumber}`,t=T.div({class:e},Te(n.avatarInitials)),s=at(n.children);return s.unshift(t),T.a({class:"pill",href:n.href,rel:"noopener",target:"_blank"},s)}function kp(n){const e=[];if(n.head){const s=n.head.map(i=>T.th(at(i)));e.push(T.thead(T.tr(s)))}const t=[];for(const s of n.body){const i=s.map(r=>T.td(at(r)));t.push(T.tr(i))}return e.push(T.tbody(t)),T.table(e)}const Rp={header:n=>T["h"+Math.min(6,n.level)](at(n.inlines)),codeblock:n=>T.pre(T.code(Te(n.text))),table:n=>kp(n),code:n=>T.code(Te(n.text)),text:n=>Te(n.text),link:n=>T.a({href:n.url,className:"link",target:"_blank",rel:"noopener"},at(n.inlines)),pill:Ep,format:n=>T[n.format](at(n.children)),rule:()=>T.hr(),list:Sp,image:Ip,newline:()=>T.br()};function $o(n){const e=Rp[n.type];return e?e(n):Te(`[unknown part type ${n.type}]`)}function at(n){return Array.from(n,$o)}class jo extends Tt{renderMessageBody(e,t){let i=`padding-top: ${t.height/t.width*100}%;`;t.platform.isIE11&&(i=`height: ${t.height}px`);const r=[e.div({className:"spacer",style:i}),this.renderMedia(e,t),e.time(t.date+" "+t.time)],o=e.div({className:{status:!0,hidden:a=>!a.status}},a=>a.status);if(r.push(o),t.isPending){const a=e.progress({min:0,max:100,value:c=>c.uploadPercentage,className:{hidden:c=>!c.isUploading}});r.push(a)}return e.div({className:"Timeline_messageBody"},[e.div({className:"media",style:`max-width: ${t.width}px`,"data-testid":"media"},r),e.if(a=>a.error,a=>a.p({className:"error"},t.error))])}createMenuOptions(e){const t=super.createMenuOptions(e);if(!e.isPending){let s;switch(e.shape){case"image":s=e.i18n`Download image`;break;case"video":s=e.i18n`Download video`;break;default:s=e.i18n`Download media`;break}t.push(Y.option(s,()=>e.downloadMedia()))}return t}}class Cp extends jo{renderMedia(e,t){const s=e.img({src:i=>i.thumbnailUrl,alt:i=>i.label,title:i=>i.label,style:`max-width: ${t.width}px; max-height: ${t.height}px;`});return t.isPending||!t.lightboxUrl?s:e.a({href:t.lightboxUrl},s)}}function Ds(n,e){return new Promise((t,s)=>{let i;const r=a=>{i(),s(a.target.error)},o=()=>{i(),t()};i=()=>{n.removeEventListener(e,o),n.removeEventListener("error",r)},n.addEventListener(e,o),n.addEventListener("error",r)})}class Tp extends jo{renderMedia(e){const t=e.video({src:s=>s.videoUrl||`data:${s.mimeType},`,title:s=>s.label,controls:!0,preload:"none",poster:s=>s.thumbnailUrl,onPlay:this._onPlay.bind(this),style:s=>`max-width: ${s.width}px; max-height: ${s.height}px;${s.isPending?"z-index: -1":""}`});return t.addEventListener("error",this._onError.bind(this)),t}async _onPlay(e){const t=this.value;if(!t.videoUrl)try{const s=e.target;await t.loadVideo();const i=Ds(s,"loadeddata");s.load(),await i,s.play()}catch{}}_onError(e){const t=this.value,s=e.target,i=s.error;if(i instanceof window.MediaError&&i.code===4)if(!s.src.startsWith("data:"))t.setViewError(new Error(`this browser does not support videos of type ${t.mimeType}.`));else return;else t.setViewError(i)}}class Mp extends Tt{renderMessageBody(e,t){const s=[];return t.isPending?s.push(i=>i.label):s.push(e.button({className:"link",onClick:()=>t.download()},i=>i.label),e.time(t.date+" "+t.time)),e.p({className:"Timeline_messageBody statusMessage"},s)}}class Ap extends Tt{renderMessageBody(e,t){return e.p({className:"Timeline_messageBody statusMessage"},[e.span(t.label),e.a({className:"Timeline_locationLink",href:t.mapsLink,target:"_blank",rel:"noopener"},t.i18n`Open in maps`),e.time(t.date+" "+t.time)])}}class xp extends Tt{renderMessageBody(e,t){return e.p({className:"Timeline_messageBody statusMessage"},t.label)}}class Np extends E{constructor(e){super(e)}render(e){return e.li({className:"AnnouncementView"},e.div(t=>t.announcement))}onClick(){}}class Dp extends Tt{renderMessageBody(e){return e.p({className:"Timeline_messageBody statusMessage"},t=>t.description)}createMenuOptions(e){const t=super.createMenuOptions(e);return e.isRedacting&&t.push(Y.option(e.i18n`Cancel`,()=>e.abortPendingRedaction())),t}}class Vp extends E{constructor(e){super(e)}render(e){const t={GapView:!0,isLoading:s=>s.isLoading,isAtTop:s=>s.isAtTop};return e.li({className:t},[Ve(e),e.div(s=>s.isLoading?s.i18n`Loading more messages …`:s.i18n`Not loading!`),e.if(s=>s.error,s=>s.strong(i=>i.error))])}onClick(){}}function mn(n){switch(n.shape){case"gap":return Vp;case"announcement":return Np;case"message":case"message-status":return bp;case"image":return Cp;case"video":return Tp;case"file":return Mp;case"location":return Ap;case"missing-attachment":return xp;case"redacted":return Dp;default:throw new Error(`Tiles of shape "${n.shape}" are not supported, check the tileClassForEntry function in the view model`)}}class Lp extends E{render(e,t){return e.div({className:{SessionView:!0,"middle-shown":s=>!!s.activeMiddleViewModel,"right-shown":s=>!!s.rightPanelViewModel}},[e.view(new Qm(t.sessionStatusViewModel)),e.view(new Pm(t.leftPanelViewModel)),e.mapView(s=>s.activeMiddleViewModel,()=>t.roomGridViewModel?new Ym(t.roomGridViewModel,mn):t.settingsViewModel?new sp(t.settingsViewModel):t.createRoomViewModel?new ip(t.createRoomViewModel):t.currentRoomViewModel?t.currentRoomViewModel.kind==="invite"?new Uo(t.currentRoomViewModel):t.currentRoomViewModel.kind==="room"?new Lo(t.currentRoomViewModel,mn):t.currentRoomViewModel.kind==="roomBeingCreated"?new Po(t.currentRoomViewModel):new Wm(t.currentRoomViewModel):new Et(s=>s.div({className:"room-placeholder"},s.h2(t.i18n`Choose a room on the left side.`)))),e.mapView(s=>s.lightboxViewModel,s=>s?new zm(s):null),e.mapView(s=>s.rightPanelViewModel,s=>s?new pp(s):null)])}}function qo(n){return "2832467534"?n.a({target:"_blank",href:"https://github.com/vector-im/hydrogen-web/releases/tag/v0.3.1"},`Hydrogen v0.3.1 (${"2832467534"}) on Github`):n.a({target:"_blank",href:"https://github.com/vector-im/hydrogen-web"},"Hydrogen on Github")}class Op extends E{render(e,t){const s=o=>!!o.isBusy,i=e.input({id:"username",type:"text",placeholder:t.i18n`Username`,disabled:s}),r=e.input({id:"password",type:"password",placeholder:t.i18n`Password`,disabled:s});return e.div({className:"PasswordLoginView form"},[e.if(o=>o.error,o=>o.div({className:"error"},a=>a.error)),e.form({onSubmit:o=>{o.preventDefault(),t.login(i.value,r.value)}},[e.if(o=>o.errorMessage,(o,a)=>o.p({className:"error"},a.i18n(a.errorMessage))),e.div({className:"form-row text"},[e.label({for:"username"},t.i18n`Username`),i]),e.div({className:"form-row text"},[e.label({for:"password"},t.i18n`Password`),r]),e.div({className:"button-row"},[e.button({className:"button-action primary",type:"submit",disabled:s},t.i18n`Log In`)])])])}}class Pp extends E{render(e,t){return e.div({className:"Settings"},[e.h3(t.i18n`Restore your encrypted history?`),e.ifView(s=>s.decryptDehydratedDeviceViewModel,s=>new Fo(s.decryptDehydratedDeviceViewModel)),e.map(s=>s.deviceDecrypted,(s,i)=>s?i.p(t.i18n`That worked out, you're good to go!`):i.p(t.i18n`This will claim the dehydrated device ${t.dehydratedDeviceId}, and will set up a new one.`)),e.div({className:"button-row"},[e.button({className:"button-action primary",onClick:()=>{t.finish()},type:"button"},s=>s.deviceDecrypted?s.i18n`Continue`:s.i18n`Continue without restoring`)])])}}class Ps extends E{render(e){const t=e.if(i=>i.hasError,(i,r)=>i.button({onClick:()=>r.exportLogs()},r.i18n`Export logs`)),s=e.if(i=>i.hasError,(i,r)=>i.button({onClick:()=>r.logout()},r.i18n`Log out`));return e.div({className:"SessionLoadStatusView"},[e.p({className:"status"},[Ve(e,{hidden:i=>!i.loading}),e.p(i=>i.loadLabel),t,s]),e.ifView(i=>i.accountSetupViewModel,i=>new Pp(i.accountSetupViewModel))])}}class Up extends E{render(e){return e.div({className:"CompleteSSOView"},[e.p({className:"CompleteSSOView_title"},"Finishing up your SSO Login"),e.if(t=>t.errorMessage,(t,s)=>t.p({className:"error"},s.i18n(s.errorMessage))),e.mapView(t=>t.loadViewModel,t=>t?new Ps(t):null)])}}class Fp extends E{render(e,t){const s=i=>i.isBusy;return e.div({className:"PreSessionScreen"},[e.button({className:"button-utility LoginView_back",onClick:()=>t.goBack(),disabled:s}),e.div({className:"logo"}),e.h1([t.i18n`Sign In`]),e.mapView(i=>i.completeSSOLoginViewModel,i=>i?new Up(i):null),e.if(i=>i.showHomeserver,(i,r)=>i.div({className:"LoginView_sso form-row text"},[i.label({for:"homeserver"},r.i18n`Homeserver`),i.input({id:"homeserver",type:"text",placeholder:r.i18n`Your matrix homeserver`,value:r.homeserver,disabled:s,onInput:o=>r.setHomeserver(o.target.value),onChange:()=>r.queryHomeserver()}),i.p({className:{LoginView_forwardInfo:!0,hidden:o=>!o.resolvedHomeserver}},o=>o.i18n`You will connect to ${o.resolvedHomeserver}.`),i.if(o=>o.errorMessage,(o,a)=>o.p({className:"error"},a.i18n(a.errorMessage)))])),e.if(i=>i.isFetchingLoginOptions,i=>i.div({className:"LoginView_query-spinner"},[Ve(i),i.p("Fetching available login options...")])),e.mapView(i=>i.passwordLoginViewModel,i=>i?new Op(i):null),e.if(i=>i.passwordLoginViewModel&&i.startSSOLoginViewModel,i=>i.p({className:"LoginView_separator"},t.i18n`or`)),e.mapView(i=>i.startSSOLoginViewModel,i=>i?new Bp(i):null),e.mapView(i=>i.loadViewModel,i=>i?new Ps(i):null),e.p(qo(e))])}}class Bp extends E{render(e,t){return e.div({className:"StartSSOLoginView"},e.button({className:"StartSSOLoginView_button button-action secondary",type:"button",onClick:()=>t.startSSOLogin(),disabled:s=>s.isBusy},t.i18n`Log in with SSO`))}}class Kp extends E{render(e,t){const s=new Ns(t,r=>r.div([r.p("Are you sure you want to log out?"),r.div({className:"button-row"},[r.a({className:"button-action",type:"submit",href:t.cancelUrl},["Cancel"]),r.button({className:"button-action primary destructive",type:"submit",onClick:()=>t.logout()},t.i18n`Log out`)])])),i=new Ns(t,r=>r.p({className:"status",hidden:o=>!o.showStatus},[Ve(r,{hidden:o=>!o.busy}),r.span(o=>o.status)]));return e.div({className:"LogoutScreen"},[e.div({className:"content"},[e.mapView(r=>r.showConfirm,r=>r?s:i)])])}}class $p extends E{render(e,t){return e.div({className:"PreSessionScreen"},[e.div({className:"logo"}),e.div({className:"SessionLoadView"},[e.view(new Ps(t))]),e.div({className:{"button-row":!0,hidden:s=>s.loading}},e.a({className:"button-action primary",href:t.backUrl},t.i18n`Go back`))])}}class jp extends E{_onDeleteClick(){confirm("Are you sure?")&&this.value.delete()}_onClearClick(){confirm("Are you sure?")&&this.value.clear()}render(e,t){return e.li([e.a({className:"session-info",href:t.openUrl},[e.div({className:`avatar usercolor${t.avatarColorNumber}`},s=>s.avatarInitials),e.div({className:"user-id"},s=>s.label)])])}}class qp extends E{render(e,t){const s=new is({list:t.sessions,parentProvidesUpdates:!1},i=>new jp(i));return e.div({className:"PreSessionScreen"},[e.div({className:"logo"}),e.div({className:"SessionPickerView"},[e.h1(["Continue as \u2026"]),e.view(s),e.div({className:"button-row"},[e.a({className:"button-action primary",href:t.cancelUrl},t.i18n`Sign In`)]),e.ifView(i=>i.loadViewModel,()=>new Ps(t.loadViewModel)),e.p(qo(e))])])}}class Wp extends E{render(e,t){return e.mapView(s=>s.activeSection,s=>{switch(s){case"error":return new Et(i=>i.div({className:"StatusView"},[i.h1("Something went wrong"),i.p(t.errorText)]));case"session":return new Lp(t.sessionViewModel);case"login":return new Fp(t.loginViewModel);case"logout":return new Kp(t.logoutViewModel);case"picker":return new qp(t.sessionPickerViewModel);case"redirecting":return new Et(i=>i.p("Redirecting..."));case"loading":return new $p(t.sessionLoadViewModel);default:throw new Error(`Unknown section: ${t.activeSection}`)}})}}class Hp{constructor(e){this._reject=null,this._handle=null,this._promise=new Promise((t,s)=>{this._reject=s,this._handle=setTimeout(()=>{this._reject=null,t()},e)})}elapsed(){return this._promise}abort(){this._reject&&(this._reject(new ye),clearTimeout(this._handle),this._handle=null,this._reject=null)}dispose(){this.abort()}}class zp{constructor(e,t){this._handle=setInterval(t,e)}dispose(){this._handle&&(clearInterval(this._handle),this._handle=null)}}class Gp{constructor(){this._start=window.performance.now()}measure(){return window.performance.now()-this._start}}class Jp{createMeasure(){return new Gp}createTimeout(e){return new Hp(e)}createInterval(e,t){return new zp(t,e)}now(){return Date.now()}}class Qp{constructor(){this._waitingForReply=new Map,this._messageIdCounter=0,this._navigation=null,this._registration=null,this._registrationPromise=null,this._currentController=null,this.haltRequests=!1}setNavigation(e){this._navigation=e}registerAndStart(e){this._registrationPromise=(async()=>{navigator.serviceWorker.addEventListener("message",this),navigator.serviceWorker.addEventListener("controllerchange",this),this._registration=await navigator.serviceWorker.register(e),await navigator.serviceWorker.ready,this._currentController=navigator.serviceWorker.controller,this._registration.addEventListener("updatefound",this),this._registrationPromise=null,this._registration.waiting&&this._registration.active&&this._proposeUpdate(),console.log("Service Worker registered")})()}_onMessage(e){const{data:t}=e,s=t.replyTo;if(s){const i=this._waitingForReply.get(s);i&&(this._waitingForReply.delete(s),i(t.payload))}if(t.type==="hasSessionOpen"){const i=this._navigation.observe("session").get()===t.payload.sessionId;e.source.postMessage({replyTo:t.id,payload:i})}else if(t.type==="hasRoomOpen"){const i=this._navigation.observe("session").get()===t.payload.sessionId,r=this._navigation.observe("room").get()===t.payload.roomId;e.source.postMessage({replyTo:t.id,payload:i&&r})}else if(t.type==="closeSession"){const{sessionId:i}=t.payload;this._closeSessionIfNeeded(i).finally(()=>{e.source.postMessage({replyTo:t.id})})}else t.type==="haltRequests"?(this.haltRequests=!0,e.source.postMessage({replyTo:t.id})):t.type==="openRoom"&&this._navigation.push("room",t.payload.roomId)}_closeSessionIfNeeded(e){var s;const t=(s=this._navigation)==null?void 0:s.path.get("session");return e&&(t==null?void 0:t.value)===e?new Promise(i=>{const r=this._navigation.pathObservable.subscribe(o=>{const a=o.get("session");(!a||a.value!==e)&&(r(),i())});this._navigation.push("session")}):Promise.resolve()}async _proposeUpdate(){if(document.hidden)return;const e=await this._sendAndWaitForReply("version",null,this._registration.waiting);confirm(`Version ${e.version} (${e.buildHash}) is available. Reload to apply?`)&&(await this._sendAndWaitForReply("haltRequests"),this._send("skipWaiting",null,this._registration.waiting))}handleEvent(e){switch(e.type){case"message":this._onMessage(e);break;case"updatefound":this._registration.installing.addEventListener("statechange",this);break;case"statechange":{e.target.state==="installed"&&(this._proposeUpdate(),e.target.removeEventListener("statechange",this));break}case"controllerchange":this._currentController?document.location.reload():this._currentController=navigator.serviceWorker.controller;break}}async _send(e,t,s=void 0){this._registrationPromise&&await this._registrationPromise,s||(s=this._registration.active),s.postMessage({type:e,payload:t})}async _sendAndWaitForReply(e,t,s=void 0){this._registrationPromise&&await this._registrationPromise,s||(s=this._registration.active),this._messageIdCounter+=1;const i=this._messageIdCounter,r=new Promise(o=>{this._waitingForReply.set(i,o)});return s.postMessage({type:e,id:i,payload:t}),await r}async checkForUpdate(){this._registrationPromise&&await this._registrationPromise,this._registration.update()}get version(){return"0.3.1"}get buildHash(){return "2832467534"}async preventConcurrentSessionAccess(e){return this._sendAndWaitForReply("closeSession",{sessionId:e})}async getRegistration(){return this._registrationPromise&&await this._registrationPromise,this._registration}}class Yp{constructor(e,t){this._serviceWorkerHandler=e,this._pushConfig=t}async enablePush(e,t){var i;const s=await((i=this._serviceWorkerHandler)==null?void 0:i.getRegistration());if(s!=null&&s.pushManager){const o=(await s.pushManager.subscribe({userVisibleOnly:!0,applicationServerKey:this._pushConfig.applicationServerKey})).toJSON(),a=o.keys.p256dh,c={endpoint:o.endpoint,auth:o.keys.auth,events_only:!0,default_payload:t};return e.httpPusher(this._pushConfig.gatewayUrl,this._pushConfig.appId,a,c)}}async disablePush(){var t;const e=await((t=this._serviceWorkerHandler)==null?void 0:t.getRegistration());if(e!=null&&e.pushManager){const s=await e.pushManager.getSubscription();s&&await s.unsubscribe()}}async isPushEnabled(){var t;const e=await((t=this._serviceWorkerHandler)==null?void 0:t.getRegistration());return e!=null&&e.pushManager?!!await e.pushManager.getSubscription():!1}async supportsPush(){var t;if(!this._pushConfig)return!1;const e=await((t=this._serviceWorkerHandler)==null?void 0:t.getRegistration());return e&&"pushManager"in e}async enableNotifications(){return"Notification"in window?await Notification.requestPermission()==="granted":!1}async supportsNotifications(){return"Notification"in window}async areNotificationsEnabled(){return"Notification"in window?Notification.permission==="granted":!1}async showNotification(e,t=void 0){var i;if("Notification"in window){new Notification(e,{body:t});return}const s=await((i=this._serviceWorkerHandler)==null?void 0:i.getRegistration());s==null||s.showNotification(e,{body:t})}}class Xp extends kt{constructor(){super(),this._lastSessionHash=void 0}handleEvent(e){e.type==="hashchange"&&(this.emit(this.get()),this._storeHash(this.get()))}get(){return document.location.search.includes("loginToken")?document.location.search:document.location.hash}replaceUrlSilently(e){window.history.replaceState(null,null,e),this._storeHash(e)}pushUrlSilently(e){window.history.pushState(null,null,e),this._storeHash(e)}pushUrl(e){document.location.hash=e}urlAsPath(e){return e.startsWith("#")?e.substr(1):e}pathAsUrl(e){return`#${e}`}onSubscribeFirst(){var e;this._lastSessionHash=(e=window.localStorage)==null?void 0:e.getItem("hydrogen_last_url_hash"),window.addEventListener("hashchange",this)}onUnsubscribeLast(){window.removeEventListener("hashchange",this)}_storeHash(e){var t;(t=window.localStorage)==null||t.setItem("hydrogen_last_url_hash",e)}getLastSessionUrl(){return this._lastSessionHash}}class Zp extends kt{constructor(){super(),this._onOffline=this._onOffline.bind(this),this._onOnline=this._onOnline.bind(this)}_onOffline(){this.emit(!1)}_onOnline(){this.emit(!0)}get(){return navigator.onLine}onSubscribeFirst(){window.addEventListener("offline",this._onOffline),window.addEventListener("online",this._onOnline)}onUnsubscribeLast(){window.removeEventListener("offline",this._onOffline),window.removeEventListener("online",this._onOnline)}}function Q(n,e){return n instanceof Promise?n:new Promise((t,s)=>{n.oncomplete=i=>t(i.target.result),n.onerror=()=>s(new Error("Crypto error on "+e))})}class e_{constructor(e){this._subtleCrypto=e}async verify(e,t,s,i){const r={name:"HMAC",hash:{name:ct(i)}},o=await Q(this._subtleCrypto.importKey("raw",e,r,!1,["verify"]),"importKey");return await Q(this._subtleCrypto.verify(r,o,t,s),"verify")}async compute(e,t,s){const i={name:"HMAC",hash:{name:ct(s)}},r=await Q(this._subtleCrypto.importKey("raw",e,i,!1,["sign"]),"importKey"),o=await Q(this._subtleCrypto.sign(i,r,t),"sign");return new Uint8Array(o)}}class t_{constructor(e,t,s){this._subtleCrypto=e,this._crypto=t,this._cryptoExtras=s}async pbkdf2(e,t,s,i,r){if(!this._subtleCrypto.deriveBits)throw new Error("PBKDF2 is not supported");const o=await Q(this._subtleCrypto.importKey("raw",e,{name:"PBKDF2"},!1,["deriveBits"]),"importKey"),a=await Q(this._subtleCrypto.deriveBits({name:"PBKDF2",salt:s,iterations:t,hash:ct(i)},o,r),"deriveBits");return new Uint8Array(a)}async hkdf(e,t,s,i,r){if(!this._subtleCrypto.deriveBits)return this._cryptoExtras.hkdf(this._crypto,e,t,s,i,r);const o=await Q(this._subtleCrypto.importKey("raw",e,{name:"HKDF"},!1,["deriveBits"]),"importKey"),a=await Q(this._subtleCrypto.deriveBits({name:"HKDF",salt:t,info:s,hash:ct(i)},o,r),"deriveBits");return new Uint8Array(a)}}class s_{constructor(e,t){this._subtleCrypto=e,this._crypto=t}async decryptCTR({key:e,jwkKey:t,iv:s,data:i,counterLength:r=64}){const o={name:"AES-CTR",counter:s,length:r};let a;try{const c=e||t,l=t?"jwk":"raw";a=await Q(this._subtleCrypto.importKey(l,c,o,!1,["decrypt"]),"importKey")}catch(c){throw new Error(`Could not import key for AES-CTR decryption: ${c.message}`)}try{const c=await Q(this._subtleCrypto.decrypt(o,a,i),"decrypt");return new Uint8Array(c)}catch(c){throw new Error(`Could not decrypt with AES-CTR: ${c.message}`)}}async encryptCTR({key:e,jwkKey:t,iv:s,data:i}){const r={name:"AES-CTR",counter:s,length:64};let o;const a=e||t,c=t?"jwk":"raw";try{o=await Q(this._subtleCrypto.importKey(c,a,r,!1,["encrypt"]),"importKey")}catch(l){throw new Error(`Could not import key for AES-CTR encryption: ${l.message}`)}try{const l=await Q(this._subtleCrypto.encrypt(r,o,i),"encrypt");return new Uint8Array(l)}catch(l){throw new Error(`Could not encrypt with AES-CTR: ${l.message}`)}}async generateKey(e,t=256){const s=await Q(this._subtleCrypto.generateKey({name:"AES-CTR",length:t},!0,["encrypt","decrypt"]));return Q(this._subtleCrypto.exportKey(e,s))}async generateIV(){return Wo(this._crypto)}}function Wo(n){const e=n.getRandomValues(new Uint8Array(8)),t=new Uint8Array(16);for(let s=0;s{this._resolve=s,this._reject=i}),this._message=e,this._pool=t,this._worker=null}abort(){this._isNotDisposed&&(this._pool._abortRequest(this),this._dispose())}response(){return this._promise}_dispose(){this._reject=null,this._resolve=null}get _isNotDisposed(){return this._resolve&&this._reject}}class d_{constructor(e,t){this._workers=[];for(let s=0;s{this._init={resolve:t,reject:s}});return this.sendAll({type:"ping"}).then(this._init.resolve,this._init.reject).finally(()=>{this._init=null}),e}handleEvent(e){if(e.type==="message"){const t=e.data,s=this._requests.get(t.replyToId);if(s){if(s._worker.busy=!1,s._isNotDisposed){if(t.type==="success")s._resolve(t.payload);else if(t.type==="error"){const i=new Error(t.message);i.stack=t.stack,s._reject(i)}s._dispose()}this._requests.delete(t.replyToId)}this._sendPending()}else e.type==="error"&&(this._init&&this._init.reject(new Error("worker error during init")),console.error("worker error",e))}_getPendingRequest(){for(const e of this._requests.values())if(!e._worker)return e}_getFreeWorker(){for(const e of this._workers)if(!e.busy)return e}_sendPending(){this._pendingFlag=!1;let e;do{e=!1;const t=this._getPendingRequest();if(t){const s=this._getFreeWorker();s&&(this._sendWith(t,s),e=!0)}}while(e)}_sendWith(e,t){e._worker=t,t.busy=!0,t.worker.postMessage(e._message)}_enqueueRequest(e){this._counter+=1,e.id=this._counter;const t=new h_(e,this);return this._requests.set(e.id,t),t}send(e){const t=this._enqueueRequest(e),s=this._getFreeWorker();return s&&this._sendWith(t,s),t}sendAll(e){const t=this._workers.map(s=>{const i=this._enqueueRequest(Object.assign({},e));return this._sendWith(i,s),i.response()});return Promise.all(t)}dispose(){for(const e of this._workers)e.detach(this),e.worker.terminate()}_trySendPendingInNextTick(){this._pendingFlag||(this._pendingFlag=!0,Promise.resolve().then(()=>{this._sendPending()}))}_abortRequest(e){e._reject(new ye),e._worker&&(e._worker.busy=!1),this._requests.delete(e._message.id),this._trySendPendingInNextTick()}}class Zt{static async fromBlob(e){const t=await _n(e),{width:s,height:i}=t;return new Zt(e,s,i,t)}constructor(e,t,s,i){this.blob=e,this.width=t,this.height=s,this._domElement=i}get maxDimension(){return Math.max(this.width,this.height)}async _getDomElement(){return this._domElement||(this._domElement=await _n(this.blob)),this._domElement}async scale(e){const t=this.width/this.height,s=Math.min(1,e/(t>=1?this.width:this.height)),i=Math.round(this.width*s),r=Math.round(this.height*s),o=document.createElement("canvas");o.width=i,o.height=r;const a=o.getContext("2d"),c=await this._getDomElement();a.drawImage(c,0,0,i,r);let l=this.blob.mimeType==="image/jpeg"?"image/jpeg":"image/png",h;if(o.toBlob)h=await new Promise(u=>o.toBlob(u,l));else if(o.msToBlob)l="image/png",h=o.msToBlob();else throw new Error("canvas can't be turned into blob");const d=lt.fromBlob(h);return new Zt(d,i,r,null)}dispose(){this.blob.dispose()}}class Gi extends Zt{get duration(){if(typeof this._domElement.duration=="number")return Math.round(this._domElement.duration*1e3)}static async fromBlob(e){const t=await m_(e),{videoWidth:s,videoHeight:i}=t;return new Gi(e,s,i,t)}}function u_(){const n=document.createElement("canvas");n.width=1,n.height=1;const e=n.getContext("2d"),t=[Math.round(Math.random()*255),Math.round(Math.random()*255),Math.round(Math.random()*255)];e.fillStyle=`rgb(${t[0]}, ${t[1]}, ${t[2]})`,e.fillRect(0,0,1,1);const s=e.getImageData(0,0,1,1).data;return s[0]===t[0]&&s[1]===t[1]&&s[2]===t[2]}async function _n(n){const e=document.createElement("img"),t=Ds(e,"load");return e.src=n.url,await t,e}async function m_(n){const e=document.createElement("video");e.muted=!0;const t=Ds(e,"loadedmetadata");e.src=n.url,e.load(),await t;const s=Ds(e,"seeked");return await new Promise(i=>setTimeout(i,200)),e.currentTime=.1,await s,e}async function p_(n,e,t,s,i){let r=n.querySelector("iframe.downloadSandbox");if(!r){r=document.createElement("iframe"),r.setAttribute("sandbox","allow-scripts allow-downloads allow-downloads-without-user-activation"),r.setAttribute("src",e),r.className="hidden downloadSandbox",n.appendChild(r);let o;await new Promise((a,c)=>{o=()=>{r.removeEventListener("load",a),r.removeEventListener("error",c)},r.addEventListener("load",a),r.addEventListener("error",c)}),o()}if(i){const o=await t.readAsBuffer();r.contentWindow.postMessage({type:"downloadBuffer",buffer:o,mimeType:t.mimeType,filename:s},"*")}else r.contentWindow.postMessage({type:"downloadBlob",blob:t.nativeBlob,filename:s},"*")}/*! @license DOMPurify 2.3.0 | (c) Cure53 and other contributors | Released under the Apache license 2.0 and Mozilla Public License 2.0 | github.com/cure53/DOMPurify/blob/2.3.0/LICENSE */function __(n){if(Array.isArray(n)){for(var e=0,t=Array(n.length);e1?t-1:0),i=1;i/gm),M_=Ae(/^data-[\-\w.\u00B7-\uFFFF]/),A_=Ae(/^aria-[\-\w]+$/),x_=Ae(/^(?:(?:(?:f|ht)tps?|mailto|tel|callto|cid|xmpp):|[^a-z]|[a-z+.\-]+(?:[^a-z+.\-:]|$))/i),N_=Ae(/^(?:\w+script|data):/i),D_=Ae(/[\u0000-\u0020\u00A0\u1680\u180E\u2000-\u2029\u205F\u3000]/g),Kt=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(n){return typeof n}:function(n){return n&&typeof Symbol=="function"&&n.constructor===Symbol&&n!==Symbol.prototype?"symbol":typeof n};function pe(n){if(Array.isArray(n)){for(var e=0,t=Array(n.length);e0&&arguments[0]!==void 0?arguments[0]:V_(),e=function(m){return zo(m)};if(e.version="2.3.0",e.removed=[],!n||!n.document||n.document.nodeType!==9)return e.isSupported=!1,e;var t=n.document,s=n.document,i=n.DocumentFragment,r=n.HTMLTemplateElement,o=n.Node,a=n.Element,c=n.NodeFilter,l=n.NamedNodeMap,h=l===void 0?n.NamedNodeMap||n.MozNamedAttrMap:l,d=n.Text,u=n.Comment,p=n.DOMParser,_=n.trustedTypes,f=a.prototype,b=Ss(f,"cloneNode"),S=Ss(f,"nextSibling"),k=Ss(f,"childNodes"),R=Ss(f,"parentNode");if(typeof r=="function"){var w=s.createElement("template");w.content&&w.content.ownerDocument&&(s=w.content.ownerDocument)}var I=L_(_,t),x=I&&ns?I.createHTML(""):"",D=s,Le=D.implementation,Qo=D.createNodeIterator,Yo=D.createDocumentFragment,Xo=D.getElementsByTagName,Zo=t.importNode,Ji={};try{Ji=yt(s).documentMode?s.documentMode:{}}catch{}var ue={};e.isSupported=typeof R=="function"&&Le&&typeof Le.createHTMLDocument!="undefined"&&Ji!==9;var Fs=C_,Bs=T_,ea=M_,ta=A_,sa=N_,Qi=D_,Ks=x_,$=null,Yi=C({},[].concat(pe(vn),pe(ri),pe(ni),pe(oi),pe(bn))),j=null,Xi=C({},[].concat(pe(Sn),pe(ai),pe(In),pe(Is))),$s=null,js=null,Zi=!0,qs=!0,er=!1,dt=!1,ut=!1,Ws=!1,Hs=!1,mt=!1,rs=!1,tr=!0,ns=!1,sr=!0,zs=!0,Mt=!1,pt={},ia=C({},["annotation-xml","audio","colgroup","desc","foreignobject","head","iframe","math","mi","mn","mo","ms","mtext","noembed","noframes","noscript","plaintext","script","style","svg","template","thead","title","video","xmp"]),ir=null,rr=C({},["audio","video","img","source","image","track"]),Gs=null,nr=C({},["alt","class","for","id","label","name","pattern","placeholder","summary","title","value","style","xmlns"]),Js="http://www.w3.org/1998/Math/MathML",Qs="http://www.w3.org/2000/svg",Oe="http://www.w3.org/1999/xhtml",os=Oe,Ys=!1,_t=null,ra=s.createElement("form"),Xs=function(m){_t&&_t===m||((!m||(typeof m=="undefined"?"undefined":Kt(m))!=="object")&&(m={}),m=yt(m),$="ALLOWED_TAGS"in m?C({},m.ALLOWED_TAGS):Yi,j="ALLOWED_ATTR"in m?C({},m.ALLOWED_ATTR):Xi,Gs="ADD_URI_SAFE_ATTR"in m?C(yt(nr),m.ADD_URI_SAFE_ATTR):nr,ir="ADD_DATA_URI_TAGS"in m?C(yt(rr),m.ADD_DATA_URI_TAGS):rr,$s="FORBID_TAGS"in m?C({},m.FORBID_TAGS):{},js="FORBID_ATTR"in m?C({},m.FORBID_ATTR):{},pt="USE_PROFILES"in m?m.USE_PROFILES:!1,Zi=m.ALLOW_ARIA_ATTR!==!1,qs=m.ALLOW_DATA_ATTR!==!1,er=m.ALLOW_UNKNOWN_PROTOCOLS||!1,dt=m.SAFE_FOR_TEMPLATES||!1,ut=m.WHOLE_DOCUMENT||!1,mt=m.RETURN_DOM||!1,rs=m.RETURN_DOM_FRAGMENT||!1,tr=m.RETURN_DOM_IMPORT!==!1,ns=m.RETURN_TRUSTED_TYPE||!1,Hs=m.FORCE_BODY||!1,sr=m.SANITIZE_DOM!==!1,zs=m.KEEP_CONTENT!==!1,Mt=m.IN_PLACE||!1,Ks=m.ALLOWED_URI_REGEXP||Ks,os=m.NAMESPACE||Oe,dt&&(qs=!1),rs&&(mt=!0),pt&&($=C({},[].concat(pe(bn))),j=[],pt.html===!0&&(C($,vn),C(j,Sn)),pt.svg===!0&&(C($,ri),C(j,ai),C(j,Is)),pt.svgFilters===!0&&(C($,ni),C(j,ai),C(j,Is)),pt.mathMl===!0&&(C($,oi),C(j,In),C(j,Is))),m.ADD_TAGS&&($===Yi&&($=yt($)),C($,m.ADD_TAGS)),m.ADD_ATTR&&(j===Xi&&(j=yt(j)),C(j,m.ADD_ATTR)),m.ADD_URI_SAFE_ATTR&&C(Gs,m.ADD_URI_SAFE_ATTR),zs&&($["#text"]=!0),ut&&C($,["html","head","body"]),$.table&&(C($,["tbody"]),delete $s.tbody),Z&&Z(m),_t=m)},or=C({},["mi","mo","mn","ms","mtext"]),ar=C({},["foreignobject","desc","title","annotation-xml"]),as=C({},ri);C(as,ni),C(as,k_);var Zs=C({},oi);C(Zs,R_);var na=function(m){var g=R(m);(!g||!g.tagName)&&(g={namespaceURI:Oe,tagName:"template"});var y=et(m.tagName),N=et(g.tagName);if(m.namespaceURI===Qs)return g.namespaceURI===Oe?y==="svg":g.namespaceURI===Js?y==="svg"&&(N==="annotation-xml"||or[N]):Boolean(as[y]);if(m.namespaceURI===Js)return g.namespaceURI===Oe?y==="math":g.namespaceURI===Qs?y==="math"&&ar[N]:Boolean(Zs[y]);if(m.namespaceURI===Oe){if(g.namespaceURI===Qs&&!ar[N]||g.namespaceURI===Js&&!or[N])return!1;var q=C({},["title","style","font","a","script"]);return!Zs[y]&&(q[y]||!as[y])}return!1},Pe=function(m){Pt(e.removed,{element:m});try{m.parentNode.removeChild(m)}catch{try{m.outerHTML=x}catch{m.remove()}}},cr=function(m,g){try{Pt(e.removed,{attribute:g.getAttributeNode(m),from:g})}catch{Pt(e.removed,{attribute:null,from:g})}if(g.removeAttribute(m),m==="is"&&!j[m])if(mt||rs)try{Pe(g)}catch{}else try{g.setAttribute(m,"")}catch{}},lr=function(m){var g=void 0,y=void 0;if(Hs)m=""+m;else{var N=yn(m,/^[\r\n\t ]+/);y=N&&N[0]}var q=I?I.createHTML(m):m;if(os===Oe)try{g=new p().parseFromString(q,"text/html")}catch{}if(!g||!g.documentElement){g=Le.createDocument(os,"template",null);try{g.documentElement.innerHTML=Ys?"":q}catch{}}var W=g.body||g.documentElement;return m&&y&&W.insertBefore(s.createTextNode(y),W.childNodes[0]||null),os===Oe?Xo.call(g,ut?"html":"body")[0]:ut?g.documentElement:W},hr=function(m){return Qo.call(m.ownerDocument||m,m,c.SHOW_ELEMENT|c.SHOW_COMMENT|c.SHOW_TEXT,null,!1)},oa=function(m){return m instanceof d||m instanceof u?!1:typeof m.nodeName!="string"||typeof m.textContent!="string"||typeof m.removeChild!="function"||!(m.attributes instanceof h)||typeof m.removeAttribute!="function"||typeof m.setAttribute!="function"||typeof m.namespaceURI!="string"||typeof m.insertBefore!="function"},At=function(m){return(typeof o=="undefined"?"undefined":Kt(o))==="object"?m instanceof o:m&&(typeof m=="undefined"?"undefined":Kt(m))==="object"&&typeof m.nodeType=="number"&&typeof m.nodeName=="string"},be=function(m,g,y){!ue[m]||b_(ue[m],function(N){N.call(e,g,y,_t)})},dr=function(m){var g=void 0;if(be("beforeSanitizeElements",m,null),oa(m)||yn(m.nodeName,/[\u0080-\uFFFF]/))return Pe(m),!0;var y=et(m.nodeName);if(be("uponSanitizeElement",m,{tagName:y,allowedTags:$}),!At(m.firstElementChild)&&(!At(m.content)||!At(m.content.firstElementChild))&&Ke(/<[/\w]/g,m.innerHTML)&&Ke(/<[/\w]/g,m.textContent))return Pe(m),!0;if(!$[y]||$s[y]){if(zs&&!ia[y]){var N=R(m)||m.parentNode,q=k(m)||m.childNodes;if(q&&N)for(var W=q.length,H=W-1;H>=0;--H)N.insertBefore(b(q[H],!0),S(m))}return Pe(m),!0}return m instanceof a&&!na(m)||(y==="noscript"||y==="noembed")&&Ke(/<\/no(script|embed)/i,m.innerHTML)?(Pe(m),!0):(dt&&m.nodeType===3&&(g=m.textContent,g=Be(g,Fs," "),g=Be(g,Bs," "),m.textContent!==g&&(Pt(e.removed,{element:m.cloneNode()}),m.textContent=g)),be("afterSanitizeElements",m,null),!1)},ur=function(m,g,y){if(sr&&(g==="id"||g==="name")&&(y in s||y in ra))return!1;if(!(qs&&!js[g]&&Ke(ea,g))){if(!(Zi&&Ke(ta,g))){if(!j[g]||js[g])return!1;if(!Gs[g]){if(!Ke(Ks,Be(y,Qi,""))){if(!((g==="src"||g==="xlink:href"||g==="href")&&m!=="script"&&S_(y,"data:")===0&&ir[m])){if(!(er&&!Ke(sa,Be(y,Qi,"")))){if(y)return!1}}}}}}return!0},mr=function(m){var g=void 0,y=void 0,N=void 0,q=void 0;be("beforeSanitizeAttributes",m,null);var W=m.attributes;if(!!W){var H={attrName:"",attrValue:"",keepAttr:!0,allowedAttributes:j};for(q=W.length;q--;){g=W[q];var Se=g,xt=Se.name,pr=Se.namespaceURI;if(y=I_(g.value),N=et(xt),H.attrName=N,H.attrValue=y,H.keepAttr=!0,H.forceKeepAttr=void 0,be("uponSanitizeAttribute",m,H),y=H.attrValue,!H.forceKeepAttr&&(cr(xt,m),!!H.keepAttr)){if(Ke(/\/>/i,y)){cr(xt,m);continue}dt&&(y=Be(y,Fs," "),y=Be(y,Bs," "));var ca=m.nodeName.toLowerCase();if(!!ur(ca,N,y))try{pr?m.setAttributeNS(pr,xt,y):m.setAttribute(xt,y),gn(e.removed)}catch{}}}be("afterSanitizeAttributes",m,null)}},aa=function v(m){var g=void 0,y=hr(m);for(be("beforeSanitizeShadowDOM",m,null);g=y.nextNode();)be("uponSanitizeShadowNode",g,null),!dr(g)&&(g.content instanceof i&&v(g.content),mr(g));be("afterSanitizeShadowDOM",m,null)};return e.sanitize=function(v,m){var g=void 0,y=void 0,N=void 0,q=void 0,W=void 0;if(Ys=!v,Ys&&(v=""),typeof v!="string"&&!At(v)){if(typeof v.toString!="function")throw wn("toString is not a function");if(v=v.toString(),typeof v!="string")throw wn("dirty is not a string, aborting")}if(!e.isSupported){if(Kt(n.toStaticHTML)==="object"||typeof n.toStaticHTML=="function"){if(typeof v=="string")return n.toStaticHTML(v);if(At(v))return n.toStaticHTML(v.outerHTML)}return v}if(Ws||Xs(m),e.removed=[],typeof v=="string"&&(Mt=!1),!Mt)if(v instanceof o)g=lr(""),y=g.ownerDocument.importNode(v,!0),y.nodeType===1&&y.nodeName==="BODY"||y.nodeName==="HTML"?g=y:g.appendChild(y);else{if(!mt&&!dt&&!ut&&v.indexOf("<")===-1)return I&&ns?I.createHTML(v):v;if(g=lr(v),!g)return mt?null:x}g&&Hs&&Pe(g.firstChild);for(var H=hr(Mt?v:g);N=H.nextNode();)N.nodeType===3&&N===q||dr(N)||(N.content instanceof i&&aa(N.content),mr(N),q=N);if(q=null,Mt)return v;if(mt){if(rs)for(W=Yo.call(g.ownerDocument);g.firstChild;)W.appendChild(g.firstChild);else W=g;return tr&&(W=Zo.call(t,W,!0)),W}var Se=ut?g.outerHTML:g.innerHTML;return dt&&(Se=Be(Se,Fs," "),Se=Be(Se,Bs," ")),I&&ns?I.createHTML(Se):Se},e.setConfig=function(v){Xs(v),Ws=!0},e.clearConfig=function(){_t=null,Ws=!1},e.isValidAttribute=function(v,m,g){_t||Xs({});var y=et(v),N=et(m);return ur(y,N,g)},e.addHook=function(v,m){typeof m=="function"&&(ue[v]=ue[v]||[],Pt(ue[v],m))},e.removeHook=function(v){ue[v]&&gn(ue[v])},e.removeHooks=function(v){ue[v]&&(ue[v]=[])},e.removeAllHooks=function(){ue={}},e}var O_=zo();class P_{constructor(e){this._bodyNode=e}get rootNodes(){return Array.from(this._bodyNode.childNodes)}getChildNodes(e){return Array.from(e.childNodes)}getAttributeNames(e){return Array.from(e.getAttributeNames())}getAttributeValue(e,t){return e.getAttribute(t)}isTextNode(e){return e.nodeType===Node.TEXT_NODE}getNodeText(e){return e.textContent}isElementNode(e){return e.nodeType===Node.ELEMENT_NODE}getNodeElementName(e){return e.tagName}}const U_={ALLOWED_URI_REGEXP:/^(?:(?:(?:f|ht)tps?|mailto|tel|callto|cid|xmpp|xxx|mxc):|[^a-z]|[a-z+.-]+(?:[^a-z+.-:]|$))/i,FORBID_TAGS:["mx-reply"],KEEP_CONTENT:!1};function F_(n){const e=O_.sanitize(n,U_),t=new DOMParser().parseFromString(`${e}`,"text/html").body;return new P_(t)}var je=(n=>(n[n.Dark=0]="Dark",n[n.Light=1]="Light",n))(je||{});function B_(n,e,t){let s=n.replaceAll("#ff00ff",e);if(s=s.replaceAll("#00ffff",t),n===s)throw new Error("svg-colorizer made no color replacements! The input svg should only contain colors #ff00ff (primary, case-sensitive) and #00ffff (secondary, case-sensitive).");return s}class K_{constructor(e,t,s,i){this._platform=e,this._iconVariables=t,this._resolvedVariables=s,this._manifestLocation=i}async toVariables(){const{parsedStructure:e,promises:t}=await this._fetchAndParseIcons();return await Promise.all(t),this._produceColoredIconVariables(e)}async _fetchAndParseIcons(){const e=[],t={};for(const[s,i]of Object.entries(this._iconVariables)){const r=new URL(`https://${i}`),o=r.hostname,a=new URL(o,new URL(this._manifestLocation,window.location.origin)),c=this._platform.request(a,{method:"GET",format:"text",cache:!0}).response();e.push(c);const l=r.searchParams;t[s]={svg:c,primary:l.get("primary"),secondary:l.get("secondary")}}return{parsedStructure:t,promises:e}}async _produceColoredIconVariables(e){let t={};for(const[s,{svg:i,primary:r,secondary:o}]of Object.entries(e)){const{body:a}=await i;if(!r)throw new Error(`Primary color variable ${r} not in list of variables!`);const c=this._resolvedVariables[r],l=this._resolvedVariables[o],h=B_(a,c,l),d=`url('data:image/svg+xml;utf8,${encodeURIComponent(h)}')`;t[s]=d}return t}}var Us={exports:{}},$_=function(n){var e={};function t(s){if(e[s])return e[s].exports;var i=e[s]={i:s,l:!1,exports:{}};return n[s].call(i.exports,i,i.exports,t),i.l=!0,i.exports}return t.m=n,t.c=e,t.d=function(s,i,r){t.o(s,i)||Object.defineProperty(s,i,{enumerable:!0,get:r})},t.r=function(s){typeof Symbol!="undefined"&&Symbol.toStringTag&&Object.defineProperty(s,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(s,"__esModule",{value:!0})},t.t=function(s,i){if(1&i&&(s=t(s)),8&i||4&i&&typeof s=="object"&&s&&s.__esModule)return s;var r=Object.create(null);if(t.r(r),Object.defineProperty(r,"default",{enumerable:!0,value:s}),2&i&&typeof s!="string")for(var o in s)t.d(r,o,function(a){return s[a]}.bind(null,o));return r},t.n=function(s){var i=s&&s.__esModule?function(){return s.default}:function(){return s};return t.d(i,"a",i),i},t.o=function(s,i){return Object.prototype.hasOwnProperty.call(s,i)},t.p="",t(t.s=0)}([function(n,e,t){function s(l){let h,d;const u={light:function(){return!_()},dark:_,lighten:S,darken:b,saturate:k,desaturate:function(w=0){return k(w*=-1)},increaseContrast:function(w=0){return R(w*=-1)},decreaseContrast:R,active:function(){return R(.123)},highlight:function(){return R(.1)},selected:function(){return R(.066)},text:function(){return d=f()?i("#333333"):i("#FFFFFF"),u},shadow:function(){return d=f()?i("#000000"):i("#FFFFFF"),u},hex:function(){const w=d;return d=h,"#"+w.map(I=>parseInt(I+"",10).toString(16).padStart(2,"0")).join("")},rgb:function(){const w=d;return d=h,`rgb(${w.join()})`},rgba:function(w=1){const I=d;return d=h,`rgba(${I.join()}, ${w})`},setHex:p,setRgb:function(w=[0,0,0]){let[I,x,D]=w;return I=c(I,0,255),x=c(x,0,255),D=c(D,0,255),h=[I,x,D],d=[I,x,D],u}};function p(w="#000000"){return h=i(w),d=h,u}function _(){const[w,I,x]=d;return d=h,(299*w+587*I+114*x)/1e3<128}function f(){const[w,I,x]=d;return(299*w+587*I+114*x)/1e3>=128}function b(w=0){return S(w*=-1)}function S(w=0){let[I,x,D]=a(d);return D=c(D+w,0,1),d=r([I,x,D]),u}function k(w=0){let[I,x,D]=a(d);return x=c(x+w,0,1),d=r([I,x,D]),u}function R(w=0){return f()?b(w):S(w)}return p(l),u}function i(l){if(typeof l!="string")throw new TypeError("Expected a string");(l=l.replace(/^#/,"")).length===3&&(l=l[0]+l[0]+l[1]+l[1]+l[2]+l[2]);var h=parseInt(l,16);return[h>>16,h>>8&255,255&h]}function r(l){const[h,d,u]=l;let p,_,f;if(d===0)p=_=f=u;else{const b=function(R,w,I){return I<0&&(I+=1),I>1&&(I-=1),I<.16666666666666666?R+6*(w-R)*I:I<.5?w:I<.6666666666666666?R+(w-R)*(.6666666666666666-I)*6:R},S=u<.5?u*(1+d):u+d-u*d,k=2*u-S;p=c(b(k,S,h+1/3),0,1),_=c(b(k,S,h),0,1),f=c(b(k,S,h-1/3),0,1)}return[Math.round(255*p),Math.round(255*_),Math.round(255*f)]}t.r(e),t.d(e,"offColor",function(){return s}),t.d(e,"hexRgb",function(){return i}),t.d(e,"hslToRgb",function(){return r}),t.d(e,"color",function(){return o}),t.d(e,"rgbToHsl",function(){return a});const o=s;function a(l){const h=l[0]/255,d=l[1]/255,u=l[2]/255,p=Math.max(h,d,u),_=Math.min(h,d,u);let f=(p+_)/2,b=(p+_)/2;const S=(p+_)/2;if(p===_)f=b=0;else{const k=p-_;switch(b=S>.5?k/(2-p-_):k/(p+_),p){case h:f=(d-u)/k+(d=h?l:h}}]);Us.exports=$_;var Go=Us.exports,Cn;const En=(Cn=Us.exports.offColor)!=null?Cn:Go.offColor;function kn(n,e,t,s){const i=parseInt(t);switch(s&&(e==="darker"?e="lighter":e==="lighter"&&(e="darker")),e){case"darker":return En(n).darken(i/100).hex();case"lighter":return En(n).lighten(i/100).hex()}}class j_{constructor(e,t,s){this._aliases={},this._derivedAliases=[],this._baseVariables=e,this._variablesToDerive=t,this._isDark=s}toVariables(){var t;const e={};this._detectAliases();for(const s of this._variablesToDerive){const i=this._derive(s);i&&(e[s]=i)}for(const[s,i]of Object.entries(this._aliases))e[s]=(t=this._baseVariables[i])!=null?t:e[i];for(const s of this._derivedAliases){const i=this._deriveAlias(s,e);i&&(e[s]=i)}return e}_detectAliases(){const e=[];for(const t of this._variablesToDerive){const[s,i]=t.split("=");i?this._aliases[s]=i:e.push(t)}this._variablesToDerive=e}_derive(e){const t=/(.+)--(.+)-(.+)/,s=e.match(t);if(s){const[,i,r,o]=s,a=this._baseVariables[i];if(!a)if(this._aliases[i]){this._derivedAliases.push(e);return}else throw new Error(`Cannot find value for base variable "${i}"!`);return kn(a,r,o,this._isDark)}}_deriveAlias(e,t){const s=/(.+)--(.+)-(.+)/,i=e.match(s);if(i){const[,r,o,a]=i,c=t[r];if(!c)throw new Error(`Cannot find value for alias "${r}" when trying to derive ${e}!`);return kn(c,o,a,this._isDark)}}}var Tn;(Tn=Us.exports.offColor)!=null||Go.offColor;class q_{constructor(e,t){this._themeMapping={},this._preferredColorScheme=t,this._platform=e}async parse(e,t,s,i){await i.wrap("RuntimeThemeParser.parse",async()=>{var d;const{cssLocation:r,derivedVariables:o,icons:a}=this._getSourceData(t,s,i),c=e.name;if(!c)throw new Error("Theme name not found in manifest!");let l={},h={};for(const[u,p]of Object.entries((d=e.values)==null?void 0:d.variants))try{const _=`${e.id}-${u}`,{name:f,default:b,dark:S,variables:k}=p,R=new j_(k,o,S).toVariables();Object.assign(k,R);const w=await new K_(this._platform,a,k,s).toVariables();Object.assign(k,R,w);const I=`${c} ${f}`;if(b){Object.assign(S?l:h,{variantName:f,id:_,cssLocation:r,variables:k});continue}this._themeMapping[I]={cssLocation:r,id:_,variables:k}}catch(_){console.error(_);continue}if(l.id&&h.id){const u=this._preferredColorScheme===je.Dark?l:h;this._themeMapping[c]={dark:l,light:h,default:u}}else{const u=l.id?l:h;this._themeMapping[`${c} ${u.variantName}`]={id:u.id,cssLocation:u.cssLocation}}})}_getSourceData(e,t,s){return s.wrap("getSourceData",()=>{var c,l,h;const i=(c=e.source)==null?void 0:c["runtime-asset"];if(!i)throw new Error(`Run-time asset not found in source section for theme at ${t}`);const r=new URL(i,new URL(t,window.location.origin)).href,o=(l=e.source)==null?void 0:l["derived-variables"];if(!o)throw new Error(`Derived variables not found in source section for theme at ${t}`);const a=(h=e.source)==null?void 0:h.icon;if(!a)throw new Error(`Icon mapping not found in source section for theme at ${t}`);return{cssLocation:r,derivedVariables:o,icons:a}})}get themeMapping(){return this._themeMapping}}class W_{constructor(e){this._themeMapping={},this._preferredColorScheme=e}parse(e,t,s){s.wrap("BuiltThemeParser.parse",()=>{var c,l,h;const i=(c=e.source)==null?void 0:c["built-assets"],r=e.name;if(!r)throw new Error(`Theme name not found in manifest at ${t}`);let o={},a={};for(let[d,u]of Object.entries(i)){try{u=new URL(u,new URL(t,window.location.origin)).href}catch{continue}const p=(l=d.match(/.+-(.+)/))==null?void 0:l[1],_=(h=e.values)==null?void 0:h.variants[p];if(!_)throw new Error(`Variant ${p} is missing in manifest at ${t}`);const{name:f,default:b,dark:S}=_,k=`${r} ${f}`;if(b){const R=S?o:a;R.variantName=f,R.id=d,R.cssLocation=u;continue}this._themeMapping[k]={cssLocation:u,id:d}}if(o.id&&a.id){const d=this._preferredColorScheme===je.Dark?o:a;this._themeMapping[r]={dark:o,light:a,default:d}}else{const d=o.id?o:a;this._themeMapping[`${r} ${d.variantName}`]={id:d.id,cssLocation:d.cssLocation}}})}get themeMapping(){return this._themeMapping}}class H_{constructor(e){this._platform=e}async init(e,t){await this._platform.logger.wrapOrRun(t,"ThemeLoader.init",async s=>{const i=await Promise.all(e.map(c=>this._platform.request(c,{method:"GET",format:"json",cache:!0}).response())),r=new q_(this._platform,this.preferredColorScheme),o=new W_(this.preferredColorScheme),a=[];for(let c=0;c_.body.id===l.extends);if(h===-1)throw new Error(`Base manifest for derived theme at ${e[c]} not found!`);const{body:d}=i[h],u=e[h],p=r.parse(l,d,u,s);a.push(p)}else o.parse(l,e[c],s)}catch(h){console.error(h)}}await Promise.all(a),this._themeMapping=ft(ft({},o.themeMapping),r.themeMapping),Object.assign(this._themeMapping,o.themeMapping,r.themeMapping),this._addDefaultThemeToMapping(s),s.log({l:"Preferred colorscheme",scheme:this.preferredColorScheme===je.Dark?"dark":"light"}),s.log({l:"Result",themeMapping:this._themeMapping})})}setTheme(e,t,s){this._platform.logger.wrapOrRun(s,{l:"change theme",name:e,variant:t},()=>{let i,r,o=this._themeMapping[e];if("id"in o)i=o.cssLocation,r=o.variables;else{if(!t)throw new Error("themeVariant is undefined!");i=o[t].cssLocation,r=o[t].variables}this._platform.replaceStylesheet(i),r?(s==null||s.log({l:"Derived Theme",variables:r}),this._injectCSSVariables(r)):this._removePreviousCSSVariables(),this._platform.settingsStorage.setString("theme-name",e),t?this._platform.settingsStorage.setString("theme-variant",t):this._platform.settingsStorage.remove("theme-variant")})}_injectCSSVariables(e){const t=document.documentElement;for(const[s,i]of Object.entries(e))t.style.setProperty(`--${s}`,i);this._injectedVariables=e}_removePreviousCSSVariables(){if(!this._injectedVariables)return;const e=document.documentElement;for(const t of Object.keys(this._injectedVariables))e.style.removeProperty(`--${t}`);this._injectedVariables=void 0}get themeMapping(){return this._themeMapping}async getActiveTheme(){let e=await this._platform.settingsStorage.getString("theme-name"),t=await this._platform.settingsStorage.getString("theme-variant");return(!e||!this._themeMapping[e])&&(e="Default"in this._themeMapping?"Default":Object.keys(this._themeMapping)[0],this._themeMapping[e][t]||(t="default"in this._themeMapping[e]?"default":void 0)),{themeName:e,themeVariant:t}}getDefaultTheme(){var e,t;switch(this.preferredColorScheme){case je.Dark:return(e=this._platform.config.defaultTheme)==null?void 0:e.dark;case je.Light:return(t=this._platform.config.defaultTheme)==null?void 0:t.light}}_findThemeDetailsFromId(e){var t,s;for(const[i,r]of Object.entries(this._themeMapping)){if("id"in r&&r.id===e)return{themeName:i,themeData:r};if("light"in r&&((t=r.light)==null?void 0:t.id)===e)return{themeName:i,themeData:r.light};if("dark"in r&&((s=r.dark)==null?void 0:s.id)===e)return{themeName:i,themeData:r.dark}}}_addDefaultThemeToMapping(e){e.wrap("addDefaultThemeToMapping",t=>{const s=this.getDefaultTheme();if(s){const i=this._findThemeDetailsFromId(s);if(i){this._themeMapping.Default={id:"default",cssLocation:i.themeData.cssLocation};const r=i.themeData.variables;r&&(this._themeMapping.Default.variables=r)}}t.log({l:"Default Theme",theme:s})})}get preferredColorScheme(){if(window.matchMedia("(prefers-color-scheme: dark)").matches)return je.Dark;if(window.matchMedia("(prefers-color-scheme: light)").matches)return je.Light}}function Rn(n){return new Promise(function(e,t){var s=document.createElement("script");s.setAttribute("src",n),s.onload=e,s.onerror=t,document.body.appendChild(s)})}async function z_(n){return window.msCrypto&&!window.crypto&&(window.crypto=window.msCrypto),n?(window.WebAssembly?(await Rn(n.wasmBundle),await window.Olm.init({locateFile:()=>n.wasm})):(await Rn(n.legacyBundle),await window.Olm.init()),window.Olm):null}function G_(n){return n.startsWith("/")?n:new URL(n,document.location.href).pathname}async function J_(n){const e=new d_(n.worker,4);return await e.init(),await e.sendAll({type:"load_olm",path:G_(n.olm.legacyBundle)}),new km(e)}function Q_(n){if(!window.visualViewport)return;const e=()=>{const t=n.querySelector(".SessionView");if(!t)return;const s=n.querySelector(".bottom-aligned-scroll");let i,r,o;s&&(i=s.scrollTop,r=s.offsetHeight);const a=t.offsetTop+t.offsetHeight-window.visualViewport.height;n.style.setProperty("--ios-viewport-height",window.visualViewport.height.toString()+"px"),n.style.setProperty("--ios-viewport-top",a.toString()+"px"),s&&(o=s.offsetHeight,s.scrollTop=i+r-o)};return window.visualViewport.addEventListener("resize",e),()=>{window.visualViewport.removeEventListener("resize",e)}}class Y_{constructor({container:e,assetPaths:t,config:s,configURL:i,options:r=null,cryptoExtras:o=null}){this._container=e,this._assetPaths=t,this._config=s,this._configURL=i,this.settingsStorage=new pm("hydrogen_setting_v1_"),this.clock=new Jp,this.encoding=new Em,this.random=Math.random,this._createLogger(r==null?void 0:r.development),this.history=new Xp,this.onlineStatus=new Zp,this._serviceWorkerHandler=null,t.serviceWorker&&"serviceWorker"in navigator&&(this._serviceWorkerHandler=new Qp,this._serviceWorkerHandler.registerAndStart(t.serviceWorker)),this.notificationService=void 0,this._assetPaths.olm&&(this.crypto=new a_(o)),this.storageFactory=new nl(this._serviceWorkerHandler),this.sessionInfoStorage=new mm("hydrogen_sessions_v1"),this.estimateStorageUsage=c_,typeof fetch=="function"?this.request=um(this.clock.createTimeout,this._serviceWorkerHandler):this.request=Co;const a=!!window.MSInputMethodContext&&!!document.documentMode;this.isIE11=a;const c=/iPad|iPhone|iPod/.test(navigator.platform)||navigator.platform==="MacIntel"&&navigator.maxTouchPoints>1&&!window.MSStream;this.isIOS=c,this._disposables=new Ni,this._olmPromise=void 0,this._workerPromise=void 0,this._themeLoader=new H_(this)}async init(){try{await this.logger.run("Platform init",async e=>{var t;if(!this._config){if(!this._configURL)throw new Error("Neither config nor configURL was provided!");const{status:s,body:i}=await this.request(this._configURL,{method:"GET",format:"json",cache:!0}).response();if(s===404)throw new Error(`Could not find ${this._configURL}. Did you copy over config.sample.json?`);if(s>=400)throw new Error(`Got status ${s} while trying to fetch ${this._configURL}`);this._config=i}if(this.notificationService=new Yp(this._serviceWorkerHandler,this._config.push),this._themeLoader){const s=this.config.themeManifests;await((t=this._themeLoader)==null?void 0:t.init(s,e));const{themeName:i,themeVariant:r}=await this._themeLoader.getActiveTheme();e.log({l:"Active theme",name:i,variant:r}),this._themeLoader.setTheme(i,r,e)}})}catch(e){throw this._container.innerText=e.message,e}}_createLogger(e){const t=s=>{var i;return(i=s.e)!=null&&i.stack&&(s.e.stack=s.e.stack.replace(/\/\?loginToken=(.+)/,"?loginToken=")),s};e?this.logger=new td({platform:this}):this.logger=new Rm({name:"hydrogen_logs",platform:this,serializedTransformer:t})}get updateService(){return this._serviceWorkerHandler}loadOlm(){return this._olmPromise||(this._olmPromise=z_(this._assetPaths.olm)),this._olmPromise}get config(){return this._config}async loadOlmWorker(){if(!window.WebAssembly)return this._workerPromise||(this._workerPromise=J_(this._assetPaths)),this._workerPromise}createAndMountRootView(e){if(this.isIE11&&(this._container.className+=" legacy"),this.isIOS){this._container.className+=" ios";const s=Q_(this._container);s&&this._disposables.track(s)}this._container.addEventListener("error",hn,!0),this._disposables.track(()=>this._container.removeEventListener("error",hn,!0)),window.__hydrogenViewModel=e;const t=new Wp(e);this._container.appendChild(t.mount())}setNavigation(e){var t;(t=this._serviceWorkerHandler)==null||t.setNavigation(e)}createBlob(e,t){return lt.fromBuffer(e,t)}saveFileAs(e,t){navigator.msSaveBlob?navigator.msSaveBlob(e.nativeBlob,t):p_(this._container,this._assetPaths.downloadSandbox,e,t,this.isIOS)}openFile(e=null){const t=document.createElement("input");t.setAttribute("type","file"),t.className="hidden",e&&t.setAttribute("accept",e);const s=new Promise(i=>{const r=()=>{t.removeEventListener("change",r,!0);const o=t.files[0];this._container.removeChild(t),o?i({name:o.name,blob:lt.fromBlob(o)}):i()};t.addEventListener("change",r,!0)});return this._container.appendChild(t),t.click(),s}openUrl(e){location.href=e}parseHTML(e){return F_(e)}async loadImage(e){return Zt.fromBlob(e)}async loadVideo(e){return Gi.fromBlob(e)}hasReadPixelPermission(){return u_()}get devicePixelRatio(){return window.devicePixelRatio||1}get version(){return"0.3.1"}get themeLoader(){return this._themeLoader}replaceStylesheet(e){const t=document.querySelector("head");document.querySelectorAll(".theme").forEach(i=>i.remove());const s=document.createElement("link");s.href=e,s.rel="stylesheet",s.type="text/css",s.className="theme",t.appendChild(s)}get description(){var e;return(e=navigator.userAgent)!=null?e:""}dispose(){this._disposables.dispose()}}var X_="./config.json",Z_="./assets/download-sandbox.48a866e9.html",ef="./assets/main.bdb9a925.js",tf="./assets/olm.b3e0f9b4.wasm",sf="./assets/olm.92f1ccd0.js",rf="./assets/olm_legacy.9dc48f49.js",Jo={downloadSandbox:Z_,worker:ef,olm:{wasm:tf,legacyBundle:rf,wasmBundle:sf}};Jo.serviceWorker="sw.js";const nf=new Y_({container:document.body,assetPaths:Jo,configURL:X_,options:{development:!1}});am(nf); +//# sourceMappingURL=index.ca5690cf.js.map diff --git a/assets/index.ca5690cf.js.map b/assets/index.ca5690cf.js.map new file mode 100644 index 00000000..8718e8b6 --- /dev/null +++ b/assets/index.ca5690cf.js.map @@ -0,0 +1 @@ +{"version":3,"file":"index.ca5690cf.js","sources":["../../src/utils/enum.ts","../../src/matrix/well-known.js","../../src/utils/error.ts","../../src/observable/BaseObservable.ts","../../src/observable/ObservableValue.ts","../../src/utils/AbortableOperation.ts","../../src/platform/web/dom/BlobHandle.js","../../src/matrix/net/common.ts","../../src/matrix/error.js","../../src/matrix/net/HomeServerRequest.ts","../../src/matrix/net/HomeServerApi.ts","../../src/matrix/net/ExponentialRetryDelay.ts","../../src/matrix/net/Reconnector.ts","../../src/matrix/e2ee/attachment.js","../../src/matrix/net/MediaRepository.ts","../../src/matrix/net/RequestScheduler.ts","../../src/matrix/Sync.js","../../src/utils/EventEmitter.ts","../../node_modules/another-json/another-json.js","../../src/matrix/e2ee/common.js","../../src/matrix/room/RoomSummary.js","../../src/matrix/storage/common.ts","../../src/matrix/room/timeline/EventKey.ts","../../src/matrix/room/timeline/entries/BaseEntry.ts","../../src/matrix/room/common.ts","../../src/matrix/room/timeline/relations.js","../../src/matrix/room/timeline/PendingAnnotation.js","../../src/matrix/room/timeline/entries/reply.js","../../src/matrix/room/timeline/entries/BaseEventEntry.js","../../src/matrix/room/timeline/entries/PendingEventEntry.js","../../src/matrix/room/sending/PendingEvent.js","../../src/matrix/room/timeline/entries/EventEntry.js","../../src/matrix/room/timeline/persistence/common.js","../../src/matrix/room/members/RoomMember.js","../../src/matrix/room/timeline/common.js","../../src/matrix/room/timeline/FragmentIdComparer.js","../../vite/preload-helper","../../src/matrix/storage/idb/error.ts","../../src/matrix/storage/idb/utils.ts","../../src/matrix/storage/idb/QueryTarget.ts","../../src/matrix/storage/idb/Store.ts","../../src/utils/typedJSON.ts","../../src/matrix/storage/idb/stores/SessionStore.ts","../../src/matrix/storage/idb/stores/RoomSummaryStore.ts","../../src/matrix/storage/idb/stores/InviteStore.ts","../../src/logging/LogFilter.ts","../../src/logging/NullLogger.ts","../../src/matrix/storage/idb/stores/TimelineEventStore.ts","../../src/matrix/storage/idb/stores/common.ts","../../src/matrix/storage/idb/stores/TimelineRelationStore.ts","../../src/matrix/storage/idb/stores/RoomStateStore.ts","../../src/matrix/storage/idb/stores/RoomMemberStore.ts","../../src/matrix/storage/idb/stores/TimelineFragmentStore.ts","../../src/matrix/storage/idb/stores/PendingEventStore.ts","../../src/matrix/storage/idb/stores/UserIdentityStore.ts","../../src/matrix/storage/idb/stores/DeviceIdentityStore.ts","../../src/matrix/storage/idb/stores/OlmSessionStore.ts","../../src/matrix/storage/idb/stores/InboundGroupSessionStore.ts","../../src/matrix/storage/idb/stores/OutboundGroupSessionStore.ts","../../src/matrix/storage/idb/stores/GroupSessionDecryptionStore.ts","../../src/matrix/storage/idb/stores/OperationStore.ts","../../src/matrix/storage/idb/stores/AccountDataStore.ts","../../src/matrix/storage/idb/Transaction.ts","../../src/matrix/storage/idb/Storage.ts","../../src/matrix/storage/idb/export.ts","../../src/matrix/storage/idb/schema.ts","../../src/matrix/storage/idb/quirks.ts","../../src/matrix/storage/idb/StorageFactory.ts","../../src/matrix/room/timeline/persistence/RelationWriter.js","../../src/matrix/room/timeline/Direction.ts","../../src/matrix/room/timeline/entries/FragmentBoundaryEntry.js","../../src/matrix/room/timeline/persistence/SyncWriter.js","../../src/utils/LRUCache.ts","../../src/matrix/room/timeline/persistence/MemberWriter.js","../../src/matrix/room/timeline/persistence/GapWriter.js","../../src/observable/list/BaseObservableList.ts","../../src/utils/sortedIndex.ts","../../src/observable/map/BaseObservableMap.ts","../../src/observable/map/ObservableMap.ts","../../src/observable/list/SortedMapList.js","../../src/observable/map/FilteredMap.js","../../src/observable/map/MappedMap.js","../../src/observable/map/JoinedMap.js","../../src/observable/list/ObservableArray.ts","../../src/observable/list/common.ts","../../src/observable/list/SortedArray.ts","../../src/observable/list/BaseMappedList.ts","../../src/observable/list/AsyncMappedList.ts","../../src/observable/list/ConcatList.ts","../../src/observable/index.js","../../src/utils/Disposables.ts","../../src/matrix/room/timeline/persistence/TimelineReader.js","../../src/matrix/room/timeline/entries/NonPersistedEventEntry.js","../../src/matrix/User.js","../../src/matrix/room/timeline/Timeline.js","../../src/matrix/room/members/load.js","../../src/utils/RetainedValue.ts","../../src/matrix/room/members/MemberList.js","../../src/matrix/room/members/Heroes.js","../../src/matrix/room/ObservedEventMap.js","../../src/logging/utils.ts","../../src/matrix/room/PowerLevels.js","../../src/matrix/room/BaseRoom.js","../../src/matrix/common.js","../../src/matrix/room/sending/SendQueue.js","../../src/matrix/room/AttachmentUpload.js","../../src/matrix/room/Room.js","../../src/matrix/room/ArchivedRoom.js","../../src/matrix/profile.ts","../../src/matrix/room/RoomBeingCreated.ts","../../src/matrix/room/Invite.js","../../src/matrix/push/Pusher.ts","../../src/utils/groupBy.ts","../../src/matrix/DeviceMessageHandler.js","../../src/matrix/e2ee/Account.js","../../src/matrix/ssss/common.ts","../../src/matrix/ssss/passphrase.ts","../../src/matrix/ssss/recoveryKey.ts","../../src/matrix/ssss/index.ts","../../src/matrix/e2ee/Dehydration.js","../../src/utils/Lock.ts","../../src/matrix/e2ee/olm/Session.ts","../../src/matrix/e2ee/DecryptionResult.ts","../../src/matrix/e2ee/olm/types.ts","../../src/matrix/e2ee/olm/Decryption.ts","../../src/matrix/e2ee/olm/Encryption.ts","../../src/matrix/e2ee/megolm/decryption/DecryptionChanges.js","../../src/utils/mergeMap.ts","../../src/matrix/e2ee/megolm/decryption/DecryptionPreparation.js","../../src/matrix/e2ee/megolm/decryption/ReplayDetectionEntry.ts","../../src/matrix/e2ee/megolm/decryption/SessionDecryption.ts","../../src/matrix/e2ee/megolm/decryption/utils.ts","../../src/matrix/e2ee/megolm/decryption/RoomKey.ts","../../src/matrix/e2ee/megolm/Decryption.ts","../../src/matrix/e2ee/megolm/decryption/KeyLoader.ts","../../src/matrix/e2ee/megolm/keybackup/Curve25519.ts","../../src/matrix/e2ee/megolm/keybackup/KeyBackup.ts","../../src/matrix/e2ee/megolm/Encryption.js","../../src/logging/LogItem.ts","../../src/logging/BaseLogger.ts","../../src/logging/ConsoleLogger.ts","../../src/matrix/e2ee/RoomEncryption.js","../../src/matrix/e2ee/DeviceTracker.js","../../src/utils/LockMap.ts","../../src/matrix/ssss/SecretStorage.ts","../../src/matrix/Session.js","../../src/matrix/login/PasswordLoginMethod.ts","../../src/matrix/login/TokenLoginMethod.ts","../../src/matrix/login/SSOLoginHelper.ts","../../src/matrix/registration/stages/BaseRegistrationStage.ts","../../src/matrix/registration/stages/DummyAuth.ts","../../src/matrix/registration/stages/TermsAuth.ts","../../src/matrix/registration/stages/TokenAuth.ts","../../src/matrix/registration/Registration.ts","../../src/matrix/Client.js","../../src/domain/ViewModel.ts","../../src/domain/avatar.ts","../../src/domain/session/leftpanel/BaseTileViewModel.js","../../src/domain/session/leftpanel/RoomTileViewModel.js","../../src/domain/session/leftpanel/common.js","../../src/domain/session/leftpanel/InviteTileViewModel.js","../../src/domain/session/leftpanel/RoomBeingCreatedTileViewModel.js","../../src/domain/session/leftpanel/RoomFilter.js","../../src/observable/map/ApplyMap.js","../../src/domain/navigation/Navigation.ts","../../src/domain/navigation/URLRouter.ts","../../src/domain/navigation/index.ts","../../src/domain/session/leftpanel/LeftPanelViewModel.js","../../src/domain/session/room/timeline/UpdateAction.js","../../src/domain/session/room/timeline/TilesCollection.js","../../src/domain/session/room/timeline/TimelineViewModel.js","../../src/domain/session/room/ComposerViewModel.js","../../src/domain/session/common.js","../../src/domain/session/room/timeline/tiles/SimpleTile.js","../../src/domain/session/room/timeline/tiles/GapTile.js","../../src/domain/session/room/timeline/ReactionsViewModel.js","../../src/domain/session/room/timeline/tiles/BaseMessageTile.js","../../src/domain/session/room/timeline/linkify/regex.js","../../src/domain/session/room/timeline/linkify/linkify.js","../../src/domain/session/room/timeline/MessageBody.js","../../src/domain/session/room/timeline/tiles/BaseTextTile.js","../../src/domain/session/room/timeline/deserialize.js","../../src/domain/session/room/timeline/tiles/TextTile.js","../../src/domain/session/room/timeline/tiles/RedactedTile.js","../../src/domain/session/room/timeline/tiles/BaseMediaTile.js","../../src/domain/session/room/timeline/tiles/ImageTile.js","../../src/domain/session/room/timeline/tiles/VideoTile.js","../../src/utils/formatSize.ts","../../src/domain/session/room/timeline/tiles/FileTile.js","../../src/domain/session/room/timeline/tiles/LocationTile.js","../../src/domain/session/room/timeline/tiles/RoomNameTile.js","../../src/domain/session/room/timeline/tiles/RoomMemberTile.js","../../src/domain/session/room/timeline/tiles/EncryptedEventTile.js","../../src/domain/session/room/timeline/tiles/EncryptionEnabledTile.js","../../src/domain/session/room/timeline/tiles/MissingAttachmentTile.js","../../src/domain/session/room/timeline/tiles/index.ts","../../src/domain/session/room/RoomViewModel.js","../../src/domain/session/room/UnknownRoomViewModel.js","../../src/domain/session/room/InviteViewModel.js","../../src/domain/session/room/RoomBeingCreatedViewModel.js","../../src/domain/session/room/LightboxViewModel.js","../../src/domain/session/SessionStatusViewModel.js","../../src/domain/session/RoomGridViewModel.js","../../src/domain/session/settings/KeyBackupViewModel.js","../../src/domain/rageshake.ts","../../src/domain/session/settings/SettingsViewModel.js","../../src/domain/session/CreateRoomViewModel.js","../../src/domain/session/RoomViewModelObservable.js","../../src/domain/session/rightpanel/RoomDetailsViewModel.js","../../src/domain/session/rightpanel/MemberTileViewModel.js","../../src/domain/session/rightpanel/members/comparator.js","../../src/domain/session/rightpanel/members/disambiguator.js","../../src/domain/session/rightpanel/MemberListViewModel.js","../../src/domain/session/rightpanel/MemberDetailsViewModel.js","../../src/domain/session/rightpanel/RightPanelViewModel.js","../../src/domain/session/SessionViewModel.js","../../src/domain/AccountSetupViewModel.js","../../src/domain/SessionLoadViewModel.js","../../src/domain/login/PasswordLoginViewModel.js","../../src/domain/login/StartSSOLoginViewModel.js","../../src/domain/login/CompleteSSOLoginViewModel.js","../../src/domain/login/LoginViewModel.ts","../../src/domain/LogoutViewModel.ts","../../src/domain/SessionPickerViewModel.js","../../src/domain/RootViewModel.js","../../src/platform/web/main.js","../../src/utils/timeout.ts","../../src/platform/web/dom/request/common.js","../../src/platform/web/dom/request/xhr.js","../../src/platform/web/dom/request/fetch.js","../../src/matrix/sessioninfo/localstorage/SessionInfoStorage.ts","../../src/platform/web/dom/SettingsStorage.js","../../src/platform/web/dom/UTF8.js","../../node_modules/base64-arraybuffer/lib/base64-arraybuffer.js","../../src/platform/web/utils/Base64.js","../../scripts/package-overrides/buffer/index.js","../../node_modules/base-x/src/index.js","../../node_modules/bs58/index.js","../../src/platform/web/utils/Base58.js","../../src/platform/web/utils/Encoding.js","../../src/matrix/e2ee/OlmWorker.js","../../src/logging/IDBLogger.ts","../../src/platform/web/ui/general/html.ts","../../src/platform/web/ui/general/utils.ts","../../src/platform/web/ui/general/ListView.ts","../../src/platform/web/ui/general/BaseUpdateView.ts","../../src/platform/web/ui/general/TemplateView.ts","../../src/platform/web/ui/avatar.js","../../src/platform/web/ui/AvatarView.js","../../src/platform/web/ui/common.js","../../src/platform/web/ui/session/leftpanel/RoomTileView.js","../../src/platform/web/ui/session/leftpanel/LeftPanelView.js","../../src/platform/web/ui/general/Popup.js","../../src/platform/web/ui/general/Menu.js","../../src/platform/web/ui/session/room/TimelineView.ts","../../src/platform/web/ui/session/room/TimelineLoadingView.js","../../src/platform/web/ui/session/room/MessageComposer.js","../../src/platform/web/ui/session/room/DisabledComposerView.js","../../src/platform/web/ui/session/room/RoomView.js","../../src/platform/web/ui/session/room/UnknownRoomView.js","../../src/platform/web/ui/general/StaticView.js","../../src/platform/web/ui/general/LoadingView.js","../../src/platform/web/ui/session/room/RoomBeingCreatedView.js","../../src/platform/web/ui/session/room/InviteView.js","../../src/platform/web/ui/session/room/LightboxView.js","../../src/platform/web/ui/session/SessionStatusView.js","../../src/platform/web/ui/session/RoomGridView.js","../../src/platform/web/ui/session/settings/KeyBackupSettingsView.js","../../src/platform/web/ui/session/settings/SettingsView.js","../../src/platform/web/ui/session/CreateRoomView.js","../../src/platform/web/ui/session/rightpanel/RoomDetailsView.js","../../src/platform/web/ui/general/Range.ts","../../src/platform/web/ui/general/ListRange.ts","../../src/platform/web/ui/general/LazyListView.ts","../../src/platform/web/ui/session/rightpanel/MemberTileView.js","../../src/platform/web/ui/session/rightpanel/MemberListView.js","../../src/platform/web/ui/session/rightpanel/MemberDetailsView.js","../../src/platform/web/ui/session/rightpanel/RightPanelView.js","../../src/platform/web/ui/session/room/timeline/ReactionsView.js","../../src/platform/web/ui/session/room/timeline/BaseMessageView.js","../../src/platform/web/ui/session/room/timeline/ReplyPreviewView.js","../../src/platform/web/ui/session/room/timeline/TextMessageView.js","../../src/platform/web/ui/session/room/timeline/BaseMediaView.js","../../src/platform/web/ui/session/room/timeline/ImageView.js","../../src/platform/web/dom/utils.js","../../src/platform/web/ui/session/room/timeline/VideoView.js","../../src/platform/web/ui/session/room/timeline/FileView.js","../../src/platform/web/ui/session/room/timeline/LocationView.js","../../src/platform/web/ui/session/room/timeline/MissingAttachmentView.js","../../src/platform/web/ui/session/room/timeline/AnnouncementView.js","../../src/platform/web/ui/session/room/timeline/RedactedView.js","../../src/platform/web/ui/session/room/timeline/GapView.js","../../src/platform/web/ui/session/room/common.ts","../../src/platform/web/ui/session/SessionView.js","../../src/platform/web/ui/login/common.js","../../src/platform/web/ui/login/PasswordLoginView.js","../../src/platform/web/ui/login/AccountSetupView.js","../../src/platform/web/ui/login/SessionLoadStatusView.js","../../src/platform/web/ui/login/CompleteSSOView.js","../../src/platform/web/ui/login/LoginView.js","../../src/platform/web/ui/LogoutView.js","../../src/platform/web/ui/login/SessionLoadView.js","../../src/platform/web/ui/login/SessionPickerView.js","../../src/platform/web/ui/RootView.js","../../src/platform/web/dom/Clock.js","../../src/platform/web/dom/ServiceWorkerHandler.js","../../src/platform/web/dom/NotificationService.js","../../src/platform/web/dom/History.js","../../src/platform/web/dom/OnlineStatus.js","../../src/platform/web/dom/Crypto.js","../../src/platform/web/dom/StorageEstimate.js","../../src/platform/web/dom/WorkerPool.js","../../src/platform/web/dom/ImageHandle.js","../../src/platform/web/dom/download.js","../../node_modules/dompurify/dist/purify.es.js","../../src/platform/web/parsehtml.js","../../src/platform/web/theming/parsers/types.ts","../../src/platform/web/theming/shared/svg-colorizer.mjs","../../src/platform/web/theming/IconColorizer.ts","../../node_modules/off-color/cjs/index.min.js","../../node_modules/off-color/index.js","../../src/platform/web/theming/shared/color.mjs","../../src/platform/web/theming/DerivedVariables.ts","../../src/platform/web/theming/parsers/RuntimeThemeParser.ts","../../src/platform/web/theming/parsers/BuiltThemeParser.ts","../../src/platform/web/theming/ThemeLoader.ts","../../src/platform/web/Platform.js","../../src/platform/web/assets/config.json?url","../../src/platform/web/assets/download-sandbox.html?url","../../src/platform/web/worker/main.js?url","../../node_modules/@matrix-org/olm/olm.wasm?url","../../node_modules/@matrix-org/olm/olm.js?url","../../node_modules/@matrix-org/olm/olm_legacy.js?url","../../src/platform/web/sdk/paths/vite.js","../../src/platform/web/index.html?html-proxy&index=0.js"],"sourcesContent":["/*\nCopyright 2020 Bruno Windels \n\nLicensed under the Apache License, Version 2.0 (the \"License\");\nyou may not use this file except in compliance with the License.\nYou may obtain a copy of the License at\n\n http://www.apache.org/licenses/LICENSE-2.0\n\nUnless required by applicable law or agreed to in writing, software\ndistributed under the License is distributed on an \"AS IS\" BASIS,\nWITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\nSee the License for the specific language governing permissions and\nlimitations under the License.\n*/\n\nexport function createEnum(...values: string[]): Readonly<{}> {\n const obj = {};\n for (const value of values) {\n obj[value] = value;\n }\n return Object.freeze(obj);\n}\n","/*\nCopyright 2021 The Matrix.org Foundation C.I.C.\n\nLicensed under the Apache License, Version 2.0 (the \"License\");\nyou may not use this file except in compliance with the License.\nYou may obtain a copy of the License at\n\n http://www.apache.org/licenses/LICENSE-2.0\n\nUnless required by applicable law or agreed to in writing, software\ndistributed under the License is distributed on an \"AS IS\" BASIS,\nWITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\nSee the License for the specific language governing permissions and\nlimitations under the License.\n*/\n\nfunction normalizeHomeserver(homeserver) {\n try {\n return new URL(homeserver).origin;\n } catch (err) {\n return new URL(`https://${homeserver}`).origin;\n }\n}\n\nasync function getWellKnownResponse(homeserver, request) {\n const requestOptions = {format: \"json\", timeout: 30000, method: \"GET\"};\n try {\n const wellKnownUrl = `${homeserver}/.well-known/matrix/client`;\n return await request(wellKnownUrl, requestOptions).response();\n } catch (err) {\n if (err.name === \"ConnectionError\") {\n // don't fail lookup on a ConnectionError,\n // there might be a missing CORS header on a 404 response or something,\n // which won't be a problem necessarily with homeserver requests later on ...\n return null;\n } else {\n throw err;\n }\n }\n}\n\nexport async function lookupHomeserver(homeserver, request) {\n homeserver = normalizeHomeserver(homeserver);\n const wellKnownResponse = await getWellKnownResponse(homeserver, request);\n if (wellKnownResponse && wellKnownResponse.status === 200) {\n const {body} = wellKnownResponse;\n const wellKnownHomeserver = body[\"m.homeserver\"]?.[\"base_url\"];\n if (typeof wellKnownHomeserver === \"string\") {\n homeserver = normalizeHomeserver(wellKnownHomeserver);\n }\n }\n return homeserver;\n}\n","/*\nCopyright 2020 Bruno Windels \n\nLicensed under the Apache License, Version 2.0 (the \"License\");\nyou may not use this file except in compliance with the License.\nYou may obtain a copy of the License at\n\n http://www.apache.org/licenses/LICENSE-2.0\n\nUnless required by applicable law or agreed to in writing, software\ndistributed under the License is distributed on an \"AS IS\" BASIS,\nWITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\nSee the License for the specific language governing permissions and\nlimitations under the License.\n*/\n\nexport class AbortError extends Error {\n get name(): string {\n return \"AbortError\";\n }\n}\n","/*\nCopyright 2020 Bruno Windels \n\nLicensed under the Apache License, Version 2.0 (the \"License\");\nyou may not use this file except in compliance with the License.\nYou may obtain a copy of the License at\n\n http://www.apache.org/licenses/LICENSE-2.0\n\nUnless required by applicable law or agreed to in writing, software\ndistributed under the License is distributed on an \"AS IS\" BASIS,\nWITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\nSee the License for the specific language governing permissions and\nlimitations under the License.\n*/\n\n// we return undefined so you can reassign any member\n// that uses `member?: T` syntax in one statement.\nexport type SubscriptionHandle = () => undefined;\n\nexport abstract class BaseObservable {\n protected _handlers: Set = new Set();\n\n onSubscribeFirst(): void {\n\n }\n\n onUnsubscribeLast(): void {\n\n }\n\n subscribe(handler: T): SubscriptionHandle {\n this._handlers.add(handler);\n if (this._handlers.size === 1) {\n this.onSubscribeFirst();\n }\n return () => {\n return this.unsubscribe(handler);\n };\n }\n\n unsubscribe(handler?: T): undefined {\n if (handler) {\n this._handlers.delete(handler);\n if (this._handlers.size === 0) {\n this.onUnsubscribeLast();\n }\n }\n return undefined;\n }\n\n unsubscribeAll(): void {\n if (this._handlers.size !== 0) {\n this._handlers.clear();\n this.onUnsubscribeLast();\n }\n }\n\n get hasSubscriptions(): boolean {\n return this._handlers.size !== 0;\n }\n\n // Add iterator over handlers here\n}\n\nexport function tests() {\n class Collection extends BaseObservable<{}> {\n firstSubscribeCalls: number = 0;\n firstUnsubscribeCalls: number = 0;\n\n onSubscribeFirst() { this.firstSubscribeCalls += 1; }\n onUnsubscribeLast() { this.firstUnsubscribeCalls += 1; }\n }\n\n return {\n test_unsubscribe(assert) {\n const c = new Collection();\n const unsubscribe = c.subscribe({});\n unsubscribe();\n assert.equal(c.firstSubscribeCalls, 1);\n assert.equal(c.firstUnsubscribeCalls, 1);\n }\n }\n}\n","/*\nCopyright 2020 Bruno Windels \n\nLicensed under the Apache License, Version 2.0 (the \"License\");\nyou may not use this file except in compliance with the License.\nYou may obtain a copy of the License at\n\n http://www.apache.org/licenses/LICENSE-2.0\n\nUnless required by applicable law or agreed to in writing, software\ndistributed under the License is distributed on an \"AS IS\" BASIS,\nWITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\nSee the License for the specific language governing permissions and\nlimitations under the License.\n*/\n\nimport {AbortError} from \"../utils/error\";\nimport {BaseObservable} from \"./BaseObservable\";\nimport type {SubscriptionHandle} from \"./BaseObservable\";\n\n// like an EventEmitter, but doesn't have an event type\nexport abstract class BaseObservableValue extends BaseObservable<(value: T) => void> {\n emit(argument: T) {\n for (const h of this._handlers) {\n h(argument);\n }\n }\n\n abstract get(): T;\n\n waitFor(predicate: (value: T) => boolean): IWaitHandle {\n if (predicate(this.get())) {\n return new ResolvedWaitForHandle(Promise.resolve(this.get()));\n } else {\n return new WaitForHandle(this, predicate);\n }\n }\n\n flatMap(mapper: (value: T) => (BaseObservableValue | undefined)): BaseObservableValue {\n return new FlatMapObservableValue(this, mapper);\n }\n}\n\ninterface IWaitHandle {\n promise: Promise;\n dispose(): void;\n}\n\nclass WaitForHandle implements IWaitHandle {\n private _promise: Promise\n private _reject: ((reason?: any) => void) | null;\n private _subscription: (() => void) | null;\n\n constructor(observable: BaseObservableValue, predicate: (value: T) => boolean) {\n this._promise = new Promise((resolve, reject) => {\n this._reject = reject;\n this._subscription = observable.subscribe(v => {\n if (predicate(v)) {\n this._reject = null;\n resolve(v);\n this.dispose();\n }\n });\n });\n }\n\n get promise(): Promise {\n return this._promise;\n }\n\n dispose() {\n if (this._subscription) {\n this._subscription();\n this._subscription = null;\n }\n if (this._reject) {\n this._reject(new AbortError());\n this._reject = null;\n }\n }\n}\n\nclass ResolvedWaitForHandle implements IWaitHandle {\n constructor(public promise: Promise) {}\n dispose() {}\n}\n\nexport class ObservableValue extends BaseObservableValue {\n private _value: T;\n\n constructor(initialValue: T) {\n super();\n this._value = initialValue;\n }\n\n get(): T {\n return this._value;\n }\n\n set(value: T): void {\n if (value !== this._value) {\n this._value = value;\n this.emit(this._value);\n }\n }\n}\n\nexport class RetainedObservableValue extends ObservableValue {\n private _freeCallback: () => void;\n\n constructor(initialValue: T, freeCallback: () => void) {\n super(initialValue);\n this._freeCallback = freeCallback;\n }\n\n onUnsubscribeLast() {\n super.onUnsubscribeLast();\n this._freeCallback();\n }\n}\n\nexport class FlatMapObservableValue extends BaseObservableValue {\n private sourceSubscription?: SubscriptionHandle;\n private targetSubscription?: SubscriptionHandle;\n\n constructor(\n private readonly source: BaseObservableValue

    ,\n private readonly mapper: (value: P) => (BaseObservableValue | undefined)\n ) {\n super();\n }\n\n onUnsubscribeLast() {\n super.onUnsubscribeLast();\n this.sourceSubscription = this.sourceSubscription!();\n if (this.targetSubscription) {\n this.targetSubscription = this.targetSubscription();\n }\n }\n\n onSubscribeFirst() {\n super.onSubscribeFirst();\n this.sourceSubscription = this.source.subscribe(() => {\n this.updateTargetSubscription();\n this.emit(this.get());\n });\n this.updateTargetSubscription();\n }\n\n private updateTargetSubscription() {\n const sourceValue = this.source.get();\n if (sourceValue) {\n const target = this.mapper(sourceValue);\n if (target) {\n if (!this.targetSubscription) {\n this.targetSubscription = target.subscribe(() => this.emit(this.get()));\n }\n return;\n }\n }\n // if no sourceValue or target\n if (this.targetSubscription) {\n this.targetSubscription = this.targetSubscription();\n }\n }\n\n get(): C | undefined {\n const sourceValue = this.source.get();\n if (!sourceValue) {\n return undefined;\n }\n const mapped = this.mapper(sourceValue);\n return mapped?.get();\n }\n}\n\nexport function tests() {\n return {\n \"set emits an update\": assert => {\n const a = new ObservableValue(0);\n let fired = false;\n const subscription = a.subscribe(v => {\n fired = true;\n assert.strictEqual(v, 5);\n });\n a.set(5);\n assert(fired);\n subscription();\n },\n \"set doesn't emit if value hasn't changed\": assert => {\n const a = new ObservableValue(5);\n let fired = false;\n const subscription = a.subscribe(() => {\n fired = true;\n });\n a.set(5);\n a.set(5);\n assert(!fired);\n subscription();\n },\n \"waitFor promise resolves on matching update\": async assert => {\n const a = new ObservableValue(5);\n const handle = a.waitFor(v => v === 6);\n Promise.resolve().then(() => {\n a.set(6);\n });\n await handle.promise;\n assert.strictEqual(a.get(), 6);\n },\n \"waitFor promise rejects when disposed\": async assert => {\n const a = new ObservableValue(0);\n const handle = a.waitFor(() => false);\n Promise.resolve().then(() => {\n handle.dispose();\n });\n await assert.rejects(handle.promise, AbortError);\n },\n \"flatMap.get\": assert => {\n const a = new ObservableValue}>(undefined);\n const countProxy = a.flatMap(a => a!.count);\n assert.strictEqual(countProxy.get(), undefined);\n const count = new ObservableValue(0);\n a.set({count});\n assert.strictEqual(countProxy.get(), 0);\n },\n \"flatMap update from source\": assert => {\n const a = new ObservableValue}>(undefined);\n const updates: (number | undefined)[] = [];\n a.flatMap(a => a!.count).subscribe(count => {\n updates.push(count);\n });\n const count = new ObservableValue(0);\n a.set({count});\n assert.deepEqual(updates, [0]);\n },\n \"flatMap update from target\": assert => {\n const a = new ObservableValue}>(undefined);\n const updates: (number | undefined)[] = [];\n a.flatMap(a => a!.count).subscribe(count => {\n updates.push(count);\n });\n const count = new ObservableValue(0);\n a.set({count});\n count.set(5);\n assert.deepEqual(updates, [0, 5]);\n }\n }\n}\n","/*\nCopyright 2020 The Matrix.org Foundation C.I.C.\n\nLicensed under the Apache License, Version 2.0 (the \"License\");\nyou may not use this file except in compliance with the License.\nYou may obtain a copy of the License at\n\n http://www.apache.org/licenses/LICENSE-2.0\n\nUnless required by applicable law or agreed to in writing, software\ndistributed under the License is distributed on an \"AS IS\" BASIS,\nWITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\nSee the License for the specific language governing permissions and\nlimitations under the License.\n*/\n\nimport {BaseObservableValue, ObservableValue} from \"../observable/ObservableValue\";\n\nexport interface IAbortable {\n abort();\n}\n\nexport type SetAbortableFn = (a: IAbortable) => typeof a;\nexport type SetProgressFn

    = (progress: P) => void;\ntype RunFn = (setAbortable: SetAbortableFn, setProgress: SetProgressFn

    ) => T;\n\nexport class AbortableOperation implements IAbortable {\n public readonly result: T;\n private _abortable?: IAbortable;\n private _progress: ObservableValue

    ;\n\n constructor(run: RunFn) {\n this._abortable = undefined;\n const setAbortable: SetAbortableFn = abortable => {\n this._abortable = abortable;\n return abortable;\n };\n this._progress = new ObservableValue

    (undefined);\n const setProgress: SetProgressFn

    = (progress: P) => {\n this._progress.set(progress);\n };\n this.result = run(setAbortable, setProgress);\n }\n\n get progress(): BaseObservableValue

    {\n return this._progress;\n }\n\n abort() {\n this._abortable?.abort();\n this._abortable = undefined;\n }\n}\n","/*\nCopyright 2020 The Matrix.org Foundation C.I.C.\n\nLicensed under the Apache License, Version 2.0 (the \"License\");\nyou may not use this file except in compliance with the License.\nYou may obtain a copy of the License at\n\n http://www.apache.org/licenses/LICENSE-2.0\n\nUnless required by applicable law or agreed to in writing, software\ndistributed under the License is distributed on an \"AS IS\" BASIS,\nWITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\nSee the License for the specific language governing permissions and\nlimitations under the License.\n*/\n\n\n// WARNING: We have to be very careful about what mime-types we allow into blobs.\n//\n// This means that the content is rendered using the origin of the script which\n// called createObjectURL(), and so if the content contains any scripting then it\n// will pose a XSS vulnerability when the browser renders it. This is particularly\n// bad if the user right-clicks the URI and pastes it into a new window or tab,\n// as the blob will then execute with access to Element's full JS environment(!)\n//\n// See https://github.com/matrix-org/matrix-react-sdk/pull/1820#issuecomment-385210647\n// for details.\n//\n// We mitigate this by only allowing mime-types into blobs which we know don't\n// contain any scripting, and instantiate all others as application/octet-stream\n// regardless of what mime-type the event claimed. Even if the payload itself\n// is some malicious HTML, the fact we instantiate it with a media mimetype or\n// application/octet-stream means the browser doesn't try to render it as such.\n//\n// One interesting edge case is image/svg+xml, which empirically *is* rendered\n// correctly if the blob is set to the src attribute of an img tag (for thumbnails)\n// *even if the mimetype is application/octet-stream*. However, empirically JS\n// in the SVG isn't executed in this scenario, so we seem to be okay.\n//\n// Tested on Chrome 65 and Firefox 60\n//\n// The list below is taken mainly from\n// https://developer.mozilla.org/en-US/docs/Web/HTML/Supported_media_formats\n// N.B. Matrix doesn't currently specify which mimetypes are valid in given\n// events, so we pick the ones which HTML5 browsers should be able to display\n//\n// For the record, mime-types which must NEVER enter this list below include:\n// text/html, text/xhtml, image/svg, image/svg+xml, image/pdf, and similar.\n\nconst ALLOWED_BLOB_MIMETYPES = {\n 'image/jpeg': true,\n 'image/gif': true,\n 'image/png': true,\n\n 'video/mp4': true,\n 'video/webm': true,\n 'video/ogg': true,\n 'video/quicktime': true,\n 'video/VP8': true,\n\n 'audio/mp4': true,\n 'audio/webm': true,\n 'audio/aac': true,\n 'audio/mpeg': true,\n 'audio/ogg': true,\n 'audio/wave': true,\n 'audio/wav': true,\n 'audio/x-wav': true,\n 'audio/x-pn-wav': true,\n 'audio/flac': true,\n 'audio/x-flac': true,\n};\n\nconst DEFAULT_MIMETYPE = 'application/octet-stream';\n\nexport class BlobHandle {\n constructor(blob, buffer = null) {\n this._blob = blob;\n this._buffer = buffer;\n this._url = null;\n }\n\n static fromBuffer(buffer, mimetype) {\n mimetype = mimetype ? mimetype.split(\";\")[0].trim() : '';\n if (!ALLOWED_BLOB_MIMETYPES[mimetype]) {\n mimetype = DEFAULT_MIMETYPE;\n }\n return new BlobHandle(new Blob([buffer], {type: mimetype}), buffer);\n }\n\n static fromBlob(blob) {\n // ok to not filter mimetypes as these are local files\n return new BlobHandle(blob);\n }\n\n get nativeBlob() {\n return this._blob;\n }\n\n async readAsBuffer() {\n if (this._buffer) {\n return this._buffer;\n } else {\n const reader = new FileReader();\n const promise = new Promise((resolve, reject) => {\n reader.addEventListener(\"load\", evt => resolve(evt.target.result)); \n reader.addEventListener(\"error\", evt => reject(evt.target.error)); \n });\n reader.readAsArrayBuffer(this._blob);\n return promise;\n }\n }\n\n get url() {\n if (!this._url) {\n this._url = URL.createObjectURL(this._blob);\n }\n return this._url;\n }\n\n get size() {\n return this._blob.size;\n }\n\n get mimeType() {\n return this._blob.type || DEFAULT_MIMETYPE;\n }\n\n dispose() {\n if (this._url) {\n URL.revokeObjectURL(this._url);\n this._url = null;\n }\n }\n}\n","/*\nCopyright 2020 Bruno Windels \nCopyright 2020 The Matrix.org Foundation C.I.C.\n\nLicensed under the Apache License, Version 2.0 (the \"License\");\nyou may not use this file except in compliance with the License.\nYou may obtain a copy of the License at\n\n http://www.apache.org/licenses/LICENSE-2.0\n\nUnless required by applicable law or agreed to in writing, software\ndistributed under the License is distributed on an \"AS IS\" BASIS,\nWITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\nSee the License for the specific language governing permissions and\nlimitations under the License.\n*/\n\nimport {BlobHandle} from \"../../platform/web/dom/BlobHandle.js\";\n\nexport type RequestBody = BlobHandle | string | Map;\n\nexport type EncodedBody = {\n mimeType: string;\n // the map gets transformed to a FormData object on the web\n body: RequestBody\n}\n\nexport function encodeQueryParams(queryParams?: object): string {\n return Object.entries(queryParams || {})\n .filter(([, value]) => value !== undefined)\n .map(([name, value]) => {\n if (typeof value === \"object\") {\n value = JSON.stringify(value);\n }\n return `${encodeURIComponent(name)}=${encodeURIComponent(value)}`;\n })\n .join(\"&\");\n}\n\nexport function encodeBody(body: BlobHandle | object): EncodedBody {\n if (body instanceof BlobHandle) {\n const blob = body as BlobHandle;\n return {\n mimeType: blob.mimeType,\n body: blob // will be unwrapped in request fn\n };\n } else if (body instanceof Map) {\n return {\n mimeType: \"multipart/form-data\",\n body: body\n }\n } else if (typeof body === \"object\") {\n const json = JSON.stringify(body);\n return {\n mimeType: \"application/json\",\n body: json\n }\n } else {\n throw new Error(\"Unknown body type: \" + body);\n }\n}\n","/*\nCopyright 2020 Bruno Windels \n\nLicensed under the Apache License, Version 2.0 (the \"License\");\nyou may not use this file except in compliance with the License.\nYou may obtain a copy of the License at\n\n http://www.apache.org/licenses/LICENSE-2.0\n\nUnless required by applicable law or agreed to in writing, software\ndistributed under the License is distributed on an \"AS IS\" BASIS,\nWITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\nSee the License for the specific language governing permissions and\nlimitations under the License.\n*/\n\nexport class WrappedError extends Error {\n constructor(message, cause) {\n super(`${message}: ${cause.message}`);\n this.cause = cause;\n }\n\n get name() {\n return \"WrappedError\";\n }\n}\n\nexport class HomeServerError extends Error {\n constructor(method, url, body, status) {\n super(`${body ? body.error : status} on ${method} ${url}`);\n this.errcode = body ? body.errcode : null;\n this.retry_after_ms = body ? body.retry_after_ms : 0;\n this.statusCode = status;\n }\n\n get name() {\n return \"HomeServerError\";\n }\n}\n\nexport {AbortError} from \"../utils/error\";\n\nexport class ConnectionError extends Error {\n constructor(message, isTimeout) {\n super(message || \"ConnectionError\");\n this.isTimeout = isTimeout;\n }\n\n get name() {\n return \"ConnectionError\";\n }\n}\n","/*\nCopyright 2020 Bruno Windels \nCopyright 2020 The Matrix.org Foundation C.I.C.\n\nLicensed under the Apache License, Version 2.0 (the \"License\");\nyou may not use this file except in compliance with the License.\nYou may obtain a copy of the License at\n\n http://www.apache.org/licenses/LICENSE-2.0\n\nUnless required by applicable law or agreed to in writing, software\ndistributed under the License is distributed on an \"AS IS\" BASIS,\nWITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\nSee the License for the specific language governing permissions and\nlimitations under the License.\n*/\n\nimport {HomeServerError, ConnectionError} from \"../error.js\";\nimport type {RequestResult} from \"../../platform/web/dom/request/fetch.js\";\nimport type {ILogItem} from \"../../logging/types\";\n\nexport interface IHomeServerRequest {\n abort(): void;\n response(): Promise;\n responseCode(): Promise;\n}\n\ntype HomeServerRequestOptions = {\n log?: ILogItem;\n allowedStatusCodes?: number[];\n};\n\nexport class HomeServerRequest implements IHomeServerRequest {\n private readonly _log?: ILogItem;\n private _sourceRequest?: RequestResult;\n // as we add types for expected responses from hs, this could be a generic class instead\n private readonly _promise: Promise;\n\n constructor(method: string, url: string, sourceRequest: RequestResult, options?: HomeServerRequestOptions) {\n let log: ILogItem | undefined;\n if (options?.log) {\n const parent = options?.log;\n log = parent.child({ t: \"network\", url, method, }, parent.level.Info);\n }\n this._log = log;\n this._sourceRequest = sourceRequest;\n this._promise = sourceRequest.response().then(response => {\n log?.set(\"status\", response.status);\n // ok?\n if (response.status >= 200 && response.status < 300 || options?.allowedStatusCodes?.includes(response.status)) {\n log?.finish();\n return response.body;\n } else {\n if (response.status >= 500) {\n const err = new ConnectionError(`Internal Server Error`);\n log?.catch(err);\n throw err;\n } else if (response.status >= 400 && !response.body?.errcode) {\n const err = new ConnectionError(`HTTP error status ${response.status} without errcode in body, assume this is a load balancer complaining the server is offline.`);\n log?.catch(err);\n throw err;\n } else {\n const err = new HomeServerError(method, url, response.body, response.status);\n log?.set(\"errcode\", err.errcode);\n log?.catch(err);\n throw err;\n }\n }\n }, err => {\n // if this._sourceRequest is still set,\n // the abort error came not from calling abort here\n if (err.name === \"AbortError\" && this._sourceRequest) {\n // The service worker sometimes (only on Firefox, on long, large request,\n // perhaps it has its own timeout?) aborts the request, see #187.\n // When it happens, the best thing to do seems to be to retry.\n // \n // In the service worker, we will also actively abort all\n // ongoing requests when trying to get a new service worker to activate\n // (this may surface in the app as a TypeError, which already gets mapped\n // to a ConnectionError in the request function, or an AbortError,\n // depending on the browser), as the service worker will only be\n // replaced when there are no more (fetch) events for the\n // current one to handle.\n // \n // In that case, the request function (in fetch.js) will check \n // the haltRequests flag on the service worker handler, and\n // block any new requests, as that would break the update process.\n // \n // So it is OK to return a ConnectionError here.\n // If we're updating the service worker, the /versions polling will\n // be blocked at the fetch level because haltRequests is set.\n // And for #187, retrying is the right thing to do.\n const err = new ConnectionError(`Service worker aborted, either updating or hit #187.`);\n log?.catch(err);\n throw err;\n } else {\n if (err.name === \"ConnectionError\") {\n log?.set(\"timeout\", err.isTimeout);\n }\n log?.catch(err);\n throw err;\n }\n });\n }\n\n abort(): void {\n if (this._sourceRequest) {\n this._log?.set(\"aborted\", true);\n this._sourceRequest.abort();\n // to mark that it was on purpose in above rejection handler\n this._sourceRequest = undefined;\n }\n }\n\n response(): Promise {\n return this._promise;\n }\n\n async responseCode(): Promise {\n const response = await this._sourceRequest.response();\n return response.status;\n }\n}\n\nimport {Request as MockRequest} from \"../../mocks/Request.js\";\nimport {AbortError} from \"../error.js\";\n\nexport function tests() {\n return {\n \"Response is passed through\": async assert => {\n const request = new MockRequest();\n const hsRequest = new HomeServerRequest(\"GET\", \"https://hs.tld/foo\", request);\n request.respond(200, \"foo\");\n assert.equal(await hsRequest.response(), \"foo\");\n },\n \"Unexpected AbortError is mapped to ConnectionError\": async assert => {\n const request = new MockRequest();\n const hsRequest = new HomeServerRequest(\"GET\", \"https://hs.tld/foo\", request);\n request.reject(new AbortError());\n await assert.rejects(hsRequest.response(), ConnectionError);\n },\n \"500 response is mapped to ConnectionError\": async assert => {\n const request = new MockRequest();\n const hsRequest = new HomeServerRequest(\"GET\", \"https://hs.tld/foo\", request);\n request.respond(500);\n await assert.rejects(hsRequest.response(), ConnectionError);\n },\n \"4xx response is mapped to HomeServerError\": async assert => {\n const request = new MockRequest();\n const hsRequest = new HomeServerRequest(\"GET\", \"https://hs.tld/foo\", request);\n request.respond(400, {errcode: \"FOO\"});\n await assert.rejects(hsRequest.response(), HomeServerError);\n },\n \"4xx response without errcode is mapped to ConnectionError\": async assert => {\n const request = new MockRequest();\n const hsRequest = new HomeServerRequest(\"GET\", \"https://hs.tld/foo\", request);\n request.respond(400);\n await assert.rejects(hsRequest.response(), ConnectionError);\n },\n \"Other errors are passed through\": async assert => {\n class MyError extends Error {}\n const request = new MockRequest();\n const hsRequest = new HomeServerRequest(\"GET\", \"https://hs.tld/foo\", request);\n request.reject(new MyError());\n await assert.rejects(hsRequest.response(), MyError);\n },\n };\n}\n","/*\nCopyright 2020 Bruno Windels \nCopyright 2020 The Matrix.org Foundation C.I.C.\n\nLicensed under the Apache License, Version 2.0 (the \"License\");\nyou may not use this file except in compliance with the License.\nYou may obtain a copy of the License at\n\n http://www.apache.org/licenses/LICENSE-2.0\n\nUnless required by applicable law or agreed to in writing, software\ndistributed under the License is distributed on an \"AS IS\" BASIS,\nWITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\nSee the License for the specific language governing permissions and\nlimitations under the License.\n*/\n\nimport {encodeQueryParams, encodeBody} from \"./common\";\nimport {HomeServerRequest} from \"./HomeServerRequest\";\nimport type {IHomeServerRequest} from \"./HomeServerRequest\";\nimport type {Reconnector} from \"./Reconnector\";\nimport type {EncodedBody} from \"./common\";\nimport type {RequestFunction} from \"../../platform/types/types\";\nimport type {ILogItem} from \"../../logging/types\";\n\ntype RequestMethod = \"POST\" | \"GET\" | \"PUT\";\n\nconst CS_R0_PREFIX = \"/_matrix/client/r0\";\nconst CS_V3_PREFIX = \"/_matrix/client/v3\";\nconst DEHYDRATION_PREFIX = \"/_matrix/client/unstable/org.matrix.msc2697.v2\";\n\ntype Options = {\n homeserver: string;\n accessToken: string;\n request: RequestFunction;\n reconnector: Reconnector;\n};\n\ntype BaseRequestOptions = {\n log?: ILogItem;\n allowedStatusCodes?: number[];\n uploadProgress?: (loadedBytes: number) => void;\n timeout?: number;\n prefix?: string;\n};\n\nexport class HomeServerApi {\n private readonly _homeserver: string;\n private readonly _accessToken: string;\n private readonly _requestFn: RequestFunction;\n private readonly _reconnector: Reconnector;\n\n constructor({homeserver, accessToken, request, reconnector}: Options) {\n // store these both in a closure somehow so it's harder to get at in case of XSS?\n // one could change the homeserver as well so the token gets sent there, so both must be protected from read/write\n this._homeserver = homeserver;\n this._accessToken = accessToken;\n this._requestFn = request;\n this._reconnector = reconnector;\n }\n\n private _url(csPath: string, prefix: string = CS_R0_PREFIX): string {\n return this._homeserver + prefix + csPath;\n }\n\n private _baseRequest(method: RequestMethod, url: string, queryParams?: Record, body?: Record, options?: BaseRequestOptions, accessToken?: string): IHomeServerRequest {\n const queryString = encodeQueryParams(queryParams);\n url = `${url}?${queryString}`;\n let encodedBody: EncodedBody[\"body\"];\n const headers: Map = new Map();\n if (accessToken) {\n headers.set(\"Authorization\", `Bearer ${accessToken}`);\n }\n headers.set(\"Accept\", \"application/json\");\n if (body) {\n const encoded = encodeBody(body);\n headers.set(\"Content-Type\", encoded.mimeType);\n encodedBody = encoded.body;\n }\n\n const requestResult = this._requestFn(url, {\n method,\n headers,\n body: encodedBody,\n timeout: options?.timeout,\n uploadProgress: options?.uploadProgress,\n format: \"json\", // response format\n cache: method !== \"GET\",\n });\n\n const hsRequest = new HomeServerRequest(method, url, requestResult, options);\n \n if (this._reconnector) {\n hsRequest.response().catch(err => {\n // Some endpoints such as /sync legitimately time-out\n // (which is also reported as a ConnectionError) and will re-attempt,\n // but spinning up the reconnector in this case is ok,\n // as all code ran on session and sync start should be reentrant\n if (err.name === \"ConnectionError\") {\n this._reconnector.onRequestFailed(this);\n }\n });\n }\n\n return hsRequest;\n }\n\n private _unauthedRequest(method: RequestMethod, url: string, queryParams?: Record, body?: Record, options?: BaseRequestOptions): IHomeServerRequest {\n return this._baseRequest(method, url, queryParams, body, options);\n }\n\n private _authedRequest(method: RequestMethod, url: string, queryParams?: Record, body?: Record, options?: BaseRequestOptions): IHomeServerRequest {\n return this._baseRequest(method, url, queryParams, body, options, this._accessToken);\n }\n\n private _post(csPath: string, queryParams: Record, body: Record, options?: BaseRequestOptions): IHomeServerRequest {\n return this._authedRequest(\"POST\", this._url(csPath, options?.prefix || CS_R0_PREFIX), queryParams, body, options);\n }\n\n private _put(csPath: string, queryParams: Record, body?: Record, options?: BaseRequestOptions): IHomeServerRequest {\n return this._authedRequest(\"PUT\", this._url(csPath, options?.prefix || CS_R0_PREFIX), queryParams, body, options);\n }\n\n private _get(csPath: string, queryParams?: Record, body?: Record, options?: BaseRequestOptions): IHomeServerRequest {\n return this._authedRequest(\"GET\", this._url(csPath, options?.prefix || CS_R0_PREFIX), queryParams, body, options);\n }\n\n sync(since: string, filter: string, timeout: number, options?: BaseRequestOptions): IHomeServerRequest {\n return this._get(\"/sync\", {since, timeout, filter}, undefined, options);\n }\n\n context(roomId: string, eventId: string, limit: number, filter: string): IHomeServerRequest {\n return this._get(`/rooms/${encodeURIComponent(roomId)}/context/${encodeURIComponent(eventId)}`, {filter, limit});\n }\n\n // params is from, dir and optionally to, limit, filter.\n messages(roomId: string, params: Record, options?: BaseRequestOptions): IHomeServerRequest {\n return this._get(`/rooms/${encodeURIComponent(roomId)}/messages`, params, undefined, options);\n }\n\n // params is at, membership and not_membership\n members(roomId: string, params: Record, options?: BaseRequestOptions): IHomeServerRequest {\n return this._get(`/rooms/${encodeURIComponent(roomId)}/members`, params, undefined, options);\n }\n\n send(roomId: string, eventType: string, txnId: string, content: Record, options?: BaseRequestOptions): IHomeServerRequest {\n return this._put(`/rooms/${encodeURIComponent(roomId)}/send/${encodeURIComponent(eventType)}/${encodeURIComponent(txnId)}`, {}, content, options);\n }\n\n redact(roomId: string, eventId: string, txnId: string, content: Record, options?: BaseRequestOptions): IHomeServerRequest {\n return this._put(`/rooms/${encodeURIComponent(roomId)}/redact/${encodeURIComponent(eventId)}/${encodeURIComponent(txnId)}`, {}, content, options);\n }\n\n receipt(roomId: string, receiptType: string, eventId: string, options?: BaseRequestOptions): IHomeServerRequest {\n return this._post(`/rooms/${encodeURIComponent(roomId)}/receipt/${encodeURIComponent(receiptType)}/${encodeURIComponent(eventId)}`,\n {}, {}, options);\n }\n\n state(roomId: string, eventType: string, stateKey: string, options?: BaseRequestOptions): IHomeServerRequest {\n return this._get(`/rooms/${encodeURIComponent(roomId)}/state/${encodeURIComponent(eventType)}/${encodeURIComponent(stateKey)}`, {}, undefined, options);\n }\n\n getLoginFlows(): IHomeServerRequest {\n return this._unauthedRequest(\"GET\", this._url(\"/login\"));\n }\n\n register(username: string | null, password: string, initialDeviceDisplayName: string, auth?: Record, inhibitLogin: boolean = true , options: BaseRequestOptions = {}): IHomeServerRequest {\n options.allowedStatusCodes = [401];\n const body: any = {\n auth,\n password,\n initial_device_displayname: initialDeviceDisplayName,\n inhibit_login: inhibitLogin,\n };\n if (username) {\n // username is optional for registration\n body.username = username;\n }\n return this._unauthedRequest( \"POST\", this._url(\"/register\", CS_V3_PREFIX), undefined, body, options);\n }\n\n passwordLogin(username: string, password: string, initialDeviceDisplayName: string, options?: BaseRequestOptions): IHomeServerRequest {\n return this._unauthedRequest(\"POST\", this._url(\"/login\"), undefined, {\n \"type\": \"m.login.password\",\n \"identifier\": {\n \"type\": \"m.id.user\",\n \"user\": username\n },\n \"password\": password,\n \"initial_device_display_name\": initialDeviceDisplayName\n }, options);\n }\n\n tokenLogin(loginToken: string, txnId: string, initialDeviceDisplayName: string, options?: BaseRequestOptions): IHomeServerRequest {\n return this._unauthedRequest(\"POST\", this._url(\"/login\"), undefined, {\n \"type\": \"m.login.token\",\n \"identifier\": {\n \"type\": \"m.id.user\",\n },\n \"token\": loginToken,\n \"txn_id\": txnId,\n \"initial_device_display_name\": initialDeviceDisplayName\n }, options);\n }\n\n createFilter(userId: string, filter: Record, options?: BaseRequestOptions): IHomeServerRequest {\n return this._post(`/user/${encodeURIComponent(userId)}/filter`, {}, filter, options);\n }\n\n versions(options?: BaseRequestOptions): IHomeServerRequest {\n return this._unauthedRequest(\"GET\", `${this._homeserver}/_matrix/client/versions`, undefined, undefined, options);\n }\n\n uploadKeys(dehydratedDeviceId: string, payload: Record, options?: BaseRequestOptions): IHomeServerRequest {\n let path = \"/keys/upload\";\n if (dehydratedDeviceId) {\n path = path + `/${encodeURIComponent(dehydratedDeviceId)}`;\n }\n return this._post(path, {}, payload, options);\n }\n\n queryKeys(queryRequest: Record, options?: BaseRequestOptions): IHomeServerRequest {\n return this._post(\"/keys/query\", {}, queryRequest, options);\n }\n\n claimKeys(payload: Record, options?: BaseRequestOptions): IHomeServerRequest {\n return this._post(\"/keys/claim\", {}, payload, options);\n }\n\n sendToDevice(type: string, payload: Record, txnId: string, options?: BaseRequestOptions): IHomeServerRequest {\n return this._put(`/sendToDevice/${encodeURIComponent(type)}/${encodeURIComponent(txnId)}`, {}, payload, options);\n }\n \n roomKeysVersion(version?: string, options?: BaseRequestOptions): IHomeServerRequest {\n let versionPart = \"\";\n if (version) {\n versionPart = `/${encodeURIComponent(version)}`;\n }\n return this._get(`/room_keys/version${versionPart}`, undefined, undefined, options);\n }\n\n roomKeyForRoomAndSession(version: string, roomId: string, sessionId: string, options?: BaseRequestOptions): IHomeServerRequest {\n return this._get(`/room_keys/keys/${encodeURIComponent(roomId)}/${encodeURIComponent(sessionId)}`, {version}, undefined, options);\n }\n\n uploadRoomKeysToBackup(version: string, payload: Record, options?: BaseRequestOptions): IHomeServerRequest {\n return this._put(`/room_keys/keys`, {version}, payload, options);\n }\n\n uploadAttachment(blob: Blob, filename: string, options?: BaseRequestOptions): IHomeServerRequest {\n return this._authedRequest(\"POST\", `${this._homeserver}/_matrix/media/r0/upload`, {filename}, blob, options);\n }\n\n setPusher(pusher: Record, options?: BaseRequestOptions): IHomeServerRequest {\n return this._post(\"/pushers/set\", {}, pusher, options);\n }\n\n getPushers(options?: BaseRequestOptions): IHomeServerRequest {\n return this._get(\"/pushers\", undefined, undefined, options);\n }\n\n join(roomId: string, options?: BaseRequestOptions): IHomeServerRequest {\n return this._post(`/rooms/${encodeURIComponent(roomId)}/join`, {}, {}, options);\n }\n\n joinIdOrAlias(roomIdOrAlias: string, options?: BaseRequestOptions): IHomeServerRequest {\n return this._post(`/join/${encodeURIComponent(roomIdOrAlias)}`, {}, {}, options);\n }\n\n leave(roomId: string, options?: BaseRequestOptions): IHomeServerRequest {\n return this._post(`/rooms/${encodeURIComponent(roomId)}/leave`, {}, {}, options);\n }\n\n forget(roomId: string, options?: BaseRequestOptions): IHomeServerRequest {\n return this._post(`/rooms/${encodeURIComponent(roomId)}/forget`, {}, {}, options);\n }\n\n logout(options?: BaseRequestOptions): IHomeServerRequest {\n return this._post(`/logout`, {}, {}, options);\n }\n\n getDehydratedDevice(options: BaseRequestOptions = {}): IHomeServerRequest {\n options.prefix = DEHYDRATION_PREFIX;\n return this._get(`/dehydrated_device`, undefined, undefined, options);\n }\n\n createDehydratedDevice(payload: Record, options: BaseRequestOptions = {}): IHomeServerRequest {\n options.prefix = DEHYDRATION_PREFIX;\n return this._put(`/dehydrated_device`, {}, payload, options);\n }\n\n claimDehydratedDevice(deviceId: string, options: BaseRequestOptions = {}): IHomeServerRequest {\n options.prefix = DEHYDRATION_PREFIX;\n return this._post(`/dehydrated_device/claim`, {}, {device_id: deviceId}, options);\n }\n\n profile(userId: string, options?: BaseRequestOptions): IHomeServerRequest {\n return this._get(`/profile/${encodeURIComponent(userId)}`);\n }\n\n createRoom(payload: Record, options?: BaseRequestOptions): IHomeServerRequest {\n return this._post(`/createRoom`, {}, payload, options);\n }\n \n setAccountData(ownUserId: string, type: string, content: Record, options?: BaseRequestOptions): IHomeServerRequest {\n return this._put(`/user/${encodeURIComponent(ownUserId)}/account_data/${encodeURIComponent(type)}`, {}, content, options);\n }\n}\n\nimport {Request as MockRequest} from \"../../mocks/Request.js\";\n\nexport function tests() {\n return {\n \"superficial happy path for GET\": async assert => {\n // @ts-ignore\n const hsApi = new HomeServerApi({\n request: () => new MockRequest().respond(200, 42),\n homeserver: \"https://hs.tld\",\n });\n // @ts-ignore\n const result = await hsApi._get(\"foo\").response();\n assert.strictEqual(result, 42);\n }\n }\n}\n","/*\nCopyright 2020 Bruno Windels \n\nLicensed under the Apache License, Version 2.0 (the \"License\");\nyou may not use this file except in compliance with the License.\nYou may obtain a copy of the License at\n\n http://www.apache.org/licenses/LICENSE-2.0\n\nUnless required by applicable law or agreed to in writing, software\ndistributed under the License is distributed on an \"AS IS\" BASIS,\nWITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\nSee the License for the specific language governing permissions and\nlimitations under the License.\n*/\n\nimport {AbortError} from \"../../utils/error\";\nimport type {Timeout} from \"../../platform/web/dom/Clock.js\";\n\ntype TimeoutCreator = (ms: number) => Timeout;\n\nconst enum Default { start = 2000 }\n\nexport class ExponentialRetryDelay {\n private readonly _start: number = Default.start;\n private _current: number = Default.start;\n private readonly _createTimeout: TimeoutCreator;\n private readonly _max: number;\n private _timeout?: Timeout;\n\n constructor(createTimeout: TimeoutCreator) {\n const start = 2000;\n this._start = start;\n this._current = start;\n this._createTimeout = createTimeout;\n this._max = 60 * 5 * 1000; //5 min\n }\n\n async waitForRetry(): Promise {\n this._timeout = this._createTimeout(this._current);\n try {\n await this._timeout.elapsed();\n // only increase delay if we didn't get interrupted\n const next = 2 * this._current;\n this._current = Math.min(this._max, next);\n } catch(err) {\n // swallow AbortError, means abort was called\n if (!(err instanceof AbortError)) {\n throw err;\n }\n } finally {\n this._timeout = undefined;\n }\n }\n\n abort(): void {\n if (this._timeout) {\n this._timeout.abort();\n }\n }\n\n reset(): void {\n this._current = this._start;\n this.abort();\n }\n\n get nextValue(): number {\n return this._current;\n }\n}\n\n\nimport {Clock as MockClock} from \"../../mocks/Clock.js\";\n\nexport function tests() {\n return {\n \"test sequence\": async assert => {\n const clock = new MockClock();\n const retryDelay = new ExponentialRetryDelay(clock.createTimeout);\n let promise;\n\n assert.strictEqual(retryDelay.nextValue, 2000);\n promise = retryDelay.waitForRetry();\n clock.elapse(2000);\n await promise;\n\n assert.strictEqual(retryDelay.nextValue, 4000);\n promise = retryDelay.waitForRetry();\n clock.elapse(4000);\n await promise;\n\n assert.strictEqual(retryDelay.nextValue, 8000);\n promise = retryDelay.waitForRetry();\n clock.elapse(8000);\n await promise;\n\n assert.strictEqual(retryDelay.nextValue, 16000);\n promise = retryDelay.waitForRetry();\n clock.elapse(16000);\n await promise;\n\n assert.strictEqual(retryDelay.nextValue, 32000);\n promise = retryDelay.waitForRetry();\n clock.elapse(32000);\n await promise;\n\n assert.strictEqual(retryDelay.nextValue, 64000);\n promise = retryDelay.waitForRetry();\n clock.elapse(64000);\n await promise;\n\n assert.strictEqual(retryDelay.nextValue, 128000);\n promise = retryDelay.waitForRetry();\n clock.elapse(128000);\n await promise;\n\n assert.strictEqual(retryDelay.nextValue, 256000);\n promise = retryDelay.waitForRetry();\n clock.elapse(256000);\n await promise;\n\n assert.strictEqual(retryDelay.nextValue, 300000);\n promise = retryDelay.waitForRetry();\n clock.elapse(300000);\n await promise;\n\n assert.strictEqual(retryDelay.nextValue, 300000);\n promise = retryDelay.waitForRetry();\n clock.elapse(300000);\n await promise;\n },\n }\n \n}\n","/*\nCopyright 2020 Bruno Windels \n\nLicensed under the Apache License, Version 2.0 (the \"License\");\nyou may not use this file except in compliance with the License.\nYou may obtain a copy of the License at\n\n http://www.apache.org/licenses/LICENSE-2.0\n\nUnless required by applicable law or agreed to in writing, software\ndistributed under the License is distributed on an \"AS IS\" BASIS,\nWITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\nSee the License for the specific language governing permissions and\nlimitations under the License.\n*/\n\nimport {ObservableValue} from \"../../observable/ObservableValue\";\nimport type {ExponentialRetryDelay} from \"./ExponentialRetryDelay\";\nimport type {TimeMeasure} from \"../../platform/web/dom/Clock.js\";\nimport type {OnlineStatus} from \"../../platform/web/dom/OnlineStatus.js\";\nimport type {VersionResponse} from \"./types/response\";\nimport type {HomeServerApi} from \"./HomeServerApi\";\n\nexport enum ConnectionStatus {\n \"Waiting\",\n \"Reconnecting\",\n \"Online\"\n};\n\ntype Ctor = {\n retryDelay: ExponentialRetryDelay;\n createMeasure: () => TimeMeasure;\n onlineStatus: OnlineStatus\n};\n\nexport class Reconnector {\n private readonly _retryDelay: ExponentialRetryDelay;\n private readonly _createTimeMeasure: () => TimeMeasure;\n private readonly _onlineStatus: OnlineStatus;\n private readonly _state: ObservableValue;\n private _isReconnecting: boolean;\n private _versionsResponse?: VersionResponse;\n private _stateSince: TimeMeasure;\n\n constructor({retryDelay, createMeasure, onlineStatus}: Ctor) {\n this._onlineStatus = onlineStatus;\n this._retryDelay = retryDelay;\n this._createTimeMeasure = createMeasure;\n // assume online, and do our thing when something fails\n this._state = new ObservableValue(ConnectionStatus.Online);\n this._isReconnecting = false;\n }\n\n get lastVersionsResponse(): VersionResponse | undefined {\n return this._versionsResponse;\n }\n\n get connectionStatus(): ObservableValue {\n return this._state;\n }\n\n get retryIn(): number {\n if (this._state.get() === ConnectionStatus.Waiting) {\n return this._retryDelay.nextValue - this._stateSince.measure();\n }\n return 0;\n }\n\n async onRequestFailed(hsApi: HomeServerApi): Promise {\n if (!this._isReconnecting) { \n this._isReconnecting = true;\n \n const onlineStatusSubscription = this._onlineStatus && this._onlineStatus.subscribe(online => {\n if (online) {\n this.tryNow();\n }\n });\n\n try {\n await this._reconnectLoop(hsApi);\n } catch (err) {\n // nothing is catching the error above us,\n // so just log here\n console.error(err);\n } finally {\n if (onlineStatusSubscription) {\n // unsubscribe from this._onlineStatus\n onlineStatusSubscription();\n }\n this._isReconnecting = false;\n }\n }\n }\n\n tryNow(): void {\n if (this._retryDelay) {\n // this will interrupt this._retryDelay.waitForRetry() in _reconnectLoop\n this._retryDelay.abort();\n }\n }\n\n private _setState(state: ConnectionStatus): void {\n if (state !== this._state.get()) {\n if (state === ConnectionStatus.Waiting) {\n this._stateSince = this._createTimeMeasure();\n } else {\n this._stateSince = null;\n }\n this._state.set(state);\n }\n }\n \n private async _reconnectLoop(hsApi: HomeServerApi): Promise {\n this._versionsResponse = undefined;\n this._retryDelay.reset();\n\n while (!this._versionsResponse) {\n try {\n this._setState(ConnectionStatus.Reconnecting);\n // use 30s timeout, as a tradeoff between not giving up\n // too quickly on a slow server, and not waiting for\n // a stale connection when we just came online again\n const versionsRequest = hsApi.versions({timeout: 30000});\n this._versionsResponse = await versionsRequest.response();\n this._setState(ConnectionStatus.Online);\n } catch (err) {\n if (err.name === \"ConnectionError\") {\n this._setState(ConnectionStatus.Waiting);\n await this._retryDelay.waitForRetry();\n } else {\n throw err;\n }\n }\n }\n }\n}\n\n\nimport {Clock as MockClock} from \"../../mocks/Clock.js\";\nimport {ExponentialRetryDelay as _ExponentialRetryDelay} from \"./ExponentialRetryDelay\";\nimport {ConnectionError} from \"../error.js\"\n\nexport function tests() {\n function createHsApiMock(remainingFailures) {\n return {\n versions() {\n return {\n response() {\n if (remainingFailures) {\n remainingFailures -= 1;\n return Promise.reject(new ConnectionError());\n } else {\n return Promise.resolve(42);\n }\n }\n };\n }\n }\n }\n\n return {\n \"test reconnecting with 1 failure\": async assert => {\n const clock = new MockClock();\n const {createMeasure} = clock;\n const onlineStatus = new ObservableValue(false);\n const retryDelay = new _ExponentialRetryDelay(clock.createTimeout);\n const reconnector = new Reconnector({retryDelay, onlineStatus, createMeasure});\n const {connectionStatus} = reconnector;\n const statuses: ConnectionStatus[] = [];\n const subscription = reconnector.connectionStatus.subscribe(s => {\n statuses.push(s);\n });\n // @ts-ignore\n reconnector.onRequestFailed(createHsApiMock(1));\n await connectionStatus.waitFor(s => s === ConnectionStatus.Waiting).promise;\n clock.elapse(2000);\n await connectionStatus.waitFor(s => s === ConnectionStatus.Online).promise;\n assert.deepEqual(statuses, [\n ConnectionStatus.Reconnecting,\n ConnectionStatus.Waiting,\n ConnectionStatus.Reconnecting,\n ConnectionStatus.Online\n ]);\n assert.strictEqual(reconnector.lastVersionsResponse, 42);\n subscription();\n },\n \"test reconnecting with onlineStatus\": async assert => {\n const clock = new MockClock();\n const {createMeasure} = clock;\n const onlineStatus = new ObservableValue(false);\n const retryDelay = new _ExponentialRetryDelay(clock.createTimeout);\n const reconnector = new Reconnector({retryDelay, onlineStatus, createMeasure});\n const {connectionStatus} = reconnector;\n // @ts-ignore\n reconnector.onRequestFailed(createHsApiMock(1));\n await connectionStatus.waitFor(s => s === ConnectionStatus.Waiting).promise;\n onlineStatus.set(true); //skip waiting\n await connectionStatus.waitFor(s => s === ConnectionStatus.Online).promise;\n assert.equal(connectionStatus.get(), ConnectionStatus.Online);\n assert.strictEqual(reconnector.lastVersionsResponse, 42);\n },\n }\n}\n","/*\nCopyright 2020 The Matrix.org Foundation C.I.C.\n\nLicensed under the Apache License, Version 2.0 (the \"License\");\nyou may not use this file except in compliance with the License.\nYou may obtain a copy of the License at\n\n http://www.apache.org/licenses/LICENSE-2.0\n\nUnless required by applicable law or agreed to in writing, software\ndistributed under the License is distributed on an \"AS IS\" BASIS,\nWITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\nSee the License for the specific language governing permissions and\nlimitations under the License.\n*/\n\n/**\n * Decrypt an attachment.\n * @param {ArrayBuffer} ciphertextBuffer The encrypted attachment data buffer.\n * @param {Object} info The information needed to decrypt the attachment.\n * @param {Object} info.key AES-CTR JWK key object.\n * @param {string} info.iv Base64 encoded 16 byte AES-CTR IV.\n * @param {string} info.hashes.sha256 Base64 encoded SHA-256 hash of the ciphertext.\n * @return {Promise} A promise that resolves with an ArrayBuffer when the attachment is decrypted.\n */\nexport async function decryptAttachment(platform, ciphertextBuffer, info) {\n if (info === undefined || info.key === undefined || info.iv === undefined\n || info.hashes === undefined || info.hashes.sha256 === undefined) {\n throw new Error(\"Invalid info. Missing info.key, info.iv or info.hashes.sha256 key\");\n }\n\n const {crypto} = platform;\n const {base64} = platform.encoding;\n var ivArray = base64.decode(info.iv);\n // re-encode to not deal with padded vs unpadded\n var expectedSha256base64 = base64.encode(base64.decode(info.hashes.sha256));\n // Check the sha256 hash\n const digestResult = await crypto.digest(\"SHA-256\", ciphertextBuffer);\n if (base64.encode(new Uint8Array(digestResult)) != expectedSha256base64) {\n throw new Error(\"Mismatched SHA-256 digest\");\n }\n var counterLength;\n if (info.v == \"v1\" || info.v == \"v2\") {\n // Version 1 and 2 use a 64 bit counter.\n counterLength = 64;\n } else {\n // Version 0 uses a 128 bit counter.\n counterLength = 128;\n }\n\n const decryptedBuffer = await crypto.aes.decryptCTR({\n jwkKey: info.key,\n iv: ivArray,\n data: ciphertextBuffer,\n counterLength\n });\n return decryptedBuffer;\n}\n\nexport async function encryptAttachment(platform, blob) {\n const {crypto} = platform;\n const {base64} = platform.encoding;\n const iv = await crypto.aes.generateIV();\n const key = await crypto.aes.generateKey(\"jwk\", 256);\n const buffer = await blob.readAsBuffer();\n const ciphertext = await crypto.aes.encryptCTR({jwkKey: key, iv, data: buffer});\n const digest = await crypto.digest(\"SHA-256\", ciphertext);\n return {\n blob: platform.createBlob(ciphertext, 'application/octet-stream'),\n info: {\n v: \"v2\",\n key,\n iv: base64.encodeUnpadded(iv),\n hashes: {\n sha256: base64.encodeUnpadded(digest)\n }\n }\n };\n}\n","/*\nCopyright 2020 The Matrix.org Foundation C.I.C.\n\nLicensed under the Apache License, Version 2.0 (the \"License\");\nyou may not use this file except in compliance with the License.\nYou may obtain a copy of the License at\n\n http://www.apache.org/licenses/LICENSE-2.0\n\nUnless required by applicable law or agreed to in writing, software\ndistributed under the License is distributed on an \"AS IS\" BASIS,\nWITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\nSee the License for the specific language governing permissions and\nlimitations under the License.\n*/\n\nimport {encodeQueryParams} from \"./common\";\nimport {decryptAttachment} from \"../e2ee/attachment.js\";\nimport {Platform} from \"../../platform/web/Platform.js\";\nimport {BlobHandle} from \"../../platform/web/dom/BlobHandle.js\";\nimport type {Attachment, EncryptedFile} from \"./types/response\";\n\nexport class MediaRepository {\n private readonly _homeserver: string;\n private readonly _platform: Platform;\n\n constructor({homeserver, platform}: {homeserver:string, platform: Platform}) {\n this._homeserver = homeserver;\n this._platform = platform;\n }\n\n mxcUrlThumbnail(url: string, width: number, height: number, method: \"crop\" | \"scale\"): string | null {\n const parts = this._parseMxcUrl(url);\n if (parts) {\n const [serverName, mediaId] = parts;\n const httpUrl = `${this._homeserver}/_matrix/media/r0/thumbnail/${encodeURIComponent(serverName)}/${encodeURIComponent(mediaId)}`;\n return httpUrl + \"?\" + encodeQueryParams({width: Math.round(width), height: Math.round(height), method});\n }\n return null;\n }\n\n mxcUrl(url: string): string | null {\n const parts = this._parseMxcUrl(url);\n if (parts) {\n const [serverName, mediaId] = parts;\n return `${this._homeserver}/_matrix/media/r0/download/${encodeURIComponent(serverName)}/${encodeURIComponent(mediaId)}`;\n } else {\n return null;\n }\n }\n\n private _parseMxcUrl(url: string): string[] | null {\n const prefix = \"mxc://\";\n if (url.startsWith(prefix)) {\n return url.substr(prefix.length).split(\"/\", 2);\n } else {\n return null;\n }\n }\n\n async downloadEncryptedFile(fileEntry: EncryptedFile, cache: boolean = false): Promise {\n const url = this.mxcUrl(fileEntry.url);\n const {body: encryptedBuffer} = await this._platform.request(url, {method: \"GET\", format: \"buffer\", cache}).response();\n const decryptedBuffer = await decryptAttachment(this._platform, encryptedBuffer, fileEntry);\n return this._platform.createBlob(decryptedBuffer, fileEntry.mimetype);\n }\n\n async downloadPlaintextFile(mxcUrl: string, mimetype: string, cache: boolean = false): Promise {\n const url = this.mxcUrl(mxcUrl);\n const {body: buffer} = await this._platform.request(url, {method: \"GET\", format: \"buffer\", cache}).response();\n return this._platform.createBlob(buffer, mimetype);\n }\n\n async downloadAttachment(content: Attachment, cache: boolean = false): Promise {\n if (content.file) {\n return this.downloadEncryptedFile(content.file, cache);\n } else {\n return this.downloadPlaintextFile(content.url!, content.info?.mimetype, cache);\n }\n }\n}\n","/*\nCopyright 2020 Bruno Windels \nCopyright 2020 The Matrix.org Foundation C.I.C.\n\nLicensed under the Apache License, Version 2.0 (the \"License\");\nyou may not use this file except in compliance with the License.\nYou may obtain a copy of the License at\n\n http://www.apache.org/licenses/LICENSE-2.0\n\nUnless required by applicable law or agreed to in writing, software\ndistributed under the License is distributed on an \"AS IS\" BASIS,\nWITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\nSee the License for the specific language governing permissions and\nlimitations under the License.\n*/\n\nimport {AbortError} from \"../../utils/error\";\nimport {HomeServerError} from \"../error.js\";\nimport {HomeServerApi} from \"./HomeServerApi\";\nimport {ExponentialRetryDelay} from \"./ExponentialRetryDelay\";\nimport {Clock} from \"../../platform/web/dom/Clock.js\";\nimport type {IHomeServerRequest} from \"./HomeServerRequest.js\";\n\nclass Request implements IHomeServerRequest {\n public readonly methodName: string;\n public readonly args: any[];\n private responseResolve: (result: any) => void;\n public responseReject: (error: Error) => void;\n private responseCodeResolve?: (result: any) => void;\n private responseCodeReject?: (result: any) => void;\n private _requestResult?: IHomeServerRequest;\n private readonly _responsePromise: Promise;\n private _responseCodePromise: Promise;\n\n constructor(methodName: string, args: any[]) {\n this.methodName = methodName;\n this.args = args;\n this._responsePromise = new Promise((resolve, reject) => {\n this.responseResolve = resolve;\n this.responseReject = reject;\n });\n }\n\n abort(): void {\n if (this._requestResult) {\n this._requestResult.abort();\n } else {\n this.responseReject(new AbortError());\n this.responseCodeReject?.(new AbortError());\n }\n }\n\n response(): Promise {\n return this._responsePromise;\n }\n\n responseCode(): Promise {\n if (this.requestResult) {\n return this.requestResult.responseCode();\n }\n if (!this._responseCodePromise) {\n this._responseCodePromise = new Promise((resolve, reject) => {\n this.responseCodeResolve = resolve;\n this.responseCodeReject = reject;\n });\n }\n return this._responseCodePromise;\n }\n\n async setRequestResult(result) {\n this._requestResult = result;\n const response = await this._requestResult?.response();\n this.responseResolve(response);\n const responseCode = await this._requestResult?.responseCode();\n this.responseCodeResolve?.(responseCode);\n }\n\n get requestResult() {\n return this._requestResult;\n }\n}\n\nclass HomeServerApiWrapper {\n private readonly _scheduler: RequestScheduler;\n\n constructor(scheduler: RequestScheduler) {\n this._scheduler = scheduler;\n }\n}\n\n// add request-wrapping methods to prototype\nfor (const methodName of Object.getOwnPropertyNames(HomeServerApi.prototype)) {\n if (methodName !== \"constructor\" && !methodName.startsWith(\"_\")) {\n HomeServerApiWrapper.prototype[methodName] = function(...args) {\n return this._scheduler._hsApiRequest(methodName, args);\n };\n }\n}\n\nexport class RequestScheduler {\n private readonly _hsApi: HomeServerApi;\n private readonly _clock: Clock;\n private readonly _requests: Set = new Set();\n private _stopped = false;\n private _wrapper = new HomeServerApiWrapper(this);\n\n constructor({ hsApi, clock }: { hsApi: HomeServerApi; clock: Clock }) {\n this._hsApi = hsApi;\n this._clock = clock;\n }\n\n get hsApi(): HomeServerApi {\n return this._wrapper as unknown as HomeServerApi;\n }\n\n stop(): void {\n this._stopped = true;\n for (const request of this._requests) {\n request.abort();\n }\n this._requests.clear();\n }\n\n start(): void {\n this._stopped = false;\n }\n\n private _hsApiRequest(name: string, args: any[]): Request {\n const request = new Request(name, args);\n this._doSend(request);\n return request;\n }\n\n private async _doSend(request: Request): Promise {\n this._requests.add(request);\n try {\n let retryDelay: ExponentialRetryDelay | undefined;\n while (!this._stopped) {\n try {\n const requestResult = this._hsApi[\n request.methodName\n ].apply(this._hsApi, request.args);\n // so the request can be aborted\n await request.setRequestResult(requestResult);\n return;\n } catch (err) {\n if (\n err instanceof HomeServerError &&\n err.errcode === \"M_LIMIT_EXCEEDED\"\n ) {\n if (Number.isSafeInteger(err.retry_after_ms)) {\n await this._clock\n .createTimeout(err.retry_after_ms)\n .elapsed();\n } else {\n if (!retryDelay) {\n retryDelay = new ExponentialRetryDelay(\n this._clock.createTimeout\n );\n }\n await retryDelay.waitForRetry();\n }\n } else {\n request.responseReject(err);\n return;\n }\n }\n }\n if (this._stopped) {\n request.abort();\n }\n } finally {\n this._requests.delete(request);\n }\n }\n}\n","/*\nCopyright 2020 Bruno Windels \nCopyright 2020, 2021 The Matrix.org Foundation C.I.C.\n\nLicensed under the Apache License, Version 2.0 (the \"License\");\nyou may not use this file except in compliance with the License.\nYou may obtain a copy of the License at\n\n http://www.apache.org/licenses/LICENSE-2.0\n\nUnless required by applicable law or agreed to in writing, software\ndistributed under the License is distributed on an \"AS IS\" BASIS,\nWITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\nSee the License for the specific language governing permissions and\nlimitations under the License.\n*/\n\nimport {ObservableValue} from \"../observable/ObservableValue\";\nimport {createEnum} from \"../utils/enum\";\n\nconst INCREMENTAL_TIMEOUT = 30000;\n\nexport const SyncStatus = createEnum(\n \"InitialSync\",\n \"CatchupSync\",\n \"Syncing\",\n \"Stopped\"\n);\n\nfunction timelineIsEmpty(roomResponse) {\n try {\n const events = roomResponse?.timeline?.events;\n return Array.isArray(events) && events.length === 0;\n } catch (err) {\n return true;\n }\n}\n\n/**\n * Sync steps in js-pseudocode:\n * ```js\n * // can only read some stores\n * const preparation = await room.prepareSync(roomResponse, membership, newRoomKeys, prepareTxn);\n * // can do async work that is not related to storage (such as decryption)\n * await room.afterPrepareSync(preparation);\n * // writes and calculates changes\n * const changes = await room.writeSync(roomResponse, isInitialSync, preparation, syncTxn);\n * // applies and emits changes once syncTxn is committed\n * room.afterSync(changes);\n * if (room.needsAfterSyncCompleted(changes)) {\n * // can do network requests\n * await room.afterSyncCompleted(changes);\n * }\n * ```\n */\nexport class Sync {\n constructor({hsApi, session, storage, logger}) {\n this._hsApi = hsApi;\n this._logger = logger;\n this._session = session;\n this._storage = storage;\n this._currentRequest = null;\n this._status = new ObservableValue(SyncStatus.Stopped);\n this._error = null;\n }\n\n get status() {\n return this._status;\n }\n\n /** the error that made the sync stop */\n get error() {\n return this._error;\n }\n\n start() {\n // not already syncing?\n if (this._status.get() !== SyncStatus.Stopped) {\n return;\n }\n this._error = null;\n let syncToken = this._session.syncToken;\n if (syncToken) {\n this._status.set(SyncStatus.CatchupSync);\n } else {\n this._status.set(SyncStatus.InitialSync);\n }\n this._syncLoop(syncToken);\n }\n\n async _syncLoop(syncToken) {\n // if syncToken is falsy, it will first do an initial sync ... \n while(this._status.get() !== SyncStatus.Stopped) {\n let roomStates;\n let sessionChanges;\n let wasCatchupOrInitial = this._status.get() === SyncStatus.CatchupSync || this._status.get() === SyncStatus.InitialSync;\n await this._logger.run(\"sync\", async log => {\n log.set(\"token\", syncToken);\n log.set(\"status\", this._status.get());\n try {\n // unless we are happily syncing already, we want the server to return\n // as quickly as possible, even if there are no events queued. This\n // serves two purposes:\n //\n // * When the connection dies, we want to know asap when it comes back,\n // so that we can hide the error from the user. (We don't want to\n // have to wait for an event or a timeout).\n //\n // * We want to know if the server has any to_device messages queued up\n // for us. We do that by calling it with a zero timeout until it\n // doesn't give us any more to_device messages.\n const timeout = this._status.get() === SyncStatus.Syncing ? INCREMENTAL_TIMEOUT : 0; \n const syncResult = await this._syncRequest(syncToken, timeout, log);\n syncToken = syncResult.syncToken;\n roomStates = syncResult.roomStates;\n sessionChanges = syncResult.sessionChanges;\n // initial sync or catchup sync\n if (this._status.get() !== SyncStatus.Syncing && syncResult.hadToDeviceMessages) {\n this._status.set(SyncStatus.CatchupSync);\n } else {\n this._status.set(SyncStatus.Syncing);\n }\n } catch (err) {\n // retry same request on timeout\n if (err.name === \"ConnectionError\" && err.isTimeout) {\n // don't run afterSyncCompleted\n return;\n }\n this._error = err;\n if (err.name !== \"AbortError\") {\n // sync wasn't asked to stop, but is stopping\n // because of the error.\n log.error = err;\n log.logLevel = log.level.Fatal;\n }\n log.set(\"stopping\", true);\n this._status.set(SyncStatus.Stopped);\n }\n if (this._status.get() !== SyncStatus.Stopped) {\n // TODO: if we're not going to run this phase in parallel with the next\n // sync request (because this causes OTKs to be uploaded twice)\n // should we move this inside _syncRequest?\n // Alternatively, we can try to fix the OTK upload issue while still\n // running in parallel.\n await log.wrap(\"afterSyncCompleted\", log => this._runAfterSyncCompleted(sessionChanges, roomStates, log));\n }\n },\n this._logger.level.Info,\n (filter, log) => {\n if (log.durationWithoutType(\"network\") >= 2000 || log.error || wasCatchupOrInitial) {\n return filter.minLevel(log.level.Detail);\n } else {\n return filter.minLevel(log.level.Info);\n }\n });\n }\n }\n\n async _runAfterSyncCompleted(sessionChanges, roomStates, log) {\n const isCatchupSync = this._status.get() === SyncStatus.CatchupSync;\n const sessionPromise = (async () => {\n try {\n await log.wrap(\"session\", log => this._session.afterSyncCompleted(sessionChanges, isCatchupSync, log), log.level.Detail);\n } catch (err) {} // error is logged, but don't fail sessionPromise\n })();\n\n const roomsNeedingAfterSyncCompleted = roomStates.filter(rs => {\n return rs.room.needsAfterSyncCompleted(rs.changes);\n });\n const roomsPromises = roomsNeedingAfterSyncCompleted.map(async rs => {\n try {\n await log.wrap(\"room\", log => rs.room.afterSyncCompleted(rs.changes, log), log.level.Detail);\n } catch (err) {} // error is logged, but don't fail roomsPromises\n });\n // run everything in parallel,\n // we don't want to delay the next sync too much\n // Also, since all promises won't reject (as they have a try/catch)\n // it's fine to use Promise.all\n await Promise.all(roomsPromises.concat(sessionPromise));\n }\n\n async _syncRequest(syncToken, timeout, log) {\n let {syncFilterId} = this._session;\n if (typeof syncFilterId !== \"string\") {\n this._currentRequest = this._hsApi.createFilter(this._session.user.id, {room: {state: {lazy_load_members: true}}}, {log});\n syncFilterId = (await this._currentRequest.response()).filter_id;\n }\n const totalRequestTimeout = timeout + (80 * 1000); // same as riot-web, don't get stuck on wedged long requests\n this._currentRequest = this._hsApi.sync(syncToken, syncFilterId, timeout, {timeout: totalRequestTimeout, log});\n const response = await this._currentRequest.response();\n\n const isInitialSync = !syncToken;\n const sessionState = new SessionSyncProcessState();\n const inviteStates = this._parseInvites(response.rooms);\n const {roomStates, archivedRoomStates} = await this._parseRoomsResponse(\n response.rooms, inviteStates, isInitialSync, log);\n\n try {\n // take a lock on olm sessions used in this sync so sending a message doesn't change them while syncing\n sessionState.lock = await log.wrap(\"obtainSyncLock\", () => this._session.obtainSyncLock(response));\n await log.wrap(\"prepare\", log => this._prepareSync(sessionState, roomStates, response, log));\n await log.wrap(\"afterPrepareSync\", log => Promise.all(roomStates.map(rs => {\n return rs.room.afterPrepareSync(rs.preparation, log);\n })));\n await log.wrap(\"write\", async log => this._writeSync(\n sessionState, inviteStates, roomStates, archivedRoomStates,\n response, syncFilterId, isInitialSync, log));\n } finally {\n sessionState.dispose();\n }\n // sync txn comitted, emit updates and apply changes to in-memory state\n log.wrap(\"after\", log => this._afterSync(\n sessionState, inviteStates, roomStates, archivedRoomStates, log));\n\n const toDeviceEvents = response.to_device?.events;\n return {\n syncToken: response.next_batch,\n roomStates,\n sessionChanges: sessionState.changes,\n hadToDeviceMessages: Array.isArray(toDeviceEvents) && toDeviceEvents.length > 0,\n };\n }\n\n _openPrepareSyncTxn() {\n const storeNames = this._storage.storeNames;\n return this._storage.readTxn([\n storeNames.olmSessions,\n storeNames.inboundGroupSessions,\n // to read fragments when loading sync writer when rejoining archived room\n storeNames.timelineFragments,\n // to read fragments when loading sync writer when rejoining archived room\n // to read events that can now be decrypted\n storeNames.timelineEvents,\n ]);\n }\n\n async _prepareSync(sessionState, roomStates, response, log) {\n const prepareTxn = await this._openPrepareSyncTxn();\n sessionState.preparation = await log.wrap(\"session\", log => this._session.prepareSync(\n response, sessionState.lock, prepareTxn, log));\n\n const newKeysByRoom = sessionState.preparation?.newKeysByRoom;\n\n // add any rooms with new keys but no sync response to the list of rooms to be synced\n if (newKeysByRoom) {\n const {hasOwnProperty} = Object.prototype;\n for (const roomId of newKeysByRoom.keys()) {\n const isRoomInResponse = response.rooms?.join && hasOwnProperty.call(response.rooms.join, roomId);\n if (!isRoomInResponse) {\n let room = this._session.rooms.get(roomId);\n if (room) {\n roomStates.push(new RoomSyncProcessState(room, false, {}, room.membership));\n }\n }\n }\n }\n \n await Promise.all(roomStates.map(async rs => {\n const newKeys = newKeysByRoom?.get(rs.room.id);\n rs.preparation = await log.wrap(\"room\", async log => {\n // if previously joined and we still have the timeline for it,\n // this loads the syncWriter at the correct position to continue writing the timeline\n if (rs.isNewRoom) {\n await rs.room.load(null, prepareTxn, log);\n }\n return rs.room.prepareSync(\n rs.roomResponse, rs.membership, newKeys, prepareTxn, log)\n }, log.level.Detail);\n }));\n\n // This is needed for safari to not throw TransactionInactiveErrors on the syncTxn. See docs/INDEXEDDB.md\n await prepareTxn.complete();\n }\n\n async _writeSync(sessionState, inviteStates, roomStates, archivedRoomStates, response, syncFilterId, isInitialSync, log) {\n const syncTxn = await this._openSyncTxn();\n try {\n sessionState.changes = await log.wrap(\"session\", log => this._session.writeSync(\n response, syncFilterId, sessionState.preparation, syncTxn, log));\n await Promise.all(inviteStates.map(async is => {\n is.changes = await log.wrap(\"invite\", log => is.invite.writeSync(\n is.membership, is.roomResponse, syncTxn, log));\n }));\n await Promise.all(roomStates.map(async rs => {\n rs.changes = await log.wrap(\"room\", log => rs.room.writeSync(\n rs.roomResponse, isInitialSync, rs.preparation, syncTxn, log));\n }));\n // important to do this after roomStates,\n // as we're referring to the roomState to get the summaryChanges\n await Promise.all(archivedRoomStates.map(async ars => {\n const summaryChanges = ars.roomState?.summaryChanges;\n ars.changes = await log.wrap(\"archivedRoom\", log => ars.archivedRoom.writeSync(\n summaryChanges, ars.roomResponse, ars.membership, syncTxn, log));\n }));\n } catch(err) {\n // avoid corrupting state by only\n // storing the sync up till the point\n // the exception occurred\n syncTxn.abort(log);\n throw syncTxn.getCause(err);\n }\n await syncTxn.complete(log);\n }\n\n _afterSync(sessionState, inviteStates, roomStates, archivedRoomStates, log) {\n log.wrap(\"session\", log => this._session.afterSync(sessionState.changes, log), log.level.Detail);\n for(let ars of archivedRoomStates) {\n log.wrap(\"archivedRoom\", log => {\n ars.archivedRoom.afterSync(ars.changes, log);\n ars.archivedRoom.release();\n }, log.level.Detail);\n }\n for(let rs of roomStates) {\n log.wrap(\"room\", log => rs.room.afterSync(rs.changes, log), log.level.Detail);\n }\n for(let is of inviteStates) {\n log.wrap(\"invite\", log => is.invite.afterSync(is.changes, log), log.level.Detail);\n }\n this._session.applyRoomCollectionChangesAfterSync(inviteStates, roomStates, archivedRoomStates, log);\n }\n\n _openSyncTxn() {\n const storeNames = this._storage.storeNames;\n return this._storage.readWriteTxn([\n storeNames.session,\n storeNames.roomSummary,\n storeNames.archivedRoomSummary,\n storeNames.invites,\n storeNames.roomState,\n storeNames.roomMembers,\n storeNames.timelineEvents,\n storeNames.timelineRelations,\n storeNames.timelineFragments,\n storeNames.pendingEvents,\n storeNames.userIdentities,\n storeNames.groupSessionDecryptions,\n storeNames.deviceIdentities,\n // to discard outbound session when somebody leaves a room\n // and to create room key messages when somebody joins\n storeNames.outboundGroupSessions,\n storeNames.operations,\n storeNames.accountData,\n // to decrypt and store new room keys\n storeNames.olmSessions,\n storeNames.inboundGroupSessions,\n ]);\n }\n \n async _parseRoomsResponse(roomsSection, inviteStates, isInitialSync, log) {\n const roomStates = [];\n const archivedRoomStates = [];\n if (roomsSection) {\n const allMemberships = [\"join\", \"leave\"];\n for(const membership of allMemberships) {\n const membershipSection = roomsSection[membership];\n if (membershipSection) {\n for (const [roomId, roomResponse] of Object.entries(membershipSection)) {\n // ignore rooms with empty timelines during initial sync,\n // see https://github.com/vector-im/hydrogen-web/issues/15\n if (isInitialSync && timelineIsEmpty(roomResponse)) {\n continue;\n }\n const invite = this._session.invites.get(roomId);\n // if there is an existing invite, add a process state for it\n // so its writeSync and afterSync will run and remove the invite\n if (invite) {\n inviteStates.push(new InviteSyncProcessState(invite, false, null, membership));\n }\n const roomState = this._createRoomSyncState(roomId, roomResponse, membership, isInitialSync);\n if (roomState) {\n roomStates.push(roomState);\n }\n const ars = await this._createArchivedRoomSyncState(roomId, roomState, roomResponse, membership, isInitialSync, log);\n if (ars) {\n archivedRoomStates.push(ars);\n }\n }\n }\n }\n }\n return {roomStates, archivedRoomStates};\n }\n\n _createRoomSyncState(roomId, roomResponse, membership, isInitialSync) {\n let isNewRoom = false;\n let room = this._session.rooms.get(roomId);\n // create room only either on new join,\n // or for an archived room during initial sync,\n // where we create the summaryChanges with a joined\n // room to then adopt by the archived room.\n // This way the limited timeline, members, ...\n // we receive also gets written.\n // In any case, don't create a room for a rejected invite\n if (!room && (membership === \"join\" || (isInitialSync && membership === \"leave\"))) {\n room = this._session.createJoinedRoom(roomId);\n isNewRoom = true;\n }\n if (room) {\n return new RoomSyncProcessState(\n room, isNewRoom, roomResponse, membership);\n }\n }\n\n async _createArchivedRoomSyncState(roomId, roomState, roomResponse, membership, isInitialSync, log) {\n let archivedRoom;\n if (roomState?.shouldAdd && !isInitialSync) {\n // when adding a joined room during incremental sync,\n // always create the archived room to write the removal\n // of the archived summary\n archivedRoom = this._session.createOrGetArchivedRoomForSync(roomId);\n } else if (membership === \"leave\") {\n if (roomState) {\n // we still have a roomState, so we just left it\n // in this case, create a new archivedRoom\n archivedRoom = this._session.createOrGetArchivedRoomForSync(roomId);\n } else {\n // this is an update of an already left room, restore\n // it from storage first, so we can increment it.\n // this happens for example when our membership changes\n // after leaving (e.g. being (un)banned, possibly after being kicked), etc\n archivedRoom = await this._session.loadArchivedRoom(roomId, log);\n }\n }\n if (archivedRoom) {\n return new ArchivedRoomSyncProcessState(\n archivedRoom, roomState, roomResponse, membership);\n }\n }\n\n _parseInvites(roomsSection) {\n const inviteStates = [];\n if (roomsSection?.invite) {\n for (const [roomId, roomResponse] of Object.entries(roomsSection.invite)) {\n let invite = this._session.invites.get(roomId);\n let isNewInvite = false;\n if (!invite) {\n invite = this._session.createInvite(roomId);\n isNewInvite = true;\n }\n inviteStates.push(new InviteSyncProcessState(invite, isNewInvite, roomResponse, \"invite\"));\n }\n }\n return inviteStates;\n }\n\n stop() {\n if (this._status.get() === SyncStatus.Stopped) {\n return;\n }\n this._status.set(SyncStatus.Stopped);\n if (this._currentRequest) {\n this._currentRequest.abort();\n this._currentRequest = null;\n }\n }\n}\n\nclass SessionSyncProcessState {\n constructor() {\n this.lock = null;\n this.preparation = null;\n this.changes = null;\n }\n\n dispose() {\n this.lock?.release();\n }\n}\n\nclass RoomSyncProcessState {\n constructor(room, isNewRoom, roomResponse, membership) {\n this.room = room;\n this.isNewRoom = isNewRoom;\n this.roomResponse = roomResponse;\n this.membership = membership;\n this.preparation = null;\n this.changes = null;\n }\n\n get id() {\n return this.room.id;\n }\n\n get shouldAdd() {\n return this.isNewRoom && this.membership === \"join\";\n }\n\n get shouldRemove() {\n return !this.isNewRoom && this.membership !== \"join\";\n }\n\n get summaryChanges() {\n return this.changes?.summaryChanges;\n }\n}\n\n\nclass ArchivedRoomSyncProcessState {\n constructor(archivedRoom, roomState, roomResponse, membership, isInitialSync) {\n this.archivedRoom = archivedRoom;\n this.roomState = roomState;\n this.roomResponse = roomResponse;\n this.membership = membership;\n this.isInitialSync = isInitialSync;\n this.changes = null;\n }\n\n get id() {\n return this.archivedRoom.id;\n }\n\n get shouldAdd() {\n return (this.roomState || this.isInitialSync) && this.membership === \"leave\";\n }\n\n get shouldRemove() {\n return this.membership === \"join\";\n }\n}\n\nclass InviteSyncProcessState {\n constructor(invite, isNewInvite, roomResponse, membership) {\n this.invite = invite;\n this.isNewInvite = isNewInvite;\n this.membership = membership;\n this.roomResponse = roomResponse;\n this.changes = null;\n }\n\n get id() {\n return this.invite.id;\n }\n\n get shouldAdd() {\n return this.isNewInvite;\n }\n\n get shouldRemove() {\n return this.membership !== \"invite\";\n }\n}\n","/*\nCopyright 2020 Bruno Windels \nCopyright 2021 Daniel Fedorin \n\nLicensed under the Apache License, Version 2.0 (the \"License\");\nyou may not use this file except in compliance with the License.\nYou may obtain a copy of the License at\n\n http://www.apache.org/licenses/LICENSE-2.0\n\nUnless required by applicable law or agreed to in writing, software\ndistributed under the License is distributed on an \"AS IS\" BASIS,\nWITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\nSee the License for the specific language governing permissions and\nlimitations under the License.\n*/\n\ntype Handler = (value?: T) => void;\n\nexport class EventEmitter {\n private _handlersByName: { [event in keyof T]?: Set> }\n\n constructor() {\n this._handlersByName = {};\n }\n\n emit(name: K, value?: T[K]): void {\n const handlers = this._handlersByName[name];\n if (handlers) {\n handlers.forEach(h => h(value));\n }\n }\n\n disposableOn(name: K, callback: Handler): () => void {\n this.on(name, callback);\n return () => {\n this.off(name, callback);\n }\n }\n\n on(name: K, callback: Handler): void {\n let handlers = this._handlersByName[name];\n if (!handlers) {\n this.onFirstSubscriptionAdded(name);\n this._handlersByName[name] = handlers = new Set();\n }\n handlers.add(callback);\n }\n\n off(name: K, callback: Handler): void {\n const handlers = this._handlersByName[name];\n if (handlers) {\n handlers.delete(callback);\n if (handlers.size === 0) {\n delete this._handlersByName[name];\n this.onLastSubscriptionRemoved(name);\n }\n }\n }\n\n onFirstSubscriptionAdded(name: K): void {}\n\n onLastSubscriptionRemoved(name: K): void {}\n}\n\nexport function tests() {\n return {\n test_on_off(assert) {\n let counter = 0;\n const e = new EventEmitter<{ change: never }>();\n const callback = () => counter += 1;\n e.on(\"change\", callback);\n e.emit(\"change\");\n e.off(\"change\", callback);\n e.emit(\"change\");\n assert.equal(counter, 1);\n },\n\n test_emit_value(assert) {\n let value = 0;\n const e = new EventEmitter<{ change: number }>();\n const callback = (v) => value = v;\n e.on(\"change\", callback);\n e.emit(\"change\", 5);\n e.off(\"change\", callback);\n assert.equal(value, 5);\n },\n\n test_double_on(assert) {\n let counter = 0;\n const e = new EventEmitter<{ change: never }>();\n const callback = () => counter += 1;\n e.on(\"change\", callback);\n e.on(\"change\", callback);\n e.emit(\"change\");\n e.off(\"change\", callback);\n assert.equal(counter, 1);\n }\n };\n}\n","/* Copyright 2015 Mark Haines\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n'use strict';\n\nvar escaped = /[\\\\\\\"\\x00-\\x1F]/g;\nvar escapes = {};\nfor (var i = 0; i < 0x20; ++i) {\n escapes[String.fromCharCode(i)] = (\n '\\\\U' + ('0000' + i.toString(16)).slice(-4).toUpperCase()\n );\n}\nescapes['\\b'] = '\\\\b';\nescapes['\\t'] = '\\\\t';\nescapes['\\n'] = '\\\\n';\nescapes['\\f'] = '\\\\f';\nescapes['\\r'] = '\\\\r';\nescapes['\\\"'] = '\\\\\\\"';\nescapes['\\\\'] = '\\\\\\\\';\n\nfunction escapeString(value) {\n escaped.lastIndex = 0;\n return value.replace(escaped, function(c) { return escapes[c]; });\n}\n\nfunction stringify(value) {\n switch (typeof value) {\n case 'string':\n return '\"' + escapeString(value) + '\"';\n case 'number':\n return isFinite(value) ? value : 'null';\n case 'boolean':\n return value;\n case 'object':\n if (value === null) {\n return 'null';\n }\n if (Array.isArray(value)) {\n return stringifyArray(value);\n }\n return stringifyObject(value);\n default:\n throw new Error('Cannot stringify: ' + typeof value);\n }\n}\n\nfunction stringifyArray(array) {\n var sep = '[';\n var result = '';\n for (var i = 0; i < array.length; ++i) {\n result += sep;\n sep = ',';\n result += stringify(array[i]);\n }\n if (sep != ',') {\n return '[]';\n } else {\n return result + ']';\n }\n}\n\nfunction stringifyObject(object) {\n var sep = '{';\n var result = '';\n var keys = Object.keys(object);\n keys.sort();\n for (var i = 0; i < keys.length; ++i) {\n var key = keys[i];\n result += sep + '\"' + escapeString(key) + '\":';\n sep = ',';\n result += stringify(object[key]);\n }\n if (sep != ',') {\n return '{}';\n } else {\n return result + '}';\n }\n}\n\n/** */\nmodule.exports = {stringify: stringify};\n","/*\nCopyright 2020 The Matrix.org Foundation C.I.C.\n\nLicensed under the Apache License, Version 2.0 (the \"License\");\nyou may not use this file except in compliance with the License.\nYou may obtain a copy of the License at\n\n http://www.apache.org/licenses/LICENSE-2.0\n\nUnless required by applicable law or agreed to in writing, software\ndistributed under the License is distributed on an \"AS IS\" BASIS,\nWITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\nSee the License for the specific language governing permissions and\nlimitations under the License.\n*/\n\nimport anotherjson from \"another-json\";\nimport {createEnum} from \"../../utils/enum\";\n\nexport const DecryptionSource = createEnum(\"Sync\", \"Timeline\", \"Retry\");\n\n// use common prefix so it's easy to clear properties that are not e2ee related during session clear\nexport const SESSION_E2EE_KEY_PREFIX = \"e2ee:\";\nexport const OLM_ALGORITHM = \"m.olm.v1.curve25519-aes-sha2\";\nexport const MEGOLM_ALGORITHM = \"m.megolm.v1.aes-sha2\";\n\nexport class DecryptionError extends Error {\n constructor(code, event, detailsObj = null) {\n super(`Decryption error ${code}${detailsObj ? \": \"+JSON.stringify(detailsObj) : \"\"}`);\n this.code = code;\n this.event = event;\n this.details = detailsObj;\n }\n}\n\nexport const SIGNATURE_ALGORITHM = \"ed25519\";\n\nexport function verifyEd25519Signature(olmUtil, userId, deviceOrKeyId, ed25519Key, value, log = undefined) {\n const clone = Object.assign({}, value);\n delete clone.unsigned;\n delete clone.signatures;\n const canonicalJson = anotherjson.stringify(clone);\n const signature = value?.signatures?.[userId]?.[`${SIGNATURE_ALGORITHM}:${deviceOrKeyId}`];\n try {\n if (!signature) {\n throw new Error(\"no signature\");\n }\n // throws when signature is invalid\n olmUtil.ed25519_verify(ed25519Key, canonicalJson, signature);\n return true;\n } catch (err) {\n if (log) {\n const logItem = log.log({l: \"Invalid signature, ignoring.\", ed25519Key, canonicalJson, signature});\n logItem.error = err;\n logItem.logLevel = log.level.Warn;\n }\n return false;\n }\n}\n\nexport function createRoomEncryptionEvent() {\n return {\n \"type\": \"m.room.encryption\",\n \"state_key\": \"\",\n \"content\": {\n \"algorithm\": MEGOLM_ALGORITHM,\n \"rotation_period_ms\": 604800000,\n \"rotation_period_msgs\": 100\n }\n }\n}\n\n\n// Use enum when converting to TS\nexport const HistoryVisibility = Object.freeze({\n Joined: \"joined\",\n Invited: \"invited\",\n WorldReadable: \"world_readable\",\n Shared: \"shared\",\n});\n\nexport function shouldShareKey(membership, historyVisibility) {\n switch (historyVisibility) {\n case HistoryVisibility.WorldReadable:\n return true;\n case HistoryVisibility.Shared:\n // was part of room at some time\n return membership !== undefined;\n case HistoryVisibility.Joined:\n return membership === \"join\";\n case HistoryVisibility.Invited:\n return membership === \"invite\" || membership === \"join\";\n default:\n return false;\n }\n}\n","/*\nCopyright 2020 Bruno Windels \n\nLicensed under the Apache License, Version 2.0 (the \"License\");\nyou may not use this file except in compliance with the License.\nYou may obtain a copy of the License at\n\n http://www.apache.org/licenses/LICENSE-2.0\n\nUnless required by applicable law or agreed to in writing, software\ndistributed under the License is distributed on an \"AS IS\" BASIS,\nWITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\nSee the License for the specific language governing permissions and\nlimitations under the License.\n*/\n\nimport {MEGOLM_ALGORITHM} from \"../e2ee/common.js\";\n\n\nfunction applyTimelineEntries(data, timelineEntries, isInitialSync, canMarkUnread, ownUserId) {\n if (timelineEntries.length) {\n data = timelineEntries.reduce((data, entry) => {\n return processTimelineEvent(data, entry,\n isInitialSync, canMarkUnread, ownUserId);\n }, data);\n }\n return data;\n}\n\nexport function reduceStateEvents(roomResponse, callback, value) {\n const stateEvents = roomResponse?.state?.events;\n // state comes before timeline\n if (Array.isArray(stateEvents)) {\n value = stateEvents.reduce(callback, value);\n }\n const timelineEvents = roomResponse?.timeline?.events;\n // and after that state events in the timeline\n if (Array.isArray(timelineEvents)) {\n value = timelineEvents.reduce((data, event) => {\n if (typeof event.state_key === \"string\") {\n value = callback(value, event);\n }\n return value;\n }, value);\n }\n return value;\n}\n\nfunction applySyncResponse(data, roomResponse, membership, ownUserId) {\n if (roomResponse.summary) {\n data = updateSummary(data, roomResponse.summary);\n }\n if (membership !== data.membership) {\n data = data.cloneIfNeeded();\n data.membership = membership;\n }\n if (roomResponse.account_data) {\n data = roomResponse.account_data.events.reduce(processRoomAccountData, data);\n }\n // process state events in state and in timeline.\n // non-state events are handled by applyTimelineEntries\n // so decryption is handled properly\n data = reduceStateEvents(roomResponse, (data, event) => processStateEvent(data, event, ownUserId), data);\n const unreadNotifications = roomResponse.unread_notifications;\n if (unreadNotifications) {\n data = processNotificationCounts(data, unreadNotifications);\n }\n\n return data;\n}\n\nfunction processNotificationCounts(data, unreadNotifications) {\n const highlightCount = unreadNotifications.highlight_count || 0;\n if (highlightCount !== data.highlightCount) {\n data = data.cloneIfNeeded();\n data.highlightCount = highlightCount;\n }\n const notificationCount = unreadNotifications.notification_count;\n if (notificationCount !== data.notificationCount) {\n data = data.cloneIfNeeded();\n data.notificationCount = notificationCount;\n }\n return data;\n} \n\nfunction processRoomAccountData(data, event) {\n if (event?.type === \"m.tag\") {\n let tags = event?.content?.tags;\n if (!tags || Array.isArray(tags) || typeof tags !== \"object\") {\n tags = null;\n }\n data = data.cloneIfNeeded();\n data.tags = tags;\n }\n return data;\n}\n\nexport function processStateEvent(data, event, ownUserId) {\n if (event.type === \"m.room.create\") {\n data = data.cloneIfNeeded();\n data.lastMessageTimestamp = event.origin_server_ts;\n } else if (event.type === \"m.room.encryption\") {\n const algorithm = event.content?.algorithm;\n if (!data.encryption && algorithm === MEGOLM_ALGORITHM) {\n data = data.cloneIfNeeded();\n data.encryption = event.content;\n }\n } else if (event.type === \"m.room.name\") {\n const newName = event.content?.name;\n if (newName !== data.name) {\n data = data.cloneIfNeeded();\n data.name = newName;\n }\n } else if (event.type === \"m.room.avatar\") {\n const newUrl = event.content?.url;\n if (newUrl !== data.avatarUrl) {\n data = data.cloneIfNeeded();\n data.avatarUrl = newUrl;\n }\n } else if (event.type === \"m.room.canonical_alias\") {\n const content = event.content;\n data = data.cloneIfNeeded();\n data.canonicalAlias = content.alias;\n } else if (event.type === \"m.room.member\") {\n const content = event.content;\n if (content.is_direct === true && content.membership === \"invite\" && !data.isDirectMessage) {\n let other;\n if (event.sender === ownUserId) {\n other = event.state_key;\n } else if (event.state_key === ownUserId) {\n other = event.sender;\n }\n if (other) {\n data = data.cloneIfNeeded();\n data.isDirectMessage = true;\n data.dmUserId = other;\n }\n } else if (content.membership === \"leave\" && data.isDirectMessage && data.dmUserId === event.state_key) {\n data = data.cloneIfNeeded();\n data.isDirectMessage = false;\n data.dmUserId = null;\n }\n }\n return data;\n}\n\nfunction processTimelineEvent(data, eventEntry, isInitialSync, canMarkUnread, ownUserId) {\n if (eventEntry.eventType === \"m.room.message\") {\n if (!data.lastMessageTimestamp || eventEntry.timestamp > data.lastMessageTimestamp) {\n data = data.cloneIfNeeded();\n data.lastMessageTimestamp = eventEntry.timestamp;\n }\n if (!isInitialSync && eventEntry.sender !== ownUserId && canMarkUnread) {\n data = data.cloneIfNeeded();\n data.isUnread = true;\n }\n }\n return data;\n}\n\nfunction updateSummary(data, summary) {\n const heroes = summary[\"m.heroes\"];\n const joinCount = summary[\"m.joined_member_count\"];\n const inviteCount = summary[\"m.invited_member_count\"];\n // TODO: we could easily calculate if all members are available here and set hasFetchedMembers?\n // so we can avoid calling /members...\n // we'd need to do a count query in the roomMembers store though ...\n if (heroes && Array.isArray(heroes)) {\n data = data.cloneIfNeeded();\n data.heroes = heroes;\n }\n if (Number.isInteger(inviteCount)) {\n data = data.cloneIfNeeded();\n data.inviteCount = inviteCount;\n }\n if (Number.isInteger(joinCount)) {\n data = data.cloneIfNeeded();\n data.joinCount = joinCount;\n }\n return data;\n}\n\nexport class SummaryData {\n constructor(copy, roomId) {\n this.roomId = copy ? copy.roomId : roomId;\n this.name = copy ? copy.name : null;\n this.lastMessageTimestamp = copy ? copy.lastMessageTimestamp : null;\n this.isUnread = copy ? copy.isUnread : false;\n this.encryption = copy ? copy.encryption : null;\n this.membership = copy ? copy.membership : null;\n this.inviteCount = copy ? copy.inviteCount : 0;\n this.joinCount = copy ? copy.joinCount : 0;\n this.heroes = copy ? copy.heroes : null;\n this.canonicalAlias = copy ? copy.canonicalAlias : null;\n this.hasFetchedMembers = copy ? copy.hasFetchedMembers : false;\n this.isTrackingMembers = copy ? copy.isTrackingMembers : false;\n this.avatarUrl = copy ? copy.avatarUrl : null;\n this.notificationCount = copy ? copy.notificationCount : 0;\n this.highlightCount = copy ? copy.highlightCount : 0;\n this.tags = copy ? copy.tags : null;\n this.isDirectMessage = copy ? copy.isDirectMessage : false;\n this.dmUserId = copy ? copy.dmUserId : null;\n this.cloned = copy ? true : false;\n }\n\n changedKeys(other) {\n const props = Object.getOwnPropertyNames(this);\n return props.filter(prop => {\n return prop !== \"cloned\" && this[prop] !== other[prop]\n });\n }\n\n cloneIfNeeded() {\n if (this.cloned) {\n return this;\n } else {\n return new SummaryData(this);\n }\n }\n\n serialize() {\n return Object.entries(this).reduce((obj, [key, value]) => {\n if (key !== \"cloned\" && value !== null) {\n obj[key] = value;\n }\n return obj;\n }, {});\n }\n\n applyTimelineEntries(timelineEntries, isInitialSync, canMarkUnread, ownUserId) {\n return applyTimelineEntries(this, timelineEntries, isInitialSync, canMarkUnread, ownUserId);\n }\n\n applySyncResponse(roomResponse, membership, ownUserId) {\n return applySyncResponse(this, roomResponse, membership, ownUserId);\n }\n\n get needsHeroes() {\n return !this.name && !this.canonicalAlias && this.heroes && this.heroes.length > 0;\n }\n\n isNewJoin(oldData) {\n return this.membership === \"join\" && oldData.membership !== \"join\";\n }\n}\n\nexport class RoomSummary {\n\tconstructor(roomId) {\n this._data = null;\n this.applyChanges(new SummaryData(null, roomId));\n\t}\n\n get data() {\n return this._data;\n }\n\n writeClearUnread(txn) {\n const data = new SummaryData(this._data);\n data.isUnread = false;\n data.notificationCount = 0;\n data.highlightCount = 0;\n txn.roomSummary.set(data.serialize());\n return data;\n }\n\n writeHasFetchedMembers(value, txn) {\n const data = new SummaryData(this._data);\n data.hasFetchedMembers = value;\n txn.roomSummary.set(data.serialize());\n return data;\n }\n\n writeIsTrackingMembers(value, txn) {\n const data = new SummaryData(this._data);\n data.isTrackingMembers = value;\n txn.roomSummary.set(data.serialize());\n return data;\n }\n\n\twriteData(data, txn) {\n\t\tif (data !== this._data) {\n txn.roomSummary.set(data.serialize());\n return data;\n\t\t}\n\t}\n\n /** move summary to archived store when leaving the room */\n writeArchivedData(data, txn) {\n if (data !== this._data) {\n txn.archivedRoomSummary.set(data.serialize());\n return data;\n }\n }\n\n async writeAndApplyData(data, storage) {\n if (data === this._data) {\n return false;\n }\n const txn = await storage.readWriteTxn([\n storage.storeNames.roomSummary,\n ]);\n try {\n txn.roomSummary.set(data.serialize());\n } catch (err) {\n txn.abort();\n throw err;\n }\n await txn.complete();\n this.applyChanges(data);\n return true;\n }\n\n applyChanges(data) {\n this._data = data;\n // clear cloned flag, so cloneIfNeeded makes a copy and\n // this._data is not modified if any field is changed.\n this._data.cloned = false;\n }\n\n\tasync load(summary) {\n this.applyChanges(new SummaryData(summary));\n\t}\n}\n\nexport function tests() {\n return {\n \"serialize doesn't include null fields or cloned\": assert => {\n const roomId = \"!123:hs.tld\";\n const data = new SummaryData(null, roomId);\n const clone = data.cloneIfNeeded();\n const serialized = clone.serialize();\n assert.strictEqual(serialized.cloned, undefined);\n assert.equal(serialized.roomId, roomId);\n const nullCount = Object.values(serialized).reduce((count, value) => count + value === null ? 1 : 0, 0);\n assert.strictEqual(nullCount, 0);\n }\n }\n}\n","/*\nCopyright 2020 Bruno Windels \n\nLicensed under the Apache License, Version 2.0 (the \"License\");\nyou may not use this file except in compliance with the License.\nYou may obtain a copy of the License at\n\n http://www.apache.org/licenses/LICENSE-2.0\n\nUnless required by applicable law or agreed to in writing, software\ndistributed under the License is distributed on an \"AS IS\" BASIS,\nWITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\nSee the License for the specific language governing permissions and\nlimitations under the License.\n*/\n\nexport enum StoreNames {\n session = \"session\",\n roomState = \"roomState\",\n roomSummary = \"roomSummary\",\n archivedRoomSummary = \"archivedRoomSummary\",\n invites = \"invites\",\n roomMembers = \"roomMembers\",\n timelineEvents = \"timelineEvents\",\n timelineRelations = \"timelineRelations\",\n timelineFragments = \"timelineFragments\",\n pendingEvents = \"pendingEvents\",\n userIdentities = \"userIdentities\",\n deviceIdentities = \"deviceIdentities\",\n olmSessions = \"olmSessions\",\n inboundGroupSessions = \"inboundGroupSessions\",\n outboundGroupSessions = \"outboundGroupSessions\",\n groupSessionDecryptions = \"groupSessionDecryptions\",\n operations = \"operations\",\n accountData = \"accountData\",\n}\n\nexport const STORE_NAMES: Readonly = Object.values(StoreNames);\n\nexport class StorageError extends Error {\n errcode?: string;\n cause: Error | null;\n\n constructor(message: string, cause: Error | null = null) {\n super(message);\n if (cause) {\n this.errcode = cause.name;\n }\n this.cause = cause;\n }\n\n get name(): string {\n return \"StorageError\";\n }\n}\n\nexport const KeyLimits = {\n get minStorageKey(): number {\n // for indexeddb, we use unsigned 32 bit integers as keys\n return 0;\n },\n \n get middleStorageKey(): number {\n // for indexeddb, we use unsigned 32 bit integers as keys\n return 0x7FFFFFFF;\n },\n\n get maxStorageKey(): number {\n // for indexeddb, we use unsigned 32 bit integers as keys\n return 0xFFFFFFFF;\n }\n}\n","/*\nCopyright 2020 Bruno Windels \n\nLicensed under the Apache License, Version 2.0 (the \"License\");\nyou may not use this file except in compliance with the License.\nYou may obtain a copy of the License at\n\n http://www.apache.org/licenses/LICENSE-2.0\n\nUnless required by applicable law or agreed to in writing, software\ndistributed under the License is distributed on an \"AS IS\" BASIS,\nWITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\nSee the License for the specific language governing permissions and\nlimitations under the License.\n*/\n\nimport {KeyLimits} from \"../../storage/common\";\nimport {Direction} from \"./Direction\";\n\n// key for events in the timelineEvents store\nexport class EventKey {\n constructor(\n public fragmentId: number,\n public eventIndex: number\n ) {\n }\n\n nextFragmentKey(): EventKey {\n // could take MIN_EVENT_INDEX here if it can't be paged back\n return new EventKey(this.fragmentId + 1, KeyLimits.middleStorageKey);\n }\n\n nextKeyForDirection(direction: Direction): EventKey {\n if (direction.isForward) {\n return this.nextKey();\n } else {\n return this.previousKey();\n }\n }\n\n previousKey(): EventKey {\n return new EventKey(this.fragmentId, this.eventIndex - 1);\n }\n\n nextKey(): EventKey {\n return new EventKey(this.fragmentId, this.eventIndex + 1);\n }\n\n static get maxKey(): EventKey {\n return new EventKey(KeyLimits.maxStorageKey, KeyLimits.maxStorageKey);\n }\n\n static get minKey(): EventKey {\n return new EventKey(KeyLimits.minStorageKey, KeyLimits.minStorageKey);\n }\n\n static get defaultLiveKey(): EventKey {\n return EventKey.defaultFragmentKey(KeyLimits.minStorageKey);\n }\n\n static defaultFragmentKey(fragmentId: number): EventKey {\n return new EventKey(fragmentId, KeyLimits.middleStorageKey);\n }\n\n toString(): string {\n return `[${this.fragmentId}/${this.eventIndex}]`;\n }\n\n equals(other: EventKey): boolean {\n return this.fragmentId === other?.fragmentId && this.eventIndex === other?.eventIndex;\n }\n}\n","/*\nCopyright 2020 Bruno Windels \n\nLicensed under the Apache License, Version 2.0 (the \"License\");\nyou may not use this file except in compliance with the License.\nYou may obtain a copy of the License at\n\n http://www.apache.org/licenses/LICENSE-2.0\n\nUnless required by applicable law or agreed to in writing, software\ndistributed under the License is distributed on an \"AS IS\" BASIS,\nWITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\nSee the License for the specific language governing permissions and\nlimitations under the License.\n*/\n\n//entries can be sorted, first by fragment, then by entry index.\nimport {EventKey} from \"../EventKey\";\nexport const PENDING_FRAGMENT_ID = Number.MAX_SAFE_INTEGER;\n\ninterface FragmentIdComparer {\n compare: (a: number, b: number) => number\n}\n\nexport abstract class BaseEntry {\n constructor(\n protected readonly _fragmentIdComparer: FragmentIdComparer\n ) {\n }\n\n abstract get fragmentId(): number;\n abstract get entryIndex(): number;\n abstract updateFrom(other: BaseEntry): void;\n\n compare(otherEntry: BaseEntry): number {\n if (this.fragmentId === otherEntry.fragmentId) {\n return this.entryIndex - otherEntry.entryIndex;\n } else if (this.fragmentId === PENDING_FRAGMENT_ID) {\n return 1;\n } else if (otherEntry.fragmentId === PENDING_FRAGMENT_ID) {\n return -1;\n } else {\n // This might throw if the relation of two fragments is unknown.\n return this._fragmentIdComparer.compare(this.fragmentId, otherEntry.fragmentId);\n }\n }\n\n asEventKey(): EventKey {\n return new EventKey(this.fragmentId, this.entryIndex);\n }\n}\n","/*\nCopyright 2020 The Matrix.org Foundation C.I.C.\n\nLicensed under the Apache License, Version 2.0 (the \"License\");\nyou may not use this file except in compliance with the License.\nYou may obtain a copy of the License at\n\n http://www.apache.org/licenses/LICENSE-2.0\n\nUnless required by applicable law or agreed to in writing, software\ndistributed under the License is distributed on an \"AS IS\" BASIS,\nWITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\nSee the License for the specific language governing permissions and\nlimitations under the License.\n*/\n\nimport type {StateEvent} from \"../storage/types\";\n\nexport function getPrevContentFromStateEvent(event) {\n // where to look for prev_content is a bit of a mess,\n // see https://matrix.to/#/!NasysSDfxKxZBzJJoE:matrix.org/$DvrAbZJiILkOmOIuRsNoHmh2v7UO5CWp_rYhlGk34fQ?via=matrix.org&via=pixie.town&via=amorgan.xyz\n return event.unsigned?.prev_content || event.prev_content;\n}\n\nexport const REDACTION_TYPE = \"m.room.redaction\";\n\nexport function isRedacted(event) {\n return !!event?.unsigned?.redacted_because;\n}\n\nexport enum RoomStatus {\n None = 1 << 0,\n BeingCreated = 1 << 1,\n Invited = 1 << 2,\n Joined = 1 << 3,\n Replaced = 1 << 4,\n Archived = 1 << 5,\n}\n\nexport enum RoomType {\n DirectMessage,\n Private,\n Public\n}\n\ntype RoomResponse = {\n state?: {\n events?: Array\n },\n timeline?: {\n events?: Array\n }\n}\n\n/** iterates over any state events in a sync room response, in the order that they should be applied (from older to younger events) */\nexport function iterateResponseStateEvents(roomResponse: RoomResponse, callback: (StateEvent) => Promise | void): Promise | void {\n let promises: Promise[] | undefined = undefined;\n const callCallback = stateEvent => {\n const result = callback(stateEvent);\n if (result instanceof Promise) {\n promises = promises ?? [];\n promises.push(result);\n }\n };\n // first iterate over state events, they precede the timeline\n const stateEvents = roomResponse.state?.events;\n if (stateEvents) {\n for (let i = 0; i < stateEvents.length; i++) {\n callCallback(stateEvents[i]);\n }\n }\n // now see if there are any state events within the timeline\n let timelineEvents = roomResponse.timeline?.events;\n if (timelineEvents) {\n for (let i = 0; i < timelineEvents.length; i++) {\n const event = timelineEvents[i];\n if (typeof event.state_key === \"string\") {\n callCallback(event);\n }\n }\n }\n if (promises) {\n return Promise.all(promises).then(() => undefined);\n }\n}\n\nexport function tests() {\n return {\n \"test iterateResponseStateEvents with both state and timeline sections\": assert => {\n const roomResponse = {\n state: {\n events: [\n {type: \"m.room.member\", state_key: \"1\"},\n {type: \"m.room.member\", state_key: \"2\", content: {a: 1}},\n ]\n },\n timeline: {\n events: [\n {type: \"m.room.message\"},\n {type: \"m.room.member\", state_key: \"3\"},\n {type: \"m.room.message\"},\n {type: \"m.room.member\", state_key: \"2\", content: {a: 2}},\n ]\n }\n } as unknown as RoomResponse;\n const expectedStateKeys = [\"1\", \"2\", \"3\", \"2\"];\n const expectedAForMember2 = [1, 2];\n iterateResponseStateEvents(roomResponse, event => {\n assert.strictEqual(event.type, \"m.room.member\");\n assert.strictEqual(expectedStateKeys.shift(), event.state_key);\n if (event.state_key === \"2\") {\n assert.strictEqual(expectedAForMember2.shift(), event.content.a);\n }\n });\n assert.strictEqual(expectedStateKeys.length, 0);\n assert.strictEqual(expectedAForMember2.length, 0);\n },\n \"test iterateResponseStateEvents with empty response\": assert => {\n iterateResponseStateEvents({}, () => {\n assert.fail(\"no events expected\");\n });\n }\n }\n}\n","/*\nCopyright 2021 The Matrix.org Foundation C.I.C.\n\nLicensed under the Apache License, Version 2.0 (the \"License\");\nyou may not use this file except in compliance with the License.\nYou may obtain a copy of the License at\n\n http://www.apache.org/licenses/LICENSE-2.0\n\nUnless required by applicable law or agreed to in writing, software\ndistributed under the License is distributed on an \"AS IS\" BASIS,\nWITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\nSee the License for the specific language governing permissions and\nlimitations under the License.\n*/\n\nimport {REDACTION_TYPE} from \"../common\";\n\nexport const REACTION_TYPE = \"m.reaction\";\nexport const ANNOTATION_RELATION_TYPE = \"m.annotation\";\n\nexport function createAnnotation(targetId, key) {\n return {\n \"m.relates_to\": {\n \"event_id\": targetId,\n key,\n \"rel_type\": ANNOTATION_RELATION_TYPE\n }\n };\n}\n\nexport function getRelationTarget(relation) {\n return relation.event_id || relation[\"m.in_reply_to\"]?.event_id\n}\n\nexport function setRelationTarget(relation, target) {\n if (relation.event_id !== undefined) {\n relation.event_id = target;\n } else if (relation[\"m.in_reply_to\"]) {\n relation[\"m.in_reply_to\"].event_id = target;\n }\n}\n\nexport function getRelatedEventId(event) {\n\tif (event.type === REDACTION_TYPE) {\n return event.redacts;\n } else {\n const relation = getRelation(event);\n if (relation) {\n return getRelationTarget(relation);\n }\n }\n return null;\n}\n\nexport function getRelationFromContent(content) {\n return content?.[\"m.relates_to\"];\n}\n\nexport function getRelation(event) {\n\treturn getRelationFromContent(event.content);\n}\n\n","/*\nCopyright 2021 The Matrix.org Foundation C.I.C.\n\nLicensed under the Apache License, Version 2.0 (the \"License\");\nyou may not use this file except in compliance with the License.\nYou may obtain a copy of the License at\n\n http://www.apache.org/licenses/LICENSE-2.0\n\nUnless required by applicable law or agreed to in writing, software\ndistributed under the License is distributed on an \"AS IS\" BASIS,\nWITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\nSee the License for the specific language governing permissions and\nlimitations under the License.\n*/\n\nexport class PendingAnnotation {\n constructor() {\n // TODO: use simple member for reaction and redaction as we can't/shouldn't really have more than 2 entries\n // this contains both pending annotation entries, and pending redactions of remote annotation entries \n this._entries = [];\n }\n\n get firstTimestamp() {\n return this._entries.reduce((ts, e) => {\n if (e.isRedaction) {\n return ts;\n }\n return Math.min(e.timestamp, ts);\n }, Number.MAX_SAFE_INTEGER);\n }\n\n get annotationEntry() {\n return this._entries.find(e => !e.isRedaction);\n }\n\n get redactionEntry() {\n return this._entries.find(e => e.isRedaction);\n }\n\n get count() {\n return this._entries.reduce((count, e) => {\n return count + (e.isRedaction ? -1 : 1);\n }, 0);\n }\n\n add(entry) {\n this._entries.push(entry);\n }\n\n remove(entry) {\n const idx = this._entries.indexOf(entry);\n if (idx === -1) {\n return false;\n }\n this._entries.splice(idx, 1);\n return true;\n }\n\n get willAnnotate() {\n const lastEntry = this._entries.reduce((lastEntry, e) => {\n if (!lastEntry || e.pendingEvent.queueIndex > lastEntry.pendingEvent.queueIndex) {\n return e;\n }\n return lastEntry;\n }, null);\n if (lastEntry) {\n return !lastEntry.isRedaction;\n }\n return false;\n }\n\n get isEmpty() {\n return this._entries.length === 0;\n }\n}\n","/*\nCopyright 2021 The Matrix.org Foundation C.I.C.\n\nLicensed under the Apache License, Version 2.0 (the \"License\");\nyou may not use this file except in compliance with the License.\nYou may obtain a copy of the License at\n\n http://www.apache.org/licenses/LICENSE-2.0\n\nUnless required by applicable law or agreed to in writing, software\ndistributed under the License is distributed on an \"AS IS\" BASIS,\nWITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\nSee the License for the specific language governing permissions and\nlimitations under the License.\n*/\n\nfunction htmlEscape(string) {\n return string.replace(/&/g, \"&\").replace(//g, \">\");\n}\n\nfunction fallbackForNonTextualMessage(msgtype) {\n switch (msgtype) {\n case \"m.file\":\n return \"sent a file.\";\n case \"m.image\":\n return \"sent an image.\";\n case \"m.video\":\n return \"sent a video.\";\n case \"m.audio\":\n return \"sent an audio file.\";\n }\n return null;\n}\n\nfunction fallbackPrefix(msgtype) {\n return msgtype === \"m.emote\" ? \"* \" : \"\";\n}\n\nfunction _createReplyContent(targetId, msgtype, body, formattedBody) {\n return {\n msgtype,\n body,\n \"format\": \"org.matrix.custom.html\",\n \"formatted_body\": formattedBody,\n \"m.relates_to\": {\n \"m.in_reply_to\": {\n \"event_id\": targetId\n }\n }\n };\n}\n\nexport function createReplyContent(entry, msgtype, body) {\n // TODO check for absense of sender / body / msgtype / etc?\n const nonTextual = fallbackForNonTextualMessage(entry.content.msgtype);\n const prefix = fallbackPrefix(entry.content.msgtype);\n const sender = entry.sender;\n const name = entry.displayName || sender;\n\n const formattedBody = nonTextual || entry.content.formatted_body ||\n (entry.content.body && htmlEscape(entry.content.body)) || \"\";\n const formattedFallback = `

    In reply to ${prefix}` +\n `${name}
    ` +\n `${formattedBody}
    `;\n\n const plainBody = nonTextual || entry.content.body || \"\";\n const bodyLines = plainBody.split(\"\\n\");\n bodyLines[0] = `> ${prefix}<${sender}> ${bodyLines[0]}`\n const plainFallback = bodyLines.join(\"\\n> \");\n\n const newBody = plainFallback + '\\n\\n' + body;\n const newFormattedBody = formattedFallback + htmlEscape(body);\n return _createReplyContent(entry.id, msgtype, newBody, newFormattedBody);\n}\n","/*\nCopyright 2021 The Matrix.org Foundation C.I.C.\n\nLicensed under the Apache License, Version 2.0 (the \"License\");\nyou may not use this file except in compliance with the License.\nYou may obtain a copy of the License at\n\n http://www.apache.org/licenses/LICENSE-2.0\n\nUnless required by applicable law or agreed to in writing, software\ndistributed under the License is distributed on an \"AS IS\" BASIS,\nWITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\nSee the License for the specific language governing permissions and\nlimitations under the License.\n*/\n\nimport {BaseEntry} from \"./BaseEntry\";\nimport {REDACTION_TYPE} from \"../../common\";\nimport {createAnnotation, ANNOTATION_RELATION_TYPE, getRelationFromContent} from \"../relations.js\";\nimport {PendingAnnotation} from \"../PendingAnnotation.js\";\nimport {createReplyContent} from \"./reply.js\"\n\n/** Deals mainly with local echo for relations and redactions,\n * so it is shared between PendingEventEntry and EventEntry */\nexport class BaseEventEntry extends BaseEntry {\n constructor(fragmentIdComparer) {\n super(fragmentIdComparer);\n this._pendingRedactions = null;\n this._pendingAnnotations = null;\n this._contextEntry = null;\n this._contextForEntries = null;\n }\n\n get isReply() {\n return !!this.relation?.[\"m.in_reply_to\"];\n }\n\n get isRedacting() {\n return !!this._pendingRedactions;\n }\n\n get isRedacted() {\n return this.isRedacting;\n }\n\n get isRedaction() {\n return this.eventType === REDACTION_TYPE;\n }\n\n get redactionReason() {\n if (this._pendingRedactions) {\n return this._pendingRedactions[0].content?.reason;\n }\n return null;\n }\n\n setContextEntry(entry) {\n this._contextEntry = entry;\n entry._setAsContextOf(this);\n }\n\n _setAsContextOf(entry) {\n if (!this._contextForEntries) {\n this._contextForEntries = [];\n }\n this._contextForEntries.push(entry);\n }\n\n get contextForEntries() {\n return this._contextForEntries;\n }\n\n get contextEntry() {\n return this._contextEntry;\n }\n\n /**\n Aggregates relation or redaction of remote relation. \n Used in two situations:\n - to aggregate local relation/redaction of remote relation\n - to mark this entry as being redacted in Timeline._updateEntriesFetchedFromHomeserver\n @return [string] returns the name of the field that has changed, if any\n */\n addLocalRelation(entry) {\n if (entry.eventType === REDACTION_TYPE && entry.isRelatedToId(this.id)) {\n if (!this._pendingRedactions) {\n this._pendingRedactions = [];\n }\n this._pendingRedactions.push(entry);\n if (this._pendingRedactions.length === 1) {\n return \"isRedacted\";\n }\n } else {\n const relationEntry = entry.redactingEntry || entry;\n if (relationEntry.isRelatedToId(this.id)) {\n if (relationEntry.relation.rel_type === ANNOTATION_RELATION_TYPE) {\n if (this._addPendingAnnotation(entry)) {\n return \"pendingAnnotations\";\n }\n }\n }\n }\n }\n \n /**\n deaggregates local relation or a local redaction of a remote relation.\n @return [string] returns the name of the field that has changed, if any\n */\n removeLocalRelation(entry) {\n if (entry.eventType === REDACTION_TYPE && entry.isRelatedToId(this.id) && this._pendingRedactions) {\n const countBefore = this._pendingRedactions.length;\n this._pendingRedactions = this._pendingRedactions.filter(e => e !== entry);\n if (this._pendingRedactions.length === 0) {\n this._pendingRedactions = null;\n if (countBefore !== 0) {\n return \"isRedacted\";\n }\n }\n } else {\n const relationEntry = entry.redactingEntry || entry;\n if (relationEntry.isRelatedToId(this.id)) {\n if (relationEntry.relation?.rel_type === ANNOTATION_RELATION_TYPE && this._pendingAnnotations) {\n if (this._removePendingAnnotation(entry)) {\n return \"pendingAnnotations\";\n }\n }\n }\n }\n }\n\n _addPendingAnnotation(entry) {\n if (!this._pendingAnnotations) {\n this._pendingAnnotations = new Map();\n }\n const {key} = (entry.redactingEntry || entry).relation;\n if (key) {\n let annotation = this._pendingAnnotations.get(key);\n if (!annotation) {\n annotation = new PendingAnnotation();\n this._pendingAnnotations.set(key, annotation);\n }\n annotation.add(entry);\n return true;\n }\n return false;\n }\n\n _removePendingAnnotation(entry) {\n const {key} = (entry.redactingEntry || entry).relation;\n if (key) {\n let annotation = this._pendingAnnotations.get(key);\n if (annotation.remove(entry) && annotation.isEmpty) {\n this._pendingAnnotations.delete(key);\n }\n if (this._pendingAnnotations.size === 0) {\n this._pendingAnnotations = null;\n }\n return true;\n }\n return false;\n }\n\n async abortPendingRedaction() {\n if (this._pendingRedactions) {\n for (const pee of this._pendingRedactions) {\n await pee.pendingEvent.abort();\n }\n // removing the pending events will call removeLocalRelation,\n // so don't clear _pendingRedactions here\n }\n }\n\n get pendingRedaction() {\n if (this._pendingRedactions) {\n return this._pendingRedactions[0];\n }\n return null;\n }\n\n annotate(key) {\n return createAnnotation(this.id, key);\n }\n\n reply(msgtype, body) {\n return createReplyContent(this, msgtype, body);\n }\n\n /** takes both remote event id and local txn id into account, see overriding in PendingEventEntry */\n isRelatedToId(id) {\n return id && this.relatedEventId === id;\n }\n\n haveAnnotation(key) {\n const haveRemoteReaction = this.annotations?.[key]?.me || false;\n const pendingAnnotation = this.pendingAnnotations?.get(key);\n const willAnnotate = pendingAnnotation?.willAnnotate || false;\n /*\n We have an annotation in these case:\n - remote annotation with me, no pending\n - remote annotation with me, pending redaction and then annotation\n - pending annotation without redaction after it\n */\n return (haveRemoteReaction && (!pendingAnnotation || willAnnotate)) ||\n (!haveRemoteReaction && willAnnotate);\n }\n\n get relation() {\n return getRelationFromContent(this.content);\n }\n\n get pendingAnnotations() {\n return this._pendingAnnotations;\n }\n\n get annotations() {\n return null; //overwritten in EventEntry\n }\n}\n","/*\nCopyright 2020 Bruno Windels \n\nLicensed under the Apache License, Version 2.0 (the \"License\");\nyou may not use this file except in compliance with the License.\nYou may obtain a copy of the License at\n\n http://www.apache.org/licenses/LICENSE-2.0\n\nUnless required by applicable law or agreed to in writing, software\ndistributed under the License is distributed on an \"AS IS\" BASIS,\nWITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\nSee the License for the specific language governing permissions and\nlimitations under the License.\n*/\n\nimport {PENDING_FRAGMENT_ID} from \"./BaseEntry\";\nimport {BaseEventEntry} from \"./BaseEventEntry.js\";\n\nexport class PendingEventEntry extends BaseEventEntry {\n constructor({pendingEvent, member, clock, redactingEntry}) {\n super(null);\n this._pendingEvent = pendingEvent;\n /** @type {RoomMember} */\n this._member = member;\n // try to come up with a timestamp that is around construction time and\n // will be roughly sorted by queueIndex, so it can be used to as a secondary\n // sorting dimension for reactions\n this._timestamp = clock.now() - (100 - pendingEvent.queueIndex);\n this._redactingEntry = redactingEntry;\n }\n\n get fragmentId() {\n return PENDING_FRAGMENT_ID;\n }\n\n get entryIndex() {\n return this._pendingEvent.queueIndex;\n }\n\n get content() {\n return this._pendingEvent.content;\n }\n\n get event() {\n return null;\n }\n\n get eventType() {\n return this._pendingEvent.eventType;\n }\n\n get stateKey() {\n return null;\n }\n\n get sender() {\n return this._member?.userId;\n }\n\n get displayName() {\n return this._member?.name;\n }\n\n get avatarUrl() {\n return this._member?.avatarUrl;\n }\n\n get timestamp() {\n return this._timestamp;\n }\n\n get isPending() {\n return true;\n }\n\n get id() {\n return this._pendingEvent.txnId;\n }\n\n get pendingEvent() {\n return this._pendingEvent;\n }\n\n notifyUpdate() {\n \n }\n\n isRelatedToId(id) {\n if (id && id === this._pendingEvent.relatedTxnId) {\n return true;\n }\n return super.isRelatedToId(id);\n }\n\n get relatedEventId() {\n return this._pendingEvent.relatedEventId;\n }\n\n get redactingEntry() {\n return this._redactingEntry;\n }\n\n get contextEventId() {\n if (this.isReply) {\n return this._pendingEvent.relatedEventId ?? this._pendingEvent.relatedTxnId;\n }\n return null;\n }\n}\n","/*\nCopyright 2020 Bruno Windels \n\nLicensed under the Apache License, Version 2.0 (the \"License\");\nyou may not use this file except in compliance with the License.\nYou may obtain a copy of the License at\n\n http://www.apache.org/licenses/LICENSE-2.0\n\nUnless required by applicable law or agreed to in writing, software\ndistributed under the License is distributed on an \"AS IS\" BASIS,\nWITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\nSee the License for the specific language governing permissions and\nlimitations under the License.\n*/\nimport {createEnum} from \"../../../utils/enum\";\nimport {AbortError} from \"../../../utils/error\";\nimport {REDACTION_TYPE} from \"../common\";\nimport {getRelationFromContent, getRelationTarget, setRelationTarget} from \"../timeline/relations.js\";\n\nexport const SendStatus = createEnum(\n \"Waiting\",\n \"EncryptingAttachments\",\n \"UploadingAttachments\",\n \"Encrypting\",\n \"Sending\",\n \"Sent\",\n \"Error\",\n);\n\nconst unencryptedContentFields = [ \"m.relates_to\" ];\n\nexport class PendingEvent {\n constructor({data, remove, emitUpdate, attachments}) {\n this._data = data;\n this._attachments = attachments;\n this._emitUpdate = emitUpdate;\n this._removeFromQueueCallback = remove;\n this._aborted = false;\n this._status = SendStatus.Waiting;\n this._sendRequest = null;\n this._attachmentsTotalBytes = 0;\n if (this._attachments) {\n this._attachmentsTotalBytes = Object.values(this._attachments).reduce((t, a) => t + a.size, 0);\n }\n }\n\n get roomId() { return this._data.roomId; }\n get queueIndex() { return this._data.queueIndex; }\n get eventType() { return this._data.eventType; }\n get txnId() { return this._data.txnId; }\n get remoteId() { return this._data.remoteId; }\n get content() { return this._data.content; }\n get relatedTxnId() { return this._data.relatedTxnId; }\n get relatedEventId() {\n const relation = getRelationFromContent(this.content);\n if (relation) {\n // may be null when target is not sent yet, is intended\n return getRelationTarget(relation);\n } else {\n return this._data.relatedEventId;\n }\n }\n\n setRelatedEventId(eventId) {\n const relation = getRelationFromContent(this.content);\n if (relation) {\n setRelationTarget(relation, eventId);\n } else {\n this._data.relatedEventId = eventId;\n }\n }\n\n get data() { return this._data; }\n\n getAttachment(key) {\n return this._attachments && this._attachments[key];\n }\n\n get needsSending() {\n return !this.remoteId && !this.aborted;\n }\n\n get needsEncryption() {\n return this._data.needsEncryption && !this.aborted;\n }\n\n get needsUpload() {\n return this._data.needsUpload && !this.aborted;\n }\n\n get isMissingAttachments() {\n return this.needsUpload && !this._attachments;\n }\n\n setEncrypting() {\n this._status = SendStatus.Encrypting;\n this._emitUpdate(\"status\");\n }\n\n get contentForEncryption() {\n const content = Object.assign({}, this._data.content);\n for (const field of unencryptedContentFields) {\n delete content[field];\n }\n return content;\n }\n\n _preserveContentFields(into) {\n const content = this._data.content;\n for (const field of unencryptedContentFields) {\n if (content[field] !== undefined) {\n into[field] = content[field];\n }\n }\n }\n\n setEncrypted(type, content) {\n this._preserveContentFields(content);\n this._data.encryptedEventType = type;\n this._data.encryptedContent = content;\n this._data.needsEncryption = false;\n }\n\n setError(error) {\n this._status = SendStatus.Error;\n this._error = error;\n this._emitUpdate(\"status\");\n }\n\n setWaiting() {\n this._status = SendStatus.Waiting;\n this._emitUpdate(\"status\");\n }\n\n get status() { return this._status; }\n get error() { return this._error; }\n\n get hasStartedSending() {\n return this._status === SendStatus.Sending || this._status === SendStatus.Sent;\n }\n\n get attachmentsTotalBytes() {\n return this._attachmentsTotalBytes;\n }\n\n get attachmentsSentBytes() {\n return this._attachments && Object.values(this._attachments).reduce((t, a) => t + a.sentBytes, 0);\n }\n\n async uploadAttachments(hsApi, log) {\n if (!this.needsUpload) {\n return;\n }\n if (!this._attachments) {\n throw new Error(\"attachments missing\");\n }\n if (this.needsEncryption) {\n this._status = SendStatus.EncryptingAttachments;\n this._emitUpdate(\"status\");\n for (const attachment of Object.values(this._attachments)) {\n await log.wrap(\"encrypt\", () => {\n log.set(\"size\", attachment.size);\n return attachment.encrypt();\n });\n if (this.aborted) {\n throw new AbortError();\n }\n }\n }\n this._status = SendStatus.UploadingAttachments;\n this._emitUpdate(\"status\");\n const entries = Object.entries(this._attachments);\n // upload smallest attachments first\n entries.sort(([, a1], [, a2]) => a1.size - a2.size);\n for (const [urlPath, attachment] of entries) {\n await log.wrap(\"upload\", log => {\n log.set(\"size\", attachment.size);\n return attachment.upload(hsApi, () => {\n this._emitUpdate(\"attachmentsSentBytes\");\n }, log);\n });\n attachment.applyToContent(urlPath, this.content);\n }\n this._data.needsUpload = false;\n }\n\n async abort() {\n if (!this._aborted) {\n this._aborted = true;\n if (this._attachments) {\n for (const attachment of Object.values(this._attachments)) {\n attachment.abort();\n }\n }\n this._sendRequest?.abort();\n await this._removeFromQueueCallback();\n }\n }\n\n get aborted() {\n return this._aborted;\n }\n\n async send(hsApi, log) {\n this._status = SendStatus.Sending;\n this._emitUpdate(\"status\");\n const eventType = this._data.encryptedEventType || this._data.eventType;\n const content = this._data.encryptedContent || this._data.content;\n if (eventType === REDACTION_TYPE) {\n this._sendRequest = hsApi.redact(\n this.roomId,\n this._data.relatedEventId,\n this.txnId,\n content,\n {log}\n );\n } else {\n this._sendRequest = hsApi.send(\n this.roomId,\n eventType,\n this.txnId,\n content,\n {log}\n );\n }\n const response = await this._sendRequest.response();\n this._sendRequest = null;\n // both /send and /redact have the same response format\n this._data.remoteId = response.event_id;\n log.set(\"id\", this._data.remoteId);\n this._status = SendStatus.Sent;\n this._emitUpdate(\"status\");\n }\n\n dispose() {\n if (this._attachments) {\n for (const attachment of Object.values(this._attachments)) {\n attachment.dispose();\n }\n }\n }\n}\n","/*\nCopyright 2020 Bruno Windels \n\nLicensed under the Apache License, Version 2.0 (the \"License\");\nyou may not use this file except in compliance with the License.\nYou may obtain a copy of the License at\n\n http://www.apache.org/licenses/LICENSE-2.0\n\nUnless required by applicable law or agreed to in writing, software\ndistributed under the License is distributed on an \"AS IS\" BASIS,\nWITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\nSee the License for the specific language governing permissions and\nlimitations under the License.\n*/\n\nimport {BaseEventEntry} from \"./BaseEventEntry.js\";\nimport {getPrevContentFromStateEvent, isRedacted} from \"../../common\";\nimport {getRelationFromContent, getRelatedEventId} from \"../relations.js\";\n\nexport class EventEntry extends BaseEventEntry {\n constructor(eventEntry, fragmentIdComparer) {\n super(fragmentIdComparer);\n this._eventEntry = eventEntry;\n this._decryptionError = null;\n this._decryptionResult = null;\n }\n\n clone() {\n const clone = new EventEntry(this._eventEntry, this._fragmentIdComparer);\n clone.updateFrom(this);\n return clone;\n }\n\n updateFrom(other) {\n if (other._decryptionResult && !this._decryptionResult) {\n this._decryptionResult = other._decryptionResult;\n }\n if (other._decryptionError && !this._decryptionError) {\n this._decryptionError = other._decryptionError;\n }\n this._contextForEntries = other.contextForEntries;\n this._contextEntry = other.contextEntry;\n }\n\n get event() {\n return this._eventEntry.event;\n }\n\n get fragmentId() {\n return this._eventEntry.fragmentId;\n }\n\n get entryIndex() {\n return this._eventEntry.eventIndex;\n }\n\n get content() {\n return this._decryptionResult?.event?.content || this._eventEntry.event.content;\n }\n\n get prevContent() {\n // doesn't look at _decryptionResult because state events are not encrypted\n return getPrevContentFromStateEvent(this._eventEntry.event);\n }\n\n get eventType() {\n return this._decryptionResult?.event?.type || this._eventEntry.event.type;\n }\n\n get stateKey() {\n return this._eventEntry.event.state_key;\n }\n\n get sender() {\n return this._eventEntry.event.sender;\n }\n\n get displayName() {\n return this._eventEntry.displayName;\n }\n\n get avatarUrl() {\n return this._eventEntry.avatarUrl;\n }\n\n get timestamp() {\n return this._eventEntry.event.origin_server_ts;\n }\n\n get id() {\n return this._eventEntry.event.event_id;\n }\n\n setDecryptionResult(result) {\n this._decryptionResult = result;\n }\n\n get isEncrypted() {\n return this._eventEntry.event.type === \"m.room.encrypted\";\n }\n\n get isDecrypted() {\n return !!this._decryptionResult?.event;\n }\n\n get isVerified() {\n return this.isEncrypted && this._decryptionResult?.isVerified;\n }\n\n get isUnverified() {\n return this.isEncrypted && this._decryptionResult?.isUnverified;\n }\n\n setDecryptionError(err) {\n this._decryptionError = err;\n }\n\n get decryptionError() {\n return this._decryptionError;\n }\n\n get relatedEventId() {\n return getRelatedEventId(this.event);\n }\n\n get isRedacted() {\n return super.isRedacted || isRedacted(this._eventEntry.event);\n }\n\n get redactionReason() {\n const redactionEvent = this._eventEntry.event.unsigned?.redacted_because;\n if (redactionEvent) {\n return redactionEvent.content?.reason;\n }\n // fall back to local echo reason\n return super.redactionReason;\n }\n\n get annotations() {\n return this._eventEntry.annotations;\n }\n\n get relation() {\n const originalContent = this._eventEntry.event.content;\n const originalRelation = originalContent && getRelationFromContent(originalContent);\n return originalRelation || getRelationFromContent(this.content);\n }\n\n // similar to relatedEventID but only for replies\n get contextEventId() {\n if (this.isReply) {\n return this.relatedEventId;\n }\n return null;\n }\n\n}\n\nimport {withTextBody, withContent, createEvent} from \"../../../../mocks/event.js\";\nimport {Clock as MockClock} from \"../../../../mocks/Clock.js\";\nimport {PendingEventEntry} from \"./PendingEventEntry.js\";\nimport {PendingEvent} from \"../../sending/PendingEvent.js\";\nimport {createAnnotation} from \"../relations.js\";\n\nexport function tests() {\n let queueIndex = 0;\n const clock = new MockClock();\n\n function addPendingReaction(target, key) {\n queueIndex += 1;\n target.addLocalRelation(new PendingEventEntry({\n pendingEvent: new PendingEvent({data: {\n eventType: \"m.reaction\",\n content: createAnnotation(target.id, key),\n queueIndex,\n txnId: `t${queueIndex}`\n }}),\n clock\n }));\n return target;\n }\n\n function addPendingRedaction(target, key) {\n const pendingReaction = target.pendingAnnotations?.get(key)?.annotationEntry;\n let redactingEntry = pendingReaction;\n // make up a remote entry if we don't have a pending reaction and have an aggregated remote entry\n if (!pendingReaction && target.annotations[key].me) {\n redactingEntry = new EventEntry({\n event: withContent(createAnnotation(target.id, key), createEvent(\"m.reaction\", \"!def\"))\n });\n }\n queueIndex += 1;\n target.addLocalRelation(new PendingEventEntry({\n pendingEvent: new PendingEvent({data: {\n eventType: \"m.room.redaction\",\n relatedTxnId: pendingReaction ? pendingReaction.id : null,\n relatedEventId: pendingReaction ? null : redactingEntry.id,\n queueIndex,\n txnId: `t${queueIndex}`\n }}),\n redactingEntry,\n clock\n }));\n return target;\n }\n\n function remoteAnnotation(key, me, count, obj = {}) {\n obj[key] = {me, count};\n return obj;\n }\n\n return {\n // testing it here because parent class always assumes annotations is null\n \"haveAnnotation\": assert => {\n const msgEvent = withTextBody(\"hi!\", createEvent(\"m.room.message\", \"!abc\"));\n const e1 = new EventEntry({event: msgEvent});\n assert.equal(false, e1.haveAnnotation(\"🚀\"));\n const e2 = new EventEntry({event: msgEvent, annotations: remoteAnnotation(\"🚀\", false, 1)});\n assert.equal(false, e2.haveAnnotation(\"🚀\"));\n const e3 = new EventEntry({event: msgEvent, annotations: remoteAnnotation(\"🚀\", true, 1)});\n assert.equal(true, e3.haveAnnotation(\"🚀\"));\n const e4 = new EventEntry({event: msgEvent, annotations: remoteAnnotation(\"🚀\", true, 2)});\n assert.equal(true, e4.haveAnnotation(\"🚀\"));\n const e5 = addPendingReaction(new EventEntry({event: msgEvent}), \"🚀\");\n assert.equal(true, e5.haveAnnotation(\"🚀\"));\n const e6 = addPendingRedaction(new EventEntry({event: msgEvent, annotations: remoteAnnotation(\"🚀\", true, 1)}), \"🚀\");\n assert.equal(false, e6.haveAnnotation(\"🚀\"));\n const e7 = addPendingReaction(\n addPendingRedaction(\n new EventEntry({event: msgEvent, annotations: remoteAnnotation(\"🚀\", true, 1)}),\n \"🚀\"),\n \"🚀\");\n assert.equal(true, e7.haveAnnotation(\"🚀\"));\n const e8 = addPendingRedaction(\n addPendingReaction(\n new EventEntry({event: msgEvent}),\n \"🚀\"),\n \"🚀\");\n assert.equal(false, e8.haveAnnotation(\"🚀\"));\n }\n }\n}\n","/*\nCopyright 2020 Bruno Windels \n\nLicensed under the Apache License, Version 2.0 (the \"License\");\nyou may not use this file except in compliance with the License.\nYou may obtain a copy of the License at\n\n http://www.apache.org/licenses/LICENSE-2.0\n\nUnless required by applicable law or agreed to in writing, software\ndistributed under the License is distributed on an \"AS IS\" BASIS,\nWITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\nSee the License for the specific language governing permissions and\nlimitations under the License.\n*/\n\nexport function createEventEntry(key, roomId, event) {\n return {\n fragmentId: key.fragmentId,\n eventIndex: key.eventIndex,\n roomId,\n event: event,\n };\n}\n\nexport function directionalAppend(array, value, direction) {\n if (direction.isForward) {\n array.push(value);\n } else {\n array.unshift(value);\n }\n}\n\nexport function directionalConcat(array, otherArray, direction) {\n if (direction.isForward) {\n return array.concat(otherArray);\n } else {\n return otherArray.concat(array);\n }\n}\n","/*\nCopyright 2020 The Matrix.org Foundation C.I.C.\n\nLicensed under the Apache License, Version 2.0 (the \"License\");\nyou may not use this file except in compliance with the License.\nYou may obtain a copy of the License at\n\n http://www.apache.org/licenses/LICENSE-2.0\n\nUnless required by applicable law or agreed to in writing, software\ndistributed under the License is distributed on an \"AS IS\" BASIS,\nWITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\nSee the License for the specific language governing permissions and\nlimitations under the License.\n*/\n\nimport {getPrevContentFromStateEvent} from \"../common\";\n\nexport const EVENT_TYPE = \"m.room.member\";\n\nexport class RoomMember {\n constructor(data) {\n this._data = data;\n }\n\n static fromUserId(roomId, userId, membership) {\n return new RoomMember({roomId, userId, membership});\n }\n\n static fromMemberEvent(roomId, memberEvent) {\n const userId = memberEvent?.state_key;\n if (typeof userId !== \"string\") {\n return;\n }\n const content = memberEvent.content;\n const prevContent = getPrevContentFromStateEvent(memberEvent);\n const membership = content?.membership;\n // fall back to prev_content for these as synapse doesn't (always?)\n // put them on content for \"leave\" memberships\n const displayName = content?.displayname || prevContent?.displayname;\n const avatarUrl = content?.avatar_url || prevContent?.avatar_url;\n return this._validateAndCreateMember(roomId, userId, membership, displayName, avatarUrl);\n }\n /**\n * Creates a (historical) member from a member event that is the next member event\n * after the point in time where we need a member for. This will use `prev_content`.\n */\n static fromReplacingMemberEvent(roomId, memberEvent) {\n const userId = memberEvent && memberEvent.state_key;\n if (typeof userId !== \"string\") {\n return;\n }\n const content = getPrevContentFromStateEvent(memberEvent);\n return this._validateAndCreateMember(roomId, userId,\n content?.membership,\n content?.displayname,\n content?.avatar_url\n );\n }\n\n static _validateAndCreateMember(roomId, userId, membership, displayName, avatarUrl) {\n if (typeof membership !== \"string\") {\n return;\n }\n return new RoomMember({\n roomId,\n userId,\n membership,\n avatarUrl,\n displayName,\n });\n }\n\n get membership() {\n return this._data.membership;\n }\n\n /**\n * @return {String?} the display name, if any\n */\n get displayName() {\n return this._data.displayName;\n }\n\n /**\n * @return {String} the display name or userId\n */\n get name() {\n return this._data.displayName || this._data.userId;\n }\n\n /**\n * @return {String?} the avatar mxc url, if any\n */\n get avatarUrl() {\n return this._data.avatarUrl;\n }\n\n get roomId() {\n return this._data.roomId;\n }\n\n get userId() {\n return this._data.userId;\n }\n\n serialize() {\n return this._data;\n }\n\n equals(other) {\n const data = this._data;\n const otherData = other._data;\n return data.roomId === otherData.roomId &&\n data.userId === otherData.userId &&\n data.membership === otherData.membership &&\n data.displayName === otherData.displayName &&\n data.avatarUrl === otherData.avatarUrl;\n }\n}\n\nexport class MemberChange {\n constructor(member, previousMembership) {\n this.member = member;\n this.previousMembership = previousMembership;\n }\n\n get roomId() {\n return this.member.roomId;\n }\n\n get userId() {\n return this.member.userId;\n }\n\n get membership() {\n return this.member.membership;\n }\n\n get wasInvited() {\n return this.previousMembership === \"invite\" && this.membership !== \"invite\";\n }\n\n get hasLeft() {\n return this.previousMembership === \"join\" && this.membership !== \"join\";\n }\n\n /** The result can be a false negative when all of these apply:\n * - the complete set of room members hasn't been fetched yet.\n * - the member event for this change was received in the\n * state section and wasn't present in the timeline section.\n * - the room response was limited, e.g. there was a gap.\n * \n * This is because during sync, in this case it is not possible\n * to distinguish between a new member that joined the room\n * during a gap and a lazy-loading member.\n * */\n get hasJoined() {\n return this.previousMembership !== \"join\" && this.membership === \"join\";\n }\n}\n","/*\nCopyright 2020 Bruno Windels \n\nLicensed under the Apache License, Version 2.0 (the \"License\");\nyou may not use this file except in compliance with the License.\nYou may obtain a copy of the License at\n\n http://www.apache.org/licenses/LICENSE-2.0\n\nUnless required by applicable law or agreed to in writing, software\ndistributed under the License is distributed on an \"AS IS\" BASIS,\nWITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\nSee the License for the specific language governing permissions and\nlimitations under the License.\n*/\n\nexport function isValidFragmentId(id) {\n return typeof id === \"number\";\n}\n\n// copied over from matrix-js-sdk, copyright 2016 OpenMarket Ltd\n/* _REDACT_KEEP_KEY_MAP gives the keys we keep when an event is redacted\n *\n * This is specified here:\n * http://matrix.org/speculator/spec/HEAD/client_server/latest.html#redactions\n *\n * Also:\n * - We keep 'unsigned' since that is created by the local server\n * - We keep user_id for backwards-compat with v1\n */\nconst _REDACT_KEEP_KEY_MAP = [\n 'event_id', 'type', 'room_id', 'user_id', 'sender', 'state_key', 'prev_state',\n 'content', 'unsigned', 'origin_server_ts',\n].reduce(function(ret, val) {\n ret[val] = 1; return ret;\n}, {});\n\n// a map from event type to the .content keys we keep when an event is redacted\nconst _REDACT_KEEP_CONTENT_MAP = {\n 'm.room.member': {'membership': 1},\n 'm.room.create': {'creator': 1},\n 'm.room.join_rules': {'join_rule': 1},\n 'm.room.power_levels': {'ban': 1, 'events': 1, 'events_default': 1,\n 'kick': 1, 'redact': 1, 'state_default': 1,\n 'users': 1, 'users_default': 1,\n },\n 'm.room.aliases': {'aliases': 1},\n};\n// end of matrix-js-sdk code\n\nexport function redactEvent(redactionEvent, redactedEvent) {\n for (const key of Object.keys(redactedEvent)) {\n if (!_REDACT_KEEP_KEY_MAP[key]) {\n delete redactedEvent[key];\n }\n }\n const { content } = redactedEvent;\n const keepMap = _REDACT_KEEP_CONTENT_MAP[redactedEvent.type];\n for (const key of Object.keys(content)) {\n if (!keepMap?.[key]) {\n delete content[key];\n }\n }\n redactedEvent.unsigned = redactedEvent.unsigned || {};\n redactedEvent.unsigned.redacted_because = redactionEvent;\n}\n","/*\nCopyright 2020 Bruno Windels \n\nLicensed under the Apache License, Version 2.0 (the \"License\");\nyou may not use this file except in compliance with the License.\nYou may obtain a copy of the License at\n\n http://www.apache.org/licenses/LICENSE-2.0\n\nUnless required by applicable law or agreed to in writing, software\ndistributed under the License is distributed on an \"AS IS\" BASIS,\nWITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\nSee the License for the specific language governing permissions and\nlimitations under the License.\n*/\n\n/*\nlookups will be far more frequent than changing fragment order,\nso data structure should be optimized for fast lookup\n\nwe can have a Map: fragmentId to sortIndex\n\nchanging the order, we would need to rebuild the index\nlets do this the stupid way for now, changing any fragment rebuilds all islands\n\nto build this:\nfirst load all fragments\nput them in a map by id\nnow iterate through them\n\nuntil no more fragments\n get the first\n create an island array, and add to list with islands\n going backwards and forwards\n get and remove sibling and prepend/append it to island array\n stop when no more previous/next\n return list with islands\n\n*/\n\nimport {isValidFragmentId} from \"./common.js\";\n\nfunction findBackwardSiblingFragments(current, byId) {\n const sortedSiblings = [];\n while (isValidFragmentId(current.previousId)) {\n const previous = byId.get(current.previousId);\n if (!previous) {\n break;\n }\n if (previous.nextId !== current.id) {\n throw new Error(`Previous fragment ${previous.id} doesn't point back to ${current.id}`);\n }\n byId.delete(current.previousId);\n sortedSiblings.unshift(previous);\n current = previous;\n }\n return sortedSiblings;\n}\n\nfunction findForwardSiblingFragments(current, byId) {\n const sortedSiblings = [];\n while (isValidFragmentId(current.nextId)) {\n const next = byId.get(current.nextId);\n if (!next) {\n break;\n }\n if (next.previousId !== current.id) {\n throw new Error(`Next fragment ${next.id} doesn't point back to ${current.id}`);\n }\n byId.delete(current.nextId);\n sortedSiblings.push(next);\n current = next;\n }\n return sortedSiblings;\n}\n\n\nfunction createIslands(fragments) {\n const byId = new Map();\n for(let f of fragments) {\n byId.set(f.id, f);\n }\n\n const islands = [];\n while(byId.size) {\n const current = byId.values().next().value;\n byId.delete(current.id);\n // new island\n const previousSiblings = findBackwardSiblingFragments(current, byId);\n const nextSiblings = findForwardSiblingFragments(current, byId);\n const island = previousSiblings.concat(current, nextSiblings);\n islands.push(island);\n }\n return islands.map(a => new Island(a));\n}\n\nclass Fragment {\n constructor(id, previousId, nextId) {\n this.id = id;\n this.previousId = previousId;\n this.nextId = nextId;\n }\n}\n\nclass Island {\n constructor(sortedFragments) {\n this._idToSortIndex = new Map();\n sortedFragments.forEach((f, i) => {\n this._idToSortIndex.set(f.id, i);\n });\n }\n\n compare(idA, idB) {\n const sortIndexA = this._idToSortIndex.get(idA);\n if (sortIndexA === undefined) {\n throw new Error(`first id ${idA} isn't part of this island`);\n }\n const sortIndexB = this._idToSortIndex.get(idB);\n if (sortIndexB === undefined) {\n throw new Error(`second id ${idB} isn't part of this island`);\n }\n return sortIndexA - sortIndexB;\n }\n\n get fragmentIds() {\n return this._idToSortIndex.keys();\n }\n}\n\nexport class CompareError extends Error {\n get name() { return \"CompareError\"; }\n}\n\n/*\nindex for fast lookup of how two fragments can be sorted\n*/\nexport class FragmentIdComparer {\n constructor(fragments) {\n this._fragmentsById = fragments.reduce((map, f) => {map.set(f.id, f); return map;}, new Map());\n this.rebuild(fragments);\n }\n\n _getIsland(id) {\n const island = this._idToIsland.get(id);\n if (island === undefined) {\n throw new CompareError(`Unknown fragment id ${id}`);\n }\n return island;\n }\n\n compare(idA, idB) {\n if (idA === idB) {\n return 0;\n }\n const islandA = this._getIsland(idA);\n const islandB = this._getIsland(idB);\n if (islandA !== islandB) {\n throw new CompareError(`${idA} and ${idB} are on different islands, can't tell order`);\n }\n return islandA.compare(idA, idB);\n }\n\n rebuild(fragments) {\n const islands = createIslands(fragments);\n this._idToIsland = new Map();\n for(let island of islands) {\n for(let id of island.fragmentIds) {\n this._idToIsland.set(id, island);\n }\n }\n }\n\n /** use for fragments coming out of persistence, not newly created ones, or also fragments for a new island (like for a permalink) */\n add(fragment) {\n const copy = new Fragment(fragment.id, fragment.previousId, fragment.nextId);\n this._fragmentsById.set(fragment.id, copy);\n this.rebuild(this._fragmentsById.values());\n }\n\n /** use for appending newly created fragments */\n append(id, previousId) {\n const fragment = new Fragment(id, previousId, null);\n const prevFragment = this._fragmentsById.get(previousId);\n if (prevFragment) {\n prevFragment.nextId = id;\n }\n this._fragmentsById.set(id, fragment);\n this.rebuild(this._fragmentsById.values());\n }\n\n /** use for prepending newly created fragments */\n prepend(id, nextId) {\n const fragment = new Fragment(id, null, nextId);\n const nextFragment = this._fragmentsById.get(nextId);\n if (nextFragment) {\n nextFragment.previousId = id;\n }\n this._fragmentsById.set(id, fragment);\n this.rebuild(this._fragmentsById.values());\n }\n}\n\nexport function tests() {\n return {\n test_1_island_3_fragments(assert) {\n const index = new FragmentIdComparer([\n {id: 3, previousId: 2},\n {id: 1, nextId: 2},\n {id: 2, nextId: 3, previousId: 1},\n ]);\n assert(index.compare(1, 2) < 0);\n assert(index.compare(2, 1) > 0);\n\n assert(index.compare(1, 3) < 0);\n assert(index.compare(3, 1) > 0);\n \n assert(index.compare(2, 3) < 0);\n assert(index.compare(3, 2) > 0);\n \n assert.equal(index.compare(1, 1), 0);\n },\n test_falsy_id(assert) {\n const index = new FragmentIdComparer([\n {id: 0, nextId: 1},\n {id: 1, previousId: 0},\n ]);\n assert(index.compare(0, 1) < 0);\n assert(index.compare(1, 0) > 0);\n },\n test_falsy_id_reverse(assert) {\n const index = new FragmentIdComparer([\n {id: 1, previousId: 0},\n {id: 0, nextId: 1},\n ]);\n assert(index.compare(0, 1) < 0);\n assert(index.compare(1, 0) > 0);\n },\n test_allow_unknown_id(assert) {\n // as we tend to load fragments incrementally\n // as events come into view, we need to allow\n // unknown previousId/nextId in the fragments that we do load\n assert.doesNotThrow(() => {\n new FragmentIdComparer([\n {id: 1, previousId: 2},\n {id: 0, nextId: 3},\n ]);\n });\n },\n test_throw_on_link_mismatch(assert) {\n // as we tend to load fragments incrementally\n // as events come into view, we need to allow\n // unknown previousId/nextId in the fragments that we do load\n assert.throws(() => {\n new FragmentIdComparer([\n {id: 1, previousId: 0},\n {id: 0, nextId: 2},\n ]);\n });\n },\n test_2_island_dont_compare(assert) {\n const index = new FragmentIdComparer([\n {id: 1},\n {id: 2},\n ]);\n assert.throws(() => index.compare(1, 2));\n assert.throws(() => index.compare(2, 1));\n },\n test_2_island_compare_internally(assert) {\n const index = new FragmentIdComparer([\n {id: 1, nextId: 2},\n {id: 2, previousId: 1},\n {id: 11, nextId: 12},\n {id: 12, previousId: 11},\n \n ]);\n\n assert(index.compare(1, 2) < 0);\n assert(index.compare(11, 12) < 0);\n \n assert.throws(() => index.compare(1, 11));\n assert.throws(() => index.compare(12, 2));\n },\n test_unknown_id(assert) {\n const index = new FragmentIdComparer([{id: 1}]);\n assert.throws(() => index.compare(1, 2));\n assert.throws(() => index.compare(2, 1));\n },\n test_rebuild_flushes_old_state(assert) {\n const index = new FragmentIdComparer([\n {id: 1, nextId: 2},\n {id: 2, previousId: 1},\n ]);\n index.rebuild([\n {id: 11, nextId: 12},\n {id: 12, previousId: 11},\n ]);\n \n assert.throws(() => index.compare(1, 2));\n assert(index.compare(11, 12) < 0);\n },\n test_append(assert) {\n const index = new FragmentIdComparer([]);\n // add livefragment when opening timeline,\n // note that there is no nextId as the sync\n // hasn't come in yet\n index.add({id: 1});\n // now sync comes in and replaces the live fragment\n index.append(2, 1);\n assert(index.compare(1, 2) < 0);\n },\n test_prepend(assert) {\n const index = new FragmentIdComparer([]);\n index.add({id: 2});\n index.prepend(1, 2);\n assert(index.compare(1, 2) < 0);\n }\n }\n}\n","const scriptRel = (function detectScriptRel() {\n // @ts-ignore\n const relList = document.createElement('link').relList;\n // @ts-ignore\n return relList && relList.supports && relList.supports('modulepreload')\n ? 'modulepreload'\n : 'preload';\n})();const seen = {};const base = './';export const __vitePreload = function preload(baseModule, deps) {\n // @ts-ignore\n if (!__VITE_IS_MODERN__ || !deps || deps.length === 0) {\n return baseModule();\n }\n return Promise.all(deps.map((dep) => {\n // @ts-ignore\n dep = `${base}${dep}`;\n // @ts-ignore\n if (dep in seen)\n return;\n // @ts-ignore\n seen[dep] = true;\n const isCss = dep.endsWith('.css');\n const cssSelector = isCss ? '[rel=\"stylesheet\"]' : '';\n // @ts-ignore check if the file is already preloaded by SSR markup\n if (document.querySelector(`link[href=\"${dep}\"]${cssSelector}`)) {\n return;\n }\n // @ts-ignore\n const link = document.createElement('link');\n // @ts-ignore\n link.rel = isCss ? 'stylesheet' : scriptRel;\n if (!isCss) {\n link.as = 'script';\n link.crossOrigin = '';\n }\n link.href = dep;\n // @ts-ignore\n document.head.appendChild(link);\n if (isCss) {\n return new Promise((res, rej) => {\n link.addEventListener('load', res);\n link.addEventListener('error', () => rej(new Error(`Unable to preload CSS for ${dep}`)));\n });\n }\n })).then(() => baseModule());\n}","/*\nCopyright 2020 Bruno Windels \nCopyright 2020 The Matrix.org Foundation C.I.C.\n\nLicensed under the Apache License, Version 2.0 (the \"License\");\nyou may not use this file except in compliance with the License.\nYou may obtain a copy of the License at\n\n http://www.apache.org/licenses/LICENSE-2.0\n\nUnless required by applicable law or agreed to in writing, software\ndistributed under the License is distributed on an \"AS IS\" BASIS,\nWITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\nSee the License for the specific language governing permissions and\nlimitations under the License.\n*/\n\nimport { StorageError } from \"../common\";\n\nfunction _sourceName(source: IDBIndex | IDBObjectStore): string {\n return \"objectStore\" in source ?\n `${source.objectStore.name}.${source.name}` :\n source.name;\n}\n\nfunction _sourceDatabase(source: IDBIndex | IDBObjectStore): string {\n return \"objectStore\" in source ?\n source.objectStore?.transaction?.db?.name :\n source.transaction?.db?.name;\n}\n\nexport class IDBError extends StorageError {\n storeName: string;\n databaseName: string;\n\n constructor(message: string, sourceOrCursor: IDBIndex | IDBCursor | IDBObjectStore | null, cause: DOMException | null = null) {\n const source = (sourceOrCursor && \"source\" in sourceOrCursor) ? sourceOrCursor.source : sourceOrCursor;\n const storeName = source ? _sourceName(source) : \"\";\n const databaseName = source ? _sourceDatabase(source) : \"\";\n let fullMessage = `${message} on ${databaseName}.${storeName}`;\n if (cause) {\n fullMessage += \": \";\n if (typeof cause.name === \"string\") {\n fullMessage += `(name: ${cause.name}) `;\n }\n if (typeof cause.code === \"number\") {\n fullMessage += `(code: ${cause.code}) `;\n }\n }\n if (cause) {\n fullMessage += cause.message;\n }\n super(fullMessage, cause);\n this.storeName = storeName;\n this.databaseName = databaseName;\n }\n}\n\nexport class IDBRequestError extends IDBError {\n private errorEvent: Event;\n\n constructor(errorEvent: Event) {\n const request = errorEvent.target as IDBRequest;\n const source = request.source;\n const cause = request.error;\n super(\"IDBRequest failed\", source, cause);\n this.errorEvent = errorEvent;\n }\n\n preventTransactionAbort() {\n this.errorEvent.preventDefault();\n }\n}\n\nexport class IDBRequestAttemptError extends IDBError {\n constructor(method: string, source: IDBIndex | IDBObjectStore, cause: DOMException, params: any[]) {\n super(`${method}(${params.map(p => JSON.stringify(p)).join(\", \")}) failed`, source, cause);\n }\n}\n","/*\nCopyright 2020 Bruno Windels \nCopyright 2020 The Matrix.org Foundation C.I.C.\n\nLicensed under the Apache License, Version 2.0 (the \"License\");\nyou may not use this file except in compliance with the License.\nYou may obtain a copy of the License at\n\n http://www.apache.org/licenses/LICENSE-2.0\n\nUnless required by applicable law or agreed to in writing, software\ndistributed under the License is distributed on an \"AS IS\" BASIS,\nWITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\nSee the License for the specific language governing permissions and\nlimitations under the License.\n*/\n\nimport { IDBRequestError } from \"./error\";\nimport { StorageError } from \"../common\";\nimport { AbortError } from \"../../../utils/error\";\n\nlet needsSyncPromise = false;\n\nexport const DONE = { done: true }\nexport const NOT_DONE = { done: false }\n\n/* should be called on legacy platforms to see\n if transactions close before draining the microtask queue (IE11 on Windows 7).\n If this is the case, promises need to be resolved\n synchronously from the idb request handler to prevent the transaction from closing prematurely.\n*/\nexport async function checkNeedsSyncPromise(): Promise {\n // important to have it turned off while doing the test,\n // otherwise reqAsPromise would not fail\n needsSyncPromise = false;\n const NAME = \"test-idb-needs-sync-promise\";\n const db = await openDatabase(NAME, db => {\n db.createObjectStore(\"test\", {keyPath: \"key\"});\n }, 1);\n const txn = db.transaction(\"test\", \"readonly\");\n try {\n await reqAsPromise(txn.objectStore(\"test\").get(1));\n await reqAsPromise(txn.objectStore(\"test\").get(2));\n } catch (err) {\n // err.name would be either TransactionInactiveError or InvalidStateError,\n // but let's not exclude any other failure modes\n needsSyncPromise = true;\n }\n // we could delete the store here, \n // but let's not create it on every page load on legacy platforms,\n // and just keep it around\n return needsSyncPromise;\n}\n\n// storage keys are defined to be unsigned 32bit numbers in KeyLimits, which is assumed by idb\nexport function encodeUint32(n: number): string {\n const hex = n.toString(16);\n return \"0\".repeat(8 - hex.length) + hex;\n}\n\n// used for logs where timestamp is part of key, which is larger than 32 bit\nexport function encodeUint64(n: number): string {\n const hex = n.toString(16);\n return \"0\".repeat(16 - hex.length) + hex;\n}\n\nexport function decodeUint32(str: string): number {\n return parseInt(str, 16);\n}\n\nexport type CreateObjectStore = (db : IDBDatabase, txn: IDBTransaction | null, oldVersion: number, version: number) => any\n\nexport function openDatabase(name: string, createObjectStore: CreateObjectStore, version: number, idbFactory: IDBFactory = window.indexedDB): Promise {\n const req = idbFactory.open(name, version);\n req.onupgradeneeded = async (ev : IDBVersionChangeEvent) => {\n const req = ev.target as IDBRequest;\n const db = req.result;\n const txn = req.transaction!;\n const oldVersion = ev.oldVersion;\n try {\n await createObjectStore(db, txn, oldVersion, version);\n } catch (err) {\n // try aborting on error, if that hasn't been done already\n try {\n txn.abort();\n } catch (err) {}\n }\n }; \n return reqAsPromise(req);\n}\n\nexport function reqAsPromise(req: IDBRequest): Promise {\n return new Promise((resolve, reject) => {\n req.addEventListener(\"success\", event => {\n resolve((event.target as IDBRequest).result);\n // @ts-ignore\n needsSyncPromise && Promise._flush && Promise._flush();\n });\n req.addEventListener(\"error\", event => {\n const error = new IDBRequestError(event);\n reject(error);\n // @ts-ignore\n needsSyncPromise && Promise._flush && Promise._flush();\n });\n });\n}\n\nexport function txnAsPromise(txn): Promise {\n let error;\n return new Promise((resolve, reject) => {\n txn.addEventListener(\"complete\", () => {\n resolve();\n // @ts-ignore\n needsSyncPromise && Promise._flush && Promise._flush();\n });\n txn.addEventListener(\"abort\", event => {\n reject(new AbortError());\n // @ts-ignore\n needsSyncPromise && Promise._flush && Promise._flush();\n });\n });\n}\n\n/**\n * This type is rather complicated, but I hope that this is for a good reason. There\n * are currently two uses for `iterateCursor`: iterating a regular cursor, and iterating\n * a key-only cursor, which does not have values. These two uses are distinct, and iteration\n * never stops or starts having a value halfway through.\n *\n * Each of the argument functions currently either assumes the value will be there, or that it won't. We thus can't\n * just accept a function argument `(T | undefined) => { done: boolean }`, since this messes with\n * the type safety in both cases: the former case will have to check for `undefined`, and\n * the latter would have an argument that can be `T`, even though it never will.\n *\n * So the approach here is to let TypeScript infer and accept (via generics) the type of\n * the cursor, which is either `IDBCursorWithValue` or `IDBCursor`. Since the type is accepted\n * via generics, we can actually vary the types of the actual function arguments depending on it.\n * Thus, when a value is available (an `IDBCursorWithValue` is given), we require a function `(T) => ...`, and when it is not, we require\n * a function `(undefined) => ...`.\n */\ntype CursorIterator = (value: I extends IDBCursorWithValue ? T : undefined, key: IDBValidKey, cursor: I) => { done: boolean, jumpTo?: IDBValidKey }\n\nexport function iterateCursor(cursorRequest: IDBRequest, processValue: CursorIterator): Promise {\n // TODO: does cursor already have a value here??\n return new Promise((resolve, reject) => {\n cursorRequest.onerror = event => {\n reject(new IDBRequestError(event));\n // @ts-ignore\n needsSyncPromise && Promise._flush && Promise._flush();\n };\n // collect results\n cursorRequest.onsuccess = (event) => {\n const cursor = (event.target as IDBRequest).result;\n if (!cursor) {\n resolve(false);\n // @ts-ignore\n needsSyncPromise && Promise._flush && Promise._flush();\n return; // end of results\n }\n const result = processValue(cursor[\"value\"], cursor.key, cursor);\n // TODO: don't use object for result and assume it's jumpTo when not === true/false or undefined\n const done = result?.done;\n const jumpTo = result?.jumpTo;\n\n if (done) {\n resolve(true);\n // @ts-ignore\n needsSyncPromise && Promise._flush && Promise._flush();\n } else if(jumpTo) {\n cursor.continue(jumpTo);\n } else {\n cursor.continue();\n }\n };\n }).catch(err => {\n throw new StorageError(\"iterateCursor failed\", err);\n });\n}\n\ntype Pred = (value: T) => boolean\n\nexport async function fetchResults(cursor: IDBRequest, isDone: Pred): Promise {\n const results: T[] = [];\n await iterateCursor(cursor, (value) => {\n results.push(value);\n return {done: isDone(results)};\n });\n return results;\n}\n\ntype ToCursor = (store: IDBObjectStore) => IDBRequest\n\nexport async function select(db: IDBDatabase, storeName: string, toCursor: ToCursor, isDone: Pred): Promise {\n if (!isDone) {\n isDone = () => false;\n }\n if (!toCursor) {\n toCursor = store => store.openCursor();\n }\n const tx = db.transaction([storeName], \"readonly\");\n const store = tx.objectStore(storeName);\n const cursor = toCursor(store);\n return await fetchResults(cursor, isDone);\n}\n\nexport async function findStoreValue(db: IDBDatabase, storeName: string, toCursor: ToCursor, matchesValue: Pred): Promise {\n if (!matchesValue) {\n matchesValue = () => true;\n }\n if (!toCursor) {\n toCursor = store => store.openCursor();\n }\n\n const tx = db.transaction([storeName], \"readwrite\");\n const store = tx.objectStore(storeName);\n const cursor = await reqAsPromise(toCursor(store));\n let match;\n const matched = await iterateCursor(cursor, (value) => {\n if (matchesValue(value)) {\n match = value;\n return DONE;\n }\n return NOT_DONE;\n });\n if (!matched) {\n throw new StorageError(\"Value not found\");\n }\n return match;\n}\n","/*\nCopyright 2020 Bruno Windels \n\nLicensed under the Apache License, Version 2.0 (the \"License\");\nyou may not use this file except in compliance with the License.\nYou may obtain a copy of the License at\n\n http://www.apache.org/licenses/LICENSE-2.0\n\nUnless required by applicable law or agreed to in writing, software\ndistributed under the License is distributed on an \"AS IS\" BASIS,\nWITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\nSee the License for the specific language governing permissions and\nlimitations under the License.\n*/\n\nimport {iterateCursor, DONE, NOT_DONE, reqAsPromise} from \"./utils\";\nimport {StorageError} from \"../common\";\nimport {ILogItem} from \"../../../logging/types\";\nimport {IDBKey} from \"./Transaction\";\n\n// this is the part of the Transaction class API that is used here and in the Store subclass,\n// to make it easier to replace it with alternative implementations in schema.ts and unit tests\nexport interface ITransaction {\n idbFactory: IDBFactory;\n IDBKeyRange: typeof IDBKeyRange;\n databaseName: string;\n addWriteError(error: StorageError, refItem: ILogItem | undefined, operationName: string, keys: IDBKey[] | undefined);\n}\n\ntype Reducer = (acc: B, val: A) => B\n\nexport type IDBQuery = IDBValidKey | IDBKeyRange | undefined | null\n\ninterface QueryTargetInterface {\n openCursor(range?: IDBQuery, direction?: IDBCursorDirection | undefined): IDBRequest;\n openKeyCursor(range?: IDBQuery, direction?: IDBCursorDirection | undefined): IDBRequest;\n supports(method: string): boolean;\n keyPath: string | string[];\n count(keyRange?: IDBKeyRange): IDBRequest;\n get(key: IDBValidKey | IDBKeyRange): IDBRequest;\n getKey(key: IDBValidKey | IDBKeyRange): IDBRequest;\n}\n\nexport class QueryTarget {\n protected _target: QueryTargetInterface;\n protected _transaction: ITransaction;\n\n constructor(target: QueryTargetInterface, transaction: ITransaction) {\n this._target = target;\n this._transaction = transaction;\n }\n\n get idbFactory(): IDBFactory {\n return this._transaction.idbFactory;\n }\n\n get IDBKeyRange(): typeof IDBKeyRange {\n return this._transaction.IDBKeyRange;\n }\n\n get databaseName(): string {\n return this._transaction.databaseName;\n }\n\n _openCursor(range?: IDBQuery, direction?: IDBCursorDirection): IDBRequest {\n if (range && direction) {\n return this._target.openCursor(range, direction);\n } else if (range) {\n return this._target.openCursor(range);\n } else if (direction) {\n return this._target.openCursor(null, direction);\n } else {\n return this._target.openCursor();\n }\n }\n\n supports(methodName: string): boolean {\n return this._target.supports(methodName);\n }\n\n count(keyRange?: IDBKeyRange): Promise {\n return reqAsPromise(this._target.count(keyRange));\n }\n\n get(key: IDBValidKey | IDBKeyRange): Promise {\n return reqAsPromise(this._target.get(key));\n }\n\n getKey(key: IDBValidKey | IDBKeyRange): Promise {\n if (this._target.supports(\"getKey\")) {\n return reqAsPromise(this._target.getKey(key));\n } else {\n return reqAsPromise(this._target.get(key)).then(value => {\n if (value) {\n let keyPath = this._target.keyPath;\n if (typeof keyPath === \"string\") {\n keyPath = [keyPath];\n }\n return keyPath.reduce((obj, key) => obj[key], value);\n }\n });\n }\n }\n\n reduce(range: IDBQuery, reducer: Reducer, initialValue: B): Promise {\n return this._reduce(range, reducer, initialValue, \"next\");\n }\n\n reduceReverse(range: IDBQuery, reducer: Reducer, initialValue: B): Promise {\n return this._reduce(range, reducer, initialValue, \"prev\");\n }\n \n selectLimit(range: IDBQuery, amount: number): Promise {\n return this._selectLimit(range, amount, \"next\");\n }\n\n selectLimitReverse(range: IDBQuery, amount: number): Promise {\n return this._selectLimit(range, amount, \"prev\");\n }\n\n selectWhile(range: IDBQuery, predicate: (v: T) => boolean): Promise {\n return this._selectWhile(range, predicate, \"next\");\n }\n\n selectWhileReverse(range: IDBQuery, predicate: (v: T) => boolean): Promise {\n return this._selectWhile(range, predicate, \"prev\");\n }\n\n async selectAll(range?: IDBQuery, direction?: IDBCursorDirection): Promise {\n const cursor = this._openCursor(range, direction);\n const results: T[] = [];\n await iterateCursor(cursor, (value) => {\n results.push(value);\n return NOT_DONE;\n });\n return results;\n }\n\n selectFirst(range: IDBQuery): Promise {\n return this._find(range, () => true, \"next\");\n }\n\n selectLast(range: IDBQuery): Promise {\n return this._find(range, () => true, \"prev\");\n }\n\n find(range: IDBQuery, predicate: (v: T) => boolean): Promise {\n return this._find(range, predicate, \"next\");\n }\n\n findReverse(range: IDBQuery, predicate: (v : T) => boolean): Promise {\n return this._find(range, predicate, \"prev\");\n }\n\n async findMaxKey(range: IDBQuery): Promise {\n const cursor = this._target.openKeyCursor(range, \"prev\");\n let maxKey;\n await iterateCursor(cursor, (_, key) => {\n maxKey = key;\n return DONE;\n });\n return maxKey;\n }\n\n\n async iterateValues(range: IDBQuery, callback: (val: T, key: IDBValidKey, cur: IDBCursorWithValue) => boolean): Promise {\n const cursor = this._target.openCursor(range, \"next\");\n await iterateCursor(cursor, (value, key, cur) => {\n return {done: callback(value, key, cur)};\n });\n }\n\n async iterateKeys(range: IDBQuery, callback: (key: IDBValidKey, cur: IDBCursor) => boolean): Promise {\n const cursor = this._target.openKeyCursor(range, \"next\");\n await iterateCursor(cursor, (_, key, cur) => {\n return {done: callback(key, cur)};\n });\n }\n\n /**\n * Checks if a given set of keys exist.\n * If the callback returns true, the search is halted and callback won't be called again.\n */\n async findExistingKeys(keys: IDBValidKey[], backwards: boolean, callback: (key: IDBValidKey, pk: IDBValidKey) => boolean): Promise {\n const compareKeys = (a, b) => backwards ? -this.idbFactory.cmp(a, b) : this.idbFactory.cmp(a, b);\n const sortedKeys = keys.slice().sort(compareKeys);\n const firstKey = sortedKeys[0];\n const lastKey = sortedKeys[sortedKeys.length - 1];\n const direction = backwards ? \"prev\" : \"next\";\n const cursor = this._target.openKeyCursor(this.IDBKeyRange.bound(firstKey, lastKey), direction);\n let index = 0;\n await iterateCursor(cursor, (value, key, cursor) => {\n while (index < sortedKeys.length && compareKeys(sortedKeys[index], key) < 0) {\n index += 1;\n }\n let done = false;\n if (sortedKeys[index] === key) {\n const pk = cursor.primaryKey;\n done = callback(key, pk);\n index += 1;\n }\n if (done || index >= sortedKeys.length) {\n return DONE;\n } else {\n return {\n done: false,\n jumpTo: sortedKeys[index],\n }\n }\n });\n }\n\n _reduce(range: IDBQuery, reducer: (reduced: B, value: T) => B, initialValue: B, direction: IDBCursorDirection): Promise {\n let reducedValue = initialValue;\n const cursor = this._openCursor(range, direction);\n return iterateCursor(cursor, (value) => {\n reducedValue = reducer(reducedValue, value);\n return NOT_DONE;\n });\n }\n\n _selectLimit(range: IDBQuery, amount: number, direction: IDBCursorDirection): Promise {\n return this._selectUntil(range, (results) => {\n return results.length === amount;\n }, direction);\n }\n\n async _selectUntil(range: IDBQuery, predicate: (vs: T[], v: T) => boolean, direction: IDBCursorDirection): Promise {\n const cursor = this._openCursor(range, direction);\n const results: T[] = [];\n await iterateCursor(cursor, (value) => {\n results.push(value);\n return {done: predicate(results, value)};\n });\n return results;\n }\n\n // allows you to fetch one too much that won't get added when the predicate fails\n async _selectWhile(range: IDBQuery, predicate: (v: T) => boolean, direction: IDBCursorDirection): Promise {\n const cursor = this._openCursor(range, direction);\n const results: T[] = [];\n await iterateCursor(cursor, (value) => {\n const passesPredicate = predicate(value);\n if (passesPredicate) {\n results.push(value);\n }\n return {done: !passesPredicate};\n });\n return results;\n }\n\n async iterateWhile(range: IDBQuery, predicate: (v: T) => boolean): Promise {\n const cursor = this._openCursor(range, \"next\");\n await iterateCursor(cursor, (value) => {\n const passesPredicate = predicate(value);\n return {done: !passesPredicate};\n });\n }\n\n async _find(range: IDBQuery, predicate: (v: T) => boolean, direction: IDBCursorDirection): Promise {\n const cursor = this._openCursor(range, direction);\n let result;\n const found = await iterateCursor(cursor, (value) => {\n const found = predicate(value);\n if (found) {\n result = value;\n }\n return {done: found};\n });\n if (found) {\n return result;\n }\n }\n}\n\nimport {createMockDatabase, createMockIDBFactory, getMockIDBKeyRange} from \"../../../mocks/Storage\";\nimport {txnAsPromise} from \"./utils\";\nimport {QueryTargetWrapper, Store} from \"./Store\";\n\nexport async function tests() {\n\n class MockTransaction {\n constructor(public readonly idbFactory: IDBFactory, readonly idbKeyRangeType: typeof IDBKeyRange) {}\n\n get IDBKeyRange(): typeof IDBKeyRange {\n return this.idbKeyRangeType;\n }\n get databaseName(): string { return \"mockdb\"; }\n addWriteError(error: StorageError, refItem: ILogItem | undefined, operationName: string, keys: IDBKey[] | undefined) {}\n }\n\n interface TestEntry {\n key: string\n }\n\n async function createTestStore(): Promise> {\n const idbFactory = await createMockIDBFactory();\n const idbKeyRangeType = await getMockIDBKeyRange();\n const mockImpl = new MockTransaction(idbFactory, idbKeyRangeType);\n const db = await createMockDatabase(\"findExistingKeys\", (db: IDBDatabase) => {\n db.createObjectStore(\"test\", {keyPath: \"key\"});\n }, idbFactory);\n const txn = db.transaction([\"test\"], \"readwrite\");\n return new Store(txn.objectStore(\"test\"), mockImpl);\n }\n\n return {\n \"findExistingKeys should not match on empty store\": async assert => {\n const store = await createTestStore();\n await store.findExistingKeys([\"2db1a709-d8f1-4c40-a835-f312badd277a\", \"fe7aa5c2-d4ed-4278-b3b0-f49d48d11df2\"], false, () => {\n assert.fail(\"no key should match\");\n return false;\n });\n },\n \"findExistingKeys should not match any existing keys (in between sorting order)\": async assert => {\n const store = await createTestStore();\n store.add({key: \"43cd16eb-a6b4-4b9d-ab36-ab87d1b038c3\"});\n store.add({key: \"b655e7c5-e02d-4823-a7af-4202b12de659\"});\n await store.findExistingKeys([\"2db1a709-d8f1-4c40-a835-f312badd277a\", \"fe7aa5c2-d4ed-4278-b3b0-f49d48d11df2\"], false, () => {\n assert.fail(\"no key should match\");\n return false;\n });\n },\n \"findExistingKeys should match only existing keys\": async assert => {\n const store = await createTestStore();\n store.add({key: \"2db1a709-d8f1-4c40-a835-f312badd277a\"});\n store.add({key: \"43cd16eb-a6b4-4b9d-ab36-ab87d1b038c3\"});\n store.add({key: \"fe7aa5c2-d4ed-4278-b3b0-f49d48d11df2\"});\n const found: string[] = [];\n await store.findExistingKeys([\n \"2db1a709-d8f1-4c40-a835-f312badd277a\",\n \"eac3ef5c-a48f-4e19-b41d-ebd1d84c53f2\",\n \"fe7aa5c2-d4ed-4278-b3b0-f49d48d11df2\"\n ], false, (key: IDBValidKey) => {\n found.push(key as string);\n return false;\n });\n assert.equal(found.length, 2);\n assert.equal(found[0], \"2db1a709-d8f1-4c40-a835-f312badd277a\");\n assert.equal(found[1], \"fe7aa5c2-d4ed-4278-b3b0-f49d48d11df2\");\n },\n \"findExistingKeys should match all if all exist\": async assert => {\n const store = await createTestStore();\n store.add({key: \"2db1a709-d8f1-4c40-a835-f312badd277a\"});\n store.add({key: \"fe7aa5c2-d4ed-4278-b3b0-f49d48d11df2\"});\n store.add({key: \"b655e7c5-e02d-4823-a7af-4202b12de659\"});\n const found: string[] = [];\n await store.findExistingKeys([\n \"2db1a709-d8f1-4c40-a835-f312badd277a\",\n \"b655e7c5-e02d-4823-a7af-4202b12de659\",\n \"fe7aa5c2-d4ed-4278-b3b0-f49d48d11df2\"\n ], false, (key: IDBValidKey) => {\n found.push(key as string);\n return false;\n });\n assert.equal(found.length, 3);\n assert.equal(found[0], \"2db1a709-d8f1-4c40-a835-f312badd277a\");\n assert.equal(found[1], \"b655e7c5-e02d-4823-a7af-4202b12de659\");\n assert.equal(found[2], \"fe7aa5c2-d4ed-4278-b3b0-f49d48d11df2\");\n },\n \"findExistingKeys should stop matching when callback returns true\": async assert => {\n const store = await createTestStore();\n store.add({key: \"2db1a709-d8f1-4c40-a835-f312badd277a\"});\n store.add({key: \"fe7aa5c2-d4ed-4278-b3b0-f49d48d11df2\"});\n store.add({key: \"b655e7c5-e02d-4823-a7af-4202b12de659\"});\n const found: string[] = [];\n await store.findExistingKeys([\n \"2db1a709-d8f1-4c40-a835-f312badd277a\",\n \"b655e7c5-e02d-4823-a7af-4202b12de659\",\n \"fe7aa5c2-d4ed-4278-b3b0-f49d48d11df2\"\n ], false, (key: IDBValidKey) => {\n found.push(key as string);\n return true;\n });\n assert.equal(found.length, 1);\n assert.equal(found[0], \"2db1a709-d8f1-4c40-a835-f312badd277a\");\n },\n \n }\n}\n","/*\nCopyright 2020 Bruno Windels \n\nLicensed under the Apache License, Version 2.0 (the \"License\");\nyou may not use this file except in compliance with the License.\nYou may obtain a copy of the License at\n\n http://www.apache.org/licenses/LICENSE-2.0\n\nUnless required by applicable law or agreed to in writing, software\ndistributed under the License is distributed on an \"AS IS\" BASIS,\nWITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\nSee the License for the specific language governing permissions and\nlimitations under the License.\n*/\n\nimport {QueryTarget, IDBQuery, ITransaction} from \"./QueryTarget\";\nimport {IDBRequestError, IDBRequestAttemptError} from \"./error\";\nimport {reqAsPromise} from \"./utils\";\nimport {Transaction, IDBKey} from \"./Transaction\";\nimport {ILogItem} from \"../../../logging/types\";\n\nconst LOG_REQUESTS = false;\n\nfunction logRequest(method: string, params: any[], source: any): void {\n const storeName = source?.name;\n const databaseName = source?.transaction?.db?.name;\n console.info(`${databaseName}.${storeName}.${method}(${params.map(p => JSON.stringify(p)).join(\", \")})`);\n}\n\nexport class QueryTargetWrapper {\n private _qt: IDBIndex | IDBObjectStore;\n\n constructor(qt: IDBIndex | IDBObjectStore) {\n this._qt = qt;\n }\n\n get keyPath(): string | string[] {\n return this._qtStore.keyPath;\n }\n\n get _qtStore(): IDBObjectStore {\n if (\"objectStore\" in this._qt) {\n return this._qt.objectStore;\n }\n return this._qt;\n }\n\n supports(methodName: string): boolean {\n return !!this._qt[methodName];\n }\n \n openKeyCursor(range?: IDBQuery, direction?: IDBCursorDirection | undefined): IDBRequest {\n try {\n // not supported on Edge 15\n if (!this._qt.openKeyCursor) {\n LOG_REQUESTS && logRequest(\"openCursor\", [range, direction], this._qt);\n return this.openCursor(range, direction);\n }\n LOG_REQUESTS && logRequest(\"openKeyCursor\", [range, direction], this._qt);\n return this._qt.openKeyCursor(range, direction)\n } catch(err) {\n throw new IDBRequestAttemptError(\"openKeyCursor\", this._qt, err, [range, direction]);\n }\n }\n \n openCursor(range?: IDBQuery, direction?: IDBCursorDirection | undefined): IDBRequest {\n try {\n LOG_REQUESTS && logRequest(\"openCursor\", [], this._qt);\n return this._qt.openCursor(range, direction)\n } catch(err) {\n throw new IDBRequestAttemptError(\"openCursor\", this._qt, err, [range, direction]);\n }\n }\n\n put(item: T, key?: IDBValidKey | undefined): IDBRequest {\n try {\n LOG_REQUESTS && logRequest(\"put\", [item, key], this._qt);\n return this._qtStore.put(item, key);\n } catch(err) {\n throw new IDBRequestAttemptError(\"put\", this._qt, err, [item, key]);\n }\n }\n\n add(item: T, key?: IDBValidKey | undefined): IDBRequest {\n try {\n LOG_REQUESTS && logRequest(\"add\", [item, key], this._qt);\n return this._qtStore.add(item, key);\n } catch(err) {\n throw new IDBRequestAttemptError(\"add\", this._qt, err, [item, key]);\n }\n }\n\n get(key: IDBValidKey | IDBKeyRange): IDBRequest {\n try {\n LOG_REQUESTS && logRequest(\"get\", [key], this._qt);\n return this._qt.get(key);\n } catch(err) {\n throw new IDBRequestAttemptError(\"get\", this._qt, err, [key]);\n }\n }\n \n getKey(key: IDBValidKey | IDBKeyRange): IDBRequest {\n try {\n LOG_REQUESTS && logRequest(\"getKey\", [key], this._qt);\n return this._qt.getKey(key)\n } catch(err) {\n throw new IDBRequestAttemptError(\"getKey\", this._qt, err, [key]);\n }\n }\n\n delete(key: IDBValidKey | IDBKeyRange): IDBRequest {\n try {\n LOG_REQUESTS && logRequest(\"delete\", [key], this._qt);\n return this._qtStore.delete(key);\n } catch(err) {\n throw new IDBRequestAttemptError(\"delete\", this._qt, err, [key]);\n }\n }\n\n count(keyRange?: IDBKeyRange): IDBRequest {\n try {\n return this._qt.count(keyRange);\n } catch(err) {\n throw new IDBRequestAttemptError(\"count\", this._qt, err, [keyRange]);\n }\n }\n\n index(name: string): IDBIndex {\n try {\n return this._qtStore.index(name);\n } catch(err) {\n // TODO: map to different error? this is not a request\n throw new IDBRequestAttemptError(\"index\", this._qt, err, [name]);\n }\n }\n\n get indexNames(): string[] {\n return Array.from(this._qtStore.indexNames);\n }\n}\n\nexport class Store extends QueryTarget {\n constructor(idbStore: IDBObjectStore, transaction: ITransaction) {\n super(new QueryTargetWrapper(idbStore), transaction);\n }\n\n get _idbStore(): QueryTargetWrapper {\n return (this._target as QueryTargetWrapper);\n }\n\n index(indexName: string): QueryTarget {\n return new QueryTarget(new QueryTargetWrapper(this._idbStore.index(indexName)), this._transaction);\n }\n\n put(value: T, log?: ILogItem): void {\n // If this request fails, the error will bubble up to the transaction and abort it,\n // which is the behaviour we want. Therefore, it is ok to not create a promise for this\n // request and await it.\n // \n // Perhaps at some later point, we will want to handle an error (like ConstraintError) for\n // individual write requests. In that case, we should add a method that returns a promise (e.g. putAndObserve)\n // and call preventDefault on the event to prevent it from aborting the transaction\n // \n // Note that this can still throw synchronously, like it does for TransactionInactiveError,\n // see https://www.w3.org/TR/IndexedDB-2/#transaction-lifetime-concept\n const request = this._idbStore.put(value);\n this._prepareErrorLog(request, log, \"put\", undefined, value);\n }\n\n add(value: T, log?: ILogItem): void {\n // ok to not monitor result of request, see comment in `put`.\n const request = this._idbStore.add(value);\n this._prepareErrorLog(request, log, \"add\", undefined, value);\n }\n\n async tryAdd(value: T, log: ILogItem): Promise {\n try {\n await reqAsPromise(this._idbStore.add(value));\n return true;\n } catch (err) {\n if (err instanceof IDBRequestError) {\n log.log({l: \"could not write\", id: this._getKeys(value), e: err}, log.level.Warn);\n err.preventTransactionAbort();\n return false;\n } else {\n throw err;\n }\n }\n }\n\n delete(keyOrKeyRange: IDBValidKey | IDBKeyRange, log?: ILogItem): void {\n // ok to not monitor result of request, see comment in `put`.\n const request = this._idbStore.delete(keyOrKeyRange);\n this._prepareErrorLog(request, log, \"delete\", keyOrKeyRange, undefined);\n }\n\n private _prepareErrorLog(request: IDBRequest, log: ILogItem | undefined, operationName: string, key: IDBKey | undefined, value: T | undefined) {\n if (log) {\n log.ensureRefId();\n }\n reqAsPromise(request).catch(err => {\n let keys : IDBKey[] | undefined = undefined;\n if (value) {\n keys = this._getKeys(value);\n } else if (key) {\n keys = [key];\n }\n this._transaction.addWriteError(err, log, operationName, keys);\n });\n }\n\n private _getKeys(value: T): IDBValidKey[] {\n const keys: IDBValidKey[] = [];\n const {keyPath} = this._idbStore;\n try {\n keys.push(this._readKeyPath(value, keyPath));\n } catch (err) {\n console.warn(\"could not read keyPath\", keyPath);\n }\n for (const indexName of this._idbStore.indexNames) {\n try {\n const index = this._idbStore.index(indexName);\n keys.push(this._readKeyPath(value, index.keyPath));\n } catch (err) {\n console.warn(\"could not read index\", indexName);\n }\n }\n return keys;\n }\n\n private _readKeyPath(value: T, keyPath: string[] | string): IDBValidKey {\n if (Array.isArray(keyPath)) {\n let field: any = value;\n for (const part of keyPath) {\n if (typeof field === \"object\") {\n field = field[part];\n } else {\n break;\n }\n }\n return field as IDBValidKey;\n } else {\n return value[keyPath] as IDBValidKey;\n }\n }\n}\n","/*\nCopyright 2021 The Matrix.org Foundation C.I.C.\n\nLicensed under the Apache License, Version 2.0 (the \"License\");\nyou may not use this file except in compliance with the License.\nYou may obtain a copy of the License at\n\n http://www.apache.org/licenses/LICENSE-2.0\n\nUnless required by applicable law or agreed to in writing, software\ndistributed under the License is distributed on an \"AS IS\" BASIS,\nWITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\nSee the License for the specific language governing permissions and\nlimitations under the License.\n*/\n\nexport function stringify(value: any): string {\n return JSON.stringify(encodeValue(value));\n}\n\nexport function parse(value: string): any {\n return decodeValue(JSON.parse(value));\n}\n\nfunction encodeValue(value: any): any {\n if (typeof value === \"object\" && value !== null && !Array.isArray(value)) {\n // TypedArray\n if (value.byteLength) {\n return {_type: value.constructor.name, value: Array.from(value)};\n }\n let newObj = {};\n for (const prop in value) {\n if (value.hasOwnProperty(prop)) {\n newObj[prop] = encodeValue(value[prop]);\n }\n }\n return newObj;\n } else {\n return value;\n }\n}\n\nfunction decodeValue(value: any): any {\n if (typeof value === \"object\" && value !== null && !Array.isArray(value)) {\n if (typeof value._type === \"string\") {\n switch (value._type) {\n case \"Int8Array\": return Int8Array.from(value.value);\n case \"Uint8Array\": return Uint8Array.from(value.value);\n case \"Uint8ClampedArray\": return Uint8ClampedArray.from(value.value);\n case \"Int16Array\": return Int16Array.from(value.value);\n case \"Uint16Array\": return Uint16Array.from(value.value);\n case \"Int32Array\": return Int32Array.from(value.value);\n case \"Uint32Array\": return Uint32Array.from(value.value);\n case \"Float32Array\": return Float32Array.from(value.value);\n case \"Float64Array\": return Float64Array.from(value.value);\n case \"BigInt64Array\": return BigInt64Array.from(value.value);\n case \"BigUint64Array\": return BigUint64Array.from(value.value);\n default:\n return value.value;\n }\n }\n let newObj = {};\n for (const prop in value) {\n if (value.hasOwnProperty(prop)) {\n newObj[prop] = decodeValue(value[prop]);\n }\n }\n return newObj;\n } else {\n return value;\n }\n}\n\nexport function tests() {\n return {\n \"Uint8Array and primitives\": assert => {\n const value = {\n foo: \"bar\",\n bar: 5,\n baz: false,\n fuzz: new Uint8Array([3, 1, 2])\n };\n const serialized = stringify(value);\n assert.strictEqual(typeof serialized, \"string\");\n const deserialized = parse(serialized);\n assert.strictEqual(deserialized.foo, \"bar\");\n assert.strictEqual(deserialized.bar, 5);\n assert.strictEqual(deserialized.baz, false);\n assert(deserialized.fuzz instanceof Uint8Array);\n assert.strictEqual(deserialized.fuzz.length, 3);\n assert.strictEqual(deserialized.fuzz[0], 3);\n assert.strictEqual(deserialized.fuzz[1], 1);\n assert.strictEqual(deserialized.fuzz[2], 2);\n }\n }\n}\n","/*\nCopyright 2020 Bruno Windels \n\nLicensed under the Apache License, Version 2.0 (the \"License\");\nyou may not use this file except in compliance with the License.\nYou may obtain a copy of the License at\n\n http://www.apache.org/licenses/LICENSE-2.0\n\nUnless required by applicable law or agreed to in writing, software\ndistributed under the License is distributed on an \"AS IS\" BASIS,\nWITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\nSee the License for the specific language governing permissions and\nlimitations under the License.\n*/\nimport {Store} from \"../Store\";\nimport {IDOMStorage} from \"../types\";\nimport {SESSION_E2EE_KEY_PREFIX} from \"../../../e2ee/common.js\";\nimport {parse, stringify} from \"../../../../utils/typedJSON\";\nimport type {ILogItem} from \"../../../../logging/types\";\n\nexport interface SessionEntry {\n key: string;\n value: any;\n}\n\nexport class SessionStore {\n private _sessionStore: Store\n private _localStorage: IDOMStorage;\n\n constructor(sessionStore: Store, localStorage: IDOMStorage) {\n this._sessionStore = sessionStore;\n this._localStorage = localStorage;\n }\n\n private get _localStorageKeyPrefix(): string {\n return `${this._sessionStore.databaseName}.session.`;\n }\n\n async get(key: string): Promise {\n const entry = await this._sessionStore.get(key);\n if (entry) {\n return entry.value;\n }\n }\n\n _writeKeyToLocalStorage(key: string, value: any) {\n // we backup to localStorage so when idb gets cleared for some reason, we don't lose our e2ee identity\n try {\n const lsKey = this._localStorageKeyPrefix + key;\n const lsValue = stringify(value);\n this._localStorage.setItem(lsKey, lsValue);\n } catch (err) {\n console.error(\"could not write to localStorage\", err);\n }\n }\n\n writeE2EEIdentityToLocalStorage() {\n this._sessionStore.iterateValues(undefined, (entry: SessionEntry, key: string) => {\n if (key.startsWith(SESSION_E2EE_KEY_PREFIX)) {\n this._writeKeyToLocalStorage(key, entry.value);\n }\n return false;\n });\n }\n\n async tryRestoreE2EEIdentityFromLocalStorage(log: ILogItem): Promise {\n let success = false;\n const lsPrefix = this._localStorageKeyPrefix;\n const prefix = lsPrefix + SESSION_E2EE_KEY_PREFIX;\n for(let i = 0; i < this._localStorage.length; i += 1) {\n const lsKey = this._localStorage.key(i)!;\n if (lsKey.startsWith(prefix)) {\n const value = parse(this._localStorage.getItem(lsKey)!);\n const key = lsKey.substr(lsPrefix.length);\n // we check if we don't have this key already, as we don't want to override anything\n const hasKey = (await this._sessionStore.getKey(key)) === key;\n log.set(key, !hasKey);\n if (!hasKey) {\n this._sessionStore.put({key, value});\n success = true;\n }\n }\n }\n return success;\n }\n\n set(key: string, value: any): void {\n if (key.startsWith(SESSION_E2EE_KEY_PREFIX)) {\n this._writeKeyToLocalStorage(key, value);\n }\n this._sessionStore.put({key, value});\n }\n\n add(key: string, value: any): void {\n if (key.startsWith(SESSION_E2EE_KEY_PREFIX)) {\n this._writeKeyToLocalStorage(key, value);\n }\n this._sessionStore.add({key, value});\n }\n\n remove(key: string): void {\n if (key.startsWith(SESSION_E2EE_KEY_PREFIX)) {\n this._localStorage.removeItem(this._localStorageKeyPrefix + key);\n }\n this._sessionStore.delete(key);\n }\n}\n","/*\nCopyright 2020 Bruno Windels \n\nLicensed under the Apache License, Version 2.0 (the \"License\");\nyou may not use this file except in compliance with the License.\nYou may obtain a copy of the License at\n\n http://www.apache.org/licenses/LICENSE-2.0\n\nUnless required by applicable law or agreed to in writing, software\ndistributed under the License is distributed on an \"AS IS\" BASIS,\nWITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\nSee the License for the specific language governing permissions and\nlimitations under the License.\n*/\n\n/**\nstore contains:\n\troomId\n\tname\n\tlastMessage\n\tunreadCount\n\tmentionCount\n\tisEncrypted\n\tisDirectMessage\n\tmembership\n\tinviteCount\n\tjoinCount\n*/\nimport {Store} from \"../Store\";\nimport {SummaryData} from \"../../../room/RoomSummary\";\n\n/** Used for both roomSummary and archivedRoomSummary stores */\nexport class RoomSummaryStore {\n private _summaryStore: Store;\n\n constructor(summaryStore: Store) {\n this._summaryStore = summaryStore;\n }\n\n getAll(): Promise {\n return this._summaryStore.selectAll();\n }\n\n set(summary: SummaryData): void {\n this._summaryStore.put(summary);\n }\n\n get(roomId: string): Promise {\n return this._summaryStore.get(roomId);\n }\n\n async has(roomId: string): Promise {\n const fetchedKey = await this._summaryStore.getKey(roomId);\n return roomId === fetchedKey;\n }\n\n remove(roomId: string): void {\n this._summaryStore.delete(roomId);\n }\n}\n","/*\nCopyright 2021 The Matrix.org Foundation C.I.C.\n\nLicensed under the Apache License, Version 2.0 (the \"License\");\nyou may not use this file except in compliance with the License.\nYou may obtain a copy of the License at\n\n http://www.apache.org/licenses/LICENSE-2.0\n\nUnless required by applicable law or agreed to in writing, software\ndistributed under the License is distributed on an \"AS IS\" BASIS,\nWITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\nSee the License for the specific language governing permissions and\nlimitations under the License.\n*/\nimport {Store} from \"../Store\";\nimport {MemberData} from \"./RoomMemberStore\";\n\n// TODO: Move to Invite when that's TypeScript.\nexport interface InviteData {\n roomId: string;\n isEncrypted: boolean;\n isDirectMessage: boolean;\n name?: string;\n avatarUrl?: string;\n avatarColorId: number;\n canonicalAlias?: string;\n timestamp: number;\n joinRule: string;\n inviter?: MemberData;\n}\n\nexport class InviteStore {\n private _inviteStore: Store;\n\n constructor(inviteStore: Store) {\n this._inviteStore = inviteStore;\n }\n\n getAll(): Promise {\n return this._inviteStore.selectAll();\n }\n\n set(invite: InviteData): void {\n this._inviteStore.put(invite);\n }\n\n remove(roomId: string): void {\n this._inviteStore.delete(roomId);\n }\n}\n","/*\nCopyright 2021 The Matrix.org Foundation C.I.C.\n\nLicensed under the Apache License, Version 2.0 (the \"License\");\nyou may not use this file except in compliance with the License.\nYou may obtain a copy of the License at\n\n http://www.apache.org/licenses/LICENSE-2.0\n\nUnless required by applicable law or agreed to in writing, software\ndistributed under the License is distributed on an \"AS IS\" BASIS,\nWITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\nSee the License for the specific language governing permissions and\nlimitations under the License.\n*/\n\nimport type {ILogItem, ISerializedItem} from \"./types\";\n\nexport enum LogLevel {\n All = 1,\n Debug,\n Detail,\n Info,\n Warn,\n Error,\n Fatal,\n Off\n}\n\nexport class LogFilter {\n private _min?: LogLevel;\n private _parentFilter?: LogFilter;\n\n constructor(parentFilter?: LogFilter) {\n this._parentFilter = parentFilter;\n }\n\n filter(item: ILogItem, children: ISerializedItem[] | null): boolean {\n if (this._parentFilter) {\n if (!this._parentFilter.filter(item, children)) {\n return false;\n }\n }\n // neither our children or us have a loglevel high enough, filter out.\n if (this._min !== undefined && !Array.isArray(children) && item.logLevel < this._min) {\n return false;\n } else {\n return true;\n }\n }\n\n /* methods to build the filter */\n minLevel(logLevel: LogLevel): LogFilter {\n this._min = logLevel;\n return this;\n }\n}\n","/*\nCopyright 2021 The Matrix.org Foundation C.I.C.\n\nLicensed under the Apache License, Version 2.0 (the \"License\");\nyou may not use this file except in compliance with the License.\nYou may obtain a copy of the License at\n\n http://www.apache.org/licenses/LICENSE-2.0\n\nUnless required by applicable law or agreed to in writing, software\ndistributed under the License is distributed on an \"AS IS\" BASIS,\nWITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\nSee the License for the specific language governing permissions and\nlimitations under the License.\n*/\nimport {LogLevel} from \"./LogFilter\";\nimport type {ILogger, ILogExport, ILogItem, LabelOrValues, LogCallback, LogItemValues} from \"./types\";\n\nfunction noop (): void {}\n\nexport class NullLogger implements ILogger {\n public readonly item: ILogItem = new NullLogItem(this);\n\n log(): void {}\n\n run(_, callback: LogCallback): T {\n return callback(this.item); \n }\n\n wrapOrRun(item: ILogItem | undefined, _, callback: LogCallback): T {\n if (item) {\n return item.wrap(_, callback);\n } else {\n return this.run(_, callback);\n }\n }\n\n runDetached(_, callback): ILogItem {\n new Promise(r => r(callback(this.item))).then(noop, noop);\n return this.item;\n }\n\n async export(): Promise {\n return undefined;\n }\n\n get level(): typeof LogLevel {\n return LogLevel;\n }\n}\n\nexport class NullLogItem implements ILogItem {\n public readonly logger: NullLogger;\n public readonly logLevel: LogLevel;\n public children?: Array;\n public values: LogItemValues;\n public error?: Error;\n\n constructor(logger: NullLogger) {\n this.logger = logger;\n }\n\n wrap(_: LabelOrValues, callback: LogCallback): T {\n return callback(this);\n }\n\n log(): ILogItem {\n return this;\n }\n set(): ILogItem { return this; }\n\n runDetached(_: LabelOrValues, callback: LogCallback): ILogItem {\n new Promise(r => r(callback(this))).then(noop, noop);\n return this;\n }\n\n wrapDetached(_: LabelOrValues, _callback: LogCallback): void {\n return this.refDetached();\n }\n\n refDetached(): void {}\n\n ensureRefId(): void {}\n\n get level(): typeof LogLevel {\n return LogLevel;\n }\n\n get duration(): 0 {\n return 0;\n }\n\n catch(err: Error): Error {\n return err;\n }\n\n child(): ILogItem {\n return this;\n }\n\n finish(): void {}\n\n serialize(): undefined {\n return undefined;\n }\n}\n\nexport const Instance = new NullLogger(); \n","/*\nCopyright 2020 Bruno Windels \n\nLicensed under the Apache License, Version 2.0 (the \"License\");\nyou may not use this file except in compliance with the License.\nYou may obtain a copy of the License at\n\n http://www.apache.org/licenses/LICENSE-2.0\n\nUnless required by applicable law or agreed to in writing, software\ndistributed under the License is distributed on an \"AS IS\" BASIS,\nWITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\nSee the License for the specific language governing permissions and\nlimitations under the License.\n*/\n\nimport {EventKey} from \"../../../room/timeline/EventKey\";\nimport { StorageError } from \"../../common\";\nimport { encodeUint32, decodeUint32 } from \"../utils\";\nimport {KeyLimits} from \"../../common\";\nimport {Store} from \"../Store\";\nimport {TimelineEvent, StateEvent} from \"../../types\";\nimport {ILogItem} from \"../../../../logging/types\";\n\ninterface Annotation {\n count: number;\n me: boolean;\n firstTimestamp: number;\n}\n\ninterface TimelineEventEntry {\n roomId: string;\n fragmentId: number;\n eventIndex: number;\n event: TimelineEvent | StateEvent;\n displayName?: string;\n avatarUrl?: string;\n annotations?: { [key : string]: Annotation };\n}\n\ntype TimelineEventStorageEntry = TimelineEventEntry & { key: string, eventIdKey: string };\n\nfunction encodeKey(roomId: string, fragmentId: number, eventIndex: number): string {\n return `${roomId}|${encodeUint32(fragmentId)}|${encodeUint32(eventIndex)}`;\n}\n\nfunction decodeKey(key: string): { roomId: string, eventKey: EventKey } {\n const [roomId, fragmentId, eventIndex] = key.split(\"|\");\n return {roomId, eventKey: new EventKey(decodeUint32(fragmentId), decodeUint32(eventIndex))};\n}\n\nfunction encodeEventIdKey(roomId: string, eventId: string): string {\n return `${roomId}|${eventId}`;\n}\n\nfunction decodeEventIdKey(eventIdKey: string): { roomId: string, eventId: string } {\n const [roomId, eventId] = eventIdKey.split(\"|\");\n return {roomId, eventId};\n}\n\nclass Range {\n private _IDBKeyRange: typeof IDBKeyRange;\n private _only?: EventKey;\n private _lower?: EventKey;\n private _upper?: EventKey;\n private _lowerOpen: boolean;\n private _upperOpen: boolean;\n\n constructor(_IDBKeyRange: any, only?: EventKey, lower?: EventKey, upper?: EventKey, lowerOpen: boolean = false, upperOpen: boolean = false) {\n this._IDBKeyRange = _IDBKeyRange;\n this._only = only;\n this._lower = lower;\n this._upper = upper;\n this._lowerOpen = lowerOpen;\n this._upperOpen = upperOpen;\n }\n\n asIDBKeyRange(roomId: string): IDBKeyRange | undefined {\n try {\n // only\n if (this._only) {\n return this._IDBKeyRange.only(encodeKey(roomId, this._only.fragmentId, this._only.eventIndex));\n }\n // lowerBound\n // also bound as we don't want to move into another roomId\n if (this._lower && !this._upper) {\n return this._IDBKeyRange.bound(\n encodeKey(roomId, this._lower.fragmentId, this._lower.eventIndex),\n encodeKey(roomId, this._lower.fragmentId, KeyLimits.maxStorageKey),\n this._lowerOpen,\n false\n );\n }\n // upperBound\n // also bound as we don't want to move into another roomId\n if (!this._lower && this._upper) {\n return this._IDBKeyRange.bound(\n encodeKey(roomId, this._upper.fragmentId, KeyLimits.minStorageKey),\n encodeKey(roomId, this._upper.fragmentId, this._upper.eventIndex),\n false,\n this._upperOpen\n );\n }\n // bound\n if (this._lower && this._upper) {\n return this._IDBKeyRange.bound(\n encodeKey(roomId, this._lower.fragmentId, this._lower.eventIndex),\n encodeKey(roomId, this._upper.fragmentId, this._upper.eventIndex),\n this._lowerOpen,\n this._upperOpen\n );\n }\n } catch(err) {\n throw new StorageError(`IDBKeyRange failed with data: ` + JSON.stringify(this), err);\n }\n }\n}\n/*\n * @typedef {Object} Gap\n * @property {?string} prev_batch the pagination token for this backwards facing gap\n * @property {?string} next_batch the pagination token for this forwards facing gap\n *\n * @typedef {Object} Event\n * @property {string} event_id the id of the event\n * @property {string} type the\n * @property {?string} state_key the state key of this state event\n *\n * @typedef {Object} Entry\n * @property {string} roomId\n * @property {EventKey} eventKey\n * @property {?Event} event if an event entry, the event\n * @property {?Gap} gap if a gap entry, the gap\n*/\nexport class TimelineEventStore {\n private _timelineStore: Store;\n\n constructor(timelineStore: Store) {\n this._timelineStore = timelineStore;\n }\n\n /** Creates a range that only includes the given key\n * @param eventKey the key\n * @return the created range\n */\n onlyRange(eventKey: EventKey): Range {\n return new Range(this._timelineStore.IDBKeyRange, eventKey);\n }\n\n /** Creates a range that includes all keys before eventKey, and optionally also the key itself.\n * @param eventKey the key\n * @param [open=false] whether the key is included (false) or excluded (true) from the range at the upper end.\n * @return the created range\n */\n upperBoundRange(eventKey: EventKey, open=false): Range {\n return new Range(this._timelineStore.IDBKeyRange, undefined, undefined, eventKey, undefined, open);\n }\n\n /** Creates a range that includes all keys after eventKey, and optionally also the key itself.\n * @param eventKey the key\n * @param [open=false] whether the key is included (false) or excluded (true) from the range at the lower end.\n * @return the created range\n */\n lowerBoundRange(eventKey: EventKey, open=false): Range {\n return new Range(this._timelineStore.IDBKeyRange, undefined, eventKey, undefined, open);\n }\n\n /** Creates a range that includes all keys between `lower` and `upper`, and optionally the given keys as well.\n * @param lower the lower key\n * @param upper the upper key\n * @param [lowerOpen=false] whether the lower key is included (false) or excluded (true) from the range.\n * @param [upperOpen=false] whether the upper key is included (false) or excluded (true) from the range.\n * @return the created range\n */\n boundRange(lower: EventKey, upper: EventKey, lowerOpen=false, upperOpen=false): Range {\n return new Range(this._timelineStore.IDBKeyRange, undefined, lower, upper, lowerOpen, upperOpen);\n }\n\n /** Looks up the last `amount` entries in the timeline for `roomId`.\n * @param roomId\n * @param fragmentId\n * @param amount\n * @return a promise resolving to an array with 0 or more entries, in ascending order.\n */\n async lastEvents(roomId: string, fragmentId: number, amount: number): Promise {\n const eventKey = EventKey.maxKey;\n eventKey.fragmentId = fragmentId;\n return this.eventsBefore(roomId, eventKey, amount);\n }\n\n /** Looks up the first `amount` entries in the timeline for `roomId`.\n * @param roomId\n * @param fragmentId\n * @param amount\n * @return a promise resolving to an array with 0 or more entries, in ascending order.\n */\n async firstEvents(roomId: string, fragmentId: number, amount: number): Promise {\n const eventKey = EventKey.minKey;\n eventKey.fragmentId = fragmentId;\n return this.eventsAfter(roomId, eventKey, amount);\n }\n\n /** Looks up `amount` entries after `eventKey` in the timeline for `roomId` within the same fragment.\n * The entry for `eventKey` is not included.\n * @param roomId\n * @param eventKey\n * @param amount\n * @return a promise resolving to an array with 0 or more entries, in ascending order.\n */\n eventsAfter(roomId: string, eventKey: EventKey, amount: number): Promise {\n const idbRange = this.lowerBoundRange(eventKey, true).asIDBKeyRange(roomId);\n return this._timelineStore.selectLimit(idbRange, amount);\n }\n\n /** Looks up `amount` entries before `eventKey` in the timeline for `roomId` within the same fragment.\n * The entry for `eventKey` is not included.\n * @param roomId\n * @param eventKey\n * @param amount\n * @return a promise resolving to an array with 0 or more entries, in ascending order.\n */\n async eventsBefore(roomId: string, eventKey: EventKey, amount: number): Promise {\n const range = this.upperBoundRange(eventKey, true).asIDBKeyRange(roomId);\n const events = await this._timelineStore.selectLimitReverse(range, amount);\n events.reverse(); // because we fetched them backwards\n return events;\n }\n\n async getEventKeysForIds(roomId: string, eventIds: string[]): Promise> {\n const byEventId = this._timelineStore.index(\"byEventId\");\n const keys = eventIds.map(eventId => encodeEventIdKey(roomId, eventId));\n const results = new Map();\n await byEventId.findExistingKeys(keys, false, (indexKey, pk) => {\n const {eventId} = decodeEventIdKey(indexKey as string);\n const {eventKey} = decodeKey(pk as string);\n results.set(eventId, eventKey);\n return false;\n });\n return results;\n }\n\n /** Finds the first eventId that occurs in the store, if any.\n * For optimal performance, `eventIds` should be in chronological order.\n *\n * The order in which results are returned might be different than `eventIds`.\n * Call the return value to obtain the next {id, event} pair.\n * @param roomId\n * @param eventIds\n * @return\n */\n // performance comment from above refers to the fact that there *might*\n // be a correlation between event_id sorting order and chronology.\n // In that case we could avoid running over all eventIds, as the reported order by findExistingKeys\n // would match the order of eventIds. That's why findLast is also passed as backwards to keysExist.\n // also passing them in chronological order makes sense as that's how we'll receive them almost always.\n async findFirstOccurringEventId(roomId: string, eventIds: string[]): Promise {\n const byEventId = this._timelineStore.index(\"byEventId\");\n const keys = eventIds.map(eventId => encodeEventIdKey(roomId, eventId));\n const results = new Array(keys.length);\n let firstFoundKey: string | undefined;\n\n // find first result that is found and has no undefined results before it\n function firstFoundAndPrecedingResolved(): string | undefined {\n for(let i = 0; i < results.length; ++i) {\n if (results[i] === undefined) {\n return;\n } else if(results[i] === true) {\n return keys[i];\n }\n }\n }\n\n await byEventId.findExistingKeys(keys, false, (key, found) => {\n // T[].search(T, number), but we want T[].search(R, number), so cast\n const index = (keys as IDBValidKey[]).indexOf(key);\n results[index] = found;\n firstFoundKey = firstFoundAndPrecedingResolved();\n return !!firstFoundKey;\n });\n return firstFoundKey && decodeEventIdKey(firstFoundKey).eventId;\n }\n\n /** Inserts a new entry into the store.\n * \n * If the event already exists in the store (either the eventKey or the event id\n * are already known for the given roomId), this operation has no effect.\n * \n * Returns if the event was not yet known and the entry was written.\n */\n tryInsert(entry: TimelineEventEntry, log: ILogItem): Promise {\n (entry as TimelineEventStorageEntry).key = encodeKey(entry.roomId, entry.fragmentId, entry.eventIndex);\n (entry as TimelineEventStorageEntry).eventIdKey = encodeEventIdKey(entry.roomId, entry.event.event_id);\n return this._timelineStore.tryAdd(entry as TimelineEventStorageEntry, log);\n }\n\n /** Updates the entry into the store with the given [roomId, eventKey] combination.\n * If not yet present, will insert. Might be slower than add.\n * @param entry the entry to update.\n * @return nothing. To wait for the operation to finish, await the transaction it's part of.\n */\n update(entry: TimelineEventEntry): void {\n this._timelineStore.put(entry as TimelineEventStorageEntry);\n }\n\n get(roomId: string, eventKey: EventKey): Promise {\n return this._timelineStore.get(encodeKey(roomId, eventKey.fragmentId, eventKey.eventIndex));\n }\n\n getByEventId(roomId: string, eventId: string): Promise {\n return this._timelineStore.index(\"byEventId\").get(encodeEventIdKey(roomId, eventId));\n }\n\n removeAllForRoom(roomId: string): void {\n const minKey = encodeKey(roomId, KeyLimits.minStorageKey, KeyLimits.minStorageKey);\n const maxKey = encodeKey(roomId, KeyLimits.maxStorageKey, KeyLimits.maxStorageKey);\n const range = this._timelineStore.IDBKeyRange.bound(minKey, maxKey);\n this._timelineStore.delete(range);\n }\n}\n\nimport {createMockStorage} from \"../../../../mocks/Storage\";\nimport {createEvent, withTextBody} from \"../../../../mocks/event.js\";\nimport {createEventEntry} from \"../../../room/timeline/persistence/common.js\";\nimport {Instance as nullLogger} from \"../../../../logging/NullLogger\";\n\nexport function tests() {\n\n const sortedIds = [\n \"$2wZy1W-QdcwaAwz68nfz1oc-3SsZKVDy8d86ERP1Pm0\",\n \"$4RWaZ5142grUgTnQyr_5qiPTOwzAOimt5MsXg6m1diM\",\n \"$4izqHE2Wf5US_-e_za942pZ10CDNJjDncUMmhqBUVQw\",\n \"$Oil2Afq2cBLqMAeJTAHjA3Is9T5Wmaa2ogVRlFJ_gzE\",\n \"$Wyl-7u-YqnPJElkPufIRXRFTYP-eFxQ4iD-SmLQo2Rw\",\n \"$b-eWaZtp22vL9mp0h7odbpphOZQ-rnp54qjyTQPARgo\",\n \"$sS9rTv8u2m9o4RaMI2jGOnpMtb9t8_0euiQLhNFW380\",\n \"$uZLkB9rzTKvJAK2QrQNX-prwQ2Niajdi0fvvRnyCtz8\",\n \"$vGecIBZFex9_vlQf1E1LjtQXE3q5GwERIHMiy4mOWv0\",\n \"$vdLgAnwjHj0cicU3MA4ynLHUBGOIFhvvksY3loqzjF\",\n ];\n\n const insertedIds = [\n sortedIds[5],\n sortedIds[3],\n sortedIds[9],\n sortedIds[7],\n sortedIds[1],\n ];\n\n const checkedIds = [\n sortedIds[2],\n sortedIds[4],\n sortedIds[3],\n sortedIds[0],\n sortedIds[8],\n sortedIds[9],\n sortedIds[6],\n ];\n\n const roomId = \"!fjsdf423423jksdfdsf:hs.tld\";\n\n function createEventWithId(id) {\n return withTextBody(\"hello\", createEvent(\"m.room.message\", id, \"@alice:hs.tld\"));\n }\n\n return {\n \"getEventKeysForIds\": async assert => {\n const storage = await createMockStorage();\n const txn = await storage.readWriteTxn([storage.storeNames.timelineEvents]);\n let eventKey = EventKey.defaultFragmentKey(109);\n for (const insertedId of insertedIds) {\n const entry = createEventEntry(eventKey.nextKey(), roomId, createEventWithId(insertedId));\n assert(await txn.timelineEvents.tryInsert(entry, nullLogger.item));\n eventKey = eventKey.nextKey();\n }\n const eventKeyMap = await txn.timelineEvents.getEventKeysForIds(roomId, checkedIds);\n assert.equal(eventKeyMap.size, 2);\n const eventKey1 = eventKeyMap.get(\"$Oil2Afq2cBLqMAeJTAHjA3Is9T5Wmaa2ogVRlFJ_gzE\")!;\n assert.equal(eventKey1.fragmentId, 109);\n assert.equal(eventKey1.eventIndex, 0x80000001);\n const eventKey2 = eventKeyMap.get(\"$vdLgAnwjHj0cicU3MA4ynLHUBGOIFhvvksY3loqzjF\")!;\n assert.equal(eventKey2.fragmentId, 109);\n assert.equal(eventKey2.eventIndex, 0x80000002);\n }\n }\n}\n","/*\nCopyright 2021 The Matrix.org Foundation C.I.C.\n\nLicensed under the Apache License, Version 2.0 (the \"License\");\nyou may not use this file except in compliance with the License.\nYou may obtain a copy of the License at\n\n http://www.apache.org/licenses/LICENSE-2.0\n\nUnless required by applicable law or agreed to in writing, software\ndistributed under the License is distributed on an \"AS IS\" BASIS,\nWITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\nSee the License for the specific language governing permissions and\nlimitations under the License.\n*/\n\nexport const MIN_UNICODE = \"\\u{0}\";\nexport const MAX_UNICODE = \"\\u{10FFFF}\";\n","/*\nCopyright 2021 The Matrix.org Foundation C.I.C.\n\nLicensed under the Apache License, Version 2.0 (the \"License\");\nyou may not use this file except in compliance with the License.\nYou may obtain a copy of the License at\n\n http://www.apache.org/licenses/LICENSE-2.0\n\nUnless required by applicable law or agreed to in writing, software\ndistributed under the License is distributed on an \"AS IS\" BASIS,\nWITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\nSee the License for the specific language governing permissions and\nlimitations under the License.\n*/\nimport {MIN_UNICODE, MAX_UNICODE} from \"./common\";\nimport {Store} from \"../Store\";\n\nfunction encodeKey(roomId: string, targetEventId: string, relType: string, sourceEventId: string): string {\n return `${roomId}|${targetEventId}|${relType}|${sourceEventId}`;\n}\n\ninterface RelationEntry {\n roomId: string;\n targetEventId: string;\n sourceEventId: string;\n relType: string;\n}\n\nfunction decodeKey(key: string): RelationEntry {\n const [roomId, targetEventId, relType, sourceEventId] = key.split(\"|\");\n return {roomId, targetEventId, relType, sourceEventId};\n}\n\nexport class TimelineRelationStore {\n private _store: Store<{ key: string }>;\n\n constructor(store: Store<{ key: string }>) {\n this._store = store;\n }\n\n add(roomId: string, targetEventId: string, relType: string, sourceEventId: string): void {\n this._store.add({key: encodeKey(roomId, targetEventId, relType, sourceEventId)});\n }\n\n remove(roomId: string, targetEventId: string, relType: string, sourceEventId: string): void {\n this._store.delete(encodeKey(roomId, targetEventId, relType, sourceEventId));\n }\n\n removeAllForTarget(roomId: string, targetId: string): void {\n const range = this._store.IDBKeyRange.bound(\n encodeKey(roomId, targetId, MIN_UNICODE, MIN_UNICODE),\n encodeKey(roomId, targetId, MAX_UNICODE, MAX_UNICODE),\n true,\n true\n );\n this._store.delete(range);\n }\n\n removeAllForRoom(roomId: string) {\n const range = this._store.IDBKeyRange.bound(\n encodeKey(roomId, MIN_UNICODE, MIN_UNICODE, MIN_UNICODE),\n encodeKey(roomId, MAX_UNICODE, MAX_UNICODE, MAX_UNICODE),\n true,\n true\n );\n this._store.delete(range);\n }\n\n async getForTargetAndType(roomId: string, targetId: string, relType: string): Promise {\n // exclude both keys as they are theoretical min and max,\n // but we should't have a match for just the room id, or room id with max\n const range = this._store.IDBKeyRange.bound(\n encodeKey(roomId, targetId, relType, MIN_UNICODE),\n encodeKey(roomId, targetId, relType, MAX_UNICODE),\n true,\n true\n );\n const items = await this._store.selectAll(range);\n return items.map(i => decodeKey(i.key));\n }\n\n async getAllForTarget(roomId: string, targetId: string): Promise {\n // exclude both keys as they are theoretical min and max,\n // but we should't have a match for just the room id, or room id with max\n const range = this._store.IDBKeyRange.bound(\n encodeKey(roomId, targetId, MIN_UNICODE, MIN_UNICODE),\n encodeKey(roomId, targetId, MAX_UNICODE, MAX_UNICODE),\n true,\n true\n );\n const items = await this._store.selectAll(range);\n return items.map(i => decodeKey(i.key));\n }\n}\n","/*\nCopyright 2020 Bruno Windels \nCopyright 2021 The Matrix.org Foundation C.I.C.\n\nLicensed under the Apache License, Version 2.0 (the \"License\");\nyou may not use this file except in compliance with the License.\nYou may obtain a copy of the License at\n\n http://www.apache.org/licenses/LICENSE-2.0\n\nUnless required by applicable law or agreed to in writing, software\ndistributed under the License is distributed on an \"AS IS\" BASIS,\nWITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\nSee the License for the specific language governing permissions and\nlimitations under the License.\n*/\n\nimport {MAX_UNICODE} from \"./common\";\nimport {Store} from \"../Store\";\nimport {StateEvent} from \"../../types\";\n\nfunction encodeKey(roomId: string, eventType: string, stateKey: string) {\n return `${roomId}|${eventType}|${stateKey}`;\n}\n\nexport interface RoomStateEntry {\n roomId: string;\n event: StateEvent;\n key: string;\n}\n\nexport class RoomStateStore {\n private _roomStateStore: Store;\n\n constructor(idbStore: Store) {\n this._roomStateStore = idbStore;\n }\n\n get(roomId: string, type: string, stateKey: string): Promise {\n const key = encodeKey(roomId, type, stateKey);\n return this._roomStateStore.get(key);\n }\n\n set(roomId: string, event: StateEvent): void {\n const key = encodeKey(roomId, event.type, event.state_key);\n const entry = {roomId, event, key};\n this._roomStateStore.put(entry);\n }\n\n removeAllForRoom(roomId: string): void {\n // exclude both keys as they are theoretical min and max,\n // but we should't have a match for just the room id, or room id with max\n const range = this._roomStateStore.IDBKeyRange.bound(roomId, `${roomId}|${MAX_UNICODE}`, true, true);\n this._roomStateStore.delete(range);\n }\n}\n","/*\nCopyright 2020 Bruno Windels \nCopyright 2020, 2021 The Matrix.org Foundation C.I.C.\n\nLicensed under the Apache License, Version 2.0 (the \"License\");\nyou may not use this file except in compliance with the License.\nYou may obtain a copy of the License at\n\n http://www.apache.org/licenses/LICENSE-2.0\n\nUnless required by applicable law or agreed to in writing, software\ndistributed under the License is distributed on an \"AS IS\" BASIS,\nWITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\nSee the License for the specific language governing permissions and\nlimitations under the License.\n*/\n\nimport {MAX_UNICODE} from \"./common\";\nimport {Store} from \"../Store\";\n\nfunction encodeKey(roomId: string, userId: string) {\n return `${roomId}|${userId}`;\n}\n\nfunction decodeKey(key: string): { roomId: string, userId: string } {\n const [roomId, userId] = key.split(\"|\");\n return {roomId, userId};\n}\n\n// TODO: Move to RoomMember when that's TypeScript.\nexport interface MemberData {\n roomId: string;\n userId: string;\n avatarUrl: string;\n displayName: string;\n membership: \"join\" | \"leave\" | \"invite\" | \"ban\";\n}\n\ntype MemberStorageEntry = MemberData & { key: string }\n\n// no historical members\nexport class RoomMemberStore {\n private _roomMembersStore: Store;\n\n constructor(roomMembersStore: Store) {\n this._roomMembersStore = roomMembersStore;\n }\n\n get(roomId: string, userId: string): Promise {\n return this._roomMembersStore.get(encodeKey(roomId, userId));\n }\n\n set(member: MemberData): void {\n // Object.assign would be more typesafe, but small objects \n (member as MemberStorageEntry).key = encodeKey(member.roomId, member.userId);\n this._roomMembersStore.put(member as MemberStorageEntry);\n }\n\n getAll(roomId: string): Promise {\n const range = this._roomMembersStore.IDBKeyRange.lowerBound(encodeKey(roomId, \"\"));\n return this._roomMembersStore.selectWhile(range, member => {\n return member.roomId === roomId;\n });\n }\n\n async getAllUserIds(roomId: string): Promise {\n const userIds: string[] = [];\n const range = this._roomMembersStore.IDBKeyRange.lowerBound(encodeKey(roomId, \"\"));\n await this._roomMembersStore.iterateKeys(range, key => {\n const decodedKey = decodeKey(key as string);\n // prevent running into the next room\n if (decodedKey.roomId === roomId) {\n userIds.push(decodedKey.userId);\n return false; // fetch more\n }\n return true; // done\n });\n return userIds;\n }\n\n removeAllForRoom(roomId: string): void {\n // exclude both keys as they are theoretical min and max,\n // but we should't have a match for just the room id, or room id with max\n const range = this._roomMembersStore.IDBKeyRange.bound(roomId, `${roomId}|${MAX_UNICODE}`, true, true);\n this._roomMembersStore.delete(range);\n }\n}\n","/*\nCopyright 2020 Bruno Windels \n\nLicensed under the Apache License, Version 2.0 (the \"License\");\nyou may not use this file except in compliance with the License.\nYou may obtain a copy of the License at\n\n http://www.apache.org/licenses/LICENSE-2.0\n\nUnless required by applicable law or agreed to in writing, software\ndistributed under the License is distributed on an \"AS IS\" BASIS,\nWITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\nSee the License for the specific language governing permissions and\nlimitations under the License.\n*/\n\nimport { StorageError } from \"../../common\";\nimport {KeyLimits} from \"../../common\";\nimport { encodeUint32 } from \"../utils\";\nimport {Store} from \"../Store\";\n\ninterface Fragment {\n roomId: string;\n id: number;\n previousId: number | null;\n nextId: number | null;\n previousToken: string | null;\n nextToken: string | null;\n}\n\ntype FragmentEntry = Fragment & { key: string }\n\nfunction encodeKey(roomId: string, fragmentId: number): string {\n return `${roomId}|${encodeUint32(fragmentId)}`;\n}\n\nexport class TimelineFragmentStore {\n private _store: Store;\n\n constructor(store: Store) {\n this._store = store;\n }\n\n _allRange(roomId: string): IDBKeyRange {\n try {\n return this._store.IDBKeyRange.bound(\n encodeKey(roomId, KeyLimits.minStorageKey),\n encodeKey(roomId, KeyLimits.maxStorageKey)\n );\n } catch (err) {\n throw new StorageError(`error from IDBKeyRange with roomId ${roomId}`, err);\n }\n }\n\n all(roomId: string): Promise {\n return this._store.selectAll(this._allRange(roomId));\n }\n\n /** Returns the fragment without a nextToken and without nextId,\n if any, with the largest id if there are multiple (which should not happen) */\n liveFragment(roomId: string): Promise {\n // why do we need this?\n // Ok, take the case where you've got a /context fragment and a /sync fragment\n // They are not connected. So, upon loading the persister, which one do we take? We can't sort them ...\n // we assume that the one without a nextToken and without a nextId is a live one\n // there should really be only one like this\n\n // reverse because assuming live fragment has bigger id than non-live ones\n return this._store.findReverse(this._allRange(roomId), fragment => {\n return typeof fragment.nextId !== \"number\" && typeof fragment.nextToken !== \"string\";\n });\n }\n\n // should generate an id an return it?\n // depends if we want to do anything smart with fragment ids,\n // like give them meaning depending on range. not for now probably ...\n add(fragment: Fragment): void {\n (fragment as FragmentEntry).key = encodeKey(fragment.roomId, fragment.id);\n this._store.add(fragment as FragmentEntry);\n }\n\n update(fragment: FragmentEntry): void {\n this._store.put(fragment);\n }\n\n get(roomId: string, fragmentId: number): Promise {\n return this._store.get(encodeKey(roomId, fragmentId));\n }\n\n removeAllForRoom(roomId: string): void {\n this._store.delete(this._allRange(roomId));\n }\n}\n","/*\nCopyright 2020 Bruno Windels \n\nLicensed under the Apache License, Version 2.0 (the \"License\");\nyou may not use this file except in compliance with the License.\nYou may obtain a copy of the License at\n\n http://www.apache.org/licenses/LICENSE-2.0\n\nUnless required by applicable law or agreed to in writing, software\ndistributed under the License is distributed on an \"AS IS\" BASIS,\nWITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\nSee the License for the specific language governing permissions and\nlimitations under the License.\n*/\n\nimport { encodeUint32, decodeUint32 } from \"../utils\";\nimport {KeyLimits} from \"../../common\";\nimport {Store} from \"../Store\";\nimport {Content} from \"../../types\";\n\ninterface PendingEntry {\n roomId: string;\n queueIndex: number;\n eventType: string;\n content: Content;\n relatexTxnId: string | null;\n relatedEventId: string | null;\n txnId?: string;\n needsEncryption: boolean;\n needsUpload: boolean;\n key: string;\n}\n\nfunction encodeKey(roomId: string, queueIndex: number): string {\n return `${roomId}|${encodeUint32(queueIndex)}`;\n}\n\nfunction decodeKey(key: string): { roomId: string, queueIndex: number } {\n const [roomId, encodedQueueIndex] = key.split(\"|\");\n const queueIndex = decodeUint32(encodedQueueIndex);\n return {roomId, queueIndex};\n}\n\nexport class PendingEventStore {\n private _eventStore: Store;\n\n constructor(eventStore: Store) {\n this._eventStore = eventStore;\n }\n\n async getMaxQueueIndex(roomId: string): Promise {\n const range = this._eventStore.IDBKeyRange.bound(\n encodeKey(roomId, KeyLimits.minStorageKey),\n encodeKey(roomId, KeyLimits.maxStorageKey),\n false,\n false,\n );\n const maxKey = await this._eventStore.findMaxKey(range);\n if (maxKey) {\n return decodeKey(maxKey as string).queueIndex;\n }\n }\n\n remove(roomId: string, queueIndex: number) {\n const keyRange = this._eventStore.IDBKeyRange.only(encodeKey(roomId, queueIndex));\n this._eventStore.delete(keyRange);\n }\n\n async exists(roomId: string, queueIndex: number): Promise {\n const keyRange = this._eventStore.IDBKeyRange.only(encodeKey(roomId, queueIndex));\n const key = await this._eventStore.getKey(keyRange);\n return !!key;\n }\n \n add(pendingEvent: PendingEntry): void {\n pendingEvent.key = encodeKey(pendingEvent.roomId, pendingEvent.queueIndex);\n this._eventStore.add(pendingEvent);\n }\n\n update(pendingEvent: PendingEntry): void {\n this._eventStore.put(pendingEvent);\n }\n\n getAll(): Promise {\n return this._eventStore.selectAll();\n }\n\n removeAllForRoom(roomId: string): void {\n const minKey = encodeKey(roomId, KeyLimits.minStorageKey);\n const maxKey = encodeKey(roomId, KeyLimits.maxStorageKey);\n const range = this._eventStore.IDBKeyRange.bound(minKey, maxKey);\n this._eventStore.delete(range);\n }\n}\n","/*\nCopyright 2020 The Matrix.org Foundation C.I.C.\n\nLicensed under the Apache License, Version 2.0 (the \"License\");\nyou may not use this file except in compliance with the License.\nYou may obtain a copy of the License at\n\n http://www.apache.org/licenses/LICENSE-2.0\n\nUnless required by applicable law or agreed to in writing, software\ndistributed under the License is distributed on an \"AS IS\" BASIS,\nWITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\nSee the License for the specific language governing permissions and\nlimitations under the License.\n*/\nimport {Store} from \"../Store\";\n\ninterface UserIdentity {\n userId: string;\n roomIds: string[];\n deviceTrackingStatus: number;\n}\n\nexport class UserIdentityStore {\n private _store: Store;\n\n constructor(store: Store) {\n this._store = store;\n }\n\n get(userId: string): Promise {\n return this._store.get(userId);\n }\n\n set(userIdentity: UserIdentity): void {\n this._store.put(userIdentity);\n }\n\n remove(userId: string): void {\n this._store.delete(userId);\n }\n}\n","/*\nCopyright 2020 The Matrix.org Foundation C.I.C.\n\nLicensed under the Apache License, Version 2.0 (the \"License\");\nyou may not use this file except in compliance with the License.\nYou may obtain a copy of the License at\n\n http://www.apache.org/licenses/LICENSE-2.0\n\nUnless required by applicable law or agreed to in writing, software\ndistributed under the License is distributed on an \"AS IS\" BASIS,\nWITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\nSee the License for the specific language governing permissions and\nlimitations under the License.\n*/\n\nimport {MAX_UNICODE, MIN_UNICODE} from \"./common\";\nimport {Store} from \"../Store\";\n\nexport interface DeviceIdentity {\n userId: string;\n deviceId: string;\n ed25519Key: string;\n curve25519Key: string;\n algorithms: string[];\n displayName: string;\n key: string;\n}\n\nfunction encodeKey(userId: string, deviceId: string): string {\n return `${userId}|${deviceId}`;\n}\n\nfunction decodeKey(key: string): { userId: string, deviceId: string } {\n const [userId, deviceId] = key.split(\"|\");\n return {userId, deviceId};\n}\n\nexport class DeviceIdentityStore {\n private _store: Store;\n \n constructor(store: Store) {\n this._store = store;\n }\n\n getAllForUserId(userId: string): Promise {\n const range = this._store.IDBKeyRange.lowerBound(encodeKey(userId, \"\"));\n return this._store.selectWhile(range, device => {\n return device.userId === userId;\n });\n }\n\n async getAllDeviceIds(userId: string): Promise {\n const deviceIds: string[] = [];\n const range = this._store.IDBKeyRange.lowerBound(encodeKey(userId, \"\"));\n await this._store.iterateKeys(range, key => {\n const decodedKey = decodeKey(key as string);\n // prevent running into the next room\n if (decodedKey.userId === userId) {\n deviceIds.push(decodedKey.deviceId);\n return false; // fetch more\n }\n return true; // done\n });\n return deviceIds;\n }\n\n get(userId: string, deviceId: string): Promise {\n return this._store.get(encodeKey(userId, deviceId));\n }\n\n set(deviceIdentity: DeviceIdentity): void {\n deviceIdentity.key = encodeKey(deviceIdentity.userId, deviceIdentity.deviceId);\n this._store.put(deviceIdentity);\n }\n\n getByCurve25519Key(curve25519Key: string): Promise {\n return this._store.index(\"byCurve25519Key\").get(curve25519Key);\n }\n\n remove(userId: string, deviceId: string): void {\n this._store.delete(encodeKey(userId, deviceId));\n }\n\n removeAllForUser(userId: string): void {\n // exclude both keys as they are theoretical min and max,\n // but we should't have a match for just the room id, or room id with max\n const range = this._store.IDBKeyRange.bound(encodeKey(userId, MIN_UNICODE), encodeKey(userId, MAX_UNICODE), true, true);\n this._store.delete(range);\n }\n}\n","/*\nCopyright 2020 The Matrix.org Foundation C.I.C.\n\nLicensed under the Apache License, Version 2.0 (the \"License\");\nyou may not use this file except in compliance with the License.\nYou may obtain a copy of the License at\n\n http://www.apache.org/licenses/LICENSE-2.0\n\nUnless required by applicable law or agreed to in writing, software\ndistributed under the License is distributed on an \"AS IS\" BASIS,\nWITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\nSee the License for the specific language governing permissions and\nlimitations under the License.\n*/\nimport {Store} from \"../Store\";\n\nfunction encodeKey(senderKey: string, sessionId: string): string {\n return `${senderKey}|${sessionId}`;\n}\n\nfunction decodeKey(key: string): { senderKey: string, sessionId: string } {\n const [senderKey, sessionId] = key.split(\"|\");\n return {senderKey, sessionId};\n}\n\nexport type OlmSessionEntry = {\n session: string;\n sessionId: string;\n senderKey: string;\n lastUsed: number;\n}\n\ntype OlmSessionStoredEntry = OlmSessionEntry & { key: string };\n\nexport class OlmSessionStore {\n private _store: Store;\n\n constructor(store: Store) {\n this._store = store;\n }\n\n async getSessionIds(senderKey: string): Promise {\n const sessionIds: string[] = [];\n const range = this._store.IDBKeyRange.lowerBound(encodeKey(senderKey, \"\"));\n await this._store.iterateKeys(range, key => {\n const decodedKey = decodeKey(key as string);\n // prevent running into the next room\n if (decodedKey.senderKey === senderKey) {\n sessionIds.push(decodedKey.sessionId);\n return false; // fetch more\n }\n return true; // done\n });\n return sessionIds;\n }\n\n getAll(senderKey: string): Promise {\n const range = this._store.IDBKeyRange.lowerBound(encodeKey(senderKey, \"\"));\n return this._store.selectWhile(range, session => {\n return session.senderKey === senderKey;\n });\n }\n\n get(senderKey: string, sessionId: string): Promise {\n return this._store.get(encodeKey(senderKey, sessionId));\n }\n\n set(session: OlmSessionEntry): void {\n (session as OlmSessionStoredEntry).key = encodeKey(session.senderKey, session.sessionId);\n this._store.put(session as OlmSessionStoredEntry);\n }\n\n remove(senderKey: string, sessionId: string): void {\n this._store.delete(encodeKey(senderKey, sessionId));\n }\n}\n","/*\nCopyright 2020 The Matrix.org Foundation C.I.C.\n\nLicensed under the Apache License, Version 2.0 (the \"License\");\nyou may not use this file except in compliance with the License.\nYou may obtain a copy of the License at\n\n http://www.apache.org/licenses/LICENSE-2.0\n\nUnless required by applicable law or agreed to in writing, software\ndistributed under the License is distributed on an \"AS IS\" BASIS,\nWITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\nSee the License for the specific language governing permissions and\nlimitations under the License.\n*/\n\nimport {MIN_UNICODE, MAX_UNICODE} from \"./common\";\nimport {Store} from \"../Store\";\n\nexport enum BackupStatus {\n NotBackedUp = 0,\n BackedUp = 1\n}\n\nexport enum KeySource {\n DeviceMessage = 1,\n Backup,\n Outbound\n}\n\nexport interface InboundGroupSessionEntry {\n roomId: string;\n senderKey: string;\n sessionId: string;\n session?: string;\n claimedKeys?: { [algorithm : string] : string };\n eventIds?: string[];\n backup: BackupStatus,\n source: KeySource\n}\n\ntype InboundGroupSessionStorageEntry = InboundGroupSessionEntry & { key: string };\n\n\nfunction encodeKey(roomId: string, senderKey: string, sessionId: string): string {\n return `${roomId}|${senderKey}|${sessionId}`;\n}\n\nexport class InboundGroupSessionStore {\n private _store: Store;\n\n constructor(store: Store) {\n this._store = store;\n }\n\n async has(roomId: string, senderKey: string, sessionId: string): Promise {\n const key = encodeKey(roomId, senderKey, sessionId);\n const fetchedKey = await this._store.getKey(key);\n return key === fetchedKey;\n }\n\n get(roomId: string, senderKey: string, sessionId: string): Promise {\n return this._store.get(encodeKey(roomId, senderKey, sessionId));\n }\n\n set(session: InboundGroupSessionEntry): void {\n const storageEntry = session as InboundGroupSessionStorageEntry;\n storageEntry.key = encodeKey(session.roomId, session.senderKey, session.sessionId);\n this._store.put(storageEntry);\n }\n\n removeAllForRoom(roomId: string) {\n const range = this._store.IDBKeyRange.bound(\n encodeKey(roomId, MIN_UNICODE, MIN_UNICODE),\n encodeKey(roomId, MAX_UNICODE, MAX_UNICODE)\n );\n this._store.delete(range);\n }\n countNonBackedUpSessions(): Promise {\n return this._store.index(\"byBackup\").count(this._store.IDBKeyRange.only(BackupStatus.NotBackedUp));\n }\n\n getFirstNonBackedUpSessions(amount: number): Promise {\n return this._store.index(\"byBackup\").selectLimit(this._store.IDBKeyRange.only(BackupStatus.NotBackedUp), amount);\n }\n\n async markAsBackedUp(roomId: string, senderKey: string, sessionId: string): Promise {\n const entry = await this._store.get(encodeKey(roomId, senderKey, sessionId));\n if (entry) {\n entry.backup = BackupStatus.BackedUp;\n this._store.put(entry);\n }\n }\n\n async markAllAsNotBackedUp(): Promise {\n const backedUpKey = this._store.IDBKeyRange.only(BackupStatus.BackedUp);\n let count = 0;\n await this._store.index(\"byBackup\").iterateValues(backedUpKey, (val: InboundGroupSessionEntry, key: IDBValidKey, cur: IDBCursorWithValue) => {\n val.backup = BackupStatus.NotBackedUp;\n cur.update(val);\n count += 1;\n return false;\n });\n return count;\n }\n}\n","/*\nCopyright 2020 The Matrix.org Foundation C.I.C.\n\nLicensed under the Apache License, Version 2.0 (the \"License\");\nyou may not use this file except in compliance with the License.\nYou may obtain a copy of the License at\n\n http://www.apache.org/licenses/LICENSE-2.0\n\nUnless required by applicable law or agreed to in writing, software\ndistributed under the License is distributed on an \"AS IS\" BASIS,\nWITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\nSee the License for the specific language governing permissions and\nlimitations under the License.\n*/\nimport {Store} from \"../Store\";\n\ninterface OutboundSession {\n roomId: string;\n session: string;\n createdAt: number;\n}\n\nexport class OutboundGroupSessionStore {\n private _store: Store;\n\n constructor(store: Store) {\n this._store = store;\n }\n\n remove(roomId: string): void {\n this._store.delete(roomId);\n }\n\n get(roomId: string): Promise {\n return this._store.get(roomId);\n }\n\n set(session: OutboundSession): void {\n this._store.put(session);\n }\n}\n","/*\nCopyright 2020 The Matrix.org Foundation C.I.C.\n\nLicensed under the Apache License, Version 2.0 (the \"License\");\nyou may not use this file except in compliance with the License.\nYou may obtain a copy of the License at\n\n http://www.apache.org/licenses/LICENSE-2.0\n\nUnless required by applicable law or agreed to in writing, software\ndistributed under the License is distributed on an \"AS IS\" BASIS,\nWITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\nSee the License for the specific language governing permissions and\nlimitations under the License.\n*/\n\nimport {MIN_UNICODE, MAX_UNICODE} from \"./common\";\nimport {Store} from \"../Store\";\n\nfunction encodeKey(roomId: string, sessionId: string, messageIndex: number | string): string {\n return `${roomId}|${sessionId}|${messageIndex}`;\n}\n\ninterface GroupSessionDecryption {\n eventId: string;\n timestamp: number;\n}\n\ntype GroupSessionEntry = GroupSessionDecryption & { key: string }\n\nexport class GroupSessionDecryptionStore {\n private _store: Store;\n\n constructor(store: Store) {\n this._store = store;\n }\n\n get(roomId: string, sessionId: string, messageIndex: number): Promise {\n return this._store.get(encodeKey(roomId, sessionId, messageIndex));\n }\n\n set(roomId: string, sessionId: string, messageIndex: number, decryption: GroupSessionDecryption): void {\n (decryption as GroupSessionEntry).key = encodeKey(roomId, sessionId, messageIndex);\n this._store.put(decryption as GroupSessionEntry);\n }\n \n removeAllForRoom(roomId: string): void {\n const range = this._store.IDBKeyRange.bound(\n encodeKey(roomId, MIN_UNICODE, MIN_UNICODE),\n encodeKey(roomId, MAX_UNICODE, MAX_UNICODE)\n );\n this._store.delete(range);\n }\n}\n","/*\nCopyright 2020 The Matrix.org Foundation C.I.C.\n\nLicensed under the Apache License, Version 2.0 (the \"License\");\nyou may not use this file except in compliance with the License.\nYou may obtain a copy of the License at\n\n http://www.apache.org/licenses/LICENSE-2.0\n\nUnless required by applicable law or agreed to in writing, software\ndistributed under the License is distributed on an \"AS IS\" BASIS,\nWITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\nSee the License for the specific language governing permissions and\nlimitations under the License.\n*/\nimport {MIN_UNICODE, MAX_UNICODE} from \"./common\";\nimport {Store} from \"../Store\";\n\nexport function encodeScopeTypeKey(scope: string, type: string): string {\n return `${scope}|${type}`;\n}\n\ninterface BaseOperation {\n id: string;\n scope: string;\n userIds: string[];\n}\n\ntype OperationType = { type: \"share_room_key\"; roomKeyMessage: RoomKeyMessage; }\n\ntype Operation = BaseOperation & OperationType\n\ntype OperationEntry = Operation & { scopeTypeKey: string; }\n\ninterface RoomKeyMessage {\n room_id: string;\n session_id: string;\n session_key: string;\n algorithm: string;\n chain_index: number;\n}\n\nexport class OperationStore {\n private _store: Store;\n\n constructor(store: Store) {\n this._store = store;\n }\n\n getAll(): Promise {\n return this._store.selectAll();\n }\n\n async getAllByTypeAndScope(type: string, scope: string): Promise {\n const key = encodeScopeTypeKey(scope, type);\n const results: Operation[] = [];\n await this._store.index(\"byScopeAndType\").iterateWhile(key, value => {\n if (value.scopeTypeKey !== key) {\n return false;\n }\n results.push(value);\n return true;\n });\n return results;\n }\n\n add(operation: Operation): void {\n (operation as OperationEntry).scopeTypeKey = encodeScopeTypeKey(operation.scope, operation.type);\n this._store.add(operation as OperationEntry);\n }\n\n update(operation: Operation): void {\n this._store.put(operation as OperationEntry);\n }\n\n remove(id: string): void {\n this._store.delete(id);\n }\n\n async removeAllForScope(scope: string): Promise {\n const range = this._store.IDBKeyRange.bound(\n encodeScopeTypeKey(scope, MIN_UNICODE),\n encodeScopeTypeKey(scope, MAX_UNICODE)\n );\n const index = this._store.index(\"byScopeAndType\");\n await index.iterateValues(range, (_, __, cur) => {\n cur.delete();\n return true;\n });\n return;\n }\n}\n","/*\nCopyright 2020 Bruno Windels \n\nLicensed under the Apache License, Version 2.0 (the \"License\");\nyou may not use this file except in compliance with the License.\nYou may obtain a copy of the License at\n\n http://www.apache.org/licenses/LICENSE-2.0\n\nUnless required by applicable law or agreed to in writing, software\ndistributed under the License is distributed on an \"AS IS\" BASIS,\nWITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\nSee the License for the specific language governing permissions and\nlimitations under the License.\n*/\nimport {Store} from \"../Store\";\nimport {Content} from \"../../types\";\n\ninterface AccountDataEntry {\n type: string;\n content: Content;\n}\n\nexport class AccountDataStore {\n private _store: Store;\n\n constructor(store: Store) {\n this._store = store;\n }\n\n async get(type: string): Promise {\n return await this._store.get(type);\n }\n\n set(event: AccountDataEntry): void {\n this._store.put(event);\n }\n}\n","/*\nCopyright 2020 Bruno Windels \n\nLicensed under the Apache License, Version 2.0 (the \"License\");\nyou may not use this file except in compliance with the License.\nYou may obtain a copy of the License at\n\n http://www.apache.org/licenses/LICENSE-2.0\n\nUnless required by applicable law or agreed to in writing, software\ndistributed under the License is distributed on an \"AS IS\" BASIS,\nWITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\nSee the License for the specific language governing permissions and\nlimitations under the License.\n*/\n\nimport {StoreNames} from \"../common\";\nimport {txnAsPromise} from \"./utils\";\nimport {StorageError} from \"../common\";\nimport {Store} from \"./Store\";\nimport {Storage} from \"./Storage\";\nimport {SessionStore} from \"./stores/SessionStore\";\nimport {RoomSummaryStore} from \"./stores/RoomSummaryStore\";\nimport {InviteStore} from \"./stores/InviteStore\";\nimport {TimelineEventStore} from \"./stores/TimelineEventStore\";\nimport {TimelineRelationStore} from \"./stores/TimelineRelationStore\";\nimport {RoomStateStore} from \"./stores/RoomStateStore\";\nimport {RoomMemberStore} from \"./stores/RoomMemberStore\";\nimport {TimelineFragmentStore} from \"./stores/TimelineFragmentStore\";\nimport {PendingEventStore} from \"./stores/PendingEventStore\";\nimport {UserIdentityStore} from \"./stores/UserIdentityStore\";\nimport {DeviceIdentityStore} from \"./stores/DeviceIdentityStore\";\nimport {OlmSessionStore} from \"./stores/OlmSessionStore\";\nimport {InboundGroupSessionStore} from \"./stores/InboundGroupSessionStore\";\nimport {OutboundGroupSessionStore} from \"./stores/OutboundGroupSessionStore\";\nimport {GroupSessionDecryptionStore} from \"./stores/GroupSessionDecryptionStore\";\nimport {OperationStore} from \"./stores/OperationStore\";\nimport {AccountDataStore} from \"./stores/AccountDataStore\";\nimport type {ILogger, ILogItem} from \"../../../logging/types\";\n\nexport type IDBKey = IDBValidKey | IDBKeyRange;\n\nclass WriteErrorInfo {\n constructor(\n public readonly error: StorageError,\n public readonly refItem: ILogItem | undefined,\n public readonly operationName: string,\n public readonly keys: IDBKey[] | undefined,\n ) {}\n}\n\nexport class Transaction {\n private _txn: IDBTransaction;\n private _allowedStoreNames: StoreNames[];\n private _stores: { [storeName in StoreNames]?: any };\n private _storage: Storage;\n private _writeErrors: WriteErrorInfo[];\n\n constructor(txn: IDBTransaction, allowedStoreNames: StoreNames[], storage: Storage) {\n this._txn = txn;\n this._allowedStoreNames = allowedStoreNames;\n this._stores = {};\n this._storage = storage;\n this._writeErrors = [];\n }\n\n get idbFactory(): IDBFactory {\n return this._storage.idbFactory;\n }\n\n get IDBKeyRange(): typeof IDBKeyRange {\n return this._storage.IDBKeyRange;\n }\n\n get databaseName(): string {\n return this._storage.databaseName;\n }\n\n get logger(): ILogger {\n return this._storage.logger;\n }\n\n _idbStore(name: StoreNames): Store {\n if (!this._allowedStoreNames.includes(name)) {\n // more specific error? this is a bug, so maybe not ...\n throw new StorageError(`Invalid store for transaction: ${name}, only ${this._allowedStoreNames.join(\", \")} are allowed.`);\n }\n return new Store(this._txn.objectStore(name), this);\n }\n\n _store(name: StoreNames, mapStore: (idbStore: Store) => T): T {\n if (!this._stores[name]) {\n const idbStore = this._idbStore(name);\n this._stores[name] = mapStore(idbStore);\n }\n return this._stores[name];\n }\n\n get session(): SessionStore {\n return this._store(StoreNames.session, idbStore => new SessionStore(idbStore, this._storage.localStorage));\n }\n\n get roomSummary(): RoomSummaryStore {\n return this._store(StoreNames.roomSummary, idbStore => new RoomSummaryStore(idbStore));\n }\n \n get archivedRoomSummary(): RoomSummaryStore {\n return this._store(StoreNames.archivedRoomSummary, idbStore => new RoomSummaryStore(idbStore));\n }\n\n get invites(): InviteStore {\n return this._store(StoreNames.invites, idbStore => new InviteStore(idbStore));\n }\n\n get timelineFragments(): TimelineFragmentStore {\n return this._store(StoreNames.timelineFragments, idbStore => new TimelineFragmentStore(idbStore));\n }\n\n get timelineEvents(): TimelineEventStore {\n return this._store(StoreNames.timelineEvents, idbStore => new TimelineEventStore(idbStore));\n }\n\n get timelineRelations(): TimelineRelationStore {\n return this._store(StoreNames.timelineRelations, idbStore => new TimelineRelationStore(idbStore));\n }\n\n get roomState(): RoomStateStore {\n return this._store(StoreNames.roomState, idbStore => new RoomStateStore(idbStore));\n }\n\n get roomMembers(): RoomMemberStore {\n return this._store(StoreNames.roomMembers, idbStore => new RoomMemberStore(idbStore));\n }\n\n get pendingEvents(): PendingEventStore {\n return this._store(StoreNames.pendingEvents, idbStore => new PendingEventStore(idbStore));\n }\n\n get userIdentities(): UserIdentityStore {\n return this._store(StoreNames.userIdentities, idbStore => new UserIdentityStore(idbStore));\n }\n\n get deviceIdentities(): DeviceIdentityStore {\n return this._store(StoreNames.deviceIdentities, idbStore => new DeviceIdentityStore(idbStore));\n }\n \n get olmSessions(): OlmSessionStore {\n return this._store(StoreNames.olmSessions, idbStore => new OlmSessionStore(idbStore));\n }\n \n get inboundGroupSessions(): InboundGroupSessionStore {\n return this._store(StoreNames.inboundGroupSessions, idbStore => new InboundGroupSessionStore(idbStore));\n }\n \n get outboundGroupSessions(): OutboundGroupSessionStore {\n return this._store(StoreNames.outboundGroupSessions, idbStore => new OutboundGroupSessionStore(idbStore));\n }\n\n get groupSessionDecryptions(): GroupSessionDecryptionStore {\n return this._store(StoreNames.groupSessionDecryptions, idbStore => new GroupSessionDecryptionStore(idbStore));\n }\n\n get operations(): OperationStore {\n return this._store(StoreNames.operations, idbStore => new OperationStore(idbStore));\n }\n\n get accountData(): AccountDataStore {\n return this._store(StoreNames.accountData, idbStore => new AccountDataStore(idbStore));\n }\n\n async complete(log?: ILogItem): Promise {\n try {\n await txnAsPromise(this._txn);\n } catch (err) {\n if (this._writeErrors.length) {\n this._logWriteErrors(log);\n throw this._writeErrors[0].error;\n }\n throw err;\n }\n }\n\n getCause(error: Error) {\n if (error instanceof StorageError) {\n if (error.errcode === \"AbortError\" && this._writeErrors.length) {\n return this._writeErrors[0].error;\n }\n }\n return error;\n }\n\n abort(log?: ILogItem): void {\n // TODO: should we wrap the exception in a StorageError?\n try {\n this._txn.abort();\n } catch (abortErr) {\n log?.set(\"couldNotAbortTxn\", true);\n }\n if (this._writeErrors.length) {\n this._logWriteErrors(log);\n }\n }\n\n addWriteError(error: StorageError, refItem: ILogItem | undefined, operationName: string, keys: IDBKey[] | undefined) {\n // don't log subsequent `AbortError`s\n if (error.errcode !== \"AbortError\" || this._writeErrors.length === 0) {\n this._writeErrors.push(new WriteErrorInfo(error, refItem, operationName, keys));\n }\n }\n\n private _logWriteErrors(parentItem: ILogItem | undefined) {\n const callback = errorGroupItem => {\n // we don't have context when there is no parentItem, so at least log stores\n if (!parentItem) {\n errorGroupItem.set(\"allowedStoreNames\", this._allowedStoreNames);\n }\n for (const info of this._writeErrors) {\n errorGroupItem.wrap({l: info.operationName, id: info.keys}, item => {\n if (info.refItem) {\n item.refDetached(info.refItem);\n }\n item.catch(info.error);\n });\n }\n };\n const label = `${this._writeErrors.length} storage write operation(s) failed`;\n if (parentItem) {\n parentItem.wrap(label, callback);\n } else {\n this.logger.run(label, callback);\n }\n }\n}\n","/*\nCopyright 2020 Bruno Windels \n\nLicensed under the Apache License, Version 2.0 (the \"License\");\nyou may not use this file except in compliance with the License.\nYou may obtain a copy of the License at\n\n http://www.apache.org/licenses/LICENSE-2.0\n\nUnless required by applicable law or agreed to in writing, software\ndistributed under the License is distributed on an \"AS IS\" BASIS,\nWITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\nSee the License for the specific language governing permissions and\nlimitations under the License.\n*/\n\nimport {IDOMStorage} from \"./types\";\nimport {Transaction} from \"./Transaction\";\nimport { STORE_NAMES, StoreNames, StorageError } from \"../common\";\nimport { reqAsPromise } from \"./utils\";\nimport { ILogger } from \"../../../logging/types\";\n\nconst WEBKITEARLYCLOSETXNBUG_BOGUS_KEY = \"782rh281re38-boguskey\";\n\nexport class Storage {\n private _db: IDBDatabase;\n private _hasWebkitEarlyCloseTxnBug: boolean;\n\n readonly logger: ILogger;\n readonly idbFactory: IDBFactory\n readonly IDBKeyRange: typeof IDBKeyRange;\n readonly storeNames: typeof StoreNames;\n readonly localStorage: IDOMStorage;\n\n constructor(idbDatabase: IDBDatabase, idbFactory: IDBFactory, _IDBKeyRange: typeof IDBKeyRange, hasWebkitEarlyCloseTxnBug: boolean, localStorage: IDOMStorage, logger: ILogger) {\n this._db = idbDatabase;\n this.idbFactory = idbFactory;\n this.IDBKeyRange = _IDBKeyRange;\n this._hasWebkitEarlyCloseTxnBug = hasWebkitEarlyCloseTxnBug;\n this.storeNames = StoreNames;\n this.localStorage = localStorage;\n this.logger = logger;\n }\n\n _validateStoreNames(storeNames: StoreNames[]): void {\n const idx = storeNames.findIndex(name => !STORE_NAMES.includes(name));\n if (idx !== -1) {\n throw new StorageError(`Tried top, a transaction unknown store ${storeNames[idx]}`);\n }\n }\n\n async readTxn(storeNames: StoreNames[]): Promise {\n this._validateStoreNames(storeNames);\n try {\n const txn = this._db.transaction(storeNames, \"readonly\");\n // https://bugs.webkit.org/show_bug.cgi?id=222746 workaround,\n // await a bogus idb request on the new txn so it doesn't close early if we await a microtask first\n if (this._hasWebkitEarlyCloseTxnBug) {\n await reqAsPromise(txn.objectStore(storeNames[0]).get(WEBKITEARLYCLOSETXNBUG_BOGUS_KEY));\n }\n return new Transaction(txn, storeNames, this);\n } catch(err) {\n throw new StorageError(\"readTxn failed\", err);\n }\n }\n\n async readWriteTxn(storeNames: StoreNames[]): Promise {\n this._validateStoreNames(storeNames);\n try {\n const txn = this._db.transaction(storeNames, \"readwrite\");\n // https://bugs.webkit.org/show_bug.cgi?id=222746 workaround,\n // await a bogus idb request on the new txn so it doesn't close early if we await a microtask first\n if (this._hasWebkitEarlyCloseTxnBug) {\n await reqAsPromise(txn.objectStore(storeNames[0]).get(WEBKITEARLYCLOSETXNBUG_BOGUS_KEY));\n }\n return new Transaction(txn, storeNames, this);\n } catch(err) {\n throw new StorageError(\"readWriteTxn failed\", err);\n }\n }\n\n close(): void {\n this._db.close();\n }\n\n get databaseName(): string {\n return this._db.name;\n }\n}\n","/*\nCopyright 2020 Bruno Windels \n\nLicensed under the Apache License, Version 2.0 (the \"License\");\nyou may not use this file except in compliance with the License.\nYou may obtain a copy of the License at\n\n http://www.apache.org/licenses/LICENSE-2.0\n\nUnless required by applicable law or agreed to in writing, software\ndistributed under the License is distributed on an \"AS IS\" BASIS,\nWITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\nSee the License for the specific language governing permissions and\nlimitations under the License.\n*/\n\nimport { iterateCursor, NOT_DONE, txnAsPromise } from \"./utils\";\nimport { STORE_NAMES, StoreNames } from \"../common\";\n\nexport type Export = { [storeName in StoreNames] : any[] }\n\nexport async function exportSession(db: IDBDatabase): Promise {\n const txn = db.transaction(STORE_NAMES, \"readonly\");\n const data = {};\n await Promise.all(STORE_NAMES.map(async name => {\n const results: any[] = data[name] = []; // initialize in deterministic order\n const store = txn.objectStore(name);\n await iterateCursor(store.openCursor(), (value) => {\n results.push(value);\n return NOT_DONE;\n });\n }));\n return data as Export;\n}\n\nexport async function importSession(db: IDBDatabase, data: Export): Promise {\n const txn = db.transaction(STORE_NAMES, \"readwrite\");\n for (const name of STORE_NAMES) {\n const store = txn.objectStore(name);\n for (const value of data[name]) {\n store.add(value);\n }\n }\n await txnAsPromise(txn);\n}\n","import {IDOMStorage} from \"./types\";\nimport {ITransaction} from \"./QueryTarget\";\nimport {iterateCursor, NOT_DONE, reqAsPromise} from \"./utils\";\nimport {RoomMember, EVENT_TYPE as MEMBER_EVENT_TYPE} from \"../../room/members/RoomMember.js\";\nimport {SESSION_E2EE_KEY_PREFIX} from \"../../e2ee/common.js\";\nimport {SummaryData} from \"../../room/RoomSummary\";\nimport {RoomMemberStore, MemberData} from \"./stores/RoomMemberStore\";\nimport {InboundGroupSessionStore, InboundGroupSessionEntry, BackupStatus, KeySource} from \"./stores/InboundGroupSessionStore\";\nimport {RoomStateEntry} from \"./stores/RoomStateStore\";\nimport {SessionStore} from \"./stores/SessionStore\";\nimport {Store} from \"./Store\";\nimport {encodeScopeTypeKey} from \"./stores/OperationStore\";\nimport {MAX_UNICODE} from \"./stores/common\";\nimport {ILogItem} from \"../../../logging/types\";\n\n\nexport type MigrationFunc = (db: IDBDatabase, txn: IDBTransaction, localStorage: IDOMStorage, log: ILogItem) => Promise | void;\n// FUNCTIONS SHOULD ONLY BE APPENDED!!\n// the index in the array is the database version\nexport const schema: MigrationFunc[] = [\n createInitialStores,\n createMemberStore,\n migrateSession,\n createE2EEStores,\n migrateEncryptionFlag,\n createAccountDataStore,\n createInviteStore,\n createArchivedRoomSummaryStore,\n migrateOperationScopeIndex,\n createTimelineRelationsStore,\n fixMissingRoomsInUserIdentities,\n changeSSSSKeyPrefix,\n backupAndRestoreE2EEAccountToLocalStorage,\n clearAllStores,\n addInboundSessionBackupIndex,\n migrateBackupStatus\n];\n// TODO: how to deal with git merge conflicts of this array?\n\n// TypeScript note: for now, do not bother introducing interfaces / alias\n// for old schemas. Just take them as `any`. \n\nfunction createDatabaseNameHelper(db: IDBDatabase): ITransaction {\n // the Store object gets passed in several things through the Transaction class (a wrapper around IDBTransaction),\n // the only thing we should need here is the databaseName though, so we mock it out.\n // ideally we should have an easier way to go from the idb primitive layer to the specific store classes where\n // we implement logic, but for now we need this.\n const databaseNameHelper: ITransaction = {\n databaseName: db.name,\n get idbFactory(): IDBFactory { throw new Error(\"unused\");},\n get IDBKeyRange(): typeof IDBKeyRange { throw new Error(\"unused\");},\n addWriteError() {},\n };\n return databaseNameHelper;\n}\n\n\n// how do we deal with schema updates vs existing data migration in a way that \n//v1\nfunction createInitialStores(db: IDBDatabase): void {\n db.createObjectStore(\"session\", {keyPath: \"key\"});\n // any way to make keys unique here? (just use put?)\n db.createObjectStore(\"roomSummary\", {keyPath: \"roomId\"});\n\n // need index to find live fragment? prooobably ok without for now\n //key = room_id | fragment_id\n db.createObjectStore(\"timelineFragments\", {keyPath: \"key\"});\n //key = room_id | fragment_id | event_index\n const timelineEvents = db.createObjectStore(\"timelineEvents\", {keyPath: \"key\"});\n //eventIdKey = room_id | event_id\n timelineEvents.createIndex(\"byEventId\", \"eventIdKey\", {unique: true});\n //key = room_id | event.type | event.state_key,\n db.createObjectStore(\"roomState\", {keyPath: \"key\"});\n db.createObjectStore(\"pendingEvents\", {keyPath: \"key\"});\n}\n//v2\nasync function createMemberStore(db: IDBDatabase, txn: IDBTransaction): Promise {\n // Cast ok here because only \"set\" is used\n const roomMembers = new RoomMemberStore(db.createObjectStore(\"roomMembers\", {keyPath: \"key\"}) as any);\n // migrate existing member state events over\n const roomState = txn.objectStore(\"roomState\");\n await iterateCursor(roomState.openCursor(), entry => {\n if (entry.event.type === MEMBER_EVENT_TYPE) {\n roomState.delete(entry.key);\n const member = RoomMember.fromMemberEvent(entry.roomId, entry.event);\n if (member) {\n roomMembers.set(member.serialize());\n }\n }\n return NOT_DONE;\n });\n}\n//v3\nasync function migrateSession(db: IDBDatabase, txn: IDBTransaction, localStorage: IDOMStorage): Promise {\n const session = txn.objectStore(\"session\");\n try {\n const PRE_MIGRATION_KEY = 1;\n const entry = await reqAsPromise(session.get(PRE_MIGRATION_KEY));\n if (entry) {\n session.delete(PRE_MIGRATION_KEY);\n const {syncToken, syncFilterId, serverVersions} = entry.value;\n // Cast ok here because only \"set\" is used and we don't look into return\n const store = new SessionStore(session as any, localStorage);\n store.set(\"sync\", {token: syncToken, filterId: syncFilterId});\n store.set(\"serverVersions\", serverVersions);\n }\n } catch (err) {\n txn.abort();\n console.error(\"could not migrate session\", err.stack);\n }\n}\n//v4\nfunction createE2EEStores(db: IDBDatabase): void {\n db.createObjectStore(\"userIdentities\", {keyPath: \"userId\"});\n const deviceIdentities = db.createObjectStore(\"deviceIdentities\", {keyPath: \"key\"});\n deviceIdentities.createIndex(\"byCurve25519Key\", \"curve25519Key\", {unique: true});\n db.createObjectStore(\"olmSessions\", {keyPath: \"key\"});\n db.createObjectStore(\"inboundGroupSessions\", {keyPath: \"key\"});\n db.createObjectStore(\"outboundGroupSessions\", {keyPath: \"roomId\"});\n db.createObjectStore(\"groupSessionDecryptions\", {keyPath: \"key\"});\n const operations = db.createObjectStore(\"operations\", {keyPath: \"id\"});\n operations.createIndex(\"byTypeAndScope\", \"typeScopeKey\", {unique: false});\n}\n\n// v5\nasync function migrateEncryptionFlag(db: IDBDatabase, txn: IDBTransaction): Promise {\n // migrate room summary isEncrypted -> encryption prop\n const roomSummary = txn.objectStore(\"roomSummary\");\n const roomState = txn.objectStore(\"roomState\");\n const summaries: any[] = [];\n await iterateCursor(roomSummary.openCursor(), summary => {\n summaries.push(summary);\n return NOT_DONE;\n });\n for (const summary of summaries) {\n const encryptionEntry = await reqAsPromise(roomState.get(`${summary.roomId}|m.room.encryption|`));\n if (encryptionEntry) {\n summary.encryption = encryptionEntry?.event?.content;\n delete summary.isEncrypted;\n roomSummary.put(summary);\n }\n }\n}\n\n// v6\nfunction createAccountDataStore(db: IDBDatabase): void {\n db.createObjectStore(\"accountData\", {keyPath: \"type\"});\n}\n\n// v7\nfunction createInviteStore(db: IDBDatabase): void {\n db.createObjectStore(\"invites\", {keyPath: \"roomId\"});\n}\n\n// v8\nfunction createArchivedRoomSummaryStore(db: IDBDatabase): void {\n db.createObjectStore(\"archivedRoomSummary\", {keyPath: \"summary.roomId\"});\n}\n\n// v9\nasync function migrateOperationScopeIndex(db: IDBDatabase, txn: IDBTransaction): Promise {\n try {\n const operations = txn.objectStore(\"operations\");\n operations.deleteIndex(\"byTypeAndScope\");\n await iterateCursor(operations.openCursor(), (op, key, cur) => {\n const {typeScopeKey} = op;\n delete op.typeScopeKey;\n const [type, scope] = typeScopeKey.split(\"|\");\n op.scopeTypeKey = encodeScopeTypeKey(scope, type);\n cur.update(op);\n return NOT_DONE;\n });\n operations.createIndex(\"byScopeAndType\", \"scopeTypeKey\", {unique: false});\n } catch (err) {\n txn.abort();\n console.error(\"could not migrate operations\", err.stack);\n }\n}\n\n//v10\nfunction createTimelineRelationsStore(db: IDBDatabase) : void {\n db.createObjectStore(\"timelineRelations\", {keyPath: \"key\"});\n}\n\n//v11 doesn't change the schema,\n// but ensured all userIdentities have all the roomIds they should (see #470)\n\n// 2022-07-20: The fix dated from August 2021, and have removed it now because of a\n// refactoring needed in the device tracker, which made it inconvenient to expose addRoomToIdentity\nfunction fixMissingRoomsInUserIdentities() {}\n\n// v12 move ssssKey to e2ee:ssssKey so it will get backed up in the next step\nasync function changeSSSSKeyPrefix(db: IDBDatabase, txn: IDBTransaction) {\n const session = txn.objectStore(\"session\");\n const ssssKey = await reqAsPromise(session.get(\"ssssKey\"));\n if (ssssKey) {\n session.put({key: `${SESSION_E2EE_KEY_PREFIX}ssssKey`, value: ssssKey.value});\n }\n}\n// v13\nasync function backupAndRestoreE2EEAccountToLocalStorage(db: IDBDatabase, txn: IDBTransaction, localStorage: IDOMStorage, log: ILogItem) {\n const session = txn.objectStore(\"session\");\n const sessionStore = new SessionStore(new Store(session, createDatabaseNameHelper(db)), localStorage);\n // if we already have an e2ee identity, write a backup to local storage.\n // further updates to e2ee keys in the session store will also write to local storage from 0.2.15 on,\n // but here we make sure a backup is immediately created after installing the update and we don't wait until\n // the olm account needs to change\n sessionStore.writeE2EEIdentityToLocalStorage();\n // and if we already have a backup, restore it now for any missing key in idb.\n // this will restore the backup every time the idb database is dropped as it will\n // run through all the migration steps when recreating it.\n const restored = await sessionStore.tryRestoreE2EEIdentityFromLocalStorage(log);\n log.set(\"restored\", restored);\n}\n// v14 clear all stores apart from e2ee keys because of possible timeline corruption in #515, will trigger initial sync\nasync function clearAllStores(db: IDBDatabase, txn: IDBTransaction) {\n for (const storeName of db.objectStoreNames) {\n const store = txn.objectStore(storeName);\n switch (storeName) {\n case \"inboundGroupSessions\":\n case \"outboundGroupSessions\":\n case \"olmSessions\":\n case \"operations\":\n continue;\n case \"session\": {\n await iterateCursor(store.openCursor(), (value, key, cursor) => {\n if (!(key as string).startsWith(SESSION_E2EE_KEY_PREFIX)) {\n cursor.delete();\n }\n return NOT_DONE;\n })\n break;\n }\n default: {\n store.clear();\n break;\n }\n }\n }\n}\n\n// v15 add backup index to inboundGroupSessions\nasync function addInboundSessionBackupIndex(db: IDBDatabase, txn: IDBTransaction, localStorage: IDOMStorage, log: ILogItem): Promise {\n const inboundGroupSessions = txn.objectStore(\"inboundGroupSessions\");\n inboundGroupSessions.createIndex(\"byBackup\", \"backup\", {unique: false});\n}\n\n\n// v16 migrates the backup and source fields of inbound group sessions\nasync function migrateBackupStatus(db: IDBDatabase, txn: IDBTransaction, localStorage: IDOMStorage, log: ILogItem): Promise {\n const inboundGroupSessions = txn.objectStore(\"inboundGroupSessions\");\n let countWithSession = 0;\n let countWithoutSession = 0;\n await iterateCursor(inboundGroupSessions.openCursor(), (value, key, cursor) => {\n if (value.session) {\n value.backup = BackupStatus.NotBackedUp;\n // we'll also have backup keys in here, we can't tell,\n // but the worst thing that can happen is that we try\n // to backup keys that were already in backup, which\n // the server will ignore\n value.source = KeySource.DeviceMessage;\n cursor.update(value);\n countWithSession += 1;\n } else {\n countWithoutSession += 1;\n }\n return NOT_DONE;\n });\n log.set(\"countWithoutSession\", countWithoutSession);\n log.set(\"countWithSession\", countWithSession);\n}\n","/*\nCopyright 2020 The Matrix.org Foundation C.I.C.\n\nLicensed under the Apache License, Version 2.0 (the \"License\");\nyou may not use this file except in compliance with the License.\nYou may obtain a copy of the License at\n\n http://www.apache.org/licenses/LICENSE-2.0\n\nUnless required by applicable law or agreed to in writing, software\ndistributed under the License is distributed on an \"AS IS\" BASIS,\nWITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\nSee the License for the specific language governing permissions and\nlimitations under the License.\n*/\n\n\nimport {openDatabase, txnAsPromise, reqAsPromise} from \"./utils\";\n\n// filed as https://bugs.webkit.org/show_bug.cgi?id=222746\nexport async function detectWebkitEarlyCloseTxnBug(idbFactory: IDBFactory): Promise {\n const dbName = \"hydrogen_webkit_test_inactive_txn_bug\";\n try {\n const db = await openDatabase(dbName, db => {\n db.createObjectStore(\"test\", {keyPath: \"key\"});\n }, 1, idbFactory);\n const readTxn = db.transaction([\"test\"], \"readonly\");\n await reqAsPromise(readTxn.objectStore(\"test\").get(\"somekey\"));\n // schedule a macro task in between the two txns\n await new Promise(r => setTimeout(r, 0));\n const writeTxn = db.transaction([\"test\"], \"readwrite\");\n await Promise.resolve();\n writeTxn.objectStore(\"test\").add({key: \"somekey\", value: \"foo\"});\n await txnAsPromise(writeTxn);\n db.close();\n } catch (err) {\n if (err.name === \"TransactionInactiveError\") {\n return true;\n }\n }\n return false;\n}\n","/*\nCopyright 2020 Bruno Windels \n\nLicensed under the Apache License, Version 2.0 (the \"License\");\nyou may not use this file except in compliance with the License.\nYou may obtain a copy of the License at\n\n http://www.apache.org/licenses/LICENSE-2.0\n\nUnless required by applicable law or agreed to in writing, software\ndistributed under the License is distributed on an \"AS IS\" BASIS,\nWITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\nSee the License for the specific language governing permissions and\nlimitations under the License.\n*/\n\nimport {IDOMStorage} from \"./types\";\nimport {Storage} from \"./Storage\";\nimport { openDatabase, reqAsPromise } from \"./utils\";\nimport { exportSession, importSession, Export } from \"./export\";\nimport { schema } from \"./schema\";\nimport { detectWebkitEarlyCloseTxnBug } from \"./quirks\";\nimport { ILogItem } from \"../../../logging/types\";\n\nconst sessionName = (sessionId: string) => `hydrogen_session_${sessionId}`;\nconst openDatabaseWithSessionId = function(sessionId: string, idbFactory: IDBFactory, localStorage: IDOMStorage, log: ILogItem) {\n const create = (db, txn, oldVersion, version) => createStores(db, txn, oldVersion, version, localStorage, log);\n return openDatabase(sessionName(sessionId), create, schema.length, idbFactory);\n}\n\ninterface ServiceWorkerHandler {\n preventConcurrentSessionAccess: (sessionId: string) => Promise;\n}\n\nasync function requestPersistedStorage(): Promise {\n // don't assume browser so we can run in node with fake-idb\n const glob = this;\n if (glob?.navigator?.storage?.persist) {\n return await glob.navigator.storage.persist();\n } else if (glob?.document.requestStorageAccess) {\n try {\n await glob.document.requestStorageAccess();\n return true;\n } catch (err) {\n console.warn(\"requestStorageAccess threw an error:\", err);\n return false;\n }\n } else {\n return false;\n }\n}\n\nexport class StorageFactory {\n private _serviceWorkerHandler: ServiceWorkerHandler;\n private _idbFactory: IDBFactory;\n private _IDBKeyRange: typeof IDBKeyRange;\n private _localStorage: IDOMStorage;\n\n constructor(serviceWorkerHandler: ServiceWorkerHandler, idbFactory: IDBFactory = window.indexedDB, _IDBKeyRange = window.IDBKeyRange, localStorage: IDOMStorage = window.localStorage) {\n this._serviceWorkerHandler = serviceWorkerHandler;\n this._idbFactory = idbFactory;\n this._IDBKeyRange = _IDBKeyRange;\n this._localStorage = localStorage;\n }\n\n async create(sessionId: string, log: ILogItem): Promise {\n await this._serviceWorkerHandler?.preventConcurrentSessionAccess(sessionId);\n requestPersistedStorage().then(persisted => {\n // Firefox lies here though, and returns true even if the user denied the request\n if (!persisted) {\n console.warn(\"no persisted storage, database can be evicted by browser\");\n }\n });\n\n const hasWebkitEarlyCloseTxnBug = await detectWebkitEarlyCloseTxnBug(this._idbFactory);\n const db = await openDatabaseWithSessionId(sessionId, this._idbFactory, this._localStorage, log);\n return new Storage(db, this._idbFactory, this._IDBKeyRange, hasWebkitEarlyCloseTxnBug, this._localStorage, log.logger);\n }\n\n delete(sessionId: string): Promise {\n const databaseName = sessionName(sessionId);\n const req = this._idbFactory.deleteDatabase(databaseName);\n return reqAsPromise(req);\n }\n\n async export(sessionId: string, log: ILogItem): Promise {\n const db = await openDatabaseWithSessionId(sessionId, this._idbFactory, this._localStorage, log);\n return await exportSession(db);\n }\n\n async import(sessionId: string, data: Export, log: ILogItem): Promise {\n const db = await openDatabaseWithSessionId(sessionId, this._idbFactory, this._localStorage, log);\n return await importSession(db, data);\n }\n}\n\nasync function createStores(db: IDBDatabase, txn: IDBTransaction, oldVersion: number | null, version: number, localStorage: IDOMStorage, log: ILogItem): Promise {\n const startIdx = oldVersion || 0;\n return log.wrap(\n { l: \"storage migration\", oldVersion, version },\n async (log) => {\n for (let i = startIdx; i < version; ++i) {\n const migrationFunc = schema[i];\n await log.wrap(`v${i + 1}`, (log) => migrationFunc(db, txn, localStorage, log));\n }\n });\n}\n","/*\nCopyright 2021 The Matrix.org Foundation C.I.C.\n\nLicensed under the Apache License, Version 2.0 (the \"License\");\nyou may not use this file except in compliance with the License.\nYou may obtain a copy of the License at\n\n http://www.apache.org/licenses/LICENSE-2.0\n\nUnless required by applicable law or agreed to in writing, software\ndistributed under the License is distributed on an \"AS IS\" BASIS,\nWITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\nSee the License for the specific language governing permissions and\nlimitations under the License.\n*/\n\nimport {EventEntry} from \"../entries/EventEntry.js\";\nimport {REDACTION_TYPE, isRedacted} from \"../../common\";\nimport {ANNOTATION_RELATION_TYPE, getRelation} from \"../relations.js\";\nimport {redactEvent} from \"../common.js\";\n\nexport class RelationWriter {\n constructor({roomId, ownUserId, fragmentIdComparer}) {\n this._roomId = roomId;\n this._ownUserId = ownUserId;\n this._fragmentIdComparer = fragmentIdComparer;\n }\n\n // this needs to happen again after decryption too for edits\n async writeRelation(sourceEntry, txn, log) {\n const {relatedEventId} = sourceEntry;\n if (relatedEventId) {\n const relation = getRelation(sourceEntry.event);\n if (relation && relation.rel_type) {\n // we don't consider replies (which aren't relations in the MSC2674 sense)\n txn.timelineRelations.add(this._roomId, relation.event_id, relation.rel_type, sourceEntry.id);\n }\n const target = await txn.timelineEvents.getByEventId(this._roomId, relatedEventId);\n if (target) {\n const updatedStorageEntries = await this._applyRelation(sourceEntry, target, txn, log);\n if (updatedStorageEntries) {\n return updatedStorageEntries.map(e => {\n txn.timelineEvents.update(e);\n return new EventEntry(e, this._fragmentIdComparer);\n });\n }\n }\n }\n return null;\n }\n\n /**\n * @param {Object} storageEntry the event object, as it will be stored in storage.\n * Will be modified (but not written to storage) in case this event is\n * a relation target for which we've previously received relations.\n * @param {Direction} direction of the gap fill\n * */\n async writeGapRelation(storageEntry, direction, txn, log) {\n const sourceEntry = new EventEntry(storageEntry, this._fragmentIdComparer);\n const result = await this.writeRelation(sourceEntry, txn, log);\n // when back-paginating, it can also happen that we've received relations\n // for this event before, which now upon receiving the target need to be aggregated.\n if (direction.isBackward && !isRedacted(storageEntry.event)) {\n const relations = await txn.timelineRelations.getAllForTarget(this._roomId, sourceEntry.id);\n if (relations.length) {\n for (const r of relations) {\n const relationStorageEntry = await txn.timelineEvents.getByEventId(this._roomId, r.sourceEventId);\n if (relationStorageEntry) {\n const relationEntry = new EventEntry(relationStorageEntry, this._fragmentIdComparer);\n await this._applyRelation(relationEntry, storageEntry, txn, log);\n }\n }\n }\n }\n\n return result;\n }\n\n /**\n * @param {EventEntry} sourceEntry\n * @param {Object} targetStorageEntry event entry as stored in the timelineEvents store\n * @return {[Object]} array of event storage entries that have been updated\n * */\n async _applyRelation(sourceEntry, targetStorageEntry, txn, log) {\n if (sourceEntry.eventType === REDACTION_TYPE) {\n return log.wrap(\"redact\", async log => {\n const redactedEvent = targetStorageEntry.event;\n const relation = getRelation(redactedEvent); // get this before redacting\n const redacted = this._applyRedaction(sourceEntry.event, targetStorageEntry, txn, log);\n if (redacted) {\n const updated = [targetStorageEntry];\n if (relation) {\n const relationTargetStorageEntry = await this._reaggregateRelation(redactedEvent, relation, txn, log);\n if (relationTargetStorageEntry) {\n updated.push(relationTargetStorageEntry);\n }\n }\n return updated;\n }\n return null;\n });\n } else {\n const relation = getRelation(sourceEntry.event);\n if (relation && !isRedacted(targetStorageEntry.event)) {\n const relType = relation.rel_type;\n if (relType === ANNOTATION_RELATION_TYPE) {\n const aggregated = log.wrap(\"react\", log => {\n return this._aggregateAnnotation(sourceEntry.event, targetStorageEntry, log);\n });\n if (aggregated) {\n return [targetStorageEntry];\n }\n }\n }\n }\n return null;\n }\n\n _applyRedaction(redactionEvent, redactedStorageEntry, txn, log) {\n const redactedEvent = redactedStorageEntry.event;\n log.set(\"redactionId\", redactionEvent.event_id);\n log.set(\"id\", redactedEvent.event_id);\n\n const relation = getRelation(redactedEvent);\n if (relation && relation.rel_type) {\n txn.timelineRelations.remove(this._roomId, relation.event_id, relation.rel_type, redactedEvent.event_id);\n }\n // check if we're the target of a relation and remove all relations then as well\n txn.timelineRelations.removeAllForTarget(this._roomId, redactedEvent.event_id);\n\n redactEvent(redactionEvent, redactedEvent);\n delete redactedStorageEntry.annotations;\n\n return true;\n }\n\n _aggregateAnnotation(annotationEvent, targetStorageEntry/*, log*/) {\n // TODO: do we want to verify it is a m.reaction event somehow?\n const relation = getRelation(annotationEvent);\n if (!relation) {\n return false;\n }\n\n let {annotations} = targetStorageEntry;\n if (!annotations) {\n targetStorageEntry.annotations = annotations = {};\n }\n let annotation = annotations[relation.key];\n if (!annotation) {\n annotations[relation.key] = annotation = {\n count: 0,\n me: false,\n firstTimestamp: Number.MAX_SAFE_INTEGER\n };\n }\n const sentByMe = annotationEvent.sender === this._ownUserId;\n\n annotation.me = annotation.me || sentByMe;\n annotation.count += 1;\n annotation.firstTimestamp = Math.min(\n annotation.firstTimestamp,\n annotationEvent.origin_server_ts\n );\n\n return true;\n }\n\n async _reaggregateRelation(redactedRelationEvent, redactedRelation, txn, log) {\n if (redactedRelation.rel_type === ANNOTATION_RELATION_TYPE) {\n return log.wrap(\"reaggregate annotations\", log => this._reaggregateAnnotation(\n redactedRelation.event_id,\n redactedRelation.key,\n txn, log\n ));\n }\n return null;\n }\n\n async _reaggregateAnnotation(targetId, key, txn, log) {\n const target = await txn.timelineEvents.getByEventId(this._roomId, targetId);\n if (!target || !target.annotations) { // unknown or redacted event\n return null;\n }\n log.set(\"id\", targetId);\n const relations = await txn.timelineRelations.getForTargetAndType(this._roomId, targetId, ANNOTATION_RELATION_TYPE);\n log.set(\"relations\", relations.length);\n delete target.annotations[key];\n if (isObjectEmpty(target.annotations)) {\n delete target.annotations;\n }\n await Promise.all(relations.map(async relation => {\n const annotation = await txn.timelineEvents.getByEventId(this._roomId, relation.sourceEventId);\n if (!annotation) {\n log.log({l: \"missing annotation\", id: relation.sourceEventId});\n }\n if (getRelation(annotation.event).key === key) {\n this._aggregateAnnotation(annotation.event, target, log);\n }\n }));\n return target;\n }\n}\n\nfunction isObjectEmpty(obj) {\n for (const key in obj) {\n if (obj.hasOwnProperty(key)) {\n return false;\n }\n }\n return true;\n}\n\n\nimport {createMockStorage} from \"../../../../mocks/Storage\";\nimport {createEvent, withTextBody, withRedacts, withContent} from \"../../../../mocks/event.js\";\nimport {createAnnotation} from \"../relations.js\";\nimport {FragmentIdComparer} from \"../FragmentIdComparer.js\";\nimport {NullLogItem} from \"../../../../logging/NullLogger\";\n\nexport function tests() {\n const fragmentIdComparer = new FragmentIdComparer([]);\n const roomId = \"$abc\";\n const alice = \"@alice:hs.tld\";\n const bob = \"@bob:hs.tld\";\n\n return {\n \"apply redaction\": async assert => {\n const event = withTextBody(\"Dogs > Cats\", createEvent(\"m.room.message\", \"!abc\", bob));\n const reason = \"nonsense, cats are the best!\";\n const redaction = withRedacts(event.event_id, reason, createEvent(\"m.room.redaction\", \"!def\", alice));\n const redactionEntry = new EventEntry({fragmentId: 1, eventIndex: 3, event: redaction, roomId}, fragmentIdComparer);\n const relationWriter = new RelationWriter({roomId, ownUserId: bob, fragmentIdComparer});\n\n const storage = await createMockStorage();\n const txn = await storage.readWriteTxn([storage.storeNames.timelineEvents, storage.storeNames.timelineRelations]);\n txn.timelineEvents.tryInsert({fragmentId: 1, eventIndex: 2, event, roomId}, new NullLogItem());\n const updatedEntries = await relationWriter.writeRelation(redactionEntry, txn, new NullLogItem());\n await txn.complete();\n\n assert.equal(updatedEntries.length, 1);\n const redactedMessage = updatedEntries[0];\n assert.equal(redactedMessage.id, \"!abc\");\n assert.equal(redactedMessage.content.body, undefined);\n assert.equal(redactedMessage.redactionReason, reason);\n \n const readTxn = await storage.readTxn([storage.storeNames.timelineEvents]);\n const storedMessage = await readTxn.timelineEvents.getByEventId(roomId, \"!abc\");\n await readTxn.complete();\n assert.equal(storedMessage.event.content.body, undefined);\n assert.equal(storedMessage.event.unsigned.redacted_because.content.reason, reason);\n },\n \"aggregate reaction\": async assert => {\n const event = withTextBody(\"Dogs > Cats\", createEvent(\"m.room.message\", \"!abc\", bob));\n const reaction = withContent(createAnnotation(event.event_id, \"🐶\"), createEvent(\"m.reaction\", \"!def\", alice));\n reaction.origin_server_ts = 5;\n const reactionEntry = new EventEntry({event: reaction, roomId}, fragmentIdComparer);\n const relationWriter = new RelationWriter({roomId, ownUserId: alice, fragmentIdComparer});\n\n const storage = await createMockStorage();\n const txn = await storage.readWriteTxn([storage.storeNames.timelineEvents, storage.storeNames.timelineRelations]);\n txn.timelineEvents.tryInsert({fragmentId: 1, eventIndex: 2, event, roomId}, new NullLogItem());\n const updatedEntries = await relationWriter.writeRelation(reactionEntry, txn, new NullLogItem());\n await txn.complete();\n\n assert.equal(updatedEntries.length, 1);\n const reactedMessage = updatedEntries[0];\n assert.equal(reactedMessage.id, \"!abc\");\n const annotation = reactedMessage.annotations[\"🐶\"];\n assert.equal(annotation.me, true);\n assert.equal(annotation.count, 1);\n assert.equal(annotation.firstTimestamp, 5);\n \n const readTxn = await storage.readTxn([storage.storeNames.timelineEvents]);\n const storedMessage = await readTxn.timelineEvents.getByEventId(roomId, \"!abc\");\n await readTxn.complete();\n assert(storedMessage.annotations[\"🐶\"]);\n },\n \"aggregate second reaction\": async assert => {\n const event = withTextBody(\"Dogs > Cats\", createEvent(\"m.room.message\", \"!abc\", bob));\n const reaction1 = withContent(createAnnotation(event.event_id, \"🐶\"), createEvent(\"m.reaction\", \"!def\", alice));\n reaction1.origin_server_ts = 5;\n const reaction1Entry = new EventEntry({event: reaction1, roomId}, fragmentIdComparer);\n const reaction2 = withContent(createAnnotation(event.event_id, \"🐶\"), createEvent(\"m.reaction\", \"!hij\", bob));\n reaction2.origin_server_ts = 10;\n const reaction2Entry = new EventEntry({event: reaction2, roomId}, fragmentIdComparer);\n const relationWriter = new RelationWriter({roomId, ownUserId: alice, fragmentIdComparer});\n\n const storage = await createMockStorage();\n const txn = await storage.readWriteTxn([storage.storeNames.timelineEvents, storage.storeNames.timelineRelations]);\n txn.timelineEvents.tryInsert({fragmentId: 1, eventIndex: 2, event, roomId}, new NullLogItem());\n await relationWriter.writeRelation(reaction1Entry, txn, new NullLogItem());\n const updatedEntries = await relationWriter.writeRelation(reaction2Entry, txn, new NullLogItem());\n await txn.complete();\n\n assert.equal(updatedEntries.length, 1);\n\n const reactedMessage = updatedEntries[0];\n assert.equal(reactedMessage.id, \"!abc\");\n const annotation = reactedMessage.annotations[\"🐶\"];\n assert.equal(annotation.me, true);\n assert.equal(annotation.count, 2);\n assert.equal(annotation.firstTimestamp, 5);\n },\n \"redact second reaction\": async assert => {\n const event = withTextBody(\"Dogs > Cats\", createEvent(\"m.room.message\", \"!abc\", bob));\n const myReaction = withContent(createAnnotation(event.event_id, \"🐶\"), createEvent(\"m.reaction\", \"!def\", alice));\n myReaction.origin_server_ts = 5;\n const bobReaction = withContent(createAnnotation(event.event_id, \"🐶\"), createEvent(\"m.reaction\", \"!hij\", bob));\n bobReaction.origin_server_ts = 10;\n const myReactionRedaction = withRedacts(myReaction.event_id, \"\", createEvent(\"m.room.redaction\", \"!pol\", alice));\n\n const myReactionEntry = new EventEntry({event: myReaction, roomId}, fragmentIdComparer);\n const bobReactionEntry = new EventEntry({event: bobReaction, roomId}, fragmentIdComparer);\n const myReactionRedactionEntry = new EventEntry({event: myReactionRedaction, roomId}, fragmentIdComparer);\n const relationWriter = new RelationWriter({roomId, ownUserId: alice, fragmentIdComparer});\n\n const storage = await createMockStorage();\n const txn = await storage.readWriteTxn([storage.storeNames.timelineEvents, storage.storeNames.timelineRelations]);\n txn.timelineEvents.tryInsert({fragmentId: 1, eventIndex: 2, event, roomId}, new NullLogItem());\n txn.timelineEvents.tryInsert({fragmentId: 1, eventIndex: 3, event: myReaction, roomId}, new NullLogItem());\n await relationWriter.writeRelation(myReactionEntry, txn, new NullLogItem());\n txn.timelineEvents.tryInsert({fragmentId: 1, eventIndex: 4, event: bobReaction, roomId}, new NullLogItem());\n await relationWriter.writeRelation(bobReactionEntry, txn, new NullLogItem());\n const updatedEntries = await relationWriter.writeRelation(myReactionRedactionEntry, txn, new NullLogItem());\n await txn.complete();\n\n assert.equal(updatedEntries.length, 2);\n\n const redactedReaction = updatedEntries[0];\n assert.equal(redactedReaction.id, \"!def\");\n const reaggregatedMessage = updatedEntries[1];\n assert.equal(reaggregatedMessage.id, \"!abc\");\n const annotation = reaggregatedMessage.annotations[\"🐶\"];\n assert.equal(annotation.me, false);\n assert.equal(annotation.count, 1);\n assert.equal(annotation.firstTimestamp, 10);\n\n const readTxn = await storage.readTxn([storage.storeNames.timelineEvents]);\n const storedMessage = await readTxn.timelineEvents.getByEventId(roomId, \"!abc\");\n await readTxn.complete();\n assert.equal(storedMessage.annotations[\"🐶\"].count, 1);\n },\n \n }\n}\n","/*\nCopyright 2020 Bruno Windels \n\nLicensed under the Apache License, Version 2.0 (the \"License\");\nyou may not use this file except in compliance with the License.\nYou may obtain a copy of the License at\n\n http://www.apache.org/licenses/LICENSE-2.0\n\nUnless required by applicable law or agreed to in writing, software\ndistributed under the License is distributed on an \"AS IS\" BASIS,\nWITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\nSee the License for the specific language governing permissions and\nlimitations under the License.\n*/\n\nexport class Direction {\n constructor(public readonly isForward: boolean) {\n }\n\n get isBackward(): boolean {\n return !this.isForward;\n }\n\n asApiString(): string {\n return this.isForward ? \"f\" : \"b\";\n }\n\n reverse(): Direction {\n return this.isForward ? Direction.Backward : Direction.Forward\n }\n\n static get Forward(): Direction {\n return _forward;\n }\n\n static get Backward(): Direction {\n return _backward;\n }\n}\n\nconst _forward = new Direction(true);\nconst _backward = new Direction(false);\n","/*\nCopyright 2020 Bruno Windels \n\nLicensed under the Apache License, Version 2.0 (the \"License\");\nyou may not use this file except in compliance with the License.\nYou may obtain a copy of the License at\n\n http://www.apache.org/licenses/LICENSE-2.0\n\nUnless required by applicable law or agreed to in writing, software\ndistributed under the License is distributed on an \"AS IS\" BASIS,\nWITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\nSee the License for the specific language governing permissions and\nlimitations under the License.\n*/\n\nimport {BaseEntry} from \"./BaseEntry\";\nimport {Direction} from \"../Direction\";\nimport {isValidFragmentId} from \"../common.js\";\nimport {KeyLimits} from \"../../../storage/common\";\n\nexport class FragmentBoundaryEntry extends BaseEntry {\n constructor(fragment, isFragmentStart, fragmentIdComparer) {\n super(fragmentIdComparer);\n this._fragment = fragment;\n // TODO: should isFragmentStart be Direction instead of bool?\n this._isFragmentStart = isFragmentStart;\n }\n\n static start(fragment, fragmentIdComparer) {\n return new FragmentBoundaryEntry(fragment, true, fragmentIdComparer);\n }\n\n static end(fragment, fragmentIdComparer) {\n return new FragmentBoundaryEntry(fragment, false, fragmentIdComparer);\n }\n \n get started() {\n return this._isFragmentStart;\n }\n\n get hasEnded() {\n return !this.started;\n }\n\n get fragment() {\n return this._fragment;\n }\n\n get fragmentId() {\n return this._fragment.id;\n }\n\n get entryIndex() {\n if (this.started) {\n return KeyLimits.minStorageKey;\n } else {\n return KeyLimits.maxStorageKey;\n }\n }\n\n get isGap() {\n return !!this.token && !this.edgeReached;\n }\n\n get token() {\n if (this.started) {\n return this.fragment.previousToken;\n } else {\n return this.fragment.nextToken;\n }\n }\n\n set token(token) {\n if (this.started) {\n this.fragment.previousToken = token;\n } else {\n this.fragment.nextToken = token;\n }\n }\n\n get edgeReached() {\n if (this.started) {\n return this.fragment.startReached;\n } else {\n return this.fragment.endReached;\n }\n }\n\n set edgeReached(reached) {\n \n if (this.started) {\n this.fragment.startReached = reached;\n } else {\n this.fragment.endReached = reached;\n }\n }\n\n \n\n get linkedFragmentId() {\n if (this.started) {\n return this.fragment.previousId;\n } else {\n return this.fragment.nextId;\n }\n }\n\n set linkedFragmentId(id) {\n if (this.started) {\n this.fragment.previousId = id;\n } else {\n this.fragment.nextId = id;\n }\n }\n\n get hasLinkedFragment() {\n return isValidFragmentId(this.linkedFragmentId);\n }\n\n get direction() {\n if (this.started) {\n return Direction.Backward;\n } else {\n return Direction.Forward;\n }\n }\n\n withUpdatedFragment(fragment) {\n return new FragmentBoundaryEntry(fragment, this._isFragmentStart, this._fragmentIdComparer);\n }\n\n createNeighbourEntry(neighbour) {\n return new FragmentBoundaryEntry(neighbour, !this._isFragmentStart, this._fragmentIdComparer);\n }\n\n addLocalRelation() {}\n removeLocalRelation() {}\n}\n","/*\nCopyright 2020 Bruno Windels \nCopyright 2020 The Matrix.org Foundation C.I.C.\n\nLicensed under the Apache License, Version 2.0 (the \"License\");\nyou may not use this file except in compliance with the License.\nYou may obtain a copy of the License at\n\n http://www.apache.org/licenses/LICENSE-2.0\n\nUnless required by applicable law or agreed to in writing, software\ndistributed under the License is distributed on an \"AS IS\" BASIS,\nWITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\nSee the License for the specific language governing permissions and\nlimitations under the License.\n*/\n\nimport {EventKey} from \"../EventKey\";\nimport {EventEntry} from \"../entries/EventEntry.js\";\nimport {FragmentBoundaryEntry} from \"../entries/FragmentBoundaryEntry.js\";\nimport {createEventEntry} from \"./common.js\";\nimport {EVENT_TYPE as MEMBER_EVENT_TYPE} from \"../../members/RoomMember.js\";\n\n// Synapse bug? where the m.room.create event appears twice in sync response\n// when first syncing the room\nfunction deduplicateEvents(events) {\n const eventIds = new Set();\n return events.filter(e => {\n if (eventIds.has(e.event_id)) {\n return false;\n } else {\n eventIds.add(e.event_id);\n return true;\n }\n });\n}\n\nexport class SyncWriter {\n constructor({roomId, fragmentIdComparer, memberWriter, relationWriter}) {\n this._roomId = roomId;\n this._memberWriter = memberWriter;\n this._relationWriter = relationWriter;\n this._fragmentIdComparer = fragmentIdComparer;\n this._lastLiveKey = null;\n }\n\n async load(txn, log) {\n const liveFragment = await txn.timelineFragments.liveFragment(this._roomId);\n if (liveFragment) {\n const [lastEvent] = await txn.timelineEvents.lastEvents(this._roomId, liveFragment.id, 1);\n // fall back to the default event index in case the fragment was somehow written but no events\n // we should only create fragments when really writing timeline events now\n // (see https://github.com/vector-im/hydrogen-web/issues/112) but can't hurt to be extra robust.\n const eventIndex = lastEvent ? lastEvent.eventIndex : EventKey.defaultLiveKey.eventIndex;\n this._lastLiveKey = new EventKey(liveFragment.id, eventIndex);\n }\n // if there is no live fragment, we don't create it here because load gets a readonly txn.\n // this is on purpose, load shouldn't modify the store\n if (this._lastLiveKey) {\n log.set(\"live key\", this._lastLiveKey.toString());\n }\n }\n\n async _createLiveFragment(txn, previousToken) {\n const liveFragment = await txn.timelineFragments.liveFragment(this._roomId);\n if (!liveFragment) {\n if (!previousToken) {\n previousToken = null;\n }\n const fragment = {\n roomId: this._roomId,\n id: EventKey.defaultLiveKey.fragmentId,\n previousId: null,\n nextId: null,\n previousToken: previousToken,\n nextToken: null\n };\n txn.timelineFragments.add(fragment);\n this._fragmentIdComparer.add(fragment);\n return fragment;\n } else {\n return liveFragment;\n }\n }\n\n async _replaceLiveFragment(oldFragmentId, newFragmentId, previousToken, txn) {\n const oldFragment = await txn.timelineFragments.get(this._roomId, oldFragmentId);\n if (!oldFragment) {\n throw new Error(`old live fragment doesn't exist: ${oldFragmentId}`);\n }\n oldFragment.nextId = newFragmentId;\n txn.timelineFragments.update(oldFragment);\n const newFragment = {\n roomId: this._roomId,\n id: newFragmentId,\n previousId: oldFragmentId,\n nextId: null,\n previousToken: previousToken,\n nextToken: null\n };\n txn.timelineFragments.add(newFragment);\n this._fragmentIdComparer.append(newFragmentId, oldFragmentId);\n return {oldFragment, newFragment};\n }\n\n /**\n * creates a new live fragment if the timeline is limited, or if no live fragment is created yet\n * @param {EventKey} currentKey current key so far, might be none if room hasn't synced yet\n * @param {Array} entries array to add fragment boundary entries when creating a new fragment\n * @param {Object} timeline timeline part of the room sync response\n * @param {Transaction} txn used to read and write from the fragment store\n * @return {EventKey} the new event key to start writing events at\n */\n async _ensureLiveFragment(currentKey, entries, timeline, txn, log) {\n if (!currentKey) {\n // means we haven't synced this room yet (just joined or did initial sync)\n \n // as this is probably a limited sync, prev_batch should be there\n // (but don't fail if it isn't, we won't be able to back-paginate though)\n let liveFragment = await this._createLiveFragment(txn, timeline.prev_batch);\n currentKey = new EventKey(liveFragment.id, EventKey.defaultLiveKey.eventIndex);\n entries.push(FragmentBoundaryEntry.start(liveFragment, this._fragmentIdComparer));\n log.log({l: \"live fragment\", first: true, id: currentKey.fragmentId});\n } else if (timeline.limited) {\n // replace live fragment for limited sync, *only* if we had a live fragment already\n const oldFragmentId = currentKey.fragmentId;\n currentKey = currentKey.nextFragmentKey();\n const {oldFragment, newFragment} = await this._replaceLiveFragment(oldFragmentId, currentKey.fragmentId, timeline.prev_batch, txn);\n entries.push(FragmentBoundaryEntry.end(oldFragment, this._fragmentIdComparer));\n entries.push(FragmentBoundaryEntry.start(newFragment, this._fragmentIdComparer));\n log.log({l: \"live fragment\", limited: true, id: currentKey.fragmentId});\n }\n return currentKey;\n }\n\n async _writeStateEvents(stateEvents, txn, log) {\n let nonMemberStateEvents = 0;\n for (const event of stateEvents) {\n // member events are written prior by MemberWriter\n if (event.type !== MEMBER_EVENT_TYPE) {\n txn.roomState.set(this._roomId, event);\n nonMemberStateEvents += 1;\n }\n }\n log.set(\"stateEvents\", nonMemberStateEvents);\n }\n\n async _writeTimeline(timelineEvents, timeline, memberSync, currentKey, txn, log) {\n const entries = [];\n const updatedEntries = [];\n if (timelineEvents?.length) {\n // only create a fragment when we will really write an event\n currentKey = await this._ensureLiveFragment(currentKey, entries, timeline, txn, log);\n log.set(\"timelineEvents\", timelineEvents.length);\n let timelineStateEventCount = 0;\n for(const event of timelineEvents) {\n // store event in timeline\n currentKey = currentKey.nextKey();\n const storageEntry = createEventEntry(currentKey, this._roomId, event);\n let member = await memberSync.lookupMemberAtEvent(event.sender, event, txn);\n if (member) {\n storageEntry.displayName = member.displayName;\n storageEntry.avatarUrl = member.avatarUrl;\n }\n const couldInsert = await txn.timelineEvents.tryInsert(storageEntry, log);\n if (!couldInsert) {\n continue;\n }\n const entry = new EventEntry(storageEntry, this._fragmentIdComparer);\n entries.push(entry);\n const updatedRelationTargetEntries = await this._relationWriter.writeRelation(entry, txn, log);\n if (updatedRelationTargetEntries) {\n updatedEntries.push(...updatedRelationTargetEntries);\n }\n // update state events after writing event, so for a member event,\n // we only update the member info after having written the member event\n // to the timeline, as we want that event to have the old profile info.\n // member events are written prior by MemberWriter.\n if (typeof event.state_key === \"string\" && event.type !== MEMBER_EVENT_TYPE) {\n timelineStateEventCount += 1;\n txn.roomState.set(this._roomId, event);\n }\n }\n log.set(\"timelineStateEventCount\", timelineStateEventCount);\n }\n return {currentKey, entries, updatedEntries};\n }\n\n async _handleRejoinOverlap(timeline, txn, log) {\n if (this._lastLiveKey) {\n const {fragmentId} = this._lastLiveKey;\n const [lastEvent] = await txn.timelineEvents.lastEvents(this._roomId, fragmentId, 1);\n if (lastEvent) {\n const lastEventId = lastEvent.event.event_id;\n const {events} = timeline;\n const index = events.findIndex(event => event.event_id === lastEventId);\n if (index !== -1) {\n log.set(\"overlap_event_id\", lastEventId);\n return Object.assign({}, timeline, {\n limited: false,\n events: events.slice(index + 1),\n });\n }\n }\n }\n if (!timeline.limited) {\n log.set(\"force_limited_without_overlap\", true);\n return Object.assign({}, timeline, {limited: true});\n }\n return timeline;\n }\n\n /**\n * @type {SyncWriterResult}\n * @property {Array} entries new timeline entries written\n * @property {EventKey} newLiveKey the advanced key to write events at\n * \n * @param {Object} roomResponse [description]\n * @param {boolean} isRejoin whether the room was rejoined in the sync being processed\n * @param {Transaction} txn \n * @return {SyncWriterResult}\n */\n async writeSync(roomResponse, isRejoin, hasFetchedMembers, txn, log) {\n let {timeline} = roomResponse;\n // we have rejoined the room after having synced it before,\n // check for overlap with the last synced event\n log.set(\"isRejoin\", isRejoin);\n if (isRejoin) {\n timeline = await this._handleRejoinOverlap(timeline, txn, log);\n }\n let timelineEvents;\n if (Array.isArray(timeline?.events)) {\n timelineEvents = deduplicateEvents(timeline.events);\n }\n const {state} = roomResponse;\n let stateEvents;\n if (Array.isArray(state?.events)) {\n stateEvents = state.events;\n }\n const memberSync = this._memberWriter.prepareMemberSync(stateEvents, timelineEvents, hasFetchedMembers);\n if (stateEvents) {\n await this._writeStateEvents(stateEvents, txn, log);\n }\n const {currentKey, entries, updatedEntries} =\n await this._writeTimeline(timelineEvents, timeline, memberSync, this._lastLiveKey, txn, log);\n const memberChanges = await memberSync.write(txn);\n return {entries, updatedEntries, newLiveKey: currentKey, memberChanges};\n }\n\n afterSync(newLiveKey) {\n this._lastLiveKey = newLiveKey;\n }\n\n get lastMessageKey() {\n return this._lastLiveKey;\n }\n}\n\nimport {createMockStorage} from \"../../../../mocks/Storage\";\nimport {createEvent, withTextBody} from \"../../../../mocks/event.js\";\nimport {Instance as nullLogger} from \"../../../../logging/NullLogger\";\nexport function tests() {\n const roomId = \"!abc:hs.tld\";\n return {\n \"calling timelineEvents.tryInsert with the same event id a second time fails\": async assert => {\n const storage = await createMockStorage();\n const txn = await storage.readWriteTxn([storage.storeNames.timelineEvents]);\n const event = withTextBody(\"hello!\", createEvent(\"m.room.message\", \"$abc\", \"@alice:hs.tld\"));\n const entry1 = createEventEntry(EventKey.defaultLiveKey, roomId, event);\n assert.equal(await txn.timelineEvents.tryInsert(entry1, nullLogger.item), true);\n const entry2 = createEventEntry(EventKey.defaultLiveKey.nextKey(), roomId, event);\n assert.equal(await txn.timelineEvents.tryInsert(entry2, nullLogger.item), false);\n // fake-indexeddb still aborts the transaction when preventDefault is called by tryInsert, so don't await as it will abort\n // await txn.complete();\n },\n \"calling timelineEvents.tryInsert with the same event key a second time fails\": async assert => {\n const storage = await createMockStorage();\n const txn = await storage.readWriteTxn([storage.storeNames.timelineEvents]);\n const event1 = withTextBody(\"hello!\", createEvent(\"m.room.message\", \"$abc\", \"@alice:hs.tld\"));\n const entry1 = createEventEntry(EventKey.defaultLiveKey, roomId, event1);\n assert.equal(await txn.timelineEvents.tryInsert(entry1, nullLogger.item), true);\n const event2 = withTextBody(\"hello!\", createEvent(\"m.room.message\", \"$def\", \"@alice:hs.tld\"));\n const entry2 = createEventEntry(EventKey.defaultLiveKey, roomId, event2);\n assert.equal(await txn.timelineEvents.tryInsert(entry2, nullLogger.item), false);\n // fake-indexeddb still aborts the transaction when preventDefault is called by tryInsert, so don't await as it will abort\n // await txn.complete();\n },\n }\n}\n","/*\nCopyright 2021 The Matrix.org Foundation C.I.C.\n\nLicensed under the Apache License, Version 2.0 (the \"License\");\nyou may not use this file except in compliance with the License.\nYou may obtain a copy of the License at\n\n http://www.apache.org/licenses/LICENSE-2.0\n\nUnless required by applicable law or agreed to in writing, software\ndistributed under the License is distributed on an \"AS IS\" BASIS,\nWITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\nSee the License for the specific language governing permissions and\nlimitations under the License.\n*/\n\n\ntype FindCallback = (value: T) => boolean;\n/**\n * Very simple least-recently-used cache implementation\n * that should be fast enough for very small cache sizes\n */\nexport class BaseLRUCache {\n\n public readonly limit: number;\n protected _entries: T[];\n\n constructor(limit: number) {\n this.limit = limit;\n this._entries = [];\n }\n\n get size() { return this._entries.length; }\n\n protected _get(findEntryFn: FindCallback) {\n return this._getByIndexAndMoveUp(this._entries.findIndex(findEntryFn));\n }\n\n protected _getByIndexAndMoveUp(idx: number) {\n if (idx !== -1) {\n const entry = this._entries[idx];\n // move to top\n if (idx > 0) {\n this._entries.splice(idx, 1);\n this._entries.unshift(entry);\n }\n return entry;\n }\n }\n\n protected _set(value: T, findEntryFn?: FindCallback) {\n let indexToRemove = findEntryFn ? this._entries.findIndex(findEntryFn) : -1;\n this._entries.unshift(value);\n if (indexToRemove === -1) {\n if (this._entries.length > this.limit) {\n indexToRemove = this._entries.length - 1;\n }\n } else {\n // we added the entry at the start since we looked for the index\n indexToRemove += 1;\n }\n if (indexToRemove !== -1) {\n this.onEvictEntry(this._entries[indexToRemove]);\n this._entries.splice(indexToRemove, 1);\n }\n }\n\n protected onEvictEntry(entry: T) {}\n}\n\nexport class LRUCache extends BaseLRUCache {\n private _keyFn: (T) => K;\n\n constructor(limit, keyFn: (T) => K) {\n super(limit);\n this._keyFn = keyFn;\n }\n\n get(key: K): T | undefined {\n return this._get(e => this._keyFn(e) === key);\n }\n\n set(value: T) {\n const key = this._keyFn(value);\n this._set(value, e => this._keyFn(e) === key);\n }\n}\n\nexport function tests() {\n interface NameTuple {\n id: number;\n name: string;\n }\n\n return {\n \"can retrieve added entries\": assert => {\n const cache = new LRUCache(2, e => e.id);\n cache.set({id: 1, name: \"Alice\"});\n cache.set({id: 2, name: \"Bob\"});\n assert.equal(cache.get(1)!.name, \"Alice\");\n assert.equal(cache.get(2)!.name, \"Bob\");\n },\n \"first entry is evicted first\": assert => {\n const cache = new LRUCache(2, e => e.id);\n cache.set({id: 1, name: \"Alice\"});\n cache.set({id: 2, name: \"Bob\"});\n cache.set({id: 3, name: \"Charly\"});\n assert.equal(cache.get(1), undefined);\n assert.equal(cache.get(2)!.name, \"Bob\");\n assert.equal(cache.get(3)!.name, \"Charly\");\n assert.equal(cache.size, 2);\n },\n \"second entry is evicted if first is requested\": assert => {\n const cache = new LRUCache(2, e => e.id);\n cache.set({id: 1, name: \"Alice\"});\n cache.set({id: 2, name: \"Bob\"});\n cache.get(1);\n cache.set({id: 3, name: \"Charly\"});\n assert.equal(cache.get(1)!.name, \"Alice\");\n assert.equal(cache.get(2), undefined);\n assert.equal(cache.get(3)!.name, \"Charly\");\n assert.equal(cache.size, 2);\n },\n \"setting an entry twice removes the first\": assert => {\n const cache = new LRUCache(2, e => e.id);\n cache.set({id: 1, name: \"Alice\"});\n cache.set({id: 2, name: \"Bob\"});\n cache.set({id: 1, name: \"Al Ice\"});\n cache.set({id: 3, name: \"Charly\"});\n assert.equal(cache.get(1)!.name, \"Al Ice\");\n assert.equal(cache.get(2), undefined);\n assert.equal(cache.get(3)!.name, \"Charly\");\n assert.equal(cache.size, 2);\n },\n \"evict callback is called\": assert => {\n let evictions = 0;\n class CustomCache extends LRUCache {\n onEvictEntry(entry) {\n assert.equal(entry.name, \"Alice\");\n evictions += 1;\n }\n }\n const cache = new CustomCache(2, e => e.id);\n cache.set({id: 1, name: \"Alice\"});\n cache.set({id: 2, name: \"Bob\"});\n cache.set({id: 3, name: \"Charly\"});\n assert.equal(evictions, 1);\n },\n \"evict callback is called when replacing entry with same identity\": assert => {\n let evictions = 0;\n class CustomCache extends LRUCache {\n onEvictEntry(entry) {\n assert.equal(entry.name, \"Alice\");\n evictions += 1;\n }\n }\n const cache = new CustomCache(2, e => e.id);\n cache.set({id: 1, name: \"Alice\"});\n cache.set({id: 1, name: \"Bob\"});\n assert.equal(evictions, 1);\n },\n \n };\n}\n","/*\nCopyright 2021 The Matrix.org Foundation C.I.C.\n\nLicensed under the Apache License, Version 2.0 (the \"License\");\nyou may not use this file except in compliance with the License.\nYou may obtain a copy of the License at\n\n http://www.apache.org/licenses/LICENSE-2.0\n\nUnless required by applicable law or agreed to in writing, software\ndistributed under the License is distributed on an \"AS IS\" BASIS,\nWITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\nSee the License for the specific language governing permissions and\nlimitations under the License.\n*/\n\nimport {MemberChange, RoomMember, EVENT_TYPE as MEMBER_EVENT_TYPE} from \"../../members/RoomMember.js\";\nimport {LRUCache} from \"../../../../utils/LRUCache\";\n\nexport class MemberWriter {\n constructor(roomId) {\n this._roomId = roomId;\n this._cache = new LRUCache(5, member => member.userId);\n }\n\n prepareMemberSync(stateEvents, timelineEvents, hasFetchedMembers) {\n return new MemberSync(this, stateEvents, timelineEvents, hasFetchedMembers);\n }\n\n async _writeMember(member, txn) {\n let existingMember = this._cache.get(member.userId);\n if (!existingMember) {\n const memberData = await txn.roomMembers.get(this._roomId, member.userId);\n if (memberData) {\n existingMember = new RoomMember(memberData);\n }\n }\n // either never heard of the member, or something changed\n if (!existingMember || !existingMember.equals(member)) {\n txn.roomMembers.set(member.serialize());\n this._cache.set(member);\n return new MemberChange(member, existingMember?.membership);\n }\n }\n\n async lookupMember(userId, txn) {\n let member = this._cache.get(userId);\n if (!member) {\n const memberData = await txn.roomMembers.get(this._roomId, userId);\n if (memberData) {\n member = new RoomMember(memberData);\n this._cache.set(member);\n }\n }\n return member;\n }\n}\n\nclass MemberSync {\n constructor(memberWriter, stateEvents, timelineEvents, hasFetchedMembers) {\n this._memberWriter = memberWriter;\n this._timelineEvents = timelineEvents;\n this._hasFetchedMembers = hasFetchedMembers;\n this._newStateMembers = null;\n if (stateEvents) {\n this._newStateMembers = this._stateEventsToMembers(stateEvents);\n }\n }\n\n get _roomId() {\n return this._memberWriter._roomId;\n }\n\n _stateEventsToMembers(stateEvents) {\n let members;\n for (const event of stateEvents) {\n if (event.type === MEMBER_EVENT_TYPE) {\n const member = RoomMember.fromMemberEvent(this._roomId, event);\n if (member) {\n if (!members) {\n members = new Map();\n }\n members.set(member.userId, member);\n }\n }\n }\n return members;\n }\n\n _timelineEventsToMembers(timelineEvents) {\n let members;\n // iterate backwards to only add the last member in the timeline\n for (let i = timelineEvents.length - 1; i >= 0; i--) {\n const e = timelineEvents[i];\n const userId = e.state_key;\n if (e.type === MEMBER_EVENT_TYPE && !members?.has(userId)) {\n const member = RoomMember.fromMemberEvent(this._roomId, e);\n if (member) {\n if (!members) {\n members = new Map();\n }\n members.set(member.userId, member);\n }\n }\n }\n return members;\n }\n\n async lookupMemberAtEvent(userId, event, txn) {\n let member;\n if (this._timelineEvents) {\n member = this._findPrecedingMemberEventInTimeline(userId, event);\n if (member) {\n return member;\n }\n }\n member = this._newStateMembers?.get(userId);\n if (member) {\n return member;\n }\n return await this._memberWriter.lookupMember(userId, txn);\n }\n\n async write(txn) {\n const memberChanges = new Map();\n let newTimelineMembers;\n if (this._timelineEvents) {\n newTimelineMembers = this._timelineEventsToMembers(this._timelineEvents);\n }\n if (this._newStateMembers) {\n for (const member of this._newStateMembers.values()) {\n if (!newTimelineMembers?.has(member.userId)) {\n const memberChange = await this._memberWriter._writeMember(member, txn);\n if (memberChange) {\n // if the member event appeared only in the state section,\n // AND we haven't heard about it AND we haven't fetched all members yet (to avoid #470),\n // this may be a lazy loading member (if it's not in a gap, we are certain\n // it is a ll member, in a gap, we can't tell), so we pass in our own membership as\n // as the previous one so we won't consider it a join to not have false positives (to avoid #192).\n // see also MemberChange.hasJoined\n const maybeLazyLoadingMember = !this._hasFetchedMembers && !memberChange.previousMembership;\n if (maybeLazyLoadingMember) {\n memberChange.previousMembership = member.membership;\n }\n memberChanges.set(memberChange.userId, memberChange);\n }\n }\n }\n }\n if (newTimelineMembers) {\n for (const member of newTimelineMembers.values()) {\n const memberChange = await this._memberWriter._writeMember(member, txn);\n if (memberChange) {\n memberChanges.set(memberChange.userId, memberChange);\n }\n }\n }\n return memberChanges;\n }\n\n // try to find the first member event before the given event,\n // so we respect historical display names within the chunk of timeline\n _findPrecedingMemberEventInTimeline(userId, event) {\n let eventIndex = -1;\n for (let i = this._timelineEvents.length - 1; i >= 0; i--) {\n const e = this._timelineEvents[i];\n if (e.event_id === event.event_id) {\n eventIndex = i;\n break;\n }\n }\n for (let i = eventIndex - 1; i >= 0; i--) {\n const e = this._timelineEvents[i];\n if (e.type === MEMBER_EVENT_TYPE && e.state_key === userId) {\n const member = RoomMember.fromMemberEvent(this._roomId, e);\n if (member) {\n return member;\n }\n }\n }\n }\n}\n\nexport function tests() {\n\n let idCounter = 0;\n\n function createMemberEvent(membership, userId, displayName, avatarUrl) {\n idCounter += 1;\n return {\n content: {\n membership,\n \"displayname\": displayName,\n \"avatar_url\": avatarUrl\n },\n event_id: `$${idCounter}`,\n sender: userId,\n \"state_key\": userId,\n type: \"m.room.member\"\n };\n }\n\n function createStorage(initialMembers = []) {\n const members = new Map();\n for (const m of initialMembers) {\n members.set(m.userId, m);\n }\n return {\n members,\n roomMembers: {\n async get(_, userId) {\n return members.get(userId);\n },\n set(member) {\n members.set(member.userId, member);\n }\n }\n }\n }\n\n function member(...args) {\n return RoomMember.fromMemberEvent(roomId, createMemberEvent.apply(null, args));\n }\n\n const roomId = \"abc\";\n const alice = \"@alice:hs.tld\";\n const avatar = \"mxc://hs.tld/def\";\n\n return {\n \"new join\": async assert => {\n const writer = new MemberWriter(roomId);\n const txn = createStorage();\n const memberSync = writer.prepareMemberSync([], [createMemberEvent(\"join\", alice)], false);\n const changes = await memberSync.write(txn);\n assert.equal(changes.size, 1);\n const change = changes.get(alice);\n assert(change.hasJoined);\n assert.equal(txn.members.get(alice).membership, \"join\");\n },\n \"accept invite\": async assert => {\n const writer = new MemberWriter(roomId);\n const txn = createStorage([member(\"invite\", alice)]);\n const memberSync = writer.prepareMemberSync([], [createMemberEvent(\"join\", alice)], false);\n const changes = await memberSync.write(txn);\n assert.equal(changes.size, 1);\n const change = changes.get(alice);\n assert.equal(change.previousMembership, \"invite\");\n assert(change.hasJoined);\n assert.equal(txn.members.get(alice).membership, \"join\");\n },\n \"change display name\": async assert => {\n const writer = new MemberWriter(roomId);\n const txn = createStorage([member(\"join\", alice, \"Alice\")]);\n const memberSync = writer.prepareMemberSync([], [createMemberEvent(\"join\", alice, \"Alies\")], false);\n const changes = await memberSync.write(txn);\n assert.equal(changes.size, 1);\n const change = changes.get(alice);\n assert(!change.hasJoined);\n assert.equal(change.member.displayName, \"Alies\");\n assert.equal(txn.members.get(alice).displayName, \"Alies\");\n },\n \"set avatar\": async assert => {\n const writer = new MemberWriter(roomId);\n const txn = createStorage([member(\"join\", alice, \"Alice\")]);\n const memberSync = writer.prepareMemberSync([], [createMemberEvent(\"join\", alice, \"Alice\", avatar)], false);\n const changes = await memberSync.write(txn);\n assert.equal(changes.size, 1);\n const change = changes.get(alice);\n assert(!change.hasJoined);\n assert.equal(change.member.avatarUrl, avatar);\n assert.equal(txn.members.get(alice).avatarUrl, avatar);\n },\n \"ignore redundant member event in timeline\": async assert => {\n const writer = new MemberWriter(roomId);\n const txn = createStorage([member(\"join\", alice, \"Alice\", avatar)]);\n const memberSync = writer.prepareMemberSync([], [createMemberEvent(\"join\", alice, \"Alice\", avatar)], false);\n const changes = await memberSync.write(txn);\n assert.equal(changes.size, 0);\n },\n \"ignore redundant member event in state\": async assert => {\n const writer = new MemberWriter(roomId);\n const txn = createStorage([member(\"join\", alice, \"Alice\", avatar)]);\n const memberSync = writer.prepareMemberSync([createMemberEvent(\"join\", alice, \"Alice\", avatar)], [], false);\n const changes = await memberSync.write(txn);\n assert.equal(changes.size, 0);\n },\n \"leave\": async assert => {\n const writer = new MemberWriter(roomId);\n const txn = createStorage([member(\"join\", alice, \"Alice\")]);\n const memberSync = writer.prepareMemberSync([], [createMemberEvent(\"leave\", alice, \"Alice\")], false);\n const changes = await memberSync.write(txn);\n assert.equal(changes.size, 1);\n const change = changes.get(alice);\n assert(change.hasLeft);\n assert(!change.hasJoined);\n },\n \"ban\": async assert => {\n const writer = new MemberWriter(roomId);\n const txn = createStorage([member(\"join\", alice, \"Alice\")]);\n const memberSync = writer.prepareMemberSync([], [createMemberEvent(\"ban\", alice, \"Alice\")], false);\n const changes = await memberSync.write(txn);\n assert.equal(changes.size, 1);\n const change = changes.get(alice);\n assert(change.hasLeft);\n assert(!change.hasJoined);\n },\n \"reject invite\": async assert => {\n const writer = new MemberWriter(roomId);\n const txn = createStorage([member(\"invite\", alice, \"Alice\")]);\n const memberSync = writer.prepareMemberSync([], [createMemberEvent(\"leave\", alice, \"Alice\")], false);\n const changes = await memberSync.write(txn);\n assert.equal(changes.size, 1);\n const change = changes.get(alice);\n assert(!change.hasLeft);\n assert(!change.hasJoined);\n },\n \"lazy loaded member we already know about doens't return change\": async assert => {\n const writer = new MemberWriter(roomId);\n const txn = createStorage([member(\"join\", alice, \"Alice\")]);\n const memberSync = writer.prepareMemberSync([createMemberEvent(\"join\", alice, \"Alice\")], [], false);\n const changes = await memberSync.write(txn);\n assert.equal(changes.size, 0);\n },\n \"lazy loaded member we already know about changes display name\": async assert => {\n const writer = new MemberWriter(roomId);\n const txn = createStorage([member(\"join\", alice, \"Alice\")]);\n const memberSync = writer.prepareMemberSync([createMemberEvent(\"join\", alice, \"Alies\")], [], false);\n const changes = await memberSync.write(txn);\n assert.equal(changes.size, 1);\n const change = changes.get(alice);\n assert(!change.hasJoined);\n assert.equal(change.member.displayName, \"Alies\");\n },\n \"unknown lazy loaded member returns change, but not considered a join\": async assert => {\n const writer = new MemberWriter(roomId);\n const txn = createStorage();\n const memberSync = writer.prepareMemberSync([createMemberEvent(\"join\", alice, \"Alice\")], [], false);\n const changes = await memberSync.write(txn);\n assert.equal(changes.size, 1);\n const change = changes.get(alice);\n assert(!change.hasJoined);\n assert(!change.hasLeft);\n assert.equal(change.member.membership, \"join\");\n assert.equal(txn.members.get(alice).displayName, \"Alice\");\n },\n \"new join through both timeline and state\": async assert => {\n const writer = new MemberWriter(roomId);\n const txn = createStorage();\n const aliceJoin = createMemberEvent(\"join\", alice, \"Alice\");\n const memberSync = writer.prepareMemberSync([aliceJoin], [aliceJoin], false);\n const changes = await memberSync.write(txn);\n assert.equal(changes.size, 1);\n const change = changes.get(alice);\n assert(change.hasJoined);\n assert(!change.hasLeft);\n },\n \"change display name in timeline with lazy loaded member in state\": async assert => {\n const writer = new MemberWriter(roomId);\n const txn = createStorage();\n const memberSync = writer.prepareMemberSync(\n [createMemberEvent(\"join\", alice, \"Alice\")],\n [createMemberEvent(\"join\", alice, \"Alies\")],\n false);\n const changes = await memberSync.write(txn);\n assert.equal(changes.size, 1);\n const change = changes.get(alice);\n assert(change.hasJoined);\n assert(!change.hasLeft);\n assert.equal(change.member.displayName, \"Alies\");\n },\n \"lookupMemberAtEvent returns closest member in the past\": async assert => {\n const event1 = createMemberEvent(\"join\", alice, \"Alice\");\n const event2 = createMemberEvent(\"join\", alice, \"Alies\");\n const event3 = createMemberEvent(\"join\", alice, \"Alys\");\n const events = [event1, event2, event3];\n // we write first because the MemberWriter assumes it is called before\n // the SyncWriter does any lookups\n const writer = new MemberWriter(roomId);\n const txn = createStorage();\n const memberSync = await writer.prepareMemberSync([], events, false);\n let member = await memberSync.lookupMemberAtEvent(event1.sender, event1, txn);\n assert.equal(member, undefined);\n member = await memberSync.lookupMemberAtEvent(event2.sender, event2, txn);\n assert.equal(member.displayName, \"Alice\");\n member = await memberSync.lookupMemberAtEvent(event3.sender, event3, txn);\n assert.equal(member.displayName, \"Alies\");\n\n assert.equal(txn.members.size, 0);\n const changes = await memberSync.write(txn);\n assert.equal(txn.members.size, 1);\n assert.equal(changes.size, 1);\n const change = changes.get(alice);\n assert(change.hasJoined);\n },\n \"lookupMemberAtEvent falls back on state event\": async assert => {\n const event1 = createMemberEvent(\"join\", alice, \"Alice\");\n const event2 = createMemberEvent(\"join\", alice, \"Alies\");\n // we write first because the MemberWriter assumes it is called before\n // the SyncWriter does any lookups\n const writer = new MemberWriter(roomId);\n const txn = createStorage();\n const memberSync = await writer.prepareMemberSync([event1], [event2], false);\n const member = await memberSync.lookupMemberAtEvent(event2.sender, event2, txn);\n assert.equal(member.displayName, \"Alice\");\n\n assert.equal(txn.members.size, 0);\n const changes = await memberSync.write(txn);\n assert.equal(txn.members.size, 1);\n assert.equal(changes.size, 1);\n const change = changes.get(alice);\n assert(change.hasJoined);\n },\n \"write works without event arrays\": async assert => {\n const writer = new MemberWriter(roomId);\n const txn = createStorage();\n const memberSync = await writer.prepareMemberSync(undefined, undefined, false);\n const changes = await memberSync.write(txn);\n assert.equal(changes.size, 0);\n },\n };\n}\n","/*\nCopyright 2020 Bruno Windels \n\nLicensed under the Apache License, Version 2.0 (the \"License\");\nyou may not use this file except in compliance with the License.\nYou may obtain a copy of the License at\n\n http://www.apache.org/licenses/LICENSE-2.0\n\nUnless required by applicable law or agreed to in writing, software\ndistributed under the License is distributed on an \"AS IS\" BASIS,\nWITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\nSee the License for the specific language governing permissions and\nlimitations under the License.\n*/\n\nimport {EventKey} from \"../EventKey\";\nimport {EventEntry} from \"../entries/EventEntry.js\";\nimport {createEventEntry, directionalAppend} from \"./common.js\";\nimport {RoomMember, EVENT_TYPE as MEMBER_EVENT_TYPE} from \"../../members/RoomMember.js\";\n\nexport class GapWriter {\n constructor({roomId, storage, fragmentIdComparer, relationWriter}) {\n this._roomId = roomId;\n this._storage = storage;\n this._fragmentIdComparer = fragmentIdComparer;\n this._relationWriter = relationWriter;\n }\n\n async _findOverlappingEvents(fragmentEntry, events, txn, log) {\n const eventIds = events.map(e => e.event_id);\n const existingEventKeyMap = await txn.timelineEvents.getEventKeysForIds(this._roomId, eventIds);\n log.set(\"existingEvents\", existingEventKeyMap.size);\n const nonOverlappingEvents = events.filter(e => !existingEventKeyMap.has(e.event_id));\n log.set(\"nonOverlappingEvents\", nonOverlappingEvents.length);\n let neighbourFragmentEntry;\n if (fragmentEntry.hasLinkedFragment) {\n log.set(\"linkedFragmentId\", fragmentEntry.linkedFragmentId);\n for (const eventKey of existingEventKeyMap.values()) {\n if (eventKey.fragmentId === fragmentEntry.linkedFragmentId) {\n log.set(\"foundLinkedFragment\", true);\n const neighbourFragment = await txn.timelineFragments.get(this._roomId, fragmentEntry.linkedFragmentId);\n neighbourFragmentEntry = fragmentEntry.createNeighbourEntry(neighbourFragment);\n break;\n }\n }\n }\n return {nonOverlappingEvents, neighbourFragmentEntry};\n }\n\n async _findFragmentEdgeEventKey(fragmentEntry, txn) {\n const {fragmentId, direction} = fragmentEntry;\n const event = await this._findFragmentEdgeEvent(fragmentId, direction, txn);\n if (event) {\n return new EventKey(event.fragmentId, event.eventIndex);\n } else {\n // no events yet in the fragment ... odd, but let's not fail and take the default key\n return EventKey.defaultFragmentKey(fragmentEntry.fragmentId);\n }\n }\n\n async _findFragmentEdgeEvent(fragmentId, direction, txn) {\n if (direction.isBackward) {\n const [firstEvent] = await txn.timelineEvents.firstEvents(this._roomId, fragmentId, 1);\n return firstEvent;\n } else {\n const [lastEvent] = await txn.timelineEvents.lastEvents(this._roomId, fragmentId, 1);\n return lastEvent;\n }\n }\n\n async _storeEvents(events, startKey, direction, state, txn, log) {\n const entries = [];\n const updatedEntries = [];\n // events is in reverse chronological order for backwards pagination,\n // e.g. order is moving away from the `from` point.\n let key = startKey;\n for (let i = 0; i < events.length; ++i) {\n const event = events[i];\n key = key.nextKeyForDirection(direction);\n const eventStorageEntry = createEventEntry(key, this._roomId, event);\n const member = this._findMember(event.sender, state, events, i, direction);\n if (member) {\n eventStorageEntry.displayName = member.displayName;\n eventStorageEntry.avatarUrl = member.avatarUrl;\n }\n // this will modify eventStorageEntry if it is a relation target\n const updatedRelationTargetEntries = await this._relationWriter.writeGapRelation(eventStorageEntry, direction, txn, log);\n if (updatedRelationTargetEntries) {\n updatedEntries.push(...updatedRelationTargetEntries);\n }\n if (await txn.timelineEvents.tryInsert(eventStorageEntry, log)) {\n const eventEntry = new EventEntry(eventStorageEntry, this._fragmentIdComparer);\n directionalAppend(entries, eventEntry, direction);\n }\n }\n return {entries, updatedEntries};\n }\n\n _findMember(userId, state, events, index, direction) {\n function isOurUser(event) {\n return event.type === MEMBER_EVENT_TYPE && event.state_key === userId;\n }\n // older messages are at a higher index in the array when going backwards\n const inc = direction.isBackward ? 1 : -1;\n for (let i = index + inc; i >= 0 && i < events.length; i += inc) {\n const event = events[i];\n if (isOurUser(event)) {\n return RoomMember.fromMemberEvent(this._roomId, event);\n }\n }\n // look into newer events, but using prev_content if found.\n // We do this before looking into `state` because it is not well specified\n // in the spec whether the events in there represent state before or after `chunk`.\n // So we look both directions first in chunk to make sure it doesn't matter.\n for (let i = index; i >= 0 && i < events.length; i -= inc) {\n const event = events[i];\n if (isOurUser(event)) {\n return RoomMember.fromReplacingMemberEvent(this._roomId, event);\n }\n }\n // assuming the member hasn't changed within the chunk, just take it from state if it's there.\n // Don't assume state is set though, as it can be empty at the top of the timeline in some circumstances \n const stateMemberEvent = state?.find(isOurUser);\n if (stateMemberEvent) {\n return RoomMember.fromMemberEvent(this._roomId, stateMemberEvent);\n }\n }\n\n async _updateFragments(fragmentEntry, neighbourFragmentEntry, end, entries, txn, log) {\n const {direction} = fragmentEntry;\n const changedFragments = [];\n directionalAppend(entries, fragmentEntry, direction);\n // set `end` as token, and if we found an event in the step before, link up the fragments in the fragment entry\n if (neighbourFragmentEntry) {\n // if neighbourFragmentEntry was found, it means the events were overlapping,\n // so no pagination should happen anymore.\n log.set(\"closedGapWith\", neighbourFragmentEntry.fragmentId);\n neighbourFragmentEntry.token = null;\n fragmentEntry.token = null;\n\n txn.timelineFragments.update(neighbourFragmentEntry.fragment);\n directionalAppend(entries, neighbourFragmentEntry, direction);\n\n // fragments that need to be changed in the fragmentIdComparer here\n // after txn succeeds\n changedFragments.push(fragmentEntry.fragment);\n changedFragments.push(neighbourFragmentEntry.fragment);\n } else {\n fragmentEntry.token = end;\n }\n txn.timelineFragments.update(fragmentEntry.fragment);\n\n return changedFragments;\n }\n\n async writeFragmentFill(fragmentEntry, response, txn, log) {\n const {fragmentId, direction} = fragmentEntry;\n // chunk is in reverse-chronological order when backwards\n const {chunk, start, state} = response;\n let {end} = response;\n\n if (!Array.isArray(chunk)) {\n throw new Error(\"Invalid chunk in response\");\n }\n if (typeof end !== \"string\" && typeof end !== \"undefined\") {\n throw new Error(\"Invalid end token in response\");\n }\n\n // make sure we have the latest fragment from the store\n const fragment = await txn.timelineFragments.get(this._roomId, fragmentId);\n if (!fragment) {\n throw new Error(`Unknown fragment: ${fragmentId}`);\n }\n fragmentEntry = fragmentEntry.withUpdatedFragment(fragment);\n // check that the request was done with the token we are aware of (extra care to avoid timeline corruption)\n if (fragmentEntry.token !== start) {\n throw new Error(\"start is not equal to prev_batch or next_batch\");\n }\n\n // begin (or end) of timeline reached\n if (chunk.length === 0) {\n fragmentEntry.edgeReached = true;\n await txn.timelineFragments.update(fragmentEntry.fragment);\n return {entries: [fragmentEntry], updatedEntries: [], fragments: []};\n }\n\n // find last event in fragment so we get the eventIndex to begin creating keys at\n let lastKey = await this._findFragmentEdgeEventKey(fragmentEntry, txn);\n log.set(\"lastKey\", lastKey.toString());\n // find out if any event in chunk is already present using findFirstOrLastOccurringEventId\n const {\n nonOverlappingEvents,\n neighbourFragmentEntry\n } = await this._findOverlappingEvents(fragmentEntry, chunk, txn, log);\n // create entries for all events in chunk, add them to entries\n const {entries, updatedEntries} = await this._storeEvents(nonOverlappingEvents, lastKey, direction, state, txn, log);\n const fragments = await this._updateFragments(fragmentEntry, neighbourFragmentEntry, end, entries, txn, log);\n \n return {entries, updatedEntries, fragments};\n }\n}\n\nimport {FragmentIdComparer} from \"../FragmentIdComparer.js\";\nimport {RelationWriter} from \"./RelationWriter.js\";\nimport {createMockStorage} from \"../../../../mocks/Storage\";\nimport {FragmentBoundaryEntry} from \"../entries/FragmentBoundaryEntry.js\";\nimport {NullLogItem} from \"../../../../logging/NullLogger\";\nimport {TimelineMock, eventIds, eventId} from \"../../../../mocks/TimelineMock.ts\";\nimport {SyncWriter} from \"./SyncWriter.js\";\nimport {MemberWriter} from \"./MemberWriter.js\";\nimport {KeyLimits} from \"../../../storage/common\";\n\nexport function tests() {\n const roomId = \"!room:hs.tdl\";\n const alice = \"alice@hs.tdl\";\n const logger = new NullLogItem();\n\n async function createGapFillTxn(storage) {\n return storage.readWriteTxn([\n storage.storeNames.roomMembers,\n storage.storeNames.pendingEvents,\n storage.storeNames.timelineEvents,\n storage.storeNames.timelineRelations,\n storage.storeNames.timelineFragments,\n ]);\n }\n\n async function setup() {\n const storage = await createMockStorage();\n const txn = await createGapFillTxn(storage);\n const fragmentIdComparer = new FragmentIdComparer([]);\n const relationWriter = new RelationWriter({\n roomId, fragmentIdComparer, ownUserId: alice,\n });\n const gapWriter = new GapWriter({\n roomId, storage, fragmentIdComparer, relationWriter\n });\n const memberWriter = new MemberWriter(roomId);\n const syncWriter = new SyncWriter({\n roomId,\n fragmentIdComparer,\n memberWriter,\n relationWriter\n });\n return { storage, txn, fragmentIdComparer, gapWriter, syncWriter, timelineMock: new TimelineMock() };\n }\n\n async function syncAndWrite(mocks, { previous, limit } = {}) {\n const {txn, timelineMock, syncWriter, fragmentIdComparer} = mocks;\n const syncResponse = timelineMock.sync(previous?.next_batch, limit);\n const {newLiveKey} = await syncWriter.writeSync(syncResponse, false, false, txn, logger);\n syncWriter.afterSync(newLiveKey);\n return {\n syncResponse,\n fragmentEntry: newLiveKey ? FragmentBoundaryEntry.start(\n await txn.timelineFragments.get(roomId, newLiveKey.fragmentId),\n fragmentIdComparer,\n ) : null,\n };\n }\n\n async function backfillAndWrite(mocks, fragmentEntry, limit) {\n const {txn, timelineMock, gapWriter} = mocks;\n const messageResponse = timelineMock.messages(fragmentEntry.token, undefined, fragmentEntry.direction.asApiString(), limit);\n await gapWriter.writeFragmentFill(fragmentEntry, messageResponse, txn, logger);\n }\n\n async function allFragmentEvents(mocks, fragmentId) {\n const {txn} = mocks;\n const entries = await txn.timelineEvents.eventsAfter(roomId, new EventKey(fragmentId, KeyLimits.minStorageKey));\n return entries.map(e => e.event);\n }\n\n async function fetchFragment(mocks, fragmentId) {\n const {txn} = mocks;\n return txn.timelineFragments.get(roomId, fragmentId);\n }\n\n function assertFilledLink(assert, fragment1, fragment2) {\n assert.equal(fragment1.nextId, fragment2.id);\n assert.equal(fragment2.previousId, fragment1.id);\n assert.equal(fragment1.nextToken, null);\n assert.equal(fragment2.previousToken, null);\n }\n\n function assertGapLink(assert, fragment1, fragment2) {\n assert.equal(fragment1.nextId, fragment2.id);\n assert.equal(fragment2.previousId, fragment1.id);\n assert.notEqual(fragment2.previousToken, null);\n }\n\n return {\n \"Backfilling after one sync\": async assert => {\n const mocks = await setup();\n const { timelineMock } = mocks;\n timelineMock.append(30);\n const {fragmentEntry} = await syncAndWrite(mocks);\n await backfillAndWrite(mocks, fragmentEntry, 10);\n const events = await allFragmentEvents(mocks, fragmentEntry.fragmentId);\n assert.deepEqual(events.map(e => e.event_id), eventIds(10, 30));\n await mocks.txn.complete();\n },\n \"Backfilling a fragment that is expected to close a gap, and does\": async assert => {\n const mocks = await setup();\n const { timelineMock } = mocks;\n timelineMock.append(10);\n const {syncResponse, fragmentEntry: firstFragmentEntry} = await syncAndWrite(mocks, { limit: 10 });\n timelineMock.append(15);\n const {fragmentEntry: secondFragmentEntry} = await syncAndWrite(mocks, { previous: syncResponse, limit: 10 });\n await backfillAndWrite(mocks, secondFragmentEntry, 10);\n\n const firstFragment = await fetchFragment(mocks, firstFragmentEntry.fragmentId);\n const secondFragment = await fetchFragment(mocks, secondFragmentEntry.fragmentId);\n assertFilledLink(assert, firstFragment, secondFragment)\n const firstEvents = await allFragmentEvents(mocks, firstFragmentEntry.fragmentId);\n assert.deepEqual(firstEvents.map(e => e.event_id), eventIds(0, 10));\n const secondEvents = await allFragmentEvents(mocks, secondFragmentEntry.fragmentId);\n assert.deepEqual(secondEvents.map(e => e.event_id), eventIds(10, 25));\n await mocks.txn.complete();\n },\n \"Backfilling a fragment that is expected to close a gap, but doesn't yet\": async assert => {\n const mocks = await setup();\n const { timelineMock } = mocks;\n timelineMock.append(10);\n const {syncResponse, fragmentEntry: firstFragmentEntry} = await syncAndWrite(mocks, { limit: 10 });\n timelineMock.append(20);\n const {fragmentEntry: secondFragmentEntry} = await syncAndWrite(mocks, { previous: syncResponse, limit: 10 });\n await backfillAndWrite(mocks, secondFragmentEntry, 10);\n\n const firstFragment = await fetchFragment(mocks, firstFragmentEntry.fragmentId);\n const secondFragment = await fetchFragment(mocks, secondFragmentEntry.fragmentId);\n assertGapLink(assert, firstFragment, secondFragment)\n const firstEvents = await allFragmentEvents(mocks, firstFragmentEntry.fragmentId);\n assert.deepEqual(firstEvents.map(e => e.event_id), eventIds(0, 10));\n const secondEvents = await allFragmentEvents(mocks, secondFragmentEntry.fragmentId);\n assert.deepEqual(secondEvents.map(e => e.event_id), eventIds(10, 30));\n await mocks.txn.complete();\n },\n \"Receiving a sync with the same events as the current fragment does not create infinite link\": async assert => {\n const mocks = await setup();\n const { txn, timelineMock } = mocks;\n timelineMock.append(10);\n const {syncResponse, fragmentEntry: fragmentEntry} = await syncAndWrite(mocks, { limit: 10 });\n // Mess with the saved token to receive old events in backfill\n fragmentEntry.token = syncResponse.next_batch;\n txn.timelineFragments.update(fragmentEntry.fragment);\n await backfillAndWrite(mocks, fragmentEntry, 10);\n\n const fragment = await fetchFragment(mocks, fragmentEntry.fragmentId);\n assert.notEqual(fragment.nextId, fragment.id);\n assert.notEqual(fragment.previousId, fragment.id);\n await mocks.txn.complete();\n },\n \"An event received by sync does not interrupt backfilling\": async assert => {\n const mocks = await setup();\n const { timelineMock } = mocks;\n timelineMock.append(10);\n const {syncResponse, fragmentEntry: firstFragmentEntry} = await syncAndWrite(mocks, { limit: 10 });\n timelineMock.append(11);\n const {fragmentEntry: secondFragmentEntry} = await syncAndWrite(mocks, { previous: syncResponse, limit: 10 });\n timelineMock.insertAfter(eventId(9), 5);\n await backfillAndWrite(mocks, secondFragmentEntry, 10);\n\n const firstEvents = await allFragmentEvents(mocks, firstFragmentEntry.fragmentId);\n assert.deepEqual(firstEvents.map(e => e.event_id), eventIds(0, 10));\n const secondEvents = await allFragmentEvents(mocks, secondFragmentEntry.fragmentId);\n assert.deepEqual(secondEvents.map(e => e.event_id), [...eventIds(21,26), ...eventIds(10, 21)]);\n const firstFragment = await fetchFragment(mocks, firstFragmentEntry.fragmentId);\n const secondFragment = await fetchFragment(mocks, secondFragmentEntry.fragmentId);\n assertFilledLink(assert, firstFragment, secondFragment)\n await mocks.txn.complete();\n }\n }\n}\n","/*\nCopyright 2020 Bruno Windels \n\nLicensed under the Apache License, Version 2.0 (the \"License\");\nyou may not use this file except in compliance with the License.\nYou may obtain a copy of the License at\n\n http://www.apache.org/licenses/LICENSE-2.0\n\nUnless required by applicable law or agreed to in writing, software\ndistributed under the License is distributed on an \"AS IS\" BASIS,\nWITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\nSee the License for the specific language governing permissions and\nlimitations under the License.\n*/\n\nimport {BaseObservable} from \"../BaseObservable\";\n\nexport interface IListObserver {\n onReset(list: BaseObservableList): void;\n onAdd(index: number, value:T, list: BaseObservableList): void;\n onUpdate(index: number, value: T, params: any, list: BaseObservableList): void;\n onRemove(index: number, value: T, list: BaseObservableList): void\n onMove(from: number, to: number, value: T, list: BaseObservableList): void\n}\n\nexport function defaultObserverWith(overrides: { [key in keyof IListObserver]?: IListObserver[key] }): IListObserver {\n const defaults = {\n onReset(){},\n onAdd(){},\n onUpdate(){},\n onRemove(){},\n onMove(){},\n }\n return Object.assign(defaults, overrides);\n}\n\nexport abstract class BaseObservableList extends BaseObservable> implements Iterable {\n emitReset() {\n for(let h of this._handlers) {\n h.onReset(this);\n }\n }\n // we need batch events, mostly on index based collection though?\n // maybe we should get started without?\n emitAdd(index: number, value: T): void {\n for(let h of this._handlers) {\n h.onAdd(index, value, this);\n }\n }\n\n emitUpdate(index: number, value: T, params?: any): void {\n for(let h of this._handlers) {\n h.onUpdate(index, value, params, this);\n }\n }\n\n emitRemove(index: number, value: T): void {\n for(let h of this._handlers) {\n h.onRemove(index, value, this);\n }\n }\n\n // toIdx assumes the item has already\n // been removed from its fromIdx\n emitMove(fromIdx: number, toIdx: number, value: T): void {\n for(let h of this._handlers) {\n h.onMove(fromIdx, toIdx, value, this);\n }\n }\n\n abstract [Symbol.iterator](): Iterator;\n abstract get length(): number;\n}\n","/*\nCopyright 2020 Bruno Windels \n\nLicensed under the Apache License, Version 2.0 (the \"License\");\nyou may not use this file except in compliance with the License.\nYou may obtain a copy of the License at\n\n http://www.apache.org/licenses/LICENSE-2.0\n\nUnless required by applicable law or agreed to in writing, software\ndistributed under the License is distributed on an \"AS IS\" BASIS,\nWITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\nSee the License for the specific language governing permissions and\nlimitations under the License.\n*/\n\n/**\n * @license\n * Based off baseSortedIndex function in Lodash \n * Copyright JS Foundation and other contributors \n * Released under MIT license \n * Based on Underscore.js 1.8.3 \n * Copyright Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors\n */\nexport function sortedIndex(array: T[], value: T, comparator: (x:T, y:T) => number): number {\n let low = 0;\n let high = array.length;\n\n while (low < high) {\n let mid = (low + high) >>> 1;\n let cmpResult = comparator(value, array[mid]);\n\n if (cmpResult > 0) {\n low = mid + 1;\n } else if (cmpResult < 0) {\n high = mid;\n } else {\n low = high = mid;\n }\n }\n return high;\n}\n","/*\nCopyright 2020 Bruno Windels \n\nLicensed under the Apache License, Version 2.0 (the \"License\");\nyou may not use this file except in compliance with the License.\nYou may obtain a copy of the License at\n\n http://www.apache.org/licenses/LICENSE-2.0\n\nUnless required by applicable law or agreed to in writing, software\ndistributed under the License is distributed on an \"AS IS\" BASIS,\nWITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\nSee the License for the specific language governing permissions and\nlimitations under the License.\n*/\n\nimport {BaseObservable} from \"../BaseObservable\";\n\nexport interface IMapObserver {\n onReset(): void;\n onAdd(key: K, value:V): void;\n onUpdate(key: K, value: V, params: any): void;\n onRemove(key: K, value: V): void\n}\n\nexport abstract class BaseObservableMap extends BaseObservable> {\n emitReset() {\n for(let h of this._handlers) {\n h.onReset();\n }\n }\n // we need batch events, mostly on index based collection though?\n // maybe we should get started without?\n emitAdd(key: K, value: V) {\n for(let h of this._handlers) {\n h.onAdd(key, value);\n }\n }\n\n emitUpdate(key, value, params) {\n for(let h of this._handlers) {\n h.onUpdate(key, value, params);\n }\n }\n\n emitRemove(key, value) {\n for(let h of this._handlers) {\n h.onRemove(key, value);\n }\n }\n\n abstract [Symbol.iterator](): Iterator<[K, V]>;\n abstract get size(): number;\n abstract get(key: K): V | undefined;\n}\n","/*\nCopyright 2020 Bruno Windels \n\nLicensed under the Apache License, Version 2.0 (the \"License\");\nyou may not use this file except in compliance with the License.\nYou may obtain a copy of the License at\n\n http://www.apache.org/licenses/LICENSE-2.0\n\nUnless required by applicable law or agreed to in writing, software\ndistributed under the License is distributed on an \"AS IS\" BASIS,\nWITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\nSee the License for the specific language governing permissions and\nlimitations under the License.\n*/\n\nimport {BaseObservableMap} from \"./BaseObservableMap\";\n\nexport class ObservableMap extends BaseObservableMap {\n private readonly _values: Map;\n\n constructor(initialValues?: (readonly [K, V])[]) {\n super();\n this._values = new Map(initialValues);\n }\n\n update(key: K, params?: any): boolean {\n const value = this._values.get(key);\n if (value !== undefined) {\n // could be the same value, so it's already updated\n // but we don't assume this here\n this._values.set(key, value);\n this.emitUpdate(key, value, params);\n return true;\n }\n return false; // or return existing value?\n }\n\n add(key: K, value: V): boolean {\n if (!this._values.has(key)) {\n this._values.set(key, value);\n this.emitAdd(key, value);\n return true;\n }\n return false; // or return existing value?\n }\n\n remove(key: K): boolean {\n const value = this._values.get(key);\n if (value !== undefined) {\n this._values.delete(key);\n this.emitRemove(key, value);\n return true;\n } else {\n return false;\n }\n }\n\n set(key: K, value: V): boolean {\n if (this._values.has(key)) {\n // We set the value here because update only supports inline updates\n this._values.set(key, value);\n return this.update(key, undefined);\n } \n else {\n return this.add(key, value);\n }\n }\n\n reset(): void {\n this._values.clear();\n this.emitReset();\n }\n\n get(key: K): V | undefined {\n return this._values.get(key);\n }\n\n get size(): number {\n return this._values.size;\n }\n\n [Symbol.iterator](): Iterator<[K, V]> {\n return this._values.entries();\n }\n\n values(): Iterator {\n return this._values.values();\n }\n\n keys(): Iterator {\n return this._values.keys();\n }\n}\n\nexport function tests() {\n return {\n test_initial_values(assert) {\n const map = new ObservableMap([\n [\"a\", 5],\n [\"b\", 10]\n ]);\n assert.equal(map.size, 2);\n assert.equal(map.get(\"a\"), 5);\n assert.equal(map.get(\"b\"), 10);\n },\n\n test_add(assert) {\n let fired = 0;\n const map = new ObservableMap();\n map.subscribe({\n onAdd(key, value) {\n fired += 1;\n assert.equal(key, 1);\n assert.deepEqual(value, {value: 5}); \n },\n onUpdate() {},\n onRemove() {},\n onReset() {}\n });\n map.add(1, {value: 5});\n assert.equal(map.size, 1);\n assert.equal(fired, 1);\n },\n\n test_update(assert) {\n let fired = 0;\n const map = new ObservableMap();\n const value = {number: 5};\n map.add(1, value);\n map.subscribe({\n onUpdate(key, value, params) {\n fired += 1;\n assert.equal(key, 1);\n assert.deepEqual(value, {number: 6}); \n assert.equal(params, \"test\");\n },\n onAdd() {},\n onRemove() {},\n onReset() {}\n });\n value.number = 6;\n map.update(1, \"test\");\n assert.equal(fired, 1);\n },\n\n test_update_unknown(assert) {\n let fired = 0;\n const map = new ObservableMap();\n map.subscribe({\n onUpdate() { fired += 1; },\n onAdd() {},\n onRemove() {},\n onReset() {}\n });\n const result = map.update(1);\n assert.equal(fired, 0);\n assert.equal(result, false);\n },\n\n test_set(assert) {\n let add_fired = 0, update_fired = 0;\n const map = new ObservableMap();\n map.subscribe({\n onAdd(key, value) {\n add_fired += 1;\n assert.equal(key, 1);\n assert.deepEqual(value, {value: 5}); \n },\n onUpdate(key, value/*, params*/) {\n update_fired += 1;\n assert.equal(key, 1);\n assert.deepEqual(value, {value: 7}); \n },\n onRemove() {},\n onReset() {}\n });\n // Add\n map.set(1, {value: 5});\n assert.equal(map.size, 1);\n assert.equal(add_fired, 1);\n // Update\n map.set(1, {value: 7});\n assert.equal(map.size, 1);\n assert.equal(update_fired, 1);\n },\n\n test_remove(assert) {\n let fired = 0;\n const map = new ObservableMap();\n const value = {value: 5};\n map.add(1, value);\n map.subscribe({\n onRemove(key, value) {\n fired += 1;\n assert.equal(key, 1);\n assert.deepEqual(value, {value: 5}); \n },\n onAdd() {},\n onUpdate() {},\n onReset() {}\n });\n map.remove(1);\n assert.equal(map.size, 0);\n assert.equal(fired, 1);\n },\n\n test_iterate(assert) {\n const results: any[] = [];\n const map = new ObservableMap();\n map.add(1, {number: 5});\n map.add(2, {number: 6});\n map.add(3, {number: 7});\n for (let e of map) {\n results.push(e);\n }\n assert.equal(results.length, 3);\n assert.equal(results.find(([key]) => key === 1)[1].number, 5);\n assert.equal(results.find(([key]) => key === 2)[1].number, 6);\n assert.equal(results.find(([key]) => key === 3)[1].number, 7);\n },\n test_size(assert) {\n const map = new ObservableMap();\n map.add(1, {number: 5});\n map.add(2, {number: 6});\n assert.equal(map.size, 2);\n },\n }\n}\n","/*\nCopyright 2020 Bruno Windels \n\nLicensed under the Apache License, Version 2.0 (the \"License\");\nyou may not use this file except in compliance with the License.\nYou may obtain a copy of the License at\n\n http://www.apache.org/licenses/LICENSE-2.0\n\nUnless required by applicable law or agreed to in writing, software\ndistributed under the License is distributed on an \"AS IS\" BASIS,\nWITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\nSee the License for the specific language governing permissions and\nlimitations under the License.\n*/\n\nimport {BaseObservableList} from \"./BaseObservableList\";\nimport {sortedIndex} from \"../../utils/sortedIndex\";\n\n/*\n\nwhen a value changes, it sorting order can change. It would still be at the old index prior to firing an onUpdate event.\nSo how do you know where it was before it changed, if not by going over all values?\n\nhow to make this fast?\n\nseems hard to solve with an array, because you need to map the key to it's previous location somehow, to efficiently find it,\nand move it.\n\nI wonder if we could do better with a binary search tree (BST).\nThe tree has a value with {key, value}. There is a plain Map mapping keys to this tuple,\nfor easy lookup. Now how do we find the index of this tuple in the BST?\n\neither we store in every node the amount of nodes on the left and right, or we decend into the part\nof the tree preceding the node we want to know about. Updating the counts upwards would probably be fine as this is log2 of\nthe size of the container.\n\nto be able to go from a key to an index, the value would have the have a link with the tree node though\n\nso key -> Map -> value -> node -> *parentNode -> rootNode\nwith a node containing {value, leftCount, rightCount, leftNode, rightNode, parentNode}\n*/\n\n// does not assume whether or not the values are reference\n// types modified outside of the collection (and affecting sort order) or not\n\n// no duplicates allowed for now\nexport class SortedMapList extends BaseObservableList {\n constructor(sourceMap, comparator) {\n super();\n this._sourceMap = sourceMap;\n this._comparator = (a, b) => comparator(a.value, b.value);\n this._sortedPairs = null;\n this._mapSubscription = null;\n }\n \n onAdd(key, value) {\n const pair = {key, value};\n const idx = sortedIndex(this._sortedPairs, pair, this._comparator);\n this._sortedPairs.splice(idx, 0, pair);\n this.emitAdd(idx, value);\n }\n\n onRemove(key, value) {\n const pair = {key, value};\n const idx = sortedIndex(this._sortedPairs, pair, this._comparator);\n // assert key === this._sortedPairs[idx].key;\n this._sortedPairs.splice(idx, 1);\n this.emitRemove(idx, value);\n }\n\n onUpdate(key, value, params) {\n // if an update is emitted while calling source.subscribe() from onSubscribeFirst, ignore it\n if (!this._sortedPairs) {\n return;\n }\n // TODO: suboptimal for performance, see above for idea with BST to speed this up if we need to\n const oldIdx = this._sortedPairs.findIndex(p => p.key === key);\n // neccesary to remove pair from array before\n // doing sortedIndex as it relies on being sorted\n this._sortedPairs.splice(oldIdx, 1);\n const pair = {key, value};\n const newIdx = sortedIndex(this._sortedPairs, pair, this._comparator);\n this._sortedPairs.splice(newIdx, 0, pair);\n if (oldIdx !== newIdx) {\n this.emitMove(oldIdx, newIdx, value);\n }\n this.emitUpdate(newIdx, value, params);\n }\n\n onReset() {\n this._sortedPairs = [];\n this.emitReset();\n }\n\n onSubscribeFirst() {\n this._mapSubscription = this._sourceMap.subscribe(this);\n this._sortedPairs = new Array(this._sourceMap.size);\n let i = 0;\n for (let [key, value] of this._sourceMap) {\n this._sortedPairs[i] = {key, value};\n ++i;\n }\n this._sortedPairs.sort(this._comparator);\n super.onSubscribeFirst();\n }\n\n onUnsubscribeLast() {\n super.onUnsubscribeLast();\n this._sortedPairs = null;\n this._mapSubscription = this._mapSubscription();\n }\n\n get(index) {\n return this._sortedPairs[index].value;\n }\n\n get length() {\n return this._sourceMap.size;\n }\n\n [Symbol.iterator]() {\n const it = this._sortedPairs.values();\n return {\n next() {\n const v = it.next();\n if (v.value) {\n v.value = v.value.value;\n }\n return v;\n }\n }\n }\n}\n\nimport {ObservableMap} from \"../map/ObservableMap\";\n\nexport function tests() {\n return {\n test_sortIndex(assert) {\n const a = [1, 5, 6, 8];\n const cmp = (a, b) => a - b;\n let idx = sortedIndex(a, 0, cmp);\n assert.equal(idx, 0);\n idx = sortedIndex(a, 3, cmp);\n assert.equal(idx, 1);\n idx = sortedIndex(a, 5, cmp);\n assert.equal(idx, 1);\n idx = sortedIndex(a, 8, cmp);\n assert.equal(idx, 3);\n },\n\n test_sortIndex_reverse(assert) {\n let idx = sortedIndex([8, 6, 5, 1], 6, (a, b) => b - a);\n assert.equal(idx, 1);\n },\n\n test_sortIndex_comparator_Array_compatible(assert) {\n const a = [5, 1, 8, 2];\n const cmp = (a, b) => a - b;\n a.sort(cmp);\n assert.deepEqual(a, [1, 2, 5, 8]);\n let idx = sortedIndex(a, 2, cmp);\n assert.equal(idx, 1);\n },\n\n test_initial_values(assert) {\n const map = new ObservableMap([\n [\"a\", 50],\n [\"b\", 6],\n [\"c\", -5],\n ]);\n const list = new SortedMapList(map, (a, b) => a - b);\n list.subscribe({}); //needed to populate iterator\n assert.deepEqual(Array.from(list), [-5, 6, 50]);\n assert.equal(list.length, 3);\n },\n\n test_add(assert) {\n const map = new ObservableMap([[\"a\", 50], [\"b\", 6], [\"c\", -5]]);\n const list = new SortedMapList(map, (a, b) => a - b);\n let fired = 0;\n list.subscribe({\n onAdd(idx, value) {\n fired++;\n assert.equal(idx, 2);\n assert.equal(value, 20);\n }\n });\n map.add(\"d\", 20);\n assert.equal(fired, 1);\n assert.equal(list.length, 4);\n },\n\n test_remove(assert) {\n const map = new ObservableMap([[\"a\", 50], [\"b\", 6], [\"c\", -5]]);\n const list = new SortedMapList(map, (a, b) => a - b);\n let fired = 0;\n list.subscribe({\n onRemove(idx, value) {\n fired++;\n assert.equal(idx, 2);\n assert.equal(value, 50);\n }\n });\n map.remove(\"a\");\n assert.equal(fired, 1);\n assert.equal(list.length, 2);\n },\n\n test_move_reference(assert) {\n const a = {number: 3};\n const map = new ObservableMap([\n [\"a\", a],\n [\"b\", {number: 11}],\n [\"c\", {number: 1}],\n ]);\n const list = new SortedMapList(map, (a, b) => a.number - b.number);\n let updateFired = 0, moveFired = 0;\n list.subscribe({\n onUpdate(idx, value, param) {\n updateFired++;\n assert.equal(idx, 2);\n assert.equal(value, a);\n assert.equal(param, \"number\");\n },\n\n onMove(oldIdx, newIdx, value) {\n moveFired++;\n assert.equal(oldIdx, 1);\n assert.equal(newIdx, 2);\n assert.equal(value, a);\n }\n });\n a.number = 111;\n map.update(\"a\", \"number\");\n assert.equal(moveFired, 1);\n assert.equal(updateFired, 1);\n },\n\n test_update_without_move(assert) {\n const a = {number: 3};\n const map = new ObservableMap([\n [\"a\", a],\n [\"b\", {number: 11}],\n [\"c\", {number: 1}],\n ]);\n const list = new SortedMapList(map, (a, b) => a.number - b.number);\n let updateFired = 0, moveFired = 0;\n list.subscribe({\n onUpdate(idx, value, param) {\n updateFired++;\n assert.equal(idx, 1);\n assert.equal(value, a);\n assert.equal(param, \"number\");\n },\n\n onMove() {\n moveFired++;\n }\n });\n assert.deepEqual(Array.from(list).map(v => v.number), [1, 3, 11]);\n // asume some part of a that doesn't affect\n // sorting order has changed here\n map.update(\"a\", \"number\");\n assert.equal(moveFired, 0);\n assert.equal(updateFired, 1);\n assert.deepEqual(Array.from(list).map(v => v.number), [1, 3, 11]);\n },\n }\n}\n","/*\nCopyright 2020 Bruno Windels \n\nLicensed under the Apache License, Version 2.0 (the \"License\");\nyou may not use this file except in compliance with the License.\nYou may obtain a copy of the License at\n\n http://www.apache.org/licenses/LICENSE-2.0\n\nUnless required by applicable law or agreed to in writing, software\ndistributed under the License is distributed on an \"AS IS\" BASIS,\nWITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\nSee the License for the specific language governing permissions and\nlimitations under the License.\n*/\n\nimport {BaseObservableMap} from \"./BaseObservableMap\";\n\nexport class FilteredMap extends BaseObservableMap {\n constructor(source, filter) {\n super();\n this._source = source;\n this._filter = filter;\n /** @type {Map} */\n this._included = null;\n this._subscription = null;\n }\n\n setFilter(filter) {\n this._filter = filter;\n if (this._subscription) {\n this._reapplyFilter();\n }\n }\n\n /**\n * reapply the filter\n */\n _reapplyFilter(silent = false) {\n if (this._filter) {\n const oldIncluded = this._included;\n this._included = this._included || new Map();\n for (const [key, value] of this._source) {\n const isIncluded = this._filter(value, key);\n this._included.set(key, isIncluded);\n if (!silent) {\n const wasIncluded = oldIncluded ? oldIncluded.get(key) : true;\n this._emitForUpdate(wasIncluded, isIncluded, key, value);\n }\n }\n } else { // no filter\n // did we have a filter before?\n if (this._included && !silent) {\n // add any non-included items again\n for (const [key, value] of this._source) {\n if (!this._included.get(key)) {\n this.emitAdd(key, value);\n }\n }\n }\n this._included = null;\n }\n }\n\n onAdd(key, value) {\n if (this._filter) {\n const included = this._filter(value, key);\n this._included.set(key, included);\n if (!included) {\n return;\n }\n }\n this.emitAdd(key, value);\n }\n\n onRemove(key, value) {\n const wasIncluded = !this._filter || this._included.get(key);\n this._included.delete(key);\n if (wasIncluded) {\n this.emitRemove(key, value);\n }\n }\n\n onUpdate(key, value, params) {\n // if an update is emitted while calling source.subscribe() from onSubscribeFirst, ignore it\n if (!this._included) {\n return;\n }\n if (this._filter) {\n const wasIncluded = this._included.get(key);\n const isIncluded = this._filter(value, key);\n this._included.set(key, isIncluded);\n this._emitForUpdate(wasIncluded, isIncluded, key, value, params);\n } else {\n this.emitUpdate(key, value, params);\n }\n }\n\n _emitForUpdate(wasIncluded, isIncluded, key, value, params = null) {\n if (wasIncluded && !isIncluded) {\n this.emitRemove(key, value);\n } else if (!wasIncluded && isIncluded) {\n this.emitAdd(key, value);\n } else if (wasIncluded && isIncluded) {\n this.emitUpdate(key, value, params);\n }\n }\n\n onSubscribeFirst() {\n this._subscription = this._source.subscribe(this);\n this._reapplyFilter(true);\n super.onSubscribeFirst();\n }\n\n onUnsubscribeLast() {\n super.onUnsubscribeLast();\n this._included = null;\n this._subscription = this._subscription();\n }\n\n onReset() {\n this._reapplyFilter();\n this.emitReset();\n }\n\n [Symbol.iterator]() {\n return new FilterIterator(this._source, this._included);\n }\n\n get size() {\n let count = 0;\n this._included.forEach(included => {\n if (included) {\n count += 1;\n }\n });\n return count;\n }\n\n get(key) {\n const value = this._source.get(key);\n if (value && this._filter(value, key)) {\n return value;\n }\n }\n}\n\nclass FilterIterator {\n constructor(map, _included) {\n this._included = _included;\n this._sourceIterator = map[Symbol.iterator]();\n }\n\n next() {\n // eslint-disable-next-line no-constant-condition\n while (true) {\n const sourceResult = this._sourceIterator.next();\n if (sourceResult.done) {\n return sourceResult;\n }\n const key = sourceResult.value[0];\n if (this._included.get(key)) {\n return sourceResult;\n }\n }\n }\n}\n\nimport {ObservableMap} from \"./ObservableMap\";\nexport function tests() {\n return {\n \"filter preloaded list\": assert => {\n const source = new ObservableMap();\n source.add(\"one\", 1);\n source.add(\"two\", 2);\n source.add(\"three\", 3);\n const oddNumbers = new FilteredMap(source, x => x % 2 !== 0);\n // can only iterate after subscribing\n oddNumbers.subscribe({});\n assert.equal(oddNumbers.size, 2);\n const it = oddNumbers[Symbol.iterator]();\n assert.deepEqual(it.next().value, [\"one\", 1]);\n assert.deepEqual(it.next().value, [\"three\", 3]);\n assert.equal(it.next().done, true);\n },\n // \"filter added values\": assert => {\n\n // },\n // \"filter removed values\": assert => {\n\n // },\n // \"filter changed values\": assert => {\n\n // },\n\n \"emits must trigger once\": assert => {\n const source = new ObservableMap();\n let count_add = 0, count_update = 0, count_remove = 0;\n source.add(\"num1\", 1);\n source.add(\"num2\", 2);\n source.add(\"num3\", 3);\n const oddMap = new FilteredMap(source, x => x % 2 !== 0);\n oddMap.subscribe({\n onAdd() {\n count_add += 1;\n },\n onRemove() {\n count_remove += 1;\n },\n onUpdate() {\n count_update += 1;\n }\n });\n source.set(\"num3\", 4);\n source.set(\"num3\", 5);\n source.set(\"num3\", 7);\n assert.strictEqual(count_add, 1);\n assert.strictEqual(count_update, 1);\n assert.strictEqual(count_remove, 1);\n }\n }\n}\n","/*\nCopyright 2020 Bruno Windels \n\nLicensed under the Apache License, Version 2.0 (the \"License\");\nyou may not use this file except in compliance with the License.\nYou may obtain a copy of the License at\n\n http://www.apache.org/licenses/LICENSE-2.0\n\nUnless required by applicable law or agreed to in writing, software\ndistributed under the License is distributed on an \"AS IS\" BASIS,\nWITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\nSee the License for the specific language governing permissions and\nlimitations under the License.\n*/\n\nimport {BaseObservableMap} from \"./BaseObservableMap\";\n/*\nso a mapped value can emit updates on it's own with this._emitSpontaneousUpdate that is passed in the mapping function\nhow should the mapped value be notified of an update though? and can it then decide to not propagate the update?\n*/\nexport class MappedMap extends BaseObservableMap {\n constructor(source, mapper, updater) {\n super();\n this._source = source;\n this._mapper = mapper;\n this._updater = updater;\n this._mappedValues = new Map();\n }\n\n _emitSpontaneousUpdate(key, params) {\n const value = this._mappedValues.get(key);\n if (value) {\n this.emitUpdate(key, value, params);\n }\n }\n\n onAdd(key, value) {\n const emitSpontaneousUpdate = this._emitSpontaneousUpdate.bind(this, key);\n const mappedValue = this._mapper(value, emitSpontaneousUpdate);\n this._mappedValues.set(key, mappedValue);\n this.emitAdd(key, mappedValue);\n }\n\n onRemove(key/*, _value*/) {\n const mappedValue = this._mappedValues.get(key);\n if (this._mappedValues.delete(key)) {\n this.emitRemove(key, mappedValue);\n }\n }\n\n onUpdate(key, value, params) {\n // if an update is emitted while calling source.subscribe() from onSubscribeFirst, ignore it\n if (!this._mappedValues) {\n return;\n }\n const mappedValue = this._mappedValues.get(key);\n if (mappedValue !== undefined) {\n this._updater?.(mappedValue, params, value);\n // TODO: map params somehow if needed?\n this.emitUpdate(key, mappedValue, params);\n }\n }\n\n onSubscribeFirst() {\n this._subscription = this._source.subscribe(this);\n for (let [key, value] of this._source) {\n const emitSpontaneousUpdate = this._emitSpontaneousUpdate.bind(this, key);\n const mappedValue = this._mapper(value, emitSpontaneousUpdate);\n this._mappedValues.set(key, mappedValue);\n }\n super.onSubscribeFirst();\n }\n\n onUnsubscribeLast() {\n super.onUnsubscribeLast();\n this._subscription = this._subscription();\n this._mappedValues.clear();\n }\n\n onReset() {\n this._mappedValues.clear();\n this.emitReset();\n }\n\n [Symbol.iterator]() {\n return this._mappedValues.entries();\n }\n\n get size() {\n return this._mappedValues.size;\n }\n\n get(key) {\n return this._mappedValues.get(key);\n }\n}\n","/*\nCopyright 2021 The Matrix.org Foundation C.I.C.\n\nLicensed under the Apache License, Version 2.0 (the \"License\");\nyou may not use this file except in compliance with the License.\nYou may obtain a copy of the License at\n\n http://www.apache.org/licenses/LICENSE-2.0\n\nUnless required by applicable law or agreed to in writing, software\ndistributed under the License is distributed on an \"AS IS\" BASIS,\nWITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\nSee the License for the specific language governing permissions and\nlimitations under the License.\n*/\n\nimport {BaseObservableMap} from \"./BaseObservableMap\";\n\nexport class JoinedMap extends BaseObservableMap {\n constructor(sources) {\n super();\n this._sources = sources;\n this._subscriptions = null;\n }\n\n onAdd(source, key, value) {\n if (!this._isKeyAtSourceOccluded(source, key)) {\n const occludingValue = this._getValueFromOccludedSources(source, key);\n if (occludingValue !== undefined) {\n // adding a value that will occlude another one should\n // first emit a remove\n this.emitRemove(key, occludingValue);\n }\n this.emitAdd(key, value);\n }\n }\n\n onRemove(source, key, value) {\n if (!this._isKeyAtSourceOccluded(source, key)) {\n this.emitRemove(key, value);\n const occludedValue = this._getValueFromOccludedSources(source, key);\n if (occludedValue !== undefined) {\n // removing a value that so far occluded another one should\n // emit an add for the occluded value after the removal\n this.emitAdd(key, occludedValue);\n }\n }\n }\n\n onUpdate(source, key, value, params) {\n // if an update is emitted while calling source.subscribe() from onSubscribeFirst, ignore it\n if (!this._subscriptions) {\n return;\n }\n if (!this._isKeyAtSourceOccluded(source, key)) {\n this.emitUpdate(key, value, params);\n }\n }\n\n onReset() {\n this.emitReset();\n }\n\n onSubscribeFirst() {\n this._subscriptions = this._sources.map(source => new SourceSubscriptionHandler(source, this).subscribe());\n super.onSubscribeFirst();\n }\n\n _isKeyAtSourceOccluded(source, key) {\n // sources that come first in the sources array can\n // hide the keys in later sources, to prevent events\n // being emitted for the same key and different values,\n // so check the key is not present in earlier sources\n const index = this._sources.indexOf(source);\n for (let i = 0; i < index; i += 1) {\n if (this._sources[i].get(key) !== undefined) {\n return true;\n }\n }\n return false;\n }\n\n // get the value that the given source and key occlude, if any\n _getValueFromOccludedSources(source, key) {\n // sources that come first in the sources array can\n // hide the keys in later sources, to prevent events\n // being emitted for the same key and different values,\n // so check the key is not present in earlier sources\n const index = this._sources.indexOf(source);\n for (let i = index + 1; i < this._sources.length; i += 1) {\n const source = this._sources[i];\n const occludedValue = source.get(key);\n if (occludedValue !== undefined) {\n return occludedValue;\n }\n }\n return undefined;\n }\n\n onUnsubscribeLast() {\n super.onUnsubscribeLast();\n for (const s of this._subscriptions) {\n s.dispose();\n }\n }\n\n [Symbol.iterator]() {\n return new JoinedIterator(this._sources);\n }\n\n get size() {\n return this._sources.reduce((sum, s) => sum + s.size, 0);\n }\n\n get(key) {\n for (const s of this._sources) {\n const value = s.get(key);\n if (value) {\n return value;\n }\n }\n return null;\n }\n}\n\nclass JoinedIterator {\n constructor(sources) {\n this._sources = sources;\n this._sourceIndex = -1;\n this._currentIterator = null;\n this._encounteredKeys = new Set();\n }\n\n next() {\n let result;\n while (!result) {\n if (!this._currentIterator) {\n this._sourceIndex += 1;\n if (this._sources.length <= this._sourceIndex) {\n return {done: true};\n }\n this._currentIterator = this._sources[this._sourceIndex][Symbol.iterator]();\n }\n const sourceResult = this._currentIterator.next();\n if (sourceResult.done) {\n this._currentIterator = null;\n continue;\n } else {\n const key = sourceResult.value[0];\n if (!this._encounteredKeys.has(key)) {\n this._encounteredKeys.add(key);\n result = sourceResult;\n }\n }\n }\n return result;\n }\n}\n\nclass SourceSubscriptionHandler {\n constructor(source, joinedMap) {\n this._source = source;\n this._joinedMap = joinedMap;\n this._subscription = null;\n }\n\n subscribe() {\n this._subscription = this._source.subscribe(this);\n return this;\n }\n\n dispose() {\n this._subscription = this._subscription();\n }\n\n onAdd(key, value) {\n this._joinedMap.onAdd(this._source, key, value);\n }\n\n onRemove(key, value) {\n this._joinedMap.onRemove(this._source, key, value);\n }\n\n onUpdate(key, value, params) {\n this._joinedMap.onUpdate(this._source, key, value, params);\n }\n\n onReset() {\n this._joinedMap.onReset(this._source);\n }\n}\n\n\nimport { ObservableMap } from \"./ObservableMap\";\n\nexport function tests() {\n\n function observeMap(map) {\n const events = [];\n map.subscribe({\n onAdd(key, value) { events.push({type: \"add\", key, value}); },\n onRemove(key, value) { events.push({type: \"remove\", key, value}); },\n onUpdate(key, value, params) { events.push({type: \"update\", key, value, params}); }\n });\n return events;\n }\n\n return {\n \"joined iterator\": assert => {\n const firstKV = [\"a\", 1];\n const secondKV = [\"b\", 2];\n const thirdKV = [\"c\", 3];\n const it = new JoinedIterator([[firstKV, secondKV], [thirdKV]]);\n assert.equal(it.next().value, firstKV);\n assert.equal(it.next().value, secondKV);\n assert.equal(it.next().value, thirdKV);\n assert.equal(it.next().done, true);\n },\n \"prevent key collision during iteration\": assert => {\n const first = new ObservableMap();\n const second = new ObservableMap();\n const join = new JoinedMap([first, second]);\n second.add(\"a\", 2);\n second.add(\"b\", 3);\n first.add(\"a\", 1);\n const it = join[Symbol.iterator]();\n assert.deepEqual(it.next().value, [\"a\", 1]);\n assert.deepEqual(it.next().value, [\"b\", 3]);\n assert.equal(it.next().done, true);\n },\n \"adding occluded key doesn't emit add\": assert => {\n const first = new ObservableMap();\n const second = new ObservableMap();\n const join = new JoinedMap([first, second]);\n const events = observeMap(join);\n first.add(\"a\", 1);\n second.add(\"a\", 2);\n assert.equal(events.length, 1);\n assert.equal(events[0].type, \"add\");\n assert.equal(events[0].key, \"a\");\n assert.equal(events[0].value, 1);\n },\n \"updating occluded key doesn't emit update\": assert => {\n const first = new ObservableMap();\n const second = new ObservableMap();\n const join = new JoinedMap([first, second]);\n first.add(\"a\", 1);\n second.add(\"a\", 2);\n const events = observeMap(join);\n second.update(\"a\", 3);\n assert.equal(events.length, 0);\n },\n \"removal of occluding key emits add after remove\": assert => {\n const first = new ObservableMap();\n const second = new ObservableMap();\n const join = new JoinedMap([first, second]);\n first.add(\"a\", 1);\n second.add(\"a\", 2);\n const events = observeMap(join);\n first.remove(\"a\");\n assert.equal(events.length, 2);\n assert.equal(events[0].type, \"remove\");\n assert.equal(events[0].key, \"a\");\n assert.equal(events[0].value, 1);\n assert.equal(events[1].type, \"add\");\n assert.equal(events[1].key, \"a\");\n assert.equal(events[1].value, 2);\n },\n \"adding occluding key emits remove first\": assert => {\n const first = new ObservableMap();\n const second = new ObservableMap();\n const join = new JoinedMap([first, second]);\n second.add(\"a\", 2);\n const events = observeMap(join);\n first.add(\"a\", 1);\n assert.equal(events.length, 2);\n assert.equal(events[0].type, \"remove\");\n assert.equal(events[0].key, \"a\");\n assert.equal(events[0].value, 2);\n assert.equal(events[1].type, \"add\");\n assert.equal(events[1].key, \"a\");\n assert.equal(events[1].value, 1);\n }\n };\n}\n","/*\nCopyright 2020 Bruno Windels \n\nLicensed under the Apache License, Version 2.0 (the \"License\");\nyou may not use this file except in compliance with the License.\nYou may obtain a copy of the License at\n\n http://www.apache.org/licenses/LICENSE-2.0\n\nUnless required by applicable law or agreed to in writing, software\ndistributed under the License is distributed on an \"AS IS\" BASIS,\nWITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\nSee the License for the specific language governing permissions and\nlimitations under the License.\n*/\n\nimport {BaseObservableList} from \"./BaseObservableList\";\n\nexport class ObservableArray extends BaseObservableList {\n private _items: T[];\n\n constructor(initialValues: T[] = []) {\n super();\n this._items = initialValues;\n }\n\n append(item: T): void {\n this._items.push(item);\n this.emitAdd(this._items.length - 1, item);\n }\n\n remove(idx: number): void {\n const [item] = this._items.splice(idx, 1);\n this.emitRemove(idx, item);\n }\n\n insertMany(idx: number, items: T[]): void {\n for(let item of items) {\n this.insert(idx, item);\n idx += 1;\n }\n }\n\n insert(idx: number, item: T): void {\n this._items.splice(idx, 0, item);\n this.emitAdd(idx, item);\n }\n\n move(fromIdx: number, toIdx: number): void {\n if (fromIdx < this._items.length && toIdx < this._items.length) {\n const [item] = this._items.splice(fromIdx, 1);\n this._items.splice(toIdx, 0, item);\n this.emitMove(fromIdx, toIdx, item);\n }\n }\n\n update(idx: number, item: T, params: any = null): void {\n if (idx < this._items.length) {\n this._items[idx] = item;\n this.emitUpdate(idx, item, params);\n }\n }\n\n get array(): Readonly {\n return this._items;\n }\n\n at(idx: number): T | undefined {\n if (this._items && idx >= 0 && idx < this._items.length) {\n return this._items[idx];\n }\n }\n\n get length(): number {\n return this._items.length;\n }\n\n [Symbol.iterator]() {\n return this._items.values();\n }\n}\n","/*\nCopyright 2020 Bruno Windels \nCopyright 2021 The Matrix.org Foundation C.I.C.\n\nLicensed under the Apache License, Version 2.0 (the \"License\");\nyou may not use this file except in compliance with the License.\nYou may obtain a copy of the License at\n\n http://www.apache.org/licenses/LICENSE-2.0\n\nUnless required by applicable law or agreed to in writing, software\ndistributed under the License is distributed on an \"AS IS\" BASIS,\nWITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\nSee the License for the specific language governing permissions and\nlimitations under the License.\n*/\nimport {BaseObservableList} from \"./BaseObservableList\";\n\n/* inline update of item in collection backed by array, without replacing the preexising item */\nexport function findAndUpdateInArray(predicate: (value: T) => boolean, array: T[], observable: BaseObservableList, updater: (value: T) => any | false) {\n const index = array.findIndex(predicate);\n if (index !== -1) {\n const value = array[index];\n // allow bailing out of sending an emit if updater determined its not needed\n const params = updater(value);\n if (params !== false) {\n observable.emitUpdate(index, value, params);\n }\n // found\n return true;\n }\n return false;\n}\n","/*\nCopyright 2020 Bruno Windels \n\nLicensed under the Apache License, Version 2.0 (the \"License\");\nyou may not use this file except in compliance with the License.\nYou may obtain a copy of the License at\n\n http://www.apache.org/licenses/LICENSE-2.0\n\nUnless required by applicable law or agreed to in writing, software\ndistributed under the License is distributed on an \"AS IS\" BASIS,\nWITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\nSee the License for the specific language governing permissions and\nlimitations under the License.\n*/\n\nimport {BaseObservableList} from \"./BaseObservableList\";\nimport {sortedIndex} from \"../../utils/sortedIndex\";\nimport {findAndUpdateInArray} from \"./common\";\n\nexport class SortedArray extends BaseObservableList {\n private _comparator: (left: T, right: T) => number;\n private _items: T[] = [];\n\n constructor(comparator: (left: T, right: T) => number) {\n super();\n this._comparator = comparator;\n }\n\n setManyUnsorted(items: T[]): void {\n this.setManySorted(items);\n }\n\n setManySorted(items: T[]): void {\n // TODO: we can make this way faster by only looking up the first and last key,\n // and merging whatever is inbetween with items\n // if items is not sorted, 💩🌀 will follow!\n // should we check?\n // Also, once bulk events are supported in collections,\n // we can do a bulk add event here probably if there are no updates\n // BAD CODE!\n for(let item of items) {\n this.set(item);\n }\n }\n\n findAndUpdate(predicate: (value: T) => boolean, updater: (value: T) => any | false): boolean {\n return findAndUpdateInArray(predicate, this._items, this, updater);\n }\n\n getAndUpdate(item: T, updater: (existing: T, item: T) => any, updateParams: any = null): void {\n const idx = this.indexOf(item);\n if (idx !== -1) {\n const existingItem = this._items[idx];\n const newItem = updater(existingItem, item);\n this._items[idx] = newItem;\n this.emitUpdate(idx, newItem, updateParams);\n }\n }\n\n update(item: T, updateParams: any = null): void {\n const idx = this.indexOf(item);\n if (idx !== -1) {\n this._items[idx] = item;\n this.emitUpdate(idx, item, updateParams);\n }\n }\n\n indexOf(item: T): number {\n const idx = sortedIndex(this._items, item, this._comparator);\n if (idx < this._items.length && this._comparator(this._items[idx], item) === 0) {\n return idx;\n } else {\n return -1;\n }\n }\n\n _getNext(item: T): T | undefined {\n let idx = sortedIndex(this._items, item, this._comparator);\n while(idx < this._items.length && this._comparator(this._items[idx], item) <= 0) {\n idx += 1;\n }\n return this.get(idx);\n }\n\n set(item: T, updateParams: any = null): void {\n const idx = sortedIndex(this._items, item, this._comparator);\n if (idx >= this._items.length || this._comparator(this._items[idx], item) !== 0) {\n this._items.splice(idx, 0, item);\n this.emitAdd(idx, item)\n } else {\n this._items[idx] = item;\n this.emitUpdate(idx, item, updateParams);\n }\n }\n\n get(idx: number): T | undefined {\n return this._items[idx];\n }\n\n remove(idx: number): void {\n const item = this._items[idx];\n this._items.splice(idx, 1);\n this.emitRemove(idx, item);\n }\n\n get array(): T[] {\n return this._items;\n }\n\n get length(): number {\n return this._items.length;\n }\n\n [Symbol.iterator]() {\n return new Iterator(this);\n }\n}\n\n// iterator that works even if the current value is removed while iterating\nclass Iterator {\n private _sortedArray: SortedArray | null\n private _current: T | null | undefined\n\n constructor(sortedArray: SortedArray) {\n this._sortedArray = sortedArray;\n this._current = null;\n }\n\n next() {\n if (this._sortedArray) {\n if (this._current) {\n this._current = this._sortedArray._getNext(this._current);\n } else {\n this._current = this._sortedArray.get(0);\n }\n if (this._current) {\n return {value: this._current};\n } else {\n // cause done below\n this._sortedArray = null;\n }\n }\n if (!this._sortedArray) {\n return {done: true};\n }\n }\n}\n\nexport function tests() {\n return {\n \"setManyUnsorted\": assert => {\n const sa = new SortedArray((a, b) => a.localeCompare(b));\n sa.setManyUnsorted([\"b\", \"a\", \"c\"]);\n assert.equal(sa.length, 3);\n assert.equal(sa.get(0), \"a\");\n assert.equal(sa.get(1), \"b\");\n assert.equal(sa.get(2), \"c\");\n }, \n \"_getNext\": assert => {\n const sa = new SortedArray((a, b) => a.localeCompare(b));\n sa.setManyUnsorted([\"b\", \"a\", \"f\"]);\n assert.equal(sa._getNext(\"a\"), \"b\");\n assert.equal(sa._getNext(\"b\"), \"f\");\n // also finds the next if the value is not in the collection\n assert.equal(sa._getNext(\"c\"), \"f\");\n assert.equal(sa._getNext(\"f\"), undefined);\n },\n \"iterator with removals\": assert => {\n const queue = new SortedArray<{idx: number}>((a, b) => a.idx - b.idx);\n queue.setManyUnsorted([{idx: 5}, {idx: 3}, {idx: 1}, {idx: 4}, {idx: 2}]);\n const it = queue[Symbol.iterator]();\n assert.equal(it.next().value.idx, 1);\n assert.equal(it.next().value.idx, 2);\n queue.remove(1);\n assert.equal(it.next().value.idx, 3);\n queue.remove(1);\n assert.equal(it.next().value.idx, 4);\n queue.remove(1);\n assert.equal(it.next().value.idx, 5);\n queue.remove(1);\n assert.equal(it.next().done, true);\n // check done persists\n assert.equal(it.next().done, true);\n }\n }\n}\n","/*\nCopyright 2020 Bruno Windels \nCopyright 2021 The Matrix.org Foundation C.I.C.\n\nLicensed under the Apache License, Version 2.0 (the \"License\");\nyou may not use this file except in compliance with the License.\nYou may obtain a copy of the License at\n\n http://www.apache.org/licenses/LICENSE-2.0\n\nUnless required by applicable law or agreed to in writing, software\ndistributed under the License is distributed on an \"AS IS\" BASIS,\nWITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\nSee the License for the specific language governing permissions and\nlimitations under the License.\n*/\n\nimport {BaseObservableList} from \"./BaseObservableList\";\nimport {findAndUpdateInArray} from \"./common\";\n\nexport type Mapper = (value: F) => T\nexport type Updater = (mappedValue: T, params: any, value: F) => void;\n\nexport class BaseMappedList extends BaseObservableList {\n protected _sourceList: BaseObservableList;\n protected _sourceUnsubscribe: (() => void) | null = null;\n _mapper: Mapper;\n _updater?: Updater;\n _removeCallback?: (value: T) => void;\n _mappedValues: T[] | null = null;\n\n constructor(sourceList: BaseObservableList, mapper: Mapper, updater?: Updater, removeCallback?: (value: T) => void) {\n super();\n this._sourceList = sourceList;\n this._mapper = mapper;\n this._updater = updater;\n this._removeCallback = removeCallback;\n }\n\n findAndUpdate(predicate: (value: T) => boolean, updater: (value: T) => any | false) {\n return findAndUpdateInArray(predicate, this._mappedValues!, this, updater);\n }\n\n get length() {\n return this._mappedValues!.length;\n }\n\n [Symbol.iterator]() {\n return this._mappedValues!.values();\n }\n}\n\nexport function runAdd(list: BaseMappedList, index: number, mappedValue: T): void {\n list._mappedValues!.splice(index, 0, mappedValue);\n list.emitAdd(index, mappedValue);\n}\n\nexport function runUpdate(list: BaseMappedList, index: number, value: F, params: any): void {\n const mappedValue = list._mappedValues![index];\n if (list._updater) {\n list._updater(mappedValue, params, value);\n }\n list.emitUpdate(index, mappedValue, params);\n}\n\nexport function runRemove(list: BaseMappedList, index: number): void {\n const mappedValue = list._mappedValues![index];\n list._mappedValues!.splice(index, 1);\n if (list._removeCallback) {\n list._removeCallback(mappedValue);\n }\n list.emitRemove(index, mappedValue);\n}\n\nexport function runMove(list: BaseMappedList, fromIdx: number, toIdx: number): void {\n const mappedValue = list._mappedValues![fromIdx];\n list._mappedValues!.splice(fromIdx, 1);\n list._mappedValues!.splice(toIdx, 0, mappedValue);\n list.emitMove(fromIdx, toIdx, mappedValue);\n}\n\nexport function runReset(list: BaseMappedList): void {\n list._mappedValues = [];\n list.emitReset();\n}\n","/*\nCopyright 2020 Bruno Windels \nCopyright 2021 The Matrix.org Foundation C.I.C.\n\nLicensed under the Apache License, Version 2.0 (the \"License\");\nyou may not use this file except in compliance with the License.\nYou may obtain a copy of the License at\n\n http://www.apache.org/licenses/LICENSE-2.0\n\nUnless required by applicable law or agreed to in writing, software\ndistributed under the License is distributed on an \"AS IS\" BASIS,\nWITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\nSee the License for the specific language governing permissions and\nlimitations under the License.\n*/\n\nimport {IListObserver} from \"./BaseObservableList\";\nimport {BaseMappedList, Mapper, Updater, runAdd, runUpdate, runRemove, runMove, runReset} from \"./BaseMappedList\";\n\nexport class AsyncMappedList extends BaseMappedList> implements IListObserver {\n private _eventQueue: AsyncEvent[] | null = null;\n private _flushing: boolean = false;\n\n onSubscribeFirst(): void {\n this._sourceUnsubscribe = this._sourceList.subscribe(this);\n this._eventQueue = [];\n this._mappedValues = [];\n let idx = 0;\n for (const item of this._sourceList) {\n this._eventQueue.push(new AddEvent(idx, item));\n idx += 1;\n }\n this._flush();\n }\n\n async _flush(): Promise {\n if (this._flushing) {\n return;\n }\n this._flushing = true;\n try {\n while (this._eventQueue!.length) {\n const event = this._eventQueue!.shift();\n await event!.run(this);\n }\n } finally {\n this._flushing = false;\n }\n }\n\n onReset(): void {\n if (this._eventQueue) {\n this._eventQueue.push(new ResetEvent());\n this._flush();\n }\n }\n\n onAdd(index: number, value: F): void {\n if (this._eventQueue) {\n this._eventQueue.push(new AddEvent(index, value));\n this._flush();\n }\n }\n\n onUpdate(index: number, value: F, params: any): void {\n if (this._eventQueue) {\n this._eventQueue.push(new UpdateEvent(index, value, params));\n this._flush();\n }\n }\n\n onRemove(index: number): void {\n if (this._eventQueue) {\n this._eventQueue.push(new RemoveEvent(index));\n this._flush();\n }\n }\n\n onMove(fromIdx: number, toIdx: number): void {\n if (this._eventQueue) {\n this._eventQueue.push(new MoveEvent(fromIdx, toIdx));\n this._flush();\n }\n }\n\n onUnsubscribeLast(): void {\n this._sourceUnsubscribe!();\n this._eventQueue = null;\n this._mappedValues = null;\n }\n}\n\ntype AsyncEvent = AddEvent | UpdateEvent | RemoveEvent | MoveEvent | ResetEvent\n\nclass AddEvent {\n constructor(public index: number, public value: F) {}\n\n async run(list: AsyncMappedList): Promise {\n const mappedValue = await list._mapper(this.value);\n runAdd(list, this.index, mappedValue);\n }\n}\n\nclass UpdateEvent {\n constructor(public index: number, public value: F, public params: any) {}\n\n async run(list: AsyncMappedList): Promise {\n runUpdate(list, this.index, this.value, this.params);\n }\n}\n\nclass RemoveEvent {\n constructor(public index: number) {}\n\n async run(list: AsyncMappedList): Promise {\n runRemove(list, this.index);\n }\n}\n\nclass MoveEvent {\n constructor(public fromIdx: number, public toIdx: number) {}\n\n async run(list: AsyncMappedList): Promise {\n runMove(list, this.fromIdx, this.toIdx);\n }\n}\n\nclass ResetEvent {\n async run(list: AsyncMappedList): Promise {\n runReset(list);\n }\n}\n\nimport {ObservableArray} from \"./ObservableArray\";\nimport {ListObserver} from \"../../mocks/ListObserver.js\";\n\nexport function tests() {\n return {\n \"events are emitted in order\": async assert => {\n const double = n => n * n;\n const source = new ObservableArray();\n const mapper = new AsyncMappedList(source, async n => {\n await new Promise(r => setTimeout(r, n));\n return {n: double(n)};\n }, (o, params, n) => {\n o.n = double(n);\n });\n const observer = new ListObserver();\n mapper.subscribe(observer);\n source.append(2); // will sleep this amount, so second append would take less time\n source.append(1);\n source.update(0, 7, \"lucky seven\")\n source.remove(0);\n {\n const {type, index, value} = await observer.next();\n assert.equal(mapper.length, 1);\n assert.equal(type, \"add\");\n assert.equal(index, 0);\n assert.equal(value.n, 4);\n }\n {\n const {type, index, value} = await observer.next();\n assert.equal(mapper.length, 2);\n assert.equal(type, \"add\");\n assert.equal(index, 1);\n assert.equal(value.n, 1);\n }\n {\n const {type, index, value, params} = await observer.next();\n assert.equal(mapper.length, 2);\n assert.equal(type, \"update\");\n assert.equal(index, 0);\n assert.equal(value.n, 49);\n assert.equal(params, \"lucky seven\");\n }\n {\n const {type, index, value} = await observer.next();\n assert.equal(mapper.length, 1);\n assert.equal(type, \"remove\");\n assert.equal(index, 0);\n assert.equal(value.n, 49);\n }\n }\n }\n}\n","/*\nCopyright 2020 Bruno Windels \n\nLicensed under the Apache License, Version 2.0 (the \"License\");\nyou may not use this file except in compliance with the License.\nYou may obtain a copy of the License at\n\n http://www.apache.org/licenses/LICENSE-2.0\n\nUnless required by applicable law or agreed to in writing, software\ndistributed under the License is distributed on an \"AS IS\" BASIS,\nWITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\nSee the License for the specific language governing permissions and\nlimitations under the License.\n*/\n\nimport {BaseObservableList, IListObserver} from \"./BaseObservableList\";\n\nexport class ConcatList extends BaseObservableList implements IListObserver {\n protected _sourceLists: BaseObservableList[];\n protected _sourceUnsubscribes: (() => void)[] | null = null;\n\n constructor(...sourceLists: BaseObservableList[]) {\n super();\n this._sourceLists = sourceLists;\n }\n\n _offsetForSource(sourceList: BaseObservableList): number {\n const listIdx = this._sourceLists.indexOf(sourceList);\n let offset = 0;\n for (let i = 0; i < listIdx; ++i) {\n offset += this._sourceLists[i].length;\n }\n return offset;\n }\n\n onSubscribeFirst(): void {\n this._sourceUnsubscribes = this._sourceLists.map(sourceList => sourceList.subscribe(this));\n }\n\n onUnsubscribeLast(): void {\n for (const sourceUnsubscribe of this._sourceUnsubscribes!) {\n sourceUnsubscribe();\n }\n }\n\n onReset(): void {\n // TODO: not ideal if other source lists are large\n // but working impl for now\n // reset, and \n this.emitReset();\n let idx = 0;\n for(const item of this) {\n this.emitAdd(idx, item);\n idx += 1;\n }\n }\n\n onAdd(index: number, value: T, sourceList: BaseObservableList): void {\n this.emitAdd(this._offsetForSource(sourceList) + index, value);\n }\n\n onUpdate(index: number, value: T, params: any, sourceList: BaseObservableList): void {\n // if an update is emitted while calling source.subscribe() from onSubscribeFirst, ignore it\n // as we are not supposed to call `length` on any uninitialized list\n if (!this._sourceUnsubscribes) {\n return;\n }\n this.emitUpdate(this._offsetForSource(sourceList) + index, value, params);\n }\n\n onRemove(index: number, value: T, sourceList: BaseObservableList): void {\n this.emitRemove(this._offsetForSource(sourceList) + index, value);\n }\n\n onMove(fromIdx: number, toIdx: number, value: T, sourceList: BaseObservableList): void {\n const offset = this._offsetForSource(sourceList);\n this.emitMove(offset + fromIdx, offset + toIdx, value);\n }\n\n get length(): number {\n let len = 0;\n for (let i = 0; i < this._sourceLists.length; ++i) {\n len += this._sourceLists[i].length;\n }\n return len;\n }\n\n [Symbol.iterator]() {\n let sourceListIdx = 0;\n let it = this._sourceLists[0][Symbol.iterator]();\n return {\n next: () => {\n let result = it.next();\n while (result.done) {\n sourceListIdx += 1;\n if (sourceListIdx >= this._sourceLists.length) {\n return result; //done\n }\n it = this._sourceLists[sourceListIdx][Symbol.iterator]();\n result = it.next();\n }\n return result;\n }\n }\n }\n}\n\nimport {ObservableArray} from \"./ObservableArray\";\nimport {defaultObserverWith} from \"./BaseObservableList\";\nexport async function tests() {\n return {\n test_length(assert) {\n const all = new ConcatList(\n new ObservableArray([1, 2, 3]),\n new ObservableArray([11, 12, 13])\n );\n assert.equal(all.length, 6);\n },\n test_iterator(assert) {\n const all = new ConcatList(\n new ObservableArray([1, 2, 3]),\n new ObservableArray([11, 12, 13])\n );\n const it = all[Symbol.iterator]();\n assert.equal(it.next().value, 1);\n assert.equal(it.next().value, 2);\n assert.equal(it.next().value, 3);\n assert.equal(it.next().value, 11);\n assert.equal(it.next().value, 12);\n assert.equal(it.next().value, 13);\n assert(it.next().done);\n },\n test_add(assert) {\n const list1 = new ObservableArray([1, 2, 3]);\n const list2 = new ObservableArray([11, 12, 13]);\n const all = new ConcatList(list1, list2);\n let fired = false;\n all.subscribe(defaultObserverWith({\n onAdd(index, value) {\n fired = true;\n assert.equal(index, 4);\n assert.equal(value, 11.5);\n }\n }));\n list2.insert(1, 11.5);\n assert(fired);\n },\n test_update(assert) {\n const list1 = new ObservableArray([1, 2, 3]);\n const list2 = new ObservableArray([11, 12, 13]);\n const all = new ConcatList(list1, list2);\n let fired = false;\n all.subscribe(defaultObserverWith({\n onUpdate(index, value) {\n fired = true;\n assert.equal(index, 4);\n assert.equal(value, 10);\n }\n }));\n list2.emitUpdate(1, 10);\n assert(fired);\n },\n };\n}\n","/*\nCopyright 2020 Bruno Windels \n\nLicensed under the Apache License, Version 2.0 (the \"License\");\nyou may not use this file except in compliance with the License.\nYou may obtain a copy of the License at\n\n http://www.apache.org/licenses/LICENSE-2.0\n\nUnless required by applicable law or agreed to in writing, software\ndistributed under the License is distributed on an \"AS IS\" BASIS,\nWITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\nSee the License for the specific language governing permissions and\nlimitations under the License.\n*/\n\nimport {SortedMapList} from \"./list/SortedMapList.js\";\nimport {FilteredMap} from \"./map/FilteredMap.js\";\nimport {MappedMap} from \"./map/MappedMap.js\";\nimport {JoinedMap} from \"./map/JoinedMap.js\";\nimport {BaseObservableMap} from \"./map/BaseObservableMap\";\n// re-export \"root\" (of chain) collections\nexport { ObservableArray } from \"./list/ObservableArray\";\nexport { SortedArray } from \"./list/SortedArray\";\nexport { MappedList } from \"./list/MappedList\";\nexport { AsyncMappedList } from \"./list/AsyncMappedList\";\nexport { ConcatList } from \"./list/ConcatList\";\nexport { ObservableMap } from \"./map/ObservableMap\";\n\n// avoid circular dependency between these classes\n// and BaseObservableMap (as they extend it)\nObject.assign(BaseObservableMap.prototype, {\n sortValues(comparator) {\n return new SortedMapList(this, comparator);\n },\n\n mapValues(mapper, updater) {\n return new MappedMap(this, mapper, updater);\n },\n\n filterValues(filter) {\n return new FilteredMap(this, filter);\n },\n\n join(...otherMaps) {\n return new JoinedMap([this].concat(otherMaps));\n }\n});\n","/*\nCopyright 2020 Bruno Windels \nCopyright 2022 The Matrix.org Foundation C.I.C.\n\nLicensed under the Apache License, Version 2.0 (the \"License\");\nyou may not use this file except in compliance with the License.\nYou may obtain a copy of the License at\n\n http://www.apache.org/licenses/LICENSE-2.0\n\nUnless required by applicable law or agreed to in writing, software\ndistributed under the License is distributed on an \"AS IS\" BASIS,\nWITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\nSee the License for the specific language governing permissions and\nlimitations under the License.\n*/\n\nexport interface IDisposable {\n dispose(): void;\n}\n\nexport type Disposable = IDisposable | (() => void);\n\nfunction disposeValue(value: Disposable): void {\n if (typeof value === \"function\") {\n value();\n } else {\n value.dispose();\n }\n}\n\nfunction isDisposable(value: Disposable): boolean {\n return value && (typeof value === \"function\" || typeof value.dispose === \"function\");\n}\n\nexport class Disposables {\n private _disposables?: Disposable[] = [];\n\n track(disposable: D): D {\n if (!isDisposable(disposable)) {\n throw new Error(\"Not a disposable\");\n }\n if (this.isDisposed) {\n console.warn(\"Disposables already disposed, disposing new value\");\n disposeValue(disposable);\n return disposable;\n }\n this._disposables!.push(disposable);\n return disposable;\n }\n\n untrack(disposable: Disposable): undefined {\n if (this.isDisposed) {\n console.warn(\"Disposables already disposed, cannot untrack\");\n return undefined;\n }\n const idx = this._disposables!.indexOf(disposable);\n if (idx >= 0) {\n this._disposables!.splice(idx, 1);\n }\n return undefined;\n }\n\n dispose(): void {\n if (this._disposables) {\n for (const d of this._disposables) {\n disposeValue(d);\n }\n this._disposables = undefined;\n }\n }\n\n get isDisposed(): boolean {\n return this._disposables === undefined;\n }\n\n disposeTracked(value: Disposable | undefined): undefined {\n if (value === undefined || value === null || this.isDisposed) {\n return undefined;\n }\n const idx = this._disposables!.indexOf(value);\n if (idx !== -1) {\n const [foundValue] = this._disposables!.splice(idx, 1);\n disposeValue(foundValue);\n } else {\n console.warn(\"disposable not found, did it leak?\", value);\n }\n return undefined;\n }\n}\n","/*\nCopyright 2020 Bruno Windels \n\nLicensed under the Apache License, Version 2.0 (the \"License\");\nyou may not use this file except in compliance with the License.\nYou may obtain a copy of the License at\n\n http://www.apache.org/licenses/LICENSE-2.0\n\nUnless required by applicable law or agreed to in writing, software\ndistributed under the License is distributed on an \"AS IS\" BASIS,\nWITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\nSee the License for the specific language governing permissions and\nlimitations under the License.\n*/\n\nimport {directionalConcat, directionalAppend} from \"./common.js\";\nimport {Direction} from \"../Direction\";\nimport {EventEntry} from \"../entries/EventEntry.js\";\nimport {FragmentBoundaryEntry} from \"../entries/FragmentBoundaryEntry.js\";\n\nclass ReaderRequest {\n constructor(fn, log) {\n this.decryptRequest = null;\n this._promise = fn(this, log);\n }\n\n complete() {\n return this._promise;\n }\n\n dispose() {\n if (this.decryptRequest) {\n this.decryptRequest.dispose();\n this.decryptRequest = null;\n }\n }\n}\n\n/**\n * Raw because it doesn't do decryption and in the future it should not read relations either.\n * It is just about reading entries and following fragment links\n */\nasync function readRawTimelineEntriesWithTxn(roomId, eventKey, direction, amount, fragmentIdComparer, txn) {\n let entries = [];\n const timelineStore = txn.timelineEvents;\n const fragmentStore = txn.timelineFragments;\n\n while (entries.length < amount && eventKey) {\n let eventsWithinFragment;\n if (direction.isForward) {\n // TODO: should we pass amount - entries.length here?\n eventsWithinFragment = await timelineStore.eventsAfter(roomId, eventKey, amount);\n } else {\n eventsWithinFragment = await timelineStore.eventsBefore(roomId, eventKey, amount);\n }\n let eventEntries = eventsWithinFragment.map(e => new EventEntry(e, fragmentIdComparer));\n entries = directionalConcat(entries, eventEntries, direction);\n // prepend or append eventsWithinFragment to entries, and wrap them in EventEntry\n\n if (entries.length < amount) {\n const fragment = await fragmentStore.get(roomId, eventKey.fragmentId);\n // TODO: why does the first fragment not need to be added? (the next *is* added below)\n // it looks like this would be fine when loading in the sync island\n // (as the live fragment should be added already) but not for permalinks when we support them\n // \n // fragmentIdComparer.addFragment(fragment);\n let fragmentEntry = new FragmentBoundaryEntry(fragment, direction.isBackward, fragmentIdComparer);\n // append or prepend fragmentEntry, reuse func from GapWriter?\n directionalAppend(entries, fragmentEntry, direction);\n // only continue loading if the fragment boundary can't be backfilled\n if (!fragmentEntry.token && fragmentEntry.hasLinkedFragment) {\n const nextFragment = await fragmentStore.get(roomId, fragmentEntry.linkedFragmentId);\n fragmentIdComparer.add(nextFragment);\n const nextFragmentEntry = new FragmentBoundaryEntry(nextFragment, direction.isForward, fragmentIdComparer);\n directionalAppend(entries, nextFragmentEntry, direction);\n eventKey = nextFragmentEntry.asEventKey();\n } else {\n eventKey = null;\n }\n }\n }\n return entries;\n}\n\nexport class TimelineReader {\n constructor({roomId, storage, fragmentIdComparer}) {\n this._roomId = roomId;\n this._storage = storage;\n this._fragmentIdComparer = fragmentIdComparer;\n this._decryptEntries = null;\n }\n\n enableEncryption(decryptEntries) {\n this._decryptEntries = decryptEntries;\n }\n\n get readTxnStores() {\n const stores = [\n this._storage.storeNames.timelineEvents,\n this._storage.storeNames.timelineFragments,\n ];\n if (this._decryptEntries) {\n stores.push(this._storage.storeNames.inboundGroupSessions);\n }\n return stores;\n }\n\n readFrom(eventKey, direction, amount, log) {\n return new ReaderRequest(async (r, log) => {\n const txn = await this._storage.readTxn(this.readTxnStores);\n return await this._readFrom(eventKey, direction, amount, r, txn, log);\n }, log);\n }\n\n readFromEnd(amount, existingTxn = null, log) {\n return new ReaderRequest(async (r, log) => {\n const txn = existingTxn || await this._storage.readTxn(this.readTxnStores);\n const liveFragment = await txn.timelineFragments.liveFragment(this._roomId);\n let entries;\n // room hasn't been synced yet\n if (!liveFragment) {\n entries = [];\n } else {\n this._fragmentIdComparer.add(liveFragment);\n const liveFragmentEntry = FragmentBoundaryEntry.end(liveFragment, this._fragmentIdComparer);\n const eventKey = liveFragmentEntry.asEventKey();\n entries = await this._readFrom(eventKey, Direction.Backward, amount, r, txn, log);\n entries.unshift(liveFragmentEntry);\n }\n return entries;\n }, log);\n }\n\n async readById(id, log) {\n let stores = [this._storage.storeNames.timelineEvents];\n if (this._decryptEntries) {\n stores.push(this._storage.storeNames.inboundGroupSessions);\n }\n const txn = await this._storage.readTxn(stores); // todo: can we just use this.readTxnStores here? probably\n const storageEntry = await txn.timelineEvents.getByEventId(this._roomId, id);\n if (storageEntry) {\n const entry = new EventEntry(storageEntry, this._fragmentIdComparer);\n if (this._decryptEntries) {\n const request = this._decryptEntries([entry], txn, log);\n await request.complete();\n }\n return entry;\n }\n }\n\n async _readFrom(eventKey, direction, amount, r, txn, log) {\n const entries = await readRawTimelineEntriesWithTxn(this._roomId, eventKey, direction, amount, this._fragmentIdComparer, txn);\n if (this._decryptEntries) {\n r.decryptRequest = this._decryptEntries(entries, txn, log);\n try {\n await r.decryptRequest.complete();\n } finally {\n r.decryptRequest = null;\n }\n }\n return entries;\n }\n}\n","/*\nCopyright 2021 The Matrix.org Foundation C.I.C.\n\nLicensed under the Apache License, Version 2.0 (the \"License\");\nyou may not use this file except in compliance with the License.\nYou may obtain a copy of the License at\n\n http://www.apache.org/licenses/LICENSE-2.0\n\nUnless required by applicable law or agreed to in writing, software\ndistributed under the License is distributed on an \"AS IS\" BASIS,\nWITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\nSee the License for the specific language governing permissions and\nlimitations under the License.\n*/\n\nimport {EventEntry} from \"./EventEntry.js\";\n\n// EventEntry but without the two properties that are populated via SyncWriter\n// Useful if you want to create an EventEntry that is ephemeral\n\nexport class NonPersistedEventEntry extends EventEntry {\n get fragmentId() {\n throw new Error(\"Cannot access fragmentId for non-persisted EventEntry\");\n }\n\n get entryIndex() {\n throw new Error(\"Cannot access entryIndex for non-persisted EventEntry\");\n }\n\n get isNonPersisted() {\n return true;\n }\n\n // overridden here because we reuse addLocalRelation() for updating this entry\n // we don't want the RedactedTile created using this entry to ever show \"is being redacted\"\n get isRedacting() {\n return false;\n }\n\n get isRedacted() {\n return super.isRedacting;\n }\n}\n","/*\nCopyright 2020 Bruno Windels \n\nLicensed under the Apache License, Version 2.0 (the \"License\");\nyou may not use this file except in compliance with the License.\nYou may obtain a copy of the License at\n\n http://www.apache.org/licenses/LICENSE-2.0\n\nUnless required by applicable law or agreed to in writing, software\ndistributed under the License is distributed on an \"AS IS\" BASIS,\nWITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\nSee the License for the specific language governing permissions and\nlimitations under the License.\n*/\n\nexport class User {\n constructor(userId) {\n this._userId = userId;\n }\n\n get id() {\n return this._userId;\n }\n}\n","/*\nCopyright 2020 Bruno Windels \nCopyright 2021 The Matrix.org Foundation C.I.C.\n\nLicensed under the Apache License, Version 2.0 (the \"License\");\nyou may not use this file except in compliance with the License.\nYou may obtain a copy of the License at\n\n http://www.apache.org/licenses/LICENSE-2.0\n\nUnless required by applicable law or agreed to in writing, software\ndistributed under the License is distributed on an \"AS IS\" BASIS,\nWITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\nSee the License for the specific language governing permissions and\nlimitations under the License.\n*/\n\nimport {SortedArray, AsyncMappedList, ConcatList, ObservableArray} from \"../../../observable/index.js\";\nimport {Disposables} from \"../../../utils/Disposables\";\nimport {Direction} from \"./Direction\";\nimport {TimelineReader} from \"./persistence/TimelineReader.js\";\nimport {PendingEventEntry} from \"./entries/PendingEventEntry.js\";\nimport {RoomMember} from \"../members/RoomMember.js\";\nimport {getRelation, ANNOTATION_RELATION_TYPE} from \"./relations.js\";\nimport {REDACTION_TYPE} from \"../common\";\nimport {NonPersistedEventEntry} from \"./entries/NonPersistedEventEntry.js\";\nimport {EVENT_TYPE as MEMBER_EVENT_TYPE} from \"../members/RoomMember.js\";\n\nexport class Timeline {\n constructor({roomId, storage, closeCallback, fragmentIdComparer, pendingEvents, clock, powerLevelsObservable, hsApi}) {\n this._roomId = roomId;\n this._storage = storage;\n this._closeCallback = closeCallback;\n this._fragmentIdComparer = fragmentIdComparer;\n this._disposables = new Disposables();\n this._pendingEvents = pendingEvents;\n this._clock = clock;\n // constructing this early avoid some problem while sync and openTimeline race\n this._remoteEntries = new SortedArray((a, b) => a.compare(b));\n this._ownMember = null;\n this._timelineReader = new TimelineReader({\n roomId: this._roomId,\n storage: this._storage,\n fragmentIdComparer: this._fragmentIdComparer\n });\n this._readerRequest = null;\n this._allEntries = null;\n /** Stores event entries that we had to fetch from hs/storage for reply previews (because they were not in timeline) */ \n this._contextEntriesNotInTimeline = new Map();\n /** Only used to decrypt non-persisted context entries fetched from the homeserver */\n this._decryptEntries = null;\n this._hsApi = hsApi;\n this.initializePowerLevels(powerLevelsObservable);\n }\n\n initializePowerLevels(observable) {\n if (observable) {\n this._powerLevels = observable.get();\n this._disposables.track(observable.subscribe(powerLevels => this._powerLevels = powerLevels));\n }\n }\n\n /** @package */\n async load(user, membership, log) {\n const txn = await this._storage.readTxn(this._timelineReader.readTxnStores.concat(\n this._storage.storeNames.roomMembers,\n this._storage.storeNames.roomState\n ));\n const memberData = await txn.roomMembers.get(this._roomId, user.id);\n if (memberData) {\n this._ownMember = new RoomMember(memberData);\n } else {\n // this should never happen, as our own join into the room would have\n // made us receive our own member event, but just to be on the safe side and not crash,\n // fall back to bare user id\n this._ownMember = RoomMember.fromUserId(this._roomId, user.id, membership);\n }\n // it should be fine to not update the local entries,\n // as they should only populate once the view subscribes to it\n // if they are populated already, the sender profile would be empty\n\n // choose good amount here between showing messages initially and\n // not spending too much time decrypting messages before showing the timeline.\n // more messages should be loaded automatically until the viewport is full by the view if needed.\n const readerRequest = this._disposables.track(this._timelineReader.readFromEnd(20, txn, log));\n try {\n const entries = await readerRequest.complete();\n this._loadContextEntriesWhereNeeded(entries);\n this._setupEntries(entries);\n } finally {\n this._disposables.disposeTracked(readerRequest);\n }\n // txn should be assumed to have finished here, as decryption will close it.\n }\n\n _setupEntries(timelineEntries) {\n this._remoteEntries.setManySorted(timelineEntries);\n if (this._pendingEvents) {\n this._localEntries = new AsyncMappedList(this._pendingEvents,\n pe => this._mapPendingEventToEntry(pe),\n (pee, params) => {\n // is sending but redacted, who do we detect that here to remove the relation?\n pee.notifyUpdate(params);\n },\n pee => this._applyAndEmitLocalRelationChange(pee, target => target.removeLocalRelation(pee))\n );\n } else {\n this._localEntries = new ObservableArray();\n }\n this._allEntries = new ConcatList(this._remoteEntries, this._localEntries);\n }\n\n async _mapPendingEventToEntry(pe) {\n // we load the redaction target for pending events,\n // so if we are redacting a relation, we can pass the redaction\n // to the relation target and the removal of the relation can\n // be taken into account for local echo.\n let redactingEntry;\n if (pe.eventType === REDACTION_TYPE) {\n redactingEntry = await this._getOrLoadEntry(pe.relatedTxnId, pe.relatedEventId);\n }\n const pee = new PendingEventEntry({\n pendingEvent: pe, member: this._ownMember,\n clock: this._clock, redactingEntry\n });\n this._loadContextEntriesWhereNeeded([pee]);\n this._applyAndEmitLocalRelationChange(pee, target => target.addLocalRelation(pee));\n return pee;\n }\n\n _applyAndEmitLocalRelationChange(pee, updater) {\n // this is the contract of findAndUpdate, used in _findAndUpdateRelatedEntry\n const updateOrFalse = e => {\n const params = updater(e);\n return params ? params : false;\n };\n this._findAndUpdateEntryById(pee.pendingEvent.relatedTxnId, pee.relatedEventId, updateOrFalse);\n // also look for a relation target to update with this redaction\n if (pee.redactingEntry) {\n // redactingEntry might be a PendingEventEntry or an EventEntry, so don't assume pendingEvent\n const relatedTxnId = pee.redactingEntry.pendingEvent?.relatedTxnId;\n this._findAndUpdateEntryById(relatedTxnId, pee.redactingEntry.relatedEventId, updateOrFalse);\n pee.redactingEntry.contextForEntries?.forEach(e => this._emitUpdateForEntry(e, \"contextEntry\"));\n }\n }\n\n _findAndUpdateEntryById(txnId, eventId, updateOrFalse) {\n let found = false;\n // first, look in local entries based on txn id\n if (txnId) {\n found = this._localEntries.findAndUpdate(\n e => e.id === txnId,\n updateOrFalse,\n );\n }\n // if not found here, look in remote entries based on event id\n if (!found && eventId) {\n this._remoteEntries.findAndUpdate(\n e => e.id === eventId,\n updateOrFalse\n );\n }\n }\n\n async getOwnAnnotationEntry(targetId, key) {\n const txn = await this._storage.readWriteTxn([\n this._storage.storeNames.timelineEvents,\n this._storage.storeNames.timelineRelations,\n ]);\n const relations = await txn.timelineRelations.getForTargetAndType(this._roomId, targetId, ANNOTATION_RELATION_TYPE);\n for (const relation of relations) {\n const annotation = await txn.timelineEvents.getByEventId(this._roomId, relation.sourceEventId);\n if (annotation && annotation.event.sender === this._ownMember.userId && getRelation(annotation.event).key === key) {\n const eventEntry = new EventEntry(annotation, this._fragmentIdComparer);\n this._addLocalRelationsToNewRemoteEntries([eventEntry]);\n return eventEntry;\n }\n }\n return null;\n }\n\n /** @package */\n updateOwnMember(member) {\n this._ownMember = member;\n }\n\n _addLocalRelationsToNewRemoteEntries(entries) {\n // because it is not safe to iterate a derived observable collection\n // before it has any subscriptions, we bail out if this isn't\n // the case yet. This can happen when sync adds or replaces entries\n // before load has finished and the view has subscribed to the timeline.\n // \n // Once the subscription is setup, MappedList will set up the local\n // relations as needed with _applyAndEmitLocalRelationChange,\n // so we're not missing anything by bailing out.\n //\n // _localEntries can also not yet exist\n if (!this._localEntries?.hasSubscriptions) {\n return;\n }\n // find any local relations to this new remote event\n for (const pee of this._localEntries) {\n // this will work because we set relatedEventId when removing remote echos\n if (pee.relatedEventId) {\n const relationTarget = entries.find(e => e.id === pee.relatedEventId);\n // no need to emit here as this entry is about to be added\n relationTarget?.addLocalRelation(pee);\n }\n if (pee.redactingEntry) {\n const eventId = pee.redactingEntry.relatedEventId;\n const relationTarget = entries.find(e => e.id === eventId);\n relationTarget?.addLocalRelation(pee);\n }\n }\n }\n\n // used in replaceEntries\n static _entryUpdater(existingEntry, entry) {\n // ensure other entries for which this existingEntry is a context point to the new entry instead of existingEntry\n existingEntry.contextForEntries?.forEach(event => event.setContextEntry(entry));\n entry.updateFrom(existingEntry);\n return entry;\n }\n\n /** @package */\n replaceEntries(entries) {\n this._addLocalRelationsToNewRemoteEntries(entries);\n for (const entry of entries) {\n try {\n this._remoteEntries.getAndUpdate(entry, Timeline._entryUpdater);\n const oldEntry = this._contextEntriesNotInTimeline.get(entry.id)\n if (oldEntry) {\n Timeline._entryUpdater(oldEntry, entry);\n this._contextEntriesNotInTimeline.set(entry.id, entry);\n }\n // Since this entry changed, all dependent entries should be updated\n entry.contextForEntries?.forEach(e => this._emitUpdateForEntry(e, \"contextEntry\"));\n } catch (err) {\n if (err.name === \"CompareError\") {\n // see FragmentIdComparer, if the replacing entry is on a fragment\n // that is currently not loaded into the FragmentIdComparer, it will\n // throw a CompareError, and it means that the event is not loaded \n // in the timeline (like when receiving a relation for an event\n // that is not loaded in memory) so we can just drop this error as\n // replacing an event that is not already loaded is a no-op.\n continue;\n } else {\n // don't swallow other errors\n throw err;\n }\n }\n }\n }\n\n /** @package */\n addEntries(newEntries) {\n this._addLocalRelationsToNewRemoteEntries(newEntries);\n this._updateEntriesFetchedFromHomeserver(newEntries);\n this._moveEntryToRemoteEntries(newEntries);\n this._loadContextEntriesWhereNeeded(newEntries);\n this._remoteEntries.setManySorted(newEntries);\n }\n\n /**\n * Update entries based on newly received events.\n * This is specific to events that are not in the timeline but had to be fetched from the homeserver\n * because they are context-events for other events in the timeline (i.e fetched from hs so that we\n * can render things like reply previews)\n */\n _updateEntriesFetchedFromHomeserver(entries) {\n /**\n * Updates for entries in timeline is handled by remoteEntries observable collection\n * Updates for entries not in timeline but fetched from storage is handled in this.replaceEntries()\n * This code is specific to entries fetched from HomeServer i.e NonPersistedEventEntry\n */\n for (const entry of entries) {\n const relatedEntry = this._contextEntriesNotInTimeline.get(entry.relatedEventId);\n if (relatedEntry?.isNonPersisted && relatedEntry?.addLocalRelation(entry)) {\n // update other entries for which this entry is a context entry\n relatedEntry.contextForEntries?.forEach(e => this._emitUpdateForEntry(e, \"contextEntry\"));\n }\n }\n }\n\n /**\n * If an event we had to fetch from hs/storage is now in the timeline (for eg, due to gap fill),\n * remove the event from _contextEntriesNotInTimeline since it is now in remoteEntries\n */\n _moveEntryToRemoteEntries(entries) {\n for (const entry of entries) {\n const fetchedEntry = this._contextEntriesNotInTimeline.get(entry.id);\n if (fetchedEntry) {\n fetchedEntry.contextForEntries.forEach(e => {\n e.setContextEntry(entry);\n this._emitUpdateForEntry(e, \"contextEntry\");\n });\n this._contextEntriesNotInTimeline.delete(entry.id);\n }\n }\n }\n\n _emitUpdateForEntry(entry, param) {\n const txnId = entry.isPending ? entry.id : null;\n const eventId = entry.isPending ? null : entry.id;\n this._findAndUpdateEntryById(txnId, eventId, () => param);\n }\n\n /**\n * For each entry in entries, this method associates a context-entry (if needed) to it.\n * The context-entry is fetched using the following strategies (in the same order as given):\n * - timeline\n * - storage\n * - homeserver\n * @param {EventEntry[]} entries \n */\n async _loadContextEntriesWhereNeeded(entries) {\n for (const entry of entries) {\n if (!entry.contextEventId) {\n continue;\n }\n const id = entry.contextEventId;\n // before looking into remoteEntries, check the entries\n // that about to be added first\n let contextEvent = entries.find(e => e.id === id);\n if (!contextEvent) {\n contextEvent = this._findLoadedEventById(id);\n }\n if (contextEvent) {\n entry.setContextEntry(contextEvent);\n // we don't emit an update here, as the add or update\n // that the callee will emit hasn't been emitted yet.\n } else {\n // we don't await here, which is not ideal,\n // but one of our callers, addEntries, is not async\n // so there is not much point.\n // Also, we want to run the entry fetching in parallel.\n this._loadContextEntryNotInTimeline(entry);\n }\n }\n }\n\n async _loadContextEntryNotInTimeline(entry) {\n const id = entry.contextEventId;\n let contextEvent = await this._getEventFromStorage(id);\n if (!contextEvent) {\n contextEvent = await this._getEventFromHomeserver(id);\n }\n if (contextEvent) {\n // this entry was created from storage/hs, so it's not tracked by remoteEntries\n // we track them here so that we can update reply previews later\n this._contextEntriesNotInTimeline.set(id, contextEvent);\n entry.setContextEntry(contextEvent);\n // here, we awaited something, so from now on we do have to emit\n // an update if we set the context entry.\n this._emitUpdateForEntry(entry, \"contextEntry\");\n }\n }\n\n /**\n * Fetches an entry with the given event-id from localEntries, remoteEntries or contextEntriesNotInTimeline.\n * @param {string} eventId event-id of the entry\n * @returns entry if found, undefined otherwise\n */\n _findLoadedEventById(eventId) {\n return this.getByEventId(eventId) ?? this._contextEntriesNotInTimeline.get(eventId);\n }\n\n async _getEventFromStorage(eventId) {\n const entry = await this._timelineReader.readById(eventId);\n return entry;\n }\n\n async _getEventFromHomeserver(eventId) {\n const response = await this._hsApi.context(this._roomId, eventId, 0).response();\n const sender = response.event.sender;\n const member = response.state.find(e => e.type === MEMBER_EVENT_TYPE && e.user_id === sender);\n const entry = {\n event: response.event,\n displayName: member.content.displayname,\n avatarUrl: member.content.avatar_url\n };\n const eventEntry = new NonPersistedEventEntry(entry, this._fragmentIdComparer);\n if (this._decryptEntries) {\n const request = this._decryptEntries([eventEntry]);\n await request.complete();\n }\n return eventEntry;\n }\n\n // tries to prepend `amount` entries to the `entries` list.\n /**\n * [loadAtTop description]\n * @param {[type]} amount [description]\n * @return {boolean} true if the top of the timeline has been reached\n * \n */\n async loadAtTop(amount) {\n if (this._disposables.isDisposed) {\n return true;\n }\n const firstEventEntry = this._remoteEntries.array.find(e => !!e.eventType);\n if (!firstEventEntry) {\n return true;\n }\n const readerRequest = this._disposables.track(this._timelineReader.readFrom(\n firstEventEntry.asEventKey(),\n Direction.Backward,\n amount\n ));\n try {\n const entries = await readerRequest.complete();\n this.addEntries(entries);\n return entries.length < amount;\n } finally {\n this._disposables.disposeTracked(readerRequest);\n }\n }\n\n async _getOrLoadEntry(txnId, eventId) {\n if (txnId) {\n // also look for redacting relation in pending events, in case the target is already being sent\n for (const p of this._localEntries) {\n if (p.id === txnId) {\n return p;\n }\n }\n }\n if (eventId) {\n return this.getByEventId(eventId) ?? await this._getEventFromStorage(eventId);\n }\n return null;\n }\n\n getByEventId(eventId) {\n for (let i = 0; i < this._remoteEntries.length; i += 1) {\n const entry = this._remoteEntries.get(i);\n if (entry.id === eventId) {\n return entry;\n }\n }\n return null;\n }\n\n /** @public */\n get entries() {\n return this._allEntries;\n }\n\n /**\n * @internal\n * @return {Array} remote event entries, should not be modified\n */\n get remoteEntries() {\n return this._remoteEntries.array;\n }\n\n /** @public */\n dispose() {\n if (this._closeCallback) {\n this._disposables.dispose();\n this._closeCallback();\n this._closeCallback = null;\n }\n }\n\n /** @internal */\n enableEncryption(decryptEntries) {\n this._decryptEntries = decryptEntries;\n this._timelineReader.enableEncryption(decryptEntries);\n }\n\n get powerLevels() {\n return this._powerLevels;\n }\n\n get me() {\n return this._ownMember;\n }\n}\n\nimport {FragmentIdComparer} from \"./FragmentIdComparer.js\";\nimport {poll} from \"../../../mocks/poll.js\";\nimport {Clock as MockClock} from \"../../../mocks/Clock.js\";\nimport {createMockStorage} from \"../../../mocks/Storage\";\nimport {ListObserver} from \"../../../mocks/ListObserver.js\";\nimport {createEvent, withTextBody, withContent, withSender, withRedacts, withReply} from \"../../../mocks/event.js\";\nimport {NullLogItem} from \"../../../logging/NullLogger\";\nimport {EventEntry} from \"./entries/EventEntry.js\";\nimport {User} from \"../../User.js\";\nimport {PendingEvent} from \"../sending/PendingEvent.js\";\nimport {createAnnotation} from \"./relations.js\";\nimport {redactEvent} from \"./common.js\";\n\nexport function tests() {\n const fragmentIdComparer = new FragmentIdComparer([]);\n const roomId = \"$abc\";\n const alice = \"@alice:hs.tld\";\n const bob = \"@bob:hs.tld\";\n const hsApi = {\n context() {\n const result = {\n event: withTextBody(\"foo\", createEvent(\"m.room.message\", \"event_id_1\", alice)),\n state: [{\n type: MEMBER_EVENT_TYPE,\n user_id: alice,\n content: {\n displayName: \"\",\n avatarUrl: \"\"\n }\n }]\n };\n return { response: () => result };\n }\n };\n\n function getIndexFromIterable(it, n) {\n let i = 0;\n for (const item of it) {\n if (i === n) {\n return item;\n }\n i += 1;\n }\n throw new Error(\"not enough items in iterable\");\n }\n\n return {\n \"adding or replacing entries before subscribing to entries does not lose local relations\": async assert => {\n const pendingEvents = new ObservableArray();\n const timeline = new Timeline({roomId, storage: await createMockStorage(),\n closeCallback: () => {}, fragmentIdComparer, pendingEvents, clock: new MockClock()});\n // 1. load timeline\n await timeline.load(new User(alice), \"join\", new NullLogItem());\n // 2. test replaceEntries and addEntries don't fail\n const event1 = withTextBody(\"hi!\", withSender(bob, createEvent(\"m.room.message\", \"!abc\")));\n const entry1 = new EventEntry({event: event1, fragmentId: 1, eventIndex: 1}, fragmentIdComparer);\n timeline.replaceEntries([entry1]);\n const event2 = withTextBody(\"hi bob!\", withSender(alice, createEvent(\"m.room.message\", \"!def\")));\n const entry2 = new EventEntry({event: event2, fragmentId: 1, eventIndex: 2}, fragmentIdComparer);\n timeline.addEntries([entry2]);\n // 3. add local relation (redaction)\n pendingEvents.append(new PendingEvent({data: {\n roomId,\n queueIndex: 1,\n eventType: \"m.room.redaction\",\n txnId: \"t123\",\n content: {},\n relatedEventId: event2.event_id\n }}));\n // 4. subscribe (it's now safe to iterate timeline.entries) \n timeline.entries.subscribe(new ListObserver());\n // 5. check the local relation got correctly aggregated\n const locallyRedacted = await poll(() => Array.from(timeline.entries)[0].isRedacting);\n assert.equal(locallyRedacted, true);\n },\n \"add and remove local reaction, and cancel again\": async assert => {\n // 1. setup timeline with message\n const pendingEvents = new ObservableArray();\n const timeline = new Timeline({roomId, storage: await createMockStorage(),\n closeCallback: () => {}, fragmentIdComparer, pendingEvents, clock: new MockClock()});\n await timeline.load(new User(bob), \"join\", new NullLogItem());\n timeline.entries.subscribe(new ListObserver());\n const event = withTextBody(\"hi bob!\", withSender(alice, createEvent(\"m.room.message\", \"!abc\")));\n timeline.addEntries([new EventEntry({event, fragmentId: 1, eventIndex: 2}, fragmentIdComparer)]);\n let entry = getIndexFromIterable(timeline.entries, 0);\n // 2. add local reaction\n pendingEvents.append(new PendingEvent({data: {\n roomId,\n queueIndex: 1,\n eventType: \"m.reaction\",\n txnId: \"t123\",\n content: entry.annotate(\"👋\"),\n relatedEventId: entry.id\n }}));\n await poll(() => timeline.entries.length === 2);\n assert.equal(entry.pendingAnnotations.get(\"👋\").count, 1);\n const reactionEntry = getIndexFromIterable(timeline.entries, 1);\n // 3. add redaction to timeline\n pendingEvents.append(new PendingEvent({data: {\n roomId,\n queueIndex: 2,\n eventType: \"m.room.redaction\",\n txnId: \"t456\",\n content: {},\n relatedTxnId: reactionEntry.id\n }}));\n // TODO: await nextUpdate here with ListObserver, to ensure entry emits an update when pendingAnnotations changes\n await poll(() => timeline.entries.length === 3);\n assert.equal(entry.pendingAnnotations.get(\"👋\").count, 0);\n // 4. cancel redaction\n pendingEvents.remove(1);\n await poll(() => timeline.entries.length === 2);\n assert.equal(entry.pendingAnnotations.get(\"👋\").count, 1);\n // 5. cancel reaction\n pendingEvents.remove(0);\n await poll(() => timeline.entries.length === 1);\n assert(!entry.pendingAnnotations);\n },\n \"getOwnAnnotationEntry\": async assert => {\n const messageId = \"!abc\";\n const reactionId = \"!def\";\n // 1. put event and reaction into storage\n const storage = await createMockStorage();\n const txn = await storage.readWriteTxn([storage.storeNames.timelineEvents, storage.storeNames.timelineRelations]);\n txn.timelineEvents.tryInsert({\n event: withContent(createAnnotation(messageId, \"👋\"), createEvent(\"m.reaction\", reactionId, bob)),\n fragmentId: 1, eventIndex: 1, roomId\n }, new NullLogItem());\n txn.timelineRelations.add(roomId, messageId, ANNOTATION_RELATION_TYPE, reactionId);\n await txn.complete();\n // 2. setup the timeline\n const timeline = new Timeline({roomId, storage, closeCallback: () => {},\n fragmentIdComparer, pendingEvents: new ObservableArray(), clock: new MockClock()});\n await timeline.load(new User(bob), \"join\", new NullLogItem());\n // 3. get the own annotation out\n const reactionEntry = await timeline.getOwnAnnotationEntry(messageId, \"👋\");\n assert.equal(reactionEntry.id, reactionId);\n assert.equal(reactionEntry.relation.key, \"👋\");\n },\n \"remote reaction\": async assert => {\n const messageEntry = new EventEntry({\n event: withTextBody(\"hi bob!\", createEvent(\"m.room.message\", \"!abc\", alice)),\n fragmentId: 1, eventIndex: 2, roomId,\n annotations: { // aggregated like RelationWriter would\n \"👋\": {count: 1, me: true, firstTimestamp: 0}\n },\n }, fragmentIdComparer);\n // 2. setup timeline\n const pendingEvents = new ObservableArray();\n const timeline = new Timeline({roomId, storage: await createMockStorage(),\n closeCallback: () => {}, fragmentIdComparer, pendingEvents, clock: new MockClock()});\n await timeline.load(new User(bob), \"join\", new NullLogItem());\n timeline.entries.subscribe(new ListObserver());\n // 3. add message to timeline\n timeline.addEntries([messageEntry]);\n const entry = getIndexFromIterable(timeline.entries, 0);\n assert.equal(entry, messageEntry);\n assert.equal(entry.annotations[\"👋\"].count, 1);\n },\n \"remove remote reaction\": async assert => {\n // 1. setup timeline\n const pendingEvents = new ObservableArray();\n const timeline = new Timeline({roomId, storage: await createMockStorage(),\n closeCallback: () => { }, fragmentIdComparer, pendingEvents, clock: new MockClock()});\n await timeline.load(new User(bob), \"join\", new NullLogItem());\n timeline.entries.subscribe(new ListObserver());\n // 2. add message and reaction to timeline\n const messageEntry = new EventEntry({\n event: withTextBody(\"hi bob!\", createEvent(\"m.room.message\", \"!abc\", alice)),\n fragmentId: 1, eventIndex: 2, roomId,\n }, fragmentIdComparer);\n const reactionEntry = new EventEntry({\n event: withContent(createAnnotation(messageEntry.id, \"👋\"), createEvent(\"m.reaction\", \"!def\", bob)),\n fragmentId: 1, eventIndex: 3, roomId\n }, fragmentIdComparer);\n timeline.addEntries([messageEntry, reactionEntry]);\n // 3. redact reaction\n pendingEvents.append(new PendingEvent({data: {\n roomId,\n queueIndex: 1,\n eventType: \"m.room.redaction\",\n txnId: \"t123\",\n content: {},\n relatedEventId: reactionEntry.id\n }}));\n await poll(() => timeline.entries.length >= 3);\n assert.equal(messageEntry.pendingAnnotations.get(\"👋\").count, -1);\n },\n \"local reaction gets applied after remote echo is added to timeline\": async assert => {\n const messageEntry = new EventEntry({event: withTextBody(\"hi bob!\", withSender(alice, createEvent(\"m.room.message\", \"!abc\"))),\n fragmentId: 1, eventIndex: 2}, fragmentIdComparer);\n // 1. setup timeline\n const pendingEvents = new ObservableArray();\n const timeline = new Timeline({roomId, storage: await createMockStorage(),\n closeCallback: () => {}, fragmentIdComparer, pendingEvents, clock: new MockClock()});\n await timeline.load(new User(bob), \"join\", new NullLogItem());\n timeline.entries.subscribe(new ListObserver());\n // 2. add local reaction\n pendingEvents.append(new PendingEvent({data: {\n roomId,\n queueIndex: 1,\n eventType: \"m.reaction\",\n txnId: \"t123\",\n content: messageEntry.annotate(\"👋\"),\n relatedEventId: messageEntry.id\n }}));\n await poll(() => timeline.entries.length === 1);\n // 3. add remote reaction target\n timeline.addEntries([messageEntry]);\n await poll(() => timeline.entries.length === 2);\n const entry = getIndexFromIterable(timeline.entries, 0);\n assert.equal(entry, messageEntry);\n assert.equal(entry.pendingAnnotations.get(\"👋\").count, 1);\n },\n \"local reaction removal gets applied after remote echo is added to timeline with reaction not loaded\": async assert => {\n const messageId = \"!abc\";\n const reactionId = \"!def\";\n // 1. put reaction in storage\n const storage = await createMockStorage();\n const txn = await storage.readWriteTxn([storage.storeNames.timelineEvents, storage.storeNames.timelineRelations]);\n txn.timelineEvents.tryInsert({\n event: withContent(createAnnotation(messageId, \"👋\"), createEvent(\"m.reaction\", reactionId, bob)),\n fragmentId: 1, eventIndex: 3, roomId\n }, new NullLogItem());\n await txn.complete();\n // 2. setup timeline\n const pendingEvents = new ObservableArray();\n const timeline = new Timeline({roomId, storage, closeCallback: () => {},\n fragmentIdComparer, pendingEvents, clock: new MockClock()});\n await timeline.load(new User(bob), \"join\", new NullLogItem());\n timeline.entries.subscribe(new ListObserver());\n // 3. add local redaction for reaction\n pendingEvents.append(new PendingEvent({data: {\n roomId,\n queueIndex: 1,\n eventType: \"m.room.redaction\",\n txnId: \"t123\",\n content: {},\n relatedEventId: reactionId\n }}));\n await poll(() => timeline.entries.length === 1);\n // 4. add reaction target\n timeline.addEntries([new EventEntry({\n event: withTextBody(\"hi bob!\", createEvent(\"m.room.message\", messageId, alice)),\n fragmentId: 1, eventIndex: 2}, fragmentIdComparer)\n ]);\n await poll(() => timeline.entries.length === 2);\n // 5. check that redaction was linked to reaction target\n const entry = getIndexFromIterable(timeline.entries, 0);\n assert.equal(entry.pendingAnnotations.get(\"👋\").count, -1);\n },\n \"decrypted entry preserves content when receiving other update without decryption\": async assert => {\n // 1. create encrypted and decrypted entry\n const encryptedEntry = new EventEntry({\n event: withContent({ciphertext: \"abc\"}, createEvent(\"m.room.encrypted\", \"!abc\", alice)),\n fragmentId: 1, eventIndex: 1, roomId\n }, fragmentIdComparer);\n const decryptedEntry = encryptedEntry.clone();\n decryptedEntry.setDecryptionResult({\n event: withTextBody(\"hi bob!\", createEvent(\"m.room.message\", encryptedEntry.id, encryptedEntry.sender))\n });\n // 2. setup the timeline\n const timeline = new Timeline({roomId, storage: await createMockStorage(), closeCallback: () => {},\n fragmentIdComparer, pendingEvents: new ObservableArray(), clock: new MockClock()});\n await timeline.load(new User(alice), \"join\", new NullLogItem());\n timeline.addEntries([decryptedEntry]);\n const observer = new ListObserver();\n timeline.entries.subscribe(observer);\n // 3. replace the entry with one that is not decrypted\n // (as would happen when receiving a reaction,\n // as it does not rerun the decryption)\n // and check that the decrypted content is preserved\n timeline.replaceEntries([encryptedEntry]);\n const {value, type} = await observer.next();\n assert.equal(type, \"update\");\n assert.equal(value.eventType, \"m.room.message\");\n assert.equal(value.content.body, \"hi bob!\");\n },\n\n \"context entry is fetched from remoteEntries\": async assert => {\n const timeline = new Timeline({roomId, storage: await createMockStorage(), closeCallback: () => {},\n fragmentIdComparer, pendingEvents: new ObservableArray(), clock: new MockClock()});\n const entryA = new EventEntry({ event: withTextBody(\"foo\", createEvent(\"m.room.message\", \"event_id_1\", alice)) });\n const entryB = new EventEntry({ event: withReply(\"event_id_1\", createEvent(\"m.room.message\", \"event_id_2\", bob)), eventIndex: 2 });\n await timeline.load(new User(alice), \"join\", new NullLogItem());\n timeline.entries.subscribe({\n onAdd() {},\n });\n timeline.addEntries([entryA, entryB]);\n assert.deepEqual(entryB.contextEntry, entryA);\n },\n\n \"context entry is fetched from storage\": async assert => {\n const storage = await createMockStorage();\n const txn = await storage.readWriteTxn([storage.storeNames.timelineEvents, storage.storeNames.timelineRelations]);\n txn.timelineEvents.tryInsert({ event: withTextBody(\"foo\", createEvent(\"m.room.message\", \"event_id_1\", alice)), fragmentId: 1, eventIndex: 1, roomId });\n await txn.complete();\n const timeline = new Timeline({roomId, storage, closeCallback: () => {},\n fragmentIdComparer, pendingEvents: new ObservableArray(), clock: new MockClock()});\n const entryB = new EventEntry({ event: withReply(\"event_id_1\", createEvent(\"m.room.message\", \"event_id_2\", bob)), eventIndex: 2 });\n await timeline.load(new User(alice), \"join\", new NullLogItem());\n timeline.entries.subscribe({ onAdd: () => null, onUpdate: () => null });\n timeline.addEntries([entryB]);\n await poll(() => entryB.contextEntry);\n assert.strictEqual(entryB.contextEntry.id, \"event_id_1\");\n },\n\n \"context entry is fetched from hs\": async assert => {\n const timeline = new Timeline({roomId, storage: await createMockStorage(), closeCallback: () => {},\n fragmentIdComparer, pendingEvents: new ObservableArray(), clock: new MockClock(), hsApi});\n const entryB = new EventEntry({ event: withReply(\"event_id_1\", createEvent(\"m.room.message\", \"event_id_2\", bob)), eventIndex: 2 });\n await timeline.load(new User(alice), \"join\", new NullLogItem());\n timeline.entries.subscribe({ onAdd: () => null, onUpdate: () => null });\n timeline.addEntries([entryB]);\n await poll(() => entryB.contextEntry);\n assert.strictEqual(entryB.contextEntry.id, \"event_id_1\");\n },\n\n \"context entry has a list of entries to which it forms the context\": async assert => {\n const timeline = new Timeline({roomId, storage: await createMockStorage(), closeCallback: () => {},\n fragmentIdComparer, pendingEvents: new ObservableArray(), clock: new MockClock()});\n const entryA = new EventEntry({ event: withTextBody(\"foo\", createEvent(\"m.room.message\", \"event_id_1\", alice)), eventIndex: 1 });\n const entryB = new EventEntry({ event: withReply(\"event_id_1\", createEvent(\"m.room.message\", \"event_id_2\", bob)), eventIndex: 2 });\n const entryC = new EventEntry({ event: withReply(\"event_id_1\", createEvent(\"m.room.message\", \"event_id_3\", bob)), eventIndex: 3 });\n await timeline.load(new User(alice), \"join\", new NullLogItem());\n timeline.entries.subscribe({ onAdd: () => null, onUpdate: () => null });\n timeline.addEntries([entryA, entryB, entryC]);\n await poll(() => entryA.contextForEntries.length === 2);\n assert.deepEqual(entryA.contextForEntries, [entryB, entryC]);\n },\n\n \"context entry in contextEntryNotInTimeline gets updated based on incoming redaction\": async assert => {\n const timeline = new Timeline({roomId, storage: await createMockStorage(), closeCallback: () => {},\n fragmentIdComparer, pendingEvents: new ObservableArray(), clock: new MockClock(), hsApi});\n const entryB = new EventEntry({ event: withReply(\"event_id_1\", createEvent(\"m.room.message\", \"event_id_2\", bob)), eventIndex: 2 });\n await timeline.load(new User(alice), \"join\", new NullLogItem());\n timeline.entries.subscribe({ onAdd: () => null, onUpdate: () => null });\n timeline.addEntries([entryB]);\n await poll(() => entryB.contextEntry);\n const redactingEntry = new EventEntry({ event: withRedacts(\"event_id_1\", \"foo\", createEvent(\"m.room.redaction\", \"event_id_3\", alice)), eventIndex: 3 });\n timeline.addEntries([redactingEntry]);\n assert.strictEqual(entryB.contextEntry.isRedacted, true);\n },\n\n \"redaction of context entry triggers updates in other entries\": async assert => {\n const timeline = new Timeline({roomId, storage: await createMockStorage(), closeCallback: () => {},\n fragmentIdComparer, pendingEvents: new ObservableArray(), clock: new MockClock(), hsApi});\n const entryA = new EventEntry({ event: withTextBody(\"foo\", createEvent(\"m.room.message\", \"event_id_1\", alice)), eventIndex: 1, fragmentId: 1 });\n const entryB = new EventEntry({ event: withReply(\"event_id_1\", createEvent(\"m.room.message\", \"event_id_2\", bob)), eventIndex: 2, fragmentId: 1 });\n const entryC = new EventEntry({ event: withReply(\"event_id_1\", createEvent(\"m.room.message\", \"event_id_3\", bob)), eventIndex: 3, fragmentId: 1 });\n await timeline.load(new User(alice), \"join\", new NullLogItem());\n const bin = [];\n timeline.entries.subscribe({\n onUpdate: (index, e) => {\n bin.push(e.id);\n },\n onAdd: () => null,\n });\n timeline.addEntries([entryA, entryB, entryC]);\n const eventAClone = JSON.parse(JSON.stringify(entryA.event));\n redactEvent(withRedacts(\"event_id_1\", \"foo\", createEvent(\"m.room.redaction\", \"event_id_4\", alice)), eventAClone);\n const redactedEntry = new EventEntry({ event: eventAClone, eventIndex: 1, fragmentId: 1 });\n timeline.replaceEntries([redactedEntry]);\n assert.strictEqual(bin.includes(\"event_id_2\"), true);\n assert.strictEqual(bin.includes(\"event_id_3\"), true);\n },\n\n \"context entries fetched from storage/hs are moved to remoteEntries\": async assert => {\n const timeline = new Timeline({roomId, storage: await createMockStorage(), closeCallback: () => {},\n fragmentIdComparer, pendingEvents: new ObservableArray(), clock: new MockClock(), hsApi});\n const entryA = new EventEntry({ event: withTextBody(\"foo\", createEvent(\"m.room.message\", \"event_id_1\", alice)), eventIndex: 1 });\n const entryB = new EventEntry({ event: withReply(\"event_id_1\", createEvent(\"m.room.message\", \"event_id_2\", bob)), eventIndex: 2 });\n await timeline.load(new User(alice), \"join\", new NullLogItem());\n timeline.entries.subscribe({ onAdd: () => null, onUpdate: () => null });\n timeline.addEntries([entryB]);\n await poll(() => entryB.contextEntry);\n assert.strictEqual(timeline._contextEntriesNotInTimeline.has(entryA.id), true);\n timeline.addEntries([entryA]);\n assert.strictEqual(timeline._contextEntriesNotInTimeline.has(entryA.id), false);\n const movedEntry = timeline.remoteEntries[0];\n assert.deepEqual(movedEntry, entryA);\n assert.deepEqual(movedEntry.contextForEntries[0], entryB);\n assert.deepEqual(entryB.contextEntry, movedEntry);\n }\n };\n}\n","/*\nCopyright 2020 Bruno Windels \nCopyright 2020 The Matrix.org Foundation C.I.C.\n\nLicensed under the Apache License, Version 2.0 (the \"License\");\nyou may not use this file except in compliance with the License.\nYou may obtain a copy of the License at\n\n http://www.apache.org/licenses/LICENSE-2.0\n\nUnless required by applicable law or agreed to in writing, software\ndistributed under the License is distributed on an \"AS IS\" BASIS,\nWITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\nSee the License for the specific language governing permissions and\nlimitations under the License.\n*/\n\nimport {RoomMember} from \"./RoomMember.js\";\n\nasync function loadMembers({roomId, storage, txn}) {\n if (!txn) {\n txn = await storage.readTxn([\n storage.storeNames.roomMembers,\n ]);\n }\n const memberDatas = await txn.roomMembers.getAll(roomId);\n return memberDatas.map(d => new RoomMember(d));\n}\n\nasync function fetchMembers({summary, syncToken, roomId, hsApi, storage, setChangedMembersMap}, log) {\n // if any members are changed by sync while we're fetching members,\n // they will end up here, so we check not to override them\n const changedMembersDuringSync = new Map();\n setChangedMembersMap(changedMembersDuringSync);\n \n const memberResponse = await hsApi.members(roomId, {at: syncToken}, {log}).response();\n\n const txn = await storage.readWriteTxn([\n storage.storeNames.roomSummary,\n storage.storeNames.roomMembers,\n ]);\n\n let summaryChanges;\n let members;\n \n try {\n summaryChanges = summary.writeHasFetchedMembers(true, txn);\n const {roomMembers} = txn;\n const memberEvents = memberResponse.chunk;\n if (!Array.isArray(memberEvents)) {\n throw new Error(\"malformed\");\n }\n log.set(\"members\", memberEvents.length);\n members = await Promise.all(memberEvents.map(async memberEvent => {\n const userId = memberEvent?.state_key;\n if (!userId) {\n throw new Error(\"malformed\");\n }\n // this member was changed during a sync that happened while calling /members\n // and thus is more recent, so don't overwrite\n const changedMember = changedMembersDuringSync.get(userId);\n if (changedMember) {\n return changedMember;\n } else {\n const member = RoomMember.fromMemberEvent(roomId, memberEvent);\n if (member) {\n roomMembers.set(member.serialize());\n }\n return member;\n }\n }));\n } catch (err) {\n // abort txn on any error\n txn.abort();\n throw err;\n } finally {\n // important this gets cleared\n // or otherwise Room remains in \"fetching-members\" mode\n setChangedMembersMap(null);\n }\n await txn.complete();\n summary.applyChanges(summaryChanges);\n return members;\n}\n\nexport async function fetchOrLoadMembers(options, logger) {\n const {summary} = options;\n if (!summary.data.hasFetchedMembers) {\n // we only want to log if we fetch members, so start or continue the optional log operation here\n return logger.wrapOrRun(options.log, \"fetchMembers\", log => fetchMembers(options, log));\n } else {\n return loadMembers(options);\n }\n}\n\nexport async function fetchOrLoadMember(options, logger) {\n const member = await loadMember(options);\n const {summary} = options;\n if (!summary.data.hasFetchedMembers && !member) {\n // We haven't fetched the memberlist yet; so ping the hs to see if this member does exist\n return logger.wrapOrRun(options.log, \"fetchMember\", log => fetchMember(options, log));\n }\n return member;\n}\n\nasync function loadMember({roomId, userId, storage}) {\n const txn = await storage.readTxn([storage.storeNames.roomMembers,]);\n const member = await txn.roomMembers.get(roomId, userId);\n return member? new RoomMember(member) : null;\n}\n\nasync function fetchMember({roomId, userId, hsApi, storage}, log) {\n let memberData;\n try {\n memberData = await hsApi.state(roomId, \"m.room.member\", userId, { log }).response();\n }\n catch (error) {\n if (error.name === \"HomeServerError\" && error.errcode === \"M_NOT_FOUND\") {\n return null;\n }\n throw error;\n }\n const member = new RoomMember({\n roomId,\n userId,\n membership: memberData.membership,\n avatarUrl: memberData.avatar_url,\n displayName: memberData.displayname,\n });\n const txn = await storage.readWriteTxn([storage.storeNames.roomMembers]);\n try {\n txn.roomMembers.set(member.serialize());\n }\n catch(e) {\n txn.abort();\n throw e;\n }\n await txn.complete();\n return member;\n}\n","/*\nCopyright 2021 The Matrix.org Foundation C.I.C.\n\nLicensed under the Apache License, Version 2.0 (the \"License\");\nyou may not use this file except in compliance with the License.\nYou may obtain a copy of the License at\n\n http://www.apache.org/licenses/LICENSE-2.0\n\nUnless required by applicable law or agreed to in writing, software\ndistributed under the License is distributed on an \"AS IS\" BASIS,\nWITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\nSee the License for the specific language governing permissions and\nlimitations under the License.\n*/\n\nexport class RetainedValue {\n private readonly _freeCallback: () => void;\n private _retentionCount: number = 1;\n\n constructor(freeCallback: () => void) {\n this._freeCallback = freeCallback;\n }\n\n retain(): void {\n this._retentionCount += 1;\n }\n\n release(): void {\n this._retentionCount -= 1;\n if (this._retentionCount === 0) {\n this._freeCallback();\n }\n }\n}\n","/*\nCopyright 2020 The Matrix.org Foundation C.I.C.\n\nLicensed under the Apache License, Version 2.0 (the \"License\");\nyou may not use this file except in compliance with the License.\nYou may obtain a copy of the License at\n\n http://www.apache.org/licenses/LICENSE-2.0\n\nUnless required by applicable law or agreed to in writing, software\ndistributed under the License is distributed on an \"AS IS\" BASIS,\nWITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\nSee the License for the specific language governing permissions and\nlimitations under the License.\n*/\n\nimport {ObservableMap} from \"../../../observable/map/ObservableMap\";\nimport {RetainedValue} from \"../../../utils/RetainedValue\";\n\nexport class MemberList extends RetainedValue {\n constructor({members, closeCallback}) {\n super(closeCallback);\n this._members = new ObservableMap();\n for (const member of members) {\n this._members.add(member.userId, member);\n }\n }\n\n afterSync(memberChanges) {\n for (const [userId, memberChange] of memberChanges.entries()) {\n this._members.set(userId, memberChange.member);\n }\n }\n\n get members() {\n return this._members;\n }\n}\n","/*\nCopyright 2020 The Matrix.org Foundation C.I.C.\n\nLicensed under the Apache License, Version 2.0 (the \"License\");\nyou may not use this file except in compliance with the License.\nYou may obtain a copy of the License at\n\n http://www.apache.org/licenses/LICENSE-2.0\n\nUnless required by applicable law or agreed to in writing, software\ndistributed under the License is distributed on an \"AS IS\" BASIS,\nWITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\nSee the License for the specific language governing permissions and\nlimitations under the License.\n*/\n\nimport {RoomMember} from \"./RoomMember.js\";\n\nexport function calculateRoomName(sortedMembers, summaryData, log) {\n const countWithoutMe = summaryData.joinCount + summaryData.inviteCount - 1;\n if (sortedMembers.length >= countWithoutMe) {\n if (sortedMembers.length > 1) {\n const lastMember = sortedMembers[sortedMembers.length - 1];\n const firstMembers = sortedMembers.slice(0, sortedMembers.length - 1);\n return firstMembers.map(m => m.name).join(\", \") + \" and \" + lastMember.name;\n } else {\n const otherMember = sortedMembers[0];\n if (otherMember) {\n return otherMember.name;\n } else {\n log.log({l: \"could get get other member name\", length: sortedMembers.length, otherMember: !!otherMember, otherMemberMembership: otherMember?.membership});\n return \"Unknown DM Name\";\n }\n }\n } else if (sortedMembers.length < countWithoutMe) {\n return sortedMembers.map(m => m.name).join(\", \") + ` and ${countWithoutMe} others`;\n } else {\n // Empty Room\n return null;\n }\n}\n\nexport class Heroes {\n constructor(roomId) {\n this._roomId = roomId;\n this._members = new Map();\n }\n\n /**\n * @param {string[]} newHeroes array of user ids\n * @param {Map} memberChanges map of changed memberships\n * @param {Transaction} txn\n * @return {Promise}\n */\n async calculateChanges(newHeroes, memberChanges, txn) {\n const updatedHeroMembers = new Map();\n const removedUserIds = [];\n // remove non-present members\n for (const existingUserId of this._members.keys()) {\n if (newHeroes.indexOf(existingUserId) === -1) {\n removedUserIds.push(existingUserId);\n }\n }\n // update heroes with synced member changes\n for (const [userId, memberChange] of memberChanges.entries()) {\n if (this._members.has(userId) || newHeroes.indexOf(userId) !== -1) {\n updatedHeroMembers.set(userId, memberChange.member);\n }\n }\n // load member for new heroes from storage\n for (const userId of newHeroes) {\n if (!this._members.has(userId) && !updatedHeroMembers.has(userId)) {\n const memberData = await txn.roomMembers.get(this._roomId, userId);\n if (memberData) {\n const member = new RoomMember(memberData);\n updatedHeroMembers.set(member.userId, member);\n }\n }\n }\n return {updatedHeroMembers: updatedHeroMembers.values(), removedUserIds};\n }\n\n applyChanges({updatedHeroMembers, removedUserIds}, summaryData, log) {\n for (const userId of removedUserIds) {\n this._members.delete(userId);\n }\n for (const member of updatedHeroMembers) {\n this._members.set(member.userId, member);\n }\n const sortedMembers = Array.from(this._members.values()).sort((a, b) => a.name.localeCompare(b.name));\n this._roomName = calculateRoomName(sortedMembers, summaryData, log);\n }\n\n get roomName() {\n return this._roomName;\n }\n\n get roomAvatarUrl() {\n if (this._members.size === 1) {\n for (const member of this._members.values()) {\n return member.avatarUrl;\n }\n }\n return null;\n }\n\n /**\n * In DM rooms, we want the room's color to be\n * the same as the other user's color. Thus, if the room\n * only has one hero, we use their ID, instead\n * of the room's, to get the avatar color.\n *\n * @returns {?string} the ID of the single hero.\n */\n get roomAvatarColorId() {\n if (this._members.size === 1) {\n for (const member of this._members.keys()) {\n return member\n }\n }\n return null;\n }\n}\n","/*\nCopyright 2020 The Matrix.org Foundation C.I.C.\n\nLicensed under the Apache License, Version 2.0 (the \"License\");\nyou may not use this file except in compliance with the License.\nYou may obtain a copy of the License at\n\n http://www.apache.org/licenses/LICENSE-2.0\n\nUnless required by applicable law or agreed to in writing, software\ndistributed under the License is distributed on an \"AS IS\" BASIS,\nWITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\nSee the License for the specific language governing permissions and\nlimitations under the License.\n*/\n\nimport {BaseObservableValue} from \"../../observable/ObservableValue\";\n\nexport class ObservedEventMap {\n constructor(notifyEmpty) {\n this._map = new Map();\n this._notifyEmpty = notifyEmpty;\n }\n\n observe(eventId, eventEntry = null) {\n let observable = this._map.get(eventId);\n if (!observable) {\n observable = new ObservedEvent(this, eventEntry, eventId);\n this._map.set(eventId, observable);\n }\n return observable;\n }\n\n updateEvents(eventEntries) {\n for (let i = 0; i < eventEntries.length; i += 1) {\n const entry = eventEntries[i];\n const observable = this._map.get(entry.id);\n observable?.update(entry);\n }\n }\n\n _remove(id) {\n this._map.delete(id);\n if (this._map.size === 0) {\n this._notifyEmpty();\n }\n }\n}\n\nclass ObservedEvent extends BaseObservableValue {\n constructor(eventMap, entry, id) {\n super();\n this._eventMap = eventMap;\n this._entry = entry;\n this._id = id;\n // remove subscription in microtask after creating it\n // otherwise ObservedEvents would easily never get\n // removed if you never subscribe\n Promise.resolve().then(() => {\n if (!this.hasSubscriptions) {\n this._eventMap._remove(this._id);\n this._eventMap = null;\n }\n });\n }\n\n subscribe(handler) {\n if (!this._eventMap) {\n throw new Error(\"ObservedEvent expired, subscribe right after calling room.observeEvent()\");\n }\n return super.subscribe(handler);\n }\n\n onUnsubscribeLast() {\n this._eventMap._remove(this._id);\n this._eventMap = null;\n super.onUnsubscribeLast();\n }\n\n update(entry) {\n // entries are mostly updated in-place,\n // apart from when they are created,\n // but doesn't hurt to reassign\n this._entry = entry;\n this.emit(this._entry);\n }\n\n get() {\n return this._entry;\n }\n}\n","// these are helper functions if you can't assume you always have a log item (e.g. some code paths call with one set, others don't)\n// if you know you always have a log item, better to use the methods on the log item than these utility functions.\n\nimport {Instance as NullLoggerInstance} from \"./NullLogger\";\nimport type {FilterCreator, ILogItem, LabelOrValues, LogCallback} from \"./types\";\nimport {LogLevel} from \"./LogFilter\";\n\nexport function wrapOrRunNullLogger(logItem: ILogItem | undefined, labelOrValues: LabelOrValues, callback: LogCallback, logLevel?: LogLevel, filterCreator?: FilterCreator): T | Promise {\n if (logItem) {\n return logItem.wrap(labelOrValues, callback, logLevel, filterCreator);\n } else {\n return NullLoggerInstance.run(null, callback);\n }\n}\n\nexport function ensureLogItem(logItem: ILogItem): ILogItem {\n return logItem || NullLoggerInstance.item;\n}\n","/*\nCopyright 2021 The Matrix.org Foundation C.I.C.\n\nLicensed under the Apache License, Version 2.0 (the \"License\");\nyou may not use this file except in compliance with the License.\nYou may obtain a copy of the License at\n\n http://www.apache.org/licenses/LICENSE-2.0\n\nUnless required by applicable law or agreed to in writing, software\ndistributed under the License is distributed on an \"AS IS\" BASIS,\nWITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\nSee the License for the specific language governing permissions and\nlimitations under the License.\n*/\n\nexport const EVENT_TYPE = \"m.room.power_levels\";\n\nexport class PowerLevels {\n constructor({powerLevelEvent, createEvent, ownUserId, membership}) {\n this._plEvent = powerLevelEvent;\n this._createEvent = createEvent;\n this._ownUserId = ownUserId;\n this._membership = membership;\n }\n\n canRedactFromSender(userId) {\n if (userId === this._ownUserId && this._membership === \"join\") {\n return true;\n } else {\n return this.canRedact;\n }\n }\n\n canSendType(eventType) {\n return this._myLevel >= this._getEventTypeLevel(eventType);\n }\n\n get canRedact() {\n return this._myLevel >= this._getActionLevel(\"redact\");\n }\n\n get _myLevel() {\n if (this._membership !== \"join\") {\n return Number.MIN_SAFE_INTEGER;\n }\n return this.getUserLevel(this._ownUserId);\n }\n\n getUserLevel(userId) {\n if (this._plEvent) {\n let userLevel = this._plEvent.content?.users?.[userId];\n if (typeof userLevel !== \"number\") {\n userLevel = this._plEvent.content?.users_default;\n }\n if (typeof userLevel === \"number\") {\n return userLevel;\n }\n } else if (this._createEvent) {\n if (userId === this._createEvent.content?.creator) {\n return 100;\n }\n }\n return 0;\n }\n\n /** @param {string} action either \"invite\", \"kick\", \"ban\" or \"redact\". */\n _getActionLevel(action) {\n const level = this._plEvent?.content[action];\n if (typeof level === \"number\") {\n return level;\n } else {\n return 50;\n }\n }\n\n _getEventTypeLevel(eventType) {\n const level = this._plEvent?.content.events?.[eventType];\n if (typeof level === \"number\") {\n return level;\n } else {\n const level = this._plEvent?.content.events_default;\n if (typeof level === \"number\") {\n return level;\n } else {\n return 0;\n }\n }\n }\n}\n\nexport function tests() {\n const alice = \"@alice:hs.tld\";\n const bob = \"@bob:hs.tld\";\n const charly = \"@charly:hs.tld\";\n const createEvent = {content: {creator: alice}};\n const redactPowerLevelEvent = {content: {\n redact: 50,\n users: {\n [alice]: 50\n },\n users_default: 0\n }};\n const eventsPowerLevelEvent = {content: {\n events_default: 5,\n events: {\n \"m.room.message\": 45,\n \"m.room.topic\": 50,\n },\n users: {\n [alice]: 50,\n [bob]: 10\n },\n users_default: 0\n }};\n\n return {\n \"redact somebody else event with power level event\": assert => {\n const pl1 = new PowerLevels({powerLevelEvent: redactPowerLevelEvent, ownUserId: alice, membership: \"join\"});\n assert.equal(pl1.canRedact, true);\n const pl2 = new PowerLevels({powerLevelEvent: redactPowerLevelEvent, ownUserId: bob, membership: \"join\"});\n assert.equal(pl2.canRedact, false);\n },\n \"redact somebody else event with create event\": assert => {\n const pl1 = new PowerLevels({createEvent, ownUserId: alice, membership: \"join\"});\n assert.equal(pl1.canRedact, true);\n const pl2 = new PowerLevels({createEvent, ownUserId: bob, membership: \"join\"});\n assert.equal(pl2.canRedact, false);\n },\n \"redact own event\": assert => {\n const pl = new PowerLevels({ownUserId: alice, membership: \"join\"});\n assert.equal(pl.canRedactFromSender(alice), true);\n assert.equal(pl.canRedactFromSender(bob), false);\n },\n \"can send event without power levels\": assert => {\n const pl = new PowerLevels({createEvent, ownUserId: charly, membership: \"join\"});\n assert.equal(pl.canSendType(\"m.room.message\"), true);\n },\n \"can't send any event below events_default\": assert => {\n const pl = new PowerLevels({powerLevelEvent: eventsPowerLevelEvent, ownUserId: charly, membership: \"join\"});\n assert.equal(pl.canSendType(\"m.foo\"), false);\n },\n \"can't send event below events[type]\": assert => {\n const pl = new PowerLevels({powerLevelEvent: eventsPowerLevelEvent, ownUserId: bob, membership: \"join\"});\n assert.equal(pl.canSendType(\"m.foo\"), true);\n assert.equal(pl.canSendType(\"m.room.message\"), false);\n },\n \"can send event above or at events[type]\": assert => {\n const pl = new PowerLevels({powerLevelEvent: eventsPowerLevelEvent, ownUserId: alice, membership: \"join\"});\n assert.equal(pl.canSendType(\"m.room.message\"), true);\n assert.equal(pl.canSendType(\"m.room.topic\"), true);\n },\n \"can't redact or send in non-joined room'\": assert => {\n const pl = new PowerLevels({createEvent, ownUserId: alice, membership: \"leave\"});\n assert.equal(pl.canRedact, false);\n assert.equal(pl.canRedactFromSender(alice), false);\n assert.equal(pl.canSendType(\"m.room.message\"), false);\n },\n }\n}\n","/*\nCopyright 2020 Bruno Windels \n\nLicensed under the Apache License, Version 2.0 (the \"License\");\nyou may not use this file except in compliance with the License.\nYou may obtain a copy of the License at\n\n http://www.apache.org/licenses/LICENSE-2.0\n\nUnless required by applicable law or agreed to in writing, software\ndistributed under the License is distributed on an \"AS IS\" BASIS,\nWITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\nSee the License for the specific language governing permissions and\nlimitations under the License.\n*/\n\nimport {EventEmitter} from \"../../utils/EventEmitter\";\nimport {RoomSummary} from \"./RoomSummary.js\";\nimport {GapWriter} from \"./timeline/persistence/GapWriter.js\";\nimport {RelationWriter} from \"./timeline/persistence/RelationWriter.js\";\nimport {Timeline} from \"./timeline/Timeline.js\";\nimport {FragmentIdComparer} from \"./timeline/FragmentIdComparer.js\";\nimport {WrappedError} from \"../error.js\"\nimport {fetchOrLoadMembers, fetchOrLoadMember} from \"./members/load.js\";\nimport {MemberList} from \"./members/MemberList.js\";\nimport {Heroes} from \"./members/Heroes.js\";\nimport {EventEntry} from \"./timeline/entries/EventEntry.js\";\nimport {ObservedEventMap} from \"./ObservedEventMap.js\";\nimport {DecryptionSource} from \"../e2ee/common.js\";\nimport {ensureLogItem} from \"../../logging/utils\";\nimport {PowerLevels} from \"./PowerLevels.js\";\nimport {RetainedObservableValue} from \"../../observable/ObservableValue\";\nimport {TimelineReader} from \"./timeline/persistence/TimelineReader\";\n\nconst EVENT_ENCRYPTED_TYPE = \"m.room.encrypted\";\n\nexport class BaseRoom extends EventEmitter {\n constructor({roomId, storage, hsApi, mediaRepository, emitCollectionChange, user, createRoomEncryption, getSyncToken, platform}) {\n super();\n this._roomId = roomId;\n this._storage = storage;\n this._hsApi = hsApi;\n this._mediaRepository = mediaRepository;\n this._summary = new RoomSummary(roomId);\n this._fragmentIdComparer = new FragmentIdComparer([]);\n this._emitCollectionChange = emitCollectionChange;\n this._timeline = null;\n this._user = user;\n this._changedMembersDuringSync = null;\n this._memberList = null;\n this._createRoomEncryption = createRoomEncryption;\n this._roomEncryption = null;\n this._getSyncToken = getSyncToken;\n this._platform = platform;\n this._observedEvents = null;\n this._powerLevels = null;\n this._powerLevelLoading = null;\n this._observedMembers = null;\n }\n\n async _eventIdsToEntries(eventIds, txn) {\n const retryEntries = [];\n await Promise.all(eventIds.map(async eventId => {\n const storageEntry = await txn.timelineEvents.getByEventId(this._roomId, eventId);\n if (storageEntry) {\n retryEntries.push(new EventEntry(storageEntry, this._fragmentIdComparer));\n }\n }));\n return retryEntries;\n }\n\n _getAdditionalTimelineRetryEntries(otherRetryEntries, roomKeys) {\n let retryTimelineEntries = this._roomEncryption.filterUndecryptedEventEntriesForKeys(this._timeline.remoteEntries, roomKeys);\n // filter out any entries already in retryEntries so we don't decrypt them twice\n const existingIds = otherRetryEntries.reduce((ids, e) => {ids.add(e.id); return ids;}, new Set());\n retryTimelineEntries = retryTimelineEntries.filter(e => !existingIds.has(e.id));\n return retryTimelineEntries;\n }\n\n /**\n * Used for retrying decryption from other sources than sync, like key backup.\n * @internal\n * @param {RoomKey} roomKey\n * @param {Array} eventIds any event ids that should be retried. There might be more in the timeline though for this key.\n * @return {Promise}\n */\n async notifyRoomKey(roomKey, eventIds, log) {\n if (!this._roomEncryption) {\n return;\n }\n const txn = await this._storage.readTxn([\n this._storage.storeNames.timelineEvents,\n this._storage.storeNames.inboundGroupSessions,\n ]);\n let retryEntries = await this._eventIdsToEntries(eventIds, txn);\n if (this._timeline) {\n const retryTimelineEntries = this._getAdditionalTimelineRetryEntries(retryEntries, [roomKey]);\n retryEntries = retryEntries.concat(retryTimelineEntries);\n }\n if (retryEntries.length) {\n const decryptRequest = this._decryptEntries(DecryptionSource.Retry, retryEntries, txn, log);\n // this will close txn while awaiting decryption\n await decryptRequest.complete();\n\n this._timeline?.replaceEntries(retryEntries);\n // we would ideally write the room summary in the same txn as the groupSessionDecryptions in the\n // _decryptEntries entries and could even know which events have been decrypted for the first\n // time from DecryptionChanges.write and only pass those to the summary. As timeline changes\n // are not essential to the room summary, it's fine to write this in a separate txn for now.\n const changes = this._summary.data.applyTimelineEntries(retryEntries, false, false);\n if (await this._summary.writeAndApplyData(changes, this._storage)) {\n this._emitUpdate();\n }\n }\n }\n\n _setEncryption(roomEncryption) {\n if (roomEncryption && !this._roomEncryption) {\n this._roomEncryption = roomEncryption;\n if (this._timeline) {\n this._timeline.enableEncryption(this._decryptEntries.bind(this, DecryptionSource.Timeline));\n }\n return true;\n }\n return false;\n }\n\n /**\n * Used for decrypting when loading/filling the timeline, and retrying decryption,\n * not during sync, where it is split up during the multiple phases.\n */\n _decryptEntries(source, entries, inboundSessionTxn, log = null) {\n const request = new DecryptionRequest(async (r, log) => {\n if (!inboundSessionTxn) {\n inboundSessionTxn = await this._storage.readTxn([this._storage.storeNames.inboundGroupSessions]);\n }\n if (r.cancelled) return;\n const events = entries.filter(entry => {\n return entry.eventType === EVENT_ENCRYPTED_TYPE;\n }).map(entry => entry.event);\n r.preparation = await this._roomEncryption.prepareDecryptAll(events, null, source, inboundSessionTxn);\n if (r.cancelled) return;\n const changes = await r.preparation.decrypt();\n r.preparation = null;\n if (r.cancelled) return;\n const stores = [this._storage.storeNames.groupSessionDecryptions];\n const isTimelineOpen = this._isTimelineOpen;\n if (isTimelineOpen) {\n // read to fetch devices if timeline is open\n stores.push(this._storage.storeNames.deviceIdentities);\n }\n const writeTxn = await this._storage.readWriteTxn(stores);\n let decryption;\n try {\n decryption = await changes.write(writeTxn, log);\n if (isTimelineOpen) {\n await decryption.verifySenders(writeTxn);\n }\n } catch (err) {\n writeTxn.abort();\n throw err;\n }\n await writeTxn.complete();\n // TODO: log decryption errors here\n decryption.applyToEntries(entries);\n if (this._observedEvents) {\n this._observedEvents.updateEvents(entries);\n }\n }, ensureLogItem(log));\n return request;\n }\n\n // TODO: move this to Room\n async _getSyncRetryDecryptEntries(newKeys, roomEncryption, txn) {\n const entriesPerKey = await Promise.all(newKeys.map(async key => {\n const retryEventIds = await roomEncryption.getEventIdsForMissingKey(key, txn);\n if (retryEventIds) {\n return this._eventIdsToEntries(retryEventIds, txn);\n }\n }));\n let retryEntries = entriesPerKey.reduce((allEntries, entries) => entries ? allEntries.concat(entries) : allEntries, []);\n // If we have the timeline open, see if there are more entries for the new keys\n // as we only store missing session information for synced events, not backfilled.\n // We want to decrypt all events we can though if the user is looking\n // at them when the timeline is open\n if (this._timeline) {\n const retryTimelineEntries = this._getAdditionalTimelineRetryEntries(retryEntries, newKeys);\n // make copies so we don't modify the original entry in writeSync, before the afterSync stage\n const retryTimelineEntriesCopies = retryTimelineEntries.map(e => e.clone());\n // add to other retry entries\n retryEntries = retryEntries.concat(retryTimelineEntriesCopies);\n }\n return retryEntries;\n }\n\n /** @package */\n async load(summary, txn, log) {\n log.set(\"id\", this.id);\n try {\n // if called from sync, there is no summary yet\n if (summary) {\n this._summary.load(summary);\n }\n if (this._summary.data.encryption) {\n const roomEncryption = this._createRoomEncryption(this, this._summary.data.encryption);\n this._setEncryption(roomEncryption);\n }\n // need to load members for name?\n if (this._summary.data.needsHeroes) {\n this._heroes = new Heroes(this._roomId);\n const changes = await this._heroes.calculateChanges(this._summary.data.heroes, [], txn);\n this._heroes.applyChanges(changes, this._summary.data, log);\n }\n } catch (err) {\n throw new WrappedError(`Could not load room ${this._roomId}`, err);\n }\n }\n\n async observeMember(userId) {\n if (!this._observedMembers) {\n this._observedMembers = new Map();\n }\n const mapMember = this._observedMembers.get(userId);\n if (mapMember) {\n // Hit, we're already observing this member\n return mapMember;\n }\n // Miss, load from storage/hs and set in map\n const member = await fetchOrLoadMember({\n summary: this._summary,\n roomId: this._roomId,\n userId,\n storage: this._storage,\n hsApi: this._hsApi\n }, this._platform.logger);\n if (!member) {\n return null;\n }\n const observableMember = new RetainedObservableValue(member, () => this._observedMembers.delete(userId));\n this._observedMembers.set(userId, observableMember);\n return observableMember;\n }\n\n\n /** @public */\n async loadMemberList(txn = undefined, log = null) {\n if (this._memberList) {\n // TODO: also await fetchOrLoadMembers promise here\n this._memberList.retain();\n return this._memberList;\n } else {\n const members = await fetchOrLoadMembers({\n summary: this._summary,\n roomId: this._roomId,\n hsApi: this._hsApi,\n storage: this._storage,\n // pass in a transaction if we know we won't need to fetch (which would abort the transaction)\n // and we want to make this operation part of the larger transaction\n txn,\n syncToken: this._getSyncToken(),\n // to handle race between /members and /sync\n setChangedMembersMap: map => this._changedMembersDuringSync = map,\n log,\n }, this._platform.logger);\n this._memberList = new MemberList({\n members,\n closeCallback: () => { this._memberList = null; }\n });\n return this._memberList;\n }\n } \n\n /** @public */\n fillGap(fragmentEntry, amount, log = null) {\n // TODO move some/all of this out of BaseRoom\n return this._platform.logger.wrapOrRun(log, \"fillGap\", async log => {\n log.set(\"id\", this.id);\n log.set(\"fragment\", fragmentEntry.fragmentId);\n log.set(\"dir\", fragmentEntry.direction.asApiString());\n if (fragmentEntry.edgeReached) {\n log.set(\"edgeReached\", true);\n return;\n }\n const response = await this._hsApi.messages(this._roomId, {\n from: fragmentEntry.token,\n dir: fragmentEntry.direction.asApiString(),\n limit: amount,\n filter: {\n lazy_load_members: true,\n include_redundant_members: true,\n }\n }, {log}).response();\n\n const txn = await this._storage.readWriteTxn([\n this._storage.storeNames.pendingEvents,\n this._storage.storeNames.timelineEvents,\n this._storage.storeNames.timelineRelations,\n this._storage.storeNames.timelineFragments,\n ]);\n let extraGapFillChanges;\n let gapResult;\n try {\n // detect remote echos of pending messages in the gap\n extraGapFillChanges = await this._writeGapFill(response.chunk, txn, log);\n // write new events into gap\n const relationWriter = new RelationWriter({\n roomId: this._roomId,\n fragmentIdComparer: this._fragmentIdComparer,\n ownUserId: this._user.id,\n });\n const gapWriter = new GapWriter({\n roomId: this._roomId,\n storage: this._storage,\n fragmentIdComparer: this._fragmentIdComparer,\n relationWriter\n });\n gapResult = await gapWriter.writeFragmentFill(fragmentEntry, response, txn, log);\n } catch (err) {\n txn.abort();\n throw err;\n }\n await txn.complete();\n if (this._roomEncryption) {\n const decryptRequest = this._decryptEntries(DecryptionSource.Timeline, gapResult.entries, null, log);\n await decryptRequest.complete();\n }\n // once txn is committed, update in-memory state & emit events\n for (const fragment of gapResult.fragments) {\n this._fragmentIdComparer.add(fragment);\n }\n if (extraGapFillChanges) {\n this._applyGapFill(extraGapFillChanges);\n }\n if (this._timeline) {\n // these should not be added if not already there\n this._timeline.replaceEntries(gapResult.updatedEntries);\n this._timeline.addEntries(gapResult.entries);\n }\n });\n }\n\n /**\n allow sub classes to integrate in the gap fill lifecycle.\n JoinedRoom uses this update remote echos.\n */\n // eslint-disable-next-line no-unused-vars\n async _writeGapFill(chunk, txn, log) {}\n _applyGapFill() {}\n\n /** @public */\n get name() {\n if (this._heroes) {\n return this._heroes.roomName;\n }\n const summaryData = this._summary.data;\n if (summaryData.name) {\n return summaryData.name;\n }\n if (summaryData.canonicalAlias) {\n return summaryData.canonicalAlias;\n }\n return null;\n }\n\n /** @public */\n get id() {\n return this._roomId;\n }\n\n get avatarUrl() {\n if (this._summary.data.avatarUrl) {\n return this._summary.data.avatarUrl;\n } else if (this._heroes) {\n return this._heroes.roomAvatarUrl;\n }\n return null;\n }\n\n /**\n * Retrieve the identifier that should be used to color\n * this room's avatar. By default this is the room's\n * ID, but DM rooms should be the same color as their\n * user's avatar.\n */\n get avatarColorId() {\n return this._roomId;\n }\n\n get lastMessageTimestamp() {\n return this._summary.data.lastMessageTimestamp;\n }\n\n get isLowPriority() {\n const tags = this._summary.data.tags;\n return !!(tags && tags['m.lowpriority']);\n }\n\n get isEncrypted() {\n return !!this._summary.data.encryption;\n }\n\n get isJoined() {\n return this.membership === \"join\";\n }\n\n get isLeft() {\n return this.membership === \"leave\";\n }\n\n get canonicalAlias() {\n return this._summary.data.canonicalAlias;\n }\n\n get joinedMemberCount() {\n return this._summary.data.joinCount;\n }\n\n get mediaRepository() {\n return this._mediaRepository;\n }\n\n get membership() {\n return this._summary.data.membership;\n }\n\n isDirectMessageForUserId(userId) {\n if (this._summary.data.dmUserId === userId) {\n return true;\n } else {\n // fall back to considering any room a DM containing heroes (e.g. no name) and 2 members,\n // on of which the userId we're looking for.\n // We need this because we're not yet processing m.direct account data correctly.\n const {heroes, joinCount, inviteCount} = this._summary.data;\n if (heroes && heroes.includes(userId) && (joinCount + inviteCount) === 2) {\n return true;\n }\n }\n return false;\n }\n\n async _loadPowerLevels() {\n const txn = await this._storage.readTxn([this._storage.storeNames.roomState]);\n const powerLevelsState = await txn.roomState.get(this._roomId, \"m.room.power_levels\", \"\");\n if (powerLevelsState) {\n return new PowerLevels({\n powerLevelEvent: powerLevelsState.event,\n ownUserId: this._user.id,\n membership: this.membership\n });\n }\n const createState = await txn.roomState.get(this._roomId, \"m.room.create\", \"\");\n if (createState) {\n return new PowerLevels({\n createEvent: createState.event,\n ownUserId: this._user.id,\n membership: this.membership\n });\n } else {\n const membership = this.membership;\n return new PowerLevels({ownUserId: this._user.id, membership});\n }\n }\n\n /**\n * Get the PowerLevels of the room.\n * Always subscribe to the value returned by this method.\n * @returns {RetainedObservableValue} PowerLevels of the room\n */\n async observePowerLevels() {\n if (this._powerLevelLoading) { await this._powerLevelLoading; }\n let observable = this._powerLevels;\n if (!observable) {\n this._powerLevelLoading = this._loadPowerLevels();\n const powerLevels = await this._powerLevelLoading;\n observable = new RetainedObservableValue(powerLevels, () => { this._powerLevels = null; });\n this._powerLevels = observable;\n this._powerLevelLoading = null;\n }\n return observable;\n }\n\n enableKeyBackup(keyBackup) {\n this._roomEncryption?.enableKeyBackup(keyBackup);\n // TODO: do we really want to do this every time you open the app?\n if (this._timeline && keyBackup) {\n this._platform.logger.run(\"enableKeyBackup\", log => {\n return this._roomEncryption.restoreMissingSessionsFromBackup(this._timeline.remoteEntries, log);\n });\n }\n }\n\n get _isTimelineOpen() {\n return !!this._timeline;\n }\n\n _emitUpdate() {\n // once for event emitter listeners\n this.emit(\"change\");\n // and once for collection listeners\n this._emitCollectionChange(this);\n }\n\n /** @public */\n openTimeline(log = null) {\n return this._platform.logger.wrapOrRun(log, \"open timeline\", async log => {\n log.set(\"id\", this.id);\n if (this._timeline) {\n throw new Error(\"not dealing with load race here for now\");\n }\n this._timeline = new Timeline({\n roomId: this.id,\n storage: this._storage,\n fragmentIdComparer: this._fragmentIdComparer,\n pendingEvents: this._getPendingEvents(),\n closeCallback: () => {\n this._timeline = null;\n if (this._roomEncryption) {\n this._roomEncryption.notifyTimelineClosed();\n }\n },\n clock: this._platform.clock,\n logger: this._platform.logger,\n powerLevelsObservable: await this.observePowerLevels(),\n hsApi: this._hsApi\n });\n try {\n if (this._roomEncryption) {\n this._timeline.enableEncryption(this._decryptEntries.bind(this, DecryptionSource.Timeline));\n }\n await this._timeline.load(this._user, this.membership, log);\n } catch (err) {\n // this also clears this._timeline in the closeCallback\n this._timeline.dispose();\n throw err;\n }\n return this._timeline;\n });\n }\n\n /* allow subclasses to provide an observable list with pending events when opening the timeline */\n _getPendingEvents() { return null; }\n\n observeEvent(eventId) {\n if (!this._observedEvents) {\n this._observedEvents = new ObservedEventMap(() => {\n this._observedEvents = null;\n });\n }\n let entry = null;\n if (this._timeline) {\n entry = this._timeline.getByEventId(eventId);\n }\n const observable = this._observedEvents.observe(eventId, entry);\n if (!entry) {\n // update in the background\n this._readEventById(eventId).then(entry => {\n observable.update(entry);\n }).catch(err => {\n console.warn(`could not load event ${eventId} from storage`, err);\n });\n }\n return observable;\n }\n\n async _readEventById(eventId) {\n const reader = new TimelineReader({ roomId: this._roomId, storage: this._storage, fragmentIdComparer: this._fragmentIdComparer });\n const entry = await reader.readById(eventId);\n return entry;\n }\n\n dispose() {\n this._roomEncryption?.dispose();\n this._timeline?.dispose();\n }\n}\n\nclass DecryptionRequest {\n constructor(decryptFn, log) {\n this._cancelled = false;\n this.preparation = null;\n this._promise = log.wrap(\"decryptEntries\", log => decryptFn(this, log));\n }\n\n complete() {\n return this._promise;\n }\n\n get cancelled() {\n return this._cancelled;\n }\n\n dispose() {\n this._cancelled = true;\n if (this.preparation) {\n this.preparation.dispose();\n }\n }\n}\n","/*\nCopyright 2020 Bruno Windels \nCopyright 2020 The Matrix.org Foundation C.I.C.\n\nLicensed under the Apache License, Version 2.0 (the \"License\");\nyou may not use this file except in compliance with the License.\nYou may obtain a copy of the License at\n\n http://www.apache.org/licenses/LICENSE-2.0\n\nUnless required by applicable law or agreed to in writing, software\ndistributed under the License is distributed on an \"AS IS\" BASIS,\nWITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\nSee the License for the specific language governing permissions and\nlimitations under the License.\n*/\n\nexport function makeTxnId() {\n const n = Math.floor(Math.random() * Number.MAX_SAFE_INTEGER);\n const str = n.toString(16);\n return \"t\" + \"0\".repeat(14 - str.length) + str;\n}\n\nexport function isTxnId(txnId) {\n\treturn txnId.startsWith(\"t\") && txnId.length === 15;\n}\n\nexport function tests() {\n\treturn {\n\t\t\"isTxnId succeeds on result of makeTxnId\": assert => {\n\t\t\tassert(isTxnId(makeTxnId()));\n\t\t},\n\t\t\"isTxnId fails on event id\": assert => {\n\t\t\tassert(!isTxnId(\"$yS_n5n3cIO2aTtek0_2ZSlv-7g4YYR2zKrk2mFCW_rm\"));\n\t\t},\n\t}\n}\n","/*\nCopyright 2020 Bruno Windels \n\nLicensed under the Apache License, Version 2.0 (the \"License\");\nyou may not use this file except in compliance with the License.\nYou may obtain a copy of the License at\n\n http://www.apache.org/licenses/LICENSE-2.0\n\nUnless required by applicable law or agreed to in writing, software\ndistributed under the License is distributed on an \"AS IS\" BASIS,\nWITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\nSee the License for the specific language governing permissions and\nlimitations under the License.\n*/\n\nimport {SortedArray} from \"../../../observable/list/SortedArray\";\nimport {ConnectionError} from \"../../error.js\";\nimport {PendingEvent, SendStatus} from \"./PendingEvent.js\";\nimport {makeTxnId, isTxnId} from \"../../common.js\";\nimport {REDACTION_TYPE} from \"../common\";\nimport {getRelationFromContent, getRelationTarget, setRelationTarget, REACTION_TYPE, ANNOTATION_RELATION_TYPE} from \"../timeline/relations.js\";\n\nexport class SendQueue {\n constructor({roomId, storage, hsApi, pendingEvents}) {\n pendingEvents = pendingEvents || [];\n this._roomId = roomId;\n this._storage = storage;\n this._hsApi = hsApi;\n this._pendingEvents = new SortedArray((a, b) => a.queueIndex - b.queueIndex);\n this._pendingEvents.setManyUnsorted(pendingEvents.map(data => this._createPendingEvent(data)));\n this._isSending = false;\n this._offline = false;\n this._roomEncryption = null;\n this._currentQueueIndex = 0;\n }\n\n _createPendingEvent(data, attachments = null) {\n const pendingEvent = new PendingEvent({\n data,\n remove: () => this._removeEvent(pendingEvent),\n emitUpdate: params => this._pendingEvents.update(pendingEvent, params),\n attachments\n });\n return pendingEvent;\n }\n\n enableEncryption(roomEncryption) {\n this._roomEncryption = roomEncryption;\n }\n\n _sendLoop(log) {\n this._isSending = true;\n this._sendLoopLogItem = log.runDetached(\"send queue flush\", async log => {\n try {\n for (const pendingEvent of this._pendingEvents) {\n await log.wrap(\"send event\", async log => {\n log.set(\"queueIndex\", pendingEvent.queueIndex);\n try {\n this._currentQueueIndex = pendingEvent.queueIndex;\n await this._sendEvent(pendingEvent, log);\n } catch(err) {\n if (err instanceof ConnectionError) {\n this._offline = true;\n log.set(\"offline\", true);\n pendingEvent.setWaiting();\n } else {\n log.catch(err);\n const isPermanentError = err.name === \"HomeServerError\" && (\n err.statusCode === 400 || // bad request, must be a bug on our end\n err.statusCode === 403 || // forbidden\n err.statusCode === 404 // not found\n );\n if (isPermanentError) {\n log.set(\"remove\", true);\n await pendingEvent.abort();\n } else {\n pendingEvent.setError(err);\n }\n }\n } finally {\n this._currentQueueIndex = 0;\n }\n });\n }\n } finally {\n this._isSending = false;\n this._sendLoopLogItem = null;\n }\n });\n }\n\n async _sendEvent(pendingEvent, log) {\n if (pendingEvent.needsUpload) {\n await log.wrap(\"upload attachments\", log => pendingEvent.uploadAttachments(this._hsApi, log));\n await this._tryUpdateEvent(pendingEvent);\n }\n if (pendingEvent.needsEncryption) {\n pendingEvent.setEncrypting();\n const encryptionContent = pendingEvent.contentForEncryption;\n const {type, content} = await log.wrap(\"encrypt\", log => this._roomEncryption.encrypt(\n pendingEvent.eventType, encryptionContent, this._hsApi, log));\n pendingEvent.setEncrypted(type, content);\n await this._tryUpdateEvent(pendingEvent);\n }\n if (pendingEvent.needsSending) {\n await pendingEvent.send(this._hsApi, log);\n // we now have a remoteId, but this pending event may be removed at any point in the future\n // (or past, so can't assume it still exists) once the remote echo comes in.\n // So if we have any related events that need to resolve the relatedTxnId to a related event id,\n // they need to do so now.\n // We ensure this by writing the new remote id for the pending event and all related events\n // with unresolved relatedTxnId in the queue in one transaction.\n const txn = await this._storage.readWriteTxn([this._storage.storeNames.pendingEvents]);\n try {\n await this._tryUpdateEventWithTxn(pendingEvent, txn);\n await this._resolveRemoteIdInPendingRelations(\n pendingEvent.txnId, pendingEvent.remoteId, txn);\n } catch (err) {\n txn.abort();\n throw err;\n }\n await txn.complete();\n }\n }\n\n async _resolveRemoteIdInPendingRelations(txnId, remoteId, txn) {\n const relatedEventWithoutRemoteId = this._pendingEvents.array.filter(pe => {\n return pe.relatedTxnId === txnId && pe.relatedEventId !== remoteId;\n });\n for (const relatedPE of relatedEventWithoutRemoteId) {\n relatedPE.setRelatedEventId(remoteId);\n await this._tryUpdateEventWithTxn(relatedPE, txn);\n }\n return relatedEventWithoutRemoteId;\n }\n\n async removeRemoteEchos(events, txn, parentLog) {\n const removed = [];\n for (const event of events) {\n const txnId = event.unsigned && event.unsigned.transaction_id;\n let idx;\n if (txnId) {\n idx = this._pendingEvents.array.findIndex(pe => pe.txnId === txnId);\n } else {\n idx = this._pendingEvents.array.findIndex(pe => pe.remoteId === event.event_id);\n }\n if (idx !== -1) {\n const pendingEvent = this._pendingEvents.get(idx);\n const remoteId = event.event_id;\n parentLog.log({l: \"removeRemoteEcho\", queueIndex: pendingEvent.queueIndex, remoteId, txnId});\n txn.pendingEvents.remove(pendingEvent.roomId, pendingEvent.queueIndex);\n removed.push(pendingEvent);\n await this._resolveRemoteIdInPendingRelations(txnId, remoteId, txn);\n }\n }\n return removed;\n }\n\n async _removeEvent(pendingEvent) {\n let hasEvent = this._pendingEvents.array.indexOf(pendingEvent) !== -1;\n if (hasEvent) {\n const txn = await this._storage.readWriteTxn([this._storage.storeNames.pendingEvents]);\n try {\n txn.pendingEvents.remove(pendingEvent.roomId, pendingEvent.queueIndex);\n } catch (err) {\n txn.abort();\n }\n await txn.complete();\n // lookup index after async txn is complete,\n // to make sure we're not racing with anything\n const idx = this._pendingEvents.array.indexOf(pendingEvent);\n if (idx !== -1) {\n this._pendingEvents.remove(idx);\n }\n }\n pendingEvent.dispose();\n }\n\n emitRemovals(pendingEvents) {\n for (const pendingEvent of pendingEvents) {\n const idx = this._pendingEvents.array.indexOf(pendingEvent);\n if (idx !== -1) {\n this._pendingEvents.remove(idx);\n }\n pendingEvent.dispose();\n }\n }\n\n resumeSending(parentLog) {\n this._offline = false;\n if (this._pendingEvents.length) {\n parentLog.wrap(\"resumeSending\", log => {\n log.set(\"id\", this._roomId);\n log.set(\"pendingEvents\", this._pendingEvents.length);\n if (!this._isSending) {\n this._sendLoop(log);\n }\n if (this._sendLoopLogItem) {\n log.refDetached(this._sendLoopLogItem);\n }\n });\n }\n }\n\n async enqueueEvent(eventType, content, attachments, log) {\n const relation = getRelationFromContent(content);\n let relatedTxnId = null;\n if (relation) {\n const relationTarget = getRelationTarget(relation);\n if (isTxnId(relationTarget)) {\n relatedTxnId = relationTarget;\n setRelationTarget(relation, null);\n }\n if (relation.rel_type === ANNOTATION_RELATION_TYPE) {\n // Here we know the shape of the relation, and can use event_id safely\n const isAlreadyAnnotating = this._pendingEvents.array.some(pe => {\n const r = getRelationFromContent(pe.content);\n return pe.eventType === eventType && r && r.key === relation.key &&\n (pe.relatedTxnId === relatedTxnId || r.event_id === relation.event_id);\n });\n if (isAlreadyAnnotating) {\n log.set(\"already_annotating\", true);\n return;\n }\n }\n }\n await this._enqueueEvent(eventType, content, attachments, relatedTxnId, null, log);\n }\n\n async _enqueueEvent(eventType, content, attachments, relatedTxnId, relatedEventId, log) {\n const pendingEvent = await this._createAndStoreEvent(eventType, content, relatedTxnId, relatedEventId, attachments);\n this._pendingEvents.set(pendingEvent);\n log.set(\"queueIndex\", pendingEvent.queueIndex);\n log.set(\"pendingEvents\", this._pendingEvents.length);\n if (!this._isSending && !this._offline) {\n this._sendLoop(log);\n }\n if (this._sendLoopLogItem) {\n log.refDetached(this._sendLoopLogItem);\n }\n }\n\n async enqueueRedaction(eventIdOrTxnId, reason, log) {\n const isAlreadyRedacting = this._pendingEvents.array.some(pe => {\n return pe.eventType === REDACTION_TYPE &&\n (pe.relatedTxnId === eventIdOrTxnId || pe.relatedEventId === eventIdOrTxnId);\n });\n if (isAlreadyRedacting) {\n log.set(\"already_redacting\", true);\n return;\n }\n let relatedTxnId;\n let relatedEventId;\n if (isTxnId(eventIdOrTxnId)) {\n relatedTxnId = eventIdOrTxnId;\n const txnId = eventIdOrTxnId;\n const pe = this._pendingEvents.array.find(pe => pe.txnId === txnId);\n if (pe && !pe.remoteId && pe.status !== SendStatus.Sending) {\n // haven't started sending this event yet,\n // just remove it from the queue\n log.set(\"remove\", relatedTxnId);\n await pe.abort();\n return;\n } else if (pe) {\n relatedEventId = pe.remoteId;\n } else {\n // we don't have the pending event anymore,\n // the remote echo must have arrived in the meantime.\n // we could look for it in the timeline, but for now\n // we don't do anything as this race is quite unlikely\n // and a bit complicated to fix.\n return;\n }\n } else {\n relatedEventId = eventIdOrTxnId;\n const pe = this._pendingEvents.array.find(pe => pe.remoteId === relatedEventId);\n if (pe) {\n // also set the txn id just in case that an event id was passed\n // for relating to a pending event that is still waiting for the remote echo\n relatedTxnId = pe.txnId;\n }\n }\n log.set(\"relatedTxnId\", relatedTxnId);\n log.set(\"relatedEventId\", relatedEventId);\n await this._enqueueEvent(REDACTION_TYPE, {reason}, null, relatedTxnId, relatedEventId, log);\n }\n\n get pendingEvents() {\n return this._pendingEvents;\n }\n\n async _tryUpdateEvent(pendingEvent) {\n const txn = await this._storage.readWriteTxn([this._storage.storeNames.pendingEvents]);\n try {\n this._tryUpdateEventWithTxn(pendingEvent, txn);\n } catch (err) {\n txn.abort();\n throw err;\n }\n await txn.complete();\n }\n\n async _tryUpdateEventWithTxn(pendingEvent, txn) {\n // pendingEvent might have been removed already here\n // by a racing remote echo, so check first so we don't recreate it\n if (await txn.pendingEvents.exists(pendingEvent.roomId, pendingEvent.queueIndex)) {\n txn.pendingEvents.update(pendingEvent.data);\n }\n }\n\n async _createAndStoreEvent(eventType, content, relatedTxnId, relatedEventId, attachments) {\n const txn = await this._storage.readWriteTxn([this._storage.storeNames.pendingEvents]);\n let pendingEvent;\n try {\n const pendingEventsStore = txn.pendingEvents;\n const maxStorageQueueIndex = await pendingEventsStore.getMaxQueueIndex(this._roomId) || 0;\n // don't use the queueIndex of the pendingEvent currently waiting for /send to return\n // if the remote echo already removed the pendingEvent in storage, as the send loop\n // wouldn't be able to detect the remote echo already arrived and end up overwriting the new event\n const maxQueueIndex = Math.max(maxStorageQueueIndex, this._currentQueueIndex);\n const queueIndex = maxQueueIndex + 1;\n const needsEncryption = eventType !== REDACTION_TYPE &&\n eventType !== REACTION_TYPE &&\n !!this._roomEncryption;\n pendingEvent = this._createPendingEvent({\n roomId: this._roomId,\n queueIndex,\n eventType,\n content,\n relatedTxnId,\n relatedEventId,\n txnId: makeTxnId(),\n needsEncryption,\n needsUpload: !!attachments\n }, attachments);\n pendingEventsStore.add(pendingEvent.data);\n } catch (err) {\n txn.abort();\n throw err;\n }\n await txn.complete();\n return pendingEvent;\n }\n\n dispose() {\n for (const pe of this._pendingEvents) {\n pe.dispose();\n }\n }\n}\n\nimport {HomeServer as MockHomeServer} from \"../../../mocks/HomeServer.js\";\nimport {createMockStorage} from \"../../../mocks/Storage\";\nimport {ListObserver} from \"../../../mocks/ListObserver.js\";\nimport {NullLogger, NullLogItem} from \"../../../logging/NullLogger\";\nimport {createEvent, withTextBody, withTxnId} from \"../../../mocks/event.js\";\nimport {poll} from \"../../../mocks/poll.js\";\nimport {createAnnotation} from \"../timeline/relations.js\";\n\nexport function tests() {\n const logger = new NullLogger();\n return {\n \"enqueue second message when remote echo of first arrives before /send returns\": async assert => {\n const storage = await createMockStorage();\n const hs = new MockHomeServer();\n // 1. enqueue and start send event 1\n const queue = new SendQueue({roomId: \"!abc\", storage, hsApi: hs.api});\n const event1 = withTextBody(\"message 1\", createEvent(\"m.room.message\", \"$123\"));\n await logger.run(\"event1\", log => queue.enqueueEvent(event1.type, event1.content, null, log));\n assert.equal(queue.pendingEvents.length, 1);\n const sendRequest1 = hs.requests.send[0];\n // 2. receive remote echo, before /send has returned\n const remoteEcho = withTxnId(sendRequest1.arguments[2], event1);\n const txn = await storage.readWriteTxn([storage.storeNames.pendingEvents]);\n const removal = await logger.run(\"remote echo\", log => queue.removeRemoteEchos([remoteEcho], txn, log));\n await txn.complete();\n assert.equal(removal.length, 1);\n queue.emitRemovals(removal);\n assert.equal(queue.pendingEvents.length, 0);\n // 3. now enqueue event 2\n const event2 = withTextBody(\"message 2\", createEvent(\"m.room.message\", \"$456\"));\n await logger.run(\"event2\", log => queue.enqueueEvent(event2.type, event2.content, null, log));\n // even though the first pending event has been removed by the remote echo,\n // the second should get the next index, as the send loop is still blocking on the first one\n assert.equal(Array.from(queue.pendingEvents)[0].queueIndex, 2);\n // 4. send for event 1 comes back\n sendRequest1.respond({event_id: event1.event_id});\n // 5. now expect second send request for event 2\n const sendRequest2 = await poll(() => hs.requests.send[1]);\n sendRequest2.respond({event_id: event2.event_id});\n await poll(() => !queue._isSending);\n },\n \"redaction of pending event that hasn't started sending yet aborts it\": async assert => {\n const queue = new SendQueue({\n roomId: \"!abc\",\n storage: await createMockStorage(),\n hsApi: new MockHomeServer().api\n });\n // first, enqueue a message that will be attempted to send, but we don't respond\n await queue.enqueueEvent(\"m.room.message\", {body: \"hello!\"}, null, new NullLogItem());\n\n const observer = new ListObserver();\n queue.pendingEvents.subscribe(observer);\n await queue.enqueueEvent(\"m.room.message\", {body: \"...world\"}, null, new NullLogItem());\n let txnId;\n {\n const {type, index, value} = await observer.next();\n assert.equal(type, \"add\");\n assert.equal(index, 1);\n assert.equal(typeof value.txnId, \"string\");\n txnId = value.txnId;\n }\n await queue.enqueueRedaction(txnId, null, new NullLogItem());\n {\n const {type, value, index} = await observer.next();\n assert.equal(type, \"remove\");\n assert.equal(index, 1);\n assert.equal(txnId, value.txnId);\n }\n },\n \"duplicate redaction gets dropped\": async assert => {\n const queue = new SendQueue({\n roomId: \"!abc\",\n storage: await createMockStorage(),\n hsApi: new MockHomeServer().api\n });\n assert.equal(queue.pendingEvents.length, 0);\n await queue.enqueueRedaction(\"!event\", null, new NullLogItem());\n assert.equal(queue.pendingEvents.length, 1);\n await queue.enqueueRedaction(\"!event\", null, new NullLogItem());\n assert.equal(queue.pendingEvents.length, 1);\n },\n \"duplicate reaction gets dropped\": async assert => {\n const queue = new SendQueue({\n roomId: \"!abc\",\n storage: await createMockStorage(),\n hsApi: new MockHomeServer().api\n });\n assert.equal(queue.pendingEvents.length, 0);\n await queue.enqueueEvent(\"m.reaction\", createAnnotation(\"!target\", \"🚀\"), null, new NullLogItem());\n assert.equal(queue.pendingEvents.length, 1);\n await queue.enqueueEvent(\"m.reaction\", createAnnotation(\"!target\", \"👋\"), null, new NullLogItem());\n assert.equal(queue.pendingEvents.length, 2);\n await queue.enqueueEvent(\"m.reaction\", createAnnotation(\"!target\", \"🚀\"), null, new NullLogItem());\n assert.equal(queue.pendingEvents.length, 2);\n },\n \n }\n}\n","/*\nCopyright 2020 The Matrix.org Foundation C.I.C.\n\nLicensed under the Apache License, Version 2.0 (the \"License\");\nyou may not use this file except in compliance with the License.\nYou may obtain a copy of the License at\n\n http://www.apache.org/licenses/LICENSE-2.0\n\nUnless required by applicable law or agreed to in writing, software\ndistributed under the License is distributed on an \"AS IS\" BASIS,\nWITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\nSee the License for the specific language governing permissions and\nlimitations under the License.\n*/\n\nimport {encryptAttachment} from \"../e2ee/attachment.js\";\n\nexport class AttachmentUpload {\n constructor({filename, blob, platform}) {\n this._filename = filename;\n // need to keep around for local preview while uploading\n this._unencryptedBlob = blob;\n this._transferredBlob = this._unencryptedBlob;\n this._platform = platform;\n this._mxcUrl = null;\n this._encryptionInfo = null;\n this._uploadRequest = null;\n this._aborted = false;\n this._error = null;\n this._sentBytes = 0;\n }\n\n /** important to call after encrypt() if encryption is needed */\n get size() {\n return this._transferredBlob.size;\n }\n\n get sentBytes() {\n return this._sentBytes;\n }\n\n abort() {\n this._uploadRequest?.abort();\n }\n\n get localPreview() {\n return this._unencryptedBlob;\n }\n\n /** @internal */\n async encrypt() {\n if (this._encryptionInfo) {\n throw new Error(\"already encrypted\");\n }\n const {info, blob} = await encryptAttachment(this._platform, this._transferredBlob);\n this._transferredBlob = blob;\n this._encryptionInfo = info;\n }\n\n /** @internal */\n async upload(hsApi, progressCallback, log) {\n this._uploadRequest = hsApi.uploadAttachment(this._transferredBlob, this._filename, {\n uploadProgress: sentBytes => {\n this._sentBytes = sentBytes;\n progressCallback();\n },\n log\n });\n const {content_uri} = await this._uploadRequest.response();\n this._mxcUrl = content_uri;\n }\n\n /** @internal */\n applyToContent(urlPath, content) {\n if (!this._mxcUrl) {\n throw new Error(\"upload has not finished\");\n }\n let prefix = urlPath.substr(0, urlPath.lastIndexOf(\"url\"));\n setPath(`${prefix}info.size`, content, this._transferredBlob.size);\n setPath(`${prefix}info.mimetype`, content, this._unencryptedBlob.mimeType);\n if (this._encryptionInfo) {\n setPath(`${prefix}file`, content, Object.assign(this._encryptionInfo, {\n mimetype: this._unencryptedBlob.mimeType,\n url: this._mxcUrl\n }));\n } else {\n setPath(`${prefix}url`, content, this._mxcUrl);\n }\n }\n\n dispose() {\n this._unencryptedBlob.dispose();\n this._transferredBlob.dispose();\n }\n}\n\nfunction setPath(path, content, value) {\n const parts = path.split(\".\");\n let obj = content;\n for (let i = 0; i < (parts.length - 1); i += 1) {\n const key = parts[i];\n if (!obj[key]) {\n obj[key] = {};\n }\n obj = obj[key];\n }\n const propKey = parts[parts.length - 1];\n obj[propKey] = value;\n}\n","/*\nCopyright 2020 Bruno Windels \n\nLicensed under the Apache License, Version 2.0 (the \"License\");\nyou may not use this file except in compliance with the License.\nYou may obtain a copy of the License at\n\n http://www.apache.org/licenses/LICENSE-2.0\n\nUnless required by applicable law or agreed to in writing, software\ndistributed under the License is distributed on an \"AS IS\" BASIS,\nWITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\nSee the License for the specific language governing permissions and\nlimitations under the License.\n*/\n\nimport {BaseRoom} from \"./BaseRoom.js\";\nimport {SyncWriter} from \"./timeline/persistence/SyncWriter.js\";\nimport {MemberWriter} from \"./timeline/persistence/MemberWriter.js\";\nimport {RelationWriter} from \"./timeline/persistence/RelationWriter.js\";\nimport {SendQueue} from \"./sending/SendQueue.js\";\nimport {WrappedError} from \"../error.js\"\nimport {Heroes} from \"./members/Heroes.js\";\nimport {AttachmentUpload} from \"./AttachmentUpload.js\";\nimport {DecryptionSource} from \"../e2ee/common.js\";\nimport {PowerLevels, EVENT_TYPE as POWERLEVELS_EVENT_TYPE } from \"./PowerLevels.js\";\n\nconst EVENT_ENCRYPTED_TYPE = \"m.room.encrypted\";\n\nexport class Room extends BaseRoom {\n constructor(options) {\n super(options);\n // TODO: pass pendingEvents to start like pendingOperations?\n const {pendingEvents} = options;\n const relationWriter = new RelationWriter({\n roomId: this.id,\n fragmentIdComparer: this._fragmentIdComparer,\n ownUserId: this._user.id\n });\n this._syncWriter = new SyncWriter({\n roomId: this.id,\n fragmentIdComparer: this._fragmentIdComparer,\n relationWriter,\n memberWriter: new MemberWriter(this.id)\n });\n this._sendQueue = new SendQueue({roomId: this.id, storage: this._storage, hsApi: this._hsApi, pendingEvents});\n }\n\n _setEncryption(roomEncryption) {\n if (super._setEncryption(roomEncryption)) {\n this._sendQueue.enableEncryption(this._roomEncryption);\n return true;\n }\n return false;\n }\n\n async prepareSync(roomResponse, membership, newKeys, txn, log) {\n log.set(\"id\", this.id);\n if (newKeys) {\n log.set(\"newKeys\", newKeys.length);\n }\n let summaryChanges = this._summary.data.applySyncResponse(roomResponse, membership, this._user.id);\n let roomEncryption = this._roomEncryption;\n // encryption is enabled in this sync\n if (!roomEncryption && summaryChanges.encryption) {\n log.set(\"enableEncryption\", true);\n roomEncryption = this._createRoomEncryption(this, summaryChanges.encryption);\n }\n\n let retryEntries;\n let decryptPreparation;\n if (roomEncryption) {\n let eventsToDecrypt = roomResponse?.timeline?.events || [];\n // when new keys arrive, also see if any older events can now be retried to decrypt\n if (newKeys) {\n // TODO: if a key is considered by roomEncryption.prepareDecryptAll to use for decryption,\n // key.eventIds will be set. We could somehow try to reuse that work, but retrying also needs\n // to happen if a key is not needed to decrypt this sync or there are indeed no encrypted messages\n // in this sync at all.\n retryEntries = await this._getSyncRetryDecryptEntries(newKeys, roomEncryption, txn);\n if (retryEntries.length) {\n log.set(\"retry\", retryEntries.length);\n eventsToDecrypt = eventsToDecrypt.concat(retryEntries.map(entry => entry.event));\n }\n }\n eventsToDecrypt = eventsToDecrypt.filter(event => {\n return event?.type === EVENT_ENCRYPTED_TYPE;\n });\n if (eventsToDecrypt.length) {\n decryptPreparation = await roomEncryption.prepareDecryptAll(\n eventsToDecrypt, newKeys, DecryptionSource.Sync, txn);\n }\n }\n\n return {\n roomEncryption,\n summaryChanges,\n decryptPreparation,\n decryptChanges: null,\n retryEntries\n };\n }\n\n async afterPrepareSync(preparation, parentLog) {\n if (preparation.decryptPreparation) {\n await parentLog.wrap(\"decrypt\", async log => {\n log.set(\"id\", this.id);\n preparation.decryptChanges = await preparation.decryptPreparation.decrypt();\n preparation.decryptPreparation = null;\n }, parentLog.level.Detail);\n }\n }\n\n /** @package */\n async writeSync(roomResponse, isInitialSync, {summaryChanges, decryptChanges, roomEncryption, retryEntries}, txn, log) {\n log.set(\"id\", this.id);\n const isRejoin = summaryChanges.isNewJoin(this._summary.data);\n if (isRejoin) {\n // remove all room state before calling syncWriter,\n // so no old state sticks around\n txn.roomState.removeAllForRoom(this.id);\n txn.roomMembers.removeAllForRoom(this.id);\n }\n const {entries: newEntries, updatedEntries, newLiveKey, memberChanges} =\n await log.wrap(\"syncWriter\", log => this._syncWriter.writeSync(\n roomResponse, isRejoin, summaryChanges.hasFetchedMembers, txn, log), log.level.Detail);\n if (decryptChanges) {\n const decryption = await log.wrap(\"decryptChanges\", log => decryptChanges.write(txn, log));\n log.set(\"decryptionResults\", decryption.results.size);\n log.set(\"decryptionErrors\", decryption.errors.size);\n if (this._isTimelineOpen) {\n await decryption.verifySenders(txn);\n }\n decryption.applyToEntries(newEntries);\n if (retryEntries?.length) {\n decryption.applyToEntries(retryEntries);\n updatedEntries.push(...retryEntries);\n }\n }\n log.set(\"newEntries\", newEntries.length);\n log.set(\"updatedEntries\", updatedEntries.length);\n let encryptionChanges;\n // pass member changes to device tracker\n if (roomEncryption) {\n encryptionChanges = await roomEncryption.writeSync(roomResponse, memberChanges, txn, log);\n log.set(\"shouldFlushKeyShares\", encryptionChanges.shouldFlush);\n }\n const allEntries = newEntries.concat(updatedEntries);\n // also apply (decrypted) timeline entries to the summary changes\n summaryChanges = summaryChanges.applyTimelineEntries(\n allEntries, isInitialSync, !this._isTimelineOpen, this._user.id);\n \n // if we've have left the room, remove the summary\n if (summaryChanges.membership !== \"join\") {\n txn.roomSummary.remove(this.id);\n } else {\n // write summary changes, and unset if nothing was actually changed\n summaryChanges = this._summary.writeData(summaryChanges, txn);\n }\n if (summaryChanges) {\n log.set(\"summaryChanges\", summaryChanges.changedKeys(this._summary.data));\n }\n // fetch new members while we have txn open,\n // but don't make any in-memory changes yet\n let heroChanges;\n // if any hero changes their display name, the summary in the room response\n // is also updated, which will trigger a RoomSummary update\n // and make summaryChanges non-falsy here\n if (summaryChanges?.needsHeroes) {\n // room name disappeared, open heroes\n if (!this._heroes) {\n this._heroes = new Heroes(this._roomId);\n }\n heroChanges = await this._heroes.calculateChanges(summaryChanges.heroes, memberChanges, txn);\n }\n let removedPendingEvents;\n if (Array.isArray(roomResponse.timeline?.events)) {\n removedPendingEvents = await this._sendQueue.removeRemoteEchos(roomResponse.timeline.events, txn, log);\n }\n const powerLevelsEvent = this._getPowerLevelsEvent(roomResponse);\n return {\n summaryChanges,\n roomEncryption,\n newEntries,\n updatedEntries,\n newLiveKey,\n removedPendingEvents,\n memberChanges,\n heroChanges,\n powerLevelsEvent,\n encryptionChanges,\n };\n }\n\n /**\n * @package\n * Called with the changes returned from `writeSync` to apply them and emit changes.\n * No storage or network operations should be done here.\n */\n afterSync(changes, log) {\n const {\n summaryChanges, newEntries, updatedEntries, newLiveKey,\n removedPendingEvents, memberChanges, powerLevelsEvent,\n heroChanges, roomEncryption, encryptionChanges\n } = changes;\n log.set(\"id\", this.id);\n this._syncWriter.afterSync(newLiveKey);\n this._setEncryption(roomEncryption);\n if (this._roomEncryption) {\n this._roomEncryption.afterSync(encryptionChanges);\n }\n if (memberChanges.size) {\n if (this._changedMembersDuringSync) {\n for (const [userId, memberChange] of memberChanges.entries()) {\n this._changedMembersDuringSync.set(userId, memberChange.member);\n }\n }\n if (this._memberList) {\n this._memberList.afterSync(memberChanges);\n }\n if (this._observedMembers) {\n this._updateObservedMembers(memberChanges);\n }\n if (this._timeline) {\n for (const [userId, memberChange] of memberChanges.entries()) {\n if (userId === this._user.id) {\n this._timeline.updateOwnMember(memberChange.member);\n break;\n }\n }\n }\n }\n let emitChange = false;\n if (summaryChanges) {\n this._summary.applyChanges(summaryChanges);\n if (!this._summary.data.needsHeroes) {\n this._heroes = null;\n }\n emitChange = true;\n }\n if (this._heroes && heroChanges) {\n const oldName = this.name;\n this._heroes.applyChanges(heroChanges, this._summary.data, log);\n if (oldName !== this.name) {\n emitChange = true;\n }\n }\n if (powerLevelsEvent) {\n this._updatePowerLevels(powerLevelsEvent);\n }\n if (emitChange) {\n this._emitUpdate();\n }\n if (this._timeline) {\n // these should not be added if not already there\n this._timeline.replaceEntries(updatedEntries);\n this._timeline.addEntries(newEntries);\n }\n if (this._observedEvents) {\n this._observedEvents.updateEvents(updatedEntries);\n this._observedEvents.updateEvents(newEntries);\n }\n if (removedPendingEvents) {\n this._sendQueue.emitRemovals(removedPendingEvents);\n }\n }\n\n _updateObservedMembers(memberChanges) {\n for (const [userId, memberChange] of memberChanges) {\n const observableMember = this._observedMembers.get(userId);\n if (observableMember) {\n observableMember.set(memberChange.member);\n }\n }\n }\n\n _getPowerLevelsEvent(roomResponse) {\n const isPowerlevelEvent = event => event.state_key === \"\" && event.type === POWERLEVELS_EVENT_TYPE;\n const powerLevelEvent = roomResponse.timeline?.events.find(isPowerlevelEvent) ?? roomResponse.state?.events.find(isPowerlevelEvent);\n return powerLevelEvent;\n }\n\n _updatePowerLevels(powerLevelEvent) {\n if (this._powerLevels) {\n const newPowerLevels = new PowerLevels({\n powerLevelEvent,\n ownUserId: this._user.id,\n membership: this.membership,\n });\n this._powerLevels.set(newPowerLevels);\n }\n }\n\n needsAfterSyncCompleted({encryptionChanges}) {\n return encryptionChanges?.shouldFlush;\n }\n\n /**\n * Only called if the result of writeSync had `needsAfterSyncCompleted` set.\n * Can be used to do longer running operations that resulted from the last sync,\n * like network operations.\n */\n async afterSyncCompleted(changes, log) {\n log.set(\"id\", this.id);\n if (this._roomEncryption) {\n await this._roomEncryption.flushPendingRoomKeyShares(this._hsApi, null, log);\n }\n }\n\n /** @package */\n start(pendingOperations, parentLog) {\n if (this._roomEncryption) {\n const roomKeyShares = pendingOperations?.get(\"share_room_key\");\n if (roomKeyShares) {\n // if we got interrupted last time sending keys to newly joined members\n parentLog.wrapDetached(\"flush room keys\", log => {\n log.set(\"id\", this.id);\n return this._roomEncryption.flushPendingRoomKeyShares(this._hsApi, roomKeyShares, log);\n });\n }\n }\n \n this._sendQueue.resumeSending(parentLog);\n }\n\n /** @package */\n async load(summary, txn, log) {\n try {\n await super.load(summary, txn, log);\n await this._syncWriter.load(txn, log);\n } catch (err) {\n throw new WrappedError(`Could not load room ${this._roomId}`, err);\n }\n }\n\n async _writeGapFill(gapChunk, txn, log) {\n const removedPendingEvents = await this._sendQueue.removeRemoteEchos(gapChunk, txn, log);\n return removedPendingEvents;\n }\n\n _applyGapFill(removedPendingEvents) {\n this._sendQueue.emitRemovals(removedPendingEvents);\n }\n\n /** @public */\n sendEvent(eventType, content, attachments, log = null) {\n return this._platform.logger.wrapOrRun(log, \"send\", log => {\n log.set(\"id\", this.id);\n return this._sendQueue.enqueueEvent(eventType, content, attachments, log);\n });\n }\n\n /** @public */\n sendRedaction(eventIdOrTxnId, reason, log = null) {\n return this._platform.logger.wrapOrRun(log, \"redact\", log => {\n log.set(\"id\", this.id);\n return this._sendQueue.enqueueRedaction(eventIdOrTxnId, reason, log);\n });\n }\n\n /** @public */\n async ensureMessageKeyIsShared(log = null) {\n if (!this._roomEncryption) {\n return;\n }\n return this._platform.logger.wrapOrRun(log, \"ensureMessageKeyIsShared\", log => {\n log.set(\"id\", this.id);\n return this._roomEncryption.ensureMessageKeyIsShared(this._hsApi, log);\n });\n }\n\n get avatarColorId() {\n return this._heroes?.roomAvatarColorId || this._roomId;\n }\n\n get isUnread() {\n return this._summary.data.isUnread;\n }\n\n get notificationCount() {\n return this._summary.data.notificationCount;\n }\n \n get highlightCount() {\n return this._summary.data.highlightCount;\n }\n\n get isTrackingMembers() {\n return this._summary.data.isTrackingMembers;\n }\n\n async _getLastEventId() {\n const lastKey = this._syncWriter.lastMessageKey;\n if (lastKey) {\n const txn = await this._storage.readTxn([\n this._storage.storeNames.timelineEvents,\n ]);\n const eventEntry = await txn.timelineEvents.get(this._roomId, lastKey);\n return eventEntry?.event?.event_id;\n }\n }\n\n async clearUnread(log = null) {\n if (this.isUnread || this.notificationCount) {\n return await this._platform.logger.wrapOrRun(log, \"clearUnread\", async log => {\n log.set(\"id\", this.id);\n const txn = await this._storage.readWriteTxn([\n this._storage.storeNames.roomSummary,\n ]);\n let data;\n try {\n data = this._summary.writeClearUnread(txn);\n } catch (err) {\n txn.abort();\n throw err;\n }\n await txn.complete();\n this._summary.applyChanges(data);\n this._emitUpdate();\n \n try {\n const lastEventId = await this._getLastEventId();\n if (lastEventId) {\n await this._hsApi.receipt(this._roomId, \"m.read\", lastEventId);\n }\n } catch (err) {\n // ignore ConnectionError\n if (err.name !== \"ConnectionError\") {\n throw err;\n }\n }\n });\n }\n }\n\n leave(log = null) {\n return this._platform.logger.wrapOrRun(log, \"leave room\", async log => {\n log.set(\"id\", this.id);\n await this._hsApi.leave(this.id, {log}).response();\n });\n }\n\n /* called by BaseRoom to pass pendingEvents when opening the timeline */\n _getPendingEvents() {\n return this._sendQueue.pendingEvents;\n }\n\n /** @package */\n writeIsTrackingMembers(value, txn) {\n return this._summary.writeIsTrackingMembers(value, txn);\n }\n\n /** @package */\n applyIsTrackingMembersChanges(changes) {\n this._summary.applyChanges(changes);\n }\n\n createAttachment(blob, filename) {\n return new AttachmentUpload({blob, filename, platform: this._platform});\n }\n\n dispose() {\n super.dispose();\n this._sendQueue.dispose();\n }\n}\n","/*\nCopyright 2020 Bruno Windels \n\nLicensed under the Apache License, Version 2.0 (the \"License\");\nyou may not use this file except in compliance with the License.\nYou may obtain a copy of the License at\n\n http://www.apache.org/licenses/LICENSE-2.0\n\nUnless required by applicable law or agreed to in writing, software\ndistributed under the License is distributed on an \"AS IS\" BASIS,\nWITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\nSee the License for the specific language governing permissions and\nlimitations under the License.\n*/\n\nimport {reduceStateEvents} from \"./RoomSummary.js\";\nimport {BaseRoom} from \"./BaseRoom.js\";\nimport {RoomMember, EVENT_TYPE as MEMBER_EVENT_TYPE} from \"./members/RoomMember.js\";\n\nexport class ArchivedRoom extends BaseRoom {\n constructor(options) {\n super(options);\n // archived rooms are reference counted,\n // as they are not kept in memory when not needed\n this._releaseCallback = options.releaseCallback;\n this._forgetCallback = options.forgetCallback;\n this._retentionCount = 1;\n /**\n Some details from our own member event when being kicked or banned.\n We can't get this from the member store, because we don't store the reason field there.\n */\n this._kickDetails = null;\n this._kickedBy = null;\n }\n\n retain() {\n this._retentionCount += 1;\n }\n\n release() {\n this._retentionCount -= 1;\n if (this._retentionCount === 0) {\n this._releaseCallback();\n }\n }\n\n async _getKickAuthor(sender, txn) {\n const senderMember = await txn.roomMembers.get(this.id, sender);\n if (senderMember) {\n return new RoomMember(senderMember);\n } else {\n return RoomMember.fromUserId(this.id, sender, \"join\");\n }\n }\n \n async load(archivedRoomSummary, txn, log) {\n const {summary, kickDetails} = archivedRoomSummary;\n this._kickDetails = kickDetails;\n if (this._kickDetails) {\n this._kickedBy = await this._getKickAuthor(this._kickDetails.sender, txn);\n }\n return super.load(summary, txn, log);\n }\n\n /** @package */\n async writeSync(joinedSummaryData, roomResponse, membership, txn, log) {\n log.set(\"id\", this.id);\n if (membership === \"leave\") {\n const newKickDetails = findKickDetails(roomResponse, this._user.id);\n if (newKickDetails || joinedSummaryData) {\n const kickDetails = newKickDetails || this._kickDetails;\n let kickedBy;\n if (newKickDetails) {\n kickedBy = await this._getKickAuthor(newKickDetails.sender, txn);\n }\n const summaryData = joinedSummaryData || this._summary.data;\n txn.archivedRoomSummary.set({\n summary: summaryData.serialize(),\n kickDetails,\n });\n return {kickDetails, kickedBy, summaryData};\n }\n } else if (membership === \"join\") {\n txn.archivedRoomSummary.remove(this.id);\n }\n // always return object\n return {};\n }\n\n /**\n * @package\n * Called with the changes returned from `writeSync` to apply them and emit changes.\n * No storage or network operations should be done here.\n */\n afterSync({summaryData, kickDetails, kickedBy}, log) {\n log.set(\"id\", this.id);\n if (summaryData) {\n this._summary.applyChanges(summaryData);\n }\n if (kickDetails) {\n this._kickDetails = kickDetails;\n }\n if (kickedBy) {\n this._kickedBy = kickedBy;\n }\n this._emitUpdate();\n }\n\n get isKicked() {\n return this._kickDetails?.membership === \"leave\";\n }\n\n get isBanned() {\n return this._kickDetails?.membership === \"ban\";\n }\n\n get kickedBy() {\n return this._kickedBy;\n }\n\n get kickReason() {\n return this._kickDetails?.reason;\n }\n\n isArchived() {\n return true;\n }\n\n forget(log = null) {\n return this._platform.logger.wrapOrRun(log, \"forget room\", async log => {\n log.set(\"id\", this.id);\n await this._hsApi.forget(this.id, {log}).response();\n const storeNames = this._storage.storeNames;\n const txn = await this._storage.readWriteTxn([\n storeNames.roomState,\n storeNames.archivedRoomSummary,\n storeNames.roomMembers,\n storeNames.timelineEvents,\n storeNames.timelineFragments,\n storeNames.timelineRelations,\n storeNames.pendingEvents,\n storeNames.inboundGroupSessions,\n storeNames.groupSessionDecryptions,\n storeNames.operations,\n ]);\n\n txn.roomState.removeAllForRoom(this.id);\n txn.archivedRoomSummary.remove(this.id);\n txn.roomMembers.removeAllForRoom(this.id);\n txn.timelineEvents.removeAllForRoom(this.id);\n txn.timelineFragments.removeAllForRoom(this.id);\n txn.timelineRelations.removeAllForRoom(this.id);\n txn.pendingEvents.removeAllForRoom(this.id);\n txn.inboundGroupSessions.removeAllForRoom(this.id);\n txn.groupSessionDecryptions.removeAllForRoom(this.id);\n await txn.operations.removeAllForScope(this.id);\n\n await txn.complete();\n\n this._retentionCount = 0;\n this._releaseCallback();\n \n this._forgetCallback(this.id);\n });\n }\n\n join(log = null) {\n return this._platform.logger.wrapOrRun(log, \"rejoin archived room\", async log => {\n await this._hsApi.join(this.id, {log}).response();\n });\n }\n}\n\nfunction findKickDetails(roomResponse, ownUserId) {\n const kickEvent = reduceStateEvents(roomResponse, (kickEvent, event) => {\n if (event.type === MEMBER_EVENT_TYPE) {\n // did we get kicked?\n if (event.state_key === ownUserId && event.sender !== event.state_key) {\n kickEvent = event;\n }\n }\n return kickEvent;\n }, null);\n if (kickEvent) {\n return {\n // this is different from the room membership in the sync section, which can only be leave\n membership: kickEvent.content?.membership, // could be leave or ban\n reason: kickEvent.content?.reason,\n sender: kickEvent.sender,\n };\n }\n}\n\nexport function tests() {\n function createMemberEvent(sender, target, membership, reason) {\n return {\n sender,\n state_key: target,\n type: \"m.room.member\",\n content: { reason, membership }\n };\n }\n const bob = \"@bob:hs.tld\";\n const alice = \"@alice:hs.tld\";\n\n return {\n \"ban/kick sets kickDetails from state event\": assert => {\n const reason = \"Bye!\";\n const leaveEvent = createMemberEvent(alice, bob, \"ban\", reason);\n const kickDetails = findKickDetails({state: {events: [leaveEvent]}}, bob);\n assert.equal(kickDetails.membership, \"ban\");\n assert.equal(kickDetails.reason, reason);\n assert.equal(kickDetails.sender, alice);\n },\n \"ban/kick sets kickDetails from timeline state event, taking precedence over state\": assert => {\n const reason = \"Bye!\";\n const inviteEvent = createMemberEvent(alice, bob, \"invite\");\n const leaveEvent = createMemberEvent(alice, bob, \"ban\", reason);\n const kickDetails = findKickDetails({\n state: { events: [inviteEvent] },\n timeline: {events: [leaveEvent] }\n }, bob);\n assert.equal(kickDetails.membership, \"ban\");\n assert.equal(kickDetails.reason, reason);\n assert.equal(kickDetails.sender, alice);\n },\n \"leaving without being kicked doesn't produce kickDetails\": assert => {\n const leaveEvent = createMemberEvent(bob, bob, \"leave\");\n const kickDetails = findKickDetails({state: {events: [leaveEvent]}}, bob);\n assert.equal(kickDetails, null);\n }\n }\n}\n","/*\nCopyright 2020 Bruno Windels \n\nLicensed under the Apache License, Version 2.0 (the \"License\");\nyou may not use this file except in compliance with the License.\nYou may obtain a copy of the License at\n\n http://www.apache.org/licenses/LICENSE-2.0\n\nUnless required by applicable law or agreed to in writing, software\ndistributed under the License is distributed on an \"AS IS\" BASIS,\nWITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\nSee the License for the specific language governing permissions and\nlimitations under the License.\n*/\n\nimport type {HomeServerApi} from \"./net/HomeServerApi\";\nimport type {ILogItem} from \"../logging/types\";\n\nexport async function loadProfiles(userIds: string[], hsApi: HomeServerApi, log: ILogItem): Promise {\n const profiles = await Promise.all(userIds.map(async userId => {\n const response = await hsApi.profile(userId, {log}).response();\n return new Profile(userId, response.displayname as string, response.avatar_url as string);\n }));\n profiles.sort((a, b) => a.name.localeCompare(b.name));\n return profiles;\n}\n\nexport interface IProfile {\n get userId(): string;\n get displayName(): string | undefined;\n get avatarUrl(): string | undefined;\n get name(): string;\n}\n\nexport class Profile implements IProfile {\n constructor(\n public readonly userId: string,\n public readonly displayName: string,\n public readonly avatarUrl: string | undefined\n ) {}\n\n get name() { return this.displayName || this.userId; }\n}\n\nexport class UserIdProfile implements IProfile {\n constructor(public readonly userId: string) {}\n get displayName() { return undefined; }\n get name() { return this.userId; }\n get avatarUrl() { return undefined; }\n}\n","/*\nCopyright 2020 Bruno Windels \n\nLicensed under the Apache License, Version 2.0 (the \"License\");\nyou may not use this file except in compliance with the License.\nYou may obtain a copy of the License at\n\n http://www.apache.org/licenses/LICENSE-2.0\n\nUnless required by applicable law or agreed to in writing, software\ndistributed under the License is distributed on an \"AS IS\" BASIS,\nWITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\nSee the License for the specific language governing permissions and\nlimitations under the License.\n*/\n\nimport {calculateRoomName} from \"./members/Heroes\";\nimport {createRoomEncryptionEvent} from \"../e2ee/common\";\nimport {MediaRepository} from \"../net/MediaRepository\";\nimport {EventEmitter} from \"../../utils/EventEmitter\";\nimport {AttachmentUpload} from \"./AttachmentUpload\";\nimport {loadProfiles, Profile, UserIdProfile} from \"../profile\";\nimport {RoomType} from \"./common\";\n\nimport type {HomeServerApi} from \"../net/HomeServerApi\";\nimport type {ILogItem} from \"../../logging/types\";\nimport type {Platform} from \"../../platform/web/Platform\";\nimport type {IBlobHandle} from \"../../platform/types/types\";\nimport type {User} from \"../User\";\nimport type {Storage} from \"../storage/idb/Storage\";\n\ntype CreateRoomPayload = {\n is_direct?: boolean;\n preset?: string;\n name?: string;\n topic?: string;\n invite?: string[];\n room_alias_name?: string;\n creation_content?: {\"m.federate\": boolean};\n initial_state: { type: string; state_key: string; content: Record }[];\n power_level_content_override?: Record;\n}\n\ntype ImageInfo = {\n w: number;\n h: number;\n mimetype: string;\n size: number;\n}\n\ntype Avatar = {\n info: ImageInfo;\n blob: IBlobHandle;\n name: string;\n}\n\ntype Options = {\n type: RoomType;\n isEncrypted?: boolean;\n isFederationDisabled?: boolean;\n name?: string;\n topic?: string;\n invites?: string[];\n avatar?: Avatar;\n alias?: string;\n powerLevelContentOverride?: Record;\n}\n\nfunction defaultE2EEStatusForType(type: RoomType): boolean {\n switch (type) {\n case RoomType.DirectMessage:\n case RoomType.Private:\n return true;\n case RoomType.Public:\n return false;\n }\n}\n\nfunction presetForType(type: RoomType): string {\n switch (type) {\n case RoomType.DirectMessage:\n return \"trusted_private_chat\";\n case RoomType.Private:\n return \"private_chat\";\n case RoomType.Public:\n return \"public_chat\";\n }\n}\n\nexport class RoomBeingCreated extends EventEmitter<{change: never}> {\n private _roomId?: string;\n private profiles: Profile[] = [];\n\n public readonly isEncrypted: boolean;\n private _calculatedName: string;\n private _error?: Error;\n private _isCancelled = false;\n\n constructor(\n public readonly id: string,\n private readonly options: Options,\n private readonly updateCallback: (self: RoomBeingCreated, params: string | undefined) => void,\n public readonly mediaRepository: MediaRepository,\n public readonly platform: Platform,\n log: ILogItem\n ) {\n super();\n this.isEncrypted = options.isEncrypted === undefined ? defaultE2EEStatusForType(options.type) : options.isEncrypted;\n if (options.name) {\n this._calculatedName = options.name;\n } else {\n const summaryData = {\n joinCount: 1, // ourselves\n inviteCount: (options.invites?.length || 0)\n };\n const userIdProfiles = (options.invites || []).map(userId => new UserIdProfile(userId));\n this._calculatedName = calculateRoomName(userIdProfiles, summaryData, log);\n }\n }\n\n /** @internal */\n async create(hsApi: HomeServerApi, log: ILogItem): Promise {\n try {\n let avatarEventContent;\n if (this.options.avatar) {\n const {avatar} = this.options;\n const attachment = new AttachmentUpload({filename: avatar.name, blob: avatar.blob, platform: this.platform});\n await attachment.upload(hsApi, () => {}, log);\n avatarEventContent = {\n info: avatar.info\n };\n attachment.applyToContent(\"url\", avatarEventContent);\n }\n const createOptions: CreateRoomPayload = {\n is_direct: this.options.type === RoomType.DirectMessage,\n preset: presetForType(this.options.type),\n initial_state: []\n };\n if (this.options.name) {\n createOptions.name = this.options.name;\n }\n if (this.options.topic) {\n createOptions.topic = this.options.topic;\n }\n if (this.options.invites) {\n createOptions.invite = this.options.invites;\n }\n if (this.options.alias) {\n createOptions.room_alias_name = this.options.alias;\n }\n if (this.options.isFederationDisabled === true) {\n createOptions.creation_content = {\n \"m.federate\": false\n };\n }\n if (this.options.powerLevelContentOverride) {\n createOptions.power_level_content_override = this.options.powerLevelContentOverride;\n }\n if (this.isEncrypted) {\n createOptions.initial_state.push(createRoomEncryptionEvent());\n }\n if (avatarEventContent) {\n createOptions.initial_state.push({\n type: \"m.room.avatar\",\n state_key: \"\",\n content: avatarEventContent\n });\n }\n const response = await hsApi.createRoom(createOptions, {log}).response();\n this._roomId = response[\"room_id\"];\n } catch (err) {\n this._error = err;\n }\n this.emitChange();\n }\n\n /** requests the profiles of the invitees if needed to give an accurate\n * estimated room name in case an explicit room name is not set.\n * The room is being created in the background whether this is called\n * or not, and this just gives a more accurate name while that request\n * is running. */\n /** @internal */\n async loadProfiles(hsApi: HomeServerApi, log: ILogItem): Promise {\n try {\n // only load profiles if we need it for the room name and avatar\n if (!this.options.name && this.options.invites) {\n this.profiles = await loadProfiles(this.options.invites, hsApi, log);\n const summaryData = {\n joinCount: 1, // ourselves\n inviteCount: this.options.invites.length\n };\n this._calculatedName = calculateRoomName(this.profiles, summaryData, log);\n this.emitChange();\n }\n } catch (err) {} // swallow error, loading profiles is not essential\n }\n\n private emitChange(params?: string) {\n this.updateCallback(this, params);\n this.emit(\"change\");\n }\n\n get avatarColorId(): string { return this.options.invites?.[0] ?? this._roomId ?? this.id; }\n get avatarUrl(): string | undefined { return this.profiles?.[0]?.avatarUrl; }\n get avatarBlobUrl(): string | undefined { return this.options.avatar?.blob?.url; }\n get roomId(): string | undefined { return this._roomId; }\n get name() { return this._calculatedName; }\n get isBeingCreated(): boolean { return true; }\n get error(): Error | undefined { return this._error; }\n\n cancel() {\n if (!this._isCancelled) {\n this.dispose();\n this._isCancelled = true;\n this.emitChange(\"isCancelled\");\n }\n }\n // called from Session when updateCallback is invoked to remove it from the collection\n get isCancelled() { return this._isCancelled; }\n\n /** @internal */\n dispose() {\n if (this.options.avatar) {\n this.options.avatar.blob.dispose();\n }\n }\n\n async adjustDirectMessageMapIfNeeded(user: User, storage: Storage, hsApi: HomeServerApi, log: ILogItem): Promise {\n if (!this.options.invites || this.options.type !== RoomType.DirectMessage) {\n return;\n }\n const userId = this.options.invites[0];\n const DM_MAP_TYPE = \"m.direct\";\n await log.wrap(\"set \" + DM_MAP_TYPE, async log => {\n try {\n const txn = await storage.readWriteTxn([storage.storeNames.accountData]);\n let mapEntry;\n try {\n mapEntry = await txn.accountData.get(DM_MAP_TYPE);\n if (!mapEntry) {\n mapEntry = {type: DM_MAP_TYPE, content: {}};\n }\n const map = mapEntry.content;\n let userRooms = map[userId];\n if (!userRooms) {\n map[userId] = userRooms = [];\n }\n // this is a new room id so no need to check if it's already there\n userRooms.push(this._roomId);\n txn.accountData.set(mapEntry);\n await txn.complete();\n } catch (err) {\n txn.abort();\n throw err;\n }\n await hsApi.setAccountData(user.id, DM_MAP_TYPE, mapEntry.content, {log}).response();\n } catch (err) {\n // we can't really do anything else but logging here\n log.catch(err);\n }\n });\n }\n}\n","/*\nCopyright 2021 The Matrix.org Foundation C.I.C.\n\nLicensed under the Apache License, Version 2.0 (the \"License\");\nyou may not use this file except in compliance with the License.\nYou may obtain a copy of the License at\n\n http://www.apache.org/licenses/LICENSE-2.0\n\nUnless required by applicable law or agreed to in writing, software\ndistributed under the License is distributed on an \"AS IS\" BASIS,\nWITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\nSee the License for the specific language governing permissions and\nlimitations under the License.\n*/\n\nimport {EventEmitter} from \"../../utils/EventEmitter\";\nimport {SummaryData, processStateEvent} from \"./RoomSummary.js\";\nimport {Heroes} from \"./members/Heroes.js\";\nimport {MemberChange, RoomMember, EVENT_TYPE as MEMBER_EVENT_TYPE} from \"./members/RoomMember.js\";\n\nexport class Invite extends EventEmitter {\n constructor({roomId, user, hsApi, mediaRepository, emitCollectionRemove, emitCollectionUpdate, platform}) {\n super();\n this._roomId = roomId;\n this._user = user;\n this._hsApi = hsApi;\n this._emitCollectionRemove = emitCollectionRemove;\n this._emitCollectionUpdate = emitCollectionUpdate;\n this._mediaRepository = mediaRepository;\n this._platform = platform;\n this._inviteData = null;\n this._accepting = false;\n this._rejecting = false;\n this._accepted = false;\n this._rejected = false;\n }\n\n get isInvite() {\n return true;\n }\n\n get id() {\n return this._roomId;\n }\n\n get name() {\n return this._inviteData.name || this._inviteData.canonicalAlias;\n }\n\n get isDirectMessage() {\n return this._inviteData.isDirectMessage;\n }\n\n get avatarUrl() {\n return this._inviteData.avatarUrl;\n }\n\n /** @see BaseRoom.avatarColorId */\n get avatarColorId() {\n return this._inviteData.avatarColorId || this.id;\n }\n\n get timestamp() {\n return this._inviteData.timestamp;\n }\n\n get isEncrypted() {\n return this._inviteData.isEncrypted;\n }\n\n get inviter() {\n return this._inviter;\n }\n\n isDirectMessageForUserId(userId) {\n return this.isDirectMessage && this._inviter.userId === userId;\n }\n\n get isPublic() {\n return this._inviteData.joinRule === \"public\";\n }\n\n get canonicalAlias() {\n return this._inviteData.canonicalAlias;\n }\n\n async accept(log = null) {\n await this._platform.logger.wrapOrRun(log, \"acceptInvite\", async log => {\n this._accepting = true;\n this._emitChange(\"accepting\");\n await this._hsApi.join(this._roomId, {log}).response();\n });\n }\n\n async reject(log = null) {\n await this._platform.logger.wrapOrRun(log, \"rejectInvite\", async log => {\n this._rejecting = true;\n this._emitChange(\"rejecting\");\n await this._hsApi.leave(this._roomId, {log}).response();\n });\n }\n\n get accepting() {\n return this._accepting;\n }\n\n get accepted() {\n return this._accepted;\n }\n\n get rejecting() {\n return this._rejecting;\n }\n\n get rejected() {\n return this._rejected;\n }\n\n get mediaRepository() {\n return this._mediaRepository;\n }\n\n _emitChange(params) {\n this.emit(\"change\");\n this._emitCollectionUpdate(this, params);\n }\n\n load(inviteData, log) {\n log.set(\"id\", this.id);\n this._inviteData = inviteData;\n this._inviter = inviteData.inviter ? new RoomMember(inviteData.inviter) : null;\n }\n\n async writeSync(membership, roomResponse, txn, log) {\n if (membership === \"invite\") {\n log.set(\"id\", this.id);\n log.set(\"add\", true);\n const inviteState = roomResponse[\"invite_state\"]?.events;\n if (!Array.isArray(inviteState)) {\n return null;\n }\n const summaryData = this._createSummaryData(inviteState);\n let heroes;\n if (!summaryData.name && !summaryData.canonicalAlias) {\n heroes = await this._createHeroes(inviteState, log);\n }\n const myInvite = this._getMyInvite(inviteState);\n if (!myInvite) {\n return null;\n }\n const inviter = this._getInviter(myInvite, inviteState);\n const inviteData = this._createData(inviteState, myInvite, inviter, summaryData, heroes);\n txn.invites.set(inviteData);\n return {inviteData, inviter};\n } else {\n log.set(\"id\", this.id);\n log.set(\"membership\", membership);\n txn.invites.remove(this.id);\n return {removed: true, membership};\n }\n }\n\n afterSync(changes, log) {\n log.set(\"id\", this.id);\n if (changes) {\n if (changes.removed) {\n this._accepting = false;\n this._rejecting = false;\n if (changes.membership === \"join\") {\n this._accepted = true;\n } else {\n this._rejected = true;\n }\n this.emit(\"change\");\n } else {\n // no emit change, adding to the collection is done by sync\n this._inviteData = changes.inviteData;\n this._inviter = changes.inviter;\n }\n }\n }\n\n _createData(inviteState, myInvite, inviter, summaryData, heroes) {\n const name = heroes ? heroes.roomName : summaryData.name;\n const avatarUrl = heroes ? heroes.roomAvatarUrl : summaryData.avatarUrl;\n const avatarColorId = heroes?.roomAvatarColorId || this.id;\n return {\n roomId: this.id,\n isEncrypted: !!summaryData.encryption,\n isDirectMessage: summaryData.isDirectMessage,\n// type: \n name,\n avatarUrl,\n avatarColorId,\n canonicalAlias: summaryData.canonicalAlias,\n timestamp: this._platform.clock.now(),\n joinRule: this._getJoinRule(inviteState),\n inviter: inviter?.serialize(),\n };\n }\n\n _createSummaryData(inviteState) {\n return inviteState.reduce((data, event) => processStateEvent(data, event, this._user.id), new SummaryData(null, this.id));\n }\n\n async _createHeroes(inviteState, log) {\n const members = inviteState.filter(e => e.type === MEMBER_EVENT_TYPE);\n const otherMembers = members.filter(e => e.state_key !== this._user.id);\n const memberChanges = otherMembers.reduce((map, e) => {\n const member = RoomMember.fromMemberEvent(this.id, e);\n map.set(member.userId, new MemberChange(member, null));\n return map;\n }, new Map());\n const otherUserIds = otherMembers.map(e => e.state_key);\n const heroes = new Heroes(this.id);\n const changes = await heroes.calculateChanges(otherUserIds, memberChanges, null);\n // we don't get an actual lazy-loading m.heroes summary on invites,\n // so just count the members by hand\n const countSummary = new SummaryData(null, this.id);\n countSummary.joinCount = members.reduce((sum, e) => sum + (e.content?.membership === \"join\" ? 1 : 0), 0);\n countSummary.inviteCount = members.reduce((sum, e) => sum + (e.content?.membership === \"invite\" ? 1 : 0), 0);\n heroes.applyChanges(changes, countSummary, log);\n return heroes;\n }\n\n _getMyInvite(inviteState) {\n return inviteState.find(e => e.type === MEMBER_EVENT_TYPE && e.state_key === this._user.id);\n }\n\n _getInviter(myInvite, inviteState) {\n const inviterMemberEvent = inviteState.find(e => e.type === MEMBER_EVENT_TYPE && e.state_key === myInvite.sender);\n if (inviterMemberEvent) {\n return RoomMember.fromMemberEvent(this.id, inviterMemberEvent);\n }\n }\n\n _getJoinRule(inviteState) {\n const event = inviteState.find(e => e.type === \"m.room.join_rules\");\n if (event) {\n return event.content?.join_rule;\n }\n return null;\n }\n}\n\nimport {NullLogItem} from \"../../logging/NullLogger\";\nimport {Clock as MockClock} from \"../../mocks/Clock.js\";\nimport {default as roomInviteFixture} from \"../../fixtures/matrix/invites/room.js\";\nimport {default as dmInviteFixture} from \"../../fixtures/matrix/invites/dm.js\";\n\nexport function tests() {\n\n function createStorage() {\n const invitesMap = new Map();\n return {\n invitesMap,\n invites: {\n set(invite) {\n invitesMap.set(invite.roomId, invite);\n },\n remove(roomId) {\n invitesMap.delete(roomId);\n }\n }\n }\n }\n\n const roomId = \"!123:hs.tld\";\n const aliceAvatarUrl = \"mxc://hs.tld/def456\";\n const roomAvatarUrl = \"mxc://hs.tld/roomavatar\";\n\n return {\n \"invite for room has correct fields\": async assert => {\n const invite = new Invite({\n roomId,\n platform: {clock: new MockClock(1001)},\n user: {id: \"@bob:hs.tld\"}\n });\n const txn = createStorage();\n const changes = await invite.writeSync(\"invite\", roomInviteFixture, txn, new NullLogItem());\n assert.equal(txn.invitesMap.get(roomId).roomId, roomId);\n invite.afterSync(changes, new NullLogItem());\n assert.equal(invite.name, \"Invite example\");\n assert.equal(invite.avatarUrl, roomAvatarUrl);\n assert.equal(invite.isPublic, false);\n assert.equal(invite.timestamp, 1001);\n assert.equal(invite.isEncrypted, false);\n assert.equal(invite.isDirectMessage, false);\n assert(invite.inviter);\n assert.equal(invite.inviter.userId, \"@alice:hs.tld\");\n assert.equal(invite.inviter.displayName, \"Alice\");\n assert.equal(invite.inviter.avatarUrl, aliceAvatarUrl);\n },\n \"invite for encrypted DM has correct fields\": async assert => {\n const invite = new Invite({\n roomId,\n platform: {clock: new MockClock(1003)},\n user: {id: \"@bob:hs.tld\"}\n });\n const txn = createStorage();\n const changes = await invite.writeSync(\"invite\", dmInviteFixture, txn, new NullLogItem());\n assert.equal(txn.invitesMap.get(roomId).roomId, roomId);\n invite.afterSync(changes, new NullLogItem());\n assert.equal(invite.name, \"Alice\");\n assert.equal(invite.avatarUrl, aliceAvatarUrl);\n assert.equal(invite.timestamp, 1003);\n assert.equal(invite.isEncrypted, true);\n assert.equal(invite.isDirectMessage, true);\n assert(invite.inviter);\n assert.equal(invite.inviter.userId, \"@alice:hs.tld\");\n assert.equal(invite.inviter.displayName, \"Alice\");\n assert.equal(invite.inviter.avatarUrl, aliceAvatarUrl);\n },\n \"load persisted invite has correct fields\": async assert => {\n const writeInvite = new Invite({\n roomId,\n platform: {clock: new MockClock(1003)},\n user: {id: \"@bob:hs.tld\"}\n });\n const txn = createStorage();\n await writeInvite.writeSync(\"invite\", dmInviteFixture, txn, new NullLogItem());\n const invite = new Invite({roomId});\n invite.load(txn.invitesMap.get(roomId), new NullLogItem());\n assert.equal(invite.name, \"Alice\");\n assert.equal(invite.avatarUrl, aliceAvatarUrl);\n assert.equal(invite.timestamp, 1003);\n assert.equal(invite.isEncrypted, true);\n assert.equal(invite.isDirectMessage, true);\n assert(invite.inviter);\n assert.equal(invite.inviter.userId, \"@alice:hs.tld\");\n assert.equal(invite.inviter.displayName, \"Alice\");\n assert.equal(invite.inviter.avatarUrl, aliceAvatarUrl);\n },\n \"syncing join sets accepted\": async assert => {\n let changeEmitCount = 0;\n const invite = new Invite({\n roomId,\n platform: {clock: new MockClock(1003)},\n user: {id: \"@bob:hs.tld\"},\n });\n invite.on(\"change\", () => { changeEmitCount += 1; });\n const txn = createStorage();\n const changes = await invite.writeSync(\"invite\", dmInviteFixture, txn, new NullLogItem());\n assert.equal(txn.invitesMap.get(roomId).roomId, roomId);\n invite.afterSync(changes, new NullLogItem());\n const joinChanges = await invite.writeSync(\"join\", null, txn, new NullLogItem());\n assert.strictEqual(changeEmitCount, 0);\n invite.afterSync(joinChanges, new NullLogItem());\n assert.strictEqual(changeEmitCount, 1);\n assert.equal(txn.invitesMap.get(roomId), undefined);\n assert.equal(invite.rejected, false);\n assert.equal(invite.accepted, true);\n }\n }\n}\n","/*\nCopyright 2021 The Matrix.org Foundation C.I.C.\n\nLicensed under the Apache License, Version 2.0 (the \"License\");\nyou may not use this file except in compliance with the License.\nYou may obtain a copy of the License at\n\n http://www.apache.org/licenses/LICENSE-2.0\n\nUnless required by applicable law or agreed to in writing, software\ndistributed under the License is distributed on an \"AS IS\" BASIS,\nWITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\nSee the License for the specific language governing permissions and\nlimitations under the License.\n*/\n\nimport type {HomeServerApi} from \"../net/HomeServerApi.js\";\nimport type {ILogItem} from \"../../logging/types\";\n\nexport interface IPusherDescription {\n kind: \"http\" | \"email\" | \"null\";\n lang: string;\n device_display_name: string;\n app_display_name: string;\n app_id: string;\n pushkey: string;\n data: IPusherData;\n append?: boolean;\n profile_tag?: string;\n}\n\ninterface IPusherData {\n format?: string;\n url?: string;\n endpoint?: PushSubscriptionJSON[\"endpoint\"];\n keys?: PushSubscriptionJSON[\"keys\"];\n}\n\nexport class Pusher {\n private readonly _description: IPusherDescription;\n\n constructor(description: IPusherDescription) {\n this._description = description;\n }\n\n static httpPusher(host: string, appId: string, pushkey: string, data: IPusherData): Pusher {\n return new Pusher({\n kind: \"http\",\n append: true, // as pushkeys are shared between multiple users on one origin\n data: Object.assign({}, data, {url: host + \"/_matrix/push/v1/notify\"}),\n pushkey,\n app_id: appId,\n app_display_name: \"Hydrogen\",\n device_display_name: \"Hydrogen\",\n lang: \"en\"\n });\n }\n\n static createDefaultPayload(sessionId: string): {session_id: string} {\n return {session_id: sessionId};\n }\n\n async enable(hsApi: HomeServerApi, log: ILogItem): Promise {\n try {\n log.set(\"endpoint\", new URL(this._description.data.endpoint!).host);\n } catch {\n log.set(\"endpoint\", null);\n }\n await hsApi.setPusher(this._description, {log}).response();\n }\n\n async disable(hsApi: HomeServerApi, log: ILogItem): Promise {\n const deleteDescription = Object.assign({}, this._description, {kind: null});\n await hsApi.setPusher(deleteDescription, {log}).response();\n }\n\n serialize(): IPusherDescription {\n return this._description;\n }\n\n equals(pusher): boolean {\n if (this._description.app_id !== pusher._description.app_id) {\n return false;\n }\n if (this._description.pushkey !== pusher._description.pushkey) {\n return false;\n }\n return JSON.stringify(this._description.data) === JSON.stringify(pusher._description.data);\n }\n}\n","/*\nCopyright 2020 The Matrix.org Foundation C.I.C.\n\nLicensed under the Apache License, Version 2.0 (the \"License\");\nyou may not use this file except in compliance with the License.\nYou may obtain a copy of the License at\n\n http://www.apache.org/licenses/LICENSE-2.0\n\nUnless required by applicable law or agreed to in writing, software\ndistributed under the License is distributed on an \"AS IS\" BASIS,\nWITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\nSee the License for the specific language governing permissions and\nlimitations under the License.\n*/\n\nexport function groupBy(array: V[], groupFn: (V) => K): Map {\n return groupByWithCreator(array, groupFn,\n () => {return [];},\n (array, value) => array.push(value)\n );\n}\n\nexport function groupByWithCreator(array: V[], groupFn: (V) => K, createCollectionFn: () => C, addCollectionFn: (C, V) => void): Map {\n return array.reduce((map, value) => {\n const key = groupFn(value);\n let collection = map.get(key);\n if (!collection) {\n collection = createCollectionFn();\n map.set(key, collection);\n }\n addCollectionFn(collection, value);\n return map;\n }, new Map());\n}\n\nexport function countBy(events: V[], mapper: (V) => string | number): { [key: string]: number } {\n return events.reduce((counts, event) => {\n const mappedValue = mapper(event);\n if (!counts[mappedValue]) {\n counts[mappedValue] = 1;\n } else {\n counts[mappedValue] += 1;\n }\n return counts;\n }, {});\n}\n\nexport function tests() {\n return {\n countBy: assert => {\n const counts = countBy([{type: \"foo\"}, {type: \"bar\"}, {type: \"foo\"}], o => o.type);\n assert.equal(Object.keys(counts).length, 2);\n assert.equal(counts.foo, 2);\n assert.equal(counts.bar, 1);\n }\n }\n}\n","/*\nCopyright 2020 The Matrix.org Foundation C.I.C.\n\nLicensed under the Apache License, Version 2.0 (the \"License\");\nyou may not use this file except in compliance with the License.\nYou may obtain a copy of the License at\n\n http://www.apache.org/licenses/LICENSE-2.0\n\nUnless required by applicable law or agreed to in writing, software\ndistributed under the License is distributed on an \"AS IS\" BASIS,\nWITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\nSee the License for the specific language governing permissions and\nlimitations under the License.\n*/\n\nimport {OLM_ALGORITHM} from \"./e2ee/common.js\";\nimport {countBy, groupBy} from \"../utils/groupBy\";\n\nexport class DeviceMessageHandler {\n constructor({storage}) {\n this._storage = storage;\n this._olmDecryption = null;\n this._megolmDecryption = null;\n }\n\n enableEncryption({olmDecryption, megolmDecryption}) {\n this._olmDecryption = olmDecryption;\n this._megolmDecryption = megolmDecryption;\n }\n\n obtainSyncLock(toDeviceEvents) {\n return this._olmDecryption?.obtainDecryptionLock(toDeviceEvents);\n }\n\n async prepareSync(toDeviceEvents, lock, txn, log) {\n log.set(\"messageTypes\", countBy(toDeviceEvents, e => e.type));\n const encryptedEvents = toDeviceEvents.filter(e => e.type === \"m.room.encrypted\");\n if (!this._olmDecryption) {\n log.log(\"can't decrypt, encryption not enabled\", log.level.Warn);\n return;\n }\n // only know olm for now\n const olmEvents = encryptedEvents.filter(e => e.content?.algorithm === OLM_ALGORITHM);\n if (olmEvents.length) {\n const olmDecryptChanges = await this._olmDecryption.decryptAll(olmEvents, lock, txn);\n log.set(\"decryptedTypes\", countBy(olmDecryptChanges.results, r => r.event?.type));\n for (const err of olmDecryptChanges.errors) {\n log.child(\"decrypt_error\").catch(err);\n }\n const newRoomKeys = this._megolmDecryption.roomKeysFromDeviceMessages(olmDecryptChanges.results, log);\n return new SyncPreparation(olmDecryptChanges, newRoomKeys);\n }\n }\n\n /** check that prep is not undefined before calling this */\n async writeSync(prep, txn) {\n // write olm changes\n prep.olmDecryptChanges.write(txn);\n const didWriteValues = await Promise.all(prep.newRoomKeys.map(key => this._megolmDecryption.writeRoomKey(key, txn)));\n return didWriteValues.some(didWrite => !!didWrite);\n }\n}\n\nclass SyncPreparation {\n constructor(olmDecryptChanges, newRoomKeys) {\n this.olmDecryptChanges = olmDecryptChanges;\n this.newRoomKeys = newRoomKeys;\n this.newKeysByRoom = groupBy(newRoomKeys, r => r.roomId);\n }\n}\n","/*\nCopyright 2020 The Matrix.org Foundation C.I.C.\n\nLicensed under the Apache License, Version 2.0 (the \"License\");\nyou may not use this file except in compliance with the License.\nYou may obtain a copy of the License at\n\n http://www.apache.org/licenses/LICENSE-2.0\n\nUnless required by applicable law or agreed to in writing, software\ndistributed under the License is distributed on an \"AS IS\" BASIS,\nWITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\nSee the License for the specific language governing permissions and\nlimitations under the License.\n*/\n\nimport anotherjson from \"another-json\";\nimport {SESSION_E2EE_KEY_PREFIX, OLM_ALGORITHM, MEGOLM_ALGORITHM} from \"./common.js\";\n\n// use common prefix so it's easy to clear properties that are not e2ee related during session clear\nconst ACCOUNT_SESSION_KEY = SESSION_E2EE_KEY_PREFIX + \"olmAccount\";\nconst DEVICE_KEY_FLAG_SESSION_KEY = SESSION_E2EE_KEY_PREFIX + \"areDeviceKeysUploaded\";\nconst SERVER_OTK_COUNT_SESSION_KEY = SESSION_E2EE_KEY_PREFIX + \"serverOTKCount\";\n\nasync function initiallyStoreAccount(account, pickleKey, areDeviceKeysUploaded, serverOTKCount, storage) {\n const pickledAccount = account.pickle(pickleKey);\n const txn = await storage.readWriteTxn([\n storage.storeNames.session\n ]);\n try {\n // add will throw if the key already exists\n // we would not want to overwrite olmAccount here\n txn.session.add(ACCOUNT_SESSION_KEY, pickledAccount);\n txn.session.add(DEVICE_KEY_FLAG_SESSION_KEY, areDeviceKeysUploaded);\n txn.session.add(SERVER_OTK_COUNT_SESSION_KEY, serverOTKCount);\n } catch (err) {\n txn.abort();\n throw err;\n }\n await txn.complete();\n}\n\nexport class Account {\n static async load({olm, pickleKey, hsApi, userId, deviceId, olmWorker, txn}) {\n const pickledAccount = await txn.session.get(ACCOUNT_SESSION_KEY);\n if (pickledAccount) {\n const account = new olm.Account();\n const areDeviceKeysUploaded = await txn.session.get(DEVICE_KEY_FLAG_SESSION_KEY);\n account.unpickle(pickleKey, pickledAccount);\n const serverOTKCount = await txn.session.get(SERVER_OTK_COUNT_SESSION_KEY);\n return new Account({pickleKey, hsApi, account, userId,\n deviceId, areDeviceKeysUploaded, serverOTKCount, olm, olmWorker});\n }\n }\n\n static async adoptDehydratedDevice({olm, dehydratedDevice, pickleKey, hsApi, userId, olmWorker, storage}) {\n const account = dehydratedDevice.adoptUnpickledOlmAccount();\n const oneTimeKeys = JSON.parse(account.one_time_keys());\n // only one algorithm supported by olm atm, so hardcode its name\n const oneTimeKeysEntries = Object.entries(oneTimeKeys.curve25519);\n const serverOTKCount = oneTimeKeysEntries.length;\n const areDeviceKeysUploaded = true;\n await initiallyStoreAccount(account, pickleKey, areDeviceKeysUploaded, serverOTKCount, storage);\n return new Account({\n pickleKey, hsApi, account, userId,\n deviceId: dehydratedDevice.deviceId,\n areDeviceKeysUploaded, serverOTKCount, olm, olmWorker\n });\n }\n\n static async create({olm, pickleKey, hsApi, userId, deviceId, olmWorker, storage}) {\n const account = new olm.Account();\n if (olmWorker) {\n await olmWorker.createAccountAndOTKs(account, account.max_number_of_one_time_keys());\n } else {\n account.create();\n account.generate_one_time_keys(account.max_number_of_one_time_keys());\n }\n const areDeviceKeysUploaded = false;\n const serverOTKCount = 0;\n if (storage) {\n await initiallyStoreAccount(account, pickleKey, areDeviceKeysUploaded, serverOTKCount, storage);\n }\n return new Account({pickleKey, hsApi, account, userId,\n deviceId, areDeviceKeysUploaded, serverOTKCount, olm, olmWorker});\n }\n\n constructor({pickleKey, hsApi, account, userId, deviceId, areDeviceKeysUploaded, serverOTKCount, olm, olmWorker}) {\n this._olm = olm;\n this._pickleKey = pickleKey;\n this._hsApi = hsApi;\n this._account = account;\n this._userId = userId;\n this._deviceId = deviceId;\n this._areDeviceKeysUploaded = areDeviceKeysUploaded;\n this._serverOTKCount = serverOTKCount;\n this._olmWorker = olmWorker;\n this._identityKeys = JSON.parse(this._account.identity_keys());\n }\n\n get identityKeys() {\n return this._identityKeys;\n }\n\n setDeviceId(deviceId) {\n this._deviceId = deviceId;\n }\n\n async uploadKeys(storage, isDehydratedDevice, log) {\n const oneTimeKeys = JSON.parse(this._account.one_time_keys());\n // only one algorithm supported by olm atm, so hardcode its name\n const oneTimeKeysEntries = Object.entries(oneTimeKeys.curve25519);\n if (oneTimeKeysEntries.length || !this._areDeviceKeysUploaded) {\n const payload = {};\n if (!this._areDeviceKeysUploaded) {\n log.set(\"identity\", true);\n const identityKeys = JSON.parse(this._account.identity_keys());\n payload.device_keys = this._deviceKeysPayload(identityKeys);\n }\n if (oneTimeKeysEntries.length) {\n log.set(\"otks\", true);\n payload.one_time_keys = this._oneTimeKeysPayload(oneTimeKeysEntries);\n }\n const dehydratedDeviceId = isDehydratedDevice ? this._deviceId : undefined;\n const response = await this._hsApi.uploadKeys(dehydratedDeviceId, payload, {log}).response();\n this._serverOTKCount = response?.one_time_key_counts?.signed_curve25519;\n log.set(\"serverOTKCount\", this._serverOTKCount);\n // TODO: should we not modify this in the txn like we do elsewhere?\n // we'd have to pickle and unpickle the account to clone it though ...\n // and the upload has succeed at this point, so in-memory would be correct\n // but in-storage not if the txn fails. \n await this._updateSessionStorage(storage, sessionStore => {\n if (oneTimeKeysEntries.length) {\n this._account.mark_keys_as_published();\n sessionStore?.set(ACCOUNT_SESSION_KEY, this._account.pickle(this._pickleKey));\n sessionStore?.set(SERVER_OTK_COUNT_SESSION_KEY, this._serverOTKCount);\n }\n if (!this._areDeviceKeysUploaded) {\n this._areDeviceKeysUploaded = true;\n sessionStore?.set(DEVICE_KEY_FLAG_SESSION_KEY, this._areDeviceKeysUploaded);\n }\n });\n }\n }\n\n async generateOTKsIfNeeded(storage, log) {\n // We need to keep a pool of one time public keys on the server so that\n // other devices can start conversations with us. But we can only store\n // a finite number of private keys in the olm Account object.\n // To complicate things further there can be a delay between a device\n // claiming a public one time key from the server and it sending us a\n // message. We need to keep the corresponding private key locally until\n // we receive the message.\n // But that message might never arrive leaving us stuck with duff\n // private keys clogging up our local storage.\n // So we need some kind of engineering compromise to balance all of\n // these factors.\n \n // Check how many keys we can store in the Account object.\n const maxOTKs = this._account.max_number_of_one_time_keys();\n // Try to keep at most half that number on the server. This leaves the\n // rest of the slots free to hold keys that have been claimed from the\n // server but we haven't recevied a message for.\n // If we run out of slots when generating new keys then olm will\n // discard the oldest private keys first. This will eventually clean\n // out stale private keys that won't receive a message.\n const keyLimit = Math.floor(maxOTKs / 2);\n // does the server have insufficient OTKs?\n if (this._serverOTKCount < keyLimit) {\n const oneTimeKeys = JSON.parse(this._account.one_time_keys());\n const oneTimeKeysEntries = Object.entries(oneTimeKeys.curve25519);\n const unpublishedOTKCount = oneTimeKeysEntries.length;\n // we want to end up with maxOTKs / 2 key on the server,\n // so generate any on top of the remaining ones on the server and the unpublished ones\n // (we have generated before but haven't uploaded yet for some reason)\n // to get to that number.\n const newKeyCount = keyLimit - unpublishedOTKCount - this._serverOTKCount;\n if (newKeyCount > 0) {\n await log.wrap(\"generate otks\", log => {\n log.set(\"max\", maxOTKs);\n log.set(\"server\", this._serverOTKCount);\n log.set(\"unpublished\", unpublishedOTKCount);\n log.set(\"new\", newKeyCount);\n log.set(\"limit\", keyLimit);\n this._account.generate_one_time_keys(newKeyCount);\n this._updateSessionStorage(storage, sessionStore => {\n sessionStore.set(ACCOUNT_SESSION_KEY, this._account.pickle(this._pickleKey));\n });\n });\n }\n // even though we didn't generate any keys, we still have some unpublished ones that should be published\n return true;\n }\n return false;\n }\n\n createInboundOlmSession(senderKey, body) {\n const newSession = new this._olm.Session();\n try {\n newSession.create_inbound_from(this._account, senderKey, body);\n return newSession;\n } catch (err) {\n newSession.free();\n throw err;\n }\n }\n\n async createOutboundOlmSession(theirIdentityKey, theirOneTimeKey) {\n const newSession = new this._olm.Session();\n try {\n if (this._olmWorker) {\n await this._olmWorker.createOutboundOlmSession(this._account, newSession, theirIdentityKey, theirOneTimeKey);\n } else {\n newSession.create_outbound(this._account, theirIdentityKey, theirOneTimeKey);\n }\n return newSession;\n } catch (err) {\n newSession.free();\n throw err;\n }\n }\n\n writeRemoveOneTimeKey(session, txn) {\n // this is side-effecty and will have applied the change if the txn fails,\n // but don't want to clone the account for now\n // and it is not the worst thing to think we have used a OTK when\n // decrypting the message that actually used it threw for some reason.\n this._account.remove_one_time_keys(session);\n txn.session.set(ACCOUNT_SESSION_KEY, this._account.pickle(this._pickleKey));\n }\n\n writeSync(deviceOneTimeKeysCount, txn, log) {\n // we only upload signed_curve25519 otks\n const otkCount = deviceOneTimeKeysCount.signed_curve25519;\n if (Number.isSafeInteger(otkCount) && otkCount !== this._serverOTKCount) {\n txn.session.set(SERVER_OTK_COUNT_SESSION_KEY, otkCount);\n log.set(\"otkCount\", otkCount);\n return otkCount;\n }\n }\n\n afterSync(otkCount) {\n // could also be undefined\n if (Number.isSafeInteger(otkCount)) {\n this._serverOTKCount = otkCount;\n }\n }\n\n _deviceKeysPayload(identityKeys) {\n const obj = {\n user_id: this._userId,\n device_id: this._deviceId,\n algorithms: [OLM_ALGORITHM, MEGOLM_ALGORITHM],\n keys: {}\n };\n for (const [algorithm, pubKey] of Object.entries(identityKeys)) {\n obj.keys[`${algorithm}:${this._deviceId}`] = pubKey;\n }\n this.signObject(obj);\n return obj;\n }\n\n _oneTimeKeysPayload(oneTimeKeysEntries) {\n const obj = {};\n for (const [keyId, pubKey] of oneTimeKeysEntries) {\n const keyObj = {\n key: pubKey \n };\n this.signObject(keyObj);\n obj[`signed_curve25519:${keyId}`] = keyObj;\n }\n return obj;\n }\n\n async _updateSessionStorage(storage, callback) {\n if (storage) {\n const txn = await storage.readWriteTxn([\n storage.storeNames.session\n ]);\n try {\n await callback(txn.session);\n } catch (err) {\n txn.abort();\n throw err;\n }\n await txn.complete();\n } else {\n await callback(undefined);\n }\n }\n\n signObject(obj) {\n const sigs = obj.signatures || {};\n const unsigned = obj.unsigned;\n\n delete obj.signatures;\n delete obj.unsigned;\n\n sigs[this._userId] = sigs[this._userId] || {};\n sigs[this._userId][\"ed25519:\" + this._deviceId] = \n this._account.sign(anotherjson.stringify(obj));\n obj.signatures = sigs;\n if (unsigned !== undefined) {\n obj.unsigned = unsigned;\n }\n }\n\n pickleWithKey(key) {\n return this._account.pickle(key);\n }\n\n dispose() {\n this._account.free();\n this._account = undefined;\n }\n}\n","/*\nCopyright 2020 The Matrix.org Foundation C.I.C.\n\nLicensed under the Apache License, Version 2.0 (the \"License\");\nyou may not use this file except in compliance with the License.\nYou may obtain a copy of the License at\n\n http://www.apache.org/licenses/LICENSE-2.0\n\nUnless required by applicable law or agreed to in writing, software\ndistributed under the License is distributed on an \"AS IS\" BASIS,\nWITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\nSee the License for the specific language governing permissions and\nlimitations under the License.\n*/\n\nimport type {Platform} from \"../../platform/web/Platform.js\";\n\nexport type KeyDescriptionData = {\n algorithm: string;\n passphrase: {\n algorithm: string;\n iterations: number;\n salt: string;\n bits?: number;\n };\n mac: string;\n iv: string;\n}\n\nexport class KeyDescription {\n private readonly _id: string;\n private readonly _keyDescription: KeyDescriptionData;\n\n constructor(id: string, keyDescription: KeyDescriptionData) {\n this._id = id;\n this._keyDescription = keyDescription;\n }\n\n get id(): string {\n return this._id;\n }\n\n get passphraseParams(): KeyDescriptionData[\"passphrase\"] {\n return this._keyDescription?.passphrase;\n }\n\n get algorithm(): string {\n return this._keyDescription?.algorithm;\n }\n\n async isCompatible(key: Key, platform: Platform): Promise {\n if (this.algorithm === \"m.secret_storage.v1.aes-hmac-sha2\") {\n const kd = this._keyDescription;\n if (kd.mac) {\n const otherMac = await calculateKeyMac(key.binaryKey, kd.iv, platform);\n return kd.mac === otherMac;\n } else if (kd.passphrase) {\n const kdOther = key.description._keyDescription;\n if (!kdOther.passphrase) {\n return false;\n }\n return kd.passphrase.algorithm === kdOther.passphrase.algorithm && \n kd.passphrase.iterations === kdOther.passphrase.iterations && \n kd.passphrase.salt === kdOther.passphrase.salt;\n }\n }\n return false;\n }\n}\n\nexport class Key {\n private readonly _keyDescription: KeyDescription;\n private readonly _binaryKey: Uint8Array;\n\n constructor(keyDescription: KeyDescription, binaryKey: Uint8Array) {\n this._keyDescription = keyDescription;\n this._binaryKey = binaryKey;\n }\n\n withDescription(description: KeyDescription): Key {\n return new Key(description, this._binaryKey);\n }\n\n get description(): KeyDescription {\n return this._keyDescription;\n }\n\n get id(): string {\n return this._keyDescription.id;\n }\n\n get binaryKey(): Uint8Array {\n return this._binaryKey;\n }\n\n get algorithm(): string {\n return this._keyDescription.algorithm;\n }\n}\n\nasync function calculateKeyMac(key: BufferSource, ivStr: string, platform: Platform): Promise {\n const {crypto, encoding} = platform;\n const {utf8, base64} = encoding;\n const {derive, aes, hmac} = crypto;\n\n const iv = base64.decode(ivStr);\n\n // salt for HKDF, with 8 bytes of zeros\n const zerosalt = new Uint8Array(8);\n const ZERO_STR = \"\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\";\n \n const info = utf8.encode(\"\");\n const keybits = await derive.hkdf(key, zerosalt, info, \"SHA-256\", 512);\n const aesKey = keybits.slice(0, 32);\n const hmacKey = keybits.slice(32);\n const ciphertext = await aes.encryptCTR({key: aesKey, iv, data: utf8.encode(ZERO_STR)});\n const mac = await hmac.compute(hmacKey, ciphertext, \"SHA-256\");\n\n return base64.encode(mac);\n}\n","/*\nCopyright 2020 The Matrix.org Foundation C.I.C.\n\nLicensed under the Apache License, Version 2.0 (the \"License\");\nyou may not use this file except in compliance with the License.\nYou may obtain a copy of the License at\n\n http://www.apache.org/licenses/LICENSE-2.0\n\nUnless required by applicable law or agreed to in writing, software\ndistributed under the License is distributed on an \"AS IS\" BASIS,\nWITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\nSee the License for the specific language governing permissions and\nlimitations under the License.\n*/\n\nimport {Key} from \"./common\";\nimport type {KeyDescription} from \"./common\";\nimport type {Platform} from \"../../platform/web/Platform.js\";\n\nconst DEFAULT_ITERATIONS = 500000;\nconst DEFAULT_BITSIZE = 256;\n\n/**\n * @param {KeyDescription} keyDescription\n * @param {string} passphrase\n * @param {Platform} platform\n * @return {Key}\n */\nexport async function keyFromPassphrase(keyDescription: KeyDescription, passphrase: string, platform: Platform): Promise {\n const {passphraseParams} = keyDescription;\n if (!passphraseParams) {\n throw new Error(\"not a passphrase key\");\n }\n if (passphraseParams.algorithm !== \"m.pbkdf2\") {\n throw new Error(`Unsupported passphrase algorithm: ${passphraseParams.algorithm}`);\n }\n const {utf8} = platform.encoding;\n const keyBits = await platform.crypto.derive.pbkdf2(\n utf8.encode(passphrase),\n passphraseParams.iterations || DEFAULT_ITERATIONS,\n // salt is just a random string, not encoded in any way\n utf8.encode(passphraseParams.salt),\n \"SHA-512\",\n passphraseParams.bits || DEFAULT_BITSIZE);\n return new Key(keyDescription, keyBits);\n}\n","/*\nCopyright 2020 The Matrix.org Foundation C.I.C.\n\nLicensed under the Apache License, Version 2.0 (the \"License\");\nyou may not use this file except in compliance with the License.\nYou may obtain a copy of the License at\n\n http://www.apache.org/licenses/LICENSE-2.0\n\nUnless required by applicable law or agreed to in writing, software\ndistributed under the License is distributed on an \"AS IS\" BASIS,\nWITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\nSee the License for the specific language governing permissions and\nlimitations under the License.\n*/\nimport {Key} from \"./common\";\nimport {KeyDescription} from \"./common\";\nimport type {Platform} from \"../../platform/web/Platform.js\";\nimport type * as OlmNamespace from \"@matrix-org/olm\";\ntype Olm = typeof OlmNamespace;\n\nconst OLM_RECOVERY_KEY_PREFIX = [0x8B, 0x01] as const;\n\n/**\n * @param {Olm} olm\n * @param {KeyDescription} keyDescription\n * @param {string} recoveryKey\n * @return {Key}\n */\nexport function keyFromRecoveryKey(keyDescription: KeyDescription, recoveryKey: string, olm: Olm, platform: Platform): Key {\n const result = platform.encoding.base58.decode(recoveryKey.replace(/ /g, ''));\n\n let parity = 0;\n for (const b of result) {\n parity ^= b;\n }\n if (parity !== 0) {\n throw new Error(\"Incorrect parity\");\n }\n\n for (let i = 0; i < OLM_RECOVERY_KEY_PREFIX.length; ++i) {\n if (result[i] !== OLM_RECOVERY_KEY_PREFIX[i]) {\n throw new Error(\"Incorrect prefix\");\n }\n }\n\n if (\n result.length !==\n OLM_RECOVERY_KEY_PREFIX.length + olm.PRIVATE_KEY_LENGTH + 1\n ) {\n throw new Error(\"Incorrect length\");\n }\n\n const keyBits = Uint8Array.from(result.slice(\n OLM_RECOVERY_KEY_PREFIX.length,\n OLM_RECOVERY_KEY_PREFIX.length + olm.PRIVATE_KEY_LENGTH,\n ));\n\n return new Key(keyDescription, keyBits);\n}\n","/*\nCopyright 2020 The Matrix.org Foundation C.I.C.\n\nLicensed under the Apache License, Version 2.0 (the \"License\");\nyou may not use this file except in compliance with the License.\nYou may obtain a copy of the License at\n\n http://www.apache.org/licenses/LICENSE-2.0\n\nUnless required by applicable law or agreed to in writing, software\ndistributed under the License is distributed on an \"AS IS\" BASIS,\nWITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\nSee the License for the specific language governing permissions and\nlimitations under the License.\n*/\n\nimport {KeyDescription, Key} from \"./common\";\nimport {keyFromPassphrase} from \"./passphrase\";\nimport {keyFromRecoveryKey} from \"./recoveryKey\";\nimport {SESSION_E2EE_KEY_PREFIX} from \"../e2ee/common.js\";\nimport type {Storage} from \"../storage/idb/Storage\";\nimport type {Transaction} from \"../storage/idb/Transaction\";\nimport type {KeyDescriptionData} from \"./common\";\nimport type {Platform} from \"../../platform/web/Platform.js\";\nimport type * as OlmNamespace from \"@matrix-org/olm\"\n\ntype Olm = typeof OlmNamespace;\n\nconst SSSS_KEY = `${SESSION_E2EE_KEY_PREFIX}ssssKey`;\nconst BACKUPVERSION_KEY = `${SESSION_E2EE_KEY_PREFIX}keyBackupVersion`;\n\nexport enum KeyType {\n \"RecoveryKey\",\n \"Passphrase\"\n}\n\nasync function readDefaultKeyDescription(storage: Storage): Promise {\n const txn = await storage.readTxn([\n storage.storeNames.accountData\n ]);\n const defaultKeyEvent = await txn.accountData.get(\"m.secret_storage.default_key\");\n const id = defaultKeyEvent?.content?.key;\n if (!id) {\n return;\n }\n const keyAccountData = await txn.accountData.get(`m.secret_storage.key.${id}`);\n if (!keyAccountData) {\n return;\n }\n return new KeyDescription(id, keyAccountData.content as KeyDescriptionData);\n}\n\nexport async function writeKey(key: Key, keyBackupVersion: number, txn: Transaction): Promise {\n const existingVersion: number | undefined = await txn.session.get(BACKUPVERSION_KEY);\n txn.session.set(BACKUPVERSION_KEY, keyBackupVersion);\n txn.session.set(SSSS_KEY, {id: key.id, binaryKey: key.binaryKey});\n return existingVersion;\n}\n\nexport async function readKey(txn: Transaction): Promise {\n const keyData = await txn.session.get(SSSS_KEY);\n if (!keyData) {\n return;\n }\n const keyAccountData = await txn.accountData.get(`m.secret_storage.key.${keyData.id}`);\n if (keyAccountData) {\n return new Key(new KeyDescription(keyData.id, keyAccountData.content as KeyDescriptionData), keyData.binaryKey);\n }\n}\n\n\nexport async function removeKey(txn: Transaction): Promise {\n txn.session.remove(SSSS_KEY);\n}\n\nexport async function keyFromCredential(type: KeyType, credential: string, storage: Storage, platform: Platform, olm: Olm): Promise {\n const keyDescription = await readDefaultKeyDescription(storage);\n if (!keyDescription) {\n throw new Error(\"Could not find a default secret storage key in account data\");\n }\n return await keyFromCredentialAndDescription(type, credential, keyDescription, platform, olm);\n}\n\nexport async function keyFromCredentialAndDescription(type: KeyType, credential: string, keyDescription: KeyDescription, platform: Platform, olm: Olm): Promise {\n let key: Key;\n if (type === KeyType.Passphrase) {\n key = await keyFromPassphrase(keyDescription, credential, platform);\n } else if (type === KeyType.RecoveryKey) {\n key = keyFromRecoveryKey(keyDescription, credential, olm, platform);\n } else {\n throw new Error(`Invalid type: ${type}`);\n }\n return key;\n}\n\nexport async function keyFromDehydratedDeviceKey(key: Key, storage: Storage, platform: Platform): Promise {\n const keyDescription = await readDefaultKeyDescription(storage);\n if (await keyDescription?.isCompatible(key, platform)) {\n return key.withDescription(keyDescription!);\n }\n}\n","/*\nCopyright 2021 The Matrix.org Foundation C.I.C.\n\nLicensed under the Apache License, Version 2.0 (the \"License\");\nyou may not use this file except in compliance with the License.\nYou may obtain a copy of the License at\n\n http://www.apache.org/licenses/LICENSE-2.0\n\nUnless required by applicable law or agreed to in writing, software\ndistributed under the License is distributed on an \"AS IS\" BASIS,\nWITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\nSee the License for the specific language governing permissions and\nlimitations under the License.\n*/\n\nconst DEHYDRATION_LIBOLM_PICKLE_ALGORITHM = \"org.matrix.msc2697.v1.olm.libolm_pickle\"; \nimport {KeyDescription} from \"../ssss/common\";\nimport {keyFromCredentialAndDescription} from \"../ssss/index\";\n\nexport async function getDehydratedDevice(hsApi, olm, platform, log) {\n try {\n const response = await hsApi.getDehydratedDevice({log}).response();\n if (response.device_data.algorithm === DEHYDRATION_LIBOLM_PICKLE_ALGORITHM) {\n return new EncryptedDehydratedDevice(response, olm, platform);\n }\n } catch (err) {\n if (err.name !== \"HomeServerError\") {\n log.error = err;\n }\n return undefined;\n }\n}\n\nexport async function uploadAccountAsDehydratedDevice(account, hsApi, key, deviceDisplayName, log) {\n const response = await hsApi.createDehydratedDevice({\n device_data: {\n algorithm: DEHYDRATION_LIBOLM_PICKLE_ALGORITHM,\n account: account.pickleWithKey(key.binaryKey.slice()),\n passphrase: key.description?.passphraseParams || {},\n },\n initial_device_display_name: deviceDisplayName\n }).response();\n const deviceId = response.device_id;\n account.setDeviceId(deviceId);\n await account.uploadKeys(undefined, true, log);\n return deviceId;\n}\n\nclass EncryptedDehydratedDevice {\n constructor(dehydratedDevice, olm, platform) {\n this._dehydratedDevice = dehydratedDevice;\n this._olm = olm;\n this._platform = platform;\n }\n\n async decrypt(keyType, credential) {\n const keyDescription = new KeyDescription(\"dehydrated_device\", this._dehydratedDevice.device_data.passphrase);\n const key = await keyFromCredentialAndDescription(keyType, credential, keyDescription, this._platform, this._olm);\n const account = new this._olm.Account();\n try {\n const pickledAccount = this._dehydratedDevice.device_data.account;\n account.unpickle(key.binaryKey.slice(), pickledAccount);\n return new DehydratedDevice(this._dehydratedDevice, account, key);\n } catch (err) {\n account.free();\n if (err.message === \"OLM.BAD_ACCOUNT_KEY\") {\n return undefined;\n } else {\n throw err;\n }\n }\n }\n\n get deviceId() {\n return this._dehydratedDevice.device_id;\n }\n}\n\nclass DehydratedDevice {\n constructor(dehydratedDevice, account, key) {\n this._dehydratedDevice = dehydratedDevice;\n this._account = account;\n this._key = key;\n }\n\n async claim(hsApi, log) {\n try {\n const response = await hsApi.claimDehydratedDevice(this.deviceId, {log}).response();\n return response.success;\n } catch (err) {\n return false;\n }\n }\n\n // make it clear that ownership is transfered upon calling this\n adoptUnpickledOlmAccount() {\n const account = this._account;\n this._account = undefined;\n return account;\n }\n\n get deviceId() {\n return this._dehydratedDevice.device_id;\n }\n\n get key() {\n return this._key;\n }\n\n dispose() {\n this._account?.free();\n this._account = undefined;\n }\n}\n","/*\nCopyright 2020 The Matrix.org Foundation C.I.C.\n\nLicensed under the Apache License, Version 2.0 (the \"License\");\nyou may not use this file except in compliance with the License.\nYou may obtain a copy of the License at\n\n http://www.apache.org/licenses/LICENSE-2.0\n\nUnless required by applicable law or agreed to in writing, software\ndistributed under the License is distributed on an \"AS IS\" BASIS,\nWITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\nSee the License for the specific language governing permissions and\nlimitations under the License.\n*/\n\nexport interface ILock {\n release(): void;\n}\n\nexport class Lock implements ILock {\n private _promise?: Promise;\n private _resolve?: (() => void);\n\n tryTake(): boolean {\n if (!this._promise) {\n this._promise = new Promise(resolve => {\n this._resolve = resolve;\n });\n return true;\n }\n return false;\n }\n\n async take(): Promise {\n while(!this.tryTake()) {\n await this.released();\n }\n }\n\n get isTaken(): boolean {\n return !!this._promise;\n }\n\n release(): void {\n if (this._resolve) {\n this._promise = undefined;\n const resolve = this._resolve;\n this._resolve = undefined;\n resolve();\n }\n }\n\n released(): Promise | undefined {\n return this._promise;\n }\n}\n\nexport class MultiLock implements ILock {\n\n constructor(public readonly locks: Lock[]) {\n }\n\n release(): void {\n for (const lock of this.locks) {\n lock.release();\n }\n }\n}\n\nexport function tests() {\n return {\n \"taking a lock twice returns false\": assert => {\n const lock = new Lock();\n assert.equal(lock.tryTake(), true);\n assert.equal(lock.isTaken, true);\n assert.equal(lock.tryTake(), false);\n },\n \"can take a released lock again\": assert => {\n const lock = new Lock();\n lock.tryTake();\n lock.release();\n assert.equal(lock.isTaken, false);\n assert.equal(lock.tryTake(), true);\n },\n \"2 waiting for lock, only first one gets it\": async assert => {\n const lock = new Lock();\n lock.tryTake();\n\n let first;\n lock.released()!.then(() => first = lock.tryTake());\n let second;\n lock.released()!.then(() => second = lock.tryTake());\n const promise = lock.released();\n lock.release();\n await promise;\n assert.strictEqual(first, true);\n assert.strictEqual(second, false);\n },\n \"await non-taken lock\": async assert => {\n const lock = new Lock();\n await lock.released();\n assert(true);\n }\n }\n}\n","/*\nCopyright 2020 The Matrix.org Foundation C.I.C.\n\nLicensed under the Apache License, Version 2.0 (the \"License\");\nyou may not use this file except in compliance with the License.\nYou may obtain a copy of the License at\n\n http://www.apache.org/licenses/LICENSE-2.0\n\nUnless required by applicable law or agreed to in writing, software\ndistributed under the License is distributed on an \"AS IS\" BASIS,\nWITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\nSee the License for the specific language governing permissions and\nlimitations under the License.\n*/\n\nimport type {OlmSessionEntry} from \"../../storage/idb/stores/OlmSessionStore\";\nimport type * as OlmNamespace from \"@matrix-org/olm\";\ntype Olm = typeof OlmNamespace;\n\nexport function createSessionEntry(olmSession: Olm.Session, senderKey: string, timestamp: number, pickleKey: string): OlmSessionEntry {\n return {\n session: olmSession.pickle(pickleKey),\n sessionId: olmSession.session_id(),\n senderKey,\n lastUsed: timestamp,\n };\n}\n\nexport class Session {\n public isModified: boolean;\n\n constructor(\n public readonly data: OlmSessionEntry,\n private readonly pickleKey: string,\n private readonly olm: Olm,\n public isNew: boolean = false\n ) {\n this.isModified = isNew;\n }\n\n static create(senderKey: string, olmSession: Olm.Session, olm: Olm, pickleKey: string, timestamp: number): Session {\n const data = createSessionEntry(olmSession, senderKey, timestamp, pickleKey);\n return new Session(data, pickleKey, olm, true);\n }\n\n get id(): string {\n return this.data.sessionId;\n }\n\n load(): Olm.Session {\n const session = new this.olm.Session();\n session.unpickle(this.pickleKey, this.data.session);\n return session;\n }\n\n unload(olmSession: Olm.Session): void {\n olmSession.free();\n }\n\n save(olmSession: Olm.Session): void {\n this.data.session = olmSession.pickle(this.pickleKey);\n this.isModified = true;\n }\n}\n","/*\nCopyright 2020 The Matrix.org Foundation C.I.C.\n\nLicensed under the Apache License, Version 2.0 (the \"License\");\nyou may not use this file except in compliance with the License.\nYou may obtain a copy of the License at\n\n http://www.apache.org/licenses/LICENSE-2.0\n\nUnless required by applicable law or agreed to in writing, software\ndistributed under the License is distributed on an \"AS IS\" BASIS,\nWITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\nSee the License for the specific language governing permissions and\nlimitations under the License.\n*/\n\n\n/**\n * @property {object} event the plaintext event (type and content property)\n * @property {string} senderCurve25519Key the curve25519 sender key of the olm event\n * @property {string} claimedEd25519Key The ed25519 fingerprint key retrieved from the decryption payload.\n * The sender of the olm event claims this is the ed25519 fingerprint key\n * that matches the curve25519 sender key.\n * The caller needs to check if this key does indeed match the senderKey\n * for a device with a valid signature returned from /keys/query,\n * see DeviceTracker\n */\n\nimport type {DeviceIdentity} from \"../storage/idb/stores/DeviceIdentityStore\";\n\ntype DecryptedEvent = {\n type?: string,\n content?: Record\n}\n\nexport class DecryptionResult {\n private device?: DeviceIdentity;\n private roomTracked: boolean = true;\n\n constructor(\n public readonly event: DecryptedEvent,\n public readonly senderCurve25519Key: string,\n public readonly claimedEd25519Key: string\n ) {}\n\n setDevice(device: DeviceIdentity): void {\n this.device = device;\n }\n\n setRoomNotTrackedYet(): void {\n this.roomTracked = false;\n }\n\n get isVerified(): boolean {\n if (this.device) {\n const comesFromDevice = this.device.ed25519Key === this.claimedEd25519Key;\n return comesFromDevice;\n }\n return false;\n }\n\n get isUnverified(): boolean {\n if (this.device) {\n return !this.isVerified;\n } else if (this.isVerificationUnknown) {\n return false;\n } else {\n return true;\n }\n }\n\n get isVerificationUnknown(): boolean {\n // verification is unknown if we haven't yet fetched the devices for the room\n return !this.device && !this.roomTracked;\n }\n}\n","/*\nCopyright 2022 The Matrix.org Foundation C.I.C.\n\nLicensed under the Apache License, Version 2.0 (the \"License\");\nyou may not use this file except in compliance with the License.\nYou may obtain a copy of the License at\n\n http://www.apache.org/licenses/LICENSE-2.0\n\nUnless required by applicable law or agreed to in writing, software\ndistributed under the License is distributed on an \"AS IS\" BASIS,\nWITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\nSee the License for the specific language governing permissions and\nlimitations under the License.\n*/\n\nexport const enum OlmPayloadType {\n PreKey = 0,\n Normal = 1\n}\n\nexport type OlmMessage = {\n type?: OlmPayloadType,\n body?: string\n}\n\nexport type OlmEncryptedMessageContent = {\n algorithm?: \"m.olm.v1.curve25519-aes-sha2\"\n sender_key?: string,\n ciphertext?: {\n [deviceCurve25519Key: string]: OlmMessage\n }\n}\n\nexport type OlmEncryptedEvent = {\n type?: \"m.room.encrypted\",\n content?: OlmEncryptedMessageContent\n sender?: string\n}\n\nexport type OlmPayload = {\n type?: string;\n content?: Record;\n sender?: string;\n recipient?: string;\n recipient_keys?: {ed25519?: string};\n keys?: {ed25519?: string};\n}\n","/*\nCopyright 2020 The Matrix.org Foundation C.I.C.\n\nLicensed under the Apache License, Version 2.0 (the \"License\");\nyou may not use this file except in compliance with the License.\nYou may obtain a copy of the License at\n\n http://www.apache.org/licenses/LICENSE-2.0\n\nUnless required by applicable law or agreed to in writing, software\ndistributed under the License is distributed on an \"AS IS\" BASIS,\nWITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\nSee the License for the specific language governing permissions and\nlimitations under the License.\n*/\n\nimport {DecryptionError} from \"../common.js\";\nimport {groupBy} from \"../../../utils/groupBy\";\nimport {MultiLock, ILock} from \"../../../utils/Lock\";\nimport {Session} from \"./Session\";\nimport {DecryptionResult} from \"../DecryptionResult\";\nimport {OlmPayloadType} from \"./types\";\n\nimport type {OlmMessage, OlmPayload} from \"./types\";\nimport type {Account} from \"../Account\";\nimport type {LockMap} from \"../../../utils/LockMap\";\nimport type {Transaction} from \"../../storage/idb/Transaction\";\nimport type {OlmEncryptedEvent} from \"./types\";\nimport type * as OlmNamespace from \"@matrix-org/olm\";\ntype Olm = typeof OlmNamespace;\n\nconst SESSION_LIMIT_PER_SENDER_KEY = 4;\n\ntype DecryptionResults = {\n results: DecryptionResult[],\n errors: DecryptionError[],\n senderKeyDecryption: SenderKeyDecryption\n};\n\ntype CreateAndDecryptResult = {\n session: Session,\n plaintext: string\n};\n\nfunction sortSessions(sessions: Session[]): void {\n sessions.sort((a, b) => {\n return b.data.lastUsed - a.data.lastUsed;\n });\n}\n\nexport class Decryption {\n constructor(\n private readonly account: Account,\n private readonly pickleKey: string,\n private readonly now: () => number,\n private readonly ownUserId: string,\n private readonly olm: Olm,\n private readonly senderKeyLock: LockMap\n ) {}\n \n // we need to lock because both encryption and decryption can't be done in one txn,\n // so for them not to step on each other toes, we need to lock.\n // \n // the lock is release from 1 of 3 places, whichever comes first:\n // - decryptAll below fails (to release the lock as early as we can)\n // - DecryptionChanges.write succeeds\n // - Sync finishes the writeSync phase (or an error was thrown, in case we never get to DecryptionChanges.write) \n async obtainDecryptionLock(events: OlmEncryptedEvent[]): Promise {\n const senderKeys = new Set();\n for (const event of events) {\n const senderKey = event.content?.[\"sender_key\"];\n if (senderKey) {\n senderKeys.add(senderKey);\n }\n }\n // take a lock on all senderKeys so encryption or other calls to decryptAll (should not happen)\n // don't modify the sessions at the same time\n const locks = await Promise.all(Array.from(senderKeys).map(senderKey => {\n return this.senderKeyLock.takeLock(senderKey);\n }));\n return new MultiLock(locks);\n }\n\n // we need decryptAll because there is some parallelization we can do for decrypting different sender keys at once\n // but for the same sender key we need to do one by one\n // \n // also we want to store the room key, etc ... in the same txn as we remove the pending encrypted event\n // \n // so we need to decrypt events in a batch (so we can decide which ones can run in parallel and which one one by one)\n // and also can avoid side-effects before all can be stored this way\n // \n // doing it one by one would be possible, but we would lose the opportunity for parallelization\n // \n \n /**\n * It is importants the lock obtained from obtainDecryptionLock is for the same set of events as passed in here.\n * [decryptAll description]\n * @param {[type]} events\n * @return {Promise} [description]\n */\n async decryptAll(events: OlmEncryptedEvent[], lock: ILock, txn: Transaction): Promise {\n try {\n const eventsPerSenderKey = groupBy(events, (event: OlmEncryptedEvent) => event.content?.[\"sender_key\"]);\n const timestamp = this.now();\n // decrypt events for different sender keys in parallel\n const senderKeyOperations = await Promise.all(Array.from(eventsPerSenderKey.entries()).map(([senderKey, events]) => {\n return this._decryptAllForSenderKey(senderKey!, events, timestamp, txn);\n }));\n const results = senderKeyOperations.reduce((all, r) => all.concat(r.results), [] as DecryptionResult[]);\n const errors = senderKeyOperations.reduce((all, r) => all.concat(r.errors), [] as DecryptionError[]);\n const senderKeyDecryptions = senderKeyOperations.map(r => r.senderKeyDecryption);\n return new DecryptionChanges(senderKeyDecryptions, results, errors, this.account, lock);\n } catch (err) {\n // make sure the locks are release if something throws\n // otherwise they will be released in DecryptionChanges after having written\n // or after the writeSync phase in Sync\n lock.release();\n throw err;\n }\n }\n\n async _decryptAllForSenderKey(senderKey: string, events: OlmEncryptedEvent[], timestamp: number, readSessionsTxn: Transaction): Promise {\n const sessions = await this._getSessions(senderKey, readSessionsTxn);\n const senderKeyDecryption = new SenderKeyDecryption(senderKey, sessions, timestamp);\n const results: DecryptionResult[] = [];\n const errors: DecryptionError[] = [];\n // events for a single senderKey need to be decrypted one by one\n for (const event of events) {\n try {\n const result = this._decryptForSenderKey(senderKeyDecryption, event, timestamp);\n results.push(result);\n } catch (err) {\n errors.push(err);\n }\n }\n return {results, errors, senderKeyDecryption};\n }\n\n _decryptForSenderKey(senderKeyDecryption: SenderKeyDecryption, event: OlmEncryptedEvent, timestamp: number): DecryptionResult {\n const senderKey = senderKeyDecryption.senderKey;\n const message = this._getMessageAndValidateEvent(event);\n let plaintext: string | undefined;\n try {\n plaintext = senderKeyDecryption.decrypt(message);\n } catch (err) {\n // TODO: is it ok that an error on one session prevents other sessions from being attempted?\n throw new DecryptionError(\"OLM_BAD_ENCRYPTED_MESSAGE\", event, {senderKey, error: err.message});\n }\n // could not decrypt with any existing session\n if (typeof plaintext !== \"string\" && message.type === OlmPayloadType.PreKey) {\n let createResult: CreateAndDecryptResult;\n try {\n createResult = this._createSessionAndDecrypt(senderKey, message, timestamp);\n } catch (error) {\n throw new DecryptionError(`Could not create inbound olm session: ${error.message}`, event, {senderKey, error});\n }\n senderKeyDecryption.addNewSession(createResult.session);\n plaintext = createResult.plaintext;\n }\n if (typeof plaintext === \"string\") {\n let payload: OlmPayload;\n try {\n payload = JSON.parse(plaintext);\n } catch (error) {\n throw new DecryptionError(\"PLAINTEXT_NOT_JSON\", event, {plaintext, error});\n }\n this._validatePayload(payload, event);\n return new DecryptionResult(payload, senderKey, payload.keys!.ed25519!);\n } else {\n throw new DecryptionError(\"OLM_NO_MATCHING_SESSION\", event,\n {knownSessionIds: senderKeyDecryption.sessions.map(s => s.id)});\n }\n }\n\n // only for pre-key messages after having attempted decryption with existing sessions\n _createSessionAndDecrypt(senderKey: string, message: OlmMessage, timestamp: number): CreateAndDecryptResult {\n let plaintext;\n // if we have multiple messages encrypted with the same new session,\n // this could create multiple sessions as the OTK isn't removed yet\n // (this only happens in DecryptionChanges.write)\n // This should be ok though as we'll first try to decrypt with the new session\n const olmSession = this.account.createInboundOlmSession(senderKey, message.body);\n try {\n plaintext = olmSession.decrypt(message.type, message.body);\n const session = Session.create(senderKey, olmSession, this.olm, this.pickleKey, timestamp);\n session.unload(olmSession);\n return {session, plaintext};\n } catch (err) {\n olmSession.free();\n throw err;\n }\n }\n\n _getMessageAndValidateEvent(event: OlmEncryptedEvent): OlmMessage {\n const ciphertext = event.content?.ciphertext;\n if (!ciphertext) {\n throw new DecryptionError(\"OLM_MISSING_CIPHERTEXT\", event);\n }\n const message = ciphertext?.[this.account.identityKeys.curve25519];\n if (!message) {\n throw new DecryptionError(\"OLM_NOT_INCLUDED_IN_RECIPIENTS\", event);\n }\n\n return message;\n }\n\n async _getSessions(senderKey: string, txn: Transaction): Promise {\n const sessionEntries = await txn.olmSessions.getAll(senderKey);\n // sort most recent used sessions first\n const sessions = sessionEntries.map(s => new Session(s, this.pickleKey, this.olm));\n sortSessions(sessions);\n return sessions;\n }\n\n _validatePayload(payload: OlmPayload, event: OlmEncryptedEvent): void {\n if (payload.sender !== event.sender) {\n throw new DecryptionError(\"OLM_FORWARDED_MESSAGE\", event, {sentBy: event.sender, encryptedBy: payload.sender});\n }\n if (payload.recipient !== this.ownUserId) {\n throw new DecryptionError(\"OLM_BAD_RECIPIENT\", event, {recipient: payload.recipient});\n }\n if (payload.recipient_keys?.ed25519 !== this.account.identityKeys.ed25519) {\n throw new DecryptionError(\"OLM_BAD_RECIPIENT_KEY\", event, {key: payload.recipient_keys?.ed25519});\n }\n // TODO: check room_id\n if (!payload.type) {\n throw new DecryptionError(\"missing type on payload\", event, {payload});\n }\n if (typeof payload.keys?.ed25519 !== \"string\") {\n throw new DecryptionError(\"Missing or invalid claimed ed25519 key on payload\", event, {payload});\n }\n }\n}\n\n// decryption helper for a single senderKey\nclass SenderKeyDecryption {\n constructor(\n public readonly senderKey: string,\n public readonly sessions: Session[],\n private readonly timestamp: number\n ) {}\n\n addNewSession(session: Session): void {\n // add at top as it is most recent\n this.sessions.unshift(session);\n }\n\n decrypt(message: OlmMessage): string | undefined {\n for (const session of this.sessions) {\n const plaintext = this.decryptWithSession(session, message);\n if (typeof plaintext === \"string\") {\n // keep them sorted so will try the same session first for other messages\n // and so we can assume the excess ones are at the end\n // if they grow too large\n sortSessions(this.sessions);\n return plaintext;\n }\n }\n }\n\n getModifiedSessions(): Session[] {\n return this.sessions.filter(session => session.isModified);\n }\n\n get hasNewSessions(): boolean {\n return this.sessions.some(session => session.isNew);\n }\n\n // this could internally dispatch to a web-worker\n // and is why we unpickle/pickle on each iteration\n // if this turns out to be a real cost for IE11,\n // we could look into adding a less expensive serialization mechanism\n // for olm sessions to libolm\n private decryptWithSession(session: Session, message: OlmMessage): string | undefined {\n if (message.type === undefined || message.body === undefined) {\n throw new Error(\"Invalid message without type or body\");\n }\n const olmSession = session.load();\n try {\n if (message.type === OlmPayloadType.PreKey && !olmSession.matches_inbound(message.body)) {\n return;\n }\n try {\n const plaintext = olmSession.decrypt(message.type as number, message.body!);\n session.save(olmSession);\n session.data.lastUsed = this.timestamp;\n return plaintext;\n } catch (err) {\n if (message.type === OlmPayloadType.PreKey) {\n throw new Error(`Error decrypting prekey message with existing session id ${session.id}: ${err.message}`);\n }\n // decryption failed, bail out\n return;\n }\n } finally {\n session.unload(olmSession);\n }\n }\n}\n\n/**\n * @property {Array} results\n * @property {Array} errors see DecryptionError.event to retrieve the event that failed to decrypt.\n */\nclass DecryptionChanges {\n constructor(\n private readonly senderKeyDecryptions: SenderKeyDecryption[],\n public readonly results: DecryptionResult[],\n public readonly errors: DecryptionError[],\n private readonly account: Account,\n private readonly lock: ILock\n ) {}\n\n get hasNewSessions(): boolean {\n return this.senderKeyDecryptions.some(skd => skd.hasNewSessions);\n }\n\n write(txn: Transaction): void {\n try {\n for (const senderKeyDecryption of this.senderKeyDecryptions) {\n for (const session of senderKeyDecryption.getModifiedSessions()) {\n txn.olmSessions.set(session.data);\n if (session.isNew) {\n const olmSession = session.load();\n try {\n this.account.writeRemoveOneTimeKey(olmSession, txn);\n } finally {\n session.unload(olmSession);\n }\n }\n }\n if (senderKeyDecryption.sessions.length > SESSION_LIMIT_PER_SENDER_KEY) {\n const {senderKey, sessions} = senderKeyDecryption;\n // >= because index is zero-based\n for (let i = sessions.length - 1; i >= SESSION_LIMIT_PER_SENDER_KEY ; i -= 1) {\n const session = sessions[i];\n txn.olmSessions.remove(senderKey, session.id);\n }\n }\n }\n } finally {\n this.lock.release();\n }\n }\n}\n","/*\nCopyright 2020 The Matrix.org Foundation C.I.C.\n\nLicensed under the Apache License, Version 2.0 (the \"License\");\nyou may not use this file except in compliance with the License.\nYou may obtain a copy of the License at\n\n http://www.apache.org/licenses/LICENSE-2.0\n\nUnless required by applicable law or agreed to in writing, software\ndistributed under the License is distributed on an \"AS IS\" BASIS,\nWITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\nSee the License for the specific language governing permissions and\nlimitations under the License.\n*/\n\nimport {groupByWithCreator} from \"../../../utils/groupBy\";\nimport {verifyEd25519Signature, OLM_ALGORITHM} from \"../common.js\";\nimport {createSessionEntry} from \"./Session\";\n\nimport type {OlmMessage, OlmPayload, OlmEncryptedMessageContent} from \"./types\";\nimport type {Account} from \"../Account\";\nimport type {LockMap} from \"../../../utils/LockMap\";\nimport type {Storage} from \"../../storage/idb/Storage\";\nimport type {Transaction} from \"../../storage/idb/Transaction\";\nimport type {DeviceIdentity} from \"../../storage/idb/stores/DeviceIdentityStore\";\nimport type {HomeServerApi} from \"../../net/HomeServerApi\";\nimport type {ILogItem} from \"../../../logging/types\";\nimport type * as OlmNamespace from \"@matrix-org/olm\";\ntype Olm = typeof OlmNamespace;\n\ntype ClaimedOTKResponse = {\n [userId: string]: {\n [deviceId: string]: {\n [algorithmAndOtk: string]: {\n key: string,\n signatures: {\n [userId: string]: {\n [algorithmAndDevice: string]: string\n }\n }\n }\n }\n }\n};\n\nfunction findFirstSessionId(sessionIds) {\n return sessionIds.reduce((first, sessionId) => {\n if (!first || sessionId < first) {\n return sessionId;\n } else {\n return first;\n }\n }, null);\n}\n\nconst OTK_ALGORITHM = \"signed_curve25519\";\n// only encrypt this amount of olm messages at once otherwise we run out of wasm memory\n// with all the sessions loaded at the same time\n// See https://github.com/vector-im/hydrogen-web/issues/150 as well, which indicates the limit is 44,\n// but let's take a conservative limit as the megolm session cache also takes space\nconst MAX_BATCH_SIZE = 20;\n\nexport class Encryption {\n constructor(\n private readonly account: Account,\n private readonly pickleKey: string,\n private readonly olm: Olm,\n private readonly storage: Storage,\n private readonly now: () => number,\n private readonly ownUserId: string,\n private readonly olmUtil: Olm.Utility,\n private readonly senderKeyLock: LockMap\n ) {}\n\n async encrypt(type: string, content: Record, devices: DeviceIdentity[], hsApi: HomeServerApi, log: ILogItem): Promise {\n let messages: EncryptedMessage[] = [];\n for (let i = 0; i < devices.length ; i += MAX_BATCH_SIZE) {\n const batchDevices = devices.slice(i, i + MAX_BATCH_SIZE);\n const batchMessages = await this._encryptForMaxDevices(type, content, batchDevices, hsApi, log);\n messages = messages.concat(batchMessages);\n }\n return messages;\n }\n\n async _encryptForMaxDevices(type: string, content: Record, devices: DeviceIdentity[], hsApi: HomeServerApi, log: ILogItem): Promise {\n // TODO: see if we can only hold some of the locks until after the /keys/claim call (if needed) \n // take a lock on all senderKeys so decryption and other calls to encrypt (should not happen)\n // don't modify the sessions at the same time\n const locks = await Promise.all(devices.map(device => {\n return this.senderKeyLock.takeLock(device.curve25519Key);\n }));\n try {\n const {\n devicesWithoutSession,\n existingEncryptionTargets,\n } = await this._findExistingSessions(devices);\n \n const timestamp = this.now(); \n\n let encryptionTargets: EncryptionTarget[] = [];\n try {\n if (devicesWithoutSession.length) {\n const newEncryptionTargets = await log.wrap(\"create sessions\", log => this._createNewSessions(\n devicesWithoutSession, hsApi, timestamp, log));\n encryptionTargets = encryptionTargets.concat(newEncryptionTargets);\n }\n await this._loadSessions(existingEncryptionTargets);\n encryptionTargets = encryptionTargets.concat(existingEncryptionTargets);\n const encryptLog = {l: \"encrypt\", targets: encryptionTargets.length};\n const messages = log.wrap(encryptLog, () => encryptionTargets.map(target => {\n const encryptedContent = this._encryptForDevice(type, content, target);\n return new EncryptedMessage(encryptedContent, target.device);\n }));\n await this._storeSessions(encryptionTargets, timestamp);\n return messages;\n } finally {\n for (const target of encryptionTargets) {\n target.dispose();\n }\n }\n } finally {\n for (const lock of locks) {\n lock.release();\n }\n }\n }\n\n async _findExistingSessions(devices: DeviceIdentity[]): Promise<{devicesWithoutSession: DeviceIdentity[], existingEncryptionTargets: EncryptionTarget[]}> {\n const txn = await this.storage.readTxn([this.storage.storeNames.olmSessions]);\n const sessionIdsForDevice = await Promise.all(devices.map(async device => {\n return await txn.olmSessions.getSessionIds(device.curve25519Key);\n }));\n const devicesWithoutSession = devices.filter((_, i) => {\n const sessionIds = sessionIdsForDevice[i];\n return !(sessionIds?.length);\n });\n\n const existingEncryptionTargets = devices.map((device, i) => {\n const sessionIds = sessionIdsForDevice[i];\n if (sessionIds?.length > 0) {\n const sessionId = findFirstSessionId(sessionIds);\n return EncryptionTarget.fromSessionId(device, sessionId);\n }\n }).filter(target => !!target) as EncryptionTarget[];\n\n return {devicesWithoutSession, existingEncryptionTargets};\n }\n\n _encryptForDevice(type: string, content: Record, target: EncryptionTarget): OlmEncryptedMessageContent {\n const {session, device} = target;\n const plaintext = JSON.stringify(this._buildPlainTextMessageForDevice(type, content, device));\n const message = session!.encrypt(plaintext);\n const encryptedContent = {\n algorithm: OLM_ALGORITHM,\n sender_key: this.account.identityKeys.curve25519,\n ciphertext: {\n [device.curve25519Key]: message\n }\n };\n return encryptedContent;\n }\n\n _buildPlainTextMessageForDevice(type: string, content: Record, device: DeviceIdentity): OlmPayload {\n return {\n keys: {\n \"ed25519\": this.account.identityKeys.ed25519\n },\n recipient_keys: {\n \"ed25519\": device.ed25519Key\n },\n recipient: device.userId,\n sender: this.ownUserId,\n content,\n type\n }\n }\n\n async _createNewSessions(devicesWithoutSession: DeviceIdentity[], hsApi: HomeServerApi, timestamp: number, log: ILogItem): Promise {\n const newEncryptionTargets = await log.wrap(\"claim\", log => this._claimOneTimeKeys(hsApi, devicesWithoutSession, log));\n try {\n for (const target of newEncryptionTargets) {\n const {device, oneTimeKey} = target;\n target.session = await this.account.createOutboundOlmSession(device.curve25519Key, oneTimeKey);\n }\n await this._storeSessions(newEncryptionTargets, timestamp);\n } catch (err) {\n for (const target of newEncryptionTargets) {\n target.dispose();\n }\n throw err;\n }\n return newEncryptionTargets;\n }\n\n async _claimOneTimeKeys(hsApi: HomeServerApi, deviceIdentities: DeviceIdentity[], log: ILogItem): Promise {\n // create a Map>\n const devicesByUser = groupByWithCreator(deviceIdentities,\n (device: DeviceIdentity) => device.userId,\n (): Map => new Map(),\n (deviceMap: Map, device: DeviceIdentity) => deviceMap.set(device.deviceId, device)\n );\n const oneTimeKeys = Array.from(devicesByUser.entries()).reduce((usersObj, [userId, deviceMap]) => {\n usersObj[userId] = Array.from(deviceMap.values()).reduce((devicesObj, device) => {\n devicesObj[device.deviceId] = OTK_ALGORITHM;\n return devicesObj;\n }, {});\n return usersObj;\n }, {});\n const claimResponse = await hsApi.claimKeys({\n timeout: 10000,\n one_time_keys: oneTimeKeys\n }, {log}).response();\n if (Object.keys(claimResponse.failures).length) {\n log.log({l: \"failures\", servers: Object.keys(claimResponse.failures)}, log.level.Warn);\n }\n const userKeyMap = claimResponse?.[\"one_time_keys\"] as ClaimedOTKResponse;\n return this._verifyAndCreateOTKTargets(userKeyMap, devicesByUser, log);\n }\n\n _verifyAndCreateOTKTargets(userKeyMap: ClaimedOTKResponse, devicesByUser: Map>, log: ILogItem): EncryptionTarget[] {\n const verifiedEncryptionTargets: EncryptionTarget[] = [];\n for (const [userId, userSection] of Object.entries(userKeyMap)) {\n for (const [deviceId, deviceSection] of Object.entries(userSection)) {\n const [firstPropName, keySection] = Object.entries(deviceSection)[0];\n const [keyAlgorithm] = firstPropName.split(\":\");\n if (keyAlgorithm === OTK_ALGORITHM) {\n const device = devicesByUser.get(userId)?.get(deviceId);\n if (device) {\n const isValidSignature = verifyEd25519Signature(\n this.olmUtil, userId, deviceId, device.ed25519Key, keySection, log);\n if (isValidSignature) {\n const target = EncryptionTarget.fromOTK(device, keySection.key);\n verifiedEncryptionTargets.push(target);\n }\n }\n }\n } \n }\n return verifiedEncryptionTargets;\n }\n\n async _loadSessions(encryptionTargets: EncryptionTarget[]): Promise {\n const txn = await this.storage.readTxn([this.storage.storeNames.olmSessions]);\n // given we run loading in parallel, there might still be some\n // storage requests that will finish later once one has failed.\n // those should not allocate a session anymore.\n let failed = false;\n try {\n await Promise.all(encryptionTargets.map(async encryptionTarget => {\n const sessionEntry = await txn.olmSessions.get(\n encryptionTarget.device.curve25519Key, encryptionTarget.sessionId!);\n if (sessionEntry && !failed) {\n const olmSession = new this.olm.Session();\n olmSession.unpickle(this.pickleKey, sessionEntry.session);\n encryptionTarget.session = olmSession;\n }\n }));\n } catch (err) {\n failed = true;\n // clean up the sessions that did load\n for (const target of encryptionTargets) {\n target.dispose();\n }\n throw err;\n }\n }\n\n async _storeSessions(encryptionTargets: EncryptionTarget[], timestamp: number): Promise {\n const txn = await this.storage.readWriteTxn([this.storage.storeNames.olmSessions]);\n try {\n for (const target of encryptionTargets) {\n const sessionEntry = createSessionEntry(\n target.session!, target.device.curve25519Key, timestamp, this.pickleKey);\n txn.olmSessions.set(sessionEntry);\n }\n } catch (err) {\n txn.abort();\n throw err;\n }\n await txn.complete();\n }\n}\n\n// just a container needed to encrypt a message for a recipient device\n// it is constructed with either a oneTimeKey\n// (and later converted to a session) in case of a new session\n// or an existing session\nclass EncryptionTarget {\n \n public session: Olm.Session | null = null;\n\n constructor(\n public readonly device: DeviceIdentity, \n public readonly oneTimeKey: string | null,\n public readonly sessionId: string | null\n ) {}\n\n static fromOTK(device: DeviceIdentity, oneTimeKey: string): EncryptionTarget {\n return new EncryptionTarget(device, oneTimeKey, null);\n }\n\n static fromSessionId(device: DeviceIdentity, sessionId: string): EncryptionTarget {\n return new EncryptionTarget(device, null, sessionId);\n }\n\n dispose(): void {\n if (this.session) {\n this.session.free();\n }\n }\n}\n\nclass EncryptedMessage {\n constructor(\n public readonly content: OlmEncryptedMessageContent,\n public readonly device: DeviceIdentity\n ) {}\n}\n","/*\nCopyright 2020 The Matrix.org Foundation C.I.C.\n\nLicensed under the Apache License, Version 2.0 (the \"License\");\nyou may not use this file except in compliance with the License.\nYou may obtain a copy of the License at\n\n http://www.apache.org/licenses/LICENSE-2.0\n\nUnless required by applicable law or agreed to in writing, software\ndistributed under the License is distributed on an \"AS IS\" BASIS,\nWITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\nSee the License for the specific language governing permissions and\nlimitations under the License.\n*/\n\nimport {DecryptionError} from \"../../common.js\";\n\nexport class DecryptionChanges {\n constructor(roomId, results, errors, replayEntries) {\n this._roomId = roomId;\n this._results = results;\n this._errors = errors;\n this._replayEntries = replayEntries;\n }\n\n /**\n * @type MegolmBatchDecryptionResult\n * @property {Map} results a map of event id to decryption result\n * @property {Map} errors event id -> errors\n * \n * Handle replay attack detection, and return result\n * @param {[type]} txn [description]\n * @return {MegolmBatchDecryptionResult}\n */\n async write(txn) {\n await Promise.all(this._replayEntries.map(async replayEntry => {\n try {\n this._handleReplayAttack(this._roomId, replayEntry, txn);\n } catch (err) {\n this._errors.set(replayEntry.eventId, err);\n }\n }));\n return {\n results: this._results,\n errors: this._errors\n };\n }\n\n // need to handle replay attack because\n // if we redecrypted the same message twice and showed it again\n // then it could be a malicious server admin replaying the word “yes”\n // to make you respond to a msg you didn’t say “yes” to, or something\n async _handleReplayAttack(roomId, replayEntry, txn) {\n const {messageIndex, sessionId, eventId, timestamp} = replayEntry;\n const decryption = await txn.groupSessionDecryptions.get(roomId, sessionId, messageIndex);\n\n if (decryption && decryption.eventId !== eventId) {\n // the one with the newest timestamp should be the attack\n const decryptedEventIsBad = decryption.timestamp < timestamp;\n const badEventId = decryptedEventIsBad ? eventId : decryption.eventId;\n // discard result\n this._results.delete(eventId);\n\n throw new DecryptionError(\"MEGOLM_REPLAYED_INDEX\", event, {\n messageIndex,\n badEventId,\n otherEventId: decryption.eventId\n });\n }\n\n if (!decryption) {\n txn.groupSessionDecryptions.set(roomId, sessionId, messageIndex, {\n eventId,\n timestamp\n });\n }\n }\n}\n","/*\nCopyright 2020 Bruno Windels \n\nLicensed under the Apache License, Version 2.0 (the \"License\");\nyou may not use this file except in compliance with the License.\nYou may obtain a copy of the License at\n\n http://www.apache.org/licenses/LICENSE-2.0\n\nUnless required by applicable law or agreed to in writing, software\ndistributed under the License is distributed on an \"AS IS\" BASIS,\nWITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\nSee the License for the specific language governing permissions and\nlimitations under the License.\n*/\n\nexport function mergeMap(src: Map | undefined, dst: Map): void {\n if (src) {\n for (const [key, value] of src.entries()) {\n dst.set(key, value);\n }\n }\n}\n\nexport function tests() {\n return {\n \"mergeMap with src\": assert => {\n const src = new Map();\n src.set(1, \"a\");\n const dst = new Map();\n dst.set(2, \"b\");\n mergeMap(src, dst);\n assert.equal(dst.get(1), \"a\");\n assert.equal(dst.get(2), \"b\");\n assert.equal(src.get(2), null);\n },\n \"mergeMap without src doesn't fail\": () => {\n mergeMap(undefined, new Map());\n }\n }\n}\n","/*\nCopyright 2020 The Matrix.org Foundation C.I.C.\n\nLicensed under the Apache License, Version 2.0 (the \"License\");\nyou may not use this file except in compliance with the License.\nYou may obtain a copy of the License at\n\n http://www.apache.org/licenses/LICENSE-2.0\n\nUnless required by applicable law or agreed to in writing, software\ndistributed under the License is distributed on an \"AS IS\" BASIS,\nWITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\nSee the License for the specific language governing permissions and\nlimitations under the License.\n*/\n\nimport {DecryptionChanges} from \"./DecryptionChanges.js\";\nimport {mergeMap} from \"../../../../utils/mergeMap\";\n\n/**\n * Class that contains all the state loaded from storage to decrypt the given events\n */\nexport class DecryptionPreparation {\n constructor(roomId, sessionDecryptions, errors) {\n this._roomId = roomId;\n this._sessionDecryptions = sessionDecryptions;\n this._initialErrors = errors;\n }\n\n async decrypt() {\n try {\n const errors = this._initialErrors;\n const results = new Map();\n const replayEntries = [];\n await Promise.all(this._sessionDecryptions.map(async sessionDecryption => {\n const sessionResult = await sessionDecryption.decryptAll();\n mergeMap(sessionResult.errors, errors);\n mergeMap(sessionResult.results, results);\n replayEntries.push(...sessionResult.replayEntries);\n }));\n return new DecryptionChanges(this._roomId, results, errors, replayEntries);\n } finally {\n this.dispose();\n }\n }\n\n dispose() {\n for (const sd of this._sessionDecryptions) {\n sd.dispose();\n }\n }\n}\n","/*\nCopyright 2020 The Matrix.org Foundation C.I.C.\n\nLicensed under the Apache License, Version 2.0 (the \"License\");\nyou may not use this file except in compliance with the License.\nYou may obtain a copy of the License at\n\n http://www.apache.org/licenses/LICENSE-2.0\n\nUnless required by applicable law or agreed to in writing, software\ndistributed under the License is distributed on an \"AS IS\" BASIS,\nWITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\nSee the License for the specific language governing permissions and\nlimitations under the License.\n*/\n\nimport type {TimelineEvent} from \"../../../storage/types\";\n\nexport class ReplayDetectionEntry {\n public readonly sessionId: string;\n public readonly messageIndex: number;\n public readonly event: TimelineEvent;\n\n constructor(sessionId: string, messageIndex: number, event: TimelineEvent) {\n this.sessionId = sessionId;\n this.messageIndex = messageIndex;\n this.event = event;\n }\n\n get eventId(): string {\n return this.event.event_id;\n }\n\n get timestamp(): number {\n return this.event.origin_server_ts;\n }\n}\n","/*\nCopyright 2020 The Matrix.org Foundation C.I.C.\n\nLicensed under the Apache License, Version 2.0 (the \"License\");\nyou may not use this file except in compliance with the License.\nYou may obtain a copy of the License at\n\n http://www.apache.org/licenses/LICENSE-2.0\n\nUnless required by applicable law or agreed to in writing, software\ndistributed under the License is distributed on an \"AS IS\" BASIS,\nWITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\nSee the License for the specific language governing permissions and\nlimitations under the License.\n*/\n\nimport {DecryptionResult} from \"../../DecryptionResult\";\nimport {DecryptionError} from \"../../common.js\";\nimport {ReplayDetectionEntry} from \"./ReplayDetectionEntry\";\nimport type {RoomKey} from \"./RoomKey\";\nimport type {KeyLoader, OlmDecryptionResult} from \"./KeyLoader\";\nimport type {OlmWorker} from \"../../OlmWorker\";\nimport type {TimelineEvent} from \"../../../storage/types\";\n\ninterface DecryptAllResult {\n readonly results: Map;\n readonly errors?: Map;\n readonly replayEntries: ReplayDetectionEntry[];\n}\n/**\n * Does the actual decryption of all events for a given megolm session in a batch\n */\nexport class SessionDecryption {\n private key: RoomKey;\n private events: TimelineEvent[];\n private keyLoader: KeyLoader;\n private olmWorker?: OlmWorker;\n private decryptionRequests?: any[];\n\n constructor(key: RoomKey, events: TimelineEvent[], olmWorker: OlmWorker | undefined, keyLoader: KeyLoader) {\n this.key = key;\n this.events = events;\n this.olmWorker = olmWorker;\n this.keyLoader = keyLoader;\n this.decryptionRequests = olmWorker ? [] : undefined;\n }\n\n async decryptAll(): Promise {\n const replayEntries: ReplayDetectionEntry[] = [];\n const results: Map = new Map();\n let errors: Map | undefined;\n\n await this.keyLoader.useKey(this.key, async session => {\n for (const event of this.events) {\n try {\n const ciphertext = event.content.ciphertext as string;\n let decryptionResult: OlmDecryptionResult | undefined;\n // TODO: pass all cipthertexts in one go to the megolm worker and don't deserialize the key until in the worker?\n if (this.olmWorker) {\n const request = this.olmWorker.megolmDecrypt(session, ciphertext);\n this.decryptionRequests!.push(request);\n decryptionResult = await request.response();\n } else {\n decryptionResult = session.decrypt(ciphertext) as OlmDecryptionResult;\n }\n const {plaintext} = decryptionResult!;\n let payload;\n try {\n payload = JSON.parse(plaintext);\n } catch (err) {\n throw new DecryptionError(\"PLAINTEXT_NOT_JSON\", event, {plaintext, err});\n }\n if (payload.room_id !== this.key.roomId) {\n throw new DecryptionError(\"MEGOLM_WRONG_ROOM\", event,\n {encryptedRoomId: payload.room_id, eventRoomId: this.key.roomId});\n }\n replayEntries.push(new ReplayDetectionEntry(this.key.sessionId, decryptionResult!.message_index, event));\n const result = new DecryptionResult(payload, this.key.senderKey, this.key.claimedEd25519Key);\n results.set(event.event_id, result);\n } catch (err) {\n // ignore AbortError from cancelling decryption requests in dispose method\n if (err.name === \"AbortError\") {\n return;\n }\n if (!errors) {\n errors = new Map();\n }\n errors.set(event.event_id, err);\n }\n }\n });\n\n return {results, errors, replayEntries};\n }\n\n dispose() {\n if (this.decryptionRequests) {\n for (const r of this.decryptionRequests) {\n r.abort();\n }\n }\n }\n}\n","/*\nCopyright 2020 The Matrix.org Foundation C.I.C.\n\nLicensed under the Apache License, Version 2.0 (the \"License\");\nyou may not use this file except in compliance with the License.\nYou may obtain a copy of the License at\n\n http://www.apache.org/licenses/LICENSE-2.0\n\nUnless required by applicable law or agreed to in writing, software\ndistributed under the License is distributed on an \"AS IS\" BASIS,\nWITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\nSee the License for the specific language governing permissions and\nlimitations under the License.\n*/\n\nimport {groupByWithCreator} from \"../../../../utils/groupBy\";\nimport type {TimelineEvent} from \"../../../storage/types\";\n\nfunction getSenderKey(event: TimelineEvent): string | undefined {\n return event.content?.[\"sender_key\"];\n}\n\nfunction getSessionId(event: TimelineEvent): string | undefined {\n return event.content?.[\"session_id\"];\n}\n\nfunction getCiphertext(event: TimelineEvent): string | undefined {\n return event.content?.ciphertext;\n}\n\nexport function validateEvent(event: TimelineEvent) {\n return typeof getSenderKey(event) === \"string\" &&\n typeof getSessionId(event) === \"string\" &&\n typeof getCiphertext(event) === \"string\";\n}\n\nexport class SessionKeyGroup {\n public readonly events: TimelineEvent[];\n constructor() {\n this.events = [];\n }\n\n get senderKey(): string | undefined {\n return getSenderKey(this.events[0]!);\n }\n\n get sessionId(): string | undefined {\n return getSessionId(this.events[0]!);\n }\n}\n\nexport function groupEventsBySession(events: TimelineEvent[]): Map {\n return groupByWithCreator(events,\n (event: TimelineEvent) => `${getSenderKey(event)}|${getSessionId(event)}`,\n () => new SessionKeyGroup(),\n (group: SessionKeyGroup, event: TimelineEvent) => group.events.push(event)\n );\n}\n","/*\nCopyright 2021 The Matrix.org Foundation C.I.C.\n\nLicensed under the Apache License, Version 2.0 (the \"License\");\nyou may not use this file except in compliance with the License.\nYou may obtain a copy of the License at\n\n http://www.apache.org/licenses/LICENSE-2.0\n\nUnless required by applicable law or agreed to in writing, software\ndistributed under the License is distributed on an \"AS IS\" BASIS,\nWITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\nSee the License for the specific language governing permissions and\nlimitations under the License.\n*/\n\nimport {BackupStatus, KeySource} from \"../../../storage/idb/stores/InboundGroupSessionStore\";\nimport type {InboundGroupSessionEntry} from \"../../../storage/idb/stores/InboundGroupSessionStore\";\nimport type {Transaction} from \"../../../storage/idb/Transaction\";\nimport type {DecryptionResult} from \"../../DecryptionResult\";\nimport type {KeyLoader} from \"./KeyLoader\";\nimport type * as OlmNamespace from \"@matrix-org/olm\";\ntype Olm = typeof OlmNamespace;\n\nexport abstract class RoomKey {\n private _isBetter: boolean | undefined;\n\n isForSession(roomId: string, senderKey: string, sessionId: string) {\n return this.roomId === roomId && this.senderKey === senderKey && this.sessionId === sessionId;\n }\n\n abstract get roomId(): string;\n abstract get senderKey(): string;\n abstract get sessionId(): string;\n abstract get claimedEd25519Key(): string;\n abstract get serializationKey(): string;\n abstract get serializationType(): string;\n abstract get eventIds(): string[] | undefined;\n abstract loadInto(session: Olm.InboundGroupSession, pickleKey: string): void;\n /* Whether the key has been checked against storage (or is from storage)\n * to be the better key for a given session. Given that all keys are checked to be better\n * as part of writing, we can trust that when this returns true, it really is the best key\n * available between storage and cached keys in memory. This is why keys with this field set to\n * true are used by the key loader to return cached keys. Also see KeyOperation.isBest there. */\n get isBetter(): boolean | undefined { return this._isBetter; }\n // should only be set in key.checkBetterThanKeyInStorage\n set isBetter(value: boolean | undefined) { this._isBetter = value; }\n}\n\nexport function isBetterThan(newSession: Olm.InboundGroupSession, existingSession: Olm.InboundGroupSession) {\n return newSession.first_known_index() < existingSession.first_known_index();\n}\n\nexport abstract class IncomingRoomKey extends RoomKey {\n private _eventIds?: string[];\n \n checkBetterThanKeyInStorage(loader: KeyLoader, txn: Transaction): Promise {\n return this._checkBetterThanKeyInStorage(loader, undefined, txn);\n }\n\n async write(loader: KeyLoader, txn: Transaction): Promise {\n // we checked already and we had a better session in storage, so don't write\n let pickledSession: string | undefined;\n if (this.isBetter === undefined) {\n // if this key wasn't used to decrypt any messages in the same sync,\n // we haven't checked if this is the best key yet,\n // so do that now to not overwrite a better key.\n // while we have the key deserialized, also pickle it to store it later on here.\n await this._checkBetterThanKeyInStorage(loader, (session, pickleKey) => {\n pickledSession = session.pickle(pickleKey);\n }, txn);\n }\n if (this.isBetter === false) {\n return false;\n }\n // before calling write in parallel, we need to check loader.running is false so we are sure our transaction will not be closed\n if (!pickledSession) {\n pickledSession = await loader.useKey(this, (session, pickleKey) => session.pickle(pickleKey));\n }\n const sessionEntry = {\n roomId: this.roomId,\n senderKey: this.senderKey,\n sessionId: this.sessionId,\n session: pickledSession,\n backup: this.backupStatus,\n source: this.keySource,\n claimedKeys: {\"ed25519\": this.claimedEd25519Key},\n };\n txn.inboundGroupSessions.set(sessionEntry);\n return true;\n }\n\n get eventIds() { return this._eventIds; }\n\n private async _checkBetterThanKeyInStorage(loader: KeyLoader, callback: (((session: Olm.InboundGroupSession, pickleKey: string) => void) | undefined), txn: Transaction): Promise {\n if (this.isBetter !== undefined) {\n return this.isBetter;\n }\n let existingKey = loader.getCachedKey(this.roomId, this.senderKey, this.sessionId);\n if (!existingKey) {\n const storageKey = await keyFromStorage(this.roomId, this.senderKey, this.sessionId, txn);\n // store the event ids that can be decrypted with this key\n // before we overwrite them if called from `write`.\n if (storageKey) {\n if (storageKey.hasSession) {\n existingKey = storageKey;\n } else if (storageKey.eventIds) {\n this._eventIds = storageKey.eventIds;\n }\n }\n }\n if (existingKey) {\n const key = existingKey;\n await loader.useKey(this, async newSession => {\n await loader.useKey(key, (existingSession, pickleKey) => {\n // set isBetter as soon as possible, on both keys compared, \n // as it is is used to determine whether a key can be used for the cache\n this.isBetter = isBetterThan(newSession, existingSession);\n key.isBetter = !this.isBetter;\n if (this.isBetter && callback) {\n callback(newSession, pickleKey);\n }\n });\n });\n } else {\n // no previous key, so we're the best \\o/\n this.isBetter = true;\n }\n return this.isBetter!;\n }\n\n protected get backupStatus(): BackupStatus {\n return BackupStatus.NotBackedUp;\n }\n\n protected abstract get keySource(): KeySource;\n}\n\nclass DeviceMessageRoomKey extends IncomingRoomKey {\n private _decryptionResult: DecryptionResult;\n\n constructor(decryptionResult: DecryptionResult) {\n super();\n this._decryptionResult = decryptionResult;\n }\n\n get roomId() { return this._decryptionResult.event.content?.[\"room_id\"]; }\n get senderKey() { return this._decryptionResult.senderCurve25519Key; }\n get sessionId() { return this._decryptionResult.event.content?.[\"session_id\"]; }\n get claimedEd25519Key() { return this._decryptionResult.claimedEd25519Key; }\n get serializationKey(): string { return this._decryptionResult.event.content?.[\"session_key\"]; }\n get serializationType(): string { return \"create\"; }\n protected get keySource(): KeySource { return KeySource.DeviceMessage; }\n\n loadInto(session) {\n session.create(this.serializationKey);\n }\n}\n\n// a room key we send out ourselves,\n// here adapted to write it as an incoming key\n// as we don't send it to ourself with a to_device msg\nexport class OutboundRoomKey extends IncomingRoomKey {\n private _sessionKey: string;\n\n constructor(\n private readonly _roomId: string,\n private readonly outboundSession: Olm.OutboundGroupSession,\n private readonly identityKeys: {[algo: string]: string}\n ) {\n super();\n // this is a new key, so always better than what might be in storage, no need to check\n this.isBetter = true;\n // cache this, as it is used by key loader to find a matching key and\n // this calls into WASM so is not just reading a prop\n this._sessionKey = this.outboundSession.session_key();\n }\n\n get roomId(): string { return this._roomId; }\n get senderKey(): string { return this.identityKeys.curve25519; }\n get sessionId(): string { return this.outboundSession.session_id(); }\n get claimedEd25519Key(): string { return this.identityKeys.ed25519; }\n get serializationKey(): string { return this._sessionKey; }\n get serializationType(): string { return \"create\"; }\n protected get keySource(): KeySource { return KeySource.Outbound; }\n\n loadInto(session: Olm.InboundGroupSession) {\n session.create(this.serializationKey);\n }\n}\n\nclass BackupRoomKey extends IncomingRoomKey {\n constructor(private _roomId: string, private _sessionId: string, private _backupInfo: object) {\n super();\n }\n\n get roomId() { return this._roomId; }\n get senderKey() { return this._backupInfo[\"sender_key\"]; }\n get sessionId() { return this._sessionId; }\n get claimedEd25519Key() { return this._backupInfo[\"sender_claimed_keys\"]?.[\"ed25519\"]; }\n get serializationKey(): string { return this._backupInfo[\"session_key\"]; }\n get serializationType(): string { return \"import_session\"; }\n protected get keySource(): KeySource { return KeySource.Backup; }\n\n loadInto(session) {\n session.import_session(this.serializationKey);\n }\n\n protected get backupStatus(): BackupStatus {\n return BackupStatus.BackedUp;\n }\n}\n\nexport class StoredRoomKey extends RoomKey {\n private storageEntry: InboundGroupSessionEntry;\n\n constructor(storageEntry: InboundGroupSessionEntry) {\n super();\n this.isBetter = true; // usually the key in storage is the best until checks prove otherwise\n this.storageEntry = storageEntry;\n }\n\n get roomId() { return this.storageEntry.roomId; }\n get senderKey() { return this.storageEntry.senderKey; }\n get sessionId() { return this.storageEntry.sessionId; }\n get claimedEd25519Key() { return this.storageEntry.claimedKeys![\"ed25519\"]; }\n get eventIds() { return this.storageEntry.eventIds; }\n get serializationKey(): string { return this.storageEntry.session || \"\"; }\n get serializationType(): string { return \"unpickle\"; }\n \n loadInto(session, pickleKey) {\n session.unpickle(pickleKey, this.serializationKey);\n }\n\n get hasSession() {\n // sessions are stored before they are received\n // to keep track of events that need it to be decrypted.\n // This is used to retry decryption of those events once the session is received.\n return !!this.serializationKey;\n }\n}\n\nexport function keyFromDeviceMessage(dr: DecryptionResult): DeviceMessageRoomKey | undefined {\n const sessionKey = dr.event.content?.[\"session_key\"];\n const key = new DeviceMessageRoomKey(dr);\n if (\n typeof key.roomId === \"string\" && \n typeof key.sessionId === \"string\" && \n typeof key.senderKey === \"string\" &&\n typeof sessionKey === \"string\"\n ) {\n return key;\n }\n}\n\n/*\nsessionInfo is a response from key backup and has the following keys:\n algorithm\n forwarding_curve25519_key_chain\n sender_claimed_keys\n sender_key\n session_key\n */\nexport function keyFromBackup(roomId, sessionId, backupInfo): BackupRoomKey | undefined {\n const sessionKey = backupInfo[\"session_key\"];\n const senderKey = backupInfo[\"sender_key\"];\n // TODO: can we just trust this?\n const claimedEd25519Key = backupInfo[\"sender_claimed_keys\"]?.[\"ed25519\"];\n\n if (\n typeof roomId === \"string\" && \n typeof sessionId === \"string\" && \n typeof senderKey === \"string\" &&\n typeof sessionKey === \"string\" &&\n typeof claimedEd25519Key === \"string\"\n ) {\n return new BackupRoomKey(roomId, sessionId, backupInfo);\n }\n}\n\nexport async function keyFromStorage(roomId: string, senderKey: string, sessionId: string, txn: Transaction): Promise {\n const existingSessionEntry = await txn.inboundGroupSessions.get(roomId, senderKey, sessionId);\n if (existingSessionEntry) {\n return new StoredRoomKey(existingSessionEntry);\n }\n return;\n}\n","/*\nCopyright 2020 The Matrix.org Foundation C.I.C.\n\nLicensed under the Apache License, Version 2.0 (the \"License\");\nyou may not use this file except in compliance with the License.\nYou may obtain a copy of the License at\n\n http://www.apache.org/licenses/LICENSE-2.0\n\nUnless required by applicable law or agreed to in writing, software\ndistributed under the License is distributed on an \"AS IS\" BASIS,\nWITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\nSee the License for the specific language governing permissions and\nlimitations under the License.\n*/\n\nimport {DecryptionError} from \"../common.js\";\nimport {DecryptionPreparation} from \"./decryption/DecryptionPreparation.js\";\nimport {SessionDecryption} from \"./decryption/SessionDecryption\";\nimport {MEGOLM_ALGORITHM} from \"../common.js\";\nimport {validateEvent, groupEventsBySession} from \"./decryption/utils\";\nimport {keyFromStorage, keyFromDeviceMessage, keyFromBackup} from \"./decryption/RoomKey\";\nimport type {RoomKey, IncomingRoomKey} from \"./decryption/RoomKey\";\nimport type {KeyLoader} from \"./decryption/KeyLoader\";\nimport type {OlmWorker} from \"../OlmWorker\";\nimport type {Transaction} from \"../../storage/idb/Transaction\";\nimport type {TimelineEvent} from \"../../storage/types\";\nimport type {DecryptionResult} from \"../DecryptionResult\";\nimport type {ILogItem} from \"../../../logging/types\";\n\nexport class Decryption {\n private keyLoader: KeyLoader;\n private olmWorker?: OlmWorker;\n\n constructor(keyLoader: KeyLoader, olmWorker: OlmWorker | undefined) {\n this.keyLoader = keyLoader;\n this.olmWorker = olmWorker;\n }\n\n async addMissingKeyEventIds(roomId, senderKey, sessionId, eventIds, txn) {\n let sessionEntry = await txn.inboundGroupSessions.get(roomId, senderKey, sessionId);\n // we never want to overwrite an existing key\n if (sessionEntry?.session) {\n return;\n }\n if (sessionEntry) {\n const uniqueEventIds = new Set(sessionEntry.eventIds);\n for (const id of eventIds) {\n uniqueEventIds.add(id);\n }\n sessionEntry.eventIds = Array.from(uniqueEventIds);\n } else {\n sessionEntry = {roomId, senderKey, sessionId, eventIds};\n }\n txn.inboundGroupSessions.set(sessionEntry);\n }\n\n async getEventIdsForMissingKey(roomId, senderKey, sessionId, txn) {\n const sessionEntry = await txn.inboundGroupSessions.get(roomId, senderKey, sessionId);\n if (sessionEntry && !sessionEntry.session) {\n return sessionEntry.eventIds;\n }\n }\n\n async hasSession(roomId, senderKey, sessionId, txn) {\n const sessionEntry = await txn.inboundGroupSessions.get(roomId, senderKey, sessionId);\n const isValidSession = typeof sessionEntry?.session === \"string\";\n return isValidSession;\n }\n\n /**\n * Reads all the state from storage to be able to decrypt the given events.\n * Decryption can then happen outside of a storage transaction.\n * @param {[type]} roomId [description]\n * @param {[type]} events [description]\n * @param {RoomKey[]?} newKeys keys as returned from extractRoomKeys, but not yet committed to storage. May be undefined.\n * @param {[type]} sessionCache [description]\n * @param {[type]} txn [description]\n * @return {DecryptionPreparation}\n */\n async prepareDecryptAll(roomId: string, events: TimelineEvent[], newKeys: IncomingRoomKey[] | undefined, txn: Transaction) {\n const errors = new Map();\n const validEvents: TimelineEvent[] = [];\n\n for (const event of events) {\n if (validateEvent(event)) {\n validEvents.push(event);\n } else {\n errors.set(event.event_id, new DecryptionError(\"MEGOLM_INVALID_EVENT\", event))\n }\n }\n\n const eventsBySession = groupEventsBySession(validEvents);\n\n const sessionDecryptions: SessionDecryption[] = [];\n await Promise.all(Array.from(eventsBySession.values()).map(async group => {\n const key = await this.getRoomKey(roomId, group.senderKey!, group.sessionId!, newKeys, txn);\n if (key) {\n sessionDecryptions.push(new SessionDecryption(key, group.events, this.olmWorker, this.keyLoader));\n } else {\n for (const event of group.events) {\n errors.set(event.event_id, new DecryptionError(\"MEGOLM_NO_SESSION\", event));\n }\n }\n }));\n\n return new DecryptionPreparation(roomId, sessionDecryptions, errors);\n }\n\n private async getRoomKey(roomId: string, senderKey: string, sessionId: string, newKeys: IncomingRoomKey[] | undefined, txn: Transaction): Promise {\n if (newKeys) {\n const key = newKeys.find(k => k.isForSession(roomId, senderKey, sessionId));\n if (key && await key.checkBetterThanKeyInStorage(this.keyLoader, txn)) {\n return key;\n }\n }\n // look only in the cache after looking into newKeys as it may contains that are better\n const cachedKey = this.keyLoader.getCachedKey(roomId, senderKey, sessionId);\n if (cachedKey) {\n return cachedKey;\n }\n const storageKey = await keyFromStorage(roomId, senderKey, sessionId, txn);\n if (storageKey && storageKey.serializationKey) {\n return storageKey;\n }\n }\n\n /**\n * Writes the key as an inbound group session if there is not already a better key in the store\n */\n writeRoomKey(key: IncomingRoomKey, txn: Transaction): Promise {\n return key.write(this.keyLoader, txn);\n }\n\n /**\n * Extracts room keys from decrypted device messages.\n * The key won't be persisted yet, you need to call RoomKey.write for that.\n */\n roomKeysFromDeviceMessages(decryptionResults: DecryptionResult[], log: ILogItem): IncomingRoomKey[] {\n const keys: IncomingRoomKey[] = [];\n for (const dr of decryptionResults) {\n if (dr.event?.type !== \"m.room_key\" || dr.event.content?.algorithm !== MEGOLM_ALGORITHM) {\n continue;\n }\n log.wrap(\"room_key\", log => {\n const key = keyFromDeviceMessage(dr);\n if (key) {\n log.set(\"roomId\", key.roomId);\n log.set(\"id\", key.sessionId);\n keys.push(key);\n } else {\n log.logLevel = log.level.Warn;\n log.set(\"invalid\", true);\n }\n }, log.level.Detail);\n }\n return keys;\n }\n\n roomKeyFromBackup(roomId: string, sessionId: string, sessionInfo: string): IncomingRoomKey | undefined {\n return keyFromBackup(roomId, sessionId, sessionInfo);\n }\n\n dispose() {\n this.keyLoader.dispose();\n }\n}\n","/*\nCopyright 2021 The Matrix.org Foundation C.I.C.\n\nLicensed under the Apache License, Version 2.0 (the \"License\");\nyou may not use this file except in compliance with the License.\nYou may obtain a copy of the License at\n\n http://www.apache.org/licenses/LICENSE-2.0\n\nUnless required by applicable law or agreed to in writing, software\ndistributed under the License is distributed on an \"AS IS\" BASIS,\nWITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\nSee the License for the specific language governing permissions and\nlimitations under the License.\n*/\n\nimport {isBetterThan, IncomingRoomKey} from \"./RoomKey\";\nimport {BaseLRUCache} from \"../../../../utils/LRUCache\";\nimport type {RoomKey} from \"./RoomKey\";\nimport type * as OlmNamespace from \"@matrix-org/olm\";\ntype Olm = typeof OlmNamespace;\n\nexport declare class OlmDecryptionResult {\n readonly plaintext: string;\n readonly message_index: number;\n}\n\n/*\nBecause Olm only has very limited memory available when compiled to wasm,\nwe limit the amount of sessions held in memory.\n*/\nexport class KeyLoader extends BaseLRUCache {\n\n private pickleKey: string;\n private olm: Olm;\n private resolveUnusedOperation?: () => void;\n private operationBecomesUnusedPromise?: Promise;\n\n constructor(olm: Olm, pickleKey: string, limit: number) {\n super(limit);\n this.pickleKey = pickleKey;\n this.olm = olm;\n }\n\n getCachedKey(roomId: string, senderKey: string, sessionId: string): RoomKey | undefined {\n const idx = this.findCachedKeyIndex(roomId, senderKey, sessionId);\n if (idx !== -1) {\n return this._getByIndexAndMoveUp(idx)!.key;\n }\n }\n\n async useKey(key: RoomKey, callback: (session: Olm.InboundGroupSession, pickleKey: string) => Promise | T): Promise {\n const keyOp = await this.allocateOperation(key);\n try {\n return await callback(keyOp.session, this.pickleKey);\n } finally {\n this.releaseOperation(keyOp);\n }\n }\n\n get running() {\n return this._entries.some(op => op.refCount !== 0);\n }\n\n dispose() {\n for (let i = 0; i < this._entries.length; i += 1) {\n this._entries[i].dispose();\n }\n // remove all entries\n this._entries.splice(0, this._entries.length);\n }\n\n private async allocateOperation(key: RoomKey): Promise {\n let idx;\n while((idx = this.findIndexForAllocation(key)) === -1) {\n await this.operationBecomesUnused();\n }\n if (idx < this.size) {\n const op = this._getByIndexAndMoveUp(idx)!;\n // cache hit\n if (op.isForKey(key)) {\n op.refCount += 1;\n return op;\n } else {\n // refCount should be 0 here\n op.refCount = 1;\n op.key = key;\n key.loadInto(op.session, this.pickleKey);\n }\n return op;\n } else {\n // create new operation\n const session = new this.olm.InboundGroupSession();\n key.loadInto(session, this.pickleKey);\n const op = new KeyOperation(key, session);\n this._set(op);\n return op;\n }\n }\n\n private releaseOperation(op: KeyOperation) {\n op.refCount -= 1;\n if (op.refCount <= 0 && this.resolveUnusedOperation) {\n this.resolveUnusedOperation();\n // promise is resolved now, we'll need a new one for next await so clear\n this.operationBecomesUnusedPromise = this.resolveUnusedOperation = undefined;\n }\n }\n\n private operationBecomesUnused(): Promise {\n if (!this.operationBecomesUnusedPromise) {\n this.operationBecomesUnusedPromise = new Promise(resolve => {\n this.resolveUnusedOperation = resolve;\n });\n }\n return this.operationBecomesUnusedPromise;\n }\n\n private findIndexForAllocation(key: RoomKey) {\n let idx = this.findIndexSameKey(key); // cache hit\n if (idx === -1) {\n if (this.size < this.limit) {\n idx = this.size;\n } else {\n idx = this.findIndexSameSessionUnused(key);\n if (idx === -1) {\n idx = this.findIndexOldestUnused();\n }\n }\n }\n return idx;\n }\n\n private findCachedKeyIndex(roomId: string, senderKey: string, sessionId: string): number {\n return this._entries.reduce((bestIdx, op, i, arr) => {\n const bestOp = bestIdx === -1 ? undefined : arr[bestIdx];\n // only operations that are the \"best\" for their session can be used, see comment on isBest\n if (op.isBest === true && op.isForSameSession(roomId, senderKey, sessionId)) {\n if (!bestOp || op.isBetter(bestOp)) {\n return i;\n }\n }\n return bestIdx;\n }, -1);\n }\n\n private findIndexSameKey(key: RoomKey): number {\n return this._entries.findIndex(op => {\n return op.isForSameSession(key.roomId, key.senderKey, key.sessionId) && op.isForKey(key);\n });\n }\n\n private findIndexSameSessionUnused(key: RoomKey): number {\n return this._entries.reduce((worstIdx, op, i, arr) => {\n const worst = worstIdx === -1 ? undefined : arr[worstIdx];\n // we try to pick the worst operation to overwrite, so the best one stays in the cache\n if (op.refCount === 0 && op.isForSameSession(key.roomId, key.senderKey, key.sessionId)) {\n if (!worst || !op.isBetter(worst)) {\n return i;\n }\n }\n return worstIdx;\n }, -1);\n }\n\n private findIndexOldestUnused(): number {\n for (let i = this._entries.length - 1; i >= 0; i -= 1) {\n const op = this._entries[i];\n if (op.refCount === 0) {\n return i;\n }\n }\n return -1;\n }\n}\n\nclass KeyOperation {\n session: Olm.InboundGroupSession;\n key: RoomKey;\n refCount: number;\n\n constructor(key: RoomKey, session: Olm.InboundGroupSession) {\n this.key = key;\n this.session = session;\n this.refCount = 1;\n }\n\n isForSameSession(roomId: string, senderKey: string, sessionId: string): boolean {\n return this.key.roomId === roomId && this.key.senderKey === senderKey && this.key.sessionId === sessionId;\n }\n\n // assumes isForSameSession is true\n isBetter(other: KeyOperation) {\n return isBetterThan(this.session, other.session);\n }\n\n isForKey(key: RoomKey) {\n return this.key.serializationKey === key.serializationKey &&\n this.key.serializationType === key.serializationType;\n }\n\n dispose() {\n this.session.free();\n this.session = undefined as any;\n }\n\n /** returns whether the key for this operation has been checked at some point against storage\n * and was determined to be the better key, undefined if it hasn't been checked yet.\n * Only keys that are the best keys can be returned by getCachedKey as returning a cache hit\n * will usually not check for a better session in storage. Also see RoomKey.isBetter. */\n get isBest(): boolean | undefined {\n return this.key.isBetter;\n }\n}\n\nimport {KeySource} from \"../../../storage/idb/stores/InboundGroupSessionStore\";\n\n\nexport function tests() {\n let instances = 0;\n\n class MockRoomKey extends IncomingRoomKey {\n private _roomId: string;\n private _senderKey: string;\n private _sessionId: string;\n private _firstKnownIndex: number;\n\n constructor(roomId: string, senderKey: string, sessionId: string, firstKnownIndex: number) {\n super();\n this._roomId = roomId;\n this._senderKey = senderKey;\n this._sessionId = sessionId;\n this._firstKnownIndex = firstKnownIndex;\n }\n\n get roomId(): string { return this._roomId; }\n get senderKey(): string { return this._senderKey; }\n get sessionId(): string { return this._sessionId; }\n get claimedEd25519Key(): string { return \"claimedEd25519Key\"; }\n get serializationKey(): string { return `key-${this.sessionId}-${this._firstKnownIndex}`; }\n get serializationType(): string { return \"type\"; }\n get eventIds(): string[] | undefined { return undefined; }\n get keySource(): KeySource { return KeySource.DeviceMessage; }\n\n loadInto(session: Olm.InboundGroupSession) {\n const mockSession = session as MockInboundSession;\n mockSession.sessionId = this.sessionId;\n mockSession.firstKnownIndex = this._firstKnownIndex;\n }\n }\n\n class MockInboundSession {\n public sessionId: string = \"\";\n public firstKnownIndex: number = 0;\n\n constructor() {\n instances += 1;\n }\n\n free(): void { instances -= 1; }\n pickle(key: string | Uint8Array): string { return `${this.sessionId}-pickled-session`; }\n unpickle(key: string | Uint8Array, pickle: string) {}\n create(session_key: string): string { return `${this.sessionId}-created-session`; }\n import_session(session_key: string): string { return \"\"; }\n decrypt(message: string): OlmDecryptionResult { return {} as OlmDecryptionResult; }\n session_id(): string { return this.sessionId; }\n first_known_index(): number { return this.firstKnownIndex; }\n export_session(message_index: number): string { return `${this.sessionId}-exported-session`; }\n }\n\n const PICKLE_KEY = \"🥒🔑\";\n const olm = {InboundGroupSession: MockInboundSession};\n const roomId = \"!abc:hs.tld\";\n const aliceSenderKey = \"abc\";\n const bobSenderKey = \"def\";\n const sessionId1 = \"s123\";\n const sessionId2 = \"s456\";\n \n return {\n \"load key gives correct session\": async assert => {\n const loader = new KeyLoader(olm as any as Olm, PICKLE_KEY, 2);\n let callback1Called = false;\n let callback2Called = false;\n const p1 = loader.useKey(new MockRoomKey(roomId, aliceSenderKey, sessionId1, 1), async session => {\n callback1Called = true;\n assert.equal(session.session_id(), sessionId1);\n assert.equal(session.first_known_index(), 1);\n await Promise.resolve(); // make sure they are busy in parallel\n });\n const p2 = loader.useKey(new MockRoomKey(roomId, aliceSenderKey, sessionId2, 2), async session => {\n callback2Called = true;\n assert.equal(session.session_id(), sessionId2);\n assert.equal(session.first_known_index(), 2);\n await Promise.resolve(); // make sure they are busy in parallel\n });\n assert.equal(loader.size, 2);\n await Promise.all([p1, p2]);\n assert(callback1Called);\n assert(callback2Called);\n },\n \"keys with different first index are kept separate\": async assert => {\n const loader = new KeyLoader(olm as any as Olm, PICKLE_KEY, 2);\n let callback1Called = false;\n let callback2Called = false;\n const p1 = loader.useKey(new MockRoomKey(roomId, aliceSenderKey, sessionId1, 1), async session => {\n callback1Called = true;\n assert.equal(session.session_id(), sessionId1);\n assert.equal(session.first_known_index(), 1);\n await Promise.resolve(); // make sure they are busy in parallel\n });\n const p2 = loader.useKey(new MockRoomKey(roomId, aliceSenderKey, sessionId1, 2), async session => {\n callback2Called = true;\n assert.equal(session.session_id(), sessionId1);\n assert.equal(session.first_known_index(), 2);\n await Promise.resolve(); // make sure they are busy in parallel\n });\n assert.equal(loader.size, 2);\n await Promise.all([p1, p2]);\n assert(callback1Called);\n assert(callback2Called);\n },\n \"useKey blocks as long as no free sessions are available\": async assert => {\n const loader = new KeyLoader(olm as any as Olm, PICKLE_KEY, 1);\n let resolve;\n let callbackCalled = false;\n loader.useKey(new MockRoomKey(roomId, aliceSenderKey, sessionId1, 1), async session => {\n await new Promise(r => resolve = r);\n });\n await Promise.resolve();\n assert.equal(loader.size, 1);\n const promise = loader.useKey(new MockRoomKey(roomId, aliceSenderKey, sessionId2, 1), session => {\n callbackCalled = true;\n });\n assert.equal(callbackCalled, false);\n resolve();\n await promise;\n assert.equal(callbackCalled, true);\n },\n \"cache hit while key in use, then replace (check refCount works properly)\": async assert => {\n const loader = new KeyLoader(olm as any as Olm, PICKLE_KEY, 1);\n let resolve1, resolve2;\n const key1 = new MockRoomKey(roomId, aliceSenderKey, sessionId1, 1);\n const p1 = loader.useKey(key1, async session => {\n await new Promise(r => resolve1 = r);\n });\n const p2 = loader.useKey(key1, async session => {\n await new Promise(r => resolve2 = r);\n });\n await Promise.resolve();\n assert.equal(loader.size, 1);\n assert.equal(loader.running, true);\n resolve1();\n await p1;\n assert.equal(loader.running, true);\n resolve2();\n await p2;\n assert.equal(loader.running, false);\n let callbackCalled = false;\n await loader.useKey(new MockRoomKey(roomId, aliceSenderKey, sessionId2, 1), async session => {\n callbackCalled = true;\n assert.equal(session.session_id(), sessionId2);\n assert.equal(session.first_known_index(), 1);\n });\n assert.equal(loader.size, 1);\n assert.equal(callbackCalled, true);\n },\n \"cache hit while key not in use\": async assert => {\n const loader = new KeyLoader(olm as any as Olm, PICKLE_KEY, 2);\n let resolve1, resolve2, invocations = 0;\n const key1 = new MockRoomKey(roomId, aliceSenderKey, sessionId1, 1);\n await loader.useKey(key1, async session => { invocations += 1; });\n key1.isBetter = true;\n assert.equal(loader.size, 1);\n const cachedKey = loader.getCachedKey(roomId, aliceSenderKey, sessionId1)!;\n assert.equal(cachedKey, key1);\n await loader.useKey(cachedKey, async session => { invocations += 1; });\n assert.equal(loader.size, 1);\n assert.equal(invocations, 2);\n },\n \"dispose calls free on all sessions\": async assert => {\n instances = 0;\n const loader = new KeyLoader(olm as any as Olm, PICKLE_KEY, 2);\n await loader.useKey(new MockRoomKey(roomId, aliceSenderKey, sessionId1, 1), async session => {});\n await loader.useKey(new MockRoomKey(roomId, aliceSenderKey, sessionId2, 1), async session => {});\n assert.equal(instances, 2);\n assert.equal(loader.size, 2);\n loader.dispose();\n assert.strictEqual(instances, 0, \"instances\");\n assert.strictEqual(loader.size, 0, \"loader.size\");\n },\n \"checkBetterThanKeyInStorage false with cache\": async assert => {\n const loader = new KeyLoader(olm as any as Olm, PICKLE_KEY, 2);\n const key1 = new MockRoomKey(roomId, aliceSenderKey, sessionId1, 2);\n await loader.useKey(key1, async session => {});\n // fake we've checked with storage that this is the best key,\n // and as long is it remains the best key with newly added keys,\n // it will be returned from getCachedKey (as called from checkBetterThanKeyInStorage)\n key1.isBetter = true;\n const key2 = new MockRoomKey(roomId, aliceSenderKey, sessionId1, 3);\n // this will hit cache of key 1 so we pass in null as txn\n const isBetter = await key2.checkBetterThanKeyInStorage(loader, null as any);\n assert.strictEqual(isBetter, false);\n assert.strictEqual(key2.isBetter, false);\n },\n \"checkBetterThanKeyInStorage true with cache\": async assert => {\n const loader = new KeyLoader(olm as any as Olm, PICKLE_KEY, 2);\n const key1 = new MockRoomKey(roomId, aliceSenderKey, sessionId1, 2);\n key1.isBetter = true; // fake we've check with storage so far (not including key2) this is the best key\n await loader.useKey(key1, async session => {});\n const key2 = new MockRoomKey(roomId, aliceSenderKey, sessionId1, 1);\n // this will hit cache of key 1 so we pass in null as txn\n const isBetter = await key2.checkBetterThanKeyInStorage(loader, null as any);\n assert.strictEqual(isBetter, true);\n assert.strictEqual(key2.isBetter, true);\n },\n \"prefer to remove worst key for a session from cache\": async assert => {\n const loader = new KeyLoader(olm as any as Olm, PICKLE_KEY, 2);\n const key1 = new MockRoomKey(roomId, aliceSenderKey, sessionId1, 2);\n await loader.useKey(key1, async session => {});\n key1.isBetter = true; // set to true just so it gets returned from getCachedKey\n const key2 = new MockRoomKey(roomId, aliceSenderKey, sessionId1, 4);\n await loader.useKey(key2, async session => {});\n const key3 = new MockRoomKey(roomId, aliceSenderKey, sessionId1, 3);\n await loader.useKey(key3, async session => {});\n assert.strictEqual(loader.getCachedKey(roomId, aliceSenderKey, sessionId1), key1);\n },\n }\n}\n","/*\nCopyright 2022 The Matrix.org Foundation C.I.C.\n\nLicensed under the Apache License, Version 2.0 (the \"License\");\nyou may not use this file except in compliance with the License.\nYou may obtain a copy of the License at\n\n http://www.apache.org/licenses/LICENSE-2.0\n\nUnless required by applicable law or agreed to in writing, software\ndistributed under the License is distributed on an \"AS IS\" BASIS,\nWITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\nSee the License for the specific language governing permissions and\nlimitations under the License.\n*/\n\nimport {MEGOLM_ALGORITHM} from \"../../common\";\nimport type {RoomKey} from \"../decryption/RoomKey\";\n\nimport type {BaseBackupInfo, SignatureMap, SessionKeyInfo} from \"./types\";\nimport type * as OlmNamespace from \"@matrix-org/olm\";\ntype Olm = typeof OlmNamespace;\n\nexport const Algorithm = \"m.megolm_backup.v1.curve25519-aes-sha2\";\n\nexport type BackupInfo = BaseBackupInfo & {\n algorithm: typeof Algorithm,\n auth_data: AuthData,\n}\n\ntype AuthData = {\n public_key: string,\n signatures: SignatureMap\n}\n\nexport type SessionData = {\n ciphertext: string,\n mac: string,\n ephemeral: string,\n}\n\nexport class BackupEncryption {\n constructor(\n private encryption?: Olm.PkEncryption,\n private decryption?: Olm.PkDecryption\n ) {}\n\n static fromAuthData(authData: AuthData, privateKey: Uint8Array, olm: Olm): BackupEncryption {\n const expectedPubKey = authData.public_key;\n const decryption = new olm.PkDecryption();\n const encryption = new olm.PkEncryption();\n try {\n const pubKey = decryption.init_with_private_key(privateKey);\n if (pubKey !== expectedPubKey) {\n throw new Error(`Bad backup key, public key does not match. Calculated ${pubKey} but expected ${expectedPubKey}`);\n }\n encryption.set_recipient_key(pubKey);\n } catch(err) {\n decryption.free();\n throw err;\n }\n return new BackupEncryption(encryption, decryption);\n }\n\n decryptRoomKey(sessionData: SessionData): SessionKeyInfo {\n const sessionInfo = this.decryption!.decrypt(\n sessionData.ephemeral,\n sessionData.mac,\n sessionData.ciphertext,\n );\n return JSON.parse(sessionInfo) as SessionKeyInfo;\n }\n\n encryptRoomKey(key: RoomKey, sessionKey: string): SessionData {\n const sessionInfo: SessionKeyInfo = {\n algorithm: MEGOLM_ALGORITHM,\n sender_key: key.senderKey,\n sender_claimed_keys: {ed25519: key.claimedEd25519Key},\n forwarding_curve25519_key_chain: [],\n session_key: sessionKey\n };\n return this.encryption!.encrypt(JSON.stringify(sessionInfo)) as SessionData;\n }\n\n dispose() {\n this.decryption?.free();\n this.decryption = undefined;\n this.encryption?.free();\n this.encryption = undefined;\n }\n}\n","/*\nCopyright 2020 The Matrix.org Foundation C.I.C.\n\nLicensed under the Apache License, Version 2.0 (the \"License\");\nyou may not use this file except in compliance with the License.\nYou may obtain a copy of the License at\n\n http://www.apache.org/licenses/LICENSE-2.0\n\nUnless required by applicable law or agreed to in writing, software\ndistributed under the License is distributed on an \"AS IS\" BASIS,\nWITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\nSee the License for the specific language governing permissions and\nlimitations under the License.\n*/\n\nimport {StoreNames} from \"../../../storage/common\";\nimport {StoredRoomKey, keyFromBackup} from \"../decryption/RoomKey\";\nimport {MEGOLM_ALGORITHM} from \"../../common\";\nimport * as Curve25519 from \"./Curve25519\";\nimport {AbortableOperation} from \"../../../../utils/AbortableOperation\";\nimport {ObservableValue} from \"../../../../observable/ObservableValue\";\n\nimport {SetAbortableFn} from \"../../../../utils/AbortableOperation\";\nimport type {BackupInfo, SessionData, SessionKeyInfo, SessionInfo, KeyBackupPayload} from \"./types\";\nimport type {HomeServerApi} from \"../../../net/HomeServerApi\";\nimport type {IncomingRoomKey, RoomKey} from \"../decryption/RoomKey\";\nimport type {KeyLoader} from \"../decryption/KeyLoader\";\nimport type {SecretStorage} from \"../../../ssss/SecretStorage\";\nimport type {Storage} from \"../../../storage/idb/Storage\";\nimport type {ILogItem} from \"../../../../logging/types\";\nimport type {Platform} from \"../../../../platform/web/Platform\";\nimport type {Transaction} from \"../../../storage/idb/Transaction\";\nimport type * as OlmNamespace from \"@matrix-org/olm\";\ntype Olm = typeof OlmNamespace;\n\nconst KEYS_PER_REQUEST = 200;\n\nexport class KeyBackup {\n public readonly operationInProgress = new ObservableValue, Progress> | undefined>(undefined);\n\n private _stopped = false;\n private _needsNewKey = false;\n private _hasBackedUpAllKeys = false;\n private _error?: Error;\n\n constructor(\n private readonly backupInfo: BackupInfo,\n private readonly crypto: Curve25519.BackupEncryption,\n private readonly hsApi: HomeServerApi,\n private readonly keyLoader: KeyLoader,\n private readonly storage: Storage,\n private readonly platform: Platform,\n private readonly maxDelay: number = 10000\n ) {}\n\n get hasStopped(): boolean { return this._stopped; }\n get error(): Error | undefined { return this._error; }\n get version(): string { return this.backupInfo.version; }\n get needsNewKey(): boolean { return this._needsNewKey; }\n get hasBackedUpAllKeys(): boolean { return this._hasBackedUpAllKeys; }\n\n async getRoomKey(roomId: string, sessionId: string, log: ILogItem): Promise {\n const sessionResponse = await this.hsApi.roomKeyForRoomAndSession(this.backupInfo.version, roomId, sessionId, {log}).response();\n if (!sessionResponse.session_data) {\n return;\n }\n const sessionKeyInfo = this.crypto.decryptRoomKey(sessionResponse.session_data as SessionData);\n if (sessionKeyInfo?.algorithm === MEGOLM_ALGORITHM) {\n return keyFromBackup(roomId, sessionId, sessionKeyInfo);\n } else if (sessionKeyInfo?.algorithm) {\n log.set(\"unknown algorithm\", sessionKeyInfo.algorithm);\n }\n }\n\n markAllForBackup(txn: Transaction): Promise {\n return txn.inboundGroupSessions.markAllAsNotBackedUp();\n }\n\n flush(log: ILogItem): void {\n if (!this.operationInProgress.get()) {\n log.wrapDetached(\"flush key backup\", async log => {\n if (this._needsNewKey) {\n log.set(\"needsNewKey\", this._needsNewKey);\n return;\n }\n this._stopped = false;\n this._error = undefined;\n this._hasBackedUpAllKeys = false;\n const operation = this._runFlushOperation(log);\n this.operationInProgress.set(operation);\n try {\n await operation.result;\n this._hasBackedUpAllKeys = true;\n } catch (err) {\n this._stopped = true;\n if (err.name === \"HomeServerError\" && (err.errcode === \"M_WRONG_ROOM_KEYS_VERSION\" || err.errcode === \"M_NOT_FOUND\")) {\n log.set(\"wrong_version\", true);\n this._needsNewKey = true;\n } else {\n // TODO should really also use AbortError in storage\n if (err.name !== \"AbortError\" || (err.name === \"StorageError\" && err.errcode === \"AbortError\")) {\n this._error = err;\n }\n }\n log.catch(err);\n }\n this.operationInProgress.set(undefined);\n });\n }\n }\n\n private _runFlushOperation(log: ILogItem): AbortableOperation, Progress> {\n return new AbortableOperation(async (setAbortable, setProgress) => {\n let total = 0;\n let amountFinished = 0;\n while (true) {\n const waitMs = this.platform.random() * this.maxDelay;\n const timeout = this.platform.clock.createTimeout(waitMs);\n setAbortable(timeout);\n await timeout.elapsed();\n const txn = await this.storage.readTxn([StoreNames.inboundGroupSessions]);\n setAbortable(txn);\n // fetch total again on each iteration as while we are flushing, sync might be adding keys\n total = amountFinished + await txn.inboundGroupSessions.countNonBackedUpSessions();\n setProgress(new Progress(total, amountFinished));\n const keysNeedingBackup = (await txn.inboundGroupSessions.getFirstNonBackedUpSessions(KEYS_PER_REQUEST))\n .map(entry => new StoredRoomKey(entry));\n if (keysNeedingBackup.length === 0) {\n log.set(\"total\", total);\n return;\n }\n const payload = await this.encodeKeysForBackup(keysNeedingBackup);\n const uploadRequest = this.hsApi.uploadRoomKeysToBackup(this.backupInfo.version, payload, {log});\n setAbortable(uploadRequest);\n await uploadRequest.response();\n await this.markKeysAsBackedUp(keysNeedingBackup, setAbortable);\n amountFinished += keysNeedingBackup.length;\n setProgress(new Progress(total, amountFinished));\n }\n });\n }\n\n private async encodeKeysForBackup(roomKeys: RoomKey[]): Promise {\n const payload: KeyBackupPayload = { rooms: {} };\n const payloadRooms = payload.rooms;\n for (const key of roomKeys) {\n let roomPayload = payloadRooms[key.roomId];\n if (!roomPayload) {\n roomPayload = payloadRooms[key.roomId] = { sessions: {} };\n }\n roomPayload.sessions[key.sessionId] = await this.encodeRoomKey(key);\n }\n return payload;\n }\n\n private async markKeysAsBackedUp(roomKeys: RoomKey[], setAbortable: SetAbortableFn) {\n const txn = await this.storage.readWriteTxn([\n StoreNames.inboundGroupSessions,\n ]);\n setAbortable(txn);\n try {\n await Promise.all(roomKeys.map(key => {\n return txn.inboundGroupSessions.markAsBackedUp(key.roomId, key.senderKey, key.sessionId);\n }));\n } catch (err) {\n txn.abort();\n throw err;\n }\n await txn.complete();\n }\n\n private async encodeRoomKey(roomKey: RoomKey): Promise {\n return await this.keyLoader.useKey(roomKey, session => {\n const firstMessageIndex = session.first_known_index();\n const sessionKey = session.export_session(firstMessageIndex);\n return {\n first_message_index: firstMessageIndex,\n forwarded_count: 0,\n is_verified: false,\n session_data: this.crypto.encryptRoomKey(roomKey, sessionKey)\n };\n });\n }\n\n dispose() {\n this.crypto.dispose();\n }\n\n static async fromSecretStorage(platform: Platform, olm: Olm, secretStorage: SecretStorage, hsApi: HomeServerApi, keyLoader: KeyLoader, storage: Storage, txn: Transaction): Promise {\n const base64PrivateKey = await secretStorage.readSecret(\"m.megolm_backup.v1\", txn);\n if (base64PrivateKey) {\n const privateKey = new Uint8Array(platform.encoding.base64.decode(base64PrivateKey));\n const backupInfo = await hsApi.roomKeysVersion().response() as BackupInfo;\n if (backupInfo.algorithm === Curve25519.Algorithm) {\n const crypto = Curve25519.BackupEncryption.fromAuthData(backupInfo.auth_data, privateKey, olm);\n return new KeyBackup(backupInfo, crypto, hsApi, keyLoader, storage, platform);\n } else {\n throw new Error(`Unknown backup algorithm: ${backupInfo.algorithm}`);\n }\n }\n }\n}\n\nexport class Progress {\n constructor(\n public readonly total: number,\n public readonly finished: number\n ) {}\n}\n","/*\nCopyright 2020 The Matrix.org Foundation C.I.C.\n\nLicensed under the Apache License, Version 2.0 (the \"License\");\nyou may not use this file except in compliance with the License.\nYou may obtain a copy of the License at\n\n http://www.apache.org/licenses/LICENSE-2.0\n\nUnless required by applicable law or agreed to in writing, software\ndistributed under the License is distributed on an \"AS IS\" BASIS,\nWITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\nSee the License for the specific language governing permissions and\nlimitations under the License.\n*/\n\nimport {MEGOLM_ALGORITHM} from \"../common.js\";\nimport {OutboundRoomKey} from \"./decryption/RoomKey\";\n\nexport class Encryption {\n constructor({pickleKey, olm, account, keyLoader, storage, now, ownDeviceId}) {\n this._pickleKey = pickleKey;\n this._olm = olm;\n this._account = account;\n this._keyLoader = keyLoader;\n this._storage = storage;\n this._now = now;\n this._ownDeviceId = ownDeviceId;\n }\n\n discardOutboundSession(roomId, txn) {\n txn.outboundGroupSessions.remove(roomId);\n }\n\n async createRoomKeyMessage(roomId, txn) {\n let sessionEntry = await txn.outboundGroupSessions.get(roomId);\n if (sessionEntry) {\n const session = new this._olm.OutboundGroupSession();\n try {\n session.unpickle(this._pickleKey, sessionEntry.session);\n return this._createRoomKeyMessage(session, roomId);\n } finally {\n session.free();\n }\n }\n }\n\n createWithheldMessage(roomMessage, code, reason) {\n return {\n algorithm: roomMessage.algorithm,\n code,\n reason,\n room_id: roomMessage.room_id,\n sender_key: this._account.identityKeys.curve25519,\n session_id: roomMessage.session_id\n };\n }\n\n async ensureOutboundSession(roomId, encryptionParams) {\n let session = new this._olm.OutboundGroupSession();\n try {\n const txn = await this._storage.readWriteTxn([\n this._storage.storeNames.inboundGroupSessions,\n this._storage.storeNames.outboundGroupSessions,\n ]);\n let roomKeyMessage;\n try {\n let sessionEntry = await txn.outboundGroupSessions.get(roomId);\n roomKeyMessage = await this._readOrCreateSession(session, sessionEntry, roomId, encryptionParams, txn);\n if (roomKeyMessage) {\n this._writeSession(this._now(), session, roomId, txn);\n }\n } catch (err) {\n txn.abort();\n throw err;\n }\n await txn.complete();\n return roomKeyMessage;\n } finally {\n session.free();\n }\n }\n\n async _readOrCreateSession(session, sessionEntry, roomId, encryptionParams, txn) {\n if (sessionEntry) {\n session.unpickle(this._pickleKey, sessionEntry.session);\n }\n if (!sessionEntry || this._needsToRotate(session, sessionEntry.createdAt, encryptionParams)) {\n // in the case of rotating, recreate a session as we already unpickled into it\n if (sessionEntry) {\n session.free();\n session = new this._olm.OutboundGroupSession();\n }\n session.create();\n const roomKeyMessage = this._createRoomKeyMessage(session, roomId);\n const roomKey = new OutboundRoomKey(roomId, session, this._account.identityKeys);\n await roomKey.write(this._keyLoader, txn);\n return roomKeyMessage;\n }\n }\n\n _writeSession(createdAt, session, roomId, txn) {\n txn.outboundGroupSessions.set({\n roomId,\n session: session.pickle(this._pickleKey),\n createdAt,\n });\n }\n\n /**\n * Encrypts a message with megolm\n * @param {string} roomId \n * @param {string} type event type to encrypt\n * @param {string} content content to encrypt\n * @param {object} encryptionParams the content of the m.room.encryption event\n * @return {Promise}\n */\n async encrypt(roomId, type, content, encryptionParams) {\n let session = new this._olm.OutboundGroupSession();\n try {\n const txn = await this._storage.readWriteTxn([\n this._storage.storeNames.inboundGroupSessions,\n this._storage.storeNames.outboundGroupSessions,\n ]);\n let roomKeyMessage;\n let encryptedContent;\n try {\n let sessionEntry = await txn.outboundGroupSessions.get(roomId);\n roomKeyMessage = await this._readOrCreateSession(session, sessionEntry, roomId, encryptionParams, txn);\n encryptedContent = this._encryptContent(roomId, session, type, content);\n // update timestamp when a new session is created\n const createdAt = roomKeyMessage ? this._now() : sessionEntry.createdAt;\n this._writeSession(createdAt, session, roomId, txn);\n\n } catch (err) {\n txn.abort();\n throw err;\n }\n await txn.complete();\n return new EncryptionResult(encryptedContent, roomKeyMessage);\n } finally {\n if (session) {\n session.free();\n }\n }\n }\n\n _needsToRotate(session, createdAt, encryptionParams) {\n let rotationPeriodMs = 604800000; // default\n if (Number.isSafeInteger(encryptionParams?.rotation_period_ms)) {\n rotationPeriodMs = encryptionParams?.rotation_period_ms;\n }\n let rotationPeriodMsgs = 100; // default\n if (Number.isSafeInteger(encryptionParams?.rotation_period_msgs)) {\n rotationPeriodMsgs = encryptionParams?.rotation_period_msgs;\n }\n\n if (this._now() > (createdAt + rotationPeriodMs)) {\n return true;\n }\n if (session.message_index() >= rotationPeriodMsgs) {\n return true;\n } \n }\n\n _encryptContent(roomId, session, type, content) {\n const plaintext = JSON.stringify({\n room_id: roomId,\n type,\n content\n });\n const ciphertext = session.encrypt(plaintext);\n\n const encryptedContent = {\n algorithm: MEGOLM_ALGORITHM,\n sender_key: this._account.identityKeys.curve25519,\n ciphertext,\n session_id: session.session_id(),\n device_id: this._ownDeviceId\n };\n\n return encryptedContent;\n }\n\n _createRoomKeyMessage(session, roomId) {\n return {\n room_id: roomId,\n session_id: session.session_id(),\n session_key: session.session_key(),\n algorithm: MEGOLM_ALGORITHM,\n // chain_index is ignored by element-web if not all clients\n // but let's send it anyway, as element-web does so\n chain_index: session.message_index()\n }\n }\n}\n\n/**\n * @property {object?} roomKeyMessage if encrypting this message\n * created a new outbound session,\n * this contains the content of the m.room_key message\n * that should be sent out over olm.\n * @property {object} content the encrypted message as the content of\n * the m.room.encrypted event that should be sent out \n */\nclass EncryptionResult {\n constructor(content, roomKeyMessage) {\n this.content = content;\n this.roomKeyMessage = roomKeyMessage;\n }\n}\n","/*\nCopyright 2020 Bruno Windels \nCopyright 2021 The Matrix.org Foundation C.I.C.\n\nLicensed under the Apache License, Version 2.0 (the \"License\");\nyou may not use this file except in compliance with the License.\nYou may obtain a copy of the License at\n\n http://www.apache.org/licenses/LICENSE-2.0\n\nUnless required by applicable law or agreed to in writing, software\ndistributed under the License is distributed on an \"AS IS\" BASIS,\nWITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\nSee the License for the specific language governing permissions and\nlimitations under the License.\n*/\n\nimport {LogLevel, LogFilter} from \"./LogFilter\";\nimport type {BaseLogger} from \"./BaseLogger\";\nimport type {ISerializedItem, ILogItem, LogItemValues, LabelOrValues, FilterCreator, LogCallback} from \"./types\";\n\nexport class LogItem implements ILogItem {\n public readonly start: number;\n public logLevel: LogLevel;\n public error?: Error;\n public end?: number;\n private _values: LogItemValues;\n private _logger: BaseLogger;\n private _filterCreator?: FilterCreator;\n private _children?: Array;\n\n constructor(labelOrValues: LabelOrValues, logLevel: LogLevel, logger: BaseLogger, filterCreator?: FilterCreator) {\n this._logger = logger;\n this.start = logger._now();\n // (l)abel\n this._values = typeof labelOrValues === \"string\" ? {l: labelOrValues} : labelOrValues;\n this.logLevel = logLevel;\n this._filterCreator = filterCreator;\n }\n\n /** start a new root log item and run it detached mode, see BaseLogger.runDetached */\n runDetached(labelOrValues: LabelOrValues, callback: LogCallback, logLevel?: LogLevel, filterCreator?: FilterCreator): ILogItem {\n return this._logger.runDetached(labelOrValues, callback, logLevel, filterCreator);\n }\n\n /** start a new detached root log item and log a reference to it from this item */\n wrapDetached(labelOrValues: LabelOrValues, callback: LogCallback, logLevel?: LogLevel, filterCreator?: FilterCreator): void {\n this.refDetached(this.runDetached(labelOrValues, callback, logLevel, filterCreator));\n }\n\n /** logs a reference to a different log item, usually obtained from runDetached.\n This is useful if the referenced operation can't be awaited. */\n refDetached(logItem: ILogItem, logLevel?: LogLevel): void {\n logItem.ensureRefId();\n this.log({ref: logItem.values.refId}, logLevel);\n }\n\n ensureRefId(): void {\n if (!this._values.refId) {\n this.set(\"refId\", this._logger._createRefId());\n }\n }\n\n /**\n * Creates a new child item and runs it in `callback`.\n */\n wrap(labelOrValues: LabelOrValues, callback: LogCallback, logLevel?: LogLevel, filterCreator?: FilterCreator): T {\n const item = this.child(labelOrValues, logLevel, filterCreator);\n return item.run(callback);\n }\n\n get duration(): number | undefined {\n if (this.end) {\n return this.end - this.start;\n } else {\n return undefined;\n }\n }\n\n durationWithoutType(type: string): number | undefined {\n const durationOfType = this.durationOfType(type);\n if (this.duration && durationOfType) {\n return this.duration - durationOfType;\n }\n }\n\n durationOfType(type: string): number | undefined {\n if (this._values.t === type) {\n return this.duration;\n } else if (this._children) {\n return this._children.reduce((sum, c) => {\n const duration = c.durationOfType(type);\n return sum + (duration ?? 0);\n }, 0);\n } else {\n return 0;\n }\n }\n \n /**\n * Creates a new child item that finishes immediately\n * Finished items should not be modified anymore as they can be serialized\n * at any stage, but using `set` on the return value in a synchronous way should still be safe.\n */\n log(labelOrValues: LabelOrValues, logLevel?: LogLevel): ILogItem {\n const item = this.child(labelOrValues, logLevel);\n item.end = item.start;\n return item;\n }\n\n set(key: string | object, value?: unknown): ILogItem {\n if(typeof key === \"object\") {\n const values = key;\n Object.assign(this._values, values);\n } else {\n this._values[key] = value;\n }\n return this;\n }\n\n serialize(filter: LogFilter, parentStartTime: number | undefined, forced: boolean): ISerializedItem | undefined {\n if (this._filterCreator) {\n try {\n filter = this._filterCreator(new LogFilter(filter), this);\n } catch (err) {\n console.error(\"Error creating log filter\", err);\n }\n }\n let children: Array | null = null;\n if (this._children) {\n children = this._children.reduce((array: Array, c) => {\n const s = c.serialize(filter, this.start, false);\n if (s) {\n if (array === null) {\n array = [];\n }\n array.push(s);\n }\n return array;\n }, null);\n }\n if (filter && !filter.filter(this, children)) {\n return;\n }\n // in (v)alues, (l)abel and (t)ype are also reserved.\n const item: ISerializedItem = {\n // (s)tart\n s: typeof parentStartTime === \"number\" ? this.start - parentStartTime : this.start,\n // (d)uration\n d: this.duration,\n // (v)alues\n v: this._values,\n // (l)evel\n l: this.logLevel\n };\n if (this.error) {\n // (e)rror\n item.e = {\n stack: this.error.stack,\n name: this.error.name,\n message: this.error.message.split(\"\\n\")[0]\n };\n }\n if (forced) {\n item.f = true; //(f)orced\n }\n if (children) {\n // (c)hildren\n item.c = children;\n }\n return item;\n }\n\n /**\n * You probably want to use `wrap` instead of this.\n * \n * Runs a callback passing this log item,\n * recording the timing and any error.\n *\n * callback can return a Promise.\n *\n * Should only be called once.\n * \n * @param {Function} callback [description]\n * @return {[type]} [description]\n */\n run(callback: LogCallback): T {\n if (this.end !== undefined) {\n console.trace(\"log item is finished, additional logs will likely not be recorded\");\n }\n try {\n const result = callback(this);\n if (result instanceof Promise) {\n return result.then(promiseResult => {\n this.finish();\n return promiseResult;\n }, err => {\n throw this.catch(err);\n }) as unknown as T;\n } else {\n this.finish();\n return result;\n }\n } catch (err) {\n throw this.catch(err);\n }\n }\n\n /**\n * finished the item, recording the end time. After finishing, an item can't be modified anymore as it will be persisted.\n * @internal shouldn't typically be called by hand. allows to force finish if a promise is still running when closing the app\n */\n finish(): void {\n if (this.end === undefined) {\n if (this._children) {\n for(const c of this._children) {\n c.finish();\n }\n }\n this.end = this._logger._now();\n }\n }\n\n // expose log level without needing import everywhere\n get level(): typeof LogLevel {\n return LogLevel;\n }\n\n catch(err: Error): Error {\n this.error = err;\n this.logLevel = LogLevel.Error;\n this.finish();\n return err;\n }\n\n child(labelOrValues: LabelOrValues, logLevel?: LogLevel, filterCreator?: FilterCreator): LogItem {\n if (this.end) {\n console.trace(\"log item is finished, additional logs will likely not be recorded\");\n }\n if (!logLevel) {\n logLevel = this.logLevel || LogLevel.Info;\n }\n const item = new LogItem(labelOrValues, logLevel, this._logger, filterCreator);\n if (!this._children) {\n this._children = [];\n }\n this._children.push(item);\n return item;\n }\n\n get logger(): BaseLogger {\n return this._logger;\n }\n\n get values(): LogItemValues {\n return this._values;\n }\n\n get children(): Array | undefined {\n return this._children;\n }\n}\n","/*\nCopyright 2020 Bruno Windels \nCopyright 2021 The Matrix.org Foundation C.I.C.\n\nLicensed under the Apache License, Version 2.0 (the \"License\");\nyou may not use this file except in compliance with the License.\nYou may obtain a copy of the License at\n\n http://www.apache.org/licenses/LICENSE-2.0\n\nUnless required by applicable law or agreed to in writing, software\ndistributed under the License is distributed on an \"AS IS\" BASIS,\nWITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\nSee the License for the specific language governing permissions and\nlimitations under the License.\n*/\n\nimport {LogItem} from \"./LogItem\";\nimport {LogLevel, LogFilter} from \"./LogFilter\";\nimport type {ILogger, ILogExport, FilterCreator, LabelOrValues, LogCallback, ILogItem, ISerializedItem} from \"./types\";\nimport type {Platform} from \"../platform/web/Platform.js\";\n\nexport abstract class BaseLogger implements ILogger {\n protected _openItems: Set = new Set();\n protected _platform: Platform;\n protected _serializedTransformer: (item: ISerializedItem) => ISerializedItem;\n\n constructor({platform, serializedTransformer = (item: ISerializedItem) => item}) {\n this._platform = platform;\n this._serializedTransformer = serializedTransformer;\n }\n\n log(labelOrValues: LabelOrValues, logLevel: LogLevel = LogLevel.Info): void {\n const item = new LogItem(labelOrValues, logLevel, this);\n item.end = item.start;\n this._persistItem(item, undefined, false);\n }\n\n /** if item is a log item, wrap the callback in a child of it, otherwise start a new root log item. */\n wrapOrRun(item: ILogItem | undefined, labelOrValues: LabelOrValues, callback: LogCallback, logLevel?: LogLevel, filterCreator?: FilterCreator): T {\n if (item) {\n return item.wrap(labelOrValues, callback, logLevel, filterCreator);\n } else {\n return this.run(labelOrValues, callback, logLevel, filterCreator);\n }\n }\n\n /** run a callback in detached mode,\n where the (async) result or errors are not propagated but still logged.\n Useful to pair with LogItem.refDetached.\n\n @return {ILogItem} the log item added, useful to pass to LogItem.refDetached */\n runDetached(labelOrValues: LabelOrValues, callback: LogCallback, logLevel?: LogLevel, filterCreator?: FilterCreator): ILogItem {\n if (!logLevel) {\n logLevel = LogLevel.Info;\n }\n const item = new LogItem(labelOrValues, logLevel, this);\n this._run(item, callback, logLevel, false /* don't throw, nobody is awaiting */, filterCreator);\n return item;\n }\n\n /** run a callback wrapped in a log operation.\n Errors and duration are transparently logged, also for async operations.\n Whatever the callback returns is returned here. */\n run(labelOrValues: LabelOrValues, callback: LogCallback, logLevel?: LogLevel, filterCreator?: FilterCreator): T {\n if (logLevel === undefined) {\n logLevel = LogLevel.Info;\n }\n const item = new LogItem(labelOrValues, logLevel, this);\n return this._run(item, callback, logLevel, true, filterCreator);\n }\n\n _run(item: LogItem, callback: LogCallback, logLevel: LogLevel, wantResult: true, filterCreator?: FilterCreator): T;\n // we don't return if we don't throw, as we don't have anything to return when an error is caught but swallowed for the fire-and-forget case.\n _run(item: LogItem, callback: LogCallback, logLevel: LogLevel, wantResult: false, filterCreator?: FilterCreator): void;\n _run(item: LogItem, callback: LogCallback, logLevel: LogLevel, wantResult: boolean, filterCreator?: FilterCreator): T | void {\n this._openItems.add(item);\n\n const finishItem = () => {\n let filter = new LogFilter();\n if (filterCreator) {\n try {\n filter = filterCreator(filter, item);\n } catch (err) {\n console.error(\"Error while creating log filter\", err);\n }\n } else {\n // if not filter is specified, filter out anything lower than the initial log level\n filter = filter.minLevel(logLevel);\n }\n try {\n this._persistItem(item, filter, false);\n } catch (err) {\n console.error(\"Could not persist log item\", err);\n }\n this._openItems.delete(item);\n };\n\n try {\n let result = item.run(callback);\n if (result instanceof Promise) {\n result = result.then(promiseResult => {\n finishItem();\n return promiseResult;\n }, err => {\n finishItem();\n if (wantResult) {\n throw err;\n }\n }) as unknown as T;\n if (wantResult) {\n return result;\n }\n } else {\n finishItem();\n if(wantResult) {\n return result;\n }\n }\n } catch (err) {\n finishItem();\n if (wantResult) {\n throw err;\n }\n }\n }\n\n _finishOpenItems() {\n for (const openItem of this._openItems) {\n openItem.finish();\n try {\n // for now, serialize with an all-permitting filter\n // as the createFilter function would get a distorted image anyway\n // about the duration of the item, etc ...\n // true for force finish\n this._persistItem(openItem, new LogFilter(), true);\n } catch (err) {\n console.error(\"Could not serialize log item\", err);\n }\n }\n this._openItems.clear();\n }\n\n abstract _persistItem(item: LogItem, filter?: LogFilter, forced?: boolean): void;\n\n abstract export(): Promise;\n\n // expose log level without needing \n get level(): typeof LogLevel {\n return LogLevel;\n }\n\n _now(): number {\n return this._platform.clock.now();\n }\n\n _createRefId(): number {\n return Math.round(this._platform.random() * Number.MAX_SAFE_INTEGER);\n }\n}\n","/*\nCopyright 2021 The Matrix.org Foundation C.I.C.\n\nLicensed under the Apache License, Version 2.0 (the \"License\");\nyou may not use this file except in compliance with the License.\nYou may obtain a copy of the License at\n\n http://www.apache.org/licenses/LICENSE-2.0\n\nUnless required by applicable law or agreed to in writing, software\ndistributed under the License is distributed on an \"AS IS\" BASIS,\nWITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\nSee the License for the specific language governing permissions and\nlimitations under the License.\n*/\nimport {BaseLogger} from \"./BaseLogger\";\nimport {LogItem} from \"./LogItem\";\nimport type {ILogItem, LogItemValues, ILogExport} from \"./types\";\n\nexport class ConsoleLogger extends BaseLogger {\n _persistItem(item: LogItem): void {\n printToConsole(item);\n }\n\n async export(): Promise {\n return undefined;\n }\n}\n\nconst excludedKeysFromTable = [\"l\", \"id\"];\nfunction filterValues(values: LogItemValues): LogItemValues | null {\n return Object.entries(values)\n .filter(([key]) => !excludedKeysFromTable.includes(key))\n .reduce((obj: LogItemValues, [key, value]) => {\n obj = obj || {};\n obj[key] = value;\n return obj;\n }, null);\n}\n\nfunction printToConsole(item: LogItem): void {\n const label = `${itemCaption(item)} (${item.duration}ms)`;\n const filteredValues = filterValues(item.values);\n const shouldGroup = item.children || filteredValues;\n if (shouldGroup) {\n if (item.error) {\n console.group(label);\n } else {\n console.groupCollapsed(label);\n }\n if (item.error) {\n console.error(item.error);\n }\n } else {\n if (item.error) {\n console.error(item.error);\n } else {\n console.log(label);\n }\n }\n if (filteredValues) {\n console.table(filteredValues);\n }\n if (item.children) {\n for(const c of item.children) {\n printToConsole(c);\n }\n }\n if (shouldGroup) {\n console.groupEnd();\n }\n}\n\nfunction itemCaption(item: ILogItem): string {\n if (item.values.t === \"network\") {\n return `${item.values.method} ${item.values.url}`;\n } else if (item.values.l && typeof item.values.id !== \"undefined\") {\n return `${item.values.l} ${item.values.id}`;\n } else if (item.values.l && typeof item.values.status !== \"undefined\") {\n return `${item.values.l} (${item.values.status})`;\n } else if (item.values.l && item.error) {\n return `${item.values.l} failed`;\n } else if (typeof item.values.ref !== \"undefined\") {\n return `ref ${item.values.ref}`;\n } else {\n return item.values.l || item.values.type;\n }\n}\n","/*\nCopyright 2020 The Matrix.org Foundation C.I.C.\n\nLicensed under the Apache License, Version 2.0 (the \"License\");\nyou may not use this file except in compliance with the License.\nYou may obtain a copy of the License at\n\n http://www.apache.org/licenses/LICENSE-2.0\n\nUnless required by applicable law or agreed to in writing, software\ndistributed under the License is distributed on an \"AS IS\" BASIS,\nWITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\nSee the License for the specific language governing permissions and\nlimitations under the License.\n*/\n\nimport {MEGOLM_ALGORITHM, DecryptionSource} from \"./common.js\";\nimport {groupEventsBySession} from \"./megolm/decryption/utils\";\nimport {mergeMap} from \"../../utils/mergeMap\";\nimport {groupBy} from \"../../utils/groupBy\";\nimport {makeTxnId} from \"../common.js\";\nimport {iterateResponseStateEvents} from \"../room/common\";\n\nconst ENCRYPTED_TYPE = \"m.room.encrypted\";\nconst ROOM_HISTORY_VISIBILITY_TYPE = \"m.room.history_visibility\";\n// how often ensureMessageKeyIsShared can check if it needs to\n// create a new outbound session\n// note that encrypt could still create a new session\nconst MIN_PRESHARE_INTERVAL = 60 * 1000; // 1min\n\n// TODO: this class is a good candidate for splitting up into encryption and decryption, there doesn't seem to be much overlap\nexport class RoomEncryption {\n constructor({room, deviceTracker, olmEncryption, megolmEncryption, megolmDecryption, encryptionParams, storage, keyBackup, notifyMissingMegolmSession, clock}) {\n this._room = room;\n this._deviceTracker = deviceTracker;\n this._olmEncryption = olmEncryption;\n this._megolmEncryption = megolmEncryption;\n this._megolmDecryption = megolmDecryption;\n // content of the m.room.encryption event\n this._encryptionParams = encryptionParams;\n // caches devices to verify events\n this._senderDeviceCache = new Map();\n this._storage = storage;\n this._keyBackup = keyBackup;\n this._notifyMissingMegolmSession = notifyMissingMegolmSession;\n this._clock = clock;\n this._isFlushingRoomKeyShares = false;\n this._lastKeyPreShareTime = null;\n this._keySharePromise = null;\n this._historyVisibility = undefined;\n this._disposed = false;\n }\n\n enableKeyBackup(keyBackup) {\n if (this._keyBackup && !!keyBackup) {\n return;\n }\n this._keyBackup = keyBackup;\n }\n\n async restoreMissingSessionsFromBackup(entries, log) {\n const events = entries.filter(e => e.isEncrypted && !e.isDecrypted && e.event).map(e => e.event);\n const eventsBySession = groupEventsBySession(events);\n const groups = Array.from(eventsBySession.values());\n const txn = await this._storage.readTxn([this._storage.storeNames.inboundGroupSessions]);\n const hasSessions = await Promise.all(groups.map(async group => {\n return this._megolmDecryption.hasSession(this._room.id, group.senderKey, group.sessionId, txn);\n }));\n const missingSessions = groups.filter((_, i) => !hasSessions[i]);\n if (missingSessions.length) {\n // start with last sessions which should be for the last items in the timeline\n for (var i = missingSessions.length - 1; i >= 0; i--) {\n const session = missingSessions[i];\n await log.wrap(\"session\", log => this._requestMissingSessionFromBackup(session.senderKey, session.sessionId, log));\n }\n }\n }\n\n notifyTimelineClosed() {\n this._senderDeviceCache = new Map(); // purge the sender device cache\n }\n\n async writeSync(roomResponse, memberChanges, txn, log) {\n let historyVisibility = await this._loadHistoryVisibilityIfNeeded(this._historyVisibility, txn);\n const addedMembers = [];\n const removedMembers = [];\n // update the historyVisibility if needed\n await iterateResponseStateEvents(roomResponse, event => {\n // TODO: can the same state event appear twice? Hence we would be rewriting the useridentities twice...\n // we'll see in the logs\n if(event.state_key === \"\" && event.type === ROOM_HISTORY_VISIBILITY_TYPE) {\n const newHistoryVisibility = event?.content?.history_visibility;\n if (newHistoryVisibility !== historyVisibility) {\n return log.wrap({\n l: \"history_visibility changed\",\n from: historyVisibility,\n to: newHistoryVisibility\n }, async log => {\n historyVisibility = newHistoryVisibility;\n const result = await this._deviceTracker.writeHistoryVisibility(this._room, historyVisibility, txn, log);\n addedMembers.push(...result.added);\n removedMembers.push(...result.removed);\n });\n }\n }\n });\n // process member changes\n if (memberChanges.size) {\n const result = await this._deviceTracker.writeMemberChanges(\n this._room, memberChanges, historyVisibility, txn);\n addedMembers.push(...result.added);\n removedMembers.push(...result.removed);\n }\n // discard key if somebody (including ourselves) left\n if (removedMembers.length) {\n log.log({\n l: \"discardOutboundSession\",\n leftUsers: removedMembers,\n });\n this._megolmEncryption.discardOutboundSession(this._room.id, txn);\n }\n let shouldFlush = false;\n // add room to userIdentities if needed, and share the current key with them\n if (addedMembers.length) {\n shouldFlush = await this._addShareRoomKeyOperationForMembers(addedMembers, txn, log);\n }\n return {shouldFlush, historyVisibility};\n }\n\n afterSync({historyVisibility}) {\n this._historyVisibility = historyVisibility;\n }\n\n async _loadHistoryVisibilityIfNeeded(historyVisibility, txn = undefined) {\n if (!historyVisibility) {\n if (!txn) {\n txn = await this._storage.readTxn([this._storage.storeNames.roomState]);\n }\n const visibilityEntry = await txn.roomState.get(this._room.id, ROOM_HISTORY_VISIBILITY_TYPE, \"\");\n if (visibilityEntry) {\n return visibilityEntry.event?.content?.history_visibility;\n }\n }\n return historyVisibility;\n }\n\n async prepareDecryptAll(events, newKeys, source, txn) {\n const errors = new Map();\n const validEvents = [];\n for (const event of events) {\n if (event.redacted_because || event.unsigned?.redacted_because) {\n continue;\n }\n if (event.content?.algorithm !== MEGOLM_ALGORITHM) {\n errors.set(event.event_id, new Error(\"Unsupported algorithm: \" + event.content?.algorithm));\n }\n validEvents.push(event);\n }\n const preparation = await this._megolmDecryption.prepareDecryptAll(\n this._room.id, validEvents, newKeys, txn);\n return new DecryptionPreparation(preparation, errors, source, this, events);\n }\n\n async _processDecryptionResults(events, results, errors, source, txn, log) {\n const missingSessionEvents = events.filter(event => {\n const error = errors.get(event.event_id);\n return error?.code === \"MEGOLM_NO_SESSION\";\n });\n if (!missingSessionEvents.length) {\n return;\n }\n // store missing event ids if received from sync\n const missingEventsBySession = groupEventsBySession(missingSessionEvents);\n if (source === DecryptionSource.Sync) {\n await Promise.all(Array.from(missingEventsBySession.values()).map(async group => {\n const eventIds = group.events.map(e => e.event_id);\n return this._megolmDecryption.addMissingKeyEventIds(\n this._room.id, group.senderKey, group.sessionId, eventIds, txn);\n }));\n }\n \n if (!this._keyBackup) {\n return;\n }\n\n log.wrapDetached(\"check key backup\", async log => {\n // if the message came from sync, wait 10s to see if the room key arrives late,\n // and only after that proceed to request from backup\n log.set(\"source\", source);\n log.set(\"events\", missingSessionEvents.length);\n log.set(\"sessions\", missingEventsBySession.size);\n if (source === DecryptionSource.Sync) {\n await this._clock.createTimeout(10000).elapsed();\n if (this._disposed) {\n return;\n }\n // now check which sessions have been received already\n const txn = await this._storage.readTxn([this._storage.storeNames.inboundGroupSessions]);\n await Promise.all(Array.from(missingEventsBySession).map(async ([key, group]) => {\n if (await this._megolmDecryption.hasSession(this._room.id, group.senderKey, group.sessionId, txn)) {\n missingEventsBySession.delete(key);\n }\n }));\n }\n await Promise.all(Array.from(missingEventsBySession.values()).map(group => {\n return log.wrap(\"session\", log => this._requestMissingSessionFromBackup(group.senderKey, group.sessionId, log));\n }));\n });\n }\n\n async _verifyDecryptionResult(result, txn) {\n let device = this._senderDeviceCache.get(result.senderCurve25519Key);\n if (!device) {\n device = await this._deviceTracker.getDeviceByCurve25519Key(result.senderCurve25519Key, txn);\n this._senderDeviceCache.set(result.senderCurve25519Key, device);\n }\n if (device) {\n result.setDevice(device);\n } else if (!this._room.isTrackingMembers) {\n result.setRoomNotTrackedYet();\n }\n }\n\n async _requestMissingSessionFromBackup(senderKey, sessionId, log) {\n // show prompt to enable secret storage\n if (!this._keyBackup) {\n log.set(\"enabled\", false);\n this._notifyMissingMegolmSession();\n return;\n }\n log.set(\"id\", sessionId);\n log.set(\"senderKey\", senderKey);\n try {\n const roomKey = await this._keyBackup.getRoomKey(this._room.id, sessionId, log);\n if (roomKey) {\n if (roomKey.senderKey !== senderKey) {\n log.set(\"wrong_sender_key\", roomKey.senderKey);\n log.logLevel = log.level.Warn;\n return;\n }\n let keyIsBestOne = false;\n let retryEventIds;\n const txn = await this._storage.readWriteTxn([this._storage.storeNames.inboundGroupSessions]);\n try {\n keyIsBestOne = await this._megolmDecryption.writeRoomKey(roomKey, txn);\n log.set(\"isBetter\", keyIsBestOne);\n if (keyIsBestOne) {\n retryEventIds = roomKey.eventIds;\n }\n } catch (err) {\n txn.abort();\n throw err;\n }\n await txn.complete();\n if (keyIsBestOne) {\n await log.wrap(\"retryDecryption\", log => this._room.notifyRoomKey(roomKey, retryEventIds || [], log));\n }\n }\n } catch (err) {\n if (!(err.name === \"HomeServerError\" && err.errcode === \"M_NOT_FOUND\")) {\n log.set(\"not_found\", true);\n } else {\n log.error = err;\n log.logLevel = log.level.Error;\n }\n }\n }\n\n /**\n * @param {RoomKey} roomKeys\n * @param {Transaction} txn\n * @return {Promise>} the event ids that should be retried to decrypt\n */\n getEventIdsForMissingKey(roomKey, txn) {\n return this._megolmDecryption.getEventIdsForMissingKey(this._room.id, roomKey.senderKey, roomKey.sessionId, txn);\n }\n\n /** shares the encryption key for the next message if needed */\n async ensureMessageKeyIsShared(hsApi, log) {\n if (this._lastKeyPreShareTime?.measure() < MIN_PRESHARE_INTERVAL) {\n return;\n }\n this._lastKeyPreShareTime = this._clock.createMeasure();\n try {\n this._keySharePromise = (async () => {\n const roomKeyMessage = await this._megolmEncryption.ensureOutboundSession(this._room.id, this._encryptionParams);\n if (roomKeyMessage) {\n this._keyBackup?.flush(log);\n await log.wrap(\"share key\", log => this._shareNewRoomKey(roomKeyMessage, hsApi, log));\n }\n })();\n await this._keySharePromise;\n } finally {\n this._keySharePromise = null;\n }\n }\n\n async encrypt(type, content, hsApi, log) {\n // ensureMessageKeyIsShared is still running,\n // wait for it to create and share a key if needed\n if (this._keySharePromise) {\n log.set(\"waitForRunningKeyShare\", true);\n await this._keySharePromise;\n }\n const megolmResult = await log.wrap(\"megolm encrypt\", () => this._megolmEncryption.encrypt(this._room.id, type, content, this._encryptionParams));\n if (megolmResult.roomKeyMessage) {\n this._keyBackup?.flush(log);\n await log.wrap(\"share key\", log => this._shareNewRoomKey(megolmResult.roomKeyMessage, hsApi, log));\n }\n return {\n type: ENCRYPTED_TYPE,\n content: megolmResult.content\n };\n }\n\n needsToShareKeys(memberChanges) {\n for (const m of memberChanges.values()) {\n if (m.hasJoined) {\n return true;\n }\n }\n return false;\n }\n\n async _shareNewRoomKey(roomKeyMessage, hsApi, log) {\n this._historyVisibility = await this._loadHistoryVisibilityIfNeeded(this._historyVisibility);\n await this._deviceTracker.trackRoom(this._room, this._historyVisibility, log);\n const devices = await this._deviceTracker.devicesForTrackedRoom(this._room.id, hsApi, log);\n const userIds = Array.from(devices.reduce((set, device) => set.add(device.userId), new Set()));\n \n let writeOpTxn = await this._storage.readWriteTxn([this._storage.storeNames.operations]);\n let operation;\n try {\n operation = this._writeRoomKeyShareOperation(roomKeyMessage, userIds, writeOpTxn);\n } catch (err) {\n writeOpTxn.abort();\n throw err;\n }\n // TODO: at this point we have the room key stored, and the rest is sort of optional\n // it would be nice if we could signal SendQueue that any error from here on is non-fatal and\n // return the encrypted payload.\n await this._processShareRoomKeyOperation(operation, hsApi, log);\n }\n\n async _addShareRoomKeyOperationForMembers(userIds, txn, log) {\n const roomKeyMessage = await this._megolmEncryption.createRoomKeyMessage(\n this._room.id, txn);\n if (roomKeyMessage) {\n log.log({\n l: \"share key for new members\", userIds,\n id: roomKeyMessage.session_id,\n chain_index: roomKeyMessage.chain_index\n });\n this._writeRoomKeyShareOperation(roomKeyMessage, userIds, txn);\n return true;\n }\n return false;\n }\n\n async flushPendingRoomKeyShares(hsApi, operations, log) {\n // this has to be reentrant as it can be called from Room.start while still running\n if (this._isFlushingRoomKeyShares) {\n return;\n }\n this._isFlushingRoomKeyShares = true;\n try {\n if (!operations) {\n const txn = await this._storage.readTxn([this._storage.storeNames.operations]);\n operations = await txn.operations.getAllByTypeAndScope(\"share_room_key\", this._room.id);\n }\n for (const operation of operations) {\n // just to be sure\n if (operation.type !== \"share_room_key\") {\n continue;\n }\n await log.wrap(\"operation\", log => this._processShareRoomKeyOperation(operation, hsApi, log));\n }\n } finally {\n this._isFlushingRoomKeyShares = false;\n }\n }\n\n _writeRoomKeyShareOperation(roomKeyMessage, userIds, txn) {\n const id = Math.floor(Math.random() * Number.MAX_SAFE_INTEGER).toString();\n const operation = {\n id,\n type: \"share_room_key\",\n scope: this._room.id,\n userIds,\n roomKeyMessage,\n };\n txn.operations.add(operation);\n return operation;\n }\n\n async _processShareRoomKeyOperation(operation, hsApi, log) {\n log.set(\"id\", operation.id);\n this._historyVisibility = await this._loadHistoryVisibilityIfNeeded(this._historyVisibility);\n await this._deviceTracker.trackRoom(this._room, this._historyVisibility, log);\n const devices = await this._deviceTracker.devicesForRoomMembers(this._room.id, operation.userIds, hsApi, log);\n const messages = await log.wrap(\"olm encrypt\", log => this._olmEncryption.encrypt(\n \"m.room_key\", operation.roomKeyMessage, devices, hsApi, log));\n const missingDevices = devices.filter(d => !messages.some(m => m.device === d));\n await log.wrap(\"send\", log => this._sendMessagesToDevices(ENCRYPTED_TYPE, messages, hsApi, log));\n if (missingDevices.length) {\n await log.wrap(\"missingDevices\", async log => {\n log.set(\"devices\", missingDevices.map(d => d.deviceId));\n const unsentUserIds = operation.userIds.filter(userId => missingDevices.some(d => d.userId === userId));\n log.set(\"unsentUserIds\", unsentUserIds);\n operation.userIds = unsentUserIds;\n // first remove the users that we've sent the keys already from the operation,\n // so if anything fails, we don't send them again\n await this._updateOperationsStore(operations => operations.update(operation));\n // now, let the devices we could not claim their key\n const withheldMessage = this._megolmEncryption.createWithheldMessage(operation.roomKeyMessage, \"m.no_olm\", \"OTKs exhausted\");\n await this._sendSharedMessageToDevices(\"org.matrix.room_key.withheld\", withheldMessage, missingDevices, hsApi, log);\n });\n }\n await this._updateOperationsStore(operations => operations.remove(operation.id));\n }\n\n async _updateOperationsStore(callback) {\n const writeTxn = await this._storage.readWriteTxn([this._storage.storeNames.operations]);\n try {\n callback(writeTxn.operations);\n } catch (err) {\n writeTxn.abort();\n throw err;\n }\n await writeTxn.complete();\n }\n\n async _sendSharedMessageToDevices(type, message, devices, hsApi, log) {\n const devicesByUser = groupBy(devices, device => device.userId);\n const payload = {\n messages: Array.from(devicesByUser.entries()).reduce((userMap, [userId, devices]) => {\n userMap[userId] = devices.reduce((deviceMap, device) => {\n deviceMap[device.deviceId] = message;\n return deviceMap;\n }, {});\n return userMap;\n }, {})\n };\n const txnId = makeTxnId();\n await hsApi.sendToDevice(type, payload, txnId, {log}).response();\n }\n\n async _sendMessagesToDevices(type, messages, hsApi, log) {\n log.set(\"messages\", messages.length);\n const messagesByUser = groupBy(messages, message => message.device.userId);\n const payload = {\n messages: Array.from(messagesByUser.entries()).reduce((userMap, [userId, messages]) => {\n userMap[userId] = messages.reduce((deviceMap, message) => {\n deviceMap[message.device.deviceId] = message.content;\n return deviceMap;\n }, {});\n return userMap;\n }, {})\n };\n const txnId = makeTxnId();\n await hsApi.sendToDevice(type, payload, txnId, {log}).response();\n }\n\n filterUndecryptedEventEntriesForKeys(entries, keys) {\n return entries.filter(entry => {\n if (entry.isEncrypted && !entry.isDecrypted) {\n const {event} = entry;\n if (event) {\n const senderKey = event.content?.[\"sender_key\"];\n const sessionId = event.content?.[\"session_id\"];\n return keys.some(key => senderKey === key.senderKey && sessionId === key.sessionId);\n }\n }\n return false;\n });\n }\n\n dispose() {\n this._disposed = true;\n }\n}\n\n/**\n * wrappers around megolm decryption classes to be able to post-process\n * the decryption results before turning them\n */\nclass DecryptionPreparation {\n constructor(megolmDecryptionPreparation, extraErrors, source, roomEncryption, events) {\n this._megolmDecryptionPreparation = megolmDecryptionPreparation;\n this._extraErrors = extraErrors;\n this._source = source;\n this._roomEncryption = roomEncryption;\n this._events = events;\n }\n\n async decrypt() {\n return new DecryptionChanges(\n await this._megolmDecryptionPreparation.decrypt(),\n this._extraErrors,\n this._source,\n this._roomEncryption,\n this._events);\n }\n\n dispose() {\n this._megolmDecryptionPreparation.dispose();\n }\n}\n\nclass DecryptionChanges {\n constructor(megolmDecryptionChanges, extraErrors, source, roomEncryption, events) {\n this._megolmDecryptionChanges = megolmDecryptionChanges;\n this._extraErrors = extraErrors;\n this._source = source;\n this._roomEncryption = roomEncryption;\n this._events = events;\n }\n\n async write(txn, log) {\n const {results, errors} = await this._megolmDecryptionChanges.write(txn);\n mergeMap(this._extraErrors, errors);\n await this._roomEncryption._processDecryptionResults(this._events, results, errors, this._source, txn, log);\n return new BatchDecryptionResult(results, errors, this._roomEncryption);\n }\n}\n\nclass BatchDecryptionResult {\n constructor(results, errors, roomEncryption) {\n this.results = results;\n this.errors = errors;\n this._roomEncryption = roomEncryption;\n }\n\n applyToEntries(entries) {\n for (const entry of entries) {\n const result = this.results.get(entry.id);\n if (result) {\n entry.setDecryptionResult(result);\n } else {\n const error = this.errors.get(entry.id);\n if (error) {\n entry.setDecryptionError(error);\n }\n }\n }\n }\n\n verifySenders(txn) {\n return Promise.all(Array.from(this.results.values()).map(result => {\n return this._roomEncryption._verifyDecryptionResult(result, txn);\n }));\n }\n}\n\nimport {createMockStorage} from \"../../mocks/Storage\";\nimport {Clock as MockClock} from \"../../mocks/Clock\";\nimport {poll} from \"../../mocks/poll\";\nimport {Instance as NullLoggerInstance} from \"../../logging/NullLogger\";\nimport {ConsoleLogger} from \"../../logging/ConsoleLogger\";\nimport {HomeServer as MockHomeServer} from \"../../mocks/HomeServer.js\";\n\nexport function tests() {\n const roomId = \"!abc:hs.tld\";\n return {\n \"ensureMessageKeyIsShared tracks room and passes correct history visibility to deviceTracker\": async assert => {\n const storage = await createMockStorage();\n const megolmMock = {\n async ensureOutboundSession() { return { }; }\n };\n const olmMock = {\n async encrypt() { return []; }\n }\n let isRoomTracked = false;\n let isDevicesRequested = false;\n const deviceTracker = {\n async trackRoom(room, historyVisibility) {\n // only assert on first call\n if (isRoomTracked) { return; }\n assert(!isDevicesRequested);\n assert.equal(room.id, roomId);\n assert.equal(historyVisibility, \"invited\");\n isRoomTracked = true;\n },\n async devicesForTrackedRoom() {\n assert(isRoomTracked);\n isDevicesRequested = true;\n return [];\n },\n async devicesForRoomMembers() {\n return [];\n }\n }\n const writeTxn = await storage.readWriteTxn([storage.storeNames.roomState]);\n writeTxn.roomState.set(roomId, {state_key: \"\", type: ROOM_HISTORY_VISIBILITY_TYPE, content: {\n history_visibility: \"invited\"\n }});\n await writeTxn.complete();\n const roomEncryption = new RoomEncryption({\n room: {id: roomId},\n megolmEncryption: megolmMock,\n olmEncryption: olmMock,\n storage,\n deviceTracker,\n clock: new MockClock()\n });\n const homeServer = new MockHomeServer();\n const promise = roomEncryption.ensureMessageKeyIsShared(homeServer.api, NullLoggerInstance.item);\n // need to poll because sendToDevice isn't first async step\n const request = await poll(() => homeServer.requests.sendToDevice?.[0]);\n request.respond({});\n await promise;\n assert(isRoomTracked);\n assert(isDevicesRequested);\n },\n \"encrypt tracks room and passes correct history visibility to deviceTracker\": async assert => {\n const storage = await createMockStorage();\n const megolmMock = {\n async encrypt() { return { roomKeyMessage: {} }; }\n };\n const olmMock = {\n async encrypt() { return []; }\n }\n let isRoomTracked = false;\n let isDevicesRequested = false;\n const deviceTracker = {\n async trackRoom(room, historyVisibility) {\n // only assert on first call\n if (isRoomTracked) { return; }\n assert(!isDevicesRequested);\n assert.equal(room.id, roomId);\n assert.equal(historyVisibility, \"invited\");\n isRoomTracked = true;\n },\n async devicesForTrackedRoom() {\n assert(isRoomTracked);\n isDevicesRequested = true;\n return [];\n },\n async devicesForRoomMembers() {\n return [];\n }\n }\n const writeTxn = await storage.readWriteTxn([storage.storeNames.roomState]);\n writeTxn.roomState.set(roomId, {state_key: \"\", type: ROOM_HISTORY_VISIBILITY_TYPE, content: {\n history_visibility: \"invited\"\n }});\n await writeTxn.complete();\n const roomEncryption = new RoomEncryption({\n room: {id: roomId},\n megolmEncryption: megolmMock,\n olmEncryption: olmMock,\n storage,\n deviceTracker\n });\n const homeServer = new MockHomeServer();\n const promise = roomEncryption.encrypt(\"m.room.message\", {body: \"hello\"}, homeServer.api, NullLoggerInstance.item);\n // need to poll because sendToDevice isn't first async step\n const request = await poll(() => homeServer.requests.sendToDevice?.[0]);\n request.respond({});\n await promise;\n assert(isRoomTracked);\n assert(isDevicesRequested);\n },\n \"writeSync passes correct history visibility to deviceTracker\": async assert => {\n const storage = await createMockStorage();\n let isMemberChangesCalled = false;\n const deviceTracker = {\n async writeMemberChanges(room, memberChanges, historyVisibility, txn) {\n assert.equal(historyVisibility, \"invited\");\n isMemberChangesCalled = true;\n return {removed: [], added: []};\n },\n async devicesForRoomMembers() {\n return [];\n }\n }\n const writeTxn = await storage.readWriteTxn([storage.storeNames.roomState]);\n writeTxn.roomState.set(roomId, {state_key: \"\", type: ROOM_HISTORY_VISIBILITY_TYPE, content: {\n history_visibility: \"invited\"\n }});\n const memberChanges = new Map([[\"@alice:hs.tld\", {}]]);\n const roomEncryption = new RoomEncryption({\n room: {id: roomId},\n storage,\n deviceTracker\n });\n const roomResponse = {};\n const txn = await storage.readWriteTxn([storage.storeNames.roomState]);\n await roomEncryption.writeSync(roomResponse, memberChanges, txn, NullLoggerInstance.item);\n assert(isMemberChangesCalled);\n },\n }\n}\n","/*\nCopyright 2020 The Matrix.org Foundation C.I.C.\n\nLicensed under the Apache License, Version 2.0 (the \"License\");\nyou may not use this file except in compliance with the License.\nYou may obtain a copy of the License at\n\n http://www.apache.org/licenses/LICENSE-2.0\n\nUnless required by applicable law or agreed to in writing, software\ndistributed under the License is distributed on an \"AS IS\" BASIS,\nWITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\nSee the License for the specific language governing permissions and\nlimitations under the License.\n*/\n\nimport {verifyEd25519Signature, SIGNATURE_ALGORITHM} from \"./common.js\";\nimport {HistoryVisibility, shouldShareKey} from \"./common.js\";\nimport {RoomMember} from \"../room/members/RoomMember.js\";\n\nconst TRACKING_STATUS_OUTDATED = 0;\nconst TRACKING_STATUS_UPTODATE = 1;\n\nfunction addRoomToIdentity(identity, userId, roomId) {\n if (!identity) {\n identity = {\n userId: userId,\n roomIds: [roomId],\n deviceTrackingStatus: TRACKING_STATUS_OUTDATED,\n };\n return identity;\n } else {\n if (!identity.roomIds.includes(roomId)) {\n identity.roomIds.push(roomId);\n return identity;\n }\n }\n}\n\n// map 1 device from /keys/query response to DeviceIdentity\nfunction deviceKeysAsDeviceIdentity(deviceSection) {\n const deviceId = deviceSection[\"device_id\"];\n const userId = deviceSection[\"user_id\"];\n return {\n userId,\n deviceId,\n ed25519Key: deviceSection.keys[`ed25519:${deviceId}`],\n curve25519Key: deviceSection.keys[`curve25519:${deviceId}`],\n algorithms: deviceSection.algorithms,\n displayName: deviceSection.unsigned?.device_display_name,\n };\n}\n\nexport class DeviceTracker {\n constructor({storage, getSyncToken, olmUtil, ownUserId, ownDeviceId}) {\n this._storage = storage;\n this._getSyncToken = getSyncToken;\n this._identityChangedForRoom = null;\n this._olmUtil = olmUtil;\n this._ownUserId = ownUserId;\n this._ownDeviceId = ownDeviceId;\n }\n\n async writeDeviceChanges(changed, txn, log) {\n const {userIdentities} = txn;\n // TODO: should we also look at left here to handle this?:\n // the usual problem here is that you share a room with a user,\n // go offline, the remote user leaves the room, changes their devices,\n // then rejoins the room you share (or another room).\n // At which point you come online, all of this happens in the gap, \n // and you don't notice that they ever left, \n // and so the client doesn't invalidate their device cache for the user\n log.set(\"changed\", changed.length);\n await Promise.all(changed.map(async userId => {\n const user = await userIdentities.get(userId);\n if (user) {\n log.log({l: \"outdated\", id: userId});\n user.deviceTrackingStatus = TRACKING_STATUS_OUTDATED;\n userIdentities.set(user);\n }\n }));\n }\n\n /** @return Promise<{added: string[], removed: string[]}> the user ids for who the room was added or removed to the userIdentity,\n * and with who a key should be now be shared\n **/\n async writeMemberChanges(room, memberChanges, historyVisibility, txn) {\n const added = [];\n const removed = [];\n await Promise.all(Array.from(memberChanges.values()).map(async memberChange => {\n // keys should now be shared with this member?\n // add the room to the userIdentity if so\n if (shouldShareKey(memberChange.membership, historyVisibility)) {\n if (await this._addRoomToUserIdentity(memberChange.roomId, memberChange.userId, txn)) {\n added.push(memberChange.userId);\n }\n } else if (shouldShareKey(memberChange.previousMembership, historyVisibility)) {\n // try to remove room we were previously sharing the key with the member but not anymore\n const {roomId} = memberChange;\n // if we left the room, remove room from all user identities in the room\n if (memberChange.userId === this._ownUserId) {\n const userIds = await txn.roomMembers.getAllUserIds(roomId);\n await Promise.all(userIds.map(userId => {\n return this._removeRoomFromUserIdentity(roomId, userId, txn);\n }));\n } else {\n await this._removeRoomFromUserIdentity(roomId, memberChange.userId, txn);\n }\n removed.push(memberChange.userId);\n }\n }));\n return {added, removed};\n }\n\n async trackRoom(room, historyVisibility, log) {\n if (room.isTrackingMembers || !room.isEncrypted) {\n return;\n }\n const memberList = await room.loadMemberList(undefined, log);\n const txn = await this._storage.readWriteTxn([\n this._storage.storeNames.roomSummary,\n this._storage.storeNames.userIdentities,\n ]);\n try {\n let isTrackingChanges;\n try {\n isTrackingChanges = room.writeIsTrackingMembers(true, txn);\n const members = Array.from(memberList.members.values());\n log.set(\"members\", members.length);\n await Promise.all(members.map(async member => {\n if (shouldShareKey(member.membership, historyVisibility)) {\n await this._addRoomToUserIdentity(member.roomId, member.userId, txn);\n }\n }));\n } catch (err) {\n txn.abort();\n throw err;\n }\n await txn.complete();\n room.applyIsTrackingMembersChanges(isTrackingChanges);\n } finally {\n memberList.release();\n }\n }\n\n async writeHistoryVisibility(room, historyVisibility, syncTxn, log) {\n const added = [];\n const removed = [];\n if (room.isTrackingMembers && room.isEncrypted) {\n await log.wrap(\"rewriting userIdentities\", async log => {\n const memberList = await room.loadMemberList(syncTxn, log);\n try {\n const members = Array.from(memberList.members.values());\n log.set(\"members\", members.length);\n await Promise.all(members.map(async member => {\n if (shouldShareKey(member.membership, historyVisibility)) {\n if (await this._addRoomToUserIdentity(member.roomId, member.userId, syncTxn)) {\n added.push(member.userId);\n }\n } else {\n if (await this._removeRoomFromUserIdentity(member.roomId, member.userId, syncTxn)) {\n removed.push(member.userId);\n }\n }\n }));\n } finally {\n memberList.release();\n }\n });\n }\n return {added, removed};\n }\n\n async _addRoomToUserIdentity(roomId, userId, txn) {\n const {userIdentities} = txn;\n const identity = await userIdentities.get(userId);\n const updatedIdentity = addRoomToIdentity(identity, userId, roomId);\n if (updatedIdentity) {\n userIdentities.set(updatedIdentity);\n return true;\n }\n return false;\n }\n\n async _removeRoomFromUserIdentity(roomId, userId, txn) {\n const {userIdentities, deviceIdentities} = txn;\n const identity = await userIdentities.get(userId);\n if (identity) {\n identity.roomIds = identity.roomIds.filter(id => id !== roomId);\n // no more encrypted rooms with this user, remove\n if (identity.roomIds.length === 0) {\n userIdentities.remove(userId);\n deviceIdentities.removeAllForUser(userId);\n } else {\n userIdentities.set(identity);\n }\n return true;\n }\n return false;\n }\n\n async _queryKeys(userIds, hsApi, log) {\n // TODO: we need to handle the race here between /sync and /keys/query just like we need to do for the member list ...\n // there are multiple requests going out for /keys/query though and only one for /members\n\n const deviceKeyResponse = await hsApi.queryKeys({\n \"timeout\": 10000,\n \"device_keys\": userIds.reduce((deviceKeysMap, userId) => {\n deviceKeysMap[userId] = [];\n return deviceKeysMap;\n }, {}),\n \"token\": this._getSyncToken()\n }, {log}).response();\n\n const verifiedKeysPerUser = log.wrap(\"verify\", log => this._filterVerifiedDeviceKeys(deviceKeyResponse[\"device_keys\"], log));\n const txn = await this._storage.readWriteTxn([\n this._storage.storeNames.userIdentities,\n this._storage.storeNames.deviceIdentities,\n ]);\n let deviceIdentities;\n try {\n const devicesIdentitiesPerUser = await Promise.all(verifiedKeysPerUser.map(async ({userId, verifiedKeys}) => {\n const deviceIdentities = verifiedKeys.map(deviceKeysAsDeviceIdentity);\n return await this._storeQueriedDevicesForUserId(userId, deviceIdentities, txn);\n }));\n deviceIdentities = devicesIdentitiesPerUser.reduce((all, devices) => all.concat(devices), []);\n log.set(\"devices\", deviceIdentities.length);\n } catch (err) {\n txn.abort();\n throw err;\n }\n await txn.complete();\n return deviceIdentities;\n }\n\n async _storeQueriedDevicesForUserId(userId, deviceIdentities, txn) {\n const knownDeviceIds = await txn.deviceIdentities.getAllDeviceIds(userId);\n // delete any devices that we know off but are not in the response anymore.\n // important this happens before checking if the ed25519 key changed,\n // otherwise we would end up deleting existing devices with changed keys.\n for (const deviceId of knownDeviceIds) {\n if (deviceIdentities.every(di => di.deviceId !== deviceId)) {\n txn.deviceIdentities.remove(userId, deviceId);\n }\n }\n\n // all the device identities as we will have them in storage\n const allDeviceIdentities = [];\n const deviceIdentitiesToStore = [];\n // filter out devices that have changed their ed25519 key since last time we queried them\n await Promise.all(deviceIdentities.map(async deviceIdentity => {\n if (knownDeviceIds.includes(deviceIdentity.deviceId)) {\n const existingDevice = await txn.deviceIdentities.get(deviceIdentity.userId, deviceIdentity.deviceId);\n if (existingDevice.ed25519Key !== deviceIdentity.ed25519Key) {\n allDeviceIdentities.push(existingDevice);\n return;\n }\n }\n allDeviceIdentities.push(deviceIdentity);\n deviceIdentitiesToStore.push(deviceIdentity);\n }));\n // store devices\n for (const deviceIdentity of deviceIdentitiesToStore) {\n txn.deviceIdentities.set(deviceIdentity);\n }\n // mark user identities as up to date\n const identity = await txn.userIdentities.get(userId);\n identity.deviceTrackingStatus = TRACKING_STATUS_UPTODATE;\n txn.userIdentities.set(identity);\n\n return allDeviceIdentities;\n }\n\n /**\n * @return {Array<{userId, verifiedKeys: Array>}\n */\n _filterVerifiedDeviceKeys(keyQueryDeviceKeysResponse, parentLog) {\n const curve25519Keys = new Set();\n const verifiedKeys = Object.entries(keyQueryDeviceKeysResponse).map(([userId, keysByDevice]) => {\n const verifiedEntries = Object.entries(keysByDevice).filter(([deviceId, deviceKeys]) => {\n const deviceIdOnKeys = deviceKeys[\"device_id\"];\n const userIdOnKeys = deviceKeys[\"user_id\"];\n if (userIdOnKeys !== userId) {\n return false;\n }\n if (deviceIdOnKeys !== deviceId) {\n return false;\n }\n const ed25519Key = deviceKeys.keys?.[`ed25519:${deviceId}`];\n const curve25519Key = deviceKeys.keys?.[`curve25519:${deviceId}`];\n if (typeof ed25519Key !== \"string\" || typeof curve25519Key !== \"string\") {\n return false;\n }\n if (curve25519Keys.has(curve25519Key)) {\n parentLog.log({\n l: \"ignore device with duplicate curve25519 key\",\n keys: deviceKeys\n }, parentLog.level.Warn);\n return false;\n }\n curve25519Keys.add(curve25519Key);\n const isValid = this._hasValidSignature(deviceKeys, parentLog);\n if (!isValid) {\n parentLog.log({\n l: \"ignore device with invalid signature\",\n keys: deviceKeys\n }, parentLog.level.Warn);\n }\n return isValid;\n });\n const verifiedKeys = verifiedEntries.map(([, deviceKeys]) => deviceKeys);\n return {userId, verifiedKeys};\n });\n return verifiedKeys;\n }\n\n _hasValidSignature(deviceSection, parentLog) {\n const deviceId = deviceSection[\"device_id\"];\n const userId = deviceSection[\"user_id\"];\n const ed25519Key = deviceSection?.keys?.[`${SIGNATURE_ALGORITHM}:${deviceId}`];\n return verifyEd25519Signature(this._olmUtil, userId, deviceId, ed25519Key, deviceSection, parentLog);\n }\n\n /**\n * Gives all the device identities for a room that is already tracked.\n * Assumes room is already tracked. Call `trackRoom` first if unsure.\n * @param {String} roomId [description]\n * @return {[type]} [description]\n */\n async devicesForTrackedRoom(roomId, hsApi, log) {\n const txn = await this._storage.readTxn([\n this._storage.storeNames.roomMembers,\n this._storage.storeNames.userIdentities,\n ]);\n\n // because we don't have multiEntry support in IE11, we get a set of userIds that is pretty close to what we\n // need as a good first filter (given that non-join memberships will be in there). After fetching the identities,\n // we check which ones have the roomId for the room we're looking at.\n \n // So, this will also contain non-joined memberships\n const userIds = await txn.roomMembers.getAllUserIds(roomId);\n\n return await this._devicesForUserIds(roomId, userIds, txn, hsApi, log);\n }\n\n async devicesForRoomMembers(roomId, userIds, hsApi, log) {\n const txn = await this._storage.readTxn([\n this._storage.storeNames.userIdentities,\n ]);\n return await this._devicesForUserIds(roomId, userIds, txn, hsApi, log);\n }\n\n /**\n * @param {string} roomId [description]\n * @param {Array} userIds a set of user ids to try and find the identity for. Will be check to belong to roomId.\n * @param {Transaction} userIdentityTxn to read the user identities\n * @param {HomeServerApi} hsApi\n * @return {Array}\n */\n async _devicesForUserIds(roomId, userIds, userIdentityTxn, hsApi, log) {\n const allMemberIdentities = await Promise.all(userIds.map(userId => userIdentityTxn.userIdentities.get(userId)));\n const identities = allMemberIdentities.filter(identity => {\n // identity will be missing for any userIds that don't have \n // membership join in any of your encrypted rooms\n return identity && identity.roomIds.includes(roomId);\n });\n const upToDateIdentities = identities.filter(i => i.deviceTrackingStatus === TRACKING_STATUS_UPTODATE);\n const outdatedIdentities = identities.filter(i => i.deviceTrackingStatus === TRACKING_STATUS_OUTDATED);\n log.set(\"uptodate\", upToDateIdentities.length);\n log.set(\"outdated\", outdatedIdentities.length);\n let queriedDevices;\n if (outdatedIdentities.length) {\n // TODO: ignore the race between /sync and /keys/query for now,\n // where users could get marked as outdated or added/removed from the room while\n // querying keys\n queriedDevices = await this._queryKeys(outdatedIdentities.map(i => i.userId), hsApi, log);\n }\n\n const deviceTxn = await this._storage.readTxn([\n this._storage.storeNames.deviceIdentities,\n ]);\n const devicesPerUser = await Promise.all(upToDateIdentities.map(identity => {\n return deviceTxn.deviceIdentities.getAllForUserId(identity.userId);\n }));\n let flattenedDevices = devicesPerUser.reduce((all, devicesForUser) => all.concat(devicesForUser), []);\n if (queriedDevices && queriedDevices.length) {\n flattenedDevices = flattenedDevices.concat(queriedDevices);\n }\n // filter out our own device\n const devices = flattenedDevices.filter(device => {\n const isOwnDevice = device.userId === this._ownUserId && device.deviceId === this._ownDeviceId;\n return !isOwnDevice;\n });\n return devices;\n }\n\n async getDeviceByCurve25519Key(curve25519Key, txn) {\n return await txn.deviceIdentities.getByCurve25519Key(curve25519Key);\n }\n}\n\nimport {createMockStorage} from \"../../mocks/Storage\";\nimport {Instance as NullLoggerInstance} from \"../../logging/NullLogger\";\nimport {MemberChange} from \"../room/members/RoomMember\";\n\nexport function tests() {\n\n function createUntrackedRoomMock(roomId, joinedUserIds, invitedUserIds = []) {\n return {\n id: roomId,\n isTrackingMembers: false,\n isEncrypted: true,\n loadMemberList: () => {\n const joinedMembers = joinedUserIds.map(userId => {return RoomMember.fromUserId(roomId, userId, \"join\");});\n const invitedMembers = invitedUserIds.map(userId => {return RoomMember.fromUserId(roomId, userId, \"invite\");});\n const members = joinedMembers.concat(invitedMembers);\n const memberMap = members.reduce((map, member) => {\n map.set(member.userId, member);\n return map;\n }, new Map());\n return {members: memberMap, release() {}}\n },\n writeIsTrackingMembers(isTrackingMembers) {\n if (this.isTrackingMembers !== isTrackingMembers) {\n return isTrackingMembers;\n }\n return undefined;\n },\n applyIsTrackingMembersChanges(isTrackingMembers) {\n if (isTrackingMembers !== undefined) {\n this.isTrackingMembers = isTrackingMembers;\n }\n },\n }\n }\n\n function createQueryKeysHSApiMock(createKey = (algorithm, userId, deviceId) => `${algorithm}:${userId}:${deviceId}:key`) {\n return {\n queryKeys(payload) {\n const {device_keys: deviceKeys} = payload;\n const userKeys = Object.entries(deviceKeys).reduce((userKeys, [userId, deviceIds]) => {\n if (deviceIds.length === 0) {\n deviceIds = [\"device1\"];\n }\n userKeys[userId] = deviceIds.filter(d => d === \"device1\").reduce((deviceKeys, deviceId) => {\n deviceKeys[deviceId] = {\n \"algorithms\": [\n \"m.olm.v1.curve25519-aes-sha2\",\n \"m.megolm.v1.aes-sha2\"\n ],\n \"device_id\": deviceId,\n \"keys\": {\n [`curve25519:${deviceId}`]: createKey(\"curve25519\", userId, deviceId),\n [`ed25519:${deviceId}`]: createKey(\"ed25519\", userId, deviceId),\n },\n \"signatures\": {\n [userId]: {\n [`ed25519:${deviceId}`]: `ed25519:${userId}:${deviceId}:signature`\n }\n },\n \"unsigned\": {\n \"device_display_name\": `${userId} Phone`\n },\n \"user_id\": userId\n };\n return deviceKeys;\n }, {});\n return userKeys;\n }, {});\n const response = {device_keys: userKeys};\n return {\n async response() {\n return response;\n }\n };\n }\n };\n }\n\n async function writeMemberListToStorage(room, storage) {\n const txn = await storage.readWriteTxn([\n storage.storeNames.roomMembers,\n ]);\n const memberList = await room.loadMemberList(txn);\n try {\n for (const member of memberList.members.values()) {\n txn.roomMembers.set(member.serialize());\n }\n } catch (err) {\n txn.abort();\n throw err;\n } finally {\n memberList.release();\n }\n await txn.complete();\n }\n\n const roomId = \"!abc:hs.tld\";\n\n return {\n \"trackRoom only writes joined members with history visibility of joined\": async assert => {\n const storage = await createMockStorage();\n const tracker = new DeviceTracker({\n storage,\n getSyncToken: () => \"token\",\n olmUtil: {ed25519_verify: () => {}}, // valid if it does not throw\n ownUserId: \"@alice:hs.tld\",\n ownDeviceId: \"ABCD\",\n });\n const room = createUntrackedRoomMock(roomId, [\"@alice:hs.tld\", \"@bob:hs.tld\"], [\"@charly:hs.tld\"]);\n await tracker.trackRoom(room, HistoryVisibility.Joined, NullLoggerInstance.item);\n const txn = await storage.readTxn([storage.storeNames.userIdentities]);\n assert.deepEqual(await txn.userIdentities.get(\"@alice:hs.tld\"), {\n userId: \"@alice:hs.tld\",\n roomIds: [roomId],\n deviceTrackingStatus: TRACKING_STATUS_OUTDATED\n });\n assert.deepEqual(await txn.userIdentities.get(\"@bob:hs.tld\"), {\n userId: \"@bob:hs.tld\",\n roomIds: [roomId],\n deviceTrackingStatus: TRACKING_STATUS_OUTDATED\n });\n assert.equal(await txn.userIdentities.get(\"@charly:hs.tld\"), undefined);\n },\n \"getting devices for tracked room yields correct keys\": async assert => {\n const storage = await createMockStorage();\n const tracker = new DeviceTracker({\n storage,\n getSyncToken: () => \"token\",\n olmUtil: {ed25519_verify: () => {}}, // valid if it does not throw\n ownUserId: \"@alice:hs.tld\",\n ownDeviceId: \"ABCD\",\n });\n const room = createUntrackedRoomMock(roomId, [\"@alice:hs.tld\", \"@bob:hs.tld\"]);\n await tracker.trackRoom(room, HistoryVisibility.Joined, NullLoggerInstance.item);\n const hsApi = createQueryKeysHSApiMock();\n const devices = await tracker.devicesForRoomMembers(roomId, [\"@alice:hs.tld\", \"@bob:hs.tld\"], hsApi, NullLoggerInstance.item);\n assert.equal(devices.length, 2);\n assert.equal(devices.find(d => d.userId === \"@alice:hs.tld\").ed25519Key, \"ed25519:@alice:hs.tld:device1:key\");\n assert.equal(devices.find(d => d.userId === \"@bob:hs.tld\").ed25519Key, \"ed25519:@bob:hs.tld:device1:key\");\n },\n \"device with changed key is ignored\": async assert => {\n const storage = await createMockStorage();\n const tracker = new DeviceTracker({\n storage,\n getSyncToken: () => \"token\",\n olmUtil: {ed25519_verify: () => {}}, // valid if it does not throw\n ownUserId: \"@alice:hs.tld\",\n ownDeviceId: \"ABCD\",\n });\n const room = createUntrackedRoomMock(roomId, [\"@alice:hs.tld\", \"@bob:hs.tld\"]);\n await tracker.trackRoom(room, HistoryVisibility.Joined, NullLoggerInstance.item);\n const hsApi = createQueryKeysHSApiMock();\n // query devices first time\n await tracker.devicesForRoomMembers(roomId, [\"@alice:hs.tld\", \"@bob:hs.tld\"], hsApi, NullLoggerInstance.item);\n const txn = await storage.readWriteTxn([storage.storeNames.userIdentities]);\n // mark alice as outdated, so keys will be fetched again\n tracker.writeDeviceChanges([\"@alice:hs.tld\"], txn, NullLoggerInstance.item);\n await txn.complete();\n const hsApiWithChangedAliceKey = createQueryKeysHSApiMock((algo, userId, deviceId) => {\n return `${algo}:${userId}:${deviceId}:${userId === \"@alice:hs.tld\" ? \"newKey\" : \"key\"}`;\n });\n const devices = await tracker.devicesForRoomMembers(roomId, [\"@alice:hs.tld\", \"@bob:hs.tld\"], hsApiWithChangedAliceKey, NullLoggerInstance.item);\n assert.equal(devices.length, 2);\n assert.equal(devices.find(d => d.userId === \"@alice:hs.tld\").ed25519Key, \"ed25519:@alice:hs.tld:device1:key\");\n assert.equal(devices.find(d => d.userId === \"@bob:hs.tld\").ed25519Key, \"ed25519:@bob:hs.tld:device1:key\");\n const txn2 = await storage.readTxn([storage.storeNames.deviceIdentities]);\n // also check the modified key was not stored\n assert.equal((await txn2.deviceIdentities.get(\"@alice:hs.tld\", \"device1\")).ed25519Key, \"ed25519:@alice:hs.tld:device1:key\");\n },\n \"change history visibility from joined to invited adds invitees\": async assert => {\n const storage = await createMockStorage();\n const tracker = new DeviceTracker({\n storage,\n getSyncToken: () => \"token\",\n olmUtil: {ed25519_verify: () => {}}, // valid if it does not throw\n ownUserId: \"@alice:hs.tld\",\n ownDeviceId: \"ABCD\",\n });\n // alice is joined, bob is invited\n const room = await createUntrackedRoomMock(roomId, \n [\"@alice:hs.tld\"], [\"@bob:hs.tld\"]);\n await tracker.trackRoom(room, HistoryVisibility.Joined, NullLoggerInstance.item);\n const txn = await storage.readWriteTxn([storage.storeNames.userIdentities, storage.storeNames.deviceIdentities]);\n assert.equal(await txn.userIdentities.get(\"@bob:hs.tld\"), undefined);\n const {added, removed} = await tracker.writeHistoryVisibility(room, HistoryVisibility.Invited, txn, NullLoggerInstance.item);\n assert.equal((await txn.userIdentities.get(\"@bob:hs.tld\")).userId, \"@bob:hs.tld\");\n assert.deepEqual(added, [\"@bob:hs.tld\"]);\n assert.deepEqual(removed, []);\n },\n \"change history visibility from invited to joined removes invitees\": async assert => {\n const storage = await createMockStorage();\n const tracker = new DeviceTracker({\n storage,\n getSyncToken: () => \"token\",\n olmUtil: {ed25519_verify: () => {}}, // valid if it does not throw\n ownUserId: \"@alice:hs.tld\",\n ownDeviceId: \"ABCD\",\n });\n // alice is joined, bob is invited\n const room = await createUntrackedRoomMock(roomId, \n [\"@alice:hs.tld\"], [\"@bob:hs.tld\"]);\n await tracker.trackRoom(room, HistoryVisibility.Invited, NullLoggerInstance.item);\n const txn = await storage.readWriteTxn([storage.storeNames.userIdentities, storage.storeNames.deviceIdentities]);\n assert.equal((await txn.userIdentities.get(\"@bob:hs.tld\")).userId, \"@bob:hs.tld\");\n const {added, removed} = await tracker.writeHistoryVisibility(room, HistoryVisibility.Joined, txn, NullLoggerInstance.item);\n assert.equal(await txn.userIdentities.get(\"@bob:hs.tld\"), undefined);\n assert.deepEqual(added, []);\n assert.deepEqual(removed, [\"@bob:hs.tld\"]);\n },\n \"adding invitee with history visibility of invited adds room to userIdentities\": async assert => {\n const storage = await createMockStorage();\n const tracker = new DeviceTracker({\n storage,\n getSyncToken: () => \"token\",\n olmUtil: {ed25519_verify: () => {}}, // valid if it does not throw\n ownUserId: \"@alice:hs.tld\",\n ownDeviceId: \"ABCD\",\n });\n const room = await createUntrackedRoomMock(roomId, [\"@alice:hs.tld\"]);\n await tracker.trackRoom(room, HistoryVisibility.Invited, NullLoggerInstance.item);\n const txn = await storage.readWriteTxn([storage.storeNames.userIdentities, storage.storeNames.deviceIdentities]);\n // inviting a new member\n const inviteChange = new MemberChange(RoomMember.fromUserId(roomId, \"@bob:hs.tld\", \"invite\"));\n const {added, removed} = await tracker.writeMemberChanges(room, [inviteChange], HistoryVisibility.Invited, txn);\n assert.deepEqual(added, [\"@bob:hs.tld\"]);\n assert.deepEqual(removed, []);\n assert.equal((await txn.userIdentities.get(\"@bob:hs.tld\")).userId, \"@bob:hs.tld\");\n },\n \"adding invitee with history visibility of joined doesn't add room\": async assert => {\n const storage = await createMockStorage();\n const tracker = new DeviceTracker({\n storage,\n getSyncToken: () => \"token\",\n olmUtil: {ed25519_verify: () => {}}, // valid if it does not throw\n ownUserId: \"@alice:hs.tld\",\n ownDeviceId: \"ABCD\",\n });\n const room = await createUntrackedRoomMock(roomId, [\"@alice:hs.tld\"]);\n await tracker.trackRoom(room, HistoryVisibility.Joined, NullLoggerInstance.item);\n const txn = await storage.readWriteTxn([storage.storeNames.userIdentities, storage.storeNames.deviceIdentities]);\n // inviting a new member\n const inviteChange = new MemberChange(RoomMember.fromUserId(roomId, \"@bob:hs.tld\", \"invite\"));\n const memberChanges = new Map([[inviteChange.userId, inviteChange]]);\n const {added, removed} = await tracker.writeMemberChanges(room, memberChanges, HistoryVisibility.Joined, txn);\n assert.deepEqual(added, []);\n assert.deepEqual(removed, []);\n assert.equal(await txn.userIdentities.get(\"@bob:hs.tld\"), undefined);\n },\n \"getting all devices after changing history visibility now includes invitees\": async assert => {\n const storage = await createMockStorage();\n const tracker = new DeviceTracker({\n storage,\n getSyncToken: () => \"token\",\n olmUtil: {ed25519_verify: () => {}}, // valid if it does not throw\n ownUserId: \"@alice:hs.tld\",\n ownDeviceId: \"ABCD\",\n });\n const room = createUntrackedRoomMock(roomId, [\"@alice:hs.tld\"], [\"@bob:hs.tld\"]);\n await tracker.trackRoom(room, HistoryVisibility.Invited, NullLoggerInstance.item);\n const hsApi = createQueryKeysHSApiMock();\n // write memberlist from room mock to mock storage,\n // as devicesForTrackedRoom reads directly from roomMembers store.\n await writeMemberListToStorage(room, storage);\n const devices = await tracker.devicesForTrackedRoom(roomId, hsApi, NullLoggerInstance.item);\n assert.equal(devices.length, 2);\n assert.equal(devices.find(d => d.userId === \"@alice:hs.tld\").ed25519Key, \"ed25519:@alice:hs.tld:device1:key\");\n assert.equal(devices.find(d => d.userId === \"@bob:hs.tld\").ed25519Key, \"ed25519:@bob:hs.tld:device1:key\");\n },\n \"rejecting invite with history visibility of invited removes room from user identity\": async assert => {\n const storage = await createMockStorage();\n const tracker = new DeviceTracker({\n storage,\n getSyncToken: () => \"token\",\n olmUtil: {ed25519_verify: () => {}}, // valid if it does not throw\n ownUserId: \"@alice:hs.tld\",\n ownDeviceId: \"ABCD\",\n });\n // alice is joined, bob is invited\n const room = await createUntrackedRoomMock(roomId, [\"@alice:hs.tld\"], [\"@bob:hs.tld\"]);\n await tracker.trackRoom(room, HistoryVisibility.Invited, NullLoggerInstance.item);\n const txn = await storage.readWriteTxn([storage.storeNames.userIdentities, storage.storeNames.deviceIdentities]);\n // reject invite\n const inviteChange = new MemberChange(RoomMember.fromUserId(roomId, \"@bob:hs.tld\", \"leave\"), \"invite\");\n const memberChanges = new Map([[inviteChange.userId, inviteChange]]);\n const {added, removed} = await tracker.writeMemberChanges(room, memberChanges, HistoryVisibility.Invited, txn);\n assert.deepEqual(added, []);\n assert.deepEqual(removed, [\"@bob:hs.tld\"]);\n assert.equal(await txn.userIdentities.get(\"@bob:hs.tld\"), undefined);\n },\n \"remove room from user identity sharing multiple rooms with us preserves other room\": async assert => {\n const storage = await createMockStorage();\n const tracker = new DeviceTracker({\n storage,\n getSyncToken: () => \"token\",\n olmUtil: {ed25519_verify: () => {}}, // valid if it does not throw\n ownUserId: \"@alice:hs.tld\",\n ownDeviceId: \"ABCD\",\n });\n // alice is joined, bob is invited\n const room1 = await createUntrackedRoomMock(\"!abc:hs.tld\", [\"@alice:hs.tld\", \"@bob:hs.tld\"]);\n const room2 = await createUntrackedRoomMock(\"!def:hs.tld\", [\"@alice:hs.tld\", \"@bob:hs.tld\"]);\n await tracker.trackRoom(room1, HistoryVisibility.Joined, NullLoggerInstance.item);\n await tracker.trackRoom(room2, HistoryVisibility.Joined, NullLoggerInstance.item);\n const txn1 = await storage.readTxn([storage.storeNames.userIdentities]);\n assert.deepEqual((await txn1.userIdentities.get(\"@bob:hs.tld\")).roomIds, [\"!abc:hs.tld\", \"!def:hs.tld\"]);\n const leaveChange = new MemberChange(RoomMember.fromUserId(room2.id, \"@bob:hs.tld\", \"leave\"), \"join\");\n const memberChanges = new Map([[leaveChange.userId, leaveChange]]);\n const txn2 = await storage.readWriteTxn([storage.storeNames.userIdentities, storage.storeNames.deviceIdentities]);\n await tracker.writeMemberChanges(room2, memberChanges, HistoryVisibility.Joined, txn2);\n await txn2.complete();\n const txn3 = await storage.readTxn([storage.storeNames.userIdentities]);\n assert.deepEqual((await txn3.userIdentities.get(\"@bob:hs.tld\")).roomIds, [\"!abc:hs.tld\"]);\n },\n \"add room to user identity sharing multiple rooms with us preserves other room\": async assert => {\n const storage = await createMockStorage();\n const tracker = new DeviceTracker({\n storage,\n getSyncToken: () => \"token\",\n olmUtil: {ed25519_verify: () => {}}, // valid if it does not throw\n ownUserId: \"@alice:hs.tld\",\n ownDeviceId: \"ABCD\",\n });\n // alice is joined, bob is invited\n const room1 = await createUntrackedRoomMock(\"!abc:hs.tld\", [\"@alice:hs.tld\", \"@bob:hs.tld\"]);\n const room2 = await createUntrackedRoomMock(\"!def:hs.tld\", [\"@alice:hs.tld\", \"@bob:hs.tld\"]);\n await tracker.trackRoom(room1, HistoryVisibility.Joined, NullLoggerInstance.item);\n const txn1 = await storage.readTxn([storage.storeNames.userIdentities]);\n assert.deepEqual((await txn1.userIdentities.get(\"@bob:hs.tld\")).roomIds, [\"!abc:hs.tld\"]);\n await tracker.trackRoom(room2, HistoryVisibility.Joined, NullLoggerInstance.item);\n const txn2 = await storage.readTxn([storage.storeNames.userIdentities]);\n assert.deepEqual((await txn2.userIdentities.get(\"@bob:hs.tld\")).roomIds, [\"!abc:hs.tld\", \"!def:hs.tld\"]);\n },\n }\n}\n","/*\nCopyright 2020 The Matrix.org Foundation C.I.C.\n\nLicensed under the Apache License, Version 2.0 (the \"License\");\nyou may not use this file except in compliance with the License.\nYou may obtain a copy of the License at\n\n http://www.apache.org/licenses/LICENSE-2.0\n\nUnless required by applicable law or agreed to in writing, software\ndistributed under the License is distributed on an \"AS IS\" BASIS,\nWITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\nSee the License for the specific language governing permissions and\nlimitations under the License.\n*/\n\nimport {Lock} from \"./Lock\";\n\nexport class LockMap {\n private readonly _map: Map = new Map();\n\n async takeLock(key: T): Promise {\n let lock = this._map.get(key);\n if (lock) {\n await lock.take();\n } else {\n lock = new Lock();\n lock.tryTake();\n this._map.set(key, lock);\n }\n // don't leave old locks lying around\n lock.released()!.then(() => {\n // give others a chance to take the lock first\n Promise.resolve().then(() => {\n if (!lock!.isTaken) {\n this._map.delete(key);\n }\n });\n });\n return lock;\n }\n}\n\nexport function tests() {\n return {\n \"taking a lock on the same key blocks\": async assert => {\n const lockMap = new LockMap();\n const lock = await lockMap.takeLock(\"foo\");\n let second = false;\n const prom = lockMap.takeLock(\"foo\").then(() => {\n second = true;\n });\n assert.equal(second, false);\n // do a delay to make sure prom does not resolve on its own\n await Promise.resolve();\n lock.release();\n await prom;\n assert.equal(second, true);\n },\n \"lock is not cleaned up with second request\": async assert => {\n const lockMap = new LockMap();\n const lock = await lockMap.takeLock(\"foo\");\n let ranSecond = false;\n const prom = lockMap.takeLock(\"foo\").then(returnedLock => {\n ranSecond = true;\n assert.equal(returnedLock.isTaken, true);\n // peek into internals, naughty\n // @ts-ignore\n assert.equal(lockMap._map.get(\"foo\"), returnedLock);\n });\n lock.release();\n await prom;\n // double delay to make sure cleanup logic ran\n await Promise.resolve();\n await Promise.resolve();\n assert.equal(ranSecond, true);\n },\n \"lock is cleaned up without other request\": async assert => {\n const lockMap = new LockMap();\n const lock = await lockMap.takeLock(\"foo\");\n await Promise.resolve();\n lock.release();\n // double delay to make sure cleanup logic ran\n await Promise.resolve();\n await Promise.resolve();\n // @ts-ignore\n assert.equal(lockMap._map.has(\"foo\"), false);\n },\n \n };\n}\n","/*\nCopyright 2020 The Matrix.org Foundation C.I.C.\n\nLicensed under the Apache License, Version 2.0 (the \"License\");\nyou may not use this file except in compliance with the License.\nYou may obtain a copy of the License at\n\n http://www.apache.org/licenses/LICENSE-2.0\n\nUnless required by applicable law or agreed to in writing, software\ndistributed under the License is distributed on an \"AS IS\" BASIS,\nWITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\nSee the License for the specific language governing permissions and\nlimitations under the License.\n*/\nimport type {Key} from \"./common\";\nimport type {Platform} from \"../../platform/web/Platform.js\";\nimport type {Transaction} from \"../storage/idb/Transaction\";\n\ntype EncryptedData = {\n iv: string;\n ciphertext: string;\n mac: string;\n}\n\nexport class SecretStorage {\n private readonly _key: Key;\n private readonly _platform: Platform;\n\n constructor({key, platform}: {key: Key, platform: Platform}) {\n this._key = key;\n this._platform = platform;\n }\n\n async readSecret(name: string, txn: Transaction): Promise {\n const accountData = await txn.accountData.get(name);\n if (!accountData) {\n return;\n }\n const encryptedData = accountData?.content?.encrypted?.[this._key.id] as EncryptedData;\n if (!encryptedData) {\n throw new Error(`Secret ${accountData.type} is not encrypted for key ${this._key.id}`);\n }\n\n if (this._key.algorithm === \"m.secret_storage.v1.aes-hmac-sha2\") {\n return await this._decryptAESSecret(accountData.type, encryptedData);\n } else {\n throw new Error(`Unsupported algorithm for key ${this._key.id}: ${this._key.algorithm}`);\n }\n }\n\n async _decryptAESSecret(type: string, encryptedData: EncryptedData): Promise {\n const {base64, utf8} = this._platform.encoding;\n // now derive the aes and mac key from the 4s key\n const hkdfKey = await this._platform.crypto.derive.hkdf(\n this._key.binaryKey,\n new Uint8Array(8).buffer, //zero salt\n utf8.encode(type), // info\n \"SHA-256\",\n 512 // 512 bits or 64 bytes\n );\n const aesKey = hkdfKey.slice(0, 32);\n const hmacKey = hkdfKey.slice(32);\n const ciphertextBytes = base64.decode(encryptedData.ciphertext);\n\n const isVerified = await this._platform.crypto.hmac.verify(\n hmacKey, base64.decode(encryptedData.mac),\n ciphertextBytes, \"SHA-256\");\n\n if (!isVerified) {\n throw new Error(\"Bad MAC\");\n }\n\n const plaintextBytes = await this._platform.crypto.aes.decryptCTR({\n key: aesKey,\n iv: base64.decode(encryptedData.iv),\n data: ciphertextBytes\n });\n\n return utf8.decode(plaintextBytes);\n }\n}\n","/*\nCopyright 2020 Bruno Windels \nCopyright 2020, 2021 The Matrix.org Foundation C.I.C.\n\nLicensed under the Apache License, Version 2.0 (the \"License\");\nyou may not use this file except in compliance with the License.\nYou may obtain a copy of the License at\n\n http://www.apache.org/licenses/LICENSE-2.0\n\nUnless required by applicable law or agreed to in writing, software\ndistributed under the License is distributed on an \"AS IS\" BASIS,\nWITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\nSee the License for the specific language governing permissions and\nlimitations under the License.\n*/\n\nimport {Room} from \"./room/Room.js\";\nimport {ArchivedRoom} from \"./room/ArchivedRoom.js\";\nimport {RoomStatus} from \"./room/common\";\nimport {RoomBeingCreated} from \"./room/RoomBeingCreated\";\nimport {Invite} from \"./room/Invite.js\";\nimport {Pusher} from \"./push/Pusher\";\nimport { ObservableMap } from \"../observable/index.js\";\nimport {User} from \"./User.js\";\nimport {DeviceMessageHandler} from \"./DeviceMessageHandler.js\";\nimport {Account as E2EEAccount} from \"./e2ee/Account.js\";\nimport {uploadAccountAsDehydratedDevice} from \"./e2ee/Dehydration.js\";\nimport {Decryption as OlmDecryption} from \"./e2ee/olm/Decryption\";\nimport {Encryption as OlmEncryption} from \"./e2ee/olm/Encryption\";\nimport {Decryption as MegOlmDecryption} from \"./e2ee/megolm/Decryption\";\nimport {KeyLoader as MegOlmKeyLoader} from \"./e2ee/megolm/decryption/KeyLoader\";\nimport {KeyBackup} from \"./e2ee/megolm/keybackup/KeyBackup\";\nimport {Encryption as MegOlmEncryption} from \"./e2ee/megolm/Encryption.js\";\nimport {MEGOLM_ALGORITHM} from \"./e2ee/common.js\";\nimport {RoomEncryption} from \"./e2ee/RoomEncryption.js\";\nimport {DeviceTracker} from \"./e2ee/DeviceTracker.js\";\nimport {LockMap} from \"../utils/LockMap\";\nimport {groupBy} from \"../utils/groupBy\";\nimport {\n keyFromCredential as ssssKeyFromCredential,\n readKey as ssssReadKey,\n writeKey as ssssWriteKey,\n removeKey as ssssRemoveKey,\n keyFromDehydratedDeviceKey as createSSSSKeyFromDehydratedDeviceKey\n} from \"./ssss/index\";\nimport {SecretStorage} from \"./ssss/SecretStorage\";\nimport {ObservableValue, RetainedObservableValue} from \"../observable/ObservableValue\";\n\nconst PICKLE_KEY = \"DEFAULT_KEY\";\nconst PUSHER_KEY = \"pusher\";\n\nexport class Session {\n // sessionInfo contains deviceId, userId and homeserver\n constructor({storage, hsApi, sessionInfo, olm, olmWorker, platform, mediaRepository}) {\n this._platform = platform;\n this._storage = storage;\n this._hsApi = hsApi;\n this._mediaRepository = mediaRepository;\n this._syncInfo = null;\n this._sessionInfo = sessionInfo;\n this._rooms = new ObservableMap();\n this._roomUpdateCallback = (room, params) => this._rooms.update(room.id, params);\n this._activeArchivedRooms = new Map();\n this._invites = new ObservableMap();\n this._inviteUpdateCallback = (invite, params) => this._invites.update(invite.id, params);\n this._roomsBeingCreatedUpdateCallback = (rbc, params) => {\n if (rbc.isCancelled) {\n this._roomsBeingCreated.remove(rbc.id);\n } else {\n this._roomsBeingCreated.update(rbc.id, params)\n }\n };\n this._roomsBeingCreated = new ObservableMap();\n this._user = new User(sessionInfo.userId);\n this._deviceMessageHandler = new DeviceMessageHandler({storage});\n this._olm = olm;\n this._olmUtil = null;\n this._e2eeAccount = null;\n this._deviceTracker = null;\n this._olmEncryption = null;\n this._keyLoader = null;\n this._megolmEncryption = null;\n this._megolmDecryption = null;\n this._getSyncToken = () => this.syncToken;\n this._olmWorker = olmWorker;\n this._keyBackup = new ObservableValue(undefined);\n this._observedRoomStatus = new Map();\n\n if (olm) {\n this._olmUtil = new olm.Utility();\n this._deviceTracker = new DeviceTracker({\n storage,\n getSyncToken: this._getSyncToken,\n olmUtil: this._olmUtil,\n ownUserId: sessionInfo.userId,\n ownDeviceId: sessionInfo.deviceId,\n });\n }\n this._createRoomEncryption = this._createRoomEncryption.bind(this);\n this._forgetArchivedRoom = this._forgetArchivedRoom.bind(this);\n this.needsKeyBackup = new ObservableValue(false);\n }\n\n get fingerprintKey() {\n return this._e2eeAccount?.identityKeys.ed25519;\n }\n\n get hasSecretStorageKey() {\n return this._hasSecretStorageKey;\n }\n\n get deviceId() {\n return this._sessionInfo.deviceId;\n }\n\n get userId() {\n return this._sessionInfo.userId;\n }\n\n // called once this._e2eeAccount is assigned\n _setupEncryption() {\n // TODO: this should all go in a wrapper in e2ee/ that is bootstrapped by passing in the account\n // and can create RoomEncryption objects and handle encrypted to_device messages and device list changes.\n const senderKeyLock = new LockMap();\n const olmDecryption = new OlmDecryption(\n this._e2eeAccount,\n PICKLE_KEY,\n this._platform.clock.now,\n this._user.id,\n this._olm,\n senderKeyLock\n );\n this._olmEncryption = new OlmEncryption(\n this._e2eeAccount,\n PICKLE_KEY,\n this._olm,\n this._storage,\n this._platform.clock.now,\n this._user.id,\n this._olmUtil,\n senderKeyLock\n );\n this._keyLoader = new MegOlmKeyLoader(this._olm, PICKLE_KEY, 20);\n this._megolmEncryption = new MegOlmEncryption({\n account: this._e2eeAccount,\n pickleKey: PICKLE_KEY,\n olm: this._olm,\n storage: this._storage,\n keyLoader: this._keyLoader,\n now: this._platform.clock.now,\n ownDeviceId: this._sessionInfo.deviceId,\n });\n this._megolmDecryption = new MegOlmDecryption(this._keyLoader, this._olmWorker);\n this._deviceMessageHandler.enableEncryption({olmDecryption, megolmDecryption: this._megolmDecryption});\n }\n\n _createRoomEncryption(room, encryptionParams) {\n // TODO: this will actually happen when users start using the e2ee version for the first time\n\n // this should never happen because either a session was already synced once\n // and thus an e2ee account was created as well and _setupEncryption is called from load\n // OR\n // this is a new session and loading it will load zero rooms, thus not calling this method.\n // in this case _setupEncryption is called from beforeFirstSync, right after load,\n // so any incoming synced rooms won't be there yet\n if (!this._olmEncryption) {\n throw new Error(\"creating room encryption before encryption got globally enabled\");\n }\n // only support megolm\n if (encryptionParams.algorithm !== MEGOLM_ALGORITHM) {\n return null;\n }\n return new RoomEncryption({\n room,\n deviceTracker: this._deviceTracker,\n olmEncryption: this._olmEncryption,\n megolmEncryption: this._megolmEncryption,\n megolmDecryption: this._megolmDecryption,\n storage: this._storage,\n keyBackup: this._keyBackup?.get(),\n encryptionParams,\n notifyMissingMegolmSession: () => {\n if (!this._keyBackup.get()) {\n this.needsKeyBackup.set(true)\n }\n },\n clock: this._platform.clock\n });\n }\n\n /**\n * Enable secret storage by providing the secret storage credential.\n * This will also see if there is a megolm key backup and try to enable that if so.\n * \n * @param {string} type either \"passphrase\" or \"recoverykey\"\n * @param {string} credential either the passphrase or the recovery key, depending on the type\n * @return {Promise} resolves or rejects after having tried to enable secret storage\n */\n enableSecretStorage(type, credential, log = undefined) {\n return this._platform.logger.wrapOrRun(log, \"enable secret storage\", async log => {\n if (!this._olm) {\n throw new Error(\"olm required\");\n }\n if (this._keyBackup.get()) {\n this._keyBackup.get().dispose();\n this._keyBackup.set(null);\n }\n const key = await ssssKeyFromCredential(type, credential, this._storage, this._platform, this._olm);\n // and create key backup, which needs to read from accountData\n const readTxn = await this._storage.readTxn([\n this._storage.storeNames.accountData,\n ]);\n if (await this._createKeyBackup(key, readTxn, log)) {\n // only after having read a secret, write the key\n // as we only find out if it was good if the MAC verification succeeds\n await this._writeSSSSKey(key, log);\n this._keyBackup.get().flush(log);\n return key;\n } else {\n throw new Error(\"Could not read key backup with the given key\");\n }\n });\n }\n\n async _writeSSSSKey(key, log) {\n // we're going to write the 4S key, and also the backup version.\n // this way, we can detect when we enter a key for a new backup version\n // and mark all inbound sessions to be backed up again\n const keyBackup = this._keyBackup.get();\n if (!keyBackup) {\n return;\n }\n const backupVersion = keyBackup.version;\n const writeTxn = await this._storage.readWriteTxn([\n this._storage.storeNames.session,\n this._storage.storeNames.inboundGroupSessions,\n ]);\n try {\n const previousBackupVersion = await ssssWriteKey(key, backupVersion, writeTxn);\n log.set(\"previousBackupVersion\", previousBackupVersion);\n log.set(\"backupVersion\", backupVersion);\n if (!!previousBackupVersion && previousBackupVersion !== backupVersion) {\n const amountMarked = await keyBackup.markAllForBackup(writeTxn);\n log.set(\"amountMarkedForBackup\", amountMarked);\n }\n } catch (err) {\n writeTxn.abort();\n throw err;\n }\n await writeTxn.complete();\n }\n\n async disableSecretStorage() {\n const writeTxn = await this._storage.readWriteTxn([\n this._storage.storeNames.session,\n ]);\n try {\n ssssRemoveKey(writeTxn);\n } catch (err) {\n writeTxn.abort();\n throw err;\n }\n await writeTxn.complete();\n if (this._keyBackup.get()) {\n for (const room of this._rooms.values()) {\n if (room.isEncrypted) {\n room.enableKeyBackup(undefined);\n }\n }\n this._keyBackup.get().dispose();\n this._keyBackup.set(null);\n }\n }\n\n _createKeyBackup(ssssKey, txn, log) {\n return log.wrap(\"enable key backup\", async log => {\n try {\n const secretStorage = new SecretStorage({key: ssssKey, platform: this._platform});\n const keyBackup = await KeyBackup.fromSecretStorage(\n this._platform,\n this._olm,\n secretStorage,\n this._hsApi,\n this._keyLoader,\n this._storage,\n txn\n );\n if (keyBackup) {\n for (const room of this._rooms.values()) {\n if (room.isEncrypted) {\n room.enableKeyBackup(keyBackup);\n }\n }\n this._keyBackup.set(keyBackup);\n return true;\n }\n } catch (err) {\n log.catch(err);\n }\n return false;\n });\n }\n\n /**\n * @type {ObservableValue this._e2eeAccount.uploadKeys(this._storage, false, log));\n }\n }\n\n /** @internal */\n async dehydrateIdentity(dehydratedDevice, log) {\n log.set(\"deviceId\", dehydratedDevice.deviceId);\n if (!this._olm) {\n log.set(\"no_olm\", true);\n return false;\n }\n if (dehydratedDevice.deviceId !== this.deviceId) {\n log.set(\"wrong_device\", true);\n return false;\n }\n if (this._e2eeAccount) {\n log.set(\"account_already_setup\", true);\n return false;\n }\n if (!await dehydratedDevice.claim(this._hsApi, log)) {\n log.set(\"already_claimed\", true);\n return false;\n }\n this._e2eeAccount = await E2EEAccount.adoptDehydratedDevice({\n dehydratedDevice,\n hsApi: this._hsApi,\n olm: this._olm,\n pickleKey: PICKLE_KEY,\n userId: this._sessionInfo.userId,\n olmWorker: this._olmWorker,\n deviceId: this.deviceId,\n storage: this._storage,\n });\n log.set(\"keys\", this._e2eeAccount.identityKeys);\n this._setupEncryption();\n return true;\n }\n\n _createNewAccount(deviceId, storage = undefined) {\n // storage is optional and if omitted the account won't be persisted (useful for dehydrating devices)\n return E2EEAccount.create({\n hsApi: this._hsApi,\n olm: this._olm,\n pickleKey: PICKLE_KEY,\n userId: this._sessionInfo.userId,\n olmWorker: this._olmWorker,\n deviceId,\n storage,\n });\n }\n\n setupDehydratedDevice(key, log = null) {\n return this._platform.logger.wrapOrRun(log, \"setupDehydratedDevice\", async log => {\n const dehydrationAccount = await this._createNewAccount(\"temp-device-id\");\n try {\n const deviceId = await uploadAccountAsDehydratedDevice(\n dehydrationAccount, this._hsApi, key, \"Dehydrated device\", log);\n log.set(\"deviceId\", deviceId);\n return deviceId;\n } finally {\n dehydrationAccount.dispose();\n }\n });\n }\n\n /** @internal */\n async load(log) {\n const txn = await this._storage.readTxn([\n this._storage.storeNames.session,\n this._storage.storeNames.roomSummary,\n this._storage.storeNames.invites,\n this._storage.storeNames.roomMembers,\n this._storage.storeNames.timelineEvents,\n this._storage.storeNames.timelineFragments,\n this._storage.storeNames.pendingEvents,\n ]);\n // restore session object\n this._syncInfo = await txn.session.get(\"sync\");\n // restore e2ee account, if any\n if (this._olm) {\n this._e2eeAccount = await E2EEAccount.load({\n hsApi: this._hsApi,\n olm: this._olm,\n pickleKey: PICKLE_KEY,\n userId: this._sessionInfo.userId,\n deviceId: this._sessionInfo.deviceId,\n olmWorker: this._olmWorker,\n txn\n });\n if (this._e2eeAccount) {\n log.set(\"keys\", this._e2eeAccount.identityKeys);\n this._setupEncryption();\n }\n }\n const pendingEventsByRoomId = await this._getPendingEventsByRoom(txn);\n // load invites\n const invites = await txn.invites.getAll();\n const inviteLoadPromise = Promise.all(invites.map(async inviteData => {\n const invite = this.createInvite(inviteData.roomId);\n log.wrap(\"invite\", log => invite.load(inviteData, log));\n this._invites.add(invite.id, invite);\n }));\n // load rooms\n const rooms = await txn.roomSummary.getAll();\n const roomLoadPromise = Promise.all(rooms.map(async summary => {\n const room = this.createJoinedRoom(summary.roomId, pendingEventsByRoomId.get(summary.roomId));\n await log.wrap(\"room\", log => room.load(summary, txn, log));\n this._rooms.add(room.id, room);\n }));\n // load invites and rooms in parallel\n await Promise.all([inviteLoadPromise, roomLoadPromise]);\n for (const [roomId, invite] of this.invites) {\n const room = this.rooms.get(roomId);\n if (room) {\n room.setInvite(invite);\n }\n }\n }\n\n dispose() {\n this._olmWorker?.dispose();\n this._olmWorker = undefined;\n this._keyBackup.get()?.dispose();\n this._keyBackup.set(undefined);\n this._megolmDecryption?.dispose();\n this._megolmDecryption = undefined;\n this._e2eeAccount?.dispose();\n this._e2eeAccount = undefined;\n for (const room of this._rooms.values()) {\n room.dispose();\n }\n this._rooms = undefined;\n }\n\n /**\n * @internal called from session container when coming back online and catchup syncs have finished.\n * @param {Object} lastVersionResponse a response from /versions, which is polled while offline,\n * and useful to store so we can later tell what capabilities\n * our homeserver has.\n */\n async start(lastVersionResponse, dehydratedDevice, log) {\n if (lastVersionResponse) {\n // store /versions response\n const txn = await this._storage.readWriteTxn([\n this._storage.storeNames.session\n ]);\n txn.session.set(\"serverVersions\", lastVersionResponse);\n // TODO: what can we do if this throws?\n await txn.complete();\n }\n // enable session backup, this requests the latest backup version\n if (!this._keyBackup.get()) {\n if (dehydratedDevice) {\n await log.wrap(\"SSSSKeyFromDehydratedDeviceKey\", async log => {\n const ssssKey = await createSSSSKeyFromDehydratedDeviceKey(dehydratedDevice.key, this._storage, this._platform);\n if (ssssKey) {\n log.set(\"success\", true);\n await this._writeSSSSKey(ssssKey);\n }\n });\n }\n const txn = await this._storage.readTxn([\n this._storage.storeNames.session,\n this._storage.storeNames.accountData,\n ]);\n // try set up session backup if we stored the ssss key\n const ssssKey = await ssssReadKey(txn);\n if (ssssKey) {\n // txn will end here as this does a network request\n if (await this._createKeyBackup(ssssKey, txn, log)) {\n this._keyBackup.get()?.flush(log);\n }\n }\n if (!this._keyBackup.get()) {\n // null means key backup isn't configured yet\n // as opposed to undefined, which means we're still checking\n this._keyBackup.set(null);\n }\n }\n // restore unfinished operations, like sending out room keys\n const opsTxn = await this._storage.readWriteTxn([\n this._storage.storeNames.operations\n ]);\n const operations = await opsTxn.operations.getAll();\n const operationsByScope = groupBy(operations, o => o.scope);\n\n for (const room of this._rooms.values()) {\n let roomOperationsByType;\n const roomOperations = operationsByScope.get(room.id);\n if (roomOperations) {\n roomOperationsByType = groupBy(roomOperations, r => r.type);\n }\n room.start(roomOperationsByType, log);\n }\n }\n\n async _getPendingEventsByRoom(txn) {\n const pendingEvents = await txn.pendingEvents.getAll();\n return pendingEvents.reduce((groups, pe) => {\n const group = groups.get(pe.roomId);\n if (group) {\n group.push(pe);\n } else {\n groups.set(pe.roomId, [pe]);\n }\n return groups;\n }, new Map());\n }\n\n get rooms() {\n return this._rooms;\n }\n\n findDirectMessageForUserId(userId) {\n for (const [,room] of this._rooms) {\n if (room.isDirectMessageForUserId(userId)) {\n return room;\n }\n }\n for (const [,invite] of this._invites) {\n if (invite.isDirectMessageForUserId(userId)) {\n return invite;\n }\n }\n }\n\n /** @internal */\n createJoinedRoom(roomId, pendingEvents) {\n return new Room({\n roomId,\n getSyncToken: this._getSyncToken,\n storage: this._storage,\n emitCollectionChange: this._roomUpdateCallback,\n hsApi: this._hsApi,\n mediaRepository: this._mediaRepository,\n pendingEvents,\n user: this._user,\n createRoomEncryption: this._createRoomEncryption,\n platform: this._platform\n });\n }\n\n /** @internal */\n _createArchivedRoom(roomId) {\n const room = new ArchivedRoom({\n roomId,\n getSyncToken: this._getSyncToken,\n storage: this._storage,\n emitCollectionChange: () => {},\n releaseCallback: () => this._activeArchivedRooms.delete(roomId),\n forgetCallback: this._forgetArchivedRoom,\n hsApi: this._hsApi,\n mediaRepository: this._mediaRepository,\n user: this._user,\n createRoomEncryption: this._createRoomEncryption,\n platform: this._platform\n });\n this._activeArchivedRooms.set(roomId, room);\n return room;\n }\n\n get invites() {\n return this._invites;\n }\n\n /** @internal */\n createInvite(roomId) {\n return new Invite({\n roomId,\n hsApi: this._hsApi,\n emitCollectionUpdate: this._inviteUpdateCallback,\n mediaRepository: this._mediaRepository,\n user: this._user,\n platform: this._platform,\n });\n }\n\n get roomsBeingCreated() {\n return this._roomsBeingCreated;\n }\n\n createRoom(options) {\n let roomBeingCreated;\n this._platform.logger.runDetached(\"create room\", async log => {\n const id = `local-${Math.floor(this._platform.random() * Number.MAX_SAFE_INTEGER)}`;\n roomBeingCreated = new RoomBeingCreated(\n id, options, this._roomsBeingCreatedUpdateCallback,\n this._mediaRepository, this._platform, log);\n this._roomsBeingCreated.set(id, roomBeingCreated);\n const promises = [roomBeingCreated.create(this._hsApi, log)];\n const loadProfiles = options.loadProfiles !== false; // default to true\n if (loadProfiles) {\n promises.push(roomBeingCreated.loadProfiles(this._hsApi, log));\n }\n await Promise.all(promises);\n // we should now know the roomId, check if the room was synced before we received\n // the room id. Replace the room being created with the synced room.\n if (roomBeingCreated.roomId) {\n if (this.rooms.get(roomBeingCreated.roomId)) {\n this._tryReplaceRoomBeingCreated(roomBeingCreated.roomId, log);\n }\n await roomBeingCreated.adjustDirectMessageMapIfNeeded(this._user, this._storage, this._hsApi, log);\n }\n });\n return roomBeingCreated;\n }\n\n async obtainSyncLock(syncResponse) {\n const toDeviceEvents = syncResponse.to_device?.events;\n if (Array.isArray(toDeviceEvents) && toDeviceEvents.length) {\n return await this._deviceMessageHandler.obtainSyncLock(toDeviceEvents);\n }\n }\n\n async prepareSync(syncResponse, lock, txn, log) {\n const toDeviceEvents = syncResponse.to_device?.events;\n if (Array.isArray(toDeviceEvents) && toDeviceEvents.length) {\n return await log.wrap(\"deviceMsgs\", log => this._deviceMessageHandler.prepareSync(toDeviceEvents, lock, txn, log));\n }\n }\n\n /** @internal */\n async writeSync(syncResponse, syncFilterId, preparation, txn, log) {\n const changes = {\n syncInfo: null,\n e2eeAccountChanges: null\n };\n const syncToken = syncResponse.next_batch;\n if (syncToken !== this.syncToken) {\n const syncInfo = {token: syncToken, filterId: syncFilterId};\n // don't modify `this` because transaction might still fail\n txn.session.set(\"sync\", syncInfo);\n changes.syncInfo = syncInfo;\n }\n\n const deviceOneTimeKeysCount = syncResponse.device_one_time_keys_count;\n if (this._e2eeAccount && deviceOneTimeKeysCount) {\n changes.e2eeAccountChanges = this._e2eeAccount.writeSync(deviceOneTimeKeysCount, txn, log);\n }\n \n const deviceLists = syncResponse.device_lists;\n if (this._deviceTracker && Array.isArray(deviceLists?.changed) && deviceLists.changed.length) {\n await log.wrap(\"deviceLists\", log => this._deviceTracker.writeDeviceChanges(deviceLists.changed, txn, log));\n }\n\n if (preparation) {\n changes.hasNewRoomKeys = await log.wrap(\"deviceMsgs\", log => this._deviceMessageHandler.writeSync(preparation, txn, log));\n }\n\n // store account data\n const accountData = syncResponse[\"account_data\"];\n if (Array.isArray(accountData?.events)) {\n for (const event of accountData.events) {\n if (typeof event.type === \"string\") {\n txn.accountData.set(event);\n }\n }\n }\n return changes;\n }\n\n /** @internal */\n afterSync({syncInfo, e2eeAccountChanges}) {\n if (syncInfo) {\n // sync transaction succeeded, modify object state now\n this._syncInfo = syncInfo;\n }\n if (this._e2eeAccount) {\n this._e2eeAccount.afterSync(e2eeAccountChanges);\n }\n }\n\n /** @internal */\n async afterSyncCompleted(changes, isCatchupSync, log) {\n // we don't start uploading one-time keys until we've caught up with\n // to-device messages, to help us avoid throwing away one-time-keys that we\n // are about to receive messages for\n // (https://github.com/vector-im/riot-web/issues/2782).\n if (!isCatchupSync) {\n const needsToUploadOTKs = await this._e2eeAccount.generateOTKsIfNeeded(this._storage, log);\n if (needsToUploadOTKs) {\n await log.wrap(\"uploadKeys\", log => this._e2eeAccount.uploadKeys(this._storage, false, log));\n }\n }\n if (changes.hasNewRoomKeys) {\n this._keyBackup.get()?.flush(log);\n }\n }\n\n _tryReplaceRoomBeingCreated(roomId, log) {\n for (const [,roomBeingCreated] of this._roomsBeingCreated) {\n if (roomBeingCreated.roomId === roomId) {\n const observableStatus = this._observedRoomStatus.get(roomBeingCreated.id);\n if (observableStatus) {\n log.log(`replacing room being created`)\n .set(\"localId\", roomBeingCreated.id)\n .set(\"roomId\", roomBeingCreated.roomId);\n observableStatus.set(observableStatus.get() | RoomStatus.Replaced);\n }\n roomBeingCreated.dispose();\n this._roomsBeingCreated.remove(roomBeingCreated.id);\n return;\n }\n }\n }\n\n applyRoomCollectionChangesAfterSync(inviteStates, roomStates, archivedRoomStates, log) {\n // update the collections after sync\n for (const rs of roomStates) {\n if (rs.shouldAdd) {\n this._rooms.add(rs.id, rs.room);\n this._tryReplaceRoomBeingCreated(rs.id, log);\n } else if (rs.shouldRemove) {\n this._rooms.remove(rs.id);\n }\n }\n for (const is of inviteStates) {\n if (is.shouldAdd) {\n this._invites.add(is.id, is.invite);\n } else if (is.shouldRemove) {\n this._invites.remove(is.id);\n }\n }\n // now all the collections are updated, update the room status\n // so any listeners to the status will find the collections\n // completely up to date\n if (this._observedRoomStatus.size !== 0) {\n for (const ars of archivedRoomStates) {\n if (ars.shouldAdd) {\n this._observedRoomStatus.get(ars.id)?.set(RoomStatus.Archived);\n }\n }\n for (const rs of roomStates) {\n if (rs.shouldAdd) {\n this._observedRoomStatus.get(rs.id)?.set(RoomStatus.Joined);\n }\n }\n for (const is of inviteStates) {\n const statusObservable = this._observedRoomStatus.get(is.id);\n if (statusObservable) {\n const withInvited = statusObservable.get() | RoomStatus.Invited;\n if (is.shouldAdd) {\n statusObservable.set(withInvited);\n } else if (is.shouldRemove) {\n const withoutInvited = withInvited ^ RoomStatus.Invited;\n statusObservable.set(withoutInvited);\n }\n }\n }\n }\n }\n\n _forgetArchivedRoom(roomId) {\n const statusObservable = this._observedRoomStatus.get(roomId);\n if (statusObservable) {\n statusObservable.set((statusObservable.get() | RoomStatus.Archived) ^ RoomStatus.Archived);\n }\n }\n\n /** @internal */\n get syncToken() {\n return this._syncInfo?.token;\n }\n\n /** @internal */\n get syncFilterId() {\n return this._syncInfo?.filterId;\n }\n\n get user() {\n return this._user;\n }\n\n get mediaRepository() {\n return this._mediaRepository;\n }\n\n enablePushNotifications(enable) {\n if (enable) {\n return this._enablePush();\n } else {\n return this._disablePush();\n }\n }\n\n async _enablePush() {\n return this._platform.logger.run(\"enablePush\", async log => {\n const defaultPayload = Pusher.createDefaultPayload(this._sessionInfo.id);\n const pusher = await this._platform.notificationService.enablePush(Pusher, defaultPayload);\n if (!pusher) {\n log.set(\"no_pusher\", true);\n return false;\n }\n await pusher.enable(this._hsApi, log);\n // store pusher data, so we know we enabled it across reloads,\n // and we can disable it without too much hassle\n const txn = await this._storage.readWriteTxn([this._storage.storeNames.session]);\n txn.session.set(PUSHER_KEY, pusher.serialize());\n await txn.complete();\n return true;\n });\n }\n\n\n async _disablePush() {\n return this._platform.logger.run(\"disablePush\", async log => {\n await this._platform.notificationService.disablePush();\n const readTxn = await this._storage.readTxn([this._storage.storeNames.session]);\n const pusherData = await readTxn.session.get(PUSHER_KEY);\n if (!pusherData) {\n // we've disabled push in the notif service at least\n return true;\n }\n const pusher = new Pusher(pusherData);\n await pusher.disable(this._hsApi, log);\n const txn = await this._storage.readWriteTxn([this._storage.storeNames.session]);\n txn.session.remove(PUSHER_KEY);\n await txn.complete();\n return true;\n });\n }\n\n async arePushNotificationsEnabled() {\n if (!await this._platform.notificationService.isPushEnabled()) {\n return false;\n }\n const readTxn = await this._storage.readTxn([this._storage.storeNames.session]);\n const pusherData = await readTxn.session.get(PUSHER_KEY);\n return !!pusherData;\n }\n\n async checkPusherEnabledOnHomeserver() {\n const readTxn = await this._storage.readTxn([this._storage.storeNames.session]);\n const pusherData = await readTxn.session.get(PUSHER_KEY);\n if (!pusherData) {\n return false;\n }\n const myPusher = new Pusher(pusherData);\n const serverPushersData = await this._hsApi.getPushers().response();\n const serverPushers = (serverPushersData?.pushers || []).map(data => new Pusher(data));\n return serverPushers.some(p => p.equals(myPusher));\n }\n\n async getRoomStatus(roomId) {\n const isBeingCreated = !!this._roomsBeingCreated.get(roomId);\n if (isBeingCreated) {\n return RoomStatus.BeingCreated;\n }\n const isJoined = !!this._rooms.get(roomId);\n if (isJoined) {\n return RoomStatus.Joined;\n } else {\n const isInvited = !!this._invites.get(roomId);\n const txn = await this._storage.readTxn([this._storage.storeNames.archivedRoomSummary]);\n const isArchived = await txn.archivedRoomSummary.has(roomId);\n if (isInvited && isArchived) {\n return RoomStatus.Invited | RoomStatus.Archived;\n } else if (isInvited) {\n return RoomStatus.Invited;\n } else if (isArchived) {\n return RoomStatus.Archived;\n } else {\n return RoomStatus.None;\n }\n }\n }\n\n async observeRoomStatus(roomId) {\n let observable = this._observedRoomStatus.get(roomId);\n if (!observable) {\n const status = await this.getRoomStatus(roomId);\n observable = new RetainedObservableValue(status, () => {\n this._observedRoomStatus.delete(roomId);\n });\n\n this._observedRoomStatus.set(roomId, observable);\n }\n return observable;\n }\n\n /**\n Creates an empty (summary isn't loaded) the archived room if it isn't\n loaded already, assuming sync will either remove it (when rejoining) or\n write a full summary adopting it from the joined room when leaving\n \n @internal\n */\n createOrGetArchivedRoomForSync(roomId) {\n let archivedRoom = this._activeArchivedRooms.get(roomId);\n if (archivedRoom) {\n archivedRoom.retain();\n } else {\n archivedRoom = this._createArchivedRoom(roomId);\n }\n return archivedRoom;\n }\n\n loadArchivedRoom(roomId, log = null) {\n return this._platform.logger.wrapOrRun(log, \"loadArchivedRoom\", async log => {\n log.set(\"id\", roomId);\n const activeArchivedRoom = this._activeArchivedRooms.get(roomId);\n if (activeArchivedRoom) {\n activeArchivedRoom.retain();\n return activeArchivedRoom;\n }\n const txn = await this._storage.readTxn([\n this._storage.storeNames.archivedRoomSummary,\n this._storage.storeNames.roomMembers,\n ]);\n const summary = await txn.archivedRoomSummary.get(roomId);\n if (summary) {\n const room = this._createArchivedRoom(roomId);\n await room.load(summary, txn, log);\n return room;\n }\n });\n }\n\n joinRoom(roomIdOrAlias, log = null) {\n return this._platform.logger.wrapOrRun(log, \"joinRoom\", async log => {\n const body = await this._hsApi.joinIdOrAlias(roomIdOrAlias, {log}).response();\n return body.room_id;\n });\n }\n}\n\nexport function tests() {\n function createStorageMock(session, pendingEvents = []) {\n return {\n readTxn() {\n return {\n session: {\n get(key) {\n return Promise.resolve(session[key]);\n }\n },\n pendingEvents: {\n getAll() {\n return Promise.resolve(pendingEvents);\n }\n },\n roomSummary: {\n getAll() {\n return Promise.resolve([]);\n }\n },\n invites: {\n getAll() {\n return Promise.resolve([]);\n }\n }\n };\n },\n storeNames: {}\n };\n }\n\n return {\n \"session data is not modified until after sync\": async (assert) => {\n const session = new Session({storage: createStorageMock({\n sync: {token: \"a\", filterId: 5}\n }), sessionInfo: {userId: \"\"}});\n await session.load();\n let syncSet = false;\n const syncTxn = {\n session: {\n set(key, value) {\n if (key === \"sync\") {\n assert.equal(value.token, \"b\");\n assert.equal(value.filterId, 6);\n syncSet = true;\n }\n }\n }\n };\n const newSessionData = await session.writeSync({next_batch: \"b\"}, 6, null, syncTxn, {});\n assert(syncSet);\n assert.equal(session.syncToken, \"a\");\n assert.equal(session.syncFilterId, 5);\n session.afterSync(newSessionData);\n assert.equal(session.syncToken, \"b\");\n assert.equal(session.syncFilterId, 6);\n }\n }\n}\n","/*\nCopyright 2021 The Matrix.org Foundation C.I.C.\n\nLicensed under the Apache License, Version 2.0 (the \"License\");\nyou may not use this file except in compliance with the License.\nYou may obtain a copy of the License at\n\n http://www.apache.org/licenses/LICENSE-2.0\n\nUnless required by applicable law or agreed to in writing, software\ndistributed under the License is distributed on an \"AS IS\" BASIS,\nWITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\nSee the License for the specific language governing permissions and\nlimitations under the License.\n*/\n\nimport {ILogItem} from \"../../logging/types\";\nimport {ILoginMethod} from \"./LoginMethod\";\nimport {HomeServerApi} from \"../net/HomeServerApi.js\";\n\nexport class PasswordLoginMethod implements ILoginMethod {\n private readonly _username: string;\n private readonly _password: string;\n public readonly homeserver: string;\n\n constructor({username, password, homeserver}: {username: string, password: string, homeserver: string}) {\n this._username = username;\n this._password = password;\n this.homeserver = homeserver;\n }\n\n async login(hsApi: HomeServerApi, deviceName: string, log: ILogItem): Promise> {\n return await hsApi.passwordLogin(this._username, this._password, deviceName, {log}).response();\n }\n}\n","/*\nCopyright 2021 The Matrix.org Foundation C.I.C.\n\nLicensed under the Apache License, Version 2.0 (the \"License\");\nyou may not use this file except in compliance with the License.\nYou may obtain a copy of the License at\n\n http://www.apache.org/licenses/LICENSE-2.0\n\nUnless required by applicable law or agreed to in writing, software\ndistributed under the License is distributed on an \"AS IS\" BASIS,\nWITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\nSee the License for the specific language governing permissions and\nlimitations under the License.\n*/\n\nimport {makeTxnId} from \"../common.js\";\nimport {ILogItem} from \"../../logging/types\";\nimport {ILoginMethod} from \"./LoginMethod\";\nimport {HomeServerApi} from \"../net/HomeServerApi.js\";\n\nexport class TokenLoginMethod implements ILoginMethod {\n private readonly _loginToken: string;\n public readonly homeserver: string;\n\n constructor({ homeserver, loginToken }: { homeserver: string, loginToken: string}) {\n this.homeserver = homeserver;\n this._loginToken = loginToken;\n }\n\n async login(hsApi: HomeServerApi, deviceName: string, log: ILogItem): Promise> {\n return await hsApi.tokenLogin(this._loginToken, makeTxnId(), deviceName, {log}).response();\n }\n}\n","/*\nCopyright 2021 The Matrix.org Foundation C.I.C.\n\nLicensed under the Apache License, Version 2.0 (the \"License\");\nyou may not use this file except in compliance with the License.\nYou may obtain a copy of the License at\n\n http://www.apache.org/licenses/LICENSE-2.0\n\nUnless required by applicable law or agreed to in writing, software\ndistributed under the License is distributed on an \"AS IS\" BASIS,\nWITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\nSee the License for the specific language governing permissions and\nlimitations under the License.\n*/\n\nexport class SSOLoginHelper{\n private _homeserver: string;\n\n constructor(homeserver: string) {\n this._homeserver = homeserver;\n }\n\n get homeserver(): string { return this._homeserver; }\n\n createSSORedirectURL(returnURL: string): string {\n return `${this._homeserver}/_matrix/client/r0/login/sso/redirect?redirectUrl=${returnURL}`;\n }\n}\n","/*\nCopyright 2021 The Matrix.org Foundation C.I.C.\n\nLicensed under the Apache License, Version 2.0 (the \"License\");\nyou may not use this file except in compliance with the License.\nYou may obtain a copy of the License at\n\n http://www.apache.org/licenses/LICENSE-2.0\n\nUnless required by applicable law or agreed to in writing, software\ndistributed under the License is distributed on an \"AS IS\" BASIS,\nWITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\nSee the License for the specific language governing permissions and\nlimitations under the License.\n*/\n\nimport type {AuthenticationData, RegistrationParams} from \"../types\";\n\nexport abstract class BaseRegistrationStage {\n protected _session: string;\n protected _nextStage: BaseRegistrationStage;\n protected readonly _params?: Record\n\n constructor(session: string, params?: RegistrationParams) {\n this._session = session;\n this._params = params;\n }\n\n /**\n * eg: m.login.recaptcha or m.login.dummy\n */\n abstract get type(): string;\n\n /**\n * This method should return auth part that must be provided to\n * /register endpoint to successfully complete this stage\n */\n /** @internal */\n abstract generateAuthenticationData(): AuthenticationData;\n\n setNextStage(stage: BaseRegistrationStage) {\n this._nextStage = stage;\n }\n\n get nextStage(): BaseRegistrationStage {\n return this._nextStage;\n }\n}\n","/*\nCopyright 2021 The Matrix.org Foundation C.I.C.\n\nLicensed under the Apache License, Version 2.0 (the \"License\");\nyou may not use this file except in compliance with the License.\nYou may obtain a copy of the License at\n\n http://www.apache.org/licenses/LICENSE-2.0\n\nUnless required by applicable law or agreed to in writing, software\ndistributed under the License is distributed on an \"AS IS\" BASIS,\nWITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\nSee the License for the specific language governing permissions and\nlimitations under the License.\n*/\n\nimport {AuthenticationData} from \"../types\";\nimport {BaseRegistrationStage} from \"./BaseRegistrationStage\";\n\nexport class DummyAuth extends BaseRegistrationStage {\n generateAuthenticationData(): AuthenticationData {\n return {\n session: this._session,\n type: this.type,\n }; \n }\n\n get type(): string {\n return \"m.login.dummy\";\n }\n}\n","/*\nCopyright 2021 The Matrix.org Foundation C.I.C.\n\nLicensed under the Apache License, Version 2.0 (the \"License\");\nyou may not use this file except in compliance with the License.\nYou may obtain a copy of the License at\n\n http://www.apache.org/licenses/LICENSE-2.0\n\nUnless required by applicable law or agreed to in writing, software\ndistributed under the License is distributed on an \"AS IS\" BASIS,\nWITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\nSee the License for the specific language governing permissions and\nlimitations under the License.\n*/\n\nimport {AuthenticationData} from \"../types\";\nimport {BaseRegistrationStage} from \"./BaseRegistrationStage\";\n\nexport class TermsAuth extends BaseRegistrationStage {\n generateAuthenticationData(): AuthenticationData {\n return {\n session: this._session,\n type: this.type,\n // No other auth data needed for m.login.terms\n }; \n }\n\n get type(): string {\n return \"m.login.terms\";\n }\n\n get privacyPolicy() {\n return this._params?.policies[\"privacy_policy\"];\n }\n\n get termsOfService() {\n return this._params?.policies[\"terms_of_service\"];\n }\n}\n","/*\nCopyright 2022 The Matrix.org Foundation C.I.C.\n\nLicensed under the Apache License, Version 2.0 (the \"License\");\nyou may not use this file except in compliance with the License.\nYou may obtain a copy of the License at\n\n http://www.apache.org/licenses/LICENSE-2.0\n\nUnless required by applicable law or agreed to in writing, software\ndistributed under the License is distributed on an \"AS IS\" BASIS,\nWITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\nSee the License for the specific language governing permissions and\nlimitations under the License.\n*/\n\nimport {AuthenticationData, RegistrationParams} from \"../types\";\nimport {BaseRegistrationStage} from \"./BaseRegistrationStage\";\n\nexport class TokenAuth extends BaseRegistrationStage {\n private _token?: string;\n private readonly _type: string;\n\n constructor(session: string, params: RegistrationParams | undefined, type: string) {\n super(session, params);\n this._type = type;\n }\n\n\n generateAuthenticationData(): AuthenticationData {\n if (!this._token) {\n throw new Error(\"No token provided for TokenAuth\");\n }\n return {\n session: this._session,\n type: this._type,\n token: this._token,\n }; \n }\n\n setToken(token: string) {\n this._token = token;\n }\n\n get type(): string {\n return this._type;\n }\n}\n","/*\nCopyright 2021 The Matrix.org Foundation C.I.C.\n\nLicensed under the Apache License, Version 2.0 (the \"License\");\nyou may not use this file except in compliance with the License.\nYou may obtain a copy of the License at\n\n http://www.apache.org/licenses/LICENSE-2.0\n\nUnless required by applicable law or agreed to in writing, software\ndistributed under the License is distributed on an \"AS IS\" BASIS,\nWITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\nSee the License for the specific language governing permissions and\nlimitations under the License.\n*/\n\nimport type {HomeServerApi} from \"../net/HomeServerApi\";\nimport type {BaseRegistrationStage} from \"./stages/BaseRegistrationStage\";\nimport {DummyAuth} from \"./stages/DummyAuth\";\nimport {TermsAuth} from \"./stages/TermsAuth\";\nimport {TokenAuth} from \"./stages/TokenAuth\";\nimport type {\n AccountDetails,\n RegistrationFlow,\n RegistrationResponseMoreDataNeeded,\n RegistrationResponse,\n RegistrationResponseSuccess,\n RegistrationParams,\n} from \"./types\";\n\ntype FlowSelector = (flows: RegistrationFlow[]) => RegistrationFlow | void;\n\nexport class Registration {\n private readonly _hsApi: HomeServerApi;\n private readonly _accountDetails: AccountDetails;\n private readonly _flowSelector: FlowSelector;\n private _sessionInfo?: RegistrationResponseSuccess\n\n constructor(hsApi: HomeServerApi, accountDetails: AccountDetails, flowSelector?: FlowSelector) {\n this._hsApi = hsApi;\n this._accountDetails = accountDetails;\n this._flowSelector = flowSelector ?? (flows => flows[0]);\n }\n\n async start(): Promise {\n const response = await this._hsApi.register(\n this._accountDetails.username,\n this._accountDetails.password,\n this._accountDetails.initialDeviceDisplayName,\n undefined,\n this._accountDetails.inhibitLogin).response();\n return this.parseStagesFromResponse(response);\n }\n\n /**\n * Finish a registration stage, return value is:\n * - the next stage if this stage was completed successfully\n * - undefined if registration is completed\n */\n async submitStage(stage: BaseRegistrationStage): Promise {\n const auth = stage.generateAuthenticationData();\n const { username, password, initialDeviceDisplayName, inhibitLogin } = this._accountDetails;\n const request = this._hsApi.register(username, password, initialDeviceDisplayName, auth, inhibitLogin);\n const response = await request.response();\n const status = await request.responseCode();\n const registrationResponse: RegistrationResponse = { ...response, status };\n return this.parseRegistrationResponse(registrationResponse, stage);\n }\n\n private parseStagesFromResponse(response: RegistrationResponseMoreDataNeeded): BaseRegistrationStage {\n const { session, params } = response;\n const flow = this._flowSelector(response.flows);\n if (!flow) {\n throw new Error(\"flowSelector did not return any flow!\");\n }\n let firstStage: BaseRegistrationStage | undefined;\n let lastStage: BaseRegistrationStage | undefined;\n for (const stage of flow.stages) {\n const registrationStage = this._createRegistrationStage(stage, session, params);\n if (!firstStage) {\n firstStage = registrationStage;\n lastStage = registrationStage;\n } else {\n lastStage!.setNextStage(registrationStage);\n lastStage = registrationStage;\n }\n }\n return firstStage!;\n }\n\n private async parseRegistrationResponse(response: RegistrationResponse, currentStage: BaseRegistrationStage) {\n switch (response.status) {\n case 200:\n this._sessionInfo = response;\n return undefined;\n case 401:\n if (response.completed?.includes(currentStage.type)) {\n return currentStage.nextStage;\n }\n else {\n throw new Error(\"This stage could not be completed!\");\n }\n }\n }\n\n private _createRegistrationStage(type: string, session: string, params?: RegistrationParams) {\n switch (type) {\n case \"m.login.dummy\":\n return new DummyAuth(session, params?.[type]);\n case \"m.login.terms\":\n return new TermsAuth(session, params?.[type]);\n case \"org.matrix.msc3231.login.registration_token\":\n case \"m.login.registration_token\":\n return new TokenAuth(session, params?.[type], type);\n default:\n throw new Error(`Unknown stage: ${type}`);\n }\n }\n\n get sessionInfo(): RegistrationResponseSuccess | undefined {\n return this._sessionInfo;\n }\n}\n","/*\nCopyright 2020 Bruno Windels \nCopyright 2020, 2021 The Matrix.org Foundation C.I.C.\n\nLicensed under the Apache License, Version 2.0 (the \"License\");\nyou may not use this file except in compliance with the License.\nYou may obtain a copy of the License at\n\n http://www.apache.org/licenses/LICENSE-2.0\n\nUnless required by applicable law or agreed to in writing, software\ndistributed under the License is distributed on an \"AS IS\" BASIS,\nWITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\nSee the License for the specific language governing permissions and\nlimitations under the License.\n*/\n\nimport {createEnum} from \"../utils/enum\";\nimport {lookupHomeserver} from \"./well-known.js\";\nimport {AbortableOperation} from \"../utils/AbortableOperation\";\nimport {ObservableValue} from \"../observable/ObservableValue\";\nimport {HomeServerApi} from \"./net/HomeServerApi\";\nimport {Reconnector, ConnectionStatus} from \"./net/Reconnector\";\nimport {ExponentialRetryDelay} from \"./net/ExponentialRetryDelay\";\nimport {MediaRepository} from \"./net/MediaRepository\";\nimport {RequestScheduler} from \"./net/RequestScheduler\";\nimport {Sync, SyncStatus} from \"./Sync.js\";\nimport {Session} from \"./Session.js\";\nimport {PasswordLoginMethod} from \"./login/PasswordLoginMethod\";\nimport {TokenLoginMethod} from \"./login/TokenLoginMethod\";\nimport {SSOLoginHelper} from \"./login/SSOLoginHelper\";\nimport {getDehydratedDevice} from \"./e2ee/Dehydration.js\";\nimport {Registration} from \"./registration/Registration\";\n\nexport const LoadStatus = createEnum(\n \"NotLoading\",\n \"Login\",\n \"LoginFailed\",\n \"QueryAccount\", // check for dehydrated device after login\n \"AccountSetup\", // asked to restore from dehydrated device if present, call sc.accountSetup.finish() to progress to the next stage\n \"Loading\",\n \"SessionSetup\", // upload e2ee keys, ...\n \"Migrating\", // not used atm, but would fit here\n \"FirstSync\",\n \"Error\",\n \"Ready\",\n);\n\nexport const LoginFailure = createEnum(\n \"Connection\",\n \"Credentials\",\n \"Unknown\",\n);\n\nexport class Client {\n constructor(platform) {\n this._platform = platform;\n this._sessionStartedByReconnector = false;\n this._status = new ObservableValue(LoadStatus.NotLoading);\n this._error = null;\n this._loginFailure = null;\n this._reconnector = null;\n this._session = null;\n this._sync = null;\n this._sessionId = null;\n this._storage = null;\n this._requestScheduler = null;\n this._olmPromise = platform.loadOlm();\n this._workerPromise = platform.loadOlmWorker();\n this._accountSetup = undefined;\n }\n\n createNewSessionId() {\n return (Math.floor(this._platform.random() * Number.MAX_SAFE_INTEGER)).toString();\n }\n\n get sessionId() {\n return this._sessionId;\n }\n\n async startWithExistingSession(sessionId) {\n if (this._status.get() !== LoadStatus.NotLoading) {\n return;\n }\n this._status.set(LoadStatus.Loading);\n await this._platform.logger.run(\"load session\", async log => {\n log.set(\"id\", sessionId);\n try {\n const sessionInfo = await this._platform.sessionInfoStorage.get(sessionId);\n if (!sessionInfo) {\n throw new Error(\"Invalid session id: \" + sessionId);\n }\n await this._loadSessionInfo(sessionInfo, null, log);\n log.set(\"status\", this._status.get());\n } catch (err) {\n log.catch(err);\n this._error = err;\n this._status.set(LoadStatus.Error);\n }\n });\n }\n\n // TODO: When converted to typescript this should return the same type\n // as this._loginOptions is in LoginViewModel.ts (LoginOptions).\n _parseLoginOptions(options, homeserver) {\n /*\n Take server response and return new object which has two props password and sso which\n implements LoginMethod\n */\n const flows = options.flows;\n const result = {homeserver};\n for (const flow of flows) {\n if (flow.type === \"m.login.password\") {\n result.password = (username, password) => new PasswordLoginMethod({homeserver, username, password});\n }\n else if (flow.type === \"m.login.sso\" && flows.find(flow => flow.type === \"m.login.token\")) {\n result.sso = new SSOLoginHelper(homeserver);\n }\n else if (flow.type === \"m.login.token\") {\n result.token = loginToken => new TokenLoginMethod({homeserver, loginToken});\n }\n }\n return result;\n }\n\n queryLogin(homeserver) {\n return new AbortableOperation(async setAbortable => {\n homeserver = await lookupHomeserver(homeserver, (url, options) => {\n return setAbortable(this._platform.request(url, options));\n });\n const hsApi = new HomeServerApi({homeserver, request: this._platform.request});\n const response = await setAbortable(hsApi.getLoginFlows()).response();\n return this._parseLoginOptions(response, homeserver);\n });\n }\n\n async startRegistration(homeserver, username, password, initialDeviceDisplayName, flowSelector) {\n const request = this._platform.request;\n const hsApi = new HomeServerApi({homeserver, request});\n const registration = new Registration(hsApi, {\n username,\n password,\n initialDeviceDisplayName,\n },\n flowSelector);\n return registration;\n }\n\n async startWithLogin(loginMethod, {inspectAccountSetup} = {}) {\n const currentStatus = this._status.get();\n if (currentStatus !== LoadStatus.LoginFailed &&\n currentStatus !== LoadStatus.NotLoading &&\n currentStatus !== LoadStatus.Error) {\n return;\n }\n this._resetStatus();\n await this._platform.logger.run(\"login\", async log => {\n this._status.set(LoadStatus.Login);\n const clock = this._platform.clock;\n let sessionInfo;\n try {\n const request = this._platform.request;\n const hsApi = new HomeServerApi({homeserver: loginMethod.homeserver, request});\n const loginData = await loginMethod.login(hsApi, \"Hydrogen\", log);\n const sessionId = this.createNewSessionId();\n sessionInfo = {\n id: sessionId,\n deviceId: loginData.device_id,\n userId: loginData.user_id,\n homeServer: loginMethod.homeserver, // deprecate this over time\n homeserver: loginMethod.homeserver,\n accessToken: loginData.access_token,\n lastUsed: clock.now()\n };\n log.set(\"id\", sessionId);\n } catch (err) {\n this._error = err;\n if (err.name === \"HomeServerError\") {\n if (err.errcode === \"M_FORBIDDEN\") {\n this._loginFailure = LoginFailure.Credentials;\n } else {\n this._loginFailure = LoginFailure.Unknown;\n }\n log.set(\"loginFailure\", this._loginFailure);\n this._status.set(LoadStatus.LoginFailed);\n } else if (err.name === \"ConnectionError\") {\n this._loginFailure = LoginFailure.Connection;\n this._status.set(LoadStatus.LoginFailed);\n } else {\n this._status.set(LoadStatus.Error);\n }\n return;\n }\n let dehydratedDevice;\n if (inspectAccountSetup) {\n dehydratedDevice = await this._inspectAccountAfterLogin(sessionInfo, log);\n if (dehydratedDevice) {\n sessionInfo.deviceId = dehydratedDevice.deviceId;\n }\n }\n await this._platform.sessionInfoStorage.add(sessionInfo);\n // loading the session can only lead to\n // LoadStatus.Error in case of an error,\n // so separate try/catch\n try {\n await this._loadSessionInfo(sessionInfo, dehydratedDevice, log);\n log.set(\"status\", this._status.get());\n } catch (err) {\n log.catch(err);\n // free olm Account that might be contained\n dehydratedDevice?.dispose();\n this._error = err;\n this._status.set(LoadStatus.Error);\n }\n });\n }\n\n async _loadSessionInfo(sessionInfo, dehydratedDevice, log) {\n log.set(\"appVersion\", this._platform.version);\n const clock = this._platform.clock;\n this._sessionStartedByReconnector = false;\n this._status.set(LoadStatus.Loading);\n this._reconnector = new Reconnector({\n onlineStatus: this._platform.onlineStatus,\n retryDelay: new ExponentialRetryDelay(clock.createTimeout),\n createMeasure: clock.createMeasure\n });\n const hsApi = new HomeServerApi({\n homeserver: sessionInfo.homeServer,\n accessToken: sessionInfo.accessToken,\n request: this._platform.request,\n reconnector: this._reconnector,\n });\n this._sessionId = sessionInfo.id;\n this._storage = await this._platform.storageFactory.create(sessionInfo.id, log);\n // no need to pass access token to session\n const filteredSessionInfo = {\n id: sessionInfo.id,\n deviceId: sessionInfo.deviceId,\n userId: sessionInfo.userId,\n homeserver: sessionInfo.homeServer,\n };\n const olm = await this._olmPromise;\n let olmWorker = null;\n if (this._workerPromise) {\n olmWorker = await this._workerPromise;\n }\n this._requestScheduler = new RequestScheduler({hsApi, clock});\n this._requestScheduler.start();\n const mediaRepository = new MediaRepository({\n homeserver: sessionInfo.homeServer,\n platform: this._platform,\n });\n this._session = new Session({\n storage: this._storage,\n sessionInfo: filteredSessionInfo,\n hsApi: this._requestScheduler.hsApi,\n olm,\n olmWorker,\n mediaRepository,\n platform: this._platform,\n });\n await this._session.load(log);\n if (dehydratedDevice) {\n await log.wrap(\"dehydrateIdentity\", log => this._session.dehydrateIdentity(dehydratedDevice, log));\n await this._session.setupDehydratedDevice(dehydratedDevice.key, log);\n } else if (!this._session.hasIdentity) {\n this._status.set(LoadStatus.SessionSetup);\n await log.wrap(\"createIdentity\", log => this._session.createIdentity(log));\n }\n\n this._sync = new Sync({hsApi: this._requestScheduler.hsApi, storage: this._storage, session: this._session, logger: this._platform.logger});\n // notify sync and session when back online\n this._reconnectSubscription = this._reconnector.connectionStatus.subscribe(state => {\n if (state === ConnectionStatus.Online) {\n this._platform.logger.runDetached(\"reconnect\", async log => {\n // needs to happen before sync and session or it would abort all requests\n this._requestScheduler.start();\n this._sync.start();\n this._sessionStartedByReconnector = true;\n const d = dehydratedDevice;\n dehydratedDevice = undefined;\n await log.wrap(\"session start\", log => this._session.start(this._reconnector.lastVersionsResponse, d, log));\n });\n }\n });\n await log.wrap(\"wait first sync\", () => this._waitForFirstSync());\n if (this._isDisposed) {\n return;\n }\n this._status.set(LoadStatus.Ready);\n\n // if the sync failed, and then the reconnector\n // restored the connection, it would have already\n // started to session, so check first\n // to prevent an extra /versions request\n if (!this._sessionStartedByReconnector) {\n const lastVersionsResponse = await hsApi.versions({timeout: 10000, log}).response();\n if (this._isDisposed) {\n return;\n }\n const d = dehydratedDevice;\n dehydratedDevice = undefined;\n // log as ref as we don't want to await it\n await log.wrap(\"session start\", log => this._session.start(lastVersionsResponse, d, log));\n }\n }\n\n async _waitForFirstSync() {\n this._sync.start();\n this._status.set(LoadStatus.FirstSync);\n // only transition into Ready once the first sync has succeeded\n this._waitForFirstSyncHandle = this._sync.status.waitFor(s => {\n if (s === SyncStatus.Stopped) {\n // keep waiting if there is a ConnectionError\n // as the reconnector above will call\n // sync.start again to retry in this case\n return this._sync.error?.name !== \"ConnectionError\";\n }\n return s === SyncStatus.Syncing;\n });\n try {\n await this._waitForFirstSyncHandle.promise;\n if (this._sync.status.get() === SyncStatus.Stopped && this._sync.error) {\n throw this._sync.error;\n }\n } catch (err) {\n // if dispose is called from stop, bail out\n if (err.name === \"AbortError\") {\n return;\n }\n throw err;\n } finally {\n this._waitForFirstSyncHandle = null;\n }\n }\n\n _inspectAccountAfterLogin(sessionInfo, log) {\n return log.wrap(\"inspectAccount\", async log => {\n this._status.set(LoadStatus.QueryAccount);\n const hsApi = new HomeServerApi({\n homeserver: sessionInfo.homeServer,\n accessToken: sessionInfo.accessToken,\n request: this._platform.request,\n });\n const olm = await this._olmPromise;\n let encryptedDehydratedDevice;\n try {\n encryptedDehydratedDevice = await getDehydratedDevice(hsApi, olm, this._platform, log);\n } catch (err) {\n if (err.name === \"HomeServerError\") {\n log.set(\"not_supported\", true);\n } else {\n throw err;\n }\n }\n if (encryptedDehydratedDevice) {\n let resolveStageFinish;\n const promiseStageFinish = new Promise(r => resolveStageFinish = r);\n this._accountSetup = new AccountSetup(encryptedDehydratedDevice, resolveStageFinish);\n this._status.set(LoadStatus.AccountSetup);\n await promiseStageFinish;\n const dehydratedDevice = this._accountSetup?._dehydratedDevice;\n this._accountSetup = null;\n return dehydratedDevice;\n }\n });\n }\n\n get accountSetup() {\n return this._accountSetup;\n }\n\n get loadStatus() {\n return this._status;\n }\n\n get loadError() {\n return this._error;\n }\n\n get loginFailure() {\n return this._loginFailure;\n }\n\n /** only set at loadStatus InitialSync, CatchupSync or Ready */\n get sync() {\n return this._sync;\n }\n\n /** only set at loadStatus InitialSync, CatchupSync or Ready */\n get session() {\n return this._session;\n }\n\n get reconnector() {\n return this._reconnector;\n }\n\n get _isDisposed() {\n return !this._reconnector;\n }\n\n startLogout(sessionId) {\n return this._platform.logger.run(\"logout\", async log => {\n this._sessionId = sessionId;\n log.set(\"id\", this._sessionId);\n const sessionInfo = await this._platform.sessionInfoStorage.get(this._sessionId);\n if (!sessionInfo) {\n throw new Error(`Could not find session for id ${this._sessionId}`);\n }\n try {\n const hsApi = new HomeServerApi({\n homeserver: sessionInfo.homeServer,\n accessToken: sessionInfo.accessToken,\n request: this._platform.request\n });\n await hsApi.logout({log}).response();\n } catch (err) {}\n await this.deleteSession(log);\n });\n }\n\n dispose() {\n if (this._reconnectSubscription) {\n this._reconnectSubscription();\n this._reconnectSubscription = null;\n }\n this._reconnector = null;\n if (this._requestScheduler) {\n this._requestScheduler.stop();\n this._requestScheduler = null;\n }\n if (this._sync) {\n this._sync.stop();\n this._sync = null;\n }\n if (this._session) {\n this._session.dispose();\n this._session = null;\n }\n if (this._waitForFirstSyncHandle) {\n this._waitForFirstSyncHandle.dispose();\n this._waitForFirstSyncHandle = null;\n }\n if (this._storage) {\n this._storage.close();\n this._storage = null;\n }\n }\n\n async deleteSession(log) {\n if (this._sessionId) {\n // need to dispose first, so the storage is closed,\n // and also first sync finishing won't call Session.start anymore,\n // which assumes that the storage works.\n this.dispose();\n // if one fails, don't block the other from trying\n // also, run in parallel\n await Promise.all([\n log.wrap(\"storageFactory\", () => this._platform.storageFactory.delete(this._sessionId)),\n log.wrap(\"sessionInfoStorage\", () => this._platform.sessionInfoStorage.delete(this._sessionId)),\n ]);\n this._sessionId = null;\n }\n }\n\n _resetStatus() {\n this._status.set(LoadStatus.NotLoading);\n this._error = null;\n this._loginFailure = null;\n }\n}\n\nclass AccountSetup {\n constructor(encryptedDehydratedDevice, finishStage) {\n this._encryptedDehydratedDevice = encryptedDehydratedDevice;\n this._dehydratedDevice = undefined;\n this._finishStage = finishStage;\n }\n\n get encryptedDehydratedDevice() {\n return this._encryptedDehydratedDevice;\n }\n\n finish(dehydratedDevice) {\n this._dehydratedDevice = dehydratedDevice;\n this._finishStage();\n }\n}\n","/*\nCopyright 2020 Bruno Windels \nCopyright 2022 The Matrix.org Foundation C.I.C.\n\nLicensed under the Apache License, Version 2.0 (the \"License\");\nyou may not use this file except in compliance with the License.\nYou may obtain a copy of the License at\n\n http://www.apache.org/licenses/LICENSE-2.0\n\nUnless required by applicable law or agreed to in writing, software\ndistributed under the License is distributed on an \"AS IS\" BASIS,\nWITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\nSee the License for the specific language governing permissions and\nlimitations under the License.\n*/\n\n// ViewModel should just be an eventemitter, not an ObservableValue\n// as in some cases it would really be more convenient to have multiple events (like telling the timeline to scroll down)\n// we do need to return a disposable from EventEmitter.on, or at least have a method here to easily track a subscription to an EventEmitter\n\nimport {EventEmitter} from \"../utils/EventEmitter\";\nimport {Disposables} from \"../utils/Disposables\";\n\nimport type {Disposable} from \"../utils/Disposables\";\nimport type {Platform} from \"../platform/web/Platform\";\nimport type {Clock} from \"../platform/web/dom/Clock\";\nimport type {ILogger} from \"../logging/types\";\nimport type {Navigation} from \"./navigation/Navigation\";\nimport type {SegmentType} from \"./navigation/index\";\nimport type {IURLRouter} from \"./navigation/URLRouter\";\n\nexport type Options = {\n platform: Platform;\n logger: ILogger;\n urlCreator: IURLRouter;\n navigation: Navigation;\n emitChange?: (params: any) => void;\n}\n\n\nexport class ViewModel = Options> extends EventEmitter<{change: never}> {\n private disposables?: Disposables;\n private _isDisposed = false;\n private _options: Readonly;\n\n constructor(options: Readonly) {\n super();\n this._options = options;\n }\n\n childOptions(explicitOptions: T): T & Options {\n return Object.assign({}, this._options, explicitOptions);\n }\n\n get options(): Readonly { return this._options; }\n\n // makes it easier to pass through dependencies of a sub-view model\n getOption(name: N): O[N] {\n return this._options[name];\n }\n\n observeNavigation(type: T, onChange: (value: N[T], type: T) => void): void {\n const segmentObservable = this.navigation.observe(type);\n const unsubscribe = segmentObservable.subscribe((value: N[T]) => {\n onChange(value, type);\n });\n this.track(unsubscribe);\n }\n\n track(disposable: D): D {\n if (!this.disposables) {\n this.disposables = new Disposables();\n }\n return this.disposables.track(disposable);\n }\n\n untrack(disposable: Disposable): undefined {\n if (this.disposables) {\n return this.disposables.untrack(disposable);\n }\n return undefined;\n }\n\n dispose(): void {\n if (this.disposables) {\n this.disposables.dispose();\n }\n this._isDisposed = true;\n }\n\n get isDisposed(): boolean {\n return this._isDisposed;\n }\n\n disposeTracked(disposable: Disposable | undefined): undefined {\n if (this.disposables) {\n return this.disposables.disposeTracked(disposable);\n }\n return undefined;\n }\n\n // TODO: this will need to support binding\n // if any of the expr is a function, assume the function is a binding, and return a binding function ourselves\n //\n // translated string should probably always be bindings, unless we're fine with a refresh when changing the language?\n // we probably are, if we're using routing with a url, we could just refresh.\n i18n(parts: TemplateStringsArray, ...expr: any[]): string {\n // just concat for now\n let result = \"\";\n for (let i = 0; i < parts.length; ++i) {\n result = result + parts[i];\n if (i < expr.length) {\n result = result + expr[i];\n }\n }\n return result;\n }\n\n emitChange(changedProps: any): void {\n if (this._options.emitChange) {\n this._options.emitChange(changedProps);\n } else {\n this.emit(\"change\", changedProps);\n }\n }\n\n get platform(): Platform {\n return this._options.platform;\n }\n\n get clock(): Clock {\n return this._options.platform.clock;\n }\n\n get logger(): ILogger {\n return this.platform.logger;\n }\n\n get urlCreator(): IURLRouter {\n return this._options.urlCreator;\n }\n\n get navigation(): Navigation {\n // typescript needs a little help here\n return this._options.navigation as unknown as Navigation;\n }\n}\n","/*\nCopyright 2020 Bruno Windels \n\nLicensed under the Apache License, Version 2.0 (the \"License\");\nyou may not use this file except in compliance with the License.\nYou may obtain a copy of the License at\n\n http://www.apache.org/licenses/LICENSE-2.0\n\nUnless required by applicable law or agreed to in writing, software\ndistributed under the License is distributed on an \"AS IS\" BASIS,\nWITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\nSee the License for the specific language governing permissions and\nlimitations under the License.\n*/\n\nimport { Platform } from \"../platform/web/Platform\";\nimport { MediaRepository } from \"../matrix/net/MediaRepository\";\n\nexport function avatarInitials(name: string): string {\n let firstChar = name.charAt(0);\n if (firstChar === \"!\" || firstChar === \"@\" || firstChar === \"#\") {\n firstChar = name.charAt(1);\n }\n return firstChar.toUpperCase();\n}\n\n/**\n * calculates a numeric hash for a given string\n *\n * @param {string} str string to hash\n *\n * @return {number}\n */\nfunction hashCode(str: string): number {\n let hash = 0;\n let i: number;\n let chr: number;\n if (str.length === 0) {\n return hash;\n }\n for (i = 0; i < str.length; i++) {\n chr = str.charCodeAt(i);\n hash = ((hash << 5) - hash) + chr;\n hash |= 0;\n }\n return Math.abs(hash);\n}\n\nexport function getIdentifierColorNumber(id: string): number {\n return (hashCode(id) % 8) + 1;\n}\n\nexport function getAvatarHttpUrl(avatarUrl: string, cssSize: number, platform: Platform, mediaRepository: MediaRepository): string | null {\n if (avatarUrl) {\n const imageSize = cssSize * platform.devicePixelRatio;\n return mediaRepository.mxcUrlThumbnail(avatarUrl, imageSize, imageSize, \"crop\");\n }\n return null;\n}\n","/*\nCopyright 2020 Bruno Windels \nCopyright 2020, 2021 The Matrix.org Foundation C.I.C.\n\nLicensed under the Apache License, Version 2.0 (the \"License\");\nyou may not use this file except in compliance with the License.\nYou may obtain a copy of the License at\n\n http://www.apache.org/licenses/LICENSE-2.0\n\nUnless required by applicable law or agreed to in writing, software\ndistributed under the License is distributed on an \"AS IS\" BASIS,\nWITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\nSee the License for the specific language governing permissions and\nlimitations under the License.\n*/\n\nimport {avatarInitials, getIdentifierColorNumber, getAvatarHttpUrl} from \"../../avatar\";\nimport {ViewModel} from \"../../ViewModel\";\n\nconst KIND_ORDER = [\"roomBeingCreated\", \"invite\", \"room\"];\n\nexport class BaseTileViewModel extends ViewModel {\n constructor(options) {\n super(options);\n this._isOpen = false;\n this._hidden = false;\n }\n\n get hidden() {\n return this._hidden;\n }\n\n set hidden(value) {\n if (value !== this._hidden) {\n this._hidden = value;\n this.emitChange(\"hidden\");\n }\n }\n\n close() {\n if (this._isOpen) {\n this._isOpen = false;\n this.emitChange(\"isOpen\");\n }\n }\n\n open() {\n if (!this._isOpen) {\n this._isOpen = true;\n this.emitChange(\"isOpen\");\n }\n }\n\n get isOpen() {\n return this._isOpen;\n }\n\n compare(other) {\n if (other.kind !== this.kind) {\n return KIND_ORDER.indexOf(this.kind) - KIND_ORDER.indexOf(other.kind);\n }\n return 0;\n }\n\n // Avatar view model contract\n get avatarLetter() {\n return avatarInitials(this.name);\n }\n\n get avatarColorNumber() {\n return getIdentifierColorNumber(this._avatarSource.avatarColorId);\n }\n\n avatarUrl(size) {\n return getAvatarHttpUrl(this._avatarSource.avatarUrl, size, this.platform, this._avatarSource.mediaRepository);\n }\n\n get avatarTitle() {\n return this.name;\n }\n}\n","/*\nCopyright 2020 Bruno Windels \nCopyright 2020 The Matrix.org Foundation C.I.C.\n\nLicensed under the Apache License, Version 2.0 (the \"License\");\nyou may not use this file except in compliance with the License.\nYou may obtain a copy of the License at\n\n http://www.apache.org/licenses/LICENSE-2.0\n\nUnless required by applicable law or agreed to in writing, software\ndistributed under the License is distributed on an \"AS IS\" BASIS,\nWITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\nSee the License for the specific language governing permissions and\nlimitations under the License.\n*/\n\nimport {BaseTileViewModel} from \"./BaseTileViewModel.js\";\n\nexport class RoomTileViewModel extends BaseTileViewModel {\n constructor(options) {\n super(options);\n const {room} = options;\n this._room = room;\n this._url = this.urlCreator.openRoomActionUrl(this._room.id);\n }\n\n get kind() {\n return \"room\";\n }\n\n get url() {\n return this._url;\n }\n\n /** very important that sorting order is stable and that comparing\n * to itself always returns 0, otherwise SortedMapList will\n * remove the wrong children, etc ... */\n compare(other) {\n const parentComparison = super.compare(other);\n if (parentComparison !== 0) {\n return parentComparison;\n }\n /*\n put unread rooms first\n then put rooms with a timestamp first, and sort by name\n then sort by name for rooms without a timestamp\n */\n const myRoom = this._room;\n const theirRoom = other._room;\n\n if (myRoom.isLowPriority !== theirRoom.isLowPriority) {\n if (myRoom.isLowPriority) {\n return 1;\n }\n return -1;\n }\n const myTimestamp = myRoom.lastMessageTimestamp;\n const theirTimestamp = theirRoom.lastMessageTimestamp;\n const myTimestampValid = Number.isSafeInteger(myTimestamp);\n const theirTimestampValid = Number.isSafeInteger(theirTimestamp);\n // if either does not have a timestamp, put the one with a timestamp first\n if (myTimestampValid !== theirTimestampValid) {\n if (!theirTimestampValid) {\n return -1;\n }\n return 1;\n }\n const timeDiff = theirTimestamp - myTimestamp;\n if (timeDiff === 0 || !theirTimestampValid || !myTimestampValid) {\n // sort alphabetically\n const nameCmp = this.name.localeCompare(other.name);\n if (nameCmp === 0) {\n return this._room.id.localeCompare(other._room.id);\n }\n return nameCmp;\n }\n return timeDiff;\n }\n\n get isUnread() {\n return this._room.isUnread;\n }\n\n get name() {\n return this._room.name || this.i18n`Empty Room`;\n }\n\n get badgeCount() {\n return this._room.notificationCount;\n }\n\n get isHighlighted() {\n return this._room.highlightCount !== 0;\n }\n\n get _avatarSource() {\n return this._room;\n }\n}\n","/*\nCopyright 2020, 2021 The Matrix.org Foundation C.I.C.\n\nLicensed under the Apache License, Version 2.0 (the \"License\");\nyou may not use this file except in compliance with the License.\nYou may obtain a copy of the License at\n\n http://www.apache.org/licenses/LICENSE-2.0\n\nUnless required by applicable law or agreed to in writing, software\ndistributed under the License is distributed on an \"AS IS\" BASIS,\nWITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\nSee the License for the specific language governing permissions and\nlimitations under the License.\n*/\n\nexport function comparePrimitive(a, b) {\n if (a === b) {\n return 0;\n } else {\n return a < b ? -1 : 1;\n }\n}\n","/*\nCopyright 2020, 2021 The Matrix.org Foundation C.I.C.\n\nLicensed under the Apache License, Version 2.0 (the \"License\");\nyou may not use this file except in compliance with the License.\nYou may obtain a copy of the License at\n\n http://www.apache.org/licenses/LICENSE-2.0\n\nUnless required by applicable law or agreed to in writing, software\ndistributed under the License is distributed on an \"AS IS\" BASIS,\nWITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\nSee the License for the specific language governing permissions and\nlimitations under the License.\n*/\n\nimport {BaseTileViewModel} from \"./BaseTileViewModel.js\";\nimport {comparePrimitive} from \"./common\";\n\nexport class InviteTileViewModel extends BaseTileViewModel {\n constructor(options) {\n super(options);\n const {invite} = options;\n this._invite = invite;\n this._url = this.urlCreator.openRoomActionUrl(this._invite.id);\n }\n\n get busy() { return this._invite.accepting || this._invite.rejecting; }\n get kind() { return \"invite\"; }\n get url() { return this._url; }\n get name() { return this._invite.name; }\n get isHighlighted() { return true; }\n get isUnread() { return true; }\n get badgeCount() { return this.i18n`!`; }\n get _avatarSource() { return this._invite; }\n\n /** very important that sorting order is stable and that comparing\n * to itself always returns 0, otherwise SortedMapList will\n * remove the wrong children, etc ... */\n compare(other) {\n const parentComparison = super.compare(other);\n if (parentComparison !== 0) {\n return parentComparison;\n }\n const timeDiff = other._invite.timestamp - this._invite.timestamp;\n if (timeDiff !== 0) {\n return timeDiff;\n }\n return comparePrimitive(this._invite.id, other._invite.id);\n }\n}\n\nexport function tests() {\n return {\n \"test compare with timestamp\": assert => {\n const urlCreator = {openRoomActionUrl() { return \"\";}}\n const vm1 = new InviteTileViewModel({invite: {timestamp: 500, id: \"1\"}, urlCreator});\n const vm2 = new InviteTileViewModel({invite: {timestamp: 250, id: \"2\"}, urlCreator});\n assert(vm1.compare(vm2) < 0);\n assert(vm2.compare(vm1) > 0);\n assert.equal(vm1.compare(vm1), 0);\n },\n }\n}\n","/*\nCopyright 2020 Bruno Windels \nCopyright 2020, 2021 The Matrix.org Foundation C.I.C.\n\nLicensed under the Apache License, Version 2.0 (the \"License\");\nyou may not use this file except in compliance with the License.\nYou may obtain a copy of the License at\n\n http://www.apache.org/licenses/LICENSE-2.0\n\nUnless required by applicable law or agreed to in writing, software\ndistributed under the License is distributed on an \"AS IS\" BASIS,\nWITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\nSee the License for the specific language governing permissions and\nlimitations under the License.\n*/\n\nimport {BaseTileViewModel} from \"./BaseTileViewModel.js\";\nimport {comparePrimitive} from \"./common\";\n\nexport class RoomBeingCreatedTileViewModel extends BaseTileViewModel {\n constructor(options) {\n super(options);\n const {roomBeingCreated} = options;\n this._roomBeingCreated = roomBeingCreated;\n this._url = this.urlCreator.openRoomActionUrl(this._roomBeingCreated.id);\n }\n\n get busy() { return !this._roomBeingCreated.error; }\n get kind() { return \"roomBeingCreated\"; }\n get isHighlighted() { return !this.busy; }\n get badgeCount() { return !this.busy && this.i18n`Failed`; }\n get url() { return this._url; }\n get name() { return this._roomBeingCreated.name; }\n get _avatarSource() { return this._roomBeingCreated; }\n\n /** very important that sorting order is stable and that comparing\n * to itself always returns 0, otherwise SortedMapList will\n * remove the wrong children, etc ... */\n compare(other) {\n const parentCmp = super.compare(other);\n if (parentCmp !== 0) {\n return parentCmp;\n }\n const nameCmp = comparePrimitive(this.name, other.name);\n if (nameCmp === 0) {\n return comparePrimitive(this._roomBeingCreated.id, other._roomBeingCreated.id);\n } else {\n return nameCmp;\n }\n }\n\n avatarUrl(size) {\n // allow blob url which doesn't need mxc => http resolution\n return this._roomBeingCreated.avatarBlobUrl ?? super.avatarUrl(size);\n }\n}\n\nexport function tests() {\n return {\n \"test compare with names\": assert => {\n const urlCreator = {openRoomActionUrl() { return \"\";}}\n const vm1 = new RoomBeingCreatedTileViewModel({roomBeingCreated: {name: \"A\", id: \"1\"}, urlCreator});\n const vm2 = new RoomBeingCreatedTileViewModel({roomBeingCreated: {name: \"B\", id: \"2\"}, urlCreator});\n assert(vm1.compare(vm2) < 0);\n assert(vm2.compare(vm1) > 0);\n assert.equal(vm1.compare(vm1), 0);\n },\n }\n}\n","/*\nCopyright 2020 The Matrix.org Foundation C.I.C.\n\nLicensed under the Apache License, Version 2.0 (the \"License\");\nyou may not use this file except in compliance with the License.\nYou may obtain a copy of the License at\n\n http://www.apache.org/licenses/LICENSE-2.0\n\nUnless required by applicable law or agreed to in writing, software\ndistributed under the License is distributed on an \"AS IS\" BASIS,\nWITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\nSee the License for the specific language governing permissions and\nlimitations under the License.\n*/\n\nexport class RoomFilter {\n constructor(query) {\n this._parts = query.split(\" \").map(s => s.toLowerCase().trim());\n }\n\n matches(roomTileVM) {\n const name = roomTileVM.name.toLowerCase();\n return this._parts.every(p => name.includes(p));\n }\n}\n","/*\nCopyright 2020 Bruno Windels \n\nLicensed under the Apache License, Version 2.0 (the \"License\");\nyou may not use this file except in compliance with the License.\nYou may obtain a copy of the License at\n\n http://www.apache.org/licenses/LICENSE-2.0\n\nUnless required by applicable law or agreed to in writing, software\ndistributed under the License is distributed on an \"AS IS\" BASIS,\nWITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\nSee the License for the specific language governing permissions and\nlimitations under the License.\n*/\n\nimport {BaseObservableMap} from \"./BaseObservableMap\";\n\nexport class ApplyMap extends BaseObservableMap {\n constructor(source, apply) {\n super();\n this._source = source;\n this._apply = apply;\n this._subscription = null;\n }\n\n hasApply() {\n return !!this._apply;\n }\n\n setApply(apply) {\n this._apply = apply;\n if (apply) {\n this.applyOnce(this._apply);\n }\n }\n\n applyOnce(apply) {\n for (const [key, value] of this._source) {\n apply(key, value);\n }\n }\n\n onAdd(key, value) {\n if (this._apply) {\n this._apply(key, value);\n }\n this.emitAdd(key, value);\n }\n\n onRemove(key, value) {\n this.emitRemove(key, value);\n }\n\n onUpdate(key, value, params) {\n if (this._apply) {\n this._apply(key, value, params);\n }\n this.emitUpdate(key, value, params);\n }\n\n onSubscribeFirst() {\n this._subscription = this._source.subscribe(this);\n if (this._apply) {\n this.applyOnce(this._apply);\n }\n super.onSubscribeFirst();\n }\n\n onUnsubscribeLast() {\n super.onUnsubscribeLast();\n this._subscription = this._subscription();\n }\n\n onReset() {\n if (this._apply) {\n this.applyOnce(this._apply);\n }\n this.emitReset();\n }\n\n [Symbol.iterator]() {\n return this._source[Symbol.iterator]();\n }\n\n get size() {\n return this._source.size;\n }\n\n get(key) {\n return this._source.get(key);\n }\n}\n","/*\nCopyright 2020 The Matrix.org Foundation C.I.C.\n\nLicensed under the Apache License, Version 2.0 (the \"License\");\nyou may not use this file except in compliance with the License.\nYou may obtain a copy of the License at\n\n http://www.apache.org/licenses/LICENSE-2.0\n\nUnless required by applicable law or agreed to in writing, software\ndistributed under the License is distributed on an \"AS IS\" BASIS,\nWITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\nSee the License for the specific language governing permissions and\nlimitations under the License.\n*/\n\nimport {BaseObservableValue, ObservableValue} from \"../../observable/ObservableValue\";\n\n\ntype AllowsChild = (parent: Segment | undefined, child: Segment) => boolean;\n\n/**\n * OptionalValue is basically stating that if SegmentType[type] = true:\n * - Allow this type to be optional\n * - Give it a default value of undefined\n * - Also allow it to be true\n * This lets us do:\n * const s: Segment = new Segment(\"create-room\");\n * instead of\n * const s: Segment = new Segment(\"create-room\", undefined);\n */\nexport type OptionalValue = T extends true? [(undefined | true)?]: [T];\n\nexport class Navigation {\n private readonly _allowsChild: AllowsChild;\n private _path: Path;\n private readonly _observables: Map> = new Map();\n private readonly _pathObservable: ObservableValue>;\n\n constructor(allowsChild: AllowsChild) {\n this._allowsChild = allowsChild;\n this._path = new Path([], allowsChild);\n this._pathObservable = new ObservableValue(this._path);\n }\n\n get pathObservable(): ObservableValue> {\n return this._pathObservable;\n }\n\n get path(): Path {\n return this._path;\n }\n\n push(type: K, ...value: OptionalValue): void {\n const newPath = this.path.with(new Segment(type, ...value));\n if (newPath) {\n this.applyPath(newPath);\n }\n }\n\n applyPath(path: Path): void {\n // Path is not exported, so you can only create a Path through Navigation,\n // so we assume it respects the allowsChild rules\n const oldPath = this._path;\n this._path = path;\n // clear values not in the new path in reverse order of path\n for (let i = oldPath.segments.length - 1; i >= 0; i -= 1) {\n const segment = oldPath.segments[i];\n if (!this._path.get(segment.type)) {\n const observable = this._observables.get(segment.type);\n observable?.emitIfChanged();\n }\n }\n // change values in order of path\n for (const segment of this._path.segments) {\n const observable = this._observables.get(segment.type);\n observable?.emitIfChanged();\n }\n // to observe the whole path having changed\n // Since paths are immutable,\n // we can just use set here which will compare the references\n this._pathObservable.set(this._path);\n }\n\n observe(type: keyof T): SegmentObservable {\n let observable = this._observables.get(type);\n if (!observable) {\n observable = new SegmentObservable(this, type);\n this._observables.set(type, observable);\n }\n return observable;\n }\n\n pathFrom(segments: Segment[]): Path {\n let parent: Segment | undefined;\n let i: number;\n for (i = 0; i < segments.length; i += 1) {\n if (!this._allowsChild(parent, segments[i])) {\n return new Path(segments.slice(0, i), this._allowsChild);\n }\n parent = segments[i];\n }\n return new Path(segments, this._allowsChild);\n }\n\n segment(type: K, ...value: OptionalValue): Segment {\n return new Segment(type, ...value);\n }\n}\n\nfunction segmentValueEqual(a?: T[keyof T], b?: T[keyof T]): boolean {\n if (a === b) {\n return true;\n }\n // allow (sparse) arrays\n if (Array.isArray(a) && Array.isArray(b)) {\n const len = Math.max(a.length, b.length);\n for (let i = 0; i < len; i += 1) {\n if (a[i] !== b[i]) {\n return false;\n }\n }\n return true;\n }\n return false;\n}\n\n\nexport class Segment {\n public value: T[K];\n\n constructor(public type: K, ...value: OptionalValue) {\n this.value = (value[0] === undefined ? true : value[0]) as unknown as T[K];\n }\n}\n\nclass Path {\n private readonly _segments: Segment[];\n private readonly _allowsChild: AllowsChild;\n\n constructor(segments: Segment[] = [], allowsChild: AllowsChild) {\n this._segments = segments;\n this._allowsChild = allowsChild;\n }\n\n clone(): Path {\n return new Path(this._segments.slice(), this._allowsChild);\n }\n\n with(segment: Segment): Path | undefined {\n let index = this._segments.length - 1;\n do {\n if (this._allowsChild(this._segments[index], segment)) {\n // pop the elements that didn't allow the new segment as a child\n const newSegments = this._segments.slice(0, index + 1);\n newSegments.push(segment);\n return new Path(newSegments, this._allowsChild);\n }\n index -= 1;\n } while(index >= -1);\n // allow -1 as well so we check if the segment is allowed as root\n return undefined;\n }\n\n until(type: keyof T): Path {\n const index = this._segments.findIndex(s => s.type === type);\n if (index !== -1) {\n return new Path(this._segments.slice(0, index + 1), this._allowsChild)\n }\n return new Path([], this._allowsChild);\n }\n\n get(type: keyof T): Segment | undefined {\n return this._segments.find(s => s.type === type);\n }\n\n replace(segment: Segment): Path | undefined {\n const index = this._segments.findIndex(s => s.type === segment.type);\n if (index !== -1) {\n const parent = this._segments[index - 1];\n if (this._allowsChild(parent, segment)) {\n const child = this._segments[index + 1];\n if (!child || this._allowsChild(segment, child)) {\n const newSegments = this._segments.slice();\n newSegments[index] = segment;\n return new Path(newSegments, this._allowsChild);\n }\n }\n }\n return undefined;\n }\n\n get segments(): Segment[] {\n return this._segments;\n }\n}\n\n/**\n * custom observable so it always returns what is in navigation.path, even if we haven't emitted the change yet.\n * This ensures that observers of a segment can also read the most recent value of other segments.\n */\nclass SegmentObservable extends BaseObservableValue {\n private readonly _navigation: Navigation;\n private _type: keyof T;\n private _lastSetValue?: T[keyof T];\n \n constructor(navigation: Navigation, type: keyof T) {\n super();\n this._navigation = navigation;\n this._type = type;\n this._lastSetValue = navigation.path.get(type)?.value;\n }\n\n get(): T[keyof T] | undefined {\n const path = this._navigation.path;\n const segment = path.get(this._type);\n const value = segment?.value;\n return value;\n }\n\n emitIfChanged(): void {\n const newValue = this.get();\n if (!segmentValueEqual(newValue, this._lastSetValue)) {\n this._lastSetValue = newValue;\n this.emit(newValue);\n }\n }\n}\n\nexport type {Path};\n\nexport function tests() {\n\n function createMockNavigation() {\n return new Navigation((parent, {type}) => {\n switch (parent?.type) {\n case undefined:\n return type === \"1\" || type === \"2\";\n case \"1\":\n return type === \"1.1\";\n case \"1.1\":\n return type === \"1.1.1\";\n case \"2\":\n return type === \"2.1\" || type === \"2.2\";\n default:\n return false;\n }\n });\n }\n\n function observeTypes(nav, types) {\n const changes: {type:string, value:any}[] = [];\n for (const type of types) {\n nav.observe(type).subscribe(value => {\n changes.push({type, value});\n });\n }\n return changes;\n }\n\n type SegmentType = {\n \"foo\": number;\n \"bar\": number;\n \"baz\": number;\n }\n\n return {\n \"applying a path emits an event on the observable\": assert => {\n const nav = createMockNavigation();\n const path = nav.pathFrom([\n new Segment(\"2\", 7),\n new Segment(\"2.2\", 8),\n ]);\n assert.equal(path.segments.length, 2);\n let changes = observeTypes(nav, [\"2\", \"2.2\"]);\n nav.applyPath(path);\n assert.equal(changes.length, 2);\n assert.equal(changes[0].type, \"2\");\n assert.equal(changes[0].value, 7);\n assert.equal(changes[1].type, \"2.2\");\n assert.equal(changes[1].value, 8);\n },\n \"path.get\": assert => {\n const path = new Path([new Segment(\"foo\", 5), new Segment(\"bar\", 6)], () => true);\n assert.equal(path.get(\"foo\")!.value, 5);\n assert.equal(path.get(\"bar\")!.value, 6);\n },\n \"path.replace success\": assert => {\n const path = new Path([new Segment(\"foo\", 5), new Segment(\"bar\", 6)], () => true);\n const newPath = path.replace(new Segment(\"foo\", 1));\n assert.equal(newPath!.get(\"foo\")!.value, 1);\n assert.equal(newPath!.get(\"bar\")!.value, 6);\n },\n \"path.replace not found\": assert => {\n const path = new Path([new Segment(\"foo\", 5), new Segment(\"bar\", 6)], () => true);\n const newPath = path.replace(new Segment(\"baz\", 1));\n assert.equal(newPath, null);\n }\n };\n}\n","/*\nCopyright 2020 The Matrix.org Foundation C.I.C.\n\nLicensed under the Apache License, Version 2.0 (the \"License\");\nyou may not use this file except in compliance with the License.\nYou may obtain a copy of the License at\n\n http://www.apache.org/licenses/LICENSE-2.0\n\nUnless required by applicable law or agreed to in writing, software\ndistributed under the License is distributed on an \"AS IS\" BASIS,\nWITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\nSee the License for the specific language governing permissions and\nlimitations under the License.\n*/\n\nimport type {History} from \"../../platform/web/dom/History.js\";\nimport type {Navigation, Segment, Path, OptionalValue} from \"./Navigation\";\nimport type {SubscriptionHandle} from \"../../observable/BaseObservable\";\n\ntype ParseURLPath = (urlPath: string, currentNavPath: Path, defaultSessionId?: string) => Segment[];\ntype StringifyPath = (path: Path) => string;\n\nexport interface IURLRouter {\n attach(): void;\n dispose(): void;\n pushUrl(url: string): void;\n tryRestoreLastUrl(): boolean;\n urlForSegments(segments: Segment[]): string | undefined;\n urlForSegment(type: K, ...value: OptionalValue): string | undefined;\n urlUntilSegment(type: keyof T): string;\n urlForPath(path: Path): string;\n openRoomActionUrl(roomId: string): string;\n createSSOCallbackURL(): string;\n normalizeUrl(): void;\n}\n\nexport class URLRouter implements IURLRouter {\n private readonly _history: History;\n private readonly _navigation: Navigation;\n private readonly _parseUrlPath: ParseURLPath;\n private readonly _stringifyPath: StringifyPath;\n private _subscription?: SubscriptionHandle;\n private _pathSubscription?: SubscriptionHandle;\n private _isApplyingUrl: boolean = false;\n private _defaultSessionId?: string;\n\n constructor(history: History, navigation: Navigation, parseUrlPath: ParseURLPath, stringifyPath: StringifyPath) {\n this._history = history;\n this._navigation = navigation;\n this._parseUrlPath = parseUrlPath;\n this._stringifyPath = stringifyPath;\n this._defaultSessionId = this._getLastSessionId();\n }\n\n private _getLastSessionId(): string | undefined {\n const navPath = this._urlAsNavPath(this._history.getLastSessionUrl() || \"\");\n const sessionId = navPath.get(\"session\")?.value;\n if (typeof sessionId === \"string\") {\n return sessionId;\n }\n return undefined;\n }\n\n attach(): void {\n this._subscription = this._history.subscribe(url => this._applyUrl(url));\n // subscribe to path before applying initial url\n // so redirects in _applyNavPathToHistory are reflected in url bar\n this._pathSubscription = this._navigation.pathObservable.subscribe(path => this._applyNavPathToHistory(path));\n this._applyUrl(this._history.get());\n }\n\n dispose(): void {\n if (this._subscription) { this._subscription = this._subscription(); }\n if (this._pathSubscription) { this._pathSubscription = this._pathSubscription(); }\n }\n\n private _applyNavPathToHistory(path: Path): void {\n const url = this.urlForPath(path);\n if (url !== this._history.get()) {\n if (this._isApplyingUrl) {\n // redirect\n this._history.replaceUrlSilently(url);\n } else {\n this._history.pushUrlSilently(url);\n }\n }\n }\n\n private _applyNavPathToNavigation(navPath: Path): void {\n // this will cause _applyNavPathToHistory to be called,\n // so set a flag whether this request came from ourselves\n // (in which case it is a redirect if the url does not match the current one)\n this._isApplyingUrl = true;\n this._navigation.applyPath(navPath);\n this._isApplyingUrl = false;\n }\n\n private _urlAsNavPath(url: string): Path {\n const urlPath = this._history.urlAsPath(url);\n return this._navigation.pathFrom(this._parseUrlPath(urlPath, this._navigation.path, this._defaultSessionId));\n }\n\n private _applyUrl(url: string): void {\n const navPath = this._urlAsNavPath(url);\n this._applyNavPathToNavigation(navPath);\n }\n\n pushUrl(url: string): void {\n this._history.pushUrl(url);\n }\n\n tryRestoreLastUrl(): boolean {\n const lastNavPath = this._urlAsNavPath(this._history.getLastSessionUrl() || \"\");\n if (lastNavPath.segments.length !== 0) {\n this._applyNavPathToNavigation(lastNavPath);\n return true;\n }\n return false;\n }\n\n urlForSegments(segments: Segment[]): string | undefined {\n let path: Path | undefined = this._navigation.path;\n for (const segment of segments) {\n path = path.with(segment);\n if (!path) {\n return;\n }\n }\n return this.urlForPath(path);\n }\n\n urlForSegment(type: K, ...value: OptionalValue): string | undefined {\n return this.urlForSegments([this._navigation.segment(type, ...value)]);\n }\n\n urlUntilSegment(type: keyof T): string {\n return this.urlForPath(this._navigation.path.until(type));\n }\n\n urlForPath(path: Path): string {\n return this._history.pathAsUrl(this._stringifyPath(path));\n }\n\n openRoomActionUrl(roomId: string): string {\n // not a segment to navigation knowns about, so append it manually\n const urlPath = `${this._stringifyPath(this._navigation.path.until(\"session\"))}/open-room/${roomId}`;\n return this._history.pathAsUrl(urlPath);\n }\n\n createSSOCallbackURL(): string {\n return window.location.origin;\n }\n\n normalizeUrl(): void {\n // Remove any queryParameters from the URL\n // Gets rid of the loginToken after SSO\n this._history.replaceUrlSilently(`${window.location.origin}/${window.location.hash}`);\n }\n}\n","/*\nCopyright 2020 The Matrix.org Foundation C.I.C.\n\nLicensed under the Apache License, Version 2.0 (the \"License\");\nyou may not use this file except in compliance with the License.\nYou may obtain a copy of the License at\n\n http://www.apache.org/licenses/LICENSE-2.0\n\nUnless required by applicable law or agreed to in writing, software\ndistributed under the License is distributed on an \"AS IS\" BASIS,\nWITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\nSee the License for the specific language governing permissions and\nlimitations under the License.\n*/\n\nimport {Navigation, Segment} from \"./Navigation\";\nimport {URLRouter} from \"./URLRouter\";\nimport type {Path, OptionalValue} from \"./Navigation\";\n\nexport type SegmentType = {\n \"login\": true;\n \"session\": string | boolean;\n \"sso\": string;\n \"logout\": true;\n \"room\": string;\n \"rooms\": string[];\n \"settings\": true;\n \"create-room\": true;\n \"empty-grid-tile\": number;\n \"lightbox\": string;\n \"right-panel\": true;\n \"details\": true;\n \"members\": true;\n \"member\": string;\n};\n\nexport function createNavigation(): Navigation {\n return new Navigation(allowsChild);\n}\n\nexport function createRouter({history, navigation}: {history: History, navigation: Navigation}): URLRouter {\n return new URLRouter(history, navigation, parseUrlPath, stringifyPath);\n}\n\nfunction allowsChild(parent: Segment | undefined, child: Segment): boolean {\n const {type} = child;\n switch (parent?.type) {\n case undefined:\n // allowed root segments\n return type === \"login\" || type === \"session\" || type === \"sso\" || type === \"logout\";\n case \"session\":\n return type === \"room\" || type === \"rooms\" || type === \"settings\" || type === \"create-room\";\n case \"rooms\":\n // downside of the approach: both of these will control which tile is selected\n return type === \"room\" || type === \"empty-grid-tile\";\n case \"room\":\n return type === \"lightbox\" || type === \"right-panel\";\n case \"right-panel\":\n return type === \"details\"|| type === \"members\" || type === \"member\";\n default:\n return false;\n }\n}\n\nexport function removeRoomFromPath(path: Path, roomId: string): Path | undefined {\n let newPath: Path | undefined = path;\n const rooms = newPath.get(\"rooms\");\n let roomIdGridIndex = -1;\n // first delete from rooms segment\n if (rooms) {\n roomIdGridIndex = rooms.value.indexOf(roomId);\n if (roomIdGridIndex !== -1) {\n const idsWithoutRoom = rooms.value.slice();\n idsWithoutRoom[roomIdGridIndex] = \"\";\n newPath = newPath.replace(new Segment(\"rooms\", idsWithoutRoom));\n }\n }\n const room = newPath!.get(\"room\");\n // then from room (which occurs with or without rooms)\n if (room && room.value === roomId) {\n if (roomIdGridIndex !== -1) {\n newPath = newPath!.with(new Segment(\"empty-grid-tile\", roomIdGridIndex));\n } else {\n newPath = newPath!.until(\"session\");\n }\n }\n return newPath;\n}\n\nfunction roomsSegmentWithRoom(rooms: Segment, roomId: string, path: Path): Segment {\n if(!rooms.value.includes(roomId)) {\n const emptyGridTile = path.get(\"empty-grid-tile\");\n const oldRoom = path.get(\"room\");\n let index = 0;\n if (emptyGridTile) {\n index = emptyGridTile.value;\n } else if (oldRoom) {\n index = rooms.value.indexOf(oldRoom.value);\n }\n const roomIds = rooms.value.slice();\n roomIds[index] = roomId;\n return new Segment(\"rooms\", roomIds);\n } else {\n return rooms;\n }\n}\n\nfunction pushRightPanelSegment(array: Segment[], segment: T, ...value: OptionalValue): void {\n array.push(new Segment(\"right-panel\"));\n array.push(new Segment(segment, ...value));\n}\n\nexport function addPanelIfNeeded(navigation: Navigation, path: Path): Path {\n const segments = navigation.path.segments;\n const i = segments.findIndex(segment => segment.type === \"right-panel\");\n let _path = path;\n if (i !== -1) {\n _path = path.until(\"room\");\n _path = _path.with(segments[i])!;\n _path = _path.with(segments[i + 1])!;\n }\n return _path;\n}\n\nexport function parseUrlPath(urlPath: string, currentNavPath: Path, defaultSessionId?: string): Segment[] {\n // substring(1) to take of initial /\n const parts = urlPath.substring(1).split(\"/\");\n const iterator = parts[Symbol.iterator]();\n const segments: Segment[] = [];\n let next; \n while (!(next = iterator.next()).done) {\n const type = next.value;\n if (type === \"rooms\") {\n const roomsValue = iterator.next().value;\n if (roomsValue === undefined) { break; }\n const roomIds = roomsValue.split(\",\");\n segments.push(new Segment(type, roomIds));\n const selectedIndex = parseInt(iterator.next().value || \"0\", 10);\n const roomId = roomIds[selectedIndex];\n if (roomId) {\n segments.push(new Segment(\"room\", roomId));\n } else {\n segments.push(new Segment(\"empty-grid-tile\", selectedIndex));\n }\n } else if (type === \"open-room\") {\n const roomId = iterator.next().value;\n if (!roomId) { break; }\n const rooms = currentNavPath.get(\"rooms\");\n if (rooms) {\n segments.push(roomsSegmentWithRoom(rooms, roomId, currentNavPath));\n }\n segments.push(new Segment(\"room\", roomId));\n const openRoomPartIndex = parts.findIndex(part => part === \"open-room\");\n const hasOnlyRoomIdAfterPart = openRoomPartIndex >= parts.length - 2;\n if (hasOnlyRoomIdAfterPart) {\n // Copy right-panel segments from previous path only if there are no other parts after open-room\n // fixes memberlist -> member details closing/opening grid view\n const previousSegments = currentNavPath.segments;\n const i = previousSegments.findIndex(s => s.type === \"right-panel\");\n if (i !== -1) {\n segments.push(...previousSegments.slice(i));\n }\n }\n } else if (type === \"last-session\") {\n let sessionSegment = currentNavPath.get(\"session\");\n if (typeof sessionSegment?.value !== \"string\" && defaultSessionId) {\n sessionSegment = new Segment(\"session\", defaultSessionId);\n }\n if (sessionSegment) {\n segments.push(sessionSegment);\n }\n } else if (type === \"details\" || type === \"members\") {\n pushRightPanelSegment(segments, type);\n } else if (type === \"member\") {\n const userId = iterator.next().value;\n if (!userId) { break; }\n pushRightPanelSegment(segments, type, userId);\n } else if (type.includes(\"loginToken\")) {\n // Special case for SSO-login with query parameter loginToken=\n const loginToken = type.split(\"=\").pop();\n segments.push(new Segment(\"sso\", loginToken));\n } else {\n // might be undefined, which will be turned into true by Segment \n const value = iterator.next().value;\n segments.push(new Segment(type, value));\n }\n }\n return segments;\n}\n\nexport function stringifyPath(path: Path): string {\n let urlPath = \"\";\n let prevSegment: Segment | undefined;\n for (const segment of path.segments) {\n switch (segment.type) {\n case \"rooms\":\n urlPath += `/rooms/${segment.value.join(\",\")}`;\n break;\n case \"empty-grid-tile\":\n urlPath += `/${segment.value}`;\n break;\n case \"room\":\n if (prevSegment?.type === \"rooms\") {\n const index = prevSegment.value.indexOf(segment.value);\n urlPath += `/${index}`;\n } else {\n urlPath += `/${segment.type}/${segment.value}`;\n }\n break;\n case \"right-panel\":\n case \"sso\":\n // Do not put these segments in URL\n continue;\n default:\n urlPath += `/${segment.type}`;\n if (segment.value && segment.value !== true) {\n urlPath += `/${segment.value}`;\n }\n }\n prevSegment = segment;\n }\n return urlPath;\n}\n\nexport function tests() {\n function createEmptyPath() {\n const nav: Navigation = new Navigation(allowsChild);\n const path = nav.pathFrom([]);\n return path;\n }\n\n return {\n \"stringify grid url with focused empty tile\": assert => {\n const nav: Navigation = new Navigation(allowsChild);\n const path = nav.pathFrom([\n new Segment(\"session\", 1),\n new Segment(\"rooms\", [\"a\", \"b\", \"c\"]),\n new Segment(\"empty-grid-tile\", 3)\n ]);\n const urlPath = stringifyPath(path);\n assert.equal(urlPath, \"/session/1/rooms/a,b,c/3\");\n },\n \"stringify grid url with focused room\": assert => {\n const nav: Navigation = new Navigation(allowsChild);\n const path = nav.pathFrom([\n new Segment(\"session\", 1),\n new Segment(\"rooms\", [\"a\", \"b\", \"c\"]),\n new Segment(\"room\", \"b\")\n ]);\n const urlPath = stringifyPath(path);\n assert.equal(urlPath, \"/session/1/rooms/a,b,c/1\");\n },\n \"stringify url with right-panel and details segment\": assert => {\n const nav: Navigation = new Navigation(allowsChild);\n const path = nav.pathFrom([\n new Segment(\"session\", 1),\n new Segment(\"rooms\", [\"a\", \"b\", \"c\"]),\n new Segment(\"room\", \"b\"),\n new Segment(\"right-panel\"),\n new Segment(\"details\")\n ]);\n const urlPath = stringifyPath(path);\n assert.equal(urlPath, \"/session/1/rooms/a,b,c/1/details\");\n },\n \"Parse loginToken query parameter into SSO segment\": assert => {\n const path = createEmptyPath();\n const segments = parseUrlPath(\"?loginToken=a1232aSD123\", path);\n assert.equal(segments.length, 1);\n assert.equal(segments[0].type, \"sso\");\n assert.equal(segments[0].value, \"a1232aSD123\");\n },\n \"parse grid url path with focused empty tile\": assert => {\n const path = createEmptyPath();\n const segments = parseUrlPath(\"/session/1/rooms/a,b,c/3\", path);\n assert.equal(segments.length, 3);\n assert.equal(segments[0].type, \"session\");\n assert.equal(segments[0].value, \"1\");\n assert.equal(segments[1].type, \"rooms\");\n assert.deepEqual(segments[1].value, [\"a\", \"b\", \"c\"]);\n assert.equal(segments[2].type, \"empty-grid-tile\");\n assert.equal(segments[2].value, 3);\n },\n \"parse grid url path with focused room\": assert => {\n const path = createEmptyPath();\n const segments = parseUrlPath(\"/session/1/rooms/a,b,c/1\", path);\n assert.equal(segments.length, 3);\n assert.equal(segments[0].type, \"session\");\n assert.equal(segments[0].value, \"1\");\n assert.equal(segments[1].type, \"rooms\");\n assert.deepEqual(segments[1].value, [\"a\", \"b\", \"c\"]);\n assert.equal(segments[2].type, \"room\");\n assert.equal(segments[2].value, \"b\");\n },\n \"parse empty grid url\": assert => {\n const path = createEmptyPath();\n const segments = parseUrlPath(\"/session/1/rooms/\", path);\n assert.equal(segments.length, 3);\n assert.equal(segments[0].type, \"session\");\n assert.equal(segments[0].value, \"1\");\n assert.equal(segments[1].type, \"rooms\");\n assert.deepEqual(segments[1].value, [\"\"]);\n assert.equal(segments[2].type, \"empty-grid-tile\");\n assert.equal(segments[2].value, 0);\n },\n \"parse empty grid url with focus\": assert => {\n const path = createEmptyPath();\n const segments = parseUrlPath(\"/session/1/rooms//1\", path);\n assert.equal(segments.length, 3);\n assert.equal(segments[0].type, \"session\");\n assert.equal(segments[0].value, \"1\");\n assert.equal(segments[1].type, \"rooms\");\n assert.deepEqual(segments[1].value, [\"\"]);\n assert.equal(segments[2].type, \"empty-grid-tile\");\n assert.equal(segments[2].value, 1);\n },\n \"parse open-room action replacing the current focused room\": assert => {\n const nav: Navigation = new Navigation(allowsChild);\n const path = nav.pathFrom([\n new Segment(\"session\", 1),\n new Segment(\"rooms\", [\"a\", \"b\", \"c\"]),\n new Segment(\"room\", \"b\")\n ]);\n const segments = parseUrlPath(\"/session/1/open-room/d\", path);\n assert.equal(segments.length, 3);\n assert.equal(segments[0].type, \"session\");\n assert.equal(segments[0].value, \"1\");\n assert.equal(segments[1].type, \"rooms\");\n assert.deepEqual(segments[1].value, [\"a\", \"d\", \"c\"]);\n assert.equal(segments[2].type, \"room\");\n assert.equal(segments[2].value, \"d\");\n },\n \"parse open-room action changing focus to an existing room\": assert => {\n const nav: Navigation = new Navigation(allowsChild);\n const path = nav.pathFrom([\n new Segment(\"session\", 1),\n new Segment(\"rooms\", [\"a\", \"b\", \"c\"]),\n new Segment(\"room\", \"b\")\n ]);\n const segments = parseUrlPath(\"/session/1/open-room/a\", path);\n assert.equal(segments.length, 3);\n assert.equal(segments[0].type, \"session\");\n assert.equal(segments[0].value, \"1\");\n assert.equal(segments[1].type, \"rooms\");\n assert.deepEqual(segments[1].value, [\"a\", \"b\", \"c\"]);\n assert.equal(segments[2].type, \"room\");\n assert.equal(segments[2].value, \"a\");\n },\n \"parse open-room action changing focus to an existing room with details open\": assert => {\n const nav: Navigation = new Navigation(allowsChild);\n const path = nav.pathFrom([\n new Segment(\"session\", 1),\n new Segment(\"rooms\", [\"a\", \"b\", \"c\"]),\n new Segment(\"room\", \"b\"),\n new Segment(\"right-panel\", true),\n new Segment(\"details\", true)\n ]);\n const segments = parseUrlPath(\"/session/1/open-room/a\", path);\n assert.equal(segments.length, 5);\n assert.equal(segments[0].type, \"session\");\n assert.equal(segments[0].value, \"1\");\n assert.equal(segments[1].type, \"rooms\");\n assert.deepEqual(segments[1].value, [\"a\", \"b\", \"c\"]);\n assert.equal(segments[2].type, \"room\");\n assert.equal(segments[2].value, \"a\");\n assert.equal(segments[3].type, \"right-panel\");\n assert.equal(segments[3].value, true);\n assert.equal(segments[4].type, \"details\");\n assert.equal(segments[4].value, true);\n },\n \"open-room action should only copy over previous segments if there are no parts after open-room\": assert => {\n const nav: Navigation = new Navigation(allowsChild);\n const path = nav.pathFrom([\n new Segment(\"session\", 1),\n new Segment(\"rooms\", [\"a\", \"b\", \"c\"]),\n new Segment(\"room\", \"b\"),\n new Segment(\"right-panel\", true),\n new Segment(\"members\", true)\n ]);\n const segments = parseUrlPath(\"/session/1/open-room/a/member/foo\", path);\n assert.equal(segments.length, 5);\n assert.equal(segments[0].type, \"session\");\n assert.equal(segments[0].value, \"1\");\n assert.equal(segments[1].type, \"rooms\");\n assert.deepEqual(segments[1].value, [\"a\", \"b\", \"c\"]);\n assert.equal(segments[2].type, \"room\");\n assert.equal(segments[2].value, \"a\");\n assert.equal(segments[3].type, \"right-panel\");\n assert.equal(segments[3].value, true);\n assert.equal(segments[4].type, \"member\");\n assert.equal(segments[4].value, \"foo\");\n },\n \"parse open-room action setting a room in an empty tile\": assert => {\n const nav: Navigation = new Navigation(allowsChild);\n const path = nav.pathFrom([\n new Segment(\"session\", 1),\n new Segment(\"rooms\", [\"a\", \"b\", \"c\"]),\n new Segment(\"empty-grid-tile\", 4)\n ]);\n const segments = parseUrlPath(\"/session/1/open-room/d\", path);\n assert.equal(segments.length, 3);\n assert.equal(segments[0].type, \"session\");\n assert.equal(segments[0].value, \"1\");\n assert.equal(segments[1].type, \"rooms\");\n assert.deepEqual(segments[1].value, [\"a\", \"b\", \"c\", , \"d\"]); //eslint-disable-line no-sparse-arrays\n assert.equal(segments[2].type, \"room\");\n assert.equal(segments[2].value, \"d\");\n },\n \"parse session url path without id\": assert => {\n const path = createEmptyPath();\n const segments = parseUrlPath(\"/session\", path);\n assert.equal(segments.length, 1);\n assert.equal(segments[0].type, \"session\");\n assert.strictEqual(segments[0].value, true);\n },\n \"remove active room from grid path turns it into empty tile\": assert => {\n const nav: Navigation = new Navigation(allowsChild);\n const path = nav.pathFrom([\n new Segment(\"session\", 1),\n new Segment(\"rooms\", [\"a\", \"b\", \"c\"]),\n new Segment(\"room\", \"b\")\n ]);\n const newPath = removeRoomFromPath(path, \"b\");\n assert.equal(newPath?.segments.length, 3);\n assert.equal(newPath?.segments[0].type, \"session\");\n assert.equal(newPath?.segments[0].value, 1);\n assert.equal(newPath?.segments[1].type, \"rooms\");\n assert.deepEqual(newPath?.segments[1].value, [\"a\", \"\", \"c\"]);\n assert.equal(newPath?.segments[2].type, \"empty-grid-tile\");\n assert.equal(newPath?.segments[2].value, 1);\n },\n \"remove inactive room from grid path\": assert => {\n const nav: Navigation = new Navigation(allowsChild);\n const path = nav.pathFrom([\n new Segment(\"session\", 1),\n new Segment(\"rooms\", [\"a\", \"b\", \"c\"]),\n new Segment(\"room\", \"b\")\n ]);\n const newPath = removeRoomFromPath(path, \"a\");\n assert.equal(newPath?.segments.length, 3);\n assert.equal(newPath?.segments[0].type, \"session\");\n assert.equal(newPath?.segments[0].value, 1);\n assert.equal(newPath?.segments[1].type, \"rooms\");\n assert.deepEqual(newPath?.segments[1].value, [\"\", \"b\", \"c\"]);\n assert.equal(newPath?.segments[2].type, \"room\");\n assert.equal(newPath?.segments[2].value, \"b\");\n },\n \"remove inactive room from grid path with empty tile\": assert => {\n const nav: Navigation = new Navigation(allowsChild);\n const path = nav.pathFrom([\n new Segment(\"session\", 1),\n new Segment(\"rooms\", [\"a\", \"b\", \"\"]),\n new Segment(\"empty-grid-tile\", 3)\n ]);\n const newPath = removeRoomFromPath(path, \"b\");\n assert.equal(newPath?.segments.length, 3);\n assert.equal(newPath?.segments[0].type, \"session\");\n assert.equal(newPath?.segments[0].value, 1);\n assert.equal(newPath?.segments[1].type, \"rooms\");\n assert.deepEqual(newPath?.segments[1].value, [\"a\", \"\", \"\"]);\n assert.equal(newPath?.segments[2].type, \"empty-grid-tile\");\n assert.equal(newPath?.segments[2].value, 3);\n },\n \"remove active room\": assert => {\n const nav: Navigation = new Navigation(allowsChild);\n const path = nav.pathFrom([\n new Segment(\"session\", 1),\n new Segment(\"room\", \"b\")\n ]);\n const newPath = removeRoomFromPath(path, \"b\");\n assert.equal(newPath?.segments.length, 1);\n assert.equal(newPath?.segments[0].type, \"session\");\n assert.equal(newPath?.segments[0].value, 1);\n },\n \"remove inactive room doesn't do anything\": assert => {\n const nav: Navigation = new Navigation(allowsChild);\n const path = nav.pathFrom([\n new Segment(\"session\", 1),\n new Segment(\"room\", \"b\")\n ]);\n const newPath = removeRoomFromPath(path, \"a\");\n assert.equal(newPath?.segments.length, 2);\n assert.equal(newPath?.segments[0].type, \"session\");\n assert.equal(newPath?.segments[0].value, 1);\n assert.equal(newPath?.segments[1].type, \"room\");\n assert.equal(newPath?.segments[1].value, \"b\");\n },\n \n }\n}\n","/*\nCopyright 2020 Bruno Windels \nCopyright 2020 The Matrix.org Foundation C.I.C.\n\nLicensed under the Apache License, Version 2.0 (the \"License\");\nyou may not use this file except in compliance with the License.\nYou may obtain a copy of the License at\n\n http://www.apache.org/licenses/LICENSE-2.0\n\nUnless required by applicable law or agreed to in writing, software\ndistributed under the License is distributed on an \"AS IS\" BASIS,\nWITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\nSee the License for the specific language governing permissions and\nlimitations under the License.\n*/\n\nimport {ViewModel} from \"../../ViewModel\";\nimport {RoomTileViewModel} from \"./RoomTileViewModel.js\";\nimport {InviteTileViewModel} from \"./InviteTileViewModel.js\";\nimport {RoomBeingCreatedTileViewModel} from \"./RoomBeingCreatedTileViewModel.js\";\nimport {RoomFilter} from \"./RoomFilter.js\";\nimport {ApplyMap} from \"../../../observable/map/ApplyMap.js\";\nimport {addPanelIfNeeded} from \"../../navigation/index\";\n\nexport class LeftPanelViewModel extends ViewModel {\n constructor(options) {\n super(options);\n const {session} = options;\n this._tileViewModelsMap = this._mapTileViewModels(session.roomsBeingCreated, session.invites, session.rooms);\n this._tileViewModelsFilterMap = new ApplyMap(this._tileViewModelsMap);\n this._tileViewModels = this._tileViewModelsFilterMap.sortValues((a, b) => a.compare(b));\n this._currentTileVM = null;\n this._setupNavigation();\n this._closeUrl = this.urlCreator.urlForSegment(\"session\");\n this._settingsUrl = this.urlCreator.urlForSegment(\"settings\");\n this._createRoomUrl = this.urlCreator.urlForSegment(\"create-room\");\n }\n\n _mapTileViewModels(roomsBeingCreated, invites, rooms) {\n // join is not commutative, invites will take precedence over rooms\n const allTiles = invites.join(roomsBeingCreated, rooms).mapValues((item, emitChange) => {\n let vm;\n if (item.isBeingCreated) {\n vm = new RoomBeingCreatedTileViewModel(this.childOptions({roomBeingCreated: item, emitChange}));\n } else if (item.isInvite) {\n vm = new InviteTileViewModel(this.childOptions({invite: item, emitChange}));\n } else {\n vm = new RoomTileViewModel(this.childOptions({room: item, emitChange}));\n }\n const isOpen = this.navigation.path.get(\"room\")?.value === item.id;\n if (isOpen) {\n vm.open();\n this._updateCurrentVM(vm);\n }\n return vm;\n });\n return allTiles;\n }\n\n _updateCurrentVM(vm) {\n // need to also update the current vm here as\n // we can't call `_open` from the ctor as the map\n // is only populated when the view subscribes.\n this._currentTileVM?.close();\n this._currentTileVM = vm;\n }\n\n get closeUrl() {\n return this._closeUrl;\n }\n\n get settingsUrl() {\n return this._settingsUrl;\n }\n\n get createRoomUrl() { return this._createRoomUrl; }\n\n _setupNavigation() {\n const roomObservable = this.navigation.observe(\"room\");\n this.track(roomObservable.subscribe(roomId => this._open(roomId)));\n\n const gridObservable = this.navigation.observe(\"rooms\");\n this.gridEnabled = !!gridObservable.get();\n this.track(gridObservable.subscribe(roomIds => {\n const changed = this.gridEnabled ^ !!roomIds;\n this.gridEnabled = !!roomIds;\n if (changed) {\n this.emitChange(\"gridEnabled\");\n }\n }));\n }\n\n _open(roomId) {\n this._currentTileVM?.close();\n this._currentTileVM = null;\n if (roomId) {\n this._currentTileVM = this._tileViewModelsMap.get(roomId);\n this._currentTileVM?.open();\n }\n }\n\n toggleGrid() {\n const room = this.navigation.path.get(\"room\");\n let path = this.navigation.path.until(\"session\");\n if (this.gridEnabled) {\n if (room) {\n path = path.with(room);\n path = addPanelIfNeeded(this.navigation, path);\n }\n } else {\n if (room) {\n path = path.with(this.navigation.segment(\"rooms\", [room.value]));\n path = path.with(room);\n path = addPanelIfNeeded(this.navigation, path);\n } else {\n path = path.with(this.navigation.segment(\"rooms\", []));\n path = path.with(this.navigation.segment(\"empty-grid-tile\", 0));\n }\n }\n this.navigation.applyPath(path);\n }\n\n get tileViewModels() {\n return this._tileViewModels;\n }\n\n clearFilter() {\n this._tileViewModelsFilterMap.setApply(null);\n this._tileViewModelsFilterMap.applyOnce((roomId, vm) => vm.hidden = false);\n }\n\n setFilter(query) {\n query = query.trim();\n if (query.length === 0) {\n this.clearFilter();\n return false;\n } else {\n const startFiltering = !this._tileViewModelsFilterMap.hasApply();\n const filter = new RoomFilter(query);\n this._tileViewModelsFilterMap.setApply((roomId, vm) => {\n vm.hidden = !filter.matches(vm);\n });\n return startFiltering;\n }\n }\n}\n","/*\nCopyright 2020 Bruno Windels \n\nLicensed under the Apache License, Version 2.0 (the \"License\");\nyou may not use this file except in compliance with the License.\nYou may obtain a copy of the License at\n\n http://www.apache.org/licenses/LICENSE-2.0\n\nUnless required by applicable law or agreed to in writing, software\ndistributed under the License is distributed on an \"AS IS\" BASIS,\nWITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\nSee the License for the specific language governing permissions and\nlimitations under the License.\n*/\n\nexport class UpdateAction {\n constructor(remove, update, replace, updateParams) {\n this._remove = remove;\n this._update = update;\n this._replace = replace;\n this._updateParams = updateParams;\n }\n\n get shouldReplace() {\n return this._replace;\n }\n\n get shouldRemove() {\n return this._remove;\n }\n\n get shouldUpdate() {\n return this._update;\n }\n\n get updateParams() {\n return this._updateParams;\n }\n\n static Remove() {\n return new UpdateAction(true, false, false, null);\n }\n\n static Update(newParams) {\n return new UpdateAction(false, true, false, newParams);\n }\n\n static Nothing() {\n return new UpdateAction(false, false, false, null);\n }\n\n static Replace(params) {\n return new UpdateAction(false, false, true, params);\n }\n}\n","/*\nCopyright 2020 Bruno Windels \n\nLicensed under the Apache License, Version 2.0 (the \"License\");\nyou may not use this file except in compliance with the License.\nYou may obtain a copy of the License at\n\n http://www.apache.org/licenses/LICENSE-2.0\n\nUnless required by applicable law or agreed to in writing, software\ndistributed under the License is distributed on an \"AS IS\" BASIS,\nWITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\nSee the License for the specific language governing permissions and\nlimitations under the License.\n*/\n\nimport {BaseObservableList} from \"../../../../observable/list/BaseObservableList\";\nimport {sortedIndex} from \"../../../../utils/sortedIndex\";\n\n// maps 1..n entries to 0..1 tile. Entries are what is stored in the timeline, either an event or fragmentboundary\n// for now, tileClassForEntry should be stable in whether it returns a tile or not.\n// e.g. the decision to create a tile or not should be based on properties\n// not updated later on (e.g. event type)\n// also see big comment in onUpdate\nexport class TilesCollection extends BaseObservableList {\n constructor(entries, tileOptions) {\n super();\n this._entries = entries;\n this._tiles = null;\n this._entrySubscription = null;\n this._tileOptions = tileOptions;\n this._emitSpontanousUpdate = this._emitSpontanousUpdate.bind(this);\n }\n\n _createTile(entry) {\n const Tile = this._tileOptions.tileClassForEntry(entry);\n if (Tile) {\n return new Tile(entry, this._tileOptions);\n }\n }\n\n _emitSpontanousUpdate(tile, params) {\n const entry = tile.lowerEntry;\n const tileIdx = this._findTileIdx(entry);\n this.emitUpdate(tileIdx, tile, params);\n }\n\n onSubscribeFirst() {\n this._entrySubscription = this._entries.subscribe(this);\n this._populateTiles();\n }\n\n _populateTiles() {\n this._tiles = [];\n let currentTile = null;\n for (let entry of this._entries) {\n if (!currentTile || !currentTile.tryIncludeEntry(entry)) {\n currentTile = this._createTile(entry);\n if (currentTile) {\n this._tiles.push(currentTile);\n }\n }\n }\n let prevTile = null;\n for (let tile of this._tiles) {\n if (prevTile) {\n prevTile.updateNextSibling(tile);\n }\n tile.updatePreviousSibling(prevTile);\n prevTile = tile;\n }\n if (prevTile) {\n prevTile.updateNextSibling(null);\n }\n // now everything is wired up,\n // allow tiles to emit updates\n for (const tile of this._tiles) {\n tile.setUpdateEmit(this._emitSpontanousUpdate);\n }\n }\n\n _findTileIdx(entry) {\n return sortedIndex(this._tiles, entry, (entry, tile) => {\n // negate result because we're switching the order of the params\n return -tile.compareEntry(entry);\n });\n }\n\n _findTileAtIdx(entry, idx) {\n const tile = this._getTileAtIdx(idx);\n if (tile && tile.compareEntry(entry) === 0) {\n return tile;\n }\n }\n\n _getTileAtIdx(tileIdx) {\n if (tileIdx >= 0 && tileIdx < this._tiles.length) {\n return this._tiles[tileIdx];\n }\n return null;\n }\n\n onUnsubscribeLast() {\n this._entrySubscription = this._entrySubscription();\n for(let i = 0; i < this._tiles.length; i+= 1) {\n this._tiles[i].dispose();\n }\n this._tiles = null;\n }\n\n onReset() {\n // if TileViewModel were disposable, dispose here, or is that for views to do? views I suppose ...\n this._buildInitialTiles();\n this.emitReset();\n }\n\n onAdd(index, entry) {\n const tileIdx = this._findTileIdx(entry);\n const prevTile = this._getTileAtIdx(tileIdx - 1);\n if (prevTile && prevTile.tryIncludeEntry(entry)) {\n this.emitUpdate(tileIdx - 1, prevTile);\n return;\n }\n // not + 1 because this entry hasn't been added yet\n const nextTile = this._getTileAtIdx(tileIdx);\n if (nextTile && nextTile.tryIncludeEntry(entry)) {\n this.emitUpdate(tileIdx, nextTile);\n return;\n }\n\n const newTile = this._createTile(entry);\n if (newTile) {\n if (prevTile) {\n prevTile.updateNextSibling(newTile);\n // this emits an update while the add hasn't been emitted yet\n newTile.updatePreviousSibling(prevTile);\n }\n if (nextTile) {\n newTile.updateNextSibling(nextTile);\n nextTile.updatePreviousSibling(newTile);\n }\n this._tiles.splice(tileIdx, 0, newTile);\n this.emitAdd(tileIdx, newTile);\n // add event is emitted, now the tile\n // can emit updates\n newTile.setUpdateEmit(this._emitSpontanousUpdate);\n }\n // find position by sort key\n // ask siblings to be included? both? yes, twice: a (insert c here) b, ask a(c), if yes ask b(a), else ask b(c)? if yes then b(a)?\n }\n\n onUpdate(index, entry, params) {\n // if an update is emitted while calling source.subscribe() from onSubscribeFirst, ignore it\n if (!this._tiles) {\n return;\n }\n const tileIdx = this._findTileIdx(entry);\n const tile = this._findTileAtIdx(entry, tileIdx);\n if (tile) {\n const action = tile.updateEntry(entry, params);\n if (action.shouldReplace) {\n const newTile = this._createTile(entry);\n if (newTile) {\n this._replaceTile(tileIdx, tile, newTile, action.updateParams);\n newTile.setUpdateEmit(this._emitSpontanousUpdate);\n } else {\n this._removeTile(tileIdx, tile);\n }\n }\n if (action.shouldRemove) {\n this._removeTile(tileIdx, tile);\n }\n if (action.shouldUpdate) {\n this.emitUpdate(tileIdx, tile, action.updateParams);\n }\n }\n // technically we should handle adding a tile here as well\n // in case before we didn't have a tile for it but now we do\n // but in reality we don't have this use case as the type and msgtype\n // doesn't change. Decryption maybe is the exception?\n\n\n // outcomes here can be\n // tiles should be removed (got redacted and we don't want it in the timeline)\n // tile should be added where there was none before ... ?\n // entry should get it's own tile now\n // merge with neighbours? ... hard to imagine use case for this ...\n }\n\n _replaceTile(tileIdx, existingTile, newTile, updateParams) {\n existingTile.dispose();\n const prevTile = this._getTileAtIdx(tileIdx - 1);\n const nextTile = this._getTileAtIdx(tileIdx + 1);\n this._tiles[tileIdx] = newTile;\n prevTile?.updateNextSibling(newTile);\n newTile.updatePreviousSibling(prevTile);\n newTile.updateNextSibling(nextTile);\n nextTile?.updatePreviousSibling(newTile);\n this.emitUpdate(tileIdx, newTile, updateParams);\n }\n\n _removeTile(tileIdx, tile) {\n const prevTile = this._getTileAtIdx(tileIdx - 1);\n const nextTile = this._getTileAtIdx(tileIdx + 1);\n // applying and emitting the remove should happen\n // atomically, as updateNext/PreviousSibling might\n // emit an update with the wrong index otherwise \n this._tiles.splice(tileIdx, 1);\n tile.dispose();\n this.emitRemove(tileIdx, tile);\n prevTile?.updateNextSibling(nextTile);\n nextTile?.updatePreviousSibling(prevTile);\n }\n\n // would also be called when unloading a part of the timeline\n onRemove(index, entry) {\n const tileIdx = this._findTileIdx(entry);\n const tile = this._findTileAtIdx(entry, tileIdx);\n if (tile) {\n const removeTile = tile.removeEntry(entry);\n if (removeTile) {\n this._removeTile(tileIdx, tile);\n } else {\n this.emitUpdate(tileIdx, tile);\n }\n }\n }\n\n onMove(/*fromIdx, toIdx, value*/) {\n // this ... cannot happen in the timeline?\n // perhaps we can use this event to support a local echo (in a different fragment)\n // to be moved to the key of the remote echo, so we don't loose state ... ?\n }\n\n [Symbol.iterator]() {\n return this._tiles.values();\n }\n\n get length() {\n return this._tiles.length;\n }\n\n getFirst() {\n return this._tiles[0];\n }\n\n getTileIndex(searchTile) {\n const idx = sortedIndex(this._tiles, searchTile, (searchTile, tile) => {\n return searchTile.compare(tile);\n });\n const foundTile = this._tiles[idx];\n if (foundTile?.compare(searchTile) === 0) {\n return idx;\n }\n return -1;\n }\n\n sliceIterator(start, end) {\n return this._tiles.slice(start, end)[Symbol.iterator]();\n }\n}\n\nimport {ObservableArray} from \"../../../../observable/list/ObservableArray\";\nimport {UpdateAction} from \"./UpdateAction.js\";\n\nexport function tests() {\n class TestTile {\n constructor(entry) {\n this.entry = entry;\n this.update = null;\n }\n setUpdateEmit(update) {\n this.update = update;\n }\n tryIncludeEntry() {\n return false;\n }\n compareEntry(b) {\n return this.entry.n - b.n;\n }\n removeEntry() {\n return true;\n }\n get upperEntry() {\n return this.entry;\n }\n\n get lowerEntry() {\n return this.entry;\n }\n updateNextSibling() {}\n updatePreviousSibling() {}\n updateEntry() {\n return UpdateAction.Nothing;\n }\n\n dispose() {}\n }\n\n return {\n \"don't emit update before add\": assert => {\n class UpdateOnSiblingTile extends TestTile {\n updateNextSibling() {\n // this happens with isContinuation\n this.update && this.update(this, \"next\");\n }\n updatePreviousSibling() {\n // this happens with isContinuation\n this.update && this.update(this, \"previous\");\n }\n }\n const entries = new ObservableArray([{n: 5}, {n: 10}]);\n const tileOptions = {\n tileClassForEntry: () => UpdateOnSiblingTile,\n };\n const tiles = new TilesCollection(entries, tileOptions);\n let receivedAdd = false;\n tiles.subscribe({\n onAdd(idx, tile) {\n assert(tile.entry.n, 7);\n receivedAdd = true;\n },\n onUpdate(idx, tile) {\n if (tile.entry.n === 7) {\n assert(!receivedAdd, \"receiving update before add\");\n }\n }\n });\n entries.insert(1, {n: 7});\n assert(receivedAdd);\n },\n \"emit update with correct index in updatePreviousSibling during remove\": assert => {\n class UpdateOnSiblingTile extends TestTile {\n updatePreviousSibling() {\n this.update?.(this, \"previous\");\n }\n }\n const entries = new ObservableArray([{n: 5}, {n: 10}, {n: 15}]);\n const tileOptions = {\n tileClassForEntry: () => UpdateOnSiblingTile,\n };\n const tiles = new TilesCollection(entries, tileOptions);\n const events = [];\n tiles.subscribe({\n onUpdate(idx, tile) {\n assert.equal(idx, 1);\n assert.equal(tile.entry.n, 15);\n events.push(\"update\");\n },\n onRemove(idx, tile) {\n assert.equal(idx, 1);\n assert.equal(tile.entry.n, 10);\n events.push(\"remove\");\n }\n });\n entries.remove(1);\n assert.deepEqual(events, [\"remove\", \"update\"]);\n }\n }\n}\n","/*\nCopyright 2020 Bruno Windels \nCopyright 2020 The Matrix.org Foundation C.I.C.\n\nLicensed under the Apache License, Version 2.0 (the \"License\");\nyou may not use this file except in compliance with the License.\nYou may obtain a copy of the License at\n\n http://www.apache.org/licenses/LICENSE-2.0\n\nUnless required by applicable law or agreed to in writing, software\ndistributed under the License is distributed on an \"AS IS\" BASIS,\nWITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\nSee the License for the specific language governing permissions and\nlimitations under the License.\n*/\n\n/*\nneed better naming, but\nentry = event or gap from matrix layer\ntile = item on visual timeline like event, date separator?, group of joined events\n\n\nshall we put date separators as marker in EventViewItem or separate item? binary search will be complicated ...\n\n\npagination ...\n\non the timeline viewmodel (containing the TilesCollection?) we'll have a method to (un)load a tail or head of\nthe timeline (counted in tiles), which results to a range in sortKeys we want on the screen. We pass that range\nto the room timeline, which unload entries from memory.\nwhen loading, it just reads events from a sortkey backwards or forwards...\n*/\nimport {TilesCollection} from \"./TilesCollection.js\";\nimport {ViewModel} from \"../../../ViewModel\";\n\nexport class TimelineViewModel extends ViewModel {\n constructor(options) {\n super(options);\n const {timeline, tileOptions} = options;\n this._timeline = this.track(timeline);\n this._tiles = new TilesCollection(timeline.entries, tileOptions);\n this._startTile = null;\n this._endTile = null;\n this._topLoadingPromise = null;\n this._requestedStartTile = null;\n this._requestedEndTile = null;\n this._requestScheduled = false;\n this._showJumpDown = false;\n }\n\n /** if this.tiles is empty, call this with undefined for both startTile and endTile */\n setVisibleTileRange(startTile, endTile) {\n // don't clear these once done as they are used to check\n // for more tiles once loadAtTop finishes\n this._requestedStartTile = startTile;\n this._requestedEndTile = endTile;\n if (!this._requestScheduled) {\n Promise.resolve().then(() => {\n this._setVisibleTileRange(this._requestedStartTile, this._requestedEndTile);\n this._requestScheduled = false;\n });\n this._requestScheduled = true;\n }\n }\n\n _setVisibleTileRange(startTile, endTile) {\n let loadTop;\n if (startTile && endTile) {\n // old tiles could have been removed from tilescollection once we support unloading\n this._startTile = startTile;\n this._endTile = endTile;\n const startIndex = this._tiles.getTileIndex(this._startTile);\n const endIndex = this._tiles.getTileIndex(this._endTile);\n for (const tile of this._tiles.sliceIterator(startIndex, endIndex + 1)) {\n tile.notifyVisible();\n }\n loadTop = startIndex < 10;\n this._setShowJumpDown(endIndex < (this._tiles.length - 1));\n } else {\n // tiles collection is empty, load more at top\n loadTop = true;\n this._setShowJumpDown(false);\n }\n\n if (loadTop && !this._topLoadingPromise) {\n this._topLoadingPromise = this._timeline.loadAtTop(10).then(hasReachedEnd => {\n this._topLoadingPromise = null;\n if (!hasReachedEnd) {\n // check if more items need to be loaded by recursing\n // use the requested start / end tile,\n // so we don't end up overwriting a newly requested visible range here\n this.setVisibleTileRange(this._requestedStartTile, this._requestedEndTile);\n }\n });\n }\n }\n\n get tiles() {\n return this._tiles;\n }\n\n _setShowJumpDown(show) {\n if (this._showJumpDown !== show) {\n this._showJumpDown = show;\n this.emitChange(\"showJumpDown\");\n }\n }\n\n get showJumpDown() {\n return this._showJumpDown;\n }\n}\n","/*\nCopyright 2021 The Matrix.org Foundation C.I.C.\n\nLicensed under the Apache License, Version 2.0 (the \"License\");\nyou may not use this file except in compliance with the License.\nYou may obtain a copy of the License at\n\n http://www.apache.org/licenses/LICENSE-2.0\n\nUnless required by applicable law or agreed to in writing, software\ndistributed under the License is distributed on an \"AS IS\" BASIS,\nWITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\nSee the License for the specific language governing permissions and\nlimitations under the License.\n*/\n\nimport {ViewModel} from \"../../ViewModel\";\n\nexport class ComposerViewModel extends ViewModel {\n constructor(roomVM) {\n super(roomVM.options);\n this._roomVM = roomVM;\n this._isEmpty = true;\n this._replyVM = null;\n }\n\n setReplyingTo(entry) {\n const changed = new Boolean(entry) !== new Boolean(this._replyVM) || !this._replyVM?.id.equals(entry.asEventKey());\n if (changed) {\n this._replyVM = this.disposeTracked(this._replyVM);\n if (entry) {\n this._replyVM = this.track(this._roomVM._createTile(entry));\n this._replyVM.notifyVisible();\n }\n this.emitChange(\"replyViewModel\");\n this.emit(\"focus\");\n }\n }\n\n clearReplyingTo() {\n this.setReplyingTo(null);\n }\n\n get replyViewModel() {\n return this._replyVM;\n }\n\n get isEncrypted() {\n return this._roomVM.isEncrypted;\n }\n\n async sendMessage(message) {\n const success = await this._roomVM._sendMessage(message, this._replyVM);\n if (success) {\n this._isEmpty = true;\n this.emitChange(\"canSend\");\n this.clearReplyingTo();\n }\n return success;\n }\n\n sendPicture() {\n this._roomVM._pickAndSendPicture();\n }\n\n sendFile() {\n this._roomVM._pickAndSendFile();\n }\n\n sendVideo() {\n this._roomVM._pickAndSendVideo();\n }\n\n get canSend() {\n return !this._isEmpty;\n }\n\n async setInput(text) {\n const wasEmpty = this._isEmpty;\n this._isEmpty = text.length === 0;\n if (wasEmpty && !this._isEmpty) {\n this._roomVM._room.ensureMessageKeyIsShared();\n }\n if (wasEmpty !== this._isEmpty) {\n this.emitChange(\"canSend\");\n }\n }\n\n get kind() {\n return \"composer\";\n }\n}\n","/*\nCopyright 2020 The Matrix.org Foundation C.I.C.\n\nLicensed under the Apache License, Version 2.0 (the \"License\");\nyou may not use this file except in compliance with the License.\nYou may obtain a copy of the License at\n\n http://www.apache.org/licenses/LICENSE-2.0\n\nUnless required by applicable law or agreed to in writing, software\ndistributed under the License is distributed on an \"AS IS\" BASIS,\nWITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\nSee the License for the specific language governing permissions and\nlimitations under the License.\n*/\n\nexport function imageToInfo(image) {\n return {\n w: image.width,\n h: image.height,\n mimetype: image.blob.mimeType,\n size: image.blob.size\n };\n}\n","/*\nCopyright 2020 Bruno Windels \n\nLicensed under the Apache License, Version 2.0 (the \"License\");\nyou may not use this file except in compliance with the License.\nYou may obtain a copy of the License at\n\n http://www.apache.org/licenses/LICENSE-2.0\n\nUnless required by applicable law or agreed to in writing, software\ndistributed under the License is distributed on an \"AS IS\" BASIS,\nWITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\nSee the License for the specific language governing permissions and\nlimitations under the License.\n*/\n\nimport {UpdateAction} from \"../UpdateAction.js\";\nimport {ViewModel} from \"../../../../ViewModel\";\nimport {SendStatus} from \"../../../../../matrix/room/sending/PendingEvent.js\";\n\nexport class SimpleTile extends ViewModel {\n constructor(entry, options) {\n super(options);\n this._entry = entry;\n this._emitUpdate = undefined;\n }\n // view model props for all subclasses\n // hmmm, could also do instanceof ... ?\n get shape() {\n return null;\n // \"gap\" | \"message\" | \"image\" | ... ?\n }\n\n // don't show display name / avatar\n // probably only for BaseMessageTiles of some sort?\n get isContinuation() {\n return false;\n }\n\n get hasDateSeparator() {\n return false;\n }\n\n get id() {\n return this._entry.asEventKey();\n }\n\n get eventId() {\n return this._entry.id;\n }\n\n get isPending() {\n return this._entry.isPending;\n }\n\n get isUnsent() {\n return this._entry.isPending && this._entry.pendingEvent.status !== SendStatus.Sent;\n }\n\n get canAbortSending() {\n return this._entry.isPending &&\n !this._entry.pendingEvent.hasStartedSending;\n }\n\n abortSending() {\n this._entry.pendingEvent?.abort();\n }\n\n // TilesCollection contract below\n setUpdateEmit(emitUpdate) {\n this._emitUpdate = emitUpdate;\n }\n\n /** overrides the emitChange in ViewModel to also emit the update over the tiles collection */\n emitChange(changedProps) {\n if (this._emitUpdate) {\n // it can happen that after some network call\n // we switched away from the room and the response\n // comes in, triggering an emitChange in a tile that\n // has been disposed already (and hence the change\n // callback has been cleared by dispose) We should just ignore this.\n this._emitUpdate(this, changedProps);\n }\n super.emitChange(changedProps);\n }\n\n get upperEntry() {\n return this._entry;\n }\n\n get lowerEntry() {\n return this._entry;\n }\n\n compare(tile) {\n return this.upperEntry.compare(tile.upperEntry);\n }\n\n compareEntry(entry) {\n return this._entry.compare(entry);\n }\n\n // update received for already included (falls within sort keys) entry\n updateEntry(entry, param) {\n const renderedAsRedacted = this.shape === \"redacted\";\n if (!entry.isGap && entry.isRedacted !== renderedAsRedacted) {\n // recreate the tile if the entry becomes redacted\n return UpdateAction.Replace(\"shape\");\n } else {\n this._entry = entry;\n return UpdateAction.Update(param);\n }\n }\n\n // return whether the tile should be removed\n // as SimpleTile only has one entry, the tile should be removed\n removeEntry(/*entry*/) {\n return true;\n }\n\n // SimpleTile can only contain 1 entry\n tryIncludeEntry() {\n return false;\n }\n // let item know it has a new sibling\n updatePreviousSibling(/*prev*/) {\n\n }\n\n // let item know it has a new sibling\n updateNextSibling(/*next*/) {\n \n }\n\n notifyVisible() {}\n\n dispose() {\n this.setUpdateEmit(null);\n super.dispose();\n }\n // TilesCollection contract above\n\n get _room() {\n return this._roomVM.room;\n }\n\n get _roomVM() {\n return this._options.roomVM;\n }\n\n get _timeline() {\n return this._options.timeline;\n }\n\n get _powerLevels() {\n return this._timeline.powerLevels;\n }\n\n get _ownMember() {\n return this._options.timeline.me;\n }\n}\n","/*\nCopyright 2020 Bruno Windels \n\nLicensed under the Apache License, Version 2.0 (the \"License\");\nyou may not use this file except in compliance with the License.\nYou may obtain a copy of the License at\n\n http://www.apache.org/licenses/LICENSE-2.0\n\nUnless required by applicable law or agreed to in writing, software\ndistributed under the License is distributed on an \"AS IS\" BASIS,\nWITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\nSee the License for the specific language governing permissions and\nlimitations under the License.\n*/\n\nimport {SimpleTile} from \"./SimpleTile.js\";\nimport {UpdateAction} from \"../UpdateAction.js\";\n\nexport class GapTile extends SimpleTile {\n constructor(entry, options) {\n super(entry, options);\n this._loading = false;\n this._error = null;\n this._isAtTop = true;\n this._siblingChanged = false;\n }\n\n async fill() {\n if (!this._loading && !this._entry.edgeReached) {\n this._loading = true;\n this.emitChange(\"isLoading\");\n try {\n await this._room.fillGap(this._entry, 10);\n } catch (err) {\n console.error(`room.fillGap(): ${err.message}:\\n${err.stack}`);\n this._error = err;\n this.emitChange(\"error\");\n // rethrow so caller of this method\n // knows not to keep calling this for now\n throw err;\n } finally {\n this._loading = false;\n this.emitChange(\"isLoading\");\n }\n return true;\n }\n return false;\n }\n\n async notifyVisible() {\n // we do (up to 10) backfills while no new tiles have been added to the timeline\n // because notifyVisible won't be called again until something gets added to the timeline\n let depth = 0;\n let canFillMore;\n this._siblingChanged = false;\n do {\n canFillMore = await this.fill();\n depth = depth + 1;\n } while (depth < 10 && !this._siblingChanged && canFillMore && !this.isDisposed);\n }\n\n get isAtTop() {\n return this._isAtTop;\n }\n\n updatePreviousSibling(prev) {\n super.updatePreviousSibling(prev);\n const isAtTop = !prev;\n if (this._isAtTop !== isAtTop) {\n this._isAtTop = isAtTop;\n this.emitChange(\"isAtTop\");\n }\n this._siblingChanged = true;\n }\n\n updateNextSibling() {\n // if the sibling of the gap changed while calling room.fill(),\n // we intepret this as at least one new tile has been added to\n // the timeline. See notifyVisible why this is important.\n this._siblingChanged = true;\n }\n\n updateEntry(entry, params) {\n super.updateEntry(entry, params);\n if (!entry.isGap) {\n return UpdateAction.Remove();\n } else {\n return UpdateAction.Nothing();\n }\n }\n\n get shape() {\n return \"gap\";\n }\n\n get isLoading() {\n return this._loading;\n }\n\n get error() {\n if (this._error) {\n const dir = this._entry.prev_batch ? \"previous\" : \"next\";\n return `Could not load ${dir} messages: ${this._error.message}`;\n }\n return null;\n }\n}\n\nimport {FragmentBoundaryEntry} from \"../../../../../matrix/room/timeline/entries/FragmentBoundaryEntry.js\";\nexport function tests() {\n return {\n \"uses updated token to fill\": async assert => {\n let currentToken = 5;\n const fragment = {\n id: 0,\n previousToken: currentToken,\n roomId: \"!abc\"\n };\n const room = {\n async fillGap(entry) {\n assert.equal(entry.token, currentToken);\n currentToken += 1;\n const newEntry = entry.withUpdatedFragment(Object.assign({}, fragment, {previousToken: currentToken}));\n tile.updateEntry(newEntry);\n }\n };\n const tile = new GapTile(new FragmentBoundaryEntry(fragment, true), {roomVM: {room}});\n await tile.fill();\n await tile.fill();\n await tile.fill();\n assert.equal(currentToken, 8);\n }\n }\n}\n","/*\nCopyright 2021 The Matrix.org Foundation C.I.C.\n\nLicensed under the Apache License, Version 2.0 (the \"License\");\nyou may not use this file except in compliance with the License.\nYou may obtain a copy of the License at\n\n http://www.apache.org/licenses/LICENSE-2.0\n\nUnless required by applicable law or agreed to in writing, software\ndistributed under the License is distributed on an \"AS IS\" BASIS,\nWITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\nSee the License for the specific language governing permissions and\nlimitations under the License.\n*/\nimport {ObservableMap} from \"../../../../observable/map/ObservableMap\";\n\nexport class ReactionsViewModel {\n constructor(parentTile) {\n this._parentTile = parentTile;\n this._map = new ObservableMap();\n this._reactions = this._map.sortValues((a, b) => a._compare(b));\n }\n\n /** @package */\n update(annotations, pendingAnnotations) {\n if (annotations) {\n for (const key in annotations) {\n if (annotations.hasOwnProperty(key)) {\n const annotation = annotations[key];\n const reaction = this._map.get(key);\n if (reaction) {\n if (reaction._tryUpdate(annotation)) {\n this._map.update(key);\n }\n } else {\n this._map.add(key, new ReactionViewModel(key, annotation, null, this._parentTile));\n }\n }\n }\n }\n if (pendingAnnotations) {\n for (const [key, annotation] of pendingAnnotations.entries()) {\n const reaction = this._map.get(key);\n if (reaction) {\n reaction._tryUpdatePending(annotation);\n this._map.update(key);\n } else {\n this._map.add(key, new ReactionViewModel(key, null, annotation, this._parentTile));\n }\n }\n }\n for (const existingKey of this._map.keys()) {\n const hasPending = pendingAnnotations?.has(existingKey);\n const hasRemote = annotations?.hasOwnProperty(existingKey);\n if (!hasRemote && !hasPending) {\n this._map.remove(existingKey);\n } else if (!hasRemote) {\n if (this._map.get(existingKey)._tryUpdate(null)) {\n this._map.update(existingKey);\n }\n } else if (!hasPending) {\n if (this._map.get(existingKey)._tryUpdatePending(null)) {\n this._map.update(existingKey);\n }\n }\n }\n }\n\n get reactions() {\n return this._reactions;\n }\n\n getReaction(key) {\n return this._map.get(key);\n }\n}\n\nclass ReactionViewModel {\n constructor(key, annotation, pending, parentTile) {\n this._key = key;\n this._annotation = annotation;\n this._pending = pending;\n this._parentTile = parentTile;\n this._isToggling = false;\n }\n\n _tryUpdate(annotation) {\n const oneSetAndOtherNot = !!this._annotation !== !!annotation;\n const bothSet = this._annotation && annotation;\n const areDifferent = bothSet && (\n annotation.me !== this._annotation.me ||\n annotation.count !== this._annotation.count ||\n annotation.firstTimestamp !== this._annotation.firstTimestamp\n );\n if (oneSetAndOtherNot || areDifferent) {\n this._annotation = annotation;\n return true;\n }\n return false;\n }\n\n _tryUpdatePending(pending) {\n if (!pending && !this._pending) {\n return false;\n }\n this._pending = pending;\n return true;\n }\n\n get key() {\n return this._key;\n }\n\n get count() {\n return (this._pending?.count || 0) + (this._annotation?.count || 0);\n }\n\n get isPending() {\n return this._pending !== null;\n }\n\n /** @returns {boolean} true if the user has a (pending) reaction\n * already for this key, or they have a pending redaction for\n * the reaction, false if there is nothing pending and\n * the user has not reacted yet. */\n get isActive() {\n return this._annotation?.me || this.isPending;\n }\n\n get firstTimestamp() {\n let ts = Number.MAX_SAFE_INTEGER;\n if (this._annotation) {\n ts = Math.min(ts, this._annotation.firstTimestamp);\n }\n if (this._pending) {\n ts = Math.min(ts, this._pending.firstTimestamp);\n }\n return ts;\n }\n\n _compare(other) {\n // the comparator is also used to test for equality by sortValues, if the comparison returns 0\n // given that the firstTimestamp isn't set anymore when the last reaction is removed,\n // the remove event wouldn't be able to find the correct index anymore. So special case equality.\n if (other === this) {\n return 0;\n }\n if (this.count !== other.count) {\n return other.count - this.count;\n } else {\n const cmp = this.firstTimestamp - other.firstTimestamp;\n if (cmp === 0) {\n return this.key < other.key ? -1 : 1;\n }\n return cmp;\n }\n }\n\n async toggle(log = null) {\n if (this._isToggling) {\n console.log(\"busy toggling reaction already\");\n return;\n }\n this._isToggling = true;\n try {\n await this._parentTile.toggleReaction(this.key, log);\n } finally {\n this._isToggling = false;\n }\n }\n}\n\n// matrix classes uses in the integration test below\nimport {User} from \"../../../../matrix/User.js\";\nimport {SendQueue} from \"../../../../matrix/room/sending/SendQueue.js\";\nimport {Timeline} from \"../../../../matrix/room/timeline/Timeline.js\";\nimport {EventEntry} from \"../../../../matrix/room/timeline/entries/EventEntry.js\";\nimport {RelationWriter} from \"../../../../matrix/room/timeline/persistence/RelationWriter.js\";\nimport {FragmentIdComparer} from \"../../../../matrix/room/timeline/FragmentIdComparer.js\";\nimport {createAnnotation} from \"../../../../matrix/room/timeline/relations.js\";\n// mocks\nimport {Clock as MockClock} from \"../../../../mocks/Clock.js\";\nimport {createMockStorage} from \"../../../../mocks/Storage\";\nimport {ListObserver} from \"../../../../mocks/ListObserver.js\";\nimport {createEvent, withTextBody, withContent} from \"../../../../mocks/event.js\";\nimport {NullLogItem, NullLogger} from \"../../../../logging/NullLogger\";\nimport {HomeServer as MockHomeServer} from \"../../../../mocks/HomeServer.js\";\n// other imports\nimport {BaseMessageTile} from \"./tiles/BaseMessageTile.js\";\nimport {MappedList} from \"../../../../observable/list/MappedList\";\nimport {ObservableValue} from \"../../../../observable/ObservableValue\";\nimport {PowerLevels} from \"../../../../matrix/room/PowerLevels.js\";\n\nexport function tests() {\n const fragmentIdComparer = new FragmentIdComparer([]);\n const roomId = \"$abc\";\n const alice = \"@alice:hs.tld\";\n const bob = \"@bob:hs.tld\";\n const logger = new NullLogger();\n\n function findInIterarable(it, predicate) {\n let i = 0;\n for (const item of it) {\n if (predicate(item, i)) {\n return item;\n }\n i += 1;\n }\n throw new Error(\"not found\");\n }\n\n function mapMessageEntriesToBaseMessageTile(timeline, queue) {\n const room = {\n id: roomId,\n sendEvent(eventType, content, attachments, log) {\n return queue.enqueueEvent(eventType, content, attachments, log);\n },\n sendRedaction(eventIdOrTxnId, reason, log) {\n return queue.enqueueRedaction(eventIdOrTxnId, reason, log);\n }\n };\n const tiles = new MappedList(timeline.entries, entry => {\n if (entry.eventType === \"m.room.message\") {\n return new BaseMessageTile(entry, {roomVM: {room}, timeline, platform: {logger}});\n }\n return null;\n }, (tile, params, entry) => tile?.updateEntry(entry, params, function () {}));\n return tiles;\n }\n\n return {\n // these are more an integration test than unit tests,\n // but fully test the local echo when toggling and\n // the correct send queue modifications happen\n \"toggling reaction with own remote reaction\": async assert => {\n // 1. put message and reaction in storage\n const messageEvent = withTextBody(\"Dogs > Cats\", createEvent(\"m.room.message\", \"!abc\", bob));\n const myReactionEvent = withContent(createAnnotation(messageEvent.event_id, \"🐶\"), createEvent(\"m.reaction\", \"!def\", alice));\n myReactionEvent.origin_server_ts = 5;\n const myReactionEntry = new EventEntry({event: myReactionEvent, roomId}, fragmentIdComparer);\n const relationWriter = new RelationWriter({roomId, ownUserId: alice, fragmentIdComparer});\n const storage = await createMockStorage();\n const txn = await storage.readWriteTxn([\n storage.storeNames.timelineEvents,\n storage.storeNames.timelineRelations,\n storage.storeNames.timelineFragments\n ]);\n txn.timelineFragments.add({id: 1, roomId});\n txn.timelineEvents.tryInsert({fragmentId: 1, eventIndex: 2, event: messageEvent, roomId}, new NullLogItem());\n txn.timelineEvents.tryInsert({fragmentId: 1, eventIndex: 3, event: myReactionEvent, roomId}, new NullLogItem());\n await relationWriter.writeRelation(myReactionEntry, txn, new NullLogItem());\n await txn.complete();\n // 2. setup queue & timeline\n const queue = new SendQueue({roomId, storage, hsApi: new MockHomeServer().api});\n const powerLevelsObservable = new ObservableValue(new PowerLevels({ ownUserId: alice, membership: \"join\" }));\n const timeline = new Timeline({\n roomId,\n storage,\n fragmentIdComparer,\n clock: new MockClock(),\n pendingEvents: queue.pendingEvents,\n powerLevelsObservable\n });\n // 3. load the timeline, which will load the message with the reaction\n await timeline.load(new User(alice), \"join\", new NullLogItem());\n const tiles = mapMessageEntriesToBaseMessageTile(timeline, queue);\n // 4. subscribe to the queue to observe, and the tiles (so we can safely iterate)\n const queueObserver = new ListObserver();\n queue.pendingEvents.subscribe(queueObserver);\n tiles.subscribe(new ListObserver());\n const messageTile = findInIterarable(tiles, e => !!e); // the other entries are mapped to null\n const reactionVM = messageTile.reactions.getReaction(\"🐶\");\n // 5. test toggling\n // make sure the preexisting reaction is counted\n assert.equal(reactionVM.count, 1);\n // 5.1. unset reaction, should redact the pre-existing reaction\n await reactionVM.toggle();\n {\n assert.equal(reactionVM.count, 0);\n const {value: redaction, type} = await queueObserver.next();\n assert.equal(\"add\", type);\n assert.equal(redaction.eventType, \"m.room.redaction\");\n assert.equal(redaction.relatedEventId, myReactionEntry.id);\n // SendQueue puts redaction in sending status, as it is first in the queue\n assert.equal(\"update\", (await queueObserver.next()).type);\n }\n // 5.2. set reaction, should send a new reaction as the redaction is already sending\n await reactionVM.toggle();\n let reactionIndex;\n {\n assert.equal(reactionVM.count, 1);\n const {value: reaction, type, index} = await queueObserver.next();\n assert.equal(\"add\", type);\n assert.equal(reaction.eventType, \"m.reaction\");\n assert.equal(reaction.relatedEventId, messageEvent.event_id);\n reactionIndex = index;\n }\n // 5.3. unset reaction, should abort the previous pending reaction as it hasn't started sending yet\n await reactionVM.toggle();\n {\n assert.equal(reactionVM.count, 0);\n const {index, type} = await queueObserver.next();\n assert.equal(\"remove\", type);\n assert.equal(reactionIndex, index);\n }\n },\n \"toggling reaction without own remote reaction\": async assert => {\n // 1. put message in storage\n const messageEvent = withTextBody(\"Dogs > Cats\", createEvent(\"m.room.message\", \"!abc\", bob));\n const storage = await createMockStorage();\n\n const txn = await storage.readWriteTxn([\n storage.storeNames.timelineEvents,\n storage.storeNames.timelineFragments\n ]);\n txn.timelineFragments.add({id: 1, roomId});\n txn.timelineEvents.tryInsert({fragmentId: 1, eventIndex: 2, event: messageEvent, roomId}, new NullLogItem());\n await txn.complete();\n // 2. setup queue & timeline\n const queue = new SendQueue({roomId, storage, hsApi: new MockHomeServer().api});\n const powerLevelsObservable = new ObservableValue(new PowerLevels({ ownUserId: alice, membership: \"join\" }));\n const timeline = new Timeline({roomId, storage, fragmentIdComparer,\n clock: new MockClock(), pendingEvents: queue.pendingEvents, powerLevelsObservable});\n\n // 3. load the timeline, which will load the message with the reaction\n await timeline.load(new User(alice), \"join\", new NullLogItem());\n const tiles = mapMessageEntriesToBaseMessageTile(timeline, queue);\n // 4. subscribe to the queue to observe, and the tiles (so we can safely iterate)\n const queueObserver = new ListObserver();\n queue.pendingEvents.subscribe(queueObserver);\n tiles.subscribe(new ListObserver());\n const messageTile = findInIterarable(tiles, e => !!e); // the other entries are mapped to null\n // 5. test toggling\n assert.equal(messageTile.reactions, null);\n // 5.1. set reaction, should send a new reaction as there is none yet\n await messageTile.react(\"🐶\");\n // now there should be a reactions view model\n const reactionVM = messageTile.reactions.getReaction(\"🐶\");\n let reactionTxnId;\n {\n assert.equal(reactionVM.count, 1);\n const {value: reaction, type} = await queueObserver.next();\n assert.equal(\"add\", type);\n assert.equal(reaction.eventType, \"m.reaction\");\n assert.equal(reaction.relatedEventId, messageEvent.event_id);\n // SendQueue puts reaction in sending status, as it is first in the queue\n assert.equal(\"update\", (await queueObserver.next()).type);\n reactionTxnId = reaction.txnId;\n }\n // 5.2. unset reaction, should redact the previous pending reaction as it has started sending already\n let redactionIndex;\n await reactionVM.toggle();\n {\n assert.equal(reactionVM.count, 0);\n const {value: redaction, type, index} = await queueObserver.next();\n assert.equal(\"add\", type);\n assert.equal(redaction.eventType, \"m.room.redaction\");\n assert.equal(redaction.relatedTxnId, reactionTxnId);\n redactionIndex = index;\n }\n // 5.3. set reaction, should abort the previous pending redaction as it hasn't started sending yet\n await reactionVM.toggle();\n {\n assert.equal(reactionVM.count, 1);\n const {index, type} = await queueObserver.next();\n assert.equal(\"remove\", type);\n assert.equal(redactionIndex, index);\n redactionIndex = index;\n }\n },\n }\n}\n","/*\nCopyright 2020 Bruno Windels \n\nLicensed under the Apache License, Version 2.0 (the \"License\");\nyou may not use this file except in compliance with the License.\nYou may obtain a copy of the License at\n\n http://www.apache.org/licenses/LICENSE-2.0\n\nUnless required by applicable law or agreed to in writing, software\ndistributed under the License is distributed on an \"AS IS\" BASIS,\nWITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\nSee the License for the specific language governing permissions and\nlimitations under the License.\n*/\n\nimport {SimpleTile} from \"./SimpleTile.js\";\nimport {ReactionsViewModel} from \"../ReactionsViewModel.js\";\nimport {getIdentifierColorNumber, avatarInitials, getAvatarHttpUrl} from \"../../../../avatar\";\n\nexport class BaseMessageTile extends SimpleTile {\n constructor(entry, options) {\n super(entry, options);\n this._date = this._entry.timestamp ? new Date(this._entry.timestamp) : null;\n this._isContinuation = false;\n this._reactions = null;\n this._replyTile = null;\n if (this._entry.annotations || this._entry.pendingAnnotations) {\n this._updateReactions();\n }\n this._updateReplyTileIfNeeded(undefined);\n }\n\n notifyVisible() {\n super.notifyVisible();\n this._replyTile?.notifyVisible();\n }\n\n\n get _mediaRepository() {\n return this._room.mediaRepository;\n }\n\n get permaLink() {\n return `https://matrix.to/#/${encodeURIComponent(this._room.id)}/${encodeURIComponent(this._entry.id)}`;\n }\n\n get senderProfileLink() {\n return `https://matrix.to/#/${encodeURIComponent(this.sender)}`;\n }\n\n get displayName() {\n return this._entry.displayName || this.sender;\n }\n\n get sender() {\n return this._entry.sender;\n }\n\n get memberPanelLink() {\n return `${this.urlCreator.urlUntilSegment(\"room\")}/member/${this.sender}`;\n }\n\n // Avatar view model contract\n get avatarColorNumber() {\n return getIdentifierColorNumber(this._entry.sender);\n }\n\n avatarUrl(size) {\n return getAvatarHttpUrl(this._entry.avatarUrl, size, this.platform, this._mediaRepository);\n }\n\n get avatarLetter() {\n return avatarInitials(this.sender);\n }\n\n get avatarTitle() {\n return this.displayName;\n }\n\n get date() {\n return this._date && this._date.toLocaleDateString({}, {month: \"numeric\", day: \"numeric\"});\n }\n\n get time() {\n return this._date && this._date.toLocaleTimeString({}, {hour: \"numeric\", minute: \"2-digit\"});\n }\n\n get isOwn() {\n return this._entry.sender === this._ownMember.userId;\n }\n\n get isContinuation() {\n return this._isContinuation;\n }\n\n get isUnverified() {\n return this._entry.isUnverified;\n }\n\n get isReply() {\n return this._entry.isReply;\n }\n\n _getContent() {\n return this._entry.content;\n }\n\n updatePreviousSibling(prev) {\n super.updatePreviousSibling(prev);\n let isContinuation = false;\n if (prev && prev instanceof BaseMessageTile && prev.sender === this.sender) {\n // timestamp is null for pending events\n const myTimestamp = this._entry.timestamp;\n const otherTimestamp = prev._entry.timestamp;\n // other message was sent less than 5min ago\n isContinuation = (myTimestamp - otherTimestamp) < (5 * 60 * 1000);\n }\n if (isContinuation !== this._isContinuation) {\n this._isContinuation = isContinuation;\n this.emitChange(\"isContinuation\");\n }\n }\n\n updateEntry(entry, param) {\n const action = super.updateEntry(entry, param);\n if (action.shouldUpdate) {\n this._updateReactions();\n }\n this._updateReplyTileIfNeeded(param);\n return action;\n }\n\n _updateReplyTileIfNeeded(param) {\n const replyEntry = this._entry.contextEntry;\n if (replyEntry) {\n // this is an update to contextEntry used for replyPreview\n const action = this._replyTile?.updateEntry(replyEntry, param);\n if (action?.shouldReplace || !this._replyTile) {\n this.disposeTracked(this._replyTile);\n const tileClassForEntry = this._options.tileClassForEntry;\n const ReplyTile = tileClassForEntry(replyEntry);\n if (ReplyTile) {\n this._replyTile = new ReplyTile(replyEntry, this._options);\n }\n }\n if(action?.shouldUpdate) {\n this._replyTile?.emitChange();\n }\n }\n }\n\n startReply() {\n this._roomVM.startReply(this._entry);\n }\n\n reply(msgtype, body, log = null) {\n return this._room.sendEvent(\"m.room.message\", this._entry.reply(msgtype, body), null, log);\n }\n\n redact(reason, log) {\n return this._room.sendRedaction(this._entry.id, reason, log);\n }\n\n get canRedact() {\n return this._powerLevels.canRedactFromSender(this._entry.sender);\n }\n\n get reactions() {\n if (this.shape !== \"redacted\") {\n return this._reactions;\n }\n return null;\n }\n\n get canReact() {\n return this._powerLevels.canSendType(\"m.reaction\");\n }\n\n react(key, log = null) {\n return this.logger.wrapOrRun(log, \"react\", async log => {\n if (!this.canReact) {\n log.set(\"powerlevel_lacking\", true);\n return;\n }\n if (this._entry.haveAnnotation(key)) {\n log.set(\"already_reacted\", true);\n return;\n }\n const redaction = this._entry.pendingAnnotations?.get(key)?.redactionEntry;\n if (redaction && !redaction.pendingEvent.hasStartedSending) {\n log.set(\"abort_redaction\", true);\n await redaction.pendingEvent.abort();\n } else {\n await this._room.sendEvent(\"m.reaction\", this._entry.annotate(key), null, log);\n }\n });\n }\n\n redactReaction(key, log = null) {\n return this.logger.wrapOrRun(log, \"redactReaction\", async log => {\n if (!this._powerLevels.canRedactFromSender(this._ownMember.userId)) {\n log.set(\"powerlevel_lacking\", true);\n return;\n }\n if (!this._entry.haveAnnotation(key)) {\n log.set(\"not_yet_reacted\", true);\n return;\n }\n let entry = this._entry.pendingAnnotations?.get(key)?.annotationEntry;\n if (!entry) {\n entry = await this._timeline.getOwnAnnotationEntry(this._entry.id, key);\n }\n if (entry) {\n await this._room.sendRedaction(entry.id, null, log);\n } else {\n log.set(\"no_reaction\", true);\n }\n });\n }\n\n toggleReaction(key, log = null) {\n return this.logger.wrapOrRun(log, \"toggleReaction\", async log => {\n if (this._entry.haveAnnotation(key)) {\n await this.redactReaction(key, log);\n } else {\n await this.react(key, log);\n }\n });\n }\n\n _updateReactions() {\n const {annotations, pendingAnnotations} = this._entry;\n if (!annotations && !pendingAnnotations) {\n if (this._reactions) {\n this._reactions = null;\n }\n } else {\n if (!this._reactions) {\n this._reactions = new ReactionsViewModel(this);\n }\n this._reactions.update(annotations, pendingAnnotations);\n }\n }\n\n get replyTile() {\n if (!this._entry.contextEventId) {\n return null;\n }\n return this._replyTile;\n }\n}\n","/*\nCopyright 2021 The Matrix.org Foundation C.I.C.\n\nLicensed under the Apache License, Version 2.0 (the \"License\");\nyou may not use this file except in compliance with the License.\nYou may obtain a copy of the License at\n\n http://www.apache.org/licenses/LICENSE-2.0\n\nUnless required by applicable law or agreed to in writing, software\ndistributed under the License is distributed on an \"AS IS\" BASIS,\nWITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\nSee the License for the specific language governing permissions and\nlimitations under the License.\n*/\n\n/*\nThe regex is split into component strings;\nmeaning that any escapes (\\) must also\nbe escaped.\n*/\nconst scheme = \"(?:https|http|ftp):\\\\/\\\\/\";\nconst noSpaceNorPunctuation = \"[^\\\\s.,?!)]\";\nconst hostCharacter = \"[a-zA-Z0-9:.\\\\[\\\\]-]\";\n\n/*\nUsing non-consuming group here to combine two criteria for the last character.\nSee point 1 below.\n*/\nconst host = `${hostCharacter}*(?=${hostCharacter})${noSpaceNorPunctuation}`;\n\n/*\nUse sub groups so we accept just / or #; but if anything comes after it,\nit should not end with punctuation or space.\n*/\nconst pathOrFragment = `(?:[\\\\/#](?:[^\\\\s]*${noSpaceNorPunctuation})?)`;\n\n/*\nThings to keep in mind:\n1. URL must not contain non-ascii characters in host but may contain\n them in path or fragment components.\n https://matrix.org/ - valid\n https://matrix.org - invalid\n2. Do not treat punctuation at the end as a part of the URL (.,?!)\n3. Path/fragment is optional.\n*/\nconst urlRegex = `${scheme}${host}${pathOrFragment}?`;\n\nexport const regex = new RegExp(urlRegex, \"gi\");\n","/*\nCopyright 2021 The Matrix.org Foundation C.I.C.\n\nLicensed under the Apache License, Version 2.0 (the \"License\");\nyou may not use this file except in compliance with the License.\nYou may obtain a copy of the License at\n\n http://www.apache.org/licenses/LICENSE-2.0\n\nUnless required by applicable law or agreed to in writing, software\ndistributed under the License is distributed on an \"AS IS\" BASIS,\nWITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\nSee the License for the specific language governing permissions and\nlimitations under the License.\n*/\n\nimport { regex } from \"./regex.js\";\n\n/**\n * Splits text into links and non-links.\n * For each such separated token, callback is called\n * with the token and a boolean passed as argument.\n * The boolean indicates whether the token is a link or not.\n * @param {string} text Text to split\n * @param {function(string, boolean)} callback A function to call with split tokens\n */\nexport function linkify(text, callback) {\n const matches = text.matchAll(regex);\n let curr = 0;\n for (let match of matches) {\n const precedingText = text.slice(curr, match.index);\n callback(precedingText, false);\n callback(match[0], true);\n const len = match[0].length;\n curr = match.index + len;\n }\n const remainingText = text.slice(curr);\n callback(remainingText, false);\n}\n\nexport function tests() {\n\n class MockCallback {\n mockCallback(text, isLink) {\n if (!text.length) {\n return;\n }\n if (!this.result) {\n this.result = [];\n }\n const type = isLink ? \"link\" : \"text\";\n this.result.push({ type: type, text: text });\n }\n }\n\n function test(assert, input, output) {\n const m = new MockCallback;\n linkify(input, m.mockCallback.bind(m));\n assert.deepEqual(output, m.result);\n }\n\n function testLink(assert, link, expectFail = false) {\n const input = link;\n const output = expectFail ? [{ type: \"text\", text: input }] :\n [{ type: \"link\", text: input }];\n test(assert, input, output);\n }\n\n return {\n \"Link with host\": assert => {\n testLink(assert, \"https://matrix.org\");\n },\n\n \"Link with host & path\": assert => {\n testLink(assert, \"https://matrix.org/docs/develop\");\n },\n\n \"Link with host & fragment\": assert => {\n testLink(assert, \"https://matrix.org#test\");\n },\n\n \"Link with host & query\": assert => {\n testLink(assert, \"https://matrix.org/?foo=bar\");\n },\n\n \"Complex link\": assert => {\n const link = \"https://www.foobar.com/url?sa=t&rct=j&q=&esrc=s&source\" +\n \"=web&cd=&cad=rja&uact=8&ved=2ahUKEwjyu7DJ-LHwAhUQyzgGHc\" +\n \"OKA70QFjAAegQIBBAD&url=https%3A%2F%2Fmatrix.org%2Fdocs%\" +\n \"2Fprojects%2Fclient%2Felement%2F&usg=AOvVaw0xpENrPHv_R-\" +\n \"ERkyacR2Bd\";\n testLink(assert, link);\n },\n\n \"Localhost link\": assert => {\n testLink(assert, \"http://localhost\");\n testLink(assert, \"http://localhost:3000\");\n },\n\n \"IPV4 link\": assert => {\n testLink(assert, \"https://192.0.0.1\");\n testLink(assert, \"https://250.123.67.23:5924\");\n },\n\n \"IPV6 link\": assert => {\n testLink(assert, \"http://[2001:0db8:85a3:0000:0000:8a2e:0370:7334]\");\n testLink(assert, \"http://[2001:0db8:85a3:0000:0000:8a2e:0370:7334]:7000\");\n },\n\n \"Missing scheme must not linkify\": assert => {\n testLink(assert, \"matrix.org/foo/bar\", true);\n },\n\n \"Punctuation at end of link must not linkify\": assert => {\n const link = \"https://foo.bar/?nenjil=lal810\";\n const end = \".,? \";\n for (const char of end) {\n const out = [{ type: \"link\", text: link }, { type: \"text\", text: char }];\n test(assert, link + char, out);\n }\n },\n\n \"Link doesn't adopt closing parenthesis\": assert => {\n const link = \"(https://matrix.org)\";\n const out = [{ type: \"text\", text: \"(\" }, { type: \"link\", text: \"https://matrix.org\" }, { type: \"text\", text: \")\" }];\n test(assert, link, out);\n },\n\n \"Unicode in hostname must not linkify\": assert => {\n const link = \"https://foo.bar\\uD83D\\uDE03.com\";\n const out = [{ type: \"link\", text: \"https://foo.bar\" },\n { type: \"text\", text: \"\\uD83D\\uDE03.com\" }];\n test(assert, link, out);\n },\n\n \"Link with unicode only after / must linkify\": assert => {\n testLink(assert, \"https://foo.bar.com/\\uD83D\\uDE03\");\n },\n\n \"Link with unicode after fragment without path must linkify\": assert => {\n testLink(assert, \"https://foo.bar.com#\\uD83D\\uDE03\");\n },\n\n \"Link ends with <\": assert => {\n const link = \"https://matrix.org<\";\n const out = [{ type: \"link\", text: \"https://matrix.org\" }, { type: \"text\", text: \"<\" }];\n test(assert, link, out);\n }\n };\n}\n","import { linkify } from \"./linkify/linkify.js\";\nimport { getIdentifierColorNumber, avatarInitials } from \"../../../avatar\";\n\n/**\n * Parse text into parts such as newline, links and text.\n * @param {string} body A string to parse into parts\n * @returns {MessageBody} Parsed result\n */\nexport function parsePlainBody(body) {\n const parts = [];\n const lines = body.split(\"\\n\");\n\n // create callback outside of loop\n const linkifyCallback = (text, isLink) => {\n if (isLink) {\n parts.push(new LinkPart(text, [new TextPart(text)]));\n } else {\n parts.push(new TextPart(text));\n }\n };\n\n for (let i = 0; i < lines.length; i += 1) {\n const line = lines[i];\n if (line.length) {\n linkify(line, linkifyCallback);\n }\n const isLastLine = i >= (lines.length - 1);\n if (!isLastLine) {\n parts.push(new NewLinePart());\n }\n }\n\n return new MessageBody(body, parts);\n}\n\nexport function stringAsBody(body) {\n return new MessageBody(body, [new TextPart(body)]);\n}\n\nexport class HeaderBlock {\n constructor(level, inlines) {\n this.level = level;\n this.inlines = inlines;\n }\n\n get type() { return \"header\"; }\n}\n\nexport class CodeBlock {\n constructor(language, text) {\n this.language = language;\n this.text = text;\n }\n\n get type() { return \"codeblock\"; }\n}\n\nexport class ListBlock {\n constructor(startOffset, items) {\n this.items = items;\n this.startOffset = startOffset;\n }\n\n get type() { return \"list\"; }\n}\n\nexport class TableBlock {\n constructor(head, body) {\n this.head = head;\n this.body = body;\n }\n\n get type() { return \"table\"; }\n}\n\nexport class RulePart {\n get type() { return \"rule\"; }\n}\n\nexport class NewLinePart {\n get type() { return \"newline\"; }\n}\n\nexport class FormatPart {\n constructor(format, children) {\n this.format = format.toLowerCase();\n this.children = children;\n }\n\n get type() { return \"format\"; }\n}\n\nexport class ImagePart {\n constructor(src, width, height, alt, title) {\n this.src = src;\n this.width = width;\n this.height = height;\n this.alt = alt;\n this.title = title;\n }\n\n get type() { return \"image\"; }\n}\n\nexport class PillPart {\n constructor(id, href, children) {\n this.id = id;\n this.href = href;\n this.children = children;\n }\n\n get type() { return \"pill\"; }\n\n get avatarColorNumber() {\n return getIdentifierColorNumber(this.id);\n }\n\n get avatarInitials() {\n return avatarInitials(this.id);\n }\n}\n\nexport class LinkPart {\n constructor(url, inlines) {\n this.url = url;\n this.inlines = inlines;\n }\n\n get type() { return \"link\"; }\n}\n\nexport class TextPart {\n constructor(text) {\n this.text = text;\n }\n\n get type() { return \"text\"; }\n}\n\nfunction isBlockquote(part){\n return part.type === \"format\" && part.format === \"blockquote\";\n}\n\nexport class MessageBody {\n constructor(sourceString, parts) {\n this.sourceString = sourceString;\n this.parts = parts;\n }\n\n insertEmote(string) {\n // We want to skip quotes introduced by replies when emoting.\n // We assume that such quotes are not TextParts, because replies\n // must have a formatted body.\n let i = 0;\n for (; i < this.parts.length && isBlockquote(this.parts[i]); i++);\n this.parts.splice(i, 0, new TextPart(string));\n }\n}\n\nexport function tests() {\n\n function test(assert, input, output) {\n assert.deepEqual(parsePlainBody(input), new MessageBody(input, output));\n }\n\n return {\n // Tests for text\n \"Text only\": assert => {\n const input = \"This is a sentence\";\n const output = [new TextPart(input)];\n test(assert, input, output);\n },\n\n \"Text with newline\": assert => {\n const input = \"This is a sentence.\\nThis is another sentence.\";\n const output = [\n new TextPart(\"This is a sentence.\"),\n new NewLinePart(),\n new TextPart(\"This is another sentence.\")\n ];\n test(assert, input, output);\n },\n\n \"Text with newline & trailing newline\": assert => {\n const input = \"This is a sentence.\\nThis is another sentence.\\n\";\n const output = [\n new TextPart(\"This is a sentence.\"),\n new NewLinePart(),\n new TextPart(\"This is another sentence.\"),\n new NewLinePart()\n ];\n test(assert, input, output);\n }\n };\n}\n","/*\nCopyright 2020 Bruno Windels \n\nLicensed under the Apache License, Version 2.0 (the \"License\");\nyou may not use this file except in compliance with the License.\nYou may obtain a copy of the License at\n\n http://www.apache.org/licenses/LICENSE-2.0\n\nUnless required by applicable law or agreed to in writing, software\ndistributed under the License is distributed on an \"AS IS\" BASIS,\nWITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\nSee the License for the specific language governing permissions and\nlimitations under the License.\n*/\n\nimport {BaseMessageTile} from \"./BaseMessageTile.js\";\nimport {stringAsBody} from \"../MessageBody.js\";\nimport {createEnum} from \"../../../../../utils/enum\";\n\nexport const BodyFormat = createEnum(\"Plain\", \"Html\");\n\nexport class BaseTextTile extends BaseMessageTile {\n constructor(entry, options) {\n super(entry, options);\n this._messageBody = null;\n this._format = null\n }\n\n get shape() {\n return \"message\";\n }\n\n _parseBody(body) {\n return stringAsBody(body);\n }\n\n _getBodyFormat() {\n return BodyFormat.Plain;\n }\n\n get body() {\n const body = this._getBody();\n const format = this._getBodyFormat();\n // body is a string, so we can check for difference by just\n // doing an equality check\n // Even if the body hasn't changed, but the format has, we need\n // to re-fill our cache.\n if (!this._messageBody || this._messageBody.sourceString !== body || this._format !== format) {\n // body with markup is an array of parts,\n // so we should not recreate it for the same body string,\n // or else the equality check in the binding will always fail.\n // So cache it here.\n this._messageBody = this._parseBody(body, format);\n this._format = format;\n }\n return this._messageBody;\n }\n\n}\n","/*\nCopyright 2021 The Matrix.org Foundation C.I.C.\n\nLicensed under the Apache License, Version 2.0 (the \"License\");\nyou may not use this file except in compliance with the License.\nYou may obtain a copy of the License at\n\n http://www.apache.org/licenses/LICENSE-2.0\n\nUnless required by applicable law or agreed to in writing, software\ndistributed under the License is distributed on an \"AS IS\" BASIS,\nWITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\nSee the License for the specific language governing permissions and\nlimitations under the License.\n*/\n\nimport { MessageBody, HeaderBlock, TableBlock, ListBlock, CodeBlock, PillPart, FormatPart, NewLinePart, RulePart, TextPart, LinkPart, ImagePart } from \"./MessageBody.js\"\nimport { linkify } from \"./linkify/linkify.js\";\n\n/* At the time of writing (Jul 1 2021), Matrix Spec recommends\n * allowing the following HTML tags:\n * font, del, h1, h2, h3, h4, h5, h6, blockquote, p, a, ul, ol, sup, sub, li, b, i, u,\n * strong, em, strike, code, hr, br, div, table, thead, tbody, tr, th, td, caption, pre, span, img\n */\n\n/**\n * Nodes that don't have any properties to them other than their tag.\n * While has `href`, and has `src`, these have... themselves.\n */\nconst basicInline = [\"EM\", \"STRONG\", \"CODE\", \"DEL\", \"SPAN\" ];\nconst basicBlock = [\"DIV\", \"BLOCKQUOTE\"];\nconst safeSchemas = [\"https\", \"http\", \"ftp\", \"mailto\", \"magnet\"].map(name => `${name}://`);\nconst baseUrl = 'https://matrix.to';\nconst linkPrefix = `${baseUrl}/#/`;\n\nclass Deserializer {\n constructor(result, mediaRepository) {\n this.result = result;\n this.mediaRepository = mediaRepository;\n }\n\n parsePillLink(link) {\n if (!link.startsWith(linkPrefix)) {\n return null;\n }\n const contents = link.substring(linkPrefix.length);\n if (contents[0] === '@') {\n return contents;\n }\n return null;\n }\n\n parseLink(node, children) {\n const href = this.result.getAttributeValue(node, \"href\");\n const lcUrl = href?.toLowerCase();\n // urls should be absolute and with a safe schema, as listed in the spec\n if (!lcUrl || !safeSchemas.some(schema => lcUrl.startsWith(schema))) {\n return new FormatPart(\"span\", children);\n }\n const pillId = this.parsePillLink(href);\n if (pillId) {\n return new PillPart(pillId, href, children);\n }\n return new LinkPart(href, children);\n }\n\n parseList(node) {\n const result = this.result;\n let start = null;\n if (result.getNodeElementName(node) === \"OL\") {\n // Will return 1 for, say, '1A', which may not be intended?\n start = parseInt(result.getAttributeValue(node, \"start\")) || 1;\n }\n const items = [];\n for (const child of result.getChildNodes(node)) {\n if (result.getNodeElementName(child) !== \"LI\") {\n continue;\n }\n const item = this.parseAnyNodes(result.getChildNodes(child));\n items.push(item);\n }\n return new ListBlock(start, items);\n }\n\n _ensureElement(node, tag) {\n return node &&\n this.result.isElementNode(node) &&\n this.result.getNodeElementName(node) === tag;\n }\n\n parseCodeBlock(node) {\n const result = this.result;\n let codeNode;\n for (const child of result.getChildNodes(node)) {\n codeNode = child;\n break;\n }\n let language = null;\n if (!this._ensureElement(codeNode, \"CODE\")) {\n return new CodeBlock(language, this.result.getNodeText(node));\n }\n const cl = result.getAttributeValue(codeNode, \"class\") || \"\"\n for (const clname of cl.split(\" \")) {\n if (clname.startsWith(\"language-\") && !clname.startsWith(\"language-_\")) {\n language = clname.substring(9) // \"language-\".length\n break;\n }\n }\n return new CodeBlock(language, this.result.getNodeText(codeNode));\n }\n\n parseImage(node) {\n const result = this.result;\n const src = result.getAttributeValue(node, \"src\") || \"\";\n const url = this.mediaRepository.mxcUrl(src);\n // We just ignore non-mxc `src` attributes.\n if (!url) {\n return null;\n }\n const width = parseInt(result.getAttributeValue(node, \"width\")) || null;\n const height = parseInt(result.getAttributeValue(node, \"height\")) || null;\n const alt = result.getAttributeValue(node, \"alt\");\n const title = result.getAttributeValue(node, \"title\");\n return new ImagePart(url, width, height, alt, title);\n }\n\n parseTableRow(row, tag) {\n const cells = [];\n for (const node of this.result.getChildNodes(row)) {\n if(!this._ensureElement(node, tag)) {\n continue;\n }\n const children = this.result.getChildNodes(node);\n const inlines = this.parseInlineNodes(children);\n cells.push(inlines);\n }\n return cells;\n }\n\n parseTableHead(head) {\n let headRow = null;\n for (const node of this.result.getChildNodes(head)) {\n headRow = node;\n break;\n }\n if (this._ensureElement(headRow, \"TR\")) {\n return this.parseTableRow(headRow, \"TH\");\n }\n return null;\n }\n\n parseTableBody(body) {\n const rows = [];\n for (const node of this.result.getChildNodes(body)) {\n if(!this._ensureElement(node, \"TR\")) {\n continue;\n }\n rows.push(this.parseTableRow(node, \"TD\"));\n }\n return rows;\n }\n\n parseTable(node) {\n // We are only assuming iterable, so convert to arrary for indexing.\n const children = Array.from(this.result.getChildNodes(node));\n let head, body;\n if (this._ensureElement(children[0], \"THEAD\") && this._ensureElement(children[1], \"TBODY\")) {\n head = this.parseTableHead(children[0]);\n body = this.parseTableBody(children[1]);\n } else if (this._ensureElement(children[0], \"TBODY\")) {\n head = null;\n body = this.parseTableBody(children[0]);\n }\n return new TableBlock(head, body);\n }\n\n /** Once a node is known to be an element,\n * attempt to interpret it as an inline element.\n *\n * @returns the inline message part, or null if the element\n * is not inline or not allowed.\n */\n parseInlineElement(node) {\n const result = this.result;\n const tag = result.getNodeElementName(node);\n const children = result.getChildNodes(node);\n switch (tag) {\n case \"A\": {\n const inlines = this.parseInlineNodes(children);\n return this.parseLink(node, inlines);\n }\n case \"BR\":\n return new NewLinePart();\n default: {\n if (!basicInline.includes(tag)) {\n return null;\n }\n const inlines = this.parseInlineNodes(children);\n return new FormatPart(tag, inlines);\n }\n }\n }\n\n /** Attempt to interpret a node as inline.\n *\n * @returns the inline message part, or null if the\n * element is not inline or not allowed.\n */\n parseInlineNode(node) {\n if (this.result.isElementNode(node)) {\n return this.parseInlineElement(node);\n }\n return null;\n }\n\n /** Once a node is known to be an element, attempt\n * to interpret it as a block element.\n *\n * @returns the block message part, or null of the\n * element is not a block or not allowed.\n */\n parseBlockElement(node) {\n const result = this.result;\n const tag = result.getNodeElementName(node);\n const children = result.getChildNodes(node);\n switch (tag) {\n case \"H1\":\n case \"H2\":\n case \"H3\":\n case \"H4\":\n case \"H5\":\n case \"H6\": {\n const inlines = this.parseInlineNodes(children);\n return new HeaderBlock(parseInt(tag[1]), inlines)\n }\n case \"UL\":\n case \"OL\":\n return this.parseList(node);\n case \"PRE\":\n return this.parseCodeBlock(node);\n case \"HR\":\n return new RulePart();\n case \"IMG\":\n return this.parseImage(node);\n case \"P\": {\n const inlines = this.parseInlineNodes(children);\n return new FormatPart(tag, inlines);\n }\n case \"TABLE\":\n return this.parseTable(node);\n default: {\n if (!basicBlock.includes(tag)) {\n return null;\n }\n const blocks = this.parseAnyNodes(children);\n return new FormatPart(tag, blocks);\n }\n }\n }\n\n /** Attempt to parse a node as a block.\n *\n * @return the block message part, or null if the node\n * is not a block element.\n */\n parseBlockNode(node) {\n if (this.result.isElementNode(node)) {\n return this.parseBlockElement(node);\n }\n return null;\n }\n\n _parseTextParts(node, into) {\n if(!this.result.isTextNode(node)) {\n return false;\n }\n\n // XXX pretty much identical to `MessageBody`'s.\n const linkifyCallback = (text, isLink) => {\n if (isLink) {\n into.push(new LinkPart(text, [new TextPart(text)]));\n } else {\n into.push(new TextPart(text));\n }\n };\n linkify(this.result.getNodeText(node), linkifyCallback);\n return true;\n }\n\n _isAllowedNode(node) {\n return !this._ensureElement(node, \"MX-REPLY\");\n }\n\n _parseInlineNodes(nodes, into) {\n for (const htmlNode of nodes) {\n if (this._parseTextParts(htmlNode, into)) {\n // This was a text node, and we already\n // dumped its parts into our list.\n continue;\n }\n const node = this.parseInlineNode(htmlNode);\n if (node) {\n into.push(node);\n continue;\n }\n // Node is either block or unrecognized. In\n // both cases, just move on to its children.\n if (this._isAllowedNode(htmlNode)) {\n this._parseInlineNodes(this.result.getChildNodes(htmlNode), into);\n }\n }\n }\n\n parseInlineNodes(nodes) {\n const into = [];\n this._parseInlineNodes(nodes, into);\n return into;\n }\n\n // XXX very similar to `_parseInlineNodes`.\n _parseAnyNodes(nodes, into) {\n for (const htmlNode of nodes) {\n if (this._parseTextParts(htmlNode, into)) {\n // This was a text node, and we already\n // dumped its parts into our list.\n continue;\n }\n const node = this.parseInlineNode(htmlNode) || this.parseBlockNode(htmlNode);\n if (node) {\n into.push(node);\n continue;\n }\n // Node is unrecognized. Just move on to its children.\n if (this._isAllowedNode(htmlNode)) {\n this._parseAnyNodes(this.result.getChildNodes(htmlNode), into);\n }\n }\n }\n\n parseAnyNodes(nodes) {\n const into = [];\n this._parseAnyNodes(nodes, into);\n return into;\n }\n}\n\nexport function parseHTMLBody(platform, mediaRepository, html) {\n const parseResult = platform.parseHTML(html);\n const deserializer = new Deserializer(parseResult, mediaRepository);\n const parts = deserializer.parseAnyNodes(parseResult.rootNodes);\n return new MessageBody(html, parts);\n}\n\n\nexport async function tests() {\n // don't import node-html-parser until it's safe to assume we're actually in a unit test,\n // as this is a devDependency\n const nodeHtmlParser = await import(\"node-html-parser\");\n const {parse} = nodeHtmlParser.default;\n\n class HTMLParseResult {\n constructor(bodyNode) {\n this._bodyNode = bodyNode;\n }\n\n get rootNodes() {\n return this._bodyNode.childNodes;\n }\n\n getChildNodes(node) {\n return node.childNodes;\n }\n\n getAttributeNames(node) {\n return node.getAttributeNames();\n }\n\n getAttributeValue(node, attr) {\n return node.getAttribute(attr);\n }\n\n isTextNode(node) {\n return !node.tagName;\n }\n\n getNodeText(node) {\n return node.text;\n }\n\n isElementNode(node) {\n return !!node.tagName;\n }\n\n getNodeElementName(node) {\n return node.tagName;\n }\n }\n\n const platform = {\n parseHTML: (html) => new HTMLParseResult(parse(html))\n };\n\n function test(assert, input, output) {\n assert.deepEqual(parseHTMLBody(platform, null, input), new MessageBody(input, output));\n }\n\n return {\n \"Text only\": assert => {\n const input = \"This is a sentence\";\n const output = [new TextPart(input)];\n test(assert, input, output);\n },\n \"Text with inline code format\": assert => {\n const input = \"Here's some code!\";\n const output = [\n new TextPart(\"Here's \"),\n new FormatPart(\"em\", [new TextPart(\"some\")]),\n new TextPart(\" \"),\n new FormatPart(\"code\", [new TextPart(\"code\")]),\n new TextPart(\"!\")\n ];\n test(assert, input, output);\n },\n \"Text with ordered list with no attributes\": assert => {\n const input = \"
    1. Lorem
    2. Ipsum
    \";\n const output = [\n new ListBlock(1, [\n [ new TextPart(\"Lorem\") ],\n [ new TextPart(\"Ipsum\") ]\n ])\n ];\n test(assert, input, output);\n },\n \"Text with ordered list starting at 3\": assert => {\n const input = '
    1. Lorem
    2. Ipsum
    ';\n const output = [\n new ListBlock(3, [\n [ new TextPart(\"Lorem\") ],\n [ new TextPart(\"Ipsum\") ]\n ])\n ];\n test(assert, input, output);\n },\n \"Text with unordered list\": assert => {\n const input = '
    • Lorem
    • Ipsum
    ';\n const output = [\n new ListBlock(null, [\n [ new TextPart(\"Lorem\") ],\n [ new TextPart(\"Ipsum\") ]\n ])\n ];\n test(assert, input, output);\n },\n \"Auto-closed tags\": assert => {\n const input = '

    hello

    world

    ';\n const output = [\n new FormatPart(\"p\", [new TextPart(\"hello\")]),\n new FormatPart(\"p\", [new TextPart(\"world\")])\n ];\n test(assert, input, output);\n },\n \"Block elements ignored inside inline elements\": assert => {\n const input = '

    Hello

    ';\n const output = [\n new FormatPart(\"span\", [new FormatPart(\"code\", [new TextPart(\"Hello\")])])\n ];\n test(assert, input, output);\n },\n \"Unknown tags are ignored, but their children are kept\": assert => {\n const input = 'Hello
    World
    ';\n const output = [\n new FormatPart(\"span\", [\n new FormatPart(\"code\", [new TextPart(\"Hello\")]),\n new FormatPart(\"em\", [new TextPart(\"World\")])\n ])\n ];\n test(assert, input, output);\n },\n \"Unknown and invalid attributes are stripped\": assert => {\n const input = 'Hello';\n const output = [\n new FormatPart(\"em\", [new TextPart(\"Hello\")])\n ];\n test(assert, input, output);\n },\n \"Text with code block but no tag\": assert => {\n const code = 'main :: IO ()\\nmain = putStrLn \"Hello\"'\n const input = `
    ${code}
    `;\n const output = [\n new CodeBlock(null, code)\n ];\n test(assert, input, output);\n },\n \"Text with code block and 'unsupported' tag\": assert => {\n const code = 'Hello, world'\n const input = `
    ${code}
    `;\n const output = [\n new CodeBlock(null, code)\n ];\n test(assert, input, output);\n },\n \"Reply fallback is always stripped\": assert => {\n const input = 'Hello, World!';\n const output = [\n new TextPart('Hello, '),\n new FormatPart(\"em\", []),\n new TextPart('!'),\n ];\n assert.deepEqual(parseHTMLBody(platform, null, input), new MessageBody(input, output));\n }\n /* Doesnt work: HTML library doesn't handle
     properly.\n        \"Text with code block\": assert => {\n            const code = 'main :: IO ()\\nmain = putStrLn \"Hello\"'\n            const input = `
    ${code}
    `;\n const output = [\n new CodeBlock(null, code)\n ];\n test(assert, input, output);\n }\n */\n };\n}\n","/*\nCopyright 2020 Bruno Windels \n\nLicensed under the Apache License, Version 2.0 (the \"License\");\nyou may not use this file except in compliance with the License.\nYou may obtain a copy of the License at\n\n http://www.apache.org/licenses/LICENSE-2.0\n\nUnless required by applicable law or agreed to in writing, software\ndistributed under the License is distributed on an \"AS IS\" BASIS,\nWITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\nSee the License for the specific language governing permissions and\nlimitations under the License.\n*/\n\nimport {BaseTextTile, BodyFormat} from \"./BaseTextTile.js\";\nimport {parsePlainBody} from \"../MessageBody.js\";\nimport {parseHTMLBody} from \"../deserialize.js\";\n\nexport class TextTile extends BaseTextTile {\n _getContentString(key) {\n return this._getContent()?.[key] || \"\";\n }\n\n _getPlainBody() {\n return this._getContentString(\"body\");\n }\n\n _getFormattedBody() {\n return this._getContentString(\"formatted_body\");\n }\n\n _getBody() {\n if (this._getBodyFormat() === BodyFormat.Html) {\n return this._getFormattedBody();\n } else {\n return this._getPlainBody();\n }\n }\n\n _getBodyFormat() {\n if (this._getContent()?.format === \"org.matrix.custom.html\") {\n return BodyFormat.Html;\n } else {\n return BodyFormat.Plain;\n }\n }\n\n _parseBody(body, format) {\n let messageBody;\n if (format === BodyFormat.Html) {\n messageBody = parseHTMLBody(this.platform, this._mediaRepository, body);\n } else {\n messageBody = parsePlainBody(body);\n }\n if (this._getContent()?.msgtype === \"m.emote\") {\n messageBody.insertEmote(`* ${this.displayName} `);\n }\n return messageBody;\n }\n}\n","/*\nCopyright 2020 Bruno Windels \n\nLicensed under the Apache License, Version 2.0 (the \"License\");\nyou may not use this file except in compliance with the License.\nYou may obtain a copy of the License at\n\n http://www.apache.org/licenses/LICENSE-2.0\n\nUnless required by applicable law or agreed to in writing, software\ndistributed under the License is distributed on an \"AS IS\" BASIS,\nWITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\nSee the License for the specific language governing permissions and\nlimitations under the License.\n*/\n\nimport {BaseMessageTile} from \"./BaseMessageTile.js\";\n\nexport class RedactedTile extends BaseMessageTile {\n get shape() {\n return \"redacted\";\n }\n\n get description() {\n const {redactionReason} = this._entry;\n if (this.isRedacting) {\n if (redactionReason) {\n return this.i18n`This message is being deleted (${redactionReason})…`;\n } else {\n return this.i18n`This message is being deleted…`;\n }\n } else {\n if (redactionReason) {\n return this.i18n`This message has been deleted (${redactionReason}).`;\n } else {\n return this.i18n`This message has been deleted.`;\n }\n }\n }\n\n get isRedacting() {\n return this._entry.isRedacting;\n }\n \n /** override parent property to disable redacting, even if still pending */\n get canRedact() {\n return false;\n }\n\n abortPendingRedaction() {\n return this._entry.abortPendingRedaction();\n }\n}\n","/*\nCopyright 2020 Bruno Windels \nCopyright 2020 The Matrix.org Foundation C.I.C.\n\nLicensed under the Apache License, Version 2.0 (the \"License\");\nyou may not use this file except in compliance with the License.\nYou may obtain a copy of the License at\n\n http://www.apache.org/licenses/LICENSE-2.0\n\nUnless required by applicable law or agreed to in writing, software\ndistributed under the License is distributed on an \"AS IS\" BASIS,\nWITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\nSee the License for the specific language governing permissions and\nlimitations under the License.\n*/\n\nimport {BaseMessageTile} from \"./BaseMessageTile.js\";\nimport {SendStatus} from \"../../../../../matrix/room/sending/PendingEvent.js\";\nconst MAX_HEIGHT = 300;\nconst MAX_WIDTH = 400;\n\nexport class BaseMediaTile extends BaseMessageTile {\n constructor(entry, options) {\n super(entry, options);\n this._decryptedThumbnail = null;\n this._decryptedFile = null;\n this._isVisible = false;\n this._error = null;\n this._downloading = false;\n this._downloadError = null;\n }\n\n async downloadMedia() {\n if (this._downloading || this.isPending) {\n return;\n }\n const content = this._getContent();\n const filename = content.body;\n this._downloading = true;\n this.emitChange(\"status\");\n let blob;\n try {\n blob = await this._mediaRepository.downloadAttachment(content);\n this.platform.saveFileAs(blob, filename);\n } catch (err) {\n this._downloadError = err;\n } finally {\n blob?.dispose();\n this._downloading = false;\n }\n this.emitChange(\"status\");\n }\n\n get isUploading() {\n return this.isPending && this._entry.pendingEvent.status === SendStatus.UploadingAttachments;\n }\n\n get uploadPercentage() {\n const {pendingEvent} = this._entry;\n return pendingEvent && Math.round((pendingEvent.attachmentsSentBytes / pendingEvent.attachmentsTotalBytes) * 100);\n }\n\n get status() {\n const {pendingEvent} = this._entry;\n switch (pendingEvent?.status) {\n case SendStatus.Waiting:\n return this.i18n`Waiting…`;\n case SendStatus.EncryptingAttachments:\n case SendStatus.Encrypting:\n return this.i18n`Encrypting…`;\n case SendStatus.UploadingAttachments:\n return this.i18n`Uploading…`;\n case SendStatus.Sending:\n return this.i18n`Sending…`;\n case SendStatus.Error:\n return this.i18n`Error: ${pendingEvent.error.message}`;\n default:\n if (this._downloadError) {\n return `Download failed`;\n }\n if (this._downloading) {\n return this.i18n`Downloading…`;\n }\n return \"\";\n }\n }\n\n get thumbnailUrl() {\n if (!this._isVisible) {\n return \"\";\n }\n if (this._decryptedThumbnail) {\n return this._decryptedThumbnail.url;\n } else {\n const thumbnailMxc = this._getContent().info?.thumbnail_url;\n if (thumbnailMxc) {\n return this._mediaRepository.mxcUrlThumbnail(thumbnailMxc, this.width, this.height, \"scale\");\n }\n }\n if (this._entry.isPending) {\n const attachment = this._entry.pendingEvent.getAttachment(\"info.thumbnail_url\");\n return attachment && attachment.localPreview.url;\n }\n if (this._isMainResourceImage()) {\n if (this._decryptedFile) {\n return this._decryptedFile.url;\n } else {\n const mxcUrl = this._getContent()?.url;\n if (typeof mxcUrl === \"string\") {\n return this._mediaRepository.mxcUrlThumbnail(mxcUrl, this.width, this.height, \"scale\");\n }\n }\n }\n return \"\";\n }\n\n notifyVisible() {\n super.notifyVisible();\n this._isVisible = true;\n this.emitChange(\"thumbnailUrl\");\n if (!this.isPending) {\n this._tryLoadEncryptedThumbnail();\n }\n }\n\n get width() {\n const info = this._getContent()?.info;\n return Math.round(info?.w * this._scaleFactor());\n }\n\n get height() {\n const info = this._getContent()?.info;\n return Math.round(info?.h * this._scaleFactor());\n }\n\n get mimeType() {\n const info = this._getContent()?.info;\n return info?.mimetype;\n }\n\n get label() {\n return this._getContent().body;\n }\n\n get error() {\n if (this._error) {\n return `Could not load media: ${this._error.message}`;\n }\n return null;\n }\n\n setViewError(err) {\n this._error = err;\n this.emitChange(\"error\");\n }\n\n async _loadEncryptedFile(file) {\n const blob = await this._mediaRepository.downloadEncryptedFile(file, true);\n if (this.isDisposed) {\n blob.dispose();\n return;\n }\n return this.track(blob);\n }\n\n async _tryLoadEncryptedThumbnail() {\n try {\n const thumbnailFile = this._getContent().info?.thumbnail_file;\n const file = this._getContent().file;\n if (thumbnailFile) {\n this._decryptedThumbnail = await this._loadEncryptedFile(thumbnailFile);\n this.emitChange(\"thumbnailUrl\");\n } else if (file && this._isMainResourceImage()) { // is the main resource an image? then try that for a thumbnail\n this._decryptedFile = await this._loadEncryptedFile(file);\n this.emitChange(\"thumbnailUrl\");\n }\n } catch (err) {\n this._error = err;\n this.emitChange(\"error\");\n }\n }\n\n _scaleFactor() {\n const info = this._getContent()?.info;\n const scaleHeightFactor = MAX_HEIGHT / info?.h;\n const scaleWidthFactor = MAX_WIDTH / info?.w;\n // take the smallest scale factor, to respect all constraints\n // we should not upscale images, so limit scale factor to 1 upwards\n return Math.min(scaleWidthFactor, scaleHeightFactor, 1);\n }\n\n _isMainResourceImage() {\n return true; // overwritten in VideoTile\n }\n}\n","/*\nCopyright 2020 Bruno Windels \nCopyright 2020 The Matrix.org Foundation C.I.C.\n\nLicensed under the Apache License, Version 2.0 (the \"License\");\nyou may not use this file except in compliance with the License.\nYou may obtain a copy of the License at\n\n http://www.apache.org/licenses/LICENSE-2.0\n\nUnless required by applicable law or agreed to in writing, software\ndistributed under the License is distributed on an \"AS IS\" BASIS,\nWITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\nSee the License for the specific language governing permissions and\nlimitations under the License.\n*/\n\nimport {BaseMediaTile} from \"./BaseMediaTile.js\";\n\nexport class ImageTile extends BaseMediaTile {\n constructor(entry, options) {\n super(entry, options);\n this._lightboxUrl = this.urlCreator.urlForSegments([\n // ensure the right room is active if in grid view\n this.navigation.segment(\"room\", this._room.id),\n this.navigation.segment(\"lightbox\", this._entry.id)\n ]);\n }\n\n get lightboxUrl() {\n if (!this.isPending) {\n return this._lightboxUrl;\n }\n return \"\";\n }\n\n get shape() {\n return \"image\";\n }\n}\n","/*\nCopyright 2020 Bruno Windels \nCopyright 2020 The Matrix.org Foundation C.I.C.\n\nLicensed under the Apache License, Version 2.0 (the \"License\");\nyou may not use this file except in compliance with the License.\nYou may obtain a copy of the License at\n\n http://www.apache.org/licenses/LICENSE-2.0\n\nUnless required by applicable law or agreed to in writing, software\ndistributed under the License is distributed on an \"AS IS\" BASIS,\nWITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\nSee the License for the specific language governing permissions and\nlimitations under the License.\n*/\n\nimport {BaseMediaTile} from \"./BaseMediaTile.js\";\n\nexport class VideoTile extends BaseMediaTile {\n async loadVideo() {\n const file = this._getContent().file;\n if (file && !this._decryptedFile) {\n this._decryptedFile = await this._loadEncryptedFile(file);\n this.emitChange(\"videoUrl\");\n }\n }\n\n get videoUrl() {\n if (this._decryptedFile) {\n return this._decryptedFile.url;\n }\n const mxcUrl = this._getContent()?.url;\n if (typeof mxcUrl === \"string\") {\n return this._mediaRepository.mxcUrl(mxcUrl);\n }\n return \"\";\n }\n\n get shape() {\n return \"video\";\n }\n\n _isMainResourceImage() {\n return false;\n }\n}\n","/*\nCopyright 2020 The Matrix.org Foundation C.I.C.\n\nLicensed under the Apache License, Version 2.0 (the \"License\");\nyou may not use this file except in compliance with the License.\nYou may obtain a copy of the License at\n\n http://www.apache.org/licenses/LICENSE-2.0\n\nUnless required by applicable law or agreed to in writing, software\ndistributed under the License is distributed on an \"AS IS\" BASIS,\nWITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\nSee the License for the specific language governing permissions and\nlimitations under the License.\n*/\n\n\nexport function formatSize(size: number, decimals: number = 2): string {\n if (Number.isSafeInteger(size)) {\n const base = Math.min(3, Math.floor(Math.log(size) / Math.log(1024)));\n const formattedSize = Math.round(size / Math.pow(1024, base)).toFixed(decimals);\n switch (base) {\n case 0: return `${formattedSize} bytes`;\n case 1: return `${formattedSize} KB`;\n case 2: return `${formattedSize} MB`;\n case 3: return `${formattedSize} GB`;\n }\n }\n return \"\";\n}\n","/*\nCopyright 2020 Bruno Windels \nCopyright 2020 The Matrix.org Foundation C.I.C.\n\nLicensed under the Apache License, Version 2.0 (the \"License\");\nyou may not use this file except in compliance with the License.\nYou may obtain a copy of the License at\n\n http://www.apache.org/licenses/LICENSE-2.0\n\nUnless required by applicable law or agreed to in writing, software\ndistributed under the License is distributed on an \"AS IS\" BASIS,\nWITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\nSee the License for the specific language governing permissions and\nlimitations under the License.\n*/\n\nimport {BaseMessageTile} from \"./BaseMessageTile.js\";\nimport {formatSize} from \"../../../../../utils/formatSize\";\nimport {SendStatus} from \"../../../../../matrix/room/sending/PendingEvent.js\";\n\nexport class FileTile extends BaseMessageTile {\n constructor(entry, options) {\n super(entry, options);\n this._downloadError = null;\n this._downloading = false;\n }\n\n async download() {\n if (this._downloading || this.isPending) {\n return;\n }\n const content = this._getContent();\n const filename = content.body;\n this._downloading = true;\n this.emitChange(\"label\");\n let blob;\n try {\n blob = await this._mediaRepository.downloadAttachment(content);\n this.platform.saveFileAs(blob, filename);\n } catch (err) {\n this._downloadError = err;\n } finally {\n blob?.dispose();\n this._downloading = false;\n }\n this.emitChange(\"label\");\n }\n\n get label() {\n if (this._downloadError) {\n return `Could not download file: ${this._downloadError.message}`;\n }\n const content = this._getContent();\n const filename = content.body;\n\n if (this._entry.isPending) {\n const {pendingEvent} = this._entry;\n switch (pendingEvent?.status) {\n case SendStatus.Waiting:\n return this.i18n`Waiting to send ${filename}…`;\n case SendStatus.EncryptingAttachments:\n case SendStatus.Encrypting:\n return this.i18n`Encrypting ${filename}…`;\n case SendStatus.UploadingAttachments:{\n const percent = Math.round((pendingEvent.attachmentsSentBytes / pendingEvent.attachmentsTotalBytes) * 100);\n return this.i18n`Uploading ${filename}: ${percent}%`;\n }\n case SendStatus.Sending:\n case SendStatus.Sent:\n return this.i18n`Sending ${filename}…`;\n case SendStatus.Error:\n return this.i18n`Error: could not send ${filename}: ${pendingEvent.error.message}`;\n default:\n return `Unknown send status for ${filename}`;\n }\n } else {\n const size = formatSize(this._getContent().info?.size);\n if (this._downloading) {\n return this.i18n`Downloading ${filename} (${size})…`;\n } else {\n return this.i18n`Download ${filename} (${size})`;\n } \n }\n }\n\n get shape() {\n return \"file\";\n }\n}\n","/*\nCopyright 2020 Bruno Windels \n\nLicensed under the Apache License, Version 2.0 (the \"License\");\nyou may not use this file except in compliance with the License.\nYou may obtain a copy of the License at\n\n http://www.apache.org/licenses/LICENSE-2.0\n\nUnless required by applicable law or agreed to in writing, software\ndistributed under the License is distributed on an \"AS IS\" BASIS,\nWITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\nSee the License for the specific language governing permissions and\nlimitations under the License.\n*/\n\nimport {BaseMessageTile} from \"./BaseMessageTile.js\";\n\nexport class LocationTile extends BaseMessageTile {\n get shape() {\n return \"location\";\n }\n\n get mapsLink() {\n try {\n const url = new URL(this._getContent().geo_uri);\n if (url.protocol !== \"geo:\") {\n return \"\";\n }\n const [locationStr, ...namedParams] = url.pathname.split(\";\");\n const [latStr, longStr] = locationStr.split(\",\");\n const lat = parseFloat(latStr);\n const long = parseFloat(longStr);\n let uncertainty;\n for (const namedParam of namedParams) {\n const [name, value] = namedParam.split(\"=\");\n if (name === \"u\") {\n uncertainty = parseFloat(value);\n }\n }\n if (this.platform.isIOS) {\n return `http://maps.apple.com/?ll=${lat},${long}`;\n } else {\n let uri = `geo:${lat},${long}`;\n if (uncertainty) {\n uri = uri + `;u=${uncertainty}`;\n }\n return uri;\n }\n } catch {\n return \"\";\n }\n }\n\n get label() {\n return this.i18n`${this.displayName} sent their location`;\n }\n}\n","/*\nCopyright 2020 Bruno Windels \n\nLicensed under the Apache License, Version 2.0 (the \"License\");\nyou may not use this file except in compliance with the License.\nYou may obtain a copy of the License at\n\n http://www.apache.org/licenses/LICENSE-2.0\n\nUnless required by applicable law or agreed to in writing, software\ndistributed under the License is distributed on an \"AS IS\" BASIS,\nWITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\nSee the License for the specific language governing permissions and\nlimitations under the License.\n*/\n\nimport {SimpleTile} from \"./SimpleTile.js\";\n\nexport class RoomNameTile extends SimpleTile {\n \n get shape() {\n return \"announcement\";\n }\n\n get announcement() {\n const content = this._entry.content;\n return `${this._entry.displayName || this._entry.sender} named the room \"${content?.name}\"`\n }\n}\n","/*\nCopyright 2020 Bruno Windels \n\nLicensed under the Apache License, Version 2.0 (the \"License\");\nyou may not use this file except in compliance with the License.\nYou may obtain a copy of the License at\n\n http://www.apache.org/licenses/LICENSE-2.0\n\nUnless required by applicable law or agreed to in writing, software\ndistributed under the License is distributed on an \"AS IS\" BASIS,\nWITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\nSee the License for the specific language governing permissions and\nlimitations under the License.\n*/\n\nimport {SimpleTile} from \"./SimpleTile.js\";\n\nexport class RoomMemberTile extends SimpleTile {\n\n get shape() {\n return \"announcement\";\n }\n\n get announcement() {\n const {sender, content, prevContent, stateKey} = this._entry;\n const senderName = this._entry.displayName || sender;\n const targetName = sender === stateKey ? senderName : (this._entry.content?.displayname || stateKey);\n const membership = content && content.membership;\n const prevMembership = prevContent && prevContent.membership;\n\n if (prevMembership === \"join\" && membership === \"join\") {\n if (content.avatar_url !== prevContent.avatar_url) {\n return `${senderName} changed their avatar`; \n } else if (content.displayname !== prevContent.displayname) {\n if (!content.displayname) {\n return `${stateKey} removed their name (${prevContent.displayname})`;\n }\n return `${prevContent.displayname ?? stateKey} changed their name to ${content.displayname}`; \n }\n } else if (membership === \"join\") {\n return `${targetName} joined the room`;\n } else if (membership === \"invite\") {\n return `${targetName} was invited to the room by ${senderName}`;\n } else if (prevMembership === \"invite\") {\n if (membership === \"join\") {\n return `${targetName} accepted the invitation to join the room`;\n } else if (membership === \"leave\") {\n return `${targetName} declined the invitation to join the room`;\n }\n } else if (membership === \"leave\") {\n if (stateKey === sender) {\n return `${targetName} left the room`;\n } else {\n const reason = content.reason;\n return `${targetName} was kicked from the room by ${senderName}${reason ? `: ${reason}` : \"\"}`;\n }\n } else if (membership === \"ban\") {\n return `${targetName} was banned from the room by ${senderName}`;\n }\n \n return `${sender} membership changed to ${content.membership}`;\n }\n}\n\nexport function tests() {\n return {\n \"user removes display name\": (assert) => {\n const tile = new RoomMemberTile(\n {\n prevContent: {displayname: \"foo\", membership: \"join\"},\n content: {membership: \"join\"},\n stateKey: \"foo@bar.com\",\n },\n {}\n );\n assert.strictEqual(tile.announcement, \"foo@bar.com removed their name (foo)\");\n },\n \"user without display name sets a new display name\": (assert) => {\n const tile = new RoomMemberTile(\n {\n prevContent: {membership: \"join\"},\n content: {displayname: \"foo\", membership: \"join\" },\n stateKey: \"foo@bar.com\",\n },\n {}\n );\n assert.strictEqual(tile.announcement, \"foo@bar.com changed their name to foo\");\n },\n };\n}\n","/*\nCopyright 2020 The Matrix.org Foundation C.I.C.\n\nLicensed under the Apache License, Version 2.0 (the \"License\");\nyou may not use this file except in compliance with the License.\nYou may obtain a copy of the License at\n\n http://www.apache.org/licenses/LICENSE-2.0\n\nUnless required by applicable law or agreed to in writing, software\ndistributed under the License is distributed on an \"AS IS\" BASIS,\nWITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\nSee the License for the specific language governing permissions and\nlimitations under the License.\n*/\n\nimport {BaseTextTile} from \"./BaseTextTile.js\";\nimport {UpdateAction} from \"../UpdateAction.js\";\n\nexport class EncryptedEventTile extends BaseTextTile {\n updateEntry(entry, params) {\n const parentResult = super.updateEntry(entry, params);\n // event got decrypted, recreate the tile and replace this one with it\n if (entry.eventType !== \"m.room.encrypted\") {\n // the \"shape\" parameter trigger tile recreation in TimelineView\n return UpdateAction.Replace(\"shape\");\n } else {\n return parentResult;\n }\n }\n\n get shape() {\n return \"message-status\"\n }\n\n _getBody() {\n const decryptionError = this._entry.decryptionError;\n const code = decryptionError?.code;\n let string;\n if (code === \"MEGOLM_NO_SESSION\") {\n string = this.i18n`The sender hasn't sent us the key for this message yet.`;\n } else {\n string = decryptionError?.message || this.i18n`Could not decrypt message because of unknown reason.`;\n }\n return string;\n }\n}\n","/*\nCopyright 2020 The Matrix.org Foundation C.I.C.\n\nLicensed under the Apache License, Version 2.0 (the \"License\");\nyou may not use this file except in compliance with the License.\nYou may obtain a copy of the License at\n\n http://www.apache.org/licenses/LICENSE-2.0\n\nUnless required by applicable law or agreed to in writing, software\ndistributed under the License is distributed on an \"AS IS\" BASIS,\nWITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\nSee the License for the specific language governing permissions and\nlimitations under the License.\n*/\n\nimport {SimpleTile} from \"./SimpleTile.js\";\n\nexport class EncryptionEnabledTile extends SimpleTile {\n get shape() {\n return \"announcement\";\n }\n\n get announcement() {\n const senderName = this._entry.displayName || this._entry.sender;\n return this.i18n`${senderName} has enabled end-to-end encryption`;\n }\n}\n","/*\nCopyright 2020 The Matrix.org Foundation C.I.C.\n\nLicensed under the Apache License, Version 2.0 (the \"License\");\nyou may not use this file except in compliance with the License.\nYou may obtain a copy of the License at\n\n http://www.apache.org/licenses/LICENSE-2.0\n\nUnless required by applicable law or agreed to in writing, software\ndistributed under the License is distributed on an \"AS IS\" BASIS,\nWITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\nSee the License for the specific language governing permissions and\nlimitations under the License.\n*/\n\nimport {BaseMessageTile} from \"./BaseMessageTile.js\";\n\nexport class MissingAttachmentTile extends BaseMessageTile {\n get shape() {\n return \"missing-attachment\"\n }\n\n get label() {\n const name = this._getContent().body;\n const msgtype = this._getContent().msgtype;\n if (msgtype === \"m.image\") {\n return this.i18n`The image ${name} wasn't fully sent previously and could not be recovered.`;\n } else {\n return this.i18n`The file ${name} wasn't fully sent previously and could not be recovered.`;\n }\n }\n}\n","/*\nCopyright 2020 Bruno Windels \n\nLicensed under the Apache License, Version 2.0 (the \"License\");\nyou may not use this file except in compliance with the License.\nYou may obtain a copy of the License at\n\n http://www.apache.org/licenses/LICENSE-2.0\n\nUnless required by applicable law or agreed to in writing, software\ndistributed under the License is distributed on an \"AS IS\" BASIS,\nWITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\nSee the License for the specific language governing permissions and\nlimitations under the License.\n*/\n\nimport {GapTile} from \"./GapTile.js\";\nimport {TextTile} from \"./TextTile.js\";\nimport {RedactedTile} from \"./RedactedTile.js\";\nimport {ImageTile} from \"./ImageTile.js\";\nimport {VideoTile} from \"./VideoTile.js\";\nimport {FileTile} from \"./FileTile.js\";\nimport {LocationTile} from \"./LocationTile.js\";\nimport {RoomNameTile} from \"./RoomNameTile.js\";\nimport {RoomMemberTile} from \"./RoomMemberTile.js\";\nimport {EncryptedEventTile} from \"./EncryptedEventTile.js\";\nimport {EncryptionEnabledTile} from \"./EncryptionEnabledTile.js\";\nimport {MissingAttachmentTile} from \"./MissingAttachmentTile.js\";\n\nimport type {SimpleTile} from \"./SimpleTile.js\";\nimport type {Room} from \"../../../../../matrix/room/Room\";\nimport type {Timeline} from \"../../../../../matrix/room/timeline/Timeline\";\nimport type {FragmentBoundaryEntry} from \"../../../../../matrix/room/timeline/entries/FragmentBoundaryEntry\";\nimport type {EventEntry} from \"../../../../../matrix/room/timeline/entries/EventEntry\";\nimport type {PendingEventEntry} from \"../../../../../matrix/room/timeline/entries/PendingEventEntry\";\nimport type {Options as ViewModelOptions} from \"../../../../ViewModel\";\n\nexport type TimelineEntry = FragmentBoundaryEntry | EventEntry | PendingEventEntry;\nexport type TileClassForEntryFn = (entry: TimelineEntry) => TileConstructor | undefined;\nexport type Options = ViewModelOptions & {\n room: Room,\n timeline: Timeline\n tileClassForEntry: TileClassForEntryFn;\n};\nexport type TileConstructor = new (entry: TimelineEntry, options: Options) => SimpleTile;\n\nexport function tileClassForEntry(entry: TimelineEntry): TileConstructor | undefined {\n if (entry.isGap) {\n return GapTile;\n } else if (entry.isPending && entry.pendingEvent.isMissingAttachments) {\n return MissingAttachmentTile;\n } else if (entry.eventType) {\n switch (entry.eventType) {\n case \"m.room.message\": {\n if (entry.isRedacted) {\n return RedactedTile;\n }\n const content = entry.content;\n const msgtype = content && content.msgtype;\n switch (msgtype) {\n case \"m.text\":\n case \"m.notice\":\n case \"m.emote\":\n return TextTile;\n case \"m.image\":\n return ImageTile;\n case \"m.video\":\n return VideoTile;\n case \"m.file\":\n return FileTile;\n case \"m.location\":\n return LocationTile;\n default:\n // unknown msgtype not rendered\n return undefined;\n }\n }\n case \"m.room.name\":\n return RoomNameTile;\n case \"m.room.member\":\n return RoomMemberTile;\n case \"m.room.encrypted\":\n if (entry.isRedacted) {\n return RedactedTile;\n }\n return EncryptedEventTile;\n case \"m.room.encryption\":\n return EncryptionEnabledTile;\n default:\n // unknown type not rendered\n return undefined;\n }\n }\n}\n","/*\nCopyright 2020 Bruno Windels \nCopyright 2020 The Matrix.org Foundation C.I.C.\n\nLicensed under the Apache License, Version 2.0 (the \"License\");\nyou may not use this file except in compliance with the License.\nYou may obtain a copy of the License at\n\n http://www.apache.org/licenses/LICENSE-2.0\n\nUnless required by applicable law or agreed to in writing, software\ndistributed under the License is distributed on an \"AS IS\" BASIS,\nWITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\nSee the License for the specific language governing permissions and\nlimitations under the License.\n*/\n\nimport {TimelineViewModel} from \"./timeline/TimelineViewModel.js\";\nimport {ComposerViewModel} from \"./ComposerViewModel.js\"\nimport {avatarInitials, getIdentifierColorNumber, getAvatarHttpUrl} from \"../../avatar\";\nimport {ViewModel} from \"../../ViewModel\";\nimport {imageToInfo} from \"../common.js\";\n// TODO: remove fallback so default isn't included in bundle for SDK users that have their custom tileClassForEntry\n// this is a breaking SDK change though to make this option mandatory\nimport {tileClassForEntry as defaultTileClassForEntry} from \"./timeline/tiles/index\";\nimport {RoomStatus} from \"../../../matrix/room/common\";\n\nexport class RoomViewModel extends ViewModel {\n constructor(options) {\n super(options);\n const {room, tileClassForEntry} = options;\n this._room = room;\n this._timelineVM = null;\n this._tileClassForEntry = tileClassForEntry ?? defaultTileClassForEntry;\n this._tileOptions = undefined;\n this._onRoomChange = this._onRoomChange.bind(this);\n this._timelineError = null;\n this._sendError = null;\n this._composerVM = null;\n if (room.isArchived) {\n this._composerVM = this.track(new ArchivedViewModel(this.childOptions({archivedRoom: room})));\n } else {\n this._recreateComposerOnPowerLevelChange();\n }\n this._clearUnreadTimout = null;\n this._closeUrl = this.urlCreator.urlUntilSegment(\"session\");\n }\n\n async load() {\n this._room.on(\"change\", this._onRoomChange);\n try {\n const timeline = await this._room.openTimeline();\n this._tileOptions = this.childOptions({\n roomVM: this,\n timeline,\n tileClassForEntry: this._tileClassForEntry,\n });\n this._timelineVM = this.track(new TimelineViewModel(this.childOptions({\n tileOptions: this._tileOptions,\n timeline,\n })));\n this.emitChange(\"timelineViewModel\");\n } catch (err) {\n console.error(`room.openTimeline(): ${err.message}:\\n${err.stack}`);\n this._timelineError = err;\n this.emitChange(\"error\");\n }\n this._clearUnreadAfterDelay();\n }\n\n async _recreateComposerOnPowerLevelChange() {\n const powerLevelObservable = await this._room.observePowerLevels();\n const canSendMessage = () => powerLevelObservable.get().canSendType(\"m.room.message\");\n let oldCanSendMessage = canSendMessage();\n const recreateComposer = newCanSendMessage => {\n this._composerVM = this.disposeTracked(this._composerVM);\n if (newCanSendMessage) {\n this._composerVM = this.track(new ComposerViewModel(this));\n }\n else {\n this._composerVM = this.track(new LowerPowerLevelViewModel(this.childOptions()));\n }\n this.emitChange(\"powerLevelObservable\")\n };\n this.track(powerLevelObservable.subscribe(() => {\n const newCanSendMessage = canSendMessage();\n if (oldCanSendMessage !== newCanSendMessage) {\n recreateComposer(newCanSendMessage);\n oldCanSendMessage = newCanSendMessage;\n }\n }));\n recreateComposer(oldCanSendMessage);\n }\n\n async _clearUnreadAfterDelay() {\n if (this._room.isArchived || this._clearUnreadTimout) {\n return;\n }\n this._clearUnreadTimout = this.clock.createTimeout(2000);\n try {\n await this._clearUnreadTimout.elapsed();\n await this._room.clearUnread();\n this._clearUnreadTimout = null;\n } catch (err) {\n if (err.name !== \"AbortError\") {\n throw err;\n }\n }\n }\n\n focus() {\n this._clearUnreadAfterDelay();\n }\n\n dispose() {\n super.dispose();\n this._room.off(\"change\", this._onRoomChange);\n if (this._room.isArchived) {\n this._room.release();\n }\n if (this._clearUnreadTimout) {\n this._clearUnreadTimout.abort();\n this._clearUnreadTimout = null;\n }\n }\n\n // room doesn't tell us yet which fields changed,\n // so emit all fields originating from summary\n _onRoomChange() {\n // propagate the update to the child view models so it's bindings can update based on room changes\n this._composerVM.emitChange();\n this.emitChange();\n }\n\n get kind() { return \"room\"; }\n get closeUrl() { return this._closeUrl; }\n get name() { return this._room.name || this.i18n`Empty Room`; }\n get id() { return this._room.id; }\n get timelineViewModel() { return this._timelineVM; }\n get isEncrypted() { return this._room.isEncrypted; }\n\n get error() {\n if (this._timelineError) {\n return `Something went wrong loading the timeline: ${this._timelineError.message}`;\n }\n if (this._sendError) {\n return `Something went wrong sending your message: ${this._sendError.message}`;\n }\n return \"\";\n }\n\n get avatarLetter() {\n return avatarInitials(this.name);\n }\n\n get avatarColorNumber() {\n return getIdentifierColorNumber(this._room.avatarColorId)\n }\n\n avatarUrl(size) {\n return getAvatarHttpUrl(this._room.avatarUrl, size, this.platform, this._room.mediaRepository);\n }\n\n get avatarTitle() {\n return this.name;\n }\n\n get canLeave() {\n return this._room.isJoined;\n }\n\n leaveRoom() {\n this._room.leave();\n }\n\n get canForget() {\n return this._room.isArchived;\n }\n\n forgetRoom() {\n this._room.forget();\n }\n\n get canRejoin() {\n return this._room.isArchived;\n }\n\n rejoinRoom() {\n this._room.join();\n }\n\n _createTile(entry) {\n if (this._tileOptions) {\n const Tile = this._tileOptions.tileClassForEntry(entry);\n if (Tile) {\n return new Tile(entry, this._tileOptions);\n }\n }\n }\n \n async _processCommandJoin(roomName) {\n try {\n const roomId = await this._options.client.session.joinRoom(roomName);\n const roomStatusObserver = await this._options.client.session.observeRoomStatus(roomId);\n await roomStatusObserver.waitFor(status => status === RoomStatus.Joined);\n this.navigation.push(\"room\", roomId);\n } catch (err) {\n let exc;\n if ((err.statusCode ?? err.status) === 400) {\n exc = new Error(`/join : '${roomName}' was not legal room ID or room alias`);\n } else if ((err.statusCode ?? err.status) === 404 || (err.statusCode ?? err.status) === 502 || err.message == \"Internal Server Error\") {\n exc = new Error(`/join : room '${roomName}' not found`);\n } else if ((err.statusCode ?? err.status) === 403) {\n exc = new Error(`/join : you're not invited to join '${roomName}'`);\n } else {\n exc = err;\n }\n this._sendError = exc;\n this._timelineError = null;\n this.emitChange(\"error\");\n }\n } \n\n async _processCommand (message) {\n let msgtype;\n const [commandName, ...args] = message.substring(1).split(\" \");\n switch (commandName) {\n case \"me\":\n message = args.join(\" \");\n msgtype = \"m.emote\";\n break;\n case \"join\":\n if (args.length === 1) {\n const roomName = args[0];\n await this._processCommandJoin(roomName);\n } else {\n this._sendError = new Error(\"join syntax: /join \");\n this._timelineError = null;\n this.emitChange(\"error\");\n }\n break;\n case \"shrug\":\n message = \"¯\\\\_(ツ)_/¯ \" + args.join(\" \");\n msgtype = \"m.text\";\n break;\n case \"tableflip\":\n message = \"(╯°□°)╯︵ ┻━┻ \" + args.join(\" \");\n msgtype = \"m.text\";\n break;\n case \"unflip\":\n message = \"┬──┬ ノ( ゜-゜ノ) \" + args.join(\" \");\n msgtype = \"m.text\";\n break;\n case \"lenny\":\n message = \"( ͡° ͜ʖ ͡°) \" + args.join(\" \");\n msgtype = \"m.text\";\n break;\n default:\n this._sendError = new Error(`no command name \"${commandName}\". To send the message instead of executing, please type \"/${message}\"`);\n this._timelineError = null;\n this.emitChange(\"error\");\n message = undefined;\n }\n return {type: msgtype, message: message};\n }\n \n async _sendMessage(message, replyingTo) {\n if (!this._room.isArchived && message) {\n let messinfo = {type : \"m.text\", message : message};\n if (message.startsWith(\"//\")) {\n messinfo.message = message.substring(1).trim();\n } else if (message.startsWith(\"/\")) {\n messinfo = await this._processCommand(message);\n }\n try {\n const msgtype = messinfo.type;\n const message = messinfo.message;\n if (msgtype && message) {\n if (replyingTo) {\n await replyingTo.reply(msgtype, message);\n } else {\n await this._room.sendEvent(\"m.room.message\", {msgtype, body: message});\n }\n }\n } catch (err) {\n console.error(`room.sendMessage(): ${err.message}:\\n${err.stack}`);\n this._sendError = err;\n this._timelineError = null;\n this.emitChange(\"error\");\n return false;\n }\n return true;\n }\n return false;\n }\n\n async _pickAndSendFile() {\n try {\n const file = await this.platform.openFile();\n if (!file) {\n return;\n }\n return this._sendFile(file);\n } catch (err) {\n console.error(err);\n }\n }\n\n async _sendFile(file) {\n const content = {\n body: file.name,\n msgtype: \"m.file\"\n };\n await this._room.sendEvent(\"m.room.message\", content, {\n \"url\": this._room.createAttachment(file.blob, file.name)\n });\n }\n\n async _pickAndSendVideo() {\n try {\n if (!this.platform.hasReadPixelPermission()) {\n alert(\"Please allow canvas image data access, so we can scale your images down.\");\n return;\n }\n const file = await this.platform.openFile(\"video/*\");\n if (!file) {\n return;\n }\n if (!file.blob.mimeType.startsWith(\"video/\")) {\n return this._sendFile(file);\n }\n let video;\n try {\n video = await this.platform.loadVideo(file.blob);\n } catch (err) {\n // TODO: extract platform dependent code from view model\n if (err instanceof window.MediaError && err.code === 4) {\n throw new Error(`this browser does not support videos of type ${file?.blob.mimeType}.`);\n } else {\n throw err;\n }\n }\n const content = {\n body: file.name,\n msgtype: \"m.video\",\n info: videoToInfo(video)\n };\n const attachments = {\n \"url\": this._room.createAttachment(video.blob, file.name),\n };\n\n const limit = await this.platform.settingsStorage.getInt(\"sentImageSizeLimit\");\n const maxDimension = limit || Math.min(video.maxDimension, 800);\n const thumbnail = await video.scale(maxDimension);\n content.info.thumbnail_info = imageToInfo(thumbnail);\n attachments[\"info.thumbnail_url\"] = \n this._room.createAttachment(thumbnail.blob, file.name);\n await this._room.sendEvent(\"m.room.message\", content, attachments);\n } catch (err) {\n this._sendError = err;\n this.emitChange(\"error\");\n console.error(err.stack);\n }\n }\n\n async _pickAndSendPicture() {\n try {\n if (!this.platform.hasReadPixelPermission()) {\n alert(\"Please allow canvas image data access, so we can scale your images down.\");\n return;\n }\n const file = await this.platform.openFile(\"image/*\");\n if (!file) {\n return;\n }\n if (!file.blob.mimeType.startsWith(\"image/\")) {\n return this._sendFile(file);\n }\n let image = await this.platform.loadImage(file.blob);\n const limit = await this.platform.settingsStorage.getInt(\"sentImageSizeLimit\");\n if (limit && image.maxDimension > limit) {\n const scaledImage = await image.scale(limit);\n image.dispose();\n image = scaledImage;\n }\n const content = {\n body: file.name,\n msgtype: \"m.image\",\n info: imageToInfo(image)\n };\n const attachments = {\n \"url\": this._room.createAttachment(image.blob, file.name),\n };\n if (image.maxDimension > 600) {\n const thumbnail = await image.scale(400);\n content.info.thumbnail_info = imageToInfo(thumbnail);\n attachments[\"info.thumbnail_url\"] = \n this._room.createAttachment(thumbnail.blob, file.name);\n }\n await this._room.sendEvent(\"m.room.message\", content, attachments);\n } catch (err) {\n this._sendError = err;\n this.emitChange(\"error\");\n console.error(err.stack);\n }\n }\n\n get room() {\n return this._room;\n }\n\n get composerViewModel() {\n return this._composerVM;\n }\n\n openDetailsPanel() {\n let path = this.navigation.path.until(\"room\");\n path = path.with(this.navigation.segment(\"right-panel\", true));\n path = path.with(this.navigation.segment(\"details\", true));\n this.navigation.applyPath(path);\n }\n\n startReply(entry) {\n if (!this._room.isArchived) {\n this._composerVM.setReplyingTo(entry);\n }\n }\n \n dismissError() {\n this._sendError = null;\n this.emitChange(\"error\");\n }\n}\n\nfunction videoToInfo(video) {\n const info = imageToInfo(video);\n info.duration = video.duration;\n return info;\n}\n\nclass ArchivedViewModel extends ViewModel {\n constructor(options) {\n super(options);\n this._archivedRoom = options.archivedRoom;\n }\n\n get description() {\n if (this._archivedRoom.isKicked) {\n if (this._archivedRoom.kickReason) {\n return this.i18n`You were kicked from the room by ${this._archivedRoom.kickedBy.name} because: ${this._archivedRoom.kickReason}`;\n } else {\n return this.i18n`You were kicked from the room by ${this._archivedRoom.kickedBy.name}.`;\n }\n } else if (this._archivedRoom.isBanned) {\n if (this._archivedRoom.kickReason) {\n return this.i18n`You were banned from the room by ${this._archivedRoom.kickedBy.name} because: ${this._archivedRoom.kickReason}`;\n } else {\n return this.i18n`You were banned from the room by ${this._archivedRoom.kickedBy.name}.`;\n }\n } else {\n return this.i18n`You left this room`;\n }\n }\n\n get kind() {\n return \"disabled\";\n }\n}\n\nclass LowerPowerLevelViewModel extends ViewModel {\n get description() {\n return this.i18n`You do not have the powerlevel necessary to send messages`;\n }\n\n get kind() {\n return \"disabled\";\n }\n}\n","/*\nCopyright 2021 The Matrix.org Foundation C.I.C.\n\nLicensed under the Apache License, Version 2.0 (the \"License\");\nyou may not use this file except in compliance with the License.\nYou may obtain a copy of the License at\n\n http://www.apache.org/licenses/LICENSE-2.0\n\nUnless required by applicable law or agreed to in writing, software\ndistributed under the License is distributed on an \"AS IS\" BASIS,\nWITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\nSee the License for the specific language governing permissions and\nlimitations under the License.\n*/\n\nimport {ViewModel} from \"../../ViewModel\";\n\nexport class UnknownRoomViewModel extends ViewModel {\n constructor(options) {\n super(options);\n const {roomIdOrAlias, session} = options;\n this._session = session;\n this.roomIdOrAlias = roomIdOrAlias;\n this._error = null;\n this._busy = false;\n }\n\n get error() {\n return this._error?.message;\n }\n\n async join() {\n this._busy = true;\n this.emitChange(\"busy\");\n try {\n const roomId = await this._session.joinRoom(this.roomIdOrAlias);\n // navigate to roomId if we were at the alias\n // so we're subscribed to the right room status\n // and we'll switch to the room view model once\n // the join is synced\n this.navigation.push(\"room\", roomId);\n // keep busy on true while waiting for the join to sync\n } catch (err) {\n this._error = err;\n this._busy = false;\n this.emitChange(\"error\");\n }\n }\n\n get busy() {\n return this._busy;\n }\n\n get kind() {\n return \"unknown\";\n }\n}\n","/*\nCopyright 2020 Bruno Windels \nCopyright 2020, 2021 The Matrix.org Foundation C.I.C.\n\nLicensed under the Apache License, Version 2.0 (the \"License\");\nyou may not use this file except in compliance with the License.\nYou may obtain a copy of the License at\n\n http://www.apache.org/licenses/LICENSE-2.0\n\nUnless required by applicable law or agreed to in writing, software\ndistributed under the License is distributed on an \"AS IS\" BASIS,\nWITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\nSee the License for the specific language governing permissions and\nlimitations under the License.\n*/\n\nimport {avatarInitials, getIdentifierColorNumber, getAvatarHttpUrl} from \"../../avatar\";\nimport {ViewModel} from \"../../ViewModel\";\n\nexport class InviteViewModel extends ViewModel {\n constructor(options) {\n super(options);\n const {invite, mediaRepository} = options;\n this._invite = invite;\n this._mediaRepository = mediaRepository;\n this._onInviteChange = this._onInviteChange.bind(this);\n this._error = null;\n this._closeUrl = this.urlCreator.urlUntilSegment(\"session\");\n this._invite.on(\"change\", this._onInviteChange);\n this._inviter = null;\n if (this._invite.inviter) {\n this._inviter = new RoomMemberViewModel(this._invite.inviter, mediaRepository, this.platform);\n }\n this._roomDescription = this._createRoomDescription();\n }\n\n get kind() { return \"invite\"; }\n get closeUrl() { return this._closeUrl; }\n get name() { return this._invite.name; }\n get id() { return this._invite.id; }\n get isEncrypted() { return this._invite.isEncrypted; }\n get isDirectMessage() { return this._invite.isDirectMessage; }\n get inviter() { return this._inviter; }\n get busy() { return this._invite.accepting || this._invite.rejecting; }\n\n get error() {\n if (this._error) {\n return `Something went wrong: ${this._error.message}`;\n }\n return \"\";\n }\n\n get avatarLetter() {\n return avatarInitials(this.name);\n }\n\n get avatarColorNumber() {\n return getIdentifierColorNumber(this._invite.avatarColorId)\n }\n\n avatarUrl(size) {\n return getAvatarHttpUrl(this._invite.avatarUrl, size, this.platform, this._mediaRepository);\n }\n\n _createRoomDescription() {\n const parts = [];\n if (this._invite.isPublic) {\n parts.push(\"Public room\");\n } else {\n parts.push(\"Private room\");\n }\n\n if (this._invite.canonicalAlias) {\n parts.push(this._invite.canonicalAlias);\n }\n return parts.join(\" • \")\n }\n\n get roomDescription() {\n return this._roomDescription;\n }\n\n get avatarTitle() {\n return this.name;\n }\n\n focus() {}\n\n async accept() {\n try {\n await this._invite.accept();\n } catch (err) {\n this._error = err;\n this.emitChange(\"error\");\n }\n }\n\n async reject() {\n try {\n await this._invite.reject();\n } catch (err) {\n this._error = err;\n this.emitChange(\"error\");\n }\n }\n\n _onInviteChange() {\n this.emitChange();\n }\n\n dispose() {\n super.dispose();\n this._invite.off(\"change\", this._onInviteChange);\n }\n}\n\nclass RoomMemberViewModel {\n constructor(member, mediaRepository, platform) {\n this._member = member;\n this._mediaRepository = mediaRepository;\n this._platform = platform;\n }\n\n get id() {\n return this._member.userId;\n }\n\n get name() {\n return this._member.name;\n }\n\n get avatarLetter() {\n return avatarInitials(this.name);\n }\n\n get avatarColorNumber() {\n return getIdentifierColorNumber(this._member.userId);\n }\n\n avatarUrl(size) {\n return getAvatarHttpUrl(this._member.avatarUrl, size, this._platform, this._mediaRepository);\n }\n\n get avatarTitle() {\n return this.name;\n }\n}\n","/*\nCopyright 2020 Bruno Windels \nCopyright 2020, 2021 The Matrix.org Foundation C.I.C.\n\nLicensed under the Apache License, Version 2.0 (the \"License\");\nyou may not use this file except in compliance with the License.\nYou may obtain a copy of the License at\n\n http://www.apache.org/licenses/LICENSE-2.0\n\nUnless required by applicable law or agreed to in writing, software\ndistributed under the License is distributed on an \"AS IS\" BASIS,\nWITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\nSee the License for the specific language governing permissions and\nlimitations under the License.\n*/\n\nimport {avatarInitials, getIdentifierColorNumber, getAvatarHttpUrl} from \"../../avatar\";\nimport {ViewModel} from \"../../ViewModel\";\n\nexport class RoomBeingCreatedViewModel extends ViewModel {\n constructor(options) {\n super(options);\n const {roomBeingCreated, mediaRepository} = options;\n this._roomBeingCreated = roomBeingCreated;\n this._mediaRepository = mediaRepository;\n this._onRoomChange = this._onRoomChange.bind(this);\n this._closeUrl = this.urlCreator.urlUntilSegment(\"session\");\n this._roomBeingCreated.on(\"change\", this._onRoomChange);\n }\n\n get kind() { return \"roomBeingCreated\"; }\n get closeUrl() { return this._closeUrl; }\n get name() { return this._roomBeingCreated.name; }\n get id() { return this._roomBeingCreated.id; }\n get isEncrypted() { return this._roomBeingCreated.isEncrypted; }\n get error() {\n const {error} = this._roomBeingCreated;\n if (error) {\n if (error.name === \"ConnectionError\") {\n return this.i18n`You seem to be offline`;\n } else {\n return error.message;\n }\n }\n return \"\";\n }\n get avatarLetter() { return avatarInitials(this.name); }\n get avatarColorNumber() { return getIdentifierColorNumber(this._roomBeingCreated.avatarColorId); }\n get avatarTitle() { return this.name; }\n\n avatarUrl(size) {\n // allow blob url which doesn't need mxc => http resolution\n return this._roomBeingCreated.avatarBlobUrl ??\n getAvatarHttpUrl(this._roomBeingCreated.avatarUrl, size, this.platform, this._mediaRepository);\n }\n\n focus() {}\n\n _onRoomChange() {\n this.emitChange();\n }\n\n cancel() {\n this._roomBeingCreated.cancel();\n // navigate away from the room\n this.navigation.applyPath(this.navigation.path.until(\"session\"));\n }\n\n dispose() {\n super.dispose();\n this._roomBeingCreated.off(\"change\", this._onRoomChange);\n }\n}\n\n","/*\nCopyright 2020 The Matrix.org Foundation C.I.C.\n\nLicensed under the Apache License, Version 2.0 (the \"License\");\nyou may not use this file except in compliance with the License.\nYou may obtain a copy of the License at\n\n http://www.apache.org/licenses/LICENSE-2.0\n\nUnless required by applicable law or agreed to in writing, software\ndistributed under the License is distributed on an \"AS IS\" BASIS,\nWITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\nSee the License for the specific language governing permissions and\nlimitations under the License.\n*/\n\nimport {ViewModel} from \"../../ViewModel\";\n\nexport class LightboxViewModel extends ViewModel {\n constructor(options) {\n super(options);\n this._eventId = options.eventId;\n this._unencryptedImageUrl = null;\n this._decryptedImage = null;\n this._closeUrl = this.urlCreator.urlUntilSegment(\"room\");\n this._eventEntry = null;\n this._date = null;\n this._subscribeToEvent(options.room, options.eventId);\n }\n\n _subscribeToEvent(room, eventId) {\n const eventObservable = room.observeEvent(eventId);\n this.track(eventObservable.subscribe(eventEntry => {\n this._loadEvent(room, eventEntry);\n }));\n this._loadEvent(room, eventObservable.get());\n }\n\n async _loadEvent(room, eventEntry) {\n if (!eventEntry) {\n return;\n }\n const {mediaRepository} = room;\n this._eventEntry = eventEntry;\n const {content} = this._eventEntry;\n this._date = this._eventEntry.timestamp ? new Date(this._eventEntry.timestamp) : null;\n if (content.url) {\n this._unencryptedImageUrl = mediaRepository.mxcUrl(content.url);\n this.emitChange(\"imageUrl\");\n } else if (content.file) {\n this._decryptedImage = this.track(await mediaRepository.downloadEncryptedFile(content.file));\n this.emitChange(\"imageUrl\");\n }\n }\n\n get imageWidth() {\n return this._eventEntry?.content?.info?.w;\n }\n\n get imageHeight() {\n return this._eventEntry?.content?.info?.h;\n }\n\n get name() {\n return this._eventEntry?.content?.body;\n }\n\n get sender() {\n return this._eventEntry?.displayName;\n }\n\n get imageUrl() {\n if (this._decryptedImage) {\n return this._decryptedImage.url;\n } else if (this._unencryptedImageUrl) {\n return this._unencryptedImageUrl;\n } else {\n return \"\";\n }\n }\n\n get date() {\n return this._date && this._date.toLocaleDateString({}, { weekday: 'long', year: 'numeric', month: 'long', day: 'numeric' });\n }\n\n get time() {\n return this._date && this._date.toLocaleTimeString({}, {hour: \"numeric\", minute: \"2-digit\"});\n }\n\n get closeUrl() {\n return this._closeUrl;\n }\n\n close() {\n this.platform.history.pushUrl(this.closeUrl);\n }\n}\n","/*\nCopyright 2020 Bruno Windels \n\nLicensed under the Apache License, Version 2.0 (the \"License\");\nyou may not use this file except in compliance with the License.\nYou may obtain a copy of the License at\n\n http://www.apache.org/licenses/LICENSE-2.0\n\nUnless required by applicable law or agreed to in writing, software\ndistributed under the License is distributed on an \"AS IS\" BASIS,\nWITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\nSee the License for the specific language governing permissions and\nlimitations under the License.\n*/\n\nimport {ViewModel} from \"../ViewModel\";\nimport {createEnum} from \"../../utils/enum\";\nimport {ConnectionStatus} from \"../../matrix/net/Reconnector\";\nimport {SyncStatus} from \"../../matrix/Sync.js\";\n\nconst SessionStatus = createEnum(\n \"Disconnected\",\n \"Connecting\",\n \"FirstSync\",\n \"Sending\",\n \"Syncing\",\n \"SyncError\"\n);\n\nexport class SessionStatusViewModel extends ViewModel {\n constructor(options) {\n super(options);\n const {sync, reconnector, session} = options;\n this._sync = sync;\n this._reconnector = reconnector;\n this._status = this._calculateState(reconnector.connectionStatus.get(), sync.status.get());\n this._session = session;\n this._setupKeyBackupUrl = this.urlCreator.urlForSegment(\"settings\");\n this._dismissSecretStorage = false;\n }\n\n start() {\n const update = () => this._updateStatus();\n this.track(this._sync.status.subscribe(update));\n this.track(this._reconnector.connectionStatus.subscribe(update));\n this.track(this._session.needsKeyBackup.subscribe(() => {\n this.emitChange();\n }));\n }\n\n get setupKeyBackupUrl () {\n return this._setupKeyBackupUrl;\n }\n\n get isShown() {\n return (this._session.needsKeyBackup.get() && !this._dismissSecretStorage) || this._status !== SessionStatus.Syncing;\n }\n\n get statusLabel() {\n switch (this._status) {\n case SessionStatus.Disconnected:{\n const retryIn = Math.round(this._reconnector.retryIn / 1000);\n return this.i18n`Disconnected, trying to reconnect in ${retryIn}s…`;\n }\n case SessionStatus.Connecting:\n return this.i18n`Trying to reconnect now…`;\n case SessionStatus.FirstSync:\n return this.i18n`Catching up with your conversations…`;\n case SessionStatus.SyncError:\n return this.i18n`Sync failed because of ${this._sync.error}`;\n }\n if (this._session.needsKeyBackup.get()) {\n return this.i18n`Set up session backup to decrypt older messages.`;\n }\n return \"\";\n }\n\n get isWaiting() {\n switch (this._status) {\n case SessionStatus.Connecting:\n case SessionStatus.FirstSync:\n return true;\n default:\n return false;\n }\n }\n\n _updateStatus() {\n const newStatus = this._calculateState(\n this._reconnector.connectionStatus.get(),\n this._sync.status.get()\n );\n if (newStatus !== this._status) {\n if (newStatus === SessionStatus.Disconnected) {\n this._retryTimer = this.track(this.clock.createInterval(() => {\n this.emitChange(\"statusLabel\");\n }, 1000));\n } else {\n this._retryTimer = this.disposeTracked(this._retryTimer);\n }\n this._status = newStatus;\n this.emitChange();\n }\n }\n\n _calculateState(connectionStatus, syncStatus) {\n if (connectionStatus !== ConnectionStatus.Online) {\n switch (connectionStatus) {\n case ConnectionStatus.Reconnecting:\n return SessionStatus.Connecting;\n case ConnectionStatus.Waiting:\n return SessionStatus.Disconnected;\n }\n } else if (syncStatus !== SyncStatus.Syncing) {\n switch (syncStatus) {\n // InitialSync should be awaited in the SessionLoadViewModel,\n // but include it here anyway\n case SyncStatus.InitialSync:\n case SyncStatus.CatchupSync:\n return SessionStatus.FirstSync;\n case SyncStatus.Stopped:\n return SessionStatus.SyncError;\n }\n } /* else if (session.pendingMessageCount) {\n return SessionStatus.Sending;\n } */ else {\n return SessionStatus.Syncing;\n }\n }\n\n get isConnectNowShown() {\n return this._status === SessionStatus.Disconnected;\n }\n\n get isSecretStorageShown() {\n // TODO: we need a model here where we can have multiple messages queued up and their buttons don't bleed into each other.\n return this._status === SessionStatus.Syncing && this._session.needsKeyBackup.get() && !this._dismissSecretStorage;\n }\n\n get canDismiss() {\n return this.isSecretStorageShown;\n }\n\n dismiss() {\n if (this.isSecretStorageShown) {\n this._dismissSecretStorage = true;\n this.emitChange();\n }\n }\n\n connectNow() {\n if (this.isConnectNowShown) {\n this._reconnector.tryNow();\n }\n }\n}\n","/*\nCopyright 2020 The Matrix.org Foundation C.I.C.\n\nLicensed under the Apache License, Version 2.0 (the \"License\");\nyou may not use this file except in compliance with the License.\nYou may obtain a copy of the License at\n\n http://www.apache.org/licenses/LICENSE-2.0\n\nUnless required by applicable law or agreed to in writing, software\ndistributed under the License is distributed on an \"AS IS\" BASIS,\nWITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\nSee the License for the specific language governing permissions and\nlimitations under the License.\n*/\n\nimport {ViewModel} from \"../ViewModel\";\nimport {addPanelIfNeeded} from \"../navigation/index\";\n\nfunction dedupeSparse(roomIds) {\n return roomIds.map((id, idx) => {\n if (roomIds.slice(0, idx).includes(id)) {\n return undefined;\n } else {\n return id;\n }\n });\n}\n\nexport class RoomGridViewModel extends ViewModel {\n constructor(options) {\n super(options);\n\n this._width = options.width;\n this._height = options.height;\n this._createRoomViewModelObservable = options.createRoomViewModelObservable;\n this._selectedIndex = 0;\n this._viewModelsObservables = [];\n this._setupNavigation();\n }\n\n _setupNavigation() {\n const focusTileIndex = this.navigation.observe(\"empty-grid-tile\");\n this.track(focusTileIndex.subscribe(index => {\n if (typeof index === \"number\") {\n this._setFocusIndex(index);\n }\n }));\n if (typeof focusTileIndex.get() === \"number\") {\n this._selectedIndex = focusTileIndex.get();\n }\n\n const focusedRoom = this.navigation.observe(\"room\");\n this.track(focusedRoom.subscribe(roomId => {\n if (roomId) {\n // as the room will be in the \"rooms\" observable\n // (monitored by the parent vmo) as well,\n // we only change the focus here and trust\n // setRoomIds to have created the vmo already\n this._setFocusRoom(roomId);\n }\n }));\n // initial focus for a room is set by initializeRoomIdsAndTransferVM\n }\n\n roomViewModelAt(i) {\n return this._viewModelsObservables[i]?.get();\n }\n\n get focusIndex() {\n return this._selectedIndex;\n }\n\n get width() {\n return this._width;\n }\n\n get height() {\n return this._height;\n }\n\n _switchToRoom(roomId) {\n let path = this.navigation.path.until(\"rooms\");\n path = path.with(this.navigation.segment(\"room\", roomId));\n path = addPanelIfNeeded(this.navigation, path);\n this.navigation.applyPath(path);\n }\n\n focusTile(index) {\n if (index === this._selectedIndex) {\n return;\n }\n const vmo = this._viewModelsObservables[index];\n if (vmo) {\n this._switchToRoom(vmo.id);\n } else {\n this.navigation.push(\"empty-grid-tile\", index);\n }\n }\n\n /** called from SessionViewModel */\n initializeRoomIdsAndTransferVM(roomIds, existingRoomVM) {\n roomIds = dedupeSparse(roomIds);\n let transfered = false;\n if (existingRoomVM) {\n const index = roomIds.indexOf(existingRoomVM.id);\n if (index !== -1) {\n this._viewModelsObservables[index] = this.track(existingRoomVM);\n existingRoomVM.subscribe(viewModel => this._refreshRoomViewModel(viewModel));\n transfered = true;\n }\n }\n this.setRoomIds(roomIds);\n // now all view models exist, set the focus to the selected room\n const focusedRoom = this.navigation.path.get(\"room\");\n if (focusedRoom) {\n const index = this._viewModelsObservables.findIndex(vmo => vmo && vmo.id === focusedRoom.value);\n if (index !== -1) {\n this._selectedIndex = index;\n }\n }\n return transfered;\n }\n\n /** called from SessionViewModel */\n setRoomIds(roomIds) {\n roomIds = dedupeSparse(roomIds);\n let changed = false;\n const len = this._height * this._width;\n for (let i = 0; i < len; i += 1) {\n const newId = roomIds[i];\n const vmo = this._viewModelsObservables[i];\n // did anything change?\n if ((!vmo && newId) || (vmo && vmo.id !== newId)) {\n if (vmo) {\n this._viewModelsObservables[i] = this.disposeTracked(vmo);\n }\n if (newId) {\n const vmo = this._createRoomViewModelObservable(newId);\n this._viewModelsObservables[i] = this.track(vmo);\n vmo.subscribe(viewModel => this._refreshRoomViewModel(viewModel));\n vmo.initialize();\n }\n changed = true;\n }\n }\n if (changed) {\n this.emitChange();\n }\n return changed;\n }\n\n _refreshRoomViewModel(viewModel) {\n this.emitChange();\n viewModel?.focus();\n }\n\n /** called from SessionViewModel */\n releaseRoomViewModel(roomId) {\n const index = this._viewModelsObservables.findIndex(vmo => vmo && vmo.id === roomId);\n if (index !== -1) {\n const vmo = this._viewModelsObservables[index];\n this.untrack(vmo);\n vmo.unsubscribeAll();\n this._viewModelsObservables[index] = null;\n return vmo;\n }\n }\n\n _setFocusIndex(idx) {\n if (idx === this._selectedIndex || idx >= (this._width * this._height)) {\n return;\n }\n this._selectedIndex = idx;\n const vmo = this._viewModelsObservables[this._selectedIndex];\n vmo?.get()?.focus();\n this.emitChange(\"focusIndex\");\n }\n\n _setFocusRoom(roomId) {\n const index = this._viewModelsObservables.findIndex(vmo => vmo?.id === roomId);\n if (index >= 0) {\n this._setFocusIndex(index);\n }\n }\n}\n\nimport {createNavigation} from \"../navigation/index\";\nimport {ObservableValue} from \"../../observable/ObservableValue\";\n\nexport function tests() { \n class RoomVMMock {\n constructor(id) {\n this.id = id;\n this.disposed = false;\n this.focused = false;\n }\n dispose() {\n this.disposed = true;\n }\n focus() {\n this.focused = true;\n }\n }\n\n class RoomViewModelObservableMock extends ObservableValue {\n async initialize() {}\n dispose() { this.get()?.dispose(); }\n get id() { return this.get()?.id; }\n }\n\n function createNavigationForRoom(rooms, room) {\n const navigation = createNavigation();\n navigation.applyPath(navigation.pathFrom([\n navigation.segment(\"session\", \"1\"),\n navigation.segment(\"rooms\", rooms),\n navigation.segment(\"room\", room),\n ]));\n return navigation;\n }\n\n function createNavigationForEmptyTile(rooms, idx) {\n const navigation = createNavigation();\n navigation.applyPath(navigation.pathFrom([\n navigation.segment(\"session\", \"1\"),\n navigation.segment(\"rooms\", rooms),\n navigation.segment(\"empty-grid-tile\", idx),\n ]));\n return navigation;\n }\n\n return {\n \"initialize with duplicate set of rooms\": assert => {\n const navigation = createNavigationForRoom([\"c\", \"a\", \"b\", undefined, \"a\"], \"a\");\n const gridVM = new RoomGridViewModel({\n createRoomViewModelObservable: id => new RoomViewModelObservableMock(new RoomVMMock(id)),\n navigation,\n width: 3,\n height: 2,\n });\n gridVM.initializeRoomIdsAndTransferVM(navigation.path.get(\"rooms\").value);\n assert.equal(gridVM.focusIndex, 1);\n assert.equal(gridVM.roomViewModelAt(0).id, \"c\");\n assert.equal(gridVM.roomViewModelAt(1).id, \"a\");\n assert.equal(gridVM.roomViewModelAt(2).id, \"b\");\n assert.equal(gridVM.roomViewModelAt(3), undefined);\n assert.equal(gridVM.roomViewModelAt(4), undefined);\n assert.equal(gridVM.roomViewModelAt(5), undefined);\n },\n \"transfer room view model\": assert => {\n const navigation = createNavigationForRoom([\"a\"], \"a\");\n const gridVM = new RoomGridViewModel({\n createRoomViewModelObservable: () => assert.fail(\"no vms should be created\"),\n navigation,\n width: 3,\n height: 2,\n });\n const existingRoomVM = new RoomViewModelObservableMock(new RoomVMMock(\"a\"));\n const transfered = gridVM.initializeRoomIdsAndTransferVM(navigation.path.get(\"rooms\").value, existingRoomVM);\n assert.equal(transfered, true);\n assert.equal(gridVM.focusIndex, 0);\n assert.equal(gridVM.roomViewModelAt(0).id, \"a\");\n },\n \"reject transfer for non-matching room view model\": assert => {\n const navigation = createNavigationForRoom([\"a\"], \"a\");\n const gridVM = new RoomGridViewModel({\n createRoomViewModelObservable: id => new RoomViewModelObservableMock(new RoomVMMock(id)),\n navigation,\n width: 3,\n height: 2,\n });\n const existingRoomVM = new RoomViewModelObservableMock(new RoomVMMock(\"f\"));\n const transfered = gridVM.initializeRoomIdsAndTransferVM(navigation.path.get(\"rooms\").value, existingRoomVM);\n assert.equal(transfered, false);\n assert.equal(gridVM.focusIndex, 0);\n assert.equal(gridVM.roomViewModelAt(0).id, \"a\");\n },\n \"created & released room view model is not disposed\": assert => {\n const navigation = createNavigationForRoom([\"a\"], \"a\");\n const gridVM = new RoomGridViewModel({\n createRoomViewModelObservable: id => new RoomViewModelObservableMock(new RoomVMMock(id)),\n navigation,\n width: 3,\n height: 2,\n });\n const transfered = gridVM.initializeRoomIdsAndTransferVM(navigation.path.get(\"rooms\").value);\n assert.equal(transfered, false);\n const releasedVM = gridVM.releaseRoomViewModel(\"a\");\n gridVM.dispose();\n assert.equal(releasedVM.get().disposed, false);\n },\n \"transfered & released room view model is not disposed\": assert => {\n const navigation = createNavigationForRoom([undefined, \"a\"], \"a\");\n const gridVM = new RoomGridViewModel({\n createRoomViewModelObservable: () => assert.fail(\"no vms should be created\"),\n navigation,\n width: 3,\n height: 2,\n });\n const existingRoomVM = new RoomViewModelObservableMock(new RoomVMMock(\"a\"));\n const transfered = gridVM.initializeRoomIdsAndTransferVM(navigation.path.get(\"rooms\").value, existingRoomVM);\n assert.equal(transfered, true);\n const releasedVM = gridVM.releaseRoomViewModel(\"a\");\n gridVM.dispose();\n assert.equal(releasedVM.get().disposed, false);\n },\n \"try release non-existing room view model is\": assert => {\n const navigation = createNavigationForEmptyTile([undefined, \"b\"], 3);\n const gridVM = new RoomGridViewModel({\n createRoomViewModelObservable: id => new RoomViewModelObservableMock(new RoomVMMock(id)),\n navigation,\n width: 3,\n height: 2,\n });\n gridVM.initializeRoomIdsAndTransferVM(navigation.path.get(\"rooms\").value);\n const releasedVM = gridVM.releaseRoomViewModel(\"c\");\n assert(!releasedVM);\n },\n \"initial focus is set to empty tile\": assert => {\n const navigation = createNavigationForEmptyTile([\"a\"], 1);\n const gridVM = new RoomGridViewModel({\n createRoomViewModelObservable: id => new RoomViewModelObservableMock(new RoomVMMock(id)),\n navigation,\n width: 3,\n height: 2,\n });\n gridVM.initializeRoomIdsAndTransferVM(navigation.path.get(\"rooms\").value);\n assert.equal(gridVM.focusIndex, 1);\n assert.equal(gridVM.roomViewModelAt(0).id, \"a\");\n },\n \"change room ids after creation\": assert => {\n const navigation = createNavigationForRoom([\"a\", \"b\"], \"a\");\n const gridVM = new RoomGridViewModel({\n createRoomViewModelObservable: id => new RoomViewModelObservableMock(new RoomVMMock(id)),\n navigation,\n width: 3,\n height: 2,\n });\n navigation.observe(\"rooms\").subscribe(roomIds => {\n gridVM.setRoomIds(roomIds);\n });\n gridVM.initializeRoomIdsAndTransferVM(navigation.path.get(\"rooms\").value);\n const oldA = gridVM.roomViewModelAt(0);\n const oldB = gridVM.roomViewModelAt(1);\n assert.equal(oldA.id, \"a\");\n assert.equal(oldB.id, \"b\");\n navigation.applyPath(navigation.path\n .with(navigation.segment(\"rooms\", [\"b\", \"c\", \"b\"]))\n .with(navigation.segment(\"room\", \"c\"))\n );\n assert.equal(oldA.disposed, true);\n assert.equal(oldB.disposed, true);\n assert.equal(gridVM.focusIndex, 1);\n assert.equal(gridVM.roomViewModelAt(0).id, \"b\");\n assert.equal(gridVM.roomViewModelAt(0).disposed, false);\n assert.equal(gridVM.roomViewModelAt(1).id, \"c\");\n assert.equal(gridVM.roomViewModelAt(1).focused, true);\n assert.equal(gridVM.roomViewModelAt(2), undefined);\n }\n };\n}\n","/*\nCopyright 2020 The Matrix.org Foundation C.I.C.\n\nLicensed under the Apache License, Version 2.0 (the \"License\");\nyou may not use this file except in compliance with the License.\nYou may obtain a copy of the License at\n\n http://www.apache.org/licenses/LICENSE-2.0\n\nUnless required by applicable law or agreed to in writing, software\ndistributed under the License is distributed on an \"AS IS\" BASIS,\nWITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\nSee the License for the specific language governing permissions and\nlimitations under the License.\n*/\n\nimport {ViewModel} from \"../../ViewModel\";\nimport {KeyType} from \"../../../matrix/ssss/index\";\nimport {createEnum} from \"../../../utils/enum\";\n\nexport const Status = createEnum(\"Enabled\", \"SetupKey\", \"SetupPhrase\", \"Pending\", \"NewVersionAvailable\"); \nexport const BackupWriteStatus = createEnum(\"Writing\", \"Stopped\", \"Done\", \"Pending\"); \n\nexport class KeyBackupViewModel extends ViewModel {\n constructor(options) {\n super(options);\n this._session = options.session;\n this._error = null;\n this._isBusy = false;\n this._dehydratedDeviceId = undefined;\n this._status = undefined;\n this._backupOperation = this._session.keyBackup.flatMap(keyBackup => keyBackup.operationInProgress);\n this._progress = this._backupOperation.flatMap(op => op.progress);\n this.track(this._backupOperation.subscribe(() => {\n // see if needsNewKey might be set\n this._reevaluateStatus();\n this.emitChange(\"isBackingUp\");\n }));\n this.track(this._progress.subscribe(() => this.emitChange(\"backupPercentage\")));\n this._reevaluateStatus();\n this.track(this._session.keyBackup.subscribe(() => {\n if (this._reevaluateStatus()) {\n this.emitChange(\"status\");\n }\n }));\n }\n\n _reevaluateStatus() {\n if (this._isBusy) {\n return false;\n }\n let status;\n const keyBackup = this._session.keyBackup.get();\n if (keyBackup) {\n status = keyBackup.needsNewKey ? Status.NewVersionAvailable : Status.Enabled;\n } else if (keyBackup === null) {\n status = this.showPhraseSetup() ? Status.SetupPhrase : Status.SetupKey;\n } else {\n status = Status.Pending;\n }\n const changed = status !== this._status;\n this._status = status;\n return changed;\n }\n\n get decryptAction() {\n return this.i18n`Set up`;\n }\n\n get purpose() {\n return this.i18n`set up key backup`;\n }\n\n offerDehydratedDeviceSetup() {\n return true;\n }\n\n get dehydratedDeviceId() {\n return this._dehydratedDeviceId;\n }\n \n get isBusy() {\n return this._isBusy;\n }\n\n get backupVersion() {\n return this._session.keyBackup.get()?.version;\n }\n\n get backupWriteStatus() {\n const keyBackup = this._session.keyBackup.get();\n if (!keyBackup) {\n return BackupWriteStatus.Pending;\n } else if (keyBackup.hasStopped) {\n return BackupWriteStatus.Stopped;\n }\n const operation = keyBackup.operationInProgress.get();\n if (operation) {\n return BackupWriteStatus.Writing;\n } else if (keyBackup.hasBackedUpAllKeys) {\n return BackupWriteStatus.Done;\n } else {\n return BackupWriteStatus.Pending;\n }\n }\n\n get backupError() {\n return this._session.keyBackup.get()?.error?.message;\n }\n\n get status() {\n return this._status;\n }\n\n get error() {\n return this._error?.message;\n }\n\n showPhraseSetup() {\n if (this._status === Status.SetupKey) {\n this._status = Status.SetupPhrase;\n this.emitChange(\"status\");\n }\n }\n\n showKeySetup() {\n if (this._status === Status.SetupPhrase) {\n this._status = Status.SetupKey;\n this.emitChange(\"status\");\n }\n }\n\n async _enterCredentials(keyType, credential, setupDehydratedDevice) {\n if (credential) {\n try {\n this._isBusy = true;\n this.emitChange(\"isBusy\");\n const key = await this._session.enableSecretStorage(keyType, credential);\n if (setupDehydratedDevice) {\n this._dehydratedDeviceId = await this._session.setupDehydratedDevice(key);\n }\n } catch (err) {\n console.error(err);\n this._error = err;\n this.emitChange(\"error\");\n } finally {\n this._isBusy = false;\n this._reevaluateStatus();\n this.emitChange(\"\");\n }\n }\n }\n\n enterSecurityPhrase(passphrase, setupDehydratedDevice) {\n this._enterCredentials(KeyType.Passphrase, passphrase, setupDehydratedDevice);\n }\n\n enterSecurityKey(securityKey, setupDehydratedDevice) {\n this._enterCredentials(KeyType.RecoveryKey, securityKey, setupDehydratedDevice);\n }\n\n async disable() {\n try {\n this._isBusy = true;\n this.emitChange(\"isBusy\");\n await this._session.disableSecretStorage();\n } catch (err) {\n console.error(err);\n this._error = err;\n this.emitChange(\"error\");\n } finally {\n this._isBusy = false;\n this._reevaluateStatus();\n this.emitChange(\"\");\n }\n }\n\n get isBackingUp() {\n return !!this._backupOperation.get();\n }\n\n get backupPercentage() {\n const progress = this._progress.get();\n if (progress) {\n return Math.round((progress.finished / progress.total) * 100);\n }\n return 0;\n }\n\n get backupInProgressLabel() {\n const progress = this._progress.get();\n if (progress) {\n return this.i18n`${progress.finished} of ${progress.total}`;\n }\n return this.i18n`…`;\n }\n\n cancelBackup() {\n this._backupOperation.get()?.abort();\n }\n\n startBackup() {\n this._session.keyBackup.get()?.flush();\n }\n}\n\n","/*\nCopyright 2022 The Matrix.org Foundation C.I.C.\n\nLicensed under the Apache License, Version 2.0 (the \"License\");\nyou may not use this file except in compliance with the License.\nYou may obtain a copy of the License at\n\n http://www.apache.org/licenses/LICENSE-2.0\n\nUnless required by applicable law or agreed to in writing, software\ndistributed under the License is distributed on an \"AS IS\" BASIS,\nWITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\nSee the License for the specific language governing permissions and\nlimitations under the License.\n*/\n\nimport type {BlobHandle} from \"../platform/web/dom/BlobHandle\";\nimport type {RequestFunction} from \"../platform/types/types\";\n\n// see https://github.com/matrix-org/rageshake#readme\ntype RageshakeData = {\n // A textual description of the problem. Included in the details.log.gz file.\n text: string | undefined;\n // Application user-agent. Included in the details.log.gz file.\n userAgent: string;\n // Identifier for the application (eg 'riot-web'). Should correspond to a mapping configured in the configuration file for github issue reporting to work.\n app: string;\n // Application version. Included in the details.log.gz file.\n version: string;\n // Label to attach to the github issue, and include in the details file.\n label: string | undefined;\n};\n\nexport async function submitLogsToRageshakeServer(data: RageshakeData, logsBlob: BlobHandle, submitUrl: string, request: RequestFunction): Promise {\n const formData = new Map();\n if (data.text) {\n formData.set(\"text\", data.text);\n }\n formData.set(\"user_agent\", data.userAgent);\n formData.set(\"app\", data.app);\n formData.set(\"version\", data.version);\n if (data.label) {\n formData.set(\"label\", data.label);\n }\n formData.set(\"file\", {name: \"logs.json\", blob: logsBlob});\n const headers: Map = new Map();\n headers.set(\"Accept\", \"application/json\");\n const result = request(submitUrl, {\n method: \"POST\",\n body: formData,\n headers\n });\n let response;\n try {\n response = await result.response();\n } catch (err) {\n throw new Error(`Could not submit logs to ${submitUrl}, got error ${err.message}`);\n }\n const {status, body} = response;\n if (status < 200 || status >= 300) {\n throw new Error(`Could not submit logs to ${submitUrl}, got status code ${status} with body ${body}`);\n }\n // we don't bother with reading report_url from the body as the rageshake server doesn't always return it\n // and would have to have CORS setup properly for us to be able to read it.\n}\n","/*\nCopyright 2020 The Matrix.org Foundation C.I.C.\n\nLicensed under the Apache License, Version 2.0 (the \"License\");\nyou may not use this file except in compliance with the License.\nYou may obtain a copy of the License at\n\n http://www.apache.org/licenses/LICENSE-2.0\n\nUnless required by applicable law or agreed to in writing, software\ndistributed under the License is distributed on an \"AS IS\" BASIS,\nWITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\nSee the License for the specific language governing permissions and\nlimitations under the License.\n*/\n\nimport {ViewModel} from \"../../ViewModel\";\nimport {KeyBackupViewModel} from \"./KeyBackupViewModel.js\";\nimport {submitLogsToRageshakeServer} from \"../../../domain/rageshake\";\n\nclass PushNotificationStatus {\n constructor() {\n this.supported = null;\n this.enabled = false;\n this.updating = false;\n this.enabledOnServer = null;\n this.serverError = null;\n }\n}\n\nfunction formatKey(key) {\n const partLength = 4;\n const partCount = Math.ceil(key.length / partLength);\n let formattedKey = \"\";\n for (let i = 0; i < partCount; i += 1) {\n formattedKey += (formattedKey.length ? \" \" : \"\") + key.slice(i * partLength, (i + 1) * partLength);\n }\n return formattedKey;\n}\n\nexport class SettingsViewModel extends ViewModel {\n constructor(options) {\n super(options);\n this._updateService = options.updateService;\n const {client} = options;\n this._client = client;\n this._keyBackupViewModel = this.track(new KeyBackupViewModel(this.childOptions({session: this._session})));\n this._closeUrl = this.urlCreator.urlUntilSegment(\"session\");\n this._estimate = null;\n this.sentImageSizeLimit = null;\n this.minSentImageSizeLimit = 400;\n this.maxSentImageSizeLimit = 4000;\n this.pushNotifications = new PushNotificationStatus();\n this._activeTheme = undefined;\n this._logsFeedbackMessage = undefined;\n }\n\n get _session() {\n return this._client.session;\n }\n\n async logout() {\n this.navigation.push(\"logout\", this._client.sessionId);\n }\n\n setSentImageSizeLimit(size) {\n if (size > this.maxSentImageSizeLimit || size < this.minSentImageSizeLimit) {\n this.sentImageSizeLimit = null;\n this.platform.settingsStorage.remove(\"sentImageSizeLimit\");\n } else {\n this.sentImageSizeLimit = Math.round(size);\n this.platform.settingsStorage.setInt(\"sentImageSizeLimit\", size);\n }\n this.emitChange(\"sentImageSizeLimit\");\n }\n\n async load() {\n this._estimate = await this.platform.estimateStorageUsage();\n this.sentImageSizeLimit = await this.platform.settingsStorage.getInt(\"sentImageSizeLimit\");\n this.pushNotifications.supported = await this.platform.notificationService.supportsPush();\n this.pushNotifications.enabled = await this._session.arePushNotificationsEnabled();\n if (!import.meta.env.DEV) {\n this._activeTheme = await this.platform.themeLoader.getActiveTheme();\n }\n this.emitChange(\"\");\n }\n\n get closeUrl() {\n return this._closeUrl;\n }\n\n get fingerprintKey() {\n const key = this._session.fingerprintKey;\n if (!key) {\n return null;\n }\n return formatKey(key);\n }\n\n get deviceId() {\n return this._session.deviceId;\n }\n\n get userId() {\n return this._session.userId;\n }\n\n get version() {\n const {updateService} = this.platform; \n if (updateService) {\n return `${updateService.version} (${updateService.buildHash})`;\n }\n return this.i18n`development version`;\n }\n\n checkForUpdate() {\n this.platform.updateService?.checkForUpdate();\n }\n\n get showUpdateButton() {\n return !!this.platform.updateService;\n }\n\n get keyBackupViewModel() {\n return this._keyBackupViewModel;\n }\n\n get storageQuota() {\n return this._formatBytes(this._estimate?.quota);\n }\n\n get storageUsage() {\n return this._formatBytes(this._estimate?.usage);\n }\n\n get themeMapping() {\n return this.platform.themeLoader.themeMapping;\n }\n\n get activeTheme() {\n return this._activeTheme;\n }\n\n _formatBytes(n) {\n if (typeof n === \"number\") {\n return Math.round(n / (1024 * 1024)).toFixed(1) + \" MB\";\n } else {\n return this.i18n`unknown`;\n }\n }\n\n async exportLogs() {\n const logExport = await this.logger.export();\n this.platform.saveFileAs(logExport.asBlob(), `hydrogen-logs-${this.platform.clock.now()}.json`);\n }\n\n get canSendLogsToServer() {\n return !!this.platform.config.bugReportEndpointUrl;\n }\n\n get logsServer() {\n const {bugReportEndpointUrl} = this.platform.config;\n try {\n if (bugReportEndpointUrl) {\n return new URL(bugReportEndpointUrl).hostname;\n }\n } catch (e) {}\n return \"\";\n }\n\n async sendLogsToServer() {\n const {bugReportEndpointUrl} = this.platform.config;\n if (bugReportEndpointUrl) {\n this._logsFeedbackMessage = this.i18n`Sending logs…`;\n this.emitChange();\n try {\n const logExport = await this.logger.export();\n await submitLogsToRageshakeServer(\n {\n app: \"hydrogen\",\n userAgent: this.platform.description,\n version: DEFINE_VERSION,\n text: `Submit logs from settings for user ${this._session.userId} on device ${this._session.deviceId}`,\n },\n logExport.asBlob(),\n bugReportEndpointUrl,\n this.platform.request\n );\n this._logsFeedbackMessage = this.i18n`Logs sent succesfully!`;\n this.emitChange();\n } catch (err) {\n this._logsFeedbackMessage = err.message;\n this.emitChange();\n }\n }\n }\n\n get logsFeedbackMessage() {\n return this._logsFeedbackMessage;\n }\n\n async togglePushNotifications() {\n this.pushNotifications.updating = true;\n this.pushNotifications.enabledOnServer = null;\n this.pushNotifications.serverError = null;\n this.emitChange(\"pushNotifications.updating\");\n try {\n if (await this._session.enablePushNotifications(!this.pushNotifications.enabled)) {\n this.pushNotifications.enabled = !this.pushNotifications.enabled;\n if (this.pushNotifications.enabled) {\n this.platform.notificationService.showNotification(this.i18n`Push notifications are now enabled`);\n }\n }\n } finally {\n this.pushNotifications.updating = false;\n this.emitChange(\"pushNotifications.updating\");\n }\n }\n\n async checkPushEnabledOnServer() {\n this.pushNotifications.enabledOnServer = null;\n this.pushNotifications.serverError = null;\n try {\n this.pushNotifications.enabledOnServer = await this._session.checkPusherEnabledOnHomeserver();\n this.emitChange(\"pushNotifications.enabledOnServer\");\n } catch (err) {\n this.pushNotifications.serverError = err;\n this.emitChange(\"pushNotifications.serverError\");\n }\n }\n\n changeThemeOption(themeName, themeVariant) {\n this.platform.themeLoader.setTheme(themeName, themeVariant);\n // emit so that radio-buttons become displayed/hidden\n this.emitChange(\"themeOption\");\n }\n}\n\n","/*\nCopyright 2020 The Matrix.org Foundation C.I.C.\n\nLicensed under the Apache License, Version 2.0 (the \"License\");\nyou may not use this file except in compliance with the License.\nYou may obtain a copy of the License at\n\n http://www.apache.org/licenses/LICENSE-2.0\n\nUnless required by applicable law or agreed to in writing, software\ndistributed under the License is distributed on an \"AS IS\" BASIS,\nWITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\nSee the License for the specific language governing permissions and\nlimitations under the License.\n*/\n\nimport {ViewModel} from \"../ViewModel\";\nimport {imageToInfo} from \"./common.js\";\nimport {RoomType} from \"../../matrix/room/common\";\n\nexport class CreateRoomViewModel extends ViewModel {\n constructor(options) {\n super(options);\n const {session} = options;\n this._session = session;\n this._name = undefined;\n this._topic = undefined;\n this._roomAlias = undefined;\n this._isPublic = false;\n this._isEncrypted = true;\n this._isAdvancedShown = false;\n this._isFederationDisabled = false;\n this._avatarScaledBlob = undefined;\n this._avatarFileName = undefined;\n this._avatarInfo = undefined;\n }\n\n get isPublic() { return this._isPublic; }\n get isEncrypted() { return this._isEncrypted; }\n get canCreate() { return !!this._name; }\n avatarUrl() { return this._avatarScaledBlob.url; }\n get avatarTitle() { return this._name; }\n get avatarLetter() { return \"\"; }\n get avatarColorNumber() { return 0; }\n get hasAvatar() { return !!this._avatarScaledBlob; }\n get isFederationDisabled() { return this._isFederationDisabled; }\n get isAdvancedShown() { return this._isAdvancedShown; }\n\n setName(name) {\n this._name = name;\n this.emitChange(\"canCreate\");\n }\n\n setRoomAlias(roomAlias) {\n this._roomAlias = roomAlias;\n }\n\n setTopic(topic) {\n this._topic = topic;\n }\n\n setPublic(isPublic) {\n this._isPublic = isPublic;\n this.emitChange(\"isPublic\");\n }\n\n setEncrypted(isEncrypted) {\n this._isEncrypted = isEncrypted;\n this.emitChange(\"isEncrypted\");\n }\n\n setFederationDisabled(disable) {\n this._isFederationDisabled = disable;\n this.emitChange(\"isFederationDisabled\");\n }\n\n toggleAdvancedShown() {\n this._isAdvancedShown = !this._isAdvancedShown;\n this.emitChange(\"isAdvancedShown\");\n }\n\n create() {\n let avatar;\n if (this._avatarScaledBlob) {\n avatar = {\n info: this._avatarInfo,\n name: this._avatarFileName,\n blob: this._avatarScaledBlob\n }\n }\n const roomBeingCreated = this._session.createRoom({\n type: this.isPublic ? RoomType.Public : RoomType.Private,\n name: this._name ?? undefined,\n topic: this._topic ?? undefined,\n isEncrypted: !this.isPublic && this._isEncrypted,\n isFederationDisabled: this._isFederationDisabled,\n alias: this.isPublic ? ensureAliasIsLocalPart(this._roomAlias) : undefined,\n avatar,\n });\n this.navigation.push(\"room\", roomBeingCreated.id);\n }\n\n async selectAvatar() {\n if (!this.platform.hasReadPixelPermission()) {\n alert(\"Please allow canvas image data access, so we can scale your images down.\");\n return;\n }\n if (this._avatarScaledBlob) {\n this._avatarScaledBlob.dispose();\n }\n this._avatarScaledBlob = undefined;\n this._avatarFileName = undefined;\n this._avatarInfo = undefined;\n\n const file = await this.platform.openFile(\"image/*\");\n if (!file || !file.blob.mimeType.startsWith(\"image/\")) {\n // allow to clear the avatar by not selecting an image\n this.emitChange(\"hasAvatar\");\n return;\n }\n let image = await this.platform.loadImage(file.blob);\n const limit = 800;\n if (image.maxDimension > limit) {\n const scaledImage = await image.scale(limit);\n image.dispose();\n image = scaledImage;\n }\n this._avatarScaledBlob = image.blob;\n this._avatarInfo = imageToInfo(image);\n this._avatarFileName = file.name;\n this.emitChange(\"hasAvatar\");\n }\n}\n\nfunction ensureAliasIsLocalPart(roomAliasLocalPart) {\n if (roomAliasLocalPart.startsWith(\"#\")) {\n roomAliasLocalPart = roomAliasLocalPart.substr(1);\n }\n const colonIdx = roomAliasLocalPart.indexOf(\":\");\n if (colonIdx !== -1) {\n roomAliasLocalPart = roomAliasLocalPart.substr(0, colonIdx);\n }\n return roomAliasLocalPart;\n}\n","/*\nCopyright 2021 The Matrix.org Foundation C.I.C.\n\nLicensed under the Apache License, Version 2.0 (the \"License\");\nyou may not use this file except in compliance with the License.\nYou may obtain a copy of the License at\n\n http://www.apache.org/licenses/LICENSE-2.0\n\nUnless required by applicable law or agreed to in writing, software\ndistributed under the License is distributed on an \"AS IS\" BASIS,\nWITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\nSee the License for the specific language governing permissions and\nlimitations under the License.\n*/\n\nimport {ObservableValue} from \"../../observable/ObservableValue\";\nimport {RoomStatus} from \"../../matrix/room/common\";\n\n/**\nDepending on the status of a room (invited, joined, archived, or none),\nwe want to show a different view with a different view model\nwhen showing a room. Furthermore, this logic is needed both in the \nsingle room view and in the grid view. So this logic is extracted here,\nand this observable updates with the right view model as the status for\na room changes.\n\nTo not have to track the subscription manually in the SessionViewModel and\nthe RoomGridViewModel, all subscriptions are removed in the dispose method.\nOnly when transferring a RoomViewModelObservable between the SessionViewModel\nand RoomGridViewModel, unsubscribeAll should be called prior to doing\nthe transfer, so either parent view model don't keep getting updates for\nthe now transferred child view model.\n\nThis is also why there is an explicit initialize method, see comment there.\n*/\nexport class RoomViewModelObservable extends ObservableValue {\n constructor(sessionViewModel, roomIdOrLocalId) {\n super(null);\n this._statusSubscription = null;\n this._sessionViewModel = sessionViewModel;\n this.id = roomIdOrLocalId;\n }\n\n /**\n Separate initialize method rather than doing this onSubscribeFirst because \n we don't want to run this again when transferring this value between\n SessionViewModel and RoomGridViewModel, as onUnsubscribeLast and onSubscribeFirst\n are called in that case.\n */\n async initialize() {\n const {session} = this._sessionViewModel._client;\n const statusObservable = await session.observeRoomStatus(this.id);\n this.set(await this._statusToViewModel(statusObservable.get()));\n this._statusSubscription = statusObservable.subscribe(async status => {\n // first dispose existing VM, if any\n this.get()?.dispose();\n this.set(await this._statusToViewModel(status));\n });\n }\n\n async _statusToViewModel(status) {\n if (status & RoomStatus.Replaced) {\n if (status & RoomStatus.BeingCreated) {\n const {session} = this._sessionViewModel._client;\n const roomBeingCreated = session.roomsBeingCreated.get(this.id);\n this._sessionViewModel.notifyRoomReplaced(roomBeingCreated.id, roomBeingCreated.roomId);\n } else {\n throw new Error(\"Don't know how to replace a room with this status: \" + (status ^ RoomStatus.Replaced));\n }\n } else if (status & RoomStatus.BeingCreated) {\n return this._sessionViewModel._createRoomBeingCreatedViewModel(this.id);\n } else if (status & RoomStatus.Invited) {\n return this._sessionViewModel._createInviteViewModel(this.id);\n } else if (status & RoomStatus.Joined) {\n return this._sessionViewModel._createRoomViewModelInstance(this.id);\n } else if (status & RoomStatus.Archived) {\n return await this._sessionViewModel._createArchivedRoomViewModel(this.id);\n } else {\n return this._sessionViewModel._createUnknownRoomViewModel(this.id);\n }\n }\n\n dispose() {\n if (this._statusSubscription) {\n this._statusSubscription = this._statusSubscription();\n }\n this.unsubscribeAll();\n this.get()?.dispose();\n }\n}\n","/*\nCopyright 2021 The Matrix.org Foundation C.I.C.\n\nLicensed under the Apache License, Version 2.0 (the \"License\");\nyou may not use this file except in compliance with the License.\nYou may obtain a copy of the License at\n\n http://www.apache.org/licenses/LICENSE-2.0\n\nUnless required by applicable law or agreed to in writing, software\ndistributed under the License is distributed on an \"AS IS\" BASIS,\nWITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\nSee the License for the specific language governing permissions and\nlimitations under the License.\n*/\n\nimport {ViewModel} from \"../../ViewModel\";\nimport {avatarInitials, getIdentifierColorNumber, getAvatarHttpUrl} from \"../../avatar\";\n\nexport class RoomDetailsViewModel extends ViewModel {\n constructor(options) {\n super(options);\n this._room = options.room;\n this._onRoomChange = this._onRoomChange.bind(this);\n this._room.on(\"change\", this._onRoomChange);\n }\n\n get type() {\n return \"room-details\";\n }\n\n get shouldShowBackButton() {\n return false;\n }\n\n get previousSegmentName() {\n return false;\n }\n\n get roomId() {\n return this._room.id;\n }\n\n get canonicalAlias() {\n return this._room.canonicalAlias;\n }\n\n get name() {\n return this._room.name;\n }\n\n get isEncrypted() {\n return !!this._room.isEncrypted;\n }\n\n get memberCount() {\n return this._room.joinedMemberCount;\n }\n\n get avatarLetter() {\n return avatarInitials(this.name);\n }\n\n get avatarColorNumber() {\n return getIdentifierColorNumber(this._room.avatarColorId)\n }\n\n avatarUrl(size) {\n return getAvatarHttpUrl(this._room.avatarUrl, size, this.platform, this._room.mediaRepository);\n }\n\n get avatarTitle() {\n return this.name;\n }\n\n _onRoomChange() {\n this.emitChange();\n }\n\n dispose() {\n super.dispose();\n this._room.off(\"change\", this._onRoomChange);\n }\n\n openPanel(segment) {\n let path = this.navigation.path.until(\"room\");\n path = path.with(this.navigation.segment(\"right-panel\", true));\n path = path.with(this.navigation.segment(segment, true));\n this.navigation.applyPath(path);\n }\n}\n","/*\nCopyright 2021 The Matrix.org Foundation C.I.C.\n\nLicensed under the Apache License, Version 2.0 (the \"License\");\nyou may not use this file except in compliance with the License.\nYou may obtain a copy of the License at\n\n http://www.apache.org/licenses/LICENSE-2.0\n\nUnless required by applicable law or agreed to in writing, software\ndistributed under the License is distributed on an \"AS IS\" BASIS,\nWITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\nSee the License for the specific language governing permissions and\nlimitations under the License.\n*/\n\nimport {ViewModel} from \"../../ViewModel\";\nimport {avatarInitials, getIdentifierColorNumber, getAvatarHttpUrl} from \"../../avatar\";\n\nexport class MemberTileViewModel extends ViewModel {\n constructor(options) {\n super(options);\n this._member = this._options.member;\n this._mediaRepository = options.mediaRepository\n this._previousName = null;\n this._nameChanged = true;\n }\n\n get name() {\n return `${this._member.name}${this._disambiguationPart}`;\n }\n\n get _disambiguationPart() {\n return this._disambiguate ? ` (${this.userId})` : \"\";\n }\n\n get userId() {\n return this._member.userId;\n }\n\n get previousName() {\n return this._previousName;\n }\n\n get nameChanged() {\n return this._nameChanged;\n }\n\n get detailsUrl() {\n const roomId = this.navigation.path.get(\"room\").value;\n return `${this.urlCreator.openRoomActionUrl(roomId)}/member/${this._member.userId}`;\n }\n\n _updatePreviousName(newName) {\n const currentName = this._member.name;\n if (currentName !== newName) {\n this._previousName = currentName;\n this._nameChanged = true;\n } else {\n this._nameChanged = false;\n }\n }\n\n setDisambiguation(status) {\n this._disambiguate = status;\n this.emitChange();\n }\n\n updateFrom(newMember) {\n this._updatePreviousName(newMember.name);\n this._member = newMember;\n }\n\n get avatarLetter() {\n return avatarInitials(this.name);\n }\n\n get avatarColorNumber() {\n return getIdentifierColorNumber(this.userId)\n }\n\n avatarUrl(size) {\n return getAvatarHttpUrl(this._member.avatarUrl, size, this.platform, this._mediaRepository);\n }\n\n get avatarTitle() {\n return this.name;\n }\n}\n","/*\nCopyright 2021 The Matrix.org Foundation C.I.C.\n\nLicensed under the Apache License, Version 2.0 (the \"License\");\nyou may not use this file except in compliance with the License.\nYou may obtain a copy of the License at\n\n http://www.apache.org/licenses/LICENSE-2.0\n\nUnless required by applicable law or agreed to in writing, software\ndistributed under the License is distributed on an \"AS IS\" BASIS,\nWITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\nSee the License for the specific language governing permissions and\nlimitations under the License.\n*/\n\nimport {PowerLevels} from \"../../../../matrix/room/PowerLevels.js\";\n\nexport function createMemberComparator(powerLevels) {\n const collator = new Intl.Collator();\n const removeCharacter = string => string.charAt(0) === \"@\"? string.slice(1) : string;\n\n return function comparator(member, otherMember) {\n const p1 = powerLevels.getUserLevel(member.userId);\n const p2 = powerLevels.getUserLevel(otherMember.userId);\n if (p1 !== p2) { return p2 - p1; }\n const name = removeCharacter(member.name);\n const otherName = removeCharacter(otherMember.name);\n return collator.compare(name, otherName);\n };\n}\n\nexport function tests() {\n\n function createComparatorWithPowerLevel(map) {\n let users = {};\n for (const prop in map) {\n Object.assign(users, {[prop]: map[prop]});\n }\n const powerLevelEvent = {\n content: {users, users_default: 0}\n };\n return createMemberComparator(new PowerLevels({powerLevelEvent}));\n }\n\n return {\n \"power_level(member1) > power_level(member2) returns value <= 0\": assert => {\n const fn = createComparatorWithPowerLevel({\"@alice:hs.tld\": 50});\n const member1 = {userId: \"@alice:hs.tld\", name: \"alice\"};\n const member2 = {userId: \"@bob:hs.tld\", name: \"bob\"};\n assert.strictEqual(fn(member1, member2) <= 0, true);\n },\n\n \"power_level(member1) < power_level(member2) returns value > 0\": assert => {\n const fn = createComparatorWithPowerLevel({\"@alice:hs.tld\": 50});\n const member1 = {userId: \"@bob:hs.tld\", name: \"bob\"};\n const member2 = {userId: \"@alice:hs.tld\", name: \"alice\"};\n assert.strictEqual(fn(member1, member2) > 0, true);\n },\n\n \"alphabetic compare on name\": assert => {\n const fn = createComparatorWithPowerLevel();\n const member1 = {userId: \"@bob:hs.tld\", name: \"bob\"};\n const member2 = {userId: \"@alice:hs.tld\", name: \"alice\"};\n assert.strictEqual(fn(member1, member2) > 0, true);\n assert.strictEqual(fn(member2, member1) <= 0, true);\n },\n\n \"alphabetic compare with case (alice comes before Bob)\": assert => {\n const fn = createComparatorWithPowerLevel();\n const member1 = {userId: \"@bob:hs.tld\", name: \"Bob\"};\n const member2 = {userId: \"@alice:hs.tld\", name: \"alice\"};\n assert.strictEqual(fn(member1, member2) > 0, true);\n assert.strictEqual(fn(member2, member1) <= 0, true);\n },\n\n \"equal powerlevel and same names returns 0\": assert => {\n const fn = createComparatorWithPowerLevel({\"@bobby:hs.tld\": 50, \"@bob:hs.tld\": 50});\n const member1 = {userId: \"@bob:hs.tld\", name: \"bob\"};\n const member2 = {userId: \"@bobby:hs.tld\", name: \"bob\"};\n assert.strictEqual(fn(member1, member2), 0);\n assert.strictEqual(fn(member2, member1), 0);\n },\n\n \"(both_negative_powerlevel) power_level(member1) < power_level(member2) returns value > 0\": assert => {\n const fn = createComparatorWithPowerLevel({\"@alice:hs.tld\": -100, \"@bob:hs.tld\": -50});\n const member1 = {userId: \"@alice:hs.tld\", name: \"alice\"};\n const member2 = {userId: \"@bob:hs.tld\", name: \"bob\"};\n assert.strictEqual(fn(member1, member2) > 0, true);\n },\n\n \"(both_negative_powerlevel) power_level(member1) > power_level(member2) returns value <= 0\": assert => {\n const fn = createComparatorWithPowerLevel({\"@alice:hs.tld\": -50, \"@bob:hs.tld\": -100});\n const member1 = {userId: \"@alice:hs.tld\", name: \"alice\"};\n const member2 = {userId: \"@bob:hs.tld\", name: \"bob\"};\n assert.strictEqual(fn(member1, member2) <= 0, true);\n },\n\n \"(one_negative_powerlevel) power_level(member1) > power_level(member2) returns value <= 0\": assert => {\n const fn = createComparatorWithPowerLevel({\"@alice:hs.tld\": 50, \"@bob:hs.tld\": -100});\n const member1 = {userId: \"@alice:hs.tld\", name: \"alice\"};\n const member2 = {userId: \"@bob:hs.tld\", name: \"bob\"};\n assert.strictEqual(fn(member1, member2) <= 0, true);\n },\n\n \"(one_negative_powerlevel) power_level(member1) < power_level(member2) returns value > 0\": assert => {\n const fn = createComparatorWithPowerLevel({\"@alice:hs.tld\": -100, \"@bob:hs.tld\": 50});\n const member1 = {userId: \"@alice:hs.tld\", name: \"alice\"};\n const member2 = {userId: \"@bob:hs.tld\", name: \"bob\"};\n assert.strictEqual(fn(member1, member2) > 0, true);\n },\n };\n}\n","/*\nCopyright 2021 The Matrix.org Foundation C.I.C.\n\nLicensed under the Apache License, Version 2.0 (the \"License\");\nyou may not use this file except in compliance with the License.\nYou may obtain a copy of the License at\n\n http://www.apache.org/licenses/LICENSE-2.0\n\nUnless required by applicable law or agreed to in writing, software\ndistributed under the License is distributed on an \"AS IS\" BASIS,\nWITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\nSee the License for the specific language governing permissions and\nlimitations under the License.\n*/\n\nexport class Disambiguator {\n constructor() {\n this._map = new Map();\n }\n\n _unDisambiguate(vm, array) {\n const idx = array.indexOf(vm);\n if (idx !== -1) {\n const [removed] = array.splice(idx, 1);\n removed.setDisambiguation(false);\n }\n }\n\n _handlePreviousName(vm) {\n const previousName = vm.previousName;\n if (typeof previousName !== \"string\") { return; }\n const value = this._map.get(previousName);\n if (Array.isArray(value)) {\n this._unDisambiguate(vm, value);\n if (value.length === 1) {\n const vm = value[0];\n vm.setDisambiguation(false);\n this._map.set(previousName, vm);\n }\n } else {\n this._map.delete(previousName);\n }\n }\n\n _updateMap(vm) {\n const name = vm.name;\n const value = this._map.get(name);\n if (value) {\n if (Array.isArray(value)) {\n if (value.findIndex(member => member.userId === vm.userId) !== -1) { return; }\n value.push(vm);\n return value;\n } else if(vm.userId !== value.userId) {\n const array = [value, vm]\n this._map.set(name, array);\n return array;\n }\n } else {\n this._map.set(name, vm);\n }\n }\n\n disambiguate(vm) {\n if (!vm.nameChanged) { return; }\n this._handlePreviousName(vm);\n const value = this._updateMap(vm);\n value?.forEach((vm) => vm.setDisambiguation(true));\n }\n}\n\nexport function tests(){\n\n class MockViewModel {\n constructor(name, userId) {\n this.name = name;\n this.disambiguate = false;\n this.userId = userId;\n this.nameChanged = true;\n }\n \n updateName(newName) {\n if (this.name !== newName) {\n this.previousName = this.name;\n this.nameChanged = true;\n }\n else {\n this.nameChanged = false;\n }\n this.name = newName;\n }\n\n setDisambiguation(status) {\n this.disambiguate = status;\n }\n }\n\n function createVmAndDisambiguator(nameList) {\n const d = new Disambiguator();\n const array = nameList.map(([name, id]) => new MockViewModel(name, id));\n return [...array, d];\n }\n\n return {\n \"Unique names\": assert => {\n const [vm1, vm2, d] = createVmAndDisambiguator([[\"foo\", \"a\"], [\"bar\", \"b\"]]);\n d.disambiguate(vm1);\n d.disambiguate(vm2);\n assert.strictEqual(vm1.disambiguate, false);\n assert.strictEqual(vm2.disambiguate, false);\n },\n\n \"Same names are disambiguated\": assert => {\n const [vm1, vm2, vm3, d] = createVmAndDisambiguator([[\"foo\", \"a\"], [\"foo\", \"b\"], [\"foo\", \"c\"]]);\n d.disambiguate(vm1);\n d.disambiguate(vm2);\n d.disambiguate(vm3);\n assert.strictEqual(vm1.disambiguate, true);\n assert.strictEqual(vm2.disambiguate, true);\n assert.strictEqual(vm3.disambiguate, true);\n },\n\n \"Name updates disambiguate\": assert => {\n const [vm1, vm2, vm3, d] = createVmAndDisambiguator([[\"foo\", \"a\"], [\"bar\", \"b\"], [\"jar\", \"c\"]]);\n d.disambiguate(vm1);\n d.disambiguate(vm2);\n d.disambiguate(vm3);\n \n vm2.updateName(\"foo\");\n d.disambiguate(vm2);\n assert.strictEqual(vm1.disambiguate, true);\n assert.strictEqual(vm2.disambiguate, true);\n\n vm1.updateName(\"bar\");\n d.disambiguate(vm1);\n assert.strictEqual(vm1.disambiguate, false);\n assert.strictEqual(vm2.disambiguate, false);\n\n vm3.updateName(\"foo\");\n d.disambiguate(vm3);\n vm1.updateName(\"foo\");\n d.disambiguate(vm1);\n assert.strictEqual(vm1.disambiguate, true);\n assert.strictEqual(vm2.disambiguate, true);\n assert.strictEqual(vm3.disambiguate, true);\n\n vm2.updateName(\"bar\");\n d.disambiguate(vm2);\n assert.strictEqual(vm1.disambiguate, true);\n assert.strictEqual(vm2.disambiguate, false);\n assert.strictEqual(vm3.disambiguate, true);\n },\n\n \"Multiple disambiguate events\": assert => {\n const [vm1, d] = createVmAndDisambiguator([[\"foo\", \"a\"]]);\n d.disambiguate(vm1);\n vm1.updateName(vm1.name);\n d.disambiguate(vm1);\n assert.strictEqual(vm1.disambiguate, false);\n },\n\n \"Empty names must un-disambiguate\": assert => {\n const [vm1, vm2, d] = createVmAndDisambiguator([[\"\", \"a\"], [\"\", \"b\"]]);\n d.disambiguate(vm1);\n d.disambiguate(vm2);\n vm1.updateName(\"foo\");\n d.disambiguate(vm1);\n assert.strictEqual(vm1.disambiguate, false);\n assert.strictEqual(vm2.disambiguate, false);\n }\n };\n}\n","/*\nCopyright 2021 The Matrix.org Foundation C.I.C.\n\nLicensed under the Apache License, Version 2.0 (the \"License\");\nyou may not use this file except in compliance with the License.\nYou may obtain a copy of the License at\n\n http://www.apache.org/licenses/LICENSE-2.0\n\nUnless required by applicable law or agreed to in writing, software\ndistributed under the License is distributed on an \"AS IS\" BASIS,\nWITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\nSee the License for the specific language governing permissions and\nlimitations under the License.\n*/\n\nimport {ViewModel} from \"../../ViewModel\";\nimport {MemberTileViewModel} from \"./MemberTileViewModel.js\";\nimport {createMemberComparator} from \"./members/comparator.js\";\nimport {Disambiguator} from \"./members/disambiguator.js\";\n\nexport class MemberListViewModel extends ViewModel {\n constructor(options) {\n super(options);\n const list = options.members;\n\n const powerLevelsObservable = options.powerLevelsObservable;\n this.track(powerLevelsObservable.subscribe(() => { /*resort based on new power levels here*/ }));\n\n const powerLevels = powerLevelsObservable.get();\n this.memberTileViewModels = this._mapTileViewModels(list.members.filterValues(member => member.membership === \"join\"))\n .sortValues(createMemberComparator(powerLevels));\n this.nameDisambiguator = new Disambiguator();\n this.mediaRepository = options.mediaRepository;\n }\n\n get type() { return \"member-list\"; }\n\n get shouldShowBackButton() { return true; }\n\n get previousSegmentName() { return \"details\"; }\n\n _mapTileViewModels(members) {\n const mapper = (member, emitChange) => {\n const mediaRepository = this.mediaRepository;\n const vm = new MemberTileViewModel(this.childOptions({member, emitChange, mediaRepository}));\n this.nameDisambiguator.disambiguate(vm);\n return vm;\n }\n const updater = (vm, params, newMember) => {\n vm.updateFrom(newMember);\n this.nameDisambiguator.disambiguate(vm);\n };\n return members.mapValues(mapper, updater);\n }\n\n}\n","/*\nCopyright 2021 The Matrix.org Foundation C.I.C.\n\nLicensed under the Apache License, Version 2.0 (the \"License\");\nyou may not use this file except in compliance with the License.\nYou may obtain a copy of the License at\n\n http://www.apache.org/licenses/LICENSE-2.0\n\nUnless required by applicable law or agreed to in writing, software\ndistributed under the License is distributed on an \"AS IS\" BASIS,\nWITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\nSee the License for the specific language governing permissions and\nlimitations under the License.\n*/\n\nimport {ViewModel} from \"../../ViewModel\";\nimport {RoomType} from \"../../../matrix/room/common\";\nimport {avatarInitials, getIdentifierColorNumber, getAvatarHttpUrl} from \"../../avatar\";\n\nexport class MemberDetailsViewModel extends ViewModel {\n constructor(options) {\n super(options);\n this._observableMember = options.observableMember;\n this._mediaRepository = options.mediaRepository;\n this._member = this._observableMember.get();\n this._isEncrypted = options.isEncrypted;\n this._powerLevelsObservable = options.powerLevelsObservable;\n this._session = options.session;\n this.track(this._powerLevelsObservable.subscribe(() => this._onPowerLevelsChange()));\n this.track(this._observableMember.subscribe( () => this._onMemberChange()));\n }\n\n get name() { return this._member.name; }\n get userId() { return this._member.userId; }\n\n get type() { return \"member-details\"; }\n get shouldShowBackButton() { return true; }\n get previousSegmentName() { return \"members\"; }\n \n get role() {\n if (this.powerLevel >= 100) { return this.i18n`Admin`; }\n else if (this.powerLevel >= 50) { return this.i18n`Moderator`; }\n else if (this.powerLevel === 0) { return this.i18n`Default`; }\n else { return this.i18n`Custom (${this.powerLevel})`; }\n }\n\n _onMemberChange() {\n this._member = this._observableMember.get();\n this.emitChange(\"member\");\n }\n\n _onPowerLevelsChange() {\n this.emitChange(\"role\");\n }\n\n get avatarLetter() {\n return avatarInitials(this.name);\n }\n\n get avatarColorNumber() {\n return getIdentifierColorNumber(this.userId)\n }\n\n avatarUrl(size) {\n return getAvatarHttpUrl(this._member.avatarUrl, size, this.platform, this._mediaRepository);\n }\n\n get avatarTitle() {\n return this.name;\n }\n\n get isEncrypted() {\n return this._isEncrypted;\n }\n\n get powerLevel() {\n return this._powerLevelsObservable.get()?.getUserLevel(this._member.userId);\n }\n\n get linkToUser() {\n return `https://matrix.to/#/${encodeURIComponent(this._member.userId)}`;\n }\n\n async openDirectMessage() {\n const room = this._session.findDirectMessageForUserId(this.userId);\n let roomId = room?.id;\n if (!roomId) {\n const roomBeingCreated = await this._session.createRoom({\n type: RoomType.DirectMessage,\n invites: [this.userId]\n });\n roomId = roomBeingCreated.id;\n }\n this.navigation.push(\"room\", roomId);\n }\n}\n","/*\nCopyright 2021 The Matrix.org Foundation C.I.C.\n\nLicensed under the Apache License, Version 2.0 (the \"License\");\nyou may not use this file except in compliance with the License.\nYou may obtain a copy of the License at\n\n http://www.apache.org/licenses/LICENSE-2.0\n\nUnless required by applicable law or agreed to in writing, software\ndistributed under the License is distributed on an \"AS IS\" BASIS,\nWITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\nSee the License for the specific language governing permissions and\nlimitations under the License.\n*/\n\nimport {ViewModel} from \"../../ViewModel\";\nimport {RoomDetailsViewModel} from \"./RoomDetailsViewModel.js\";\nimport {MemberListViewModel} from \"./MemberListViewModel.js\";\nimport {MemberDetailsViewModel} from \"./MemberDetailsViewModel.js\";\n\nexport class RightPanelViewModel extends ViewModel {\n constructor(options) {\n super(options);\n this._room = options.room;\n this._session = options.session;\n this._members = null;\n this._setupNavigation();\n }\n\n get activeViewModel() { return this._activeViewModel; }\n\n async _getMemberListArguments() {\n if (!this._members) {\n this._members = await this._room.loadMemberList();\n this.track(() => this._members.release());\n }\n const room = this._room;\n const powerLevelsObservable = await this._room.observePowerLevels();\n return {members: this._members, powerLevelsObservable, mediaRepository: room.mediaRepository};\n }\n\n async _getMemberDetailsArguments() {\n const segment = this.navigation.path.get(\"member\"); \n const userId = segment.value;\n const observableMember = await this._room.observeMember(userId);\n if (!observableMember) {\n return false;\n }\n const isEncrypted = this._room.isEncrypted;\n const powerLevelsObservable = await this._room.observePowerLevels();\n return {\n observableMember,\n isEncrypted,\n powerLevelsObservable,\n mediaRepository: this._room.mediaRepository,\n session: this._session\n };\n }\n\n _setupNavigation() {\n this._hookUpdaterToSegment(\"details\", RoomDetailsViewModel, () => { return {room: this._room}; });\n this._hookUpdaterToSegment(\"members\", MemberListViewModel, () => this._getMemberListArguments());\n this._hookUpdaterToSegment(\"member\", MemberDetailsViewModel, () => this._getMemberDetailsArguments(),\n () => {\n // If we fail to create the member details panel, fallback to memberlist\n const url = `${this.urlCreator.urlUntilSegment(\"room\")}/members`;\n this.urlCreator.pushUrl(url);\n }\n );\n }\n\n _hookUpdaterToSegment(segment, viewmodel, argCreator, failCallback) {\n const observable = this.navigation.observe(segment);\n const updater = this._setupUpdater(segment, viewmodel, argCreator, failCallback);\n this.track(observable.subscribe(updater));\n }\n\n _setupUpdater(segment, viewmodel, argCreator, failCallback) {\n const updater = async (skipDispose = false) => {\n if (!skipDispose) {\n this._activeViewModel = this.disposeTracked(this._activeViewModel);\n }\n const enable = !!this.navigation.path.get(segment)?.value;\n if (enable) {\n const args = await argCreator();\n if (!args && failCallback) {\n failCallback();\n return;\n }\n this._activeViewModel = this.track(new viewmodel(this.childOptions(args)));\n }\n this.emitChange(\"activeViewModel\");\n };\n updater(true);\n return updater;\n }\n\n closePanel() {\n const path = this.navigation.path.until(\"room\");\n this.navigation.applyPath(path);\n }\n\n showPreviousPanel() {\n const segmentName = this.activeViewModel.previousSegmentName;\n if (segmentName) {\n let path = this.navigation.path.until(\"room\");\n path = path.with(this.navigation.segment(\"right-panel\", true));\n path = path.with(this.navigation.segment(segmentName, true));\n this.navigation.applyPath(path);\n }\n }\n}\n","/*\nCopyright 2020 Bruno Windels \nCopyright 2020 The Matrix.org Foundation C.I.C.\n\nLicensed under the Apache License, Version 2.0 (the \"License\");\nyou may not use this file except in compliance with the License.\nYou may obtain a copy of the License at\n\n http://www.apache.org/licenses/LICENSE-2.0\n\nUnless required by applicable law or agreed to in writing, software\ndistributed under the License is distributed on an \"AS IS\" BASIS,\nWITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\nSee the License for the specific language governing permissions and\nlimitations under the License.\n*/\n\nimport {LeftPanelViewModel} from \"./leftpanel/LeftPanelViewModel.js\";\nimport {RoomViewModel} from \"./room/RoomViewModel.js\";\nimport {UnknownRoomViewModel} from \"./room/UnknownRoomViewModel.js\";\nimport {InviteViewModel} from \"./room/InviteViewModel.js\";\nimport {RoomBeingCreatedViewModel} from \"./room/RoomBeingCreatedViewModel.js\";\nimport {LightboxViewModel} from \"./room/LightboxViewModel.js\";\nimport {SessionStatusViewModel} from \"./SessionStatusViewModel.js\";\nimport {RoomGridViewModel} from \"./RoomGridViewModel.js\";\nimport {SettingsViewModel} from \"./settings/SettingsViewModel.js\";\nimport {CreateRoomViewModel} from \"./CreateRoomViewModel.js\";\nimport {ViewModel} from \"../ViewModel\";\nimport {RoomViewModelObservable} from \"./RoomViewModelObservable.js\";\nimport {RightPanelViewModel} from \"./rightpanel/RightPanelViewModel.js\";\n\nexport class SessionViewModel extends ViewModel {\n constructor(options) {\n super(options);\n const {client} = options;\n this._client = this.track(client);\n this._sessionStatusViewModel = this.track(new SessionStatusViewModel(this.childOptions({\n sync: client.sync,\n reconnector: client.reconnector,\n session: client.session,\n })));\n this._leftPanelViewModel = this.track(new LeftPanelViewModel(this.childOptions({session: this._client.session})));\n this._settingsViewModel = null;\n this._roomViewModelObservable = null;\n this._gridViewModel = null;\n this._createRoomViewModel = null;\n this._setupNavigation();\n }\n\n _setupNavigation() {\n const gridRooms = this.navigation.observe(\"rooms\");\n // this gives us a set of room ids in the grid\n this.track(gridRooms.subscribe(roomIds => {\n this._updateGrid(roomIds);\n }));\n if (gridRooms.get()) {\n this._updateGrid(gridRooms.get());\n }\n\n const currentRoomId = this.navigation.observe(\"room\");\n // this gives us the active room\n this.track(currentRoomId.subscribe(roomId => {\n if (!this._gridViewModel) {\n this._updateRoom(roomId);\n }\n this._updateRightPanel();\n }));\n if (!this._gridViewModel) {\n this._updateRoom(currentRoomId.get());\n }\n\n const settings = this.navigation.observe(\"settings\");\n this.track(settings.subscribe(settingsOpen => {\n this._updateSettings(settingsOpen);\n }));\n this._updateSettings(settings.get());\n\n const createRoom = this.navigation.observe(\"create-room\");\n this.track(createRoom.subscribe(createRoomOpen => {\n this._updateCreateRoom(createRoomOpen);\n }));\n this._updateCreateRoom(createRoom.get());\n\n const lightbox = this.navigation.observe(\"lightbox\");\n this.track(lightbox.subscribe(eventId => {\n this._updateLightbox(eventId);\n }));\n this._updateLightbox(lightbox.get());\n\n\n const rightpanel = this.navigation.observe(\"right-panel\");\n this.track(rightpanel.subscribe(() => this._updateRightPanel()));\n this._updateRightPanel();\n }\n\n get id() {\n return this._client.sessionId;\n }\n\n start() {\n this._sessionStatusViewModel.start();\n }\n\n get activeMiddleViewModel() {\n return this._roomViewModelObservable?.get() || this._gridViewModel || this._settingsViewModel || this._createRoomViewModel;\n }\n\n get roomGridViewModel() {\n return this._gridViewModel;\n }\n\n get leftPanelViewModel() {\n return this._leftPanelViewModel;\n }\n\n get sessionStatusViewModel() {\n return this._sessionStatusViewModel;\n }\n\n get settingsViewModel() {\n return this._settingsViewModel;\n }\n\n get currentRoomViewModel() {\n return this._roomViewModelObservable?.get();\n }\n\n get rightPanelViewModel() {\n return this._rightPanelViewModel;\n }\n\n get createRoomViewModel() {\n return this._createRoomViewModel;\n }\n\n _updateGrid(roomIds) {\n const changed = !(this._gridViewModel && roomIds);\n const currentRoomId = this.navigation.path.get(\"room\");\n if (roomIds) {\n if (!this._gridViewModel) {\n this._gridViewModel = this.track(new RoomGridViewModel(this.childOptions({\n width: 3,\n height: 2,\n createRoomViewModelObservable: roomId => new RoomViewModelObservable(this, roomId),\n })));\n // try to transfer the current room view model, so we don't have to reload the timeline\n this._roomViewModelObservable?.unsubscribeAll();\n if (this._gridViewModel.initializeRoomIdsAndTransferVM(roomIds, this._roomViewModelObservable)) {\n this._roomViewModelObservable = this.untrack(this._roomViewModelObservable);\n } else if (this._roomViewModelObservable) {\n this._roomViewModelObservable = this.disposeTracked(this._roomViewModelObservable);\n }\n } else {\n this._gridViewModel.setRoomIds(roomIds);\n }\n } else if (this._gridViewModel && !roomIds) {\n // closing grid, try to show focused room in grid\n if (currentRoomId) {\n const vmo = this._gridViewModel.releaseRoomViewModel(currentRoomId.value);\n if (vmo) {\n this._roomViewModelObservable = this.track(vmo);\n this._roomViewModelObservable.subscribe(() => {\n this.emitChange(\"activeMiddleViewModel\");\n });\n }\n }\n this._gridViewModel = this.disposeTracked(this._gridViewModel);\n }\n if (changed) {\n this.emitChange(\"activeMiddleViewModel\");\n }\n }\n\n _createRoomViewModelInstance(roomId) {\n const room = this._client.session.rooms.get(roomId);\n if (room) {\n const roomVM = new RoomViewModel(this.childOptions({room}));\n roomVM.load();\n return roomVM;\n }\n return null;\n }\n\n _createUnknownRoomViewModel(roomIdOrAlias) {\n return new UnknownRoomViewModel(this.childOptions({\n roomIdOrAlias,\n session: this._client.session,\n }));\n }\n\n async _createArchivedRoomViewModel(roomId) {\n const room = await this._client.session.loadArchivedRoom(roomId);\n if (room) {\n const roomVM = new RoomViewModel(this.childOptions({room}));\n roomVM.load();\n return roomVM;\n }\n return null;\n }\n\n _createInviteViewModel(roomId) {\n const invite = this._client.session.invites.get(roomId);\n if (invite) {\n return new InviteViewModel(this.childOptions({\n invite,\n mediaRepository: this._client.session.mediaRepository,\n }));\n }\n return null;\n }\n\n _createRoomBeingCreatedViewModel(localId) {\n const roomBeingCreated = this._client.session.roomsBeingCreated.get(localId);\n if (roomBeingCreated) {\n return new RoomBeingCreatedViewModel(this.childOptions({\n roomBeingCreated,\n mediaRepository: this._client.session.mediaRepository,\n }));\n }\n return null;\n }\n\n _updateRoom(roomId) {\n // opening a room and already open?\n if (this._roomViewModelObservable?.id === roomId) {\n return;\n }\n // close if needed\n if (this._roomViewModelObservable) {\n this._roomViewModelObservable = this.disposeTracked(this._roomViewModelObservable);\n }\n if (!roomId) {\n // if clearing the activeMiddleViewModel rather than changing to a different one,\n // emit so the view picks it up and show the placeholder\n this.emitChange(\"activeMiddleViewModel\");\n return;\n }\n const vmo = new RoomViewModelObservable(this, roomId);\n this._roomViewModelObservable = this.track(vmo);\n // subscription is unsubscribed in RoomViewModelObservable.dispose, and thus handled by track\n this._roomViewModelObservable.subscribe(() => {\n this.emitChange(\"activeMiddleViewModel\");\n });\n vmo.initialize();\n }\n\n _updateSettings(settingsOpen) {\n if (this._settingsViewModel) {\n this._settingsViewModel = this.disposeTracked(this._settingsViewModel);\n }\n if (settingsOpen) {\n this._settingsViewModel = this.track(new SettingsViewModel(this.childOptions({\n client: this._client,\n })));\n this._settingsViewModel.load();\n }\n this.emitChange(\"activeMiddleViewModel\");\n }\n\n _updateCreateRoom(createRoomOpen) {\n if (this._createRoomViewModel) {\n this._createRoomViewModel = this.disposeTracked(this._createRoomViewModel);\n }\n if (createRoomOpen) {\n this._createRoomViewModel = this.track(new CreateRoomViewModel(this.childOptions({session: this._client.session})));\n }\n this.emitChange(\"activeMiddleViewModel\");\n }\n\n _updateLightbox(eventId) {\n if (this._lightboxViewModel) {\n this._lightboxViewModel = this.disposeTracked(this._lightboxViewModel);\n }\n if (eventId) {\n const room = this._roomFromNavigation();\n this._lightboxViewModel = this.track(new LightboxViewModel(this.childOptions({eventId, room})));\n }\n this.emitChange(\"lightboxViewModel\");\n }\n\n get lightboxViewModel() {\n return this._lightboxViewModel;\n }\n\n _roomFromNavigation() {\n const roomId = this.navigation.path.get(\"room\")?.value;\n const room = this._client.session.rooms.get(roomId);\n return room;\n }\n\n _updateRightPanel() {\n this._rightPanelViewModel = this.disposeTracked(this._rightPanelViewModel);\n const enable = !!this.navigation.path.get(\"right-panel\")?.value;\n if (enable) {\n const room = this._roomFromNavigation();\n this._rightPanelViewModel = this.track(new RightPanelViewModel(this.childOptions({room, session: this._client.session})));\n }\n this.emitChange(\"rightPanelViewModel\");\n }\n\n notifyRoomReplaced(oldId, newId) {\n this.navigation.push(\"room\", newId);\n }\n}\n","/*\nCopyright 2021 The Matrix.org Foundation C.I.C.\n\nLicensed under the Apache License, Version 2.0 (the \"License\");\nyou may not use this file except in compliance with the License.\nYou may obtain a copy of the License at\n\n http://www.apache.org/licenses/LICENSE-2.0\n\nUnless required by applicable law or agreed to in writing, software\ndistributed under the License is distributed on an \"AS IS\" BASIS,\nWITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\nSee the License for the specific language governing permissions and\nlimitations under the License.\n*/\n\nimport {ViewModel} from \"./ViewModel\";\nimport {KeyType} from \"../matrix/ssss/index\";\nimport {Status} from \"./session/settings/KeyBackupViewModel.js\";\n\nexport class AccountSetupViewModel extends ViewModel {\n constructor(options) {\n super(options);\n this._accountSetup = options.accountSetup;\n this._dehydratedDevice = undefined;\n this._decryptDehydratedDeviceViewModel = undefined;\n if (this._accountSetup.encryptedDehydratedDevice) {\n this._decryptDehydratedDeviceViewModel = new DecryptDehydratedDeviceViewModel(this, dehydratedDevice => {\n this._dehydratedDevice = dehydratedDevice;\n this._decryptDehydratedDeviceViewModel = undefined;\n this.emitChange(\"deviceDecrypted\");\n });\n }\n }\n\n get decryptDehydratedDeviceViewModel() {\n return this._decryptDehydratedDeviceViewModel;\n }\n\n get deviceDecrypted() {\n return !!this._dehydratedDevice;\n }\n\n get dehydratedDeviceId() {\n return this._accountSetup.encryptedDehydratedDevice.deviceId;\n }\n\n finish() {\n this._accountSetup.finish(this._dehydratedDevice);\n }\n}\n\n// this vm adopts the same shape as KeyBackupViewModel so the same view can be reused.\nclass DecryptDehydratedDeviceViewModel extends ViewModel {\n constructor(accountSetupViewModel, decryptedCallback) {\n super(accountSetupViewModel.options);\n this._accountSetupViewModel = accountSetupViewModel;\n this._isBusy = false;\n this._status = Status.SetupKey;\n this._error = undefined;\n this._decryptedCallback = decryptedCallback;\n }\n\n get decryptAction() {\n return this.i18n`Restore`;\n }\n\n get purpose() {\n return this.i18n`claim your dehydrated device`;\n }\n\n get offerDehydratedDeviceSetup() {\n return false;\n }\n\n get dehydratedDeviceId() {\n return this._accountSetupViewModel._dehydratedDevice?.deviceId;\n }\n \n get isBusy() {\n return this._isBusy;\n }\n\n get backupVersion() { return 0; }\n\n get status() {\n return this._status;\n }\n\n get error() {\n return this._error?.message;\n }\n\n showPhraseSetup() {\n if (this._status === Status.SetupKey) {\n this._status = Status.SetupPhrase;\n this.emitChange(\"status\");\n }\n }\n\n showKeySetup() {\n if (this._status === Status.SetupPhrase) {\n this._status = Status.SetupKey;\n this.emitChange(\"status\");\n }\n }\n\n async _enterCredentials(keyType, credential) {\n if (credential) {\n try {\n this._isBusy = true;\n this.emitChange(\"isBusy\");\n const {encryptedDehydratedDevice} = this._accountSetupViewModel._accountSetup;\n const dehydratedDevice = await encryptedDehydratedDevice.decrypt(keyType, credential);\n this._decryptedCallback(dehydratedDevice);\n } catch (err) {\n console.error(err);\n this._error = err;\n this.emitChange(\"error\");\n } finally {\n this._isBusy = false;\n this.emitChange(\"\");\n }\n }\n }\n\n enterSecurityPhrase(passphrase) {\n this._enterCredentials(KeyType.Passphrase, passphrase);\n }\n\n enterSecurityKey(securityKey) {\n this._enterCredentials(KeyType.RecoveryKey, securityKey);\n }\n\n disable() {}\n}\n","/*\nCopyright 2020 Bruno Windels \n\nLicensed under the Apache License, Version 2.0 (the \"License\");\nyou may not use this file except in compliance with the License.\nYou may obtain a copy of the License at\n\n http://www.apache.org/licenses/LICENSE-2.0\n\nUnless required by applicable law or agreed to in writing, software\ndistributed under the License is distributed on an \"AS IS\" BASIS,\nWITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\nSee the License for the specific language governing permissions and\nlimitations under the License.\n*/\n\nimport {AccountSetupViewModel} from \"./AccountSetupViewModel.js\";\nimport {LoadStatus} from \"../matrix/Client.js\";\nimport {SyncStatus} from \"../matrix/Sync.js\";\nimport {ViewModel} from \"./ViewModel\";\n\nexport class SessionLoadViewModel extends ViewModel {\n constructor(options) {\n super(options);\n const {client, ready, homeserver, deleteSessionOnCancel} = options;\n this._client = client;\n this._ready = ready;\n this._homeserver = homeserver;\n this._deleteSessionOnCancel = deleteSessionOnCancel;\n this._loading = false;\n this._error = null;\n this.backUrl = this.urlCreator.urlForSegment(\"session\", true);\n this._accountSetupViewModel = undefined;\n\n }\n\n async start() {\n if (this._loading) {\n return;\n }\n try {\n this._loading = true;\n this.emitChange(\"loading\");\n this._waitHandle = this._client.loadStatus.waitFor(s => {\n if (s === LoadStatus.AccountSetup) {\n this._accountSetupViewModel = new AccountSetupViewModel(this.childOptions({accountSetup: this._client.accountSetup}));\n } else {\n this._accountSetupViewModel = undefined;\n }\n this.emitChange(\"loadLabel\");\n // wait for initial sync, but not catchup sync\n const isCatchupSync = s === LoadStatus.FirstSync &&\n this._client.sync.status.get() === SyncStatus.CatchupSync;\n return isCatchupSync ||\n s === LoadStatus.LoginFailed ||\n s === LoadStatus.Error ||\n s === LoadStatus.Ready;\n });\n try {\n await this._waitHandle.promise;\n } catch (err) {\n return; // aborted by goBack\n }\n // TODO: should we deal with no connection during initial sync \n // and we're retrying as well here?\n // e.g. show in the label what is going on wrt connectionstatus\n // much like we will once you are in the app. Probably a good idea\n\n // did it finish or get stuck at LoginFailed or Error?\n const loadStatus = this._client.loadStatus.get();\n const loadError = this._client.loadError;\n if (loadStatus === LoadStatus.FirstSync || loadStatus === LoadStatus.Ready) {\n const client = this._client;\n // session container is ready,\n // don't dispose it anymore when \n // we get disposed\n this._client = null;\n this._ready(client);\n }\n if (loadError) {\n console.error(\"session load error\", loadError);\n }\n } catch (err) {\n this._error = err;\n console.error(\"error thrown during session load\", err.stack);\n } finally {\n this._loading = false;\n // loadLabel in case of client.loadError also gets updated through this\n this.emitChange(\"loading\");\n }\n }\n\n\n dispose() {\n if (this._client) {\n this._client.dispose();\n this._client = null;\n }\n if (this._waitHandle) {\n // rejects with AbortError\n this._waitHandle.dispose();\n this._waitHandle = null;\n }\n }\n\n // to show a spinner or not\n get loading() {\n const client = this._client;\n if (client && client.loadStatus.get() === LoadStatus.AccountSetup) {\n return false;\n }\n return this._loading;\n }\n\n get loadLabel() {\n const client = this._client;\n const error = this._getError();\n if (error || (client && client.loadStatus.get() === LoadStatus.Error)) {\n return `Something went wrong: ${error && error.message}.`;\n }\n\n // Statuses related to login are handled by respective login view models\n if (client) {\n switch (client.loadStatus.get()) {\n case LoadStatus.QueryAccount:\n return `Querying account encryption setup…`;\n case LoadStatus.AccountSetup:\n return \"\"; // we'll show a header ing AccountSetupView\n case LoadStatus.SessionSetup:\n return `Setting up your encryption keys…`;\n case LoadStatus.Loading:\n return `Loading your conversations…`;\n case LoadStatus.FirstSync:\n return `Getting your conversations from the server…`;\n default:\n return this._client.loadStatus.get();\n }\n }\n\n return `Preparing…`;\n }\n\n _getError() {\n return this._error || this._client?.loadError; \n }\n\n get hasError() {\n return !!this._getError();\n }\n\n async exportLogs() {\n const logExport = await this.logger.export();\n this.platform.saveFileAs(logExport.asBlob(), `hydrogen-logs-${this.platform.clock.now()}.json`);\n }\n\n async logout() {\n await this._client.logout();\n this.navigation.push(\"session\", true);\n }\n\n get accountSetupViewModel() {\n return this._accountSetupViewModel;\n }\n}\n","/*\nCopyright 2021 The Matrix.org Foundation C.I.C.\n\nLicensed under the Apache License, Version 2.0 (the \"License\");\nyou may not use this file except in compliance with the License.\nYou may obtain a copy of the License at\n\n http://www.apache.org/licenses/LICENSE-2.0\n\nUnless required by applicable law or agreed to in writing, software\ndistributed under the License is distributed on an \"AS IS\" BASIS,\nWITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\nSee the License for the specific language governing permissions and\nlimitations under the License.\n*/\n\nimport {ViewModel} from \"../ViewModel\";\nimport {LoginFailure} from \"../../matrix/Client.js\";\n\nexport class PasswordLoginViewModel extends ViewModel {\n constructor(options) {\n super(options);\n const {loginOptions, attemptLogin} = options;\n this._loginOptions = loginOptions;\n this._attemptLogin = attemptLogin;\n this._isBusy = false;\n this._errorMessage = \"\";\n }\n\n get isBusy() { return this._isBusy; }\n get errorMessage() { return this._errorMessage; }\n\n setBusy(status) {\n this._isBusy = status;\n this.emitChange(\"isBusy\");\n }\n\n _showError(message) {\n this._errorMessage = message;\n this.emitChange(\"errorMessage\");\n }\n\n async login(username, password) {\n this._errorMessage = \"\";\n this.emitChange(\"errorMessage\");\n const status = await this._attemptLogin(this._loginOptions.password(username, password));\n let error = \"\";\n switch (status) {\n case LoginFailure.Credentials:\n error = this.i18n`Your username and/or password don't seem to be correct.`;\n break;\n case LoginFailure.Connection:\n error = this.i18n`Can't connect to ${this._loginOptions.homeserver}.`;\n break;\n case LoginFailure.Unknown:\n error = this.i18n`Something went wrong while checking your login and password.`;\n break;\n }\n if (error) {\n this._showError(error);\n }\n }\n}\n","/*\nCopyright 2021 The Matrix.org Foundation C.I.C.\n\nLicensed under the Apache License, Version 2.0 (the \"License\");\nyou may not use this file except in compliance with the License.\nYou may obtain a copy of the License at\n\n http://www.apache.org/licenses/LICENSE-2.0\n\nUnless required by applicable law or agreed to in writing, software\ndistributed under the License is distributed on an \"AS IS\" BASIS,\nWITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\nSee the License for the specific language governing permissions and\nlimitations under the License.\n*/\n\nimport {ViewModel} from \"../ViewModel\";\n\nexport class StartSSOLoginViewModel extends ViewModel{\n constructor(options) {\n super(options);\n this._sso = options.loginOptions.sso;\n this._isBusy = false;\n }\n \n get isBusy() { return this._isBusy; }\n \n setBusy(status) {\n this._isBusy = status;\n this.emitChange(\"isBusy\");\n }\n\n async startSSOLogin() {\n await this.platform.settingsStorage.setString(\"sso_ongoing_login_homeserver\", this._sso.homeserver);\n const link = this._sso.createSSORedirectURL(this.urlCreator.createSSOCallbackURL());\n this.platform.openUrl(link);\n }\n}\n","/*\nCopyright 2021 The Matrix.org Foundation C.I.C.\n\nLicensed under the Apache License, Version 2.0 (the \"License\");\nyou may not use this file except in compliance with the License.\nYou may obtain a copy of the License at\n\n http://www.apache.org/licenses/LICENSE-2.0\n\nUnless required by applicable law or agreed to in writing, software\ndistributed under the License is distributed on an \"AS IS\" BASIS,\nWITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\nSee the License for the specific language governing permissions and\nlimitations under the License.\n*/\n\nimport {ViewModel} from \"../ViewModel\";\nimport {LoginFailure} from \"../../matrix/Client.js\";\n\nexport class CompleteSSOLoginViewModel extends ViewModel {\n constructor(options) {\n super(options);\n const {\n loginToken,\n client,\n attemptLogin,\n } = options;\n this._loginToken = loginToken;\n this._client = client;\n this._attemptLogin = attemptLogin;\n this._errorMessage = \"\";\n this.performSSOLoginCompletion();\n }\n\n get errorMessage() { return this._errorMessage; }\n\n _showError(message) {\n this._errorMessage = message;\n this.emitChange(\"errorMessage\");\n }\n\n async performSSOLoginCompletion() {\n if (!this._loginToken) {\n return;\n }\n const homeserver = await this.platform.settingsStorage.getString(\"sso_ongoing_login_homeserver\");\n let loginOptions;\n try {\n loginOptions = await this._client.queryLogin(homeserver).result;\n }\n catch (err) {\n this._showError(err.message);\n return;\n }\n if (!loginOptions.token) {\n this.navigation.push(\"session\");\n return;\n }\n const status = await this._attemptLogin(loginOptions.token(this._loginToken));\n let error = \"\";\n switch (status) {\n case LoginFailure.Credentials:\n error = this.i18n`Your login token is invalid.`;\n break;\n case LoginFailure.Connection:\n error = this.i18n`Can't connect to ${homeserver}.`;\n break;\n case LoginFailure.Unknown:\n error = this.i18n`Something went wrong while checking your login token.`;\n break;\n }\n if (error) {\n this._showError(error);\n }\n }\n}\n","/*\nCopyright 2020 Bruno Windels \n\nLicensed under the Apache License, Version 2.0 (the \"License\");\nyou may not use this file except in compliance with the License.\nYou may obtain a copy of the License at\n\n http://www.apache.org/licenses/LICENSE-2.0\n\nUnless required by applicable law or agreed to in writing, software\ndistributed under the License is distributed on an \"AS IS\" BASIS,\nWITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\nSee the License for the specific language governing permissions and\nlimitations under the License.\n*/\n\nimport {Client} from \"../../matrix/Client.js\";\nimport {Options as BaseOptions, ViewModel} from \"../ViewModel\";\nimport {PasswordLoginViewModel} from \"./PasswordLoginViewModel.js\";\nimport {StartSSOLoginViewModel} from \"./StartSSOLoginViewModel.js\";\nimport {CompleteSSOLoginViewModel} from \"./CompleteSSOLoginViewModel.js\";\nimport {LoadStatus} from \"../../matrix/Client.js\";\nimport {SessionLoadViewModel} from \"../SessionLoadViewModel.js\";\nimport {SegmentType} from \"../navigation/index\";\n\nimport type {PasswordLoginMethod, SSOLoginHelper, TokenLoginMethod, ILoginMethod} from \"../../matrix/login\";\n\ntype Options = {\n defaultHomeserver: string;\n ready: ReadyFn;\n loginToken?: string;\n} & BaseOptions;\n\nexport class LoginViewModel extends ViewModel {\n private _ready: ReadyFn;\n private _loginToken?: string;\n private _client: Client;\n private _loginOptions?: LoginOptions;\n private _passwordLoginViewModel?: PasswordLoginViewModel;\n private _startSSOLoginViewModel?: StartSSOLoginViewModel;\n private _completeSSOLoginViewModel?: CompleteSSOLoginViewModel;\n private _loadViewModel?: SessionLoadViewModel;\n private _loadViewModelSubscription?: () => void;\n private _homeserver: string;\n private _queriedHomeserver?: string;\n private _abortHomeserverQueryTimeout?: () => void;\n private _abortQueryOperation?: () => void;\n\n private _hideHomeserver: boolean = false;\n private _isBusy: boolean = false;\n private _errorMessage: string = \"\";\n\n constructor(options: Readonly) {\n super(options);\n const {ready, defaultHomeserver, loginToken} = options;\n this._ready = ready;\n this._loginToken = loginToken;\n this._client = new Client(this.platform);\n this._homeserver = defaultHomeserver;\n this._initViewModels();\n }\n\n get passwordLoginViewModel(): PasswordLoginViewModel {\n return this._passwordLoginViewModel;\n }\n\n get startSSOLoginViewModel(): StartSSOLoginViewModel {\n return this._startSSOLoginViewModel;\n }\n\n get completeSSOLoginViewModel(): CompleteSSOLoginViewModel {\n return this._completeSSOLoginViewModel;\n }\n\n get homeserver(): string {\n return this._homeserver;\n }\n\n get resolvedHomeserver(): string | undefined {\n return this._loginOptions?.homeserver;\n }\n\n get errorMessage(): string {\n return this._errorMessage;\n }\n\n get showHomeserver(): boolean {\n return !this._hideHomeserver;\n }\n\n get loadViewModel(): SessionLoadViewModel {\n return this._loadViewModel;\n }\n\n get isBusy(): boolean {\n return this._isBusy;\n }\n\n get isFetchingLoginOptions(): boolean {\n return !!this._abortQueryOperation;\n }\n\n goBack(): void {\n this.navigation.push(\"session\");\n }\n\n private _initViewModels(): void {\n if (this._loginToken) {\n this._hideHomeserver = true;\n this._completeSSOLoginViewModel = this.track(new CompleteSSOLoginViewModel(\n this.childOptions(\n {\n client: this._client,\n attemptLogin: (loginMethod: TokenLoginMethod) => this.attemptLogin(loginMethod),\n loginToken: this._loginToken\n })));\n this.emitChange(\"completeSSOLoginViewModel\");\n }\n else {\n void this.queryHomeserver();\n }\n }\n\n private _showPasswordLogin(): void {\n this._passwordLoginViewModel = this.track(new PasswordLoginViewModel(\n this.childOptions({\n loginOptions: this._loginOptions,\n attemptLogin: (loginMethod: PasswordLoginMethod) => this.attemptLogin(loginMethod)\n })));\n this.emitChange(\"passwordLoginViewModel\");\n }\n\n private _showSSOLogin(): void {\n this._startSSOLoginViewModel = this.track(\n new StartSSOLoginViewModel(this.childOptions({loginOptions: this._loginOptions}))\n );\n this.emitChange(\"startSSOLoginViewModel\");\n }\n\n private _showError(message: string): void {\n this._errorMessage = message;\n this.emitChange(\"errorMessage\");\n }\n\n private _setBusy(status: boolean): void {\n this._isBusy = status;\n this._passwordLoginViewModel?.setBusy(status);\n this._startSSOLoginViewModel?.setBusy(status);\n this.emitChange(\"isBusy\");\n }\n\n async attemptLogin(loginMethod: ILoginMethod): Promise {\n this._setBusy(true);\n void this._client.startWithLogin(loginMethod, {inspectAccountSetup: true});\n const loadStatus = this._client.loadStatus;\n const handle = loadStatus.waitFor((status: LoadStatus) => status !== LoadStatus.Login);\n await handle.promise;\n this._setBusy(false);\n const status = loadStatus.get();\n if (status === LoadStatus.LoginFailed) {\n return this._client.loginFailure;\n }\n this._hideHomeserver = true;\n this.emitChange(\"hideHomeserver\");\n this._disposeViewModels();\n void this._createLoadViewModel();\n return null;\n }\n\n private _createLoadViewModel(): void {\n this._loadViewModelSubscription = this.disposeTracked(this._loadViewModelSubscription);\n this._loadViewModel = this.disposeTracked(this._loadViewModel);\n this._loadViewModel = this.track(\n new SessionLoadViewModel(\n this.childOptions({\n ready: (client) => {\n // make sure we don't delete the session in dispose when navigating away\n this._client = null;\n this._ready(client);\n },\n client: this._client,\n homeserver: this._homeserver\n })\n )\n );\n void this._loadViewModel.start();\n this.emitChange(\"loadViewModel\");\n this._loadViewModelSubscription = this.track(\n this._loadViewModel.disposableOn(\"change\", () => {\n if (!this._loadViewModel.loading) {\n this._loadViewModelSubscription = this.disposeTracked(this._loadViewModelSubscription);\n }\n this._setBusy(false);\n })\n );\n }\n\n private _disposeViewModels(): void {\n this._startSSOLoginViewModel = this.disposeTracked(this._startSSOLoginViewModel);\n this._passwordLoginViewModel = this.disposeTracked(this._passwordLoginViewModel);\n this._completeSSOLoginViewModel = this.disposeTracked(this._completeSSOLoginViewModel);\n this.emitChange(\"disposeViewModels\");\n }\n\n async setHomeserver(newHomeserver: string): Promise {\n this._homeserver = newHomeserver;\n // clear everything set by queryHomeserver\n this._loginOptions = undefined;\n this._queriedHomeserver = undefined;\n this._showError(\"\");\n this._disposeViewModels();\n this._abortQueryOperation = this.disposeTracked(this._abortQueryOperation);\n this.emitChange(\"loginViewModels\"); // multiple fields changing\n // also clear the timeout if it is still running\n this.disposeTracked(this._abortHomeserverQueryTimeout);\n const timeout = this.clock.createTimeout(1000);\n this._abortHomeserverQueryTimeout = this.track(() => timeout.abort());\n try {\n await timeout.elapsed();\n } catch (err) {\n if (err.name === \"AbortError\") {\n return; // still typing, don't query\n } else {\n throw err;\n }\n }\n this._abortHomeserverQueryTimeout = this.disposeTracked(this._abortHomeserverQueryTimeout);\n void this.queryHomeserver();\n }\n\n async queryHomeserver(): Promise {\n // don't repeat a query we've just done\n if (this._homeserver === this._queriedHomeserver || this._homeserver === \"\") {\n return;\n }\n this._queriedHomeserver = this._homeserver;\n // given that setHomeserver already clears everything set here,\n // and that is the only way to change the homeserver,\n // we don't need to reset things again here.\n // However, clear things set by setHomeserver:\n // if query is called before the typing timeout hits (e.g. field lost focus),\n // cancel the timeout so we don't query again.\n this._abortHomeserverQueryTimeout = this.disposeTracked(this._abortHomeserverQueryTimeout);\n // cancel ongoing query operation, if any\n this._abortQueryOperation = this.disposeTracked(this._abortQueryOperation);\n try {\n const queryOperation = this._client.queryLogin(this._homeserver);\n this._abortQueryOperation = this.track(() => queryOperation.abort());\n this.emitChange(\"isFetchingLoginOptions\");\n this._loginOptions = await queryOperation.result;\n this.emitChange(\"resolvedHomeserver\");\n }\n catch (e) {\n if (e.name === \"AbortError\") {\n return; //aborted, bail out\n } else {\n this._loginOptions = undefined;\n }\n } finally {\n this._abortQueryOperation = this.disposeTracked(this._abortQueryOperation);\n this.emitChange(\"isFetchingLoginOptions\");\n }\n if (this._loginOptions) {\n if (this._loginOptions.sso) { this._showSSOLogin(); }\n if (this._loginOptions.password) { this._showPasswordLogin(); }\n if (!this._loginOptions.sso && !this._loginOptions.password) {\n this._showError(\"This homeserver supports neither SSO nor password based login flows\");\n }\n }\n else {\n this._showError(`Could not query login methods supported by ${this.homeserver}`);\n }\n }\n\n dispose(): void {\n super.dispose();\n if (this._client) {\n // if we move away before we're done with initial sync\n // delete the session\n void this._client.deleteSession();\n }\n }\n}\n\ntype ReadyFn = (client: Client) => void;\n\n// TODO: move to Client.js when its converted to typescript.\ntype LoginOptions = {\n homeserver: string;\n password?: (username: string, password: string) => PasswordLoginMethod;\n sso?: SSOLoginHelper;\n token?: (loginToken: string) => TokenLoginMethod;\n};\n","/*\nCopyright 2021 The Matrix.org Foundation C.I.C.\n\nLicensed under the Apache License, Version 2.0 (the \"License\");\nyou may not use this file except in compliance with the License.\nYou may obtain a copy of the License at\n\n http://www.apache.org/licenses/LICENSE-2.0\n\nUnless required by applicable law or agreed to in writing, software\ndistributed under the License is distributed on an \"AS IS\" BASIS,\nWITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\nSee the License for the specific language governing permissions and\nlimitations under the License.\n*/\n\nimport {Options as BaseOptions, ViewModel} from \"./ViewModel\";\nimport {Client} from \"../matrix/Client.js\";\nimport {SegmentType} from \"./navigation/index\";\n\ntype Options = { sessionId: string; } & BaseOptions;\n\nexport class LogoutViewModel extends ViewModel {\n private _sessionId: string;\n private _busy: boolean;\n private _showConfirm: boolean;\n private _error?: Error;\n\n constructor(options: Options) {\n super(options);\n this._sessionId = options.sessionId;\n this._busy = false;\n this._showConfirm = true;\n this._error = undefined;\n }\n\n get showConfirm(): boolean {\n return this._showConfirm;\n }\n\n get busy(): boolean {\n return this._busy;\n }\n\n get cancelUrl(): string | undefined {\n return this.urlCreator.urlForSegment(\"session\", true);\n }\n\n async logout(): Promise {\n this._busy = true;\n this._showConfirm = false;\n this.emitChange(\"busy\");\n try {\n const client = new Client(this.platform);\n await client.startLogout(this._sessionId);\n this.navigation.push(\"session\", true);\n } catch (err) {\n this._error = err;\n this._busy = false;\n this.emitChange(\"busy\");\n }\n }\n\n get status(): string {\n if (this._error) {\n return this.i18n`Could not log out of device: ${this._error.message}`;\n } else {\n return this.i18n`Logging out… Please don't close the app.`;\n }\n }\n}\n","/*\nCopyright 2020 Bruno Windels \n\nLicensed under the Apache License, Version 2.0 (the \"License\");\nyou may not use this file except in compliance with the License.\nYou may obtain a copy of the License at\n\n http://www.apache.org/licenses/LICENSE-2.0\n\nUnless required by applicable law or agreed to in writing, software\ndistributed under the License is distributed on an \"AS IS\" BASIS,\nWITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\nSee the License for the specific language governing permissions and\nlimitations under the License.\n*/\n\nimport {SortedArray} from \"../observable/index.js\";\nimport {ViewModel} from \"./ViewModel\";\nimport {avatarInitials, getIdentifierColorNumber} from \"./avatar\";\n\nclass SessionItemViewModel extends ViewModel {\n constructor(options, pickerVM) {\n super(options);\n this._pickerVM = pickerVM;\n this._sessionInfo = options.sessionInfo;\n this._isDeleting = false;\n this._isClearing = false;\n this._error = null;\n this._exportDataUrl = null;\n }\n\n get error() {\n return this._error && this._error.message;\n }\n\n get id() {\n return this._sessionInfo.id;\n }\n\n get openUrl() {\n return this.urlCreator.urlForSegment(\"session\", this.id);\n }\n\n get label() {\n const {userId, comment} = this._sessionInfo;\n if (comment) {\n return `${userId} (${comment})`;\n } else {\n return userId;\n }\n }\n\n get sessionInfo() {\n return this._sessionInfo;\n }\n\n get exportDataUrl() {\n return this._exportDataUrl;\n }\n\n get avatarColorNumber() {\n return getIdentifierColorNumber(this._sessionInfo.userId);\n }\n\n get avatarInitials() {\n return avatarInitials(this._sessionInfo.userId);\n }\n}\n\n\nexport class SessionPickerViewModel extends ViewModel {\n constructor(options) {\n super(options);\n this._sessions = new SortedArray((s1, s2) => s1.id.localeCompare(s2.id));\n this._loadViewModel = null;\n this._error = null;\n }\n\n // this loads all the sessions\n async load() {\n const sessions = await this.platform.sessionInfoStorage.getAll();\n this._sessions.setManyUnsorted(sessions.map(s => {\n return new SessionItemViewModel(this.childOptions({sessionInfo: s}), this);\n }));\n }\n\n // for the loading of 1 picked session\n get loadViewModel() {\n return this._loadViewModel;\n }\n\n get sessions() {\n return this._sessions;\n }\n\n get cancelUrl() {\n return this.urlCreator.urlForSegment(\"login\");\n }\n}\n","/*\nCopyright 2020 Bruno Windels \n\nLicensed under the Apache License, Version 2.0 (the \"License\");\nyou may not use this file except in compliance with the License.\nYou may obtain a copy of the License at\n\n http://www.apache.org/licenses/LICENSE-2.0\n\nUnless required by applicable law or agreed to in writing, software\ndistributed under the License is distributed on an \"AS IS\" BASIS,\nWITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\nSee the License for the specific language governing permissions and\nlimitations under the License.\n*/\n\nimport {Client} from \"../matrix/Client.js\";\nimport {SessionViewModel} from \"./session/SessionViewModel.js\";\nimport {SessionLoadViewModel} from \"./SessionLoadViewModel.js\";\nimport {LoginViewModel} from \"./login/LoginViewModel\";\nimport {LogoutViewModel} from \"./LogoutViewModel\";\nimport {SessionPickerViewModel} from \"./SessionPickerViewModel.js\";\nimport {ViewModel} from \"./ViewModel\";\n\nexport class RootViewModel extends ViewModel {\n constructor(options) {\n super(options);\n this._error = null;\n this._sessionPickerViewModel = null;\n this._sessionLoadViewModel = null;\n this._loginViewModel = null;\n this._logoutViewModel = null;\n this._sessionViewModel = null;\n this._pendingClient = null;\n }\n\n async load() {\n this.track(this.navigation.observe(\"login\").subscribe(() => this._applyNavigation()));\n this.track(this.navigation.observe(\"session\").subscribe(() => this._applyNavigation()));\n this.track(this.navigation.observe(\"sso\").subscribe(() => this._applyNavigation()));\n this._applyNavigation(true);\n }\n\n async _applyNavigation(shouldRestoreLastUrl) {\n const isLogin = this.navigation.path.get(\"login\");\n const logoutSessionId = this.navigation.path.get(\"logout\")?.value;\n const sessionId = this.navigation.path.get(\"session\")?.value;\n const loginToken = this.navigation.path.get(\"sso\")?.value;\n if (isLogin) {\n if (this.activeSection !== \"login\") {\n this._showLogin();\n }\n } else if (logoutSessionId) {\n if (this.activeSection !== \"logout\") {\n this._showLogout(logoutSessionId);\n }\n } else if (sessionId === true) {\n if (this.activeSection !== \"picker\") {\n this._showPicker();\n }\n } else if (sessionId) {\n if (!this._sessionViewModel || this._sessionViewModel.id !== sessionId) {\n // see _showLogin for where _pendingClient comes from\n if (this._pendingClient && this._pendingClient.sessionId === sessionId) {\n const client = this._pendingClient;\n this._pendingClient = null;\n this._showSession(client);\n } else {\n // this should never happen, but we want to be sure not to leak it\n if (this._pendingClient) {\n this._pendingClient.dispose();\n this._pendingClient = null;\n }\n this._showSessionLoader(sessionId);\n }\n }\n } else if (loginToken) {\n this.urlCreator.normalizeUrl();\n if (this.activeSection !== \"login\") {\n this._showLogin(loginToken);\n }\n }\n else {\n try {\n if (!(shouldRestoreLastUrl && this.urlCreator.tryRestoreLastUrl())) {\n const sessionInfos = await this.platform.sessionInfoStorage.getAll();\n if (sessionInfos.length === 0) {\n this.navigation.push(\"login\");\n } else if (sessionInfos.length === 1) {\n this.navigation.push(\"session\", sessionInfos[0].id);\n } else {\n this.navigation.push(\"session\");\n }\n }\n } catch (err) {\n this._setSection(() => this._error = err);\n }\n }\n }\n\n async _showPicker() {\n this._setSection(() => {\n this._sessionPickerViewModel = new SessionPickerViewModel(this.childOptions());\n });\n try {\n await this._sessionPickerViewModel.load();\n } catch (err) {\n this._setSection(() => this._error = err);\n }\n }\n\n _showLogin(loginToken) {\n this._setSection(() => {\n this._loginViewModel = new LoginViewModel(this.childOptions({\n defaultHomeserver: this.platform.config[\"defaultHomeServer\"],\n ready: client => {\n // we don't want to load the session container again,\n // but we also want the change of screen to go through the navigation\n // so we store the session container in a temporary variable that will be\n // consumed by _applyNavigation, triggered by the navigation change\n //\n // Also, we should not call _setSection before the navigation is in the correct state,\n // as url creation (e.g. in RoomTileViewModel)\n // won't be using the correct navigation base path.\n this._pendingClient = client;\n this.navigation.push(\"session\", client.sessionId);\n },\n loginToken\n }));\n });\n }\n\n _showLogout(sessionId) {\n this._setSection(() => {\n this._logoutViewModel = new LogoutViewModel(this.childOptions({sessionId}));\n });\n }\n\n _showSession(client) {\n this._setSection(() => {\n this._sessionViewModel = new SessionViewModel(this.childOptions({client}));\n this._sessionViewModel.start();\n });\n }\n\n _showSessionLoader(sessionId) {\n const client = new Client(this.platform);\n client.startWithExistingSession(sessionId);\n this._setSection(() => {\n this._sessionLoadViewModel = new SessionLoadViewModel(this.childOptions({\n client,\n ready: client => this._showSession(client)\n }));\n this._sessionLoadViewModel.start();\n });\n }\n\n get activeSection() {\n if (this._error) {\n return \"error\";\n } else if (this._sessionViewModel) {\n return \"session\";\n } else if (this._loginViewModel) {\n return \"login\";\n } else if (this._logoutViewModel) {\n return \"logout\";\n } else if (this._sessionPickerViewModel) {\n return \"picker\";\n } else if (this._sessionLoadViewModel) {\n return \"loading\";\n } else {\n return \"redirecting\";\n }\n }\n\n _setSection(setter) {\n // clear all members the activeSection depends on\n this._error = null;\n this._sessionPickerViewModel = this.disposeTracked(this._sessionPickerViewModel);\n this._sessionLoadViewModel = this.disposeTracked(this._sessionLoadViewModel);\n this._loginViewModel = this.disposeTracked(this._loginViewModel);\n this._logoutViewModel = this.disposeTracked(this._logoutViewModel);\n this._sessionViewModel = this.disposeTracked(this._sessionViewModel);\n // now set it again\n setter();\n this._sessionPickerViewModel && this.track(this._sessionPickerViewModel);\n this._sessionLoadViewModel && this.track(this._sessionLoadViewModel);\n this._loginViewModel && this.track(this._loginViewModel);\n this._logoutViewModel && this.track(this._logoutViewModel);\n this._sessionViewModel && this.track(this._sessionViewModel);\n this.emitChange(\"activeSection\");\n }\n\n get error() { return this._error; }\n get sessionViewModel() { return this._sessionViewModel; }\n get loginViewModel() { return this._loginViewModel; }\n get logoutViewModel() { return this._logoutViewModel; }\n get sessionPickerViewModel() { return this._sessionPickerViewModel; }\n get sessionLoadViewModel() { return this._sessionLoadViewModel; }\n}\n","/*\nCopyright 2020 Bruno Windels \nCopyright 2020 The Matrix.org Foundation C.I.C.\n\nLicensed under the Apache License, Version 2.0 (the \"License\");\nyou may not use this file except in compliance with the License.\nYou may obtain a copy of the License at\n\n http://www.apache.org/licenses/LICENSE-2.0\n\nUnless required by applicable law or agreed to in writing, software\ndistributed under the License is distributed on an \"AS IS\" BASIS,\nWITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\nSee the License for the specific language governing permissions and\nlimitations under the License.\n*/\n\n// import {RecordRequester, ReplayRequester} from \"./matrix/net/request/replay\";\nimport {RootViewModel} from \"../../domain/RootViewModel.js\";\nimport {createNavigation, createRouter} from \"../../domain/navigation/index\";\n// Don't use a default export here, as we use multiple entries during legacy build,\n// which does not support default exports,\n// see https://github.com/rollup/plugins/tree/master/packages/multi-entry\nexport async function main(platform) {\n try {\n // to replay:\n // const fetchLog = await (await fetch(\"/fetchlogs/constrainterror.json\")).json();\n // const replay = new ReplayRequester(fetchLog, {delay: false});\n // const request = replay.request;\n\n // to record:\n // const recorder = new RecordRequester(createFetchRequest(clock.createTimeout));\n // const request = recorder.request;\n // window.getBrawlFetchLog = () => recorder.log();\n await platform.init();\n const navigation = createNavigation();\n platform.setNavigation(navigation);\n const urlRouter = createRouter({navigation, history: platform.history});\n urlRouter.attach();\n const vm = new RootViewModel({\n platform,\n // the only public interface of the router is to create urls,\n // so we call it that in the view models\n urlCreator: urlRouter,\n navigation,\n });\n await vm.load();\n platform.createAndMountRootView(vm);\n } catch(err) {\n console.error(`${err.message}:\\n${err.stack}`);\n }\n}\n","/*\nCopyright 2020 Bruno Windels \nCopyright 2020 The Matrix.org Foundation C.I.C.\n\nLicensed under the Apache License, Version 2.0 (the \"License\");\nyou may not use this file except in compliance with the License.\nYou may obtain a copy of the License at\n\n http://www.apache.org/licenses/LICENSE-2.0\n\nUnless required by applicable law or agreed to in writing, software\ndistributed under the License is distributed on an \"AS IS\" BASIS,\nWITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\nSee the License for the specific language governing permissions and\nlimitations under the License.\n*/\n\nimport {ConnectionError} from \"../matrix/error.js\";\nimport type {Timeout} from \"../platform/web/dom/Clock.js\"\nimport type {IAbortable} from \"./AbortableOperation\";\n\ntype TimeoutCreator = (ms: number) => Timeout;\n\nexport function abortOnTimeout(createTimeout: TimeoutCreator, timeoutAmount: number, requestResult: IAbortable, responsePromise: Promise) {\n const timeout = createTimeout(timeoutAmount);\n // abort request if timeout finishes first\n let timedOut = false;\n timeout.elapsed().then(\n () => {\n timedOut = true;\n requestResult.abort();\n },\n () => {} // ignore AbortError when timeout is aborted\n );\n // abort timeout if request finishes first\n return responsePromise.then(\n response => {\n timeout.abort();\n return response;\n },\n err => {\n timeout.abort();\n // map error to TimeoutError\n if (err.name === \"AbortError\" && timedOut) {\n throw new ConnectionError(`Request timed out after ${timeoutAmount}ms`, true);\n } else {\n throw err;\n }\n }\n );\n}\n\n// because impunity only takes one entrypoint currently,\n// these tests aren't run by yarn test as that does not\n// include platform specific code,\n// and this file is only included by platform specific code,\n// see how to run in package.json and replace src/main.js with this file.\nimport {Clock as MockClock} from \"../mocks/Clock.js\";\nimport {Request as MockRequest} from \"../mocks/Request.js\";\nimport {AbortError} from \"../matrix/error.js\";\nexport function tests() {\n return {\n \"ConnectionError on timeout\": async assert => {\n const clock = new MockClock();\n const request = new MockRequest();\n const promise = abortOnTimeout(clock.createTimeout, 10000, request, request.response());\n clock.elapse(10000);\n await assert.rejects(promise, ConnectionError);\n assert(request.aborted);\n },\n \"Abort is canceled once response resolves\": async assert => {\n const clock = new MockClock();\n const request = new MockRequest();\n const promise = abortOnTimeout(clock.createTimeout, 10000, request, request.response());\n request.resolve(5);\n clock.elapse(10000);\n assert(!request.aborted);\n assert.equal(await promise, 5);\n },\n \"AbortError from request is not mapped to ConnectionError\": async assert => {\n const clock = new MockClock();\n const request = new MockRequest();\n const promise = abortOnTimeout(clock.createTimeout, 10000, request, request.response());\n request.reject(new AbortError());\n assert(!request.aborted);\n assert.rejects(promise, AbortError);\n }\n }\n\n}\n","/*\nCopyright 2020 Bruno Windels \nCopyright 2020 The Matrix.org Foundation C.I.C.\n\nLicensed under the Apache License, Version 2.0 (the \"License\");\nyou may not use this file except in compliance with the License.\nYou may obtain a copy of the License at\n\n http://www.apache.org/licenses/LICENSE-2.0\n\nUnless required by applicable law or agreed to in writing, software\ndistributed under the License is distributed on an \"AS IS\" BASIS,\nWITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\nSee the License for the specific language governing permissions and\nlimitations under the License.\n*/\n\nexport function addCacheBuster(urlStr, random = Math.random) {\n // XHR doesn't have a good way to disable cache,\n // so add a random query param\n // see https://davidtranscend.com/blog/prevent-ie11-cache-ajax-requests/\n if (urlStr.includes(\"?\")) {\n urlStr = urlStr + \"&\";\n } else {\n urlStr = urlStr + \"?\";\n }\n return urlStr + `_cacheBuster=${Math.ceil(random() * Number.MAX_SAFE_INTEGER)}`;\n}\n\nexport function mapAsFormData(map) {\n const formData = new FormData();\n for (const [name, value] of map) {\n // Special case {name: string, blob: BlobHandle} to set a filename.\n // This is the format returned by platform.openFile\n if (value.blob?.nativeBlob && value.name) {\n formData.set(name, value.blob.nativeBlob, value.name);\n } else {\n formData.set(name, value);\n }\n }\n return formData;\n}\n\nexport function tests() {\n return {\n \"add cache buster\": assert => {\n const random = () => 0.5;\n assert.equal(addCacheBuster(\"http://foo\", random), \"http://foo?_cacheBuster=4503599627370496\");\n assert.equal(addCacheBuster(\"http://foo?bar=baz\", random), \"http://foo?bar=baz&_cacheBuster=4503599627370496\");\n }\n }\n}\n","/*\nCopyright 2020 The Matrix.org Foundation C.I.C.\n\nLicensed under the Apache License, Version 2.0 (the \"License\");\nyou may not use this file except in compliance with the License.\nYou may obtain a copy of the License at\n\n http://www.apache.org/licenses/LICENSE-2.0\n\nUnless required by applicable law or agreed to in writing, software\ndistributed under the License is distributed on an \"AS IS\" BASIS,\nWITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\nSee the License for the specific language governing permissions and\nlimitations under the License.\n*/\n\nimport {\n AbortError,\n ConnectionError\n} from \"../../../../matrix/error.js\";\nimport {addCacheBuster, mapAsFormData} from \"./common.js\";\n\nclass RequestResult {\n constructor(promise, xhr) {\n this._promise = promise;\n this._xhr = xhr;\n }\n\n abort() {\n this._xhr.abort();\n }\n\n response() {\n return this._promise;\n }\n}\n\nfunction createXhr(url, {method, headers, timeout, format, uploadProgress}) {\n const xhr = new XMLHttpRequest();\n\n if (uploadProgress) {\n xhr.upload.addEventListener(\"progress\", evt => uploadProgress(evt.loaded));\n }\n\n xhr.open(method, url);\n \n if (format === \"buffer\") {\n // important to call this after calling open\n xhr.responseType = \"arraybuffer\";\n }\n if (headers) {\n for(const [name, value] of headers.entries()) {\n try {\n xhr.setRequestHeader(name, value);\n } catch (err) {\n console.info(`Could not set ${name} header: ${err.message}`);\n }\n }\n }\n if (timeout) {\n xhr.timeout = timeout;\n }\n\n return xhr;\n}\n\nfunction xhrAsPromise(xhr, method, url) {\n return new Promise((resolve, reject) => {\n xhr.addEventListener(\"load\", () => resolve(xhr));\n xhr.addEventListener(\"abort\", () => reject(new AbortError()));\n xhr.addEventListener(\"error\", () => reject(new ConnectionError(`Error ${method} ${url}`)));\n xhr.addEventListener(\"timeout\", () => reject(new ConnectionError(`Timeout ${method} ${url}`, true)));\n });\n}\n\nexport function xhrRequest(url, options) {\n let {cache, format, body, method} = options;\n if (!cache) {\n url = addCacheBuster(url);\n }\n const xhr = createXhr(url, options);\n const promise = xhrAsPromise(xhr, method, url).then(xhr => {\n const {status} = xhr;\n let body = null;\n if (format === \"buffer\") {\n body = xhr.response;\n } else if (xhr.getResponseHeader(\"Content-Type\") === \"application/json\") {\n body = JSON.parse(xhr.responseText);\n }\n return {status, body};\n });\n\n // if a BlobHandle, take native blob\n if (body?.nativeBlob) {\n body = body.nativeBlob;\n }\n if (body instanceof Map) {\n body = mapAsFormData(body);\n }\n xhr.send(body || null);\n\n return new RequestResult(promise, xhr);\n}\n","/*\nCopyright 2020 Bruno Windels \nCopyright 2020 The Matrix.org Foundation C.I.C.\n\nLicensed under the Apache License, Version 2.0 (the \"License\");\nyou may not use this file except in compliance with the License.\nYou may obtain a copy of the License at\n\n http://www.apache.org/licenses/LICENSE-2.0\n\nUnless required by applicable law or agreed to in writing, software\ndistributed under the License is distributed on an \"AS IS\" BASIS,\nWITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\nSee the License for the specific language governing permissions and\nlimitations under the License.\n*/\n\nimport {\n AbortError,\n ConnectionError\n} from \"../../../../matrix/error.js\";\nimport {abortOnTimeout} from \"../../../../utils/timeout\";\nimport {addCacheBuster, mapAsFormData} from \"./common.js\";\nimport {xhrRequest} from \"./xhr.js\";\n\nclass RequestResult {\n constructor(promise, controller) {\n if (!controller) {\n const abortPromise = new Promise((_, reject) => {\n this._controller = {\n abort() {\n const err = new Error(\"fetch request aborted\");\n err.name = \"AbortError\";\n reject(err);\n }\n };\n });\n this.promise = Promise.race([promise, abortPromise]);\n } else {\n this.promise = promise;\n this._controller = controller;\n }\n }\n\n abort() {\n this._controller.abort();\n }\n\n response() {\n return this.promise;\n }\n}\n\nexport function createFetchRequest(createTimeout, serviceWorkerHandler) {\n return function fetchRequest(url, requestOptions) {\n if (serviceWorkerHandler?.haltRequests) {\n // prevent any requests while waiting\n // for the new service worker to get activated.\n // Once this happens, the page will be reloaded\n // by the serviceWorkerHandler so this is fine.\n return new RequestResult(new Promise(() => {}), {});\n }\n // fetch doesn't do upload progress yet, delegate to xhr\n if (requestOptions?.uploadProgress) {\n return xhrRequest(url, requestOptions);\n }\n let {method, headers, body, timeout, format, cache = false} = requestOptions;\n const controller = typeof AbortController === \"function\" ? new AbortController() : null;\n // if a BlobHandle, take native blob\n if (body?.nativeBlob) {\n body = body.nativeBlob;\n }\n if (body instanceof Map) {\n body = mapAsFormData(body);\n }\n let options = {method, body};\n if (controller) {\n options = Object.assign(options, {\n signal: controller.signal\n });\n }\n if (!cache) {\n url = addCacheBuster(url);\n }\n options = Object.assign(options, {\n mode: \"cors\",\n credentials: \"omit\",\n referrer: \"no-referrer\",\n // ideally we'd turn off cache here, but Safari interprets\n // `Access-Control-Allow-Headers` strictly (only when fetch is\n // intercepted by a service worker strangely enough), in that\n // it gives a CORS error if Cache-Control is not present\n // in the list of allowed headers (which it isn't commonly, at least not on matrix.org).\n // With no-store or no-cache here, it does set `Cache-Control`\n // so we don't do that, and prevent caching with `addCacheBuster`.\n // We also hope the server responds with `Cache-Control: no-store` so\n // we don't fill the http cache with api responses.\n // \n // cache: \"no-store\",\n cache: \"default\",\n });\n if (headers) {\n const fetchHeaders = new Headers();\n for(const [name, value] of headers.entries()) {\n fetchHeaders.append(name, value);\n }\n options.headers = fetchHeaders;\n }\n const promise = fetch(url, options).then(async response => {\n const {status} = response;\n let body;\n try {\n if (format === \"json\") {\n body = await response.json();\n } else if (format === \"buffer\") {\n body = await response.arrayBuffer();\n }\n else if (format === \"text\") {\n body = await response.text();\n }\n } catch (err) {\n // some error pages return html instead of json, ignore error\n if (!(err.name === \"SyntaxError\" && status >= 400)) {\n throw err;\n }\n }\n return {status, body};\n }, err => {\n if (err.name === \"AbortError\") {\n // map DOMException with name AbortError to our own AbortError type\n // as we don't want DOMExceptions in the protocol layer.\n throw new AbortError();\n } else if (err instanceof TypeError) {\n // Network errors are reported as TypeErrors, see\n // https://developer.mozilla.org/en-US/docs/Web/API/Fetch_API/Using_Fetch#Checking_that_the_fetch_was_successful\n // this can either mean user is offline, server is offline, or a CORS error (server misconfiguration).\n // \n // One could check navigator.onLine to rule out the first\n // but the 2 latter ones are indistinguishable from javascript.\n throw new ConnectionError(`${method} ${url}: ${err.message}`);\n }\n throw err;\n });\n const result = new RequestResult(promise, controller);\n\n if (timeout) {\n result.promise = abortOnTimeout(createTimeout, timeout, result, result.promise);\n }\n\n return result;\n } \n}\n","/*\nCopyright 2020 Bruno Windels \n\nLicensed under the Apache License, Version 2.0 (the \"License\");\nyou may not use this file except in compliance with the License.\nYou may obtain a copy of the License at\n\n http://www.apache.org/licenses/LICENSE-2.0\n\nUnless required by applicable law or agreed to in writing, software\ndistributed under the License is distributed on an \"AS IS\" BASIS,\nWITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\nSee the License for the specific language governing permissions and\nlimitations under the License.\n*/\n\ninterface ISessionInfo {\n id: string;\n deviceId: string;\n userId: string;\n homeserver: string;\n homeServer: string; // deprecate this over time\n accessToken: string;\n lastUsed: number;\n}\n\n// todo: this should probably be in platform/types?\ninterface ISessionInfoStorage {\n getAll(): Promise;\n updateLastUsed(id: string, timestamp: number): Promise;\n get(id: string): Promise;\n add(sessionInfo: ISessionInfo): Promise;\n delete(sessionId: string): Promise;\n}\n\nexport class SessionInfoStorage implements ISessionInfoStorage {\n private readonly _name: string;\n\n constructor(name: string) {\n this._name = name;\n }\n\n getAll(): Promise {\n const sessionsJson = localStorage.getItem(this._name);\n if (sessionsJson) {\n const sessions = JSON.parse(sessionsJson);\n if (Array.isArray(sessions)) {\n return Promise.resolve(sessions);\n }\n }\n return Promise.resolve([]);\n }\n\n async updateLastUsed(id: string, timestamp: number): Promise {\n const sessions = await this.getAll();\n if (sessions) {\n const session = sessions.find(session => session.id === id);\n if (session) {\n session.lastUsed = timestamp;\n localStorage.setItem(this._name, JSON.stringify(sessions));\n }\n }\n }\n\n async get(id: string): Promise {\n const sessions = await this.getAll();\n if (sessions) {\n return sessions.find(session => session.id === id);\n }\n }\n\n async add(sessionInfo: ISessionInfo): Promise {\n const sessions = await this.getAll();\n sessions.push(sessionInfo);\n localStorage.setItem(this._name, JSON.stringify(sessions));\n }\n\n async delete(sessionId: string): Promise {\n let sessions = await this.getAll();\n sessions = sessions.filter(s => s.id !== sessionId);\n localStorage.setItem(this._name, JSON.stringify(sessions));\n }\n \n}\n","/*\nCopyright 2020 The Matrix.org Foundation C.I.C.\n\nLicensed under the Apache License, Version 2.0 (the \"License\");\nyou may not use this file except in compliance with the License.\nYou may obtain a copy of the License at\n\n http://www.apache.org/licenses/LICENSE-2.0\n\nUnless required by applicable law or agreed to in writing, software\ndistributed under the License is distributed on an \"AS IS\" BASIS,\nWITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\nSee the License for the specific language governing permissions and\nlimitations under the License.\n*/\n\nexport class SettingsStorage {\n constructor(prefix) {\n this._prefix = prefix;\n }\n\n async setInt(key, value) {\n this._set(key, value);\n }\n\n async getInt(key, defaultValue = 0) {\n const value = window.localStorage.getItem(`${this._prefix}${key}`);\n if (typeof value === \"string\") {\n return parseInt(value, 10);\n }\n return defaultValue;\n }\n\n async setBool(key, value) {\n this._set(key, value);\n }\n\n async getBool(key, defaultValue = false) {\n const value = window.localStorage.getItem(`${this._prefix}${key}`);\n if (typeof value === \"string\") {\n return value === \"true\";\n }\n return defaultValue;\n }\n\n async setString(key, value) {\n this._set(key, value);\n }\n\n async getString(key) {\n return window.localStorage.getItem(`${this._prefix}${key}`);\n }\n\n async remove(key) {\n window.localStorage.removeItem(`${this._prefix}${key}`);\n }\n\n async _set(key, value) {\n window.localStorage.setItem(`${this._prefix}${key}`, value);\n }\n}\n","/*\nCopyright 2020 The Matrix.org Foundation C.I.C.\n\nLicensed under the Apache License, Version 2.0 (the \"License\");\nyou may not use this file except in compliance with the License.\nYou may obtain a copy of the License at\n\n http://www.apache.org/licenses/LICENSE-2.0\n\nUnless required by applicable law or agreed to in writing, software\ndistributed under the License is distributed on an \"AS IS\" BASIS,\nWITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\nSee the License for the specific language governing permissions and\nlimitations under the License.\n*/\nexport class UTF8 {\n constructor() {\n this._encoder = null;\n this._decoder = null;\n }\n\n encode(str) {\n if (!this._encoder) {\n this._encoder = new TextEncoder();\n }\n return this._encoder.encode(str);\n }\n\n decode(buffer) {\n if (!this._decoder) {\n this._decoder = new TextDecoder();\n }\n return this._decoder.decode(buffer);\n }\n}\n","/*\n * base64-arraybuffer\n * https://github.com/niklasvh/base64-arraybuffer\n *\n * Copyright (c) 2012 Niklas von Hertzen\n * Licensed under the MIT license.\n */\n(function(){\n \"use strict\";\n\n var chars = \"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/\";\n\n // Use a lookup table to find the index.\n var lookup = new Uint8Array(256);\n for (var i = 0; i < chars.length; i++) {\n lookup[chars.charCodeAt(i)] = i;\n }\n\n exports.encode = function(arraybuffer) {\n var bytes = new Uint8Array(arraybuffer),\n i, len = bytes.length, base64 = \"\";\n\n for (i = 0; i < len; i+=3) {\n base64 += chars[bytes[i] >> 2];\n base64 += chars[((bytes[i] & 3) << 4) | (bytes[i + 1] >> 4)];\n base64 += chars[((bytes[i + 1] & 15) << 2) | (bytes[i + 2] >> 6)];\n base64 += chars[bytes[i + 2] & 63];\n }\n\n if ((len % 3) === 2) {\n base64 = base64.substring(0, base64.length - 1) + \"=\";\n } else if (len % 3 === 1) {\n base64 = base64.substring(0, base64.length - 2) + \"==\";\n }\n\n return base64;\n };\n\n exports.decode = function(base64) {\n var bufferLength = base64.length * 0.75,\n len = base64.length, i, p = 0,\n encoded1, encoded2, encoded3, encoded4;\n\n if (base64[base64.length - 1] === \"=\") {\n bufferLength--;\n if (base64[base64.length - 2] === \"=\") {\n bufferLength--;\n }\n }\n\n var arraybuffer = new ArrayBuffer(bufferLength),\n bytes = new Uint8Array(arraybuffer);\n\n for (i = 0; i < len; i+=4) {\n encoded1 = lookup[base64.charCodeAt(i)];\n encoded2 = lookup[base64.charCodeAt(i+1)];\n encoded3 = lookup[base64.charCodeAt(i+2)];\n encoded4 = lookup[base64.charCodeAt(i+3)];\n\n bytes[p++] = (encoded1 << 2) | (encoded2 >> 4);\n bytes[p++] = ((encoded2 & 15) << 4) | (encoded3 >> 2);\n bytes[p++] = ((encoded3 & 3) << 6) | (encoded4 & 63);\n }\n\n return arraybuffer;\n };\n})();\n","/*\nCopyright 2020 The Matrix.org Foundation C.I.C.\n\nLicensed under the Apache License, Version 2.0 (the \"License\");\nyou may not use this file except in compliance with the License.\nYou may obtain a copy of the License at\n\n http://www.apache.org/licenses/LICENSE-2.0\n\nUnless required by applicable law or agreed to in writing, software\ndistributed under the License is distributed on an \"AS IS\" BASIS,\nWITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\nSee the License for the specific language governing permissions and\nlimitations under the License.\n*/\n\nimport base64 from \"base64-arraybuffer\";\n\nexport class Base64 {\n encodeUnpadded(buffer) {\n const str = base64.encode(buffer);\n const paddingIdx = str.indexOf(\"=\");\n if (paddingIdx !== -1) {\n return str.substr(0, paddingIdx);\n } else {\n return str;\n }\n }\n\n encode(buffer) {\n return base64.encode(buffer);\n }\n\n decode(str) {\n return base64.decode(str);\n }\n}\n","var Buffer = {\n isBuffer: function(array) {return array instanceof Uint8Array;},\n from: function(arrayBuffer) {return arrayBuffer;},\n allocUnsafe: function(size) {return Buffer.alloc(size);},\n alloc: function(size) {return new Uint8Array(size);}\n};\nexport default Buffer;\n","'use strict'\n// base-x encoding / decoding\n// Copyright (c) 2018 base-x contributors\n// Copyright (c) 2014-2018 The Bitcoin Core developers (base58.cpp)\n// Distributed under the MIT software license, see the accompanying\n// file LICENSE or http://www.opensource.org/licenses/mit-license.php.\n// @ts-ignore\nvar _Buffer = require('safe-buffer').Buffer\nfunction base (ALPHABET) {\n if (ALPHABET.length >= 255) { throw new TypeError('Alphabet too long') }\n var BASE_MAP = new Uint8Array(256)\n for (var j = 0; j < BASE_MAP.length; j++) {\n BASE_MAP[j] = 255\n }\n for (var i = 0; i < ALPHABET.length; i++) {\n var x = ALPHABET.charAt(i)\n var xc = x.charCodeAt(0)\n if (BASE_MAP[xc] !== 255) { throw new TypeError(x + ' is ambiguous') }\n BASE_MAP[xc] = i\n }\n var BASE = ALPHABET.length\n var LEADER = ALPHABET.charAt(0)\n var FACTOR = Math.log(BASE) / Math.log(256) // log(BASE) / log(256), rounded up\n var iFACTOR = Math.log(256) / Math.log(BASE) // log(256) / log(BASE), rounded up\n function encode (source) {\n if (Array.isArray(source) || source instanceof Uint8Array) { source = _Buffer.from(source) }\n if (!_Buffer.isBuffer(source)) { throw new TypeError('Expected Buffer') }\n if (source.length === 0) { return '' }\n // Skip & count leading zeroes.\n var zeroes = 0\n var length = 0\n var pbegin = 0\n var pend = source.length\n while (pbegin !== pend && source[pbegin] === 0) {\n pbegin++\n zeroes++\n }\n // Allocate enough space in big-endian base58 representation.\n var size = ((pend - pbegin) * iFACTOR + 1) >>> 0\n var b58 = new Uint8Array(size)\n // Process the bytes.\n while (pbegin !== pend) {\n var carry = source[pbegin]\n // Apply \"b58 = b58 * 256 + ch\".\n var i = 0\n for (var it1 = size - 1; (carry !== 0 || i < length) && (it1 !== -1); it1--, i++) {\n carry += (256 * b58[it1]) >>> 0\n b58[it1] = (carry % BASE) >>> 0\n carry = (carry / BASE) >>> 0\n }\n if (carry !== 0) { throw new Error('Non-zero carry') }\n length = i\n pbegin++\n }\n // Skip leading zeroes in base58 result.\n var it2 = size - length\n while (it2 !== size && b58[it2] === 0) {\n it2++\n }\n // Translate the result into a string.\n var str = LEADER.repeat(zeroes)\n for (; it2 < size; ++it2) { str += ALPHABET.charAt(b58[it2]) }\n return str\n }\n function decodeUnsafe (source) {\n if (typeof source !== 'string') { throw new TypeError('Expected String') }\n if (source.length === 0) { return _Buffer.alloc(0) }\n var psz = 0\n // Skip leading spaces.\n if (source[psz] === ' ') { return }\n // Skip and count leading '1's.\n var zeroes = 0\n var length = 0\n while (source[psz] === LEADER) {\n zeroes++\n psz++\n }\n // Allocate enough space in big-endian base256 representation.\n var size = (((source.length - psz) * FACTOR) + 1) >>> 0 // log(58) / log(256), rounded up.\n var b256 = new Uint8Array(size)\n // Process the characters.\n while (source[psz]) {\n // Decode character\n var carry = BASE_MAP[source.charCodeAt(psz)]\n // Invalid character\n if (carry === 255) { return }\n var i = 0\n for (var it3 = size - 1; (carry !== 0 || i < length) && (it3 !== -1); it3--, i++) {\n carry += (BASE * b256[it3]) >>> 0\n b256[it3] = (carry % 256) >>> 0\n carry = (carry / 256) >>> 0\n }\n if (carry !== 0) { throw new Error('Non-zero carry') }\n length = i\n psz++\n }\n // Skip trailing spaces.\n if (source[psz] === ' ') { return }\n // Skip leading zeroes in b256.\n var it4 = size - length\n while (it4 !== size && b256[it4] === 0) {\n it4++\n }\n var vch = _Buffer.allocUnsafe(zeroes + (size - it4))\n vch.fill(0x00, 0, zeroes)\n var j = zeroes\n while (it4 !== size) {\n vch[j++] = b256[it4++]\n }\n return vch\n }\n function decode (string) {\n var buffer = decodeUnsafe(string)\n if (buffer) { return buffer }\n throw new Error('Non-base' + BASE + ' character')\n }\n return {\n encode: encode,\n decodeUnsafe: decodeUnsafe,\n decode: decode\n }\n}\nmodule.exports = base\n","var basex = require('base-x')\nvar ALPHABET = '123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz'\n\nmodule.exports = basex(ALPHABET)\n","/*\nCopyright 2020 The Matrix.org Foundation C.I.C.\n\nLicensed under the Apache License, Version 2.0 (the \"License\");\nyou may not use this file except in compliance with the License.\nYou may obtain a copy of the License at\n\n http://www.apache.org/licenses/LICENSE-2.0\n\nUnless required by applicable law or agreed to in writing, software\ndistributed under the License is distributed on an \"AS IS\" BASIS,\nWITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\nSee the License for the specific language governing permissions and\nlimitations under the License.\n*/\n\nimport bs58 from \"bs58\";\n\nexport class Base58 {\n encode(buffer) {\n return bs58.encode(buffer);\n }\n\n decode(str) {\n return bs58.decode(str);\n }\n}\n","/*\nCopyright 2020 The Matrix.org Foundation C.I.C.\n\nLicensed under the Apache License, Version 2.0 (the \"License\");\nyou may not use this file except in compliance with the License.\nYou may obtain a copy of the License at\n\n http://www.apache.org/licenses/LICENSE-2.0\n\nUnless required by applicable law or agreed to in writing, software\ndistributed under the License is distributed on an \"AS IS\" BASIS,\nWITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\nSee the License for the specific language governing permissions and\nlimitations under the License.\n*/\n\nimport {UTF8} from \"../dom/UTF8.js\";\nimport {Base64} from \"./Base64.js\";\nimport {Base58} from \"./Base58.js\";\n\nexport class Encoding {\n constructor() {\n this.utf8 = new UTF8();\n this.base64 = new Base64();\n this.base58 = new Base58();\n }\n}\n","/*\nCopyright 2020 The Matrix.org Foundation C.I.C.\n\nLicensed under the Apache License, Version 2.0 (the \"License\");\nyou may not use this file except in compliance with the License.\nYou may obtain a copy of the License at\n\n http://www.apache.org/licenses/LICENSE-2.0\n\nUnless required by applicable law or agreed to in writing, software\ndistributed under the License is distributed on an \"AS IS\" BASIS,\nWITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\nSee the License for the specific language governing permissions and\nlimitations under the License.\n*/\n\nexport class OlmWorker {\n constructor(workerPool) {\n this._workerPool = workerPool;\n }\n\n megolmDecrypt(session, ciphertext) {\n const sessionKey = session.export_session(session.first_known_index());\n return this._workerPool.send({type: \"megolm_decrypt\", ciphertext, sessionKey});\n }\n\n async createAccountAndOTKs(account, otkAmount) {\n // IE11 does not support getRandomValues in a worker, so we have to generate the values upfront.\n let randomValues;\n if (window.msCrypto) {\n randomValues = [\n window.msCrypto.getRandomValues(new Uint8Array(64)),\n window.msCrypto.getRandomValues(new Uint8Array(otkAmount * 32)),\n ];\n }\n const pickle = await this._workerPool.send({type: \"olm_create_account_otks\", randomValues, otkAmount}).response();\n account.unpickle(\"\", pickle);\n }\n\n async createOutboundOlmSession(account, newSession, theirIdentityKey, theirOneTimeKey) {\n const accountPickle = account.pickle(\"\");\n let randomValues;\n if (window.msCrypto) {\n randomValues = [\n window.msCrypto.getRandomValues(new Uint8Array(64)),\n ];\n }\n const sessionPickle = await this._workerPool.send({type: \"olm_create_outbound\", accountPickle, theirIdentityKey, theirOneTimeKey, randomValues}).response();\n newSession.unpickle(\"\", sessionPickle);\n }\n\n dispose() {\n this._workerPool.dispose();\n }\n}\n","/*\nCopyright 2020 Bruno Windels \nCopyright 2021 The Matrix.org Foundation C.I.C.\n\nLicensed under the Apache License, Version 2.0 (the \"License\");\nyou may not use this file except in compliance with the License.\nYou may obtain a copy of the License at\n\n http://www.apache.org/licenses/LICENSE-2.0\n\nUnless required by applicable law or agreed to in writing, software\ndistributed under the License is distributed on an \"AS IS\" BASIS,\nWITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\nSee the License for the specific language governing permissions and\nlimitations under the License.\n*/\n\nimport {\n openDatabase,\n txnAsPromise,\n reqAsPromise,\n iterateCursor,\n fetchResults,\n} from \"../matrix/storage/idb/utils\";\nimport {BaseLogger} from \"./BaseLogger\";\nimport type {Interval} from \"../platform/web/dom/Clock\";\nimport type {Platform} from \"../platform/web/Platform.js\";\nimport type {BlobHandle} from \"../platform/web/dom/BlobHandle.js\";\nimport type {ILogItem, ILogExport, ISerializedItem} from \"./types\";\nimport type {LogFilter} from \"./LogFilter\";\n\ntype QueuedItem = {\n json: string;\n id?: number;\n}\n\nexport class IDBLogger extends BaseLogger {\n private readonly _name: string;\n private readonly _limit: number;\n private readonly _flushInterval: Interval;\n private _queuedItems: QueuedItem[];\n\n constructor(options: {name: string, flushInterval?: number, limit?: number, platform: Platform, serializedTransformer?: (item: ISerializedItem) => ISerializedItem}) {\n super(options);\n const {name, flushInterval = 60 * 1000, limit = 3000} = options;\n this._name = name;\n this._limit = limit;\n this._queuedItems = this._loadQueuedItems();\n // TODO: also listen for unload just in case sync keeps on running after pagehide is fired?\n window.addEventListener(\"pagehide\", this, false);\n this._flushInterval = this._platform.clock.createInterval(() => this._tryFlush(), flushInterval);\n }\n\n // TODO: move dispose to ILogger, listen to pagehide elsewhere and call dispose from there, which calls _finishAllAndFlush\n dispose(): void {\n window.removeEventListener(\"pagehide\", this, false);\n this._flushInterval.dispose();\n }\n\n handleEvent(evt: Event): void {\n if (evt.type === \"pagehide\") {\n this._finishAllAndFlush();\n }\n }\n\n async _tryFlush(): Promise {\n const db = await this._openDB();\n try {\n const txn = db.transaction([\"logs\"], \"readwrite\");\n const logs = txn.objectStore(\"logs\");\n const amount = this._queuedItems.length;\n for(const i of this._queuedItems) {\n logs.add(i);\n }\n const itemCount = await reqAsPromise(logs.count());\n if (itemCount > this._limit) {\n // delete an extra 10% so we don't need to delete every time we flush\n let deleteAmount = (itemCount - this._limit) + Math.round(0.1 * this._limit);\n await iterateCursor(logs.openCursor(), (_, __, cursor) => {\n cursor.delete();\n deleteAmount -= 1;\n return {done: deleteAmount === 0};\n });\n }\n await txnAsPromise(txn);\n this._queuedItems.splice(0, amount);\n } catch (err) {\n console.error(\"Could not flush logs\", err);\n } finally {\n try {\n db.close();\n } catch (e) {}\n }\n }\n\n _finishAllAndFlush(): void {\n this._finishOpenItems();\n this.log({l: \"pagehide, closing logs\", t: \"navigation\"});\n this._persistQueuedItems(this._queuedItems);\n }\n\n _loadQueuedItems(): QueuedItem[] {\n const key = `${this._name}_queuedItems`;\n try {\n const json = window.localStorage.getItem(key);\n if (json) {\n window.localStorage.removeItem(key);\n return JSON.parse(json);\n }\n } catch (err) {\n console.error(\"Could not load queued log items\", err);\n }\n return [];\n }\n\n _openDB(): Promise {\n return openDatabase(this._name, db => db.createObjectStore(\"logs\", {keyPath: \"id\", autoIncrement: true}), 1);\n }\n \n _persistItem(logItem: ILogItem, filter: LogFilter, forced: boolean): void {\n const serializedItem = logItem.serialize(filter, undefined, forced);\n if (serializedItem) {\n const transformedSerializedItem = this._serializedTransformer(serializedItem);\n this._queuedItems.push({\n json: JSON.stringify(transformedSerializedItem)\n });\n }\n }\n\n _persistQueuedItems(items: QueuedItem[]): void {\n try {\n window.localStorage.setItem(`${this._name}_queuedItems`, JSON.stringify(items));\n } catch (e) {\n console.error(\"Could not persist queued log items in localStorage, they will likely be lost\", e);\n }\n }\n\n async export(): Promise {\n const db = await this._openDB();\n try {\n const txn = db.transaction([\"logs\"], \"readonly\");\n const logs = txn.objectStore(\"logs\");\n const storedItems: QueuedItem[] = await fetchResults(logs.openCursor(), () => false);\n const allItems = storedItems.concat(this._queuedItems);\n return new IDBLogExport(allItems, this, this._platform);\n } finally {\n try {\n db.close();\n } catch (e) {}\n }\n }\n\n async _removeItems(items: QueuedItem[]): Promise {\n const db = await this._openDB();\n try {\n const txn = db.transaction([\"logs\"], \"readwrite\");\n const logs = txn.objectStore(\"logs\");\n for (const item of items) {\n if (typeof item.id === \"number\") {\n logs.delete(item.id);\n } else {\n // assume the (non-persisted) object in each array will be the same\n const queuedIdx = this._queuedItems.indexOf(item);\n if (queuedIdx === -1) {\n this._queuedItems.splice(queuedIdx, 1);\n }\n }\n }\n await txnAsPromise(txn);\n } finally {\n try {\n db.close();\n } catch (e) {}\n }\n }\n}\n\nclass IDBLogExport implements ILogExport {\n private readonly _items: QueuedItem[];\n private readonly _logger: IDBLogger;\n private readonly _platform: Platform;\n\n constructor(items: QueuedItem[], logger: IDBLogger, platform: Platform) {\n this._items = items;\n this._logger = logger;\n this._platform = platform;\n }\n \n get count(): number {\n return this._items.length;\n }\n\n /**\n * @return {Promise}\n */\n removeFromStore(): Promise {\n return this._logger._removeItems(this._items);\n }\n\n asBlob(): BlobHandle {\n const log = {\n formatVersion: 1,\n appVersion: this._platform.updateService?.version,\n items: this._items.map(i => JSON.parse(i.json))\n };\n const json = JSON.stringify(log);\n const buffer: Uint8Array = this._platform.encoding.utf8.encode(json);\n const blob: BlobHandle = this._platform.createBlob(buffer, \"application/json\");\n return blob;\n }\n}\n","/*\nCopyright 2020 Bruno Windels \nCopyright 2021 Daniel Fedorin \n\nLicensed under the Apache License, Version 2.0 (the \"License\");\nyou may not use this file except in compliance with the License.\nYou may obtain a copy of the License at\n\n http://www.apache.org/licenses/LICENSE-2.0\n\nUnless required by applicable law or agreed to in writing, software\ndistributed under the License is distributed on an \"AS IS\" BASIS,\nWITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\nSee the License for the specific language governing permissions and\nlimitations under the License.\n*/\n\n// DOM helper functions\n\nimport {ViewNode} from \"./types\";\n\nexport type ClassNames = { [className: string]: boolean | ((value: T) => boolean) }\nexport type BasicAttributes = { [attribute: string]: ClassNames | boolean | string }\nexport type Child = string | Text | ViewNode;\n\nexport function isChildren(children: object | Child | Child[]): children is Child | Child[] {\n // children should be an not-object (that's the attributes), or a domnode, or an array\n return typeof children !== \"object\" || \"nodeType\" in children || Array.isArray(children);\n}\n\nexport function classNames(obj: ClassNames, value: T): string {\n return Object.entries(obj).reduce((cn, [name, enabled]) => {\n if (typeof enabled === \"function\") {\n enabled = enabled(value);\n }\n if (enabled) {\n return cn + (cn.length ? \" \" : \"\") + name;\n } else {\n return cn;\n }\n }, \"\");\n}\n\nexport function setAttribute(el: Element, name: string, value: string | boolean): void {\n if (name === \"className\") {\n name = \"class\";\n }\n if (value === false) {\n el.removeAttribute(name);\n } else {\n if (value === true) {\n value = name;\n }\n el.setAttribute(name, value);\n }\n}\n\nexport function el(elementName: string, attributes?: BasicAttributes | Child | Child[], children?: Child | Child[]): Element {\n return elNS(HTML_NS, elementName, attributes, children);\n}\n\nexport function elNS(ns: string, elementName: string, attributes?: BasicAttributes | Child | Child[], children?: Child | Child[]): Element {\n if (attributes && isChildren(attributes)) {\n children = attributes;\n attributes = undefined;\n }\n\n const e = document.createElementNS(ns, elementName);\n\n if (attributes) {\n for (let [name, value] of Object.entries(attributes)) {\n if (typeof value === \"object\") {\n // Only className should ever be an object; be careful\n // here anyway and ignore object-valued non-className attributes.\n value = (value !== null && name === \"className\") ? classNames(value, undefined) : false;\n }\n setAttribute(e, name, value);\n }\n }\n\n if (children) {\n if (!Array.isArray(children)) {\n children = [children];\n }\n for (let c of children) {\n if (typeof c === \"string\") {\n c = text(c);\n }\n e.appendChild(c);\n }\n }\n return e;\n}\n\nexport function text(str: string): Text {\n return document.createTextNode(str);\n}\n\nexport const HTML_NS: string = \"http://www.w3.org/1999/xhtml\";\nexport const SVG_NS: string = \"http://www.w3.org/2000/svg\";\n\nexport const TAG_NAMES = {\n [HTML_NS]: [\n \"br\", \"a\", \"ol\", \"ul\", \"li\", \"div\", \"h1\", \"h2\", \"h3\", \"h4\", \"h5\", \"h6\",\n \"p\", \"strong\", \"em\", \"span\", \"img\", \"section\", \"main\", \"article\", \"aside\", \"del\", \"blockquote\",\n \"table\", \"thead\", \"tbody\", \"tr\", \"th\", \"td\", \"hr\",\n \"pre\", \"code\", \"button\", \"time\", \"input\", \"textarea\", \"select\", \"option\", \"label\", \"form\",\n \"progress\", \"output\", \"video\"],\n [SVG_NS]: [\"svg\", \"g\", \"path\", \"circle\", \"ellipse\", \"rect\", \"use\"]\n} as const;\n\nexport const tag: { [tagName in typeof TAG_NAMES[string][number]]: (attributes?: BasicAttributes | Child | Child[], children?: Child | Child[]) => Element } = {} as any;\n\nfor (const [ns, tags] of Object.entries(TAG_NAMES)) {\n for (const tagName of tags) {\n tag[tagName] = function(attributes, children) {\n return elNS(ns, tagName, attributes, children);\n }\n }\n}\n","/*\nCopyright 2021 The Matrix.org Foundation C.I.C.\n\nLicensed under the Apache License, Version 2.0 (the \"License\");\nyou may not use this file except in compliance with the License.\nYou may obtain a copy of the License at\n\n http://www.apache.org/licenses/LICENSE-2.0\n\nUnless required by applicable law or agreed to in writing, software\ndistributed under the License is distributed on an \"AS IS\" BASIS,\nWITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\nSee the License for the specific language governing permissions and\nlimitations under the License.\n*/\n\nimport {IView, IMountArgs, ViewNode} from \"./types\";\nimport {tag} from \"./html\";\n\nexport function mountView(view: IView, mountArgs?: IMountArgs): ViewNode {\n let node;\n try {\n node = view.mount(mountArgs);\n } catch (err) {\n node = errorToDOM(err);\n }\n return node;\n}\n\nexport function errorToDOM(error: Error): Element {\n const stack = new Error().stack;\n let callee: string | null = null;\n if (stack) {\n callee = stack.split(\"\\n\")[1];\n }\n return tag.div([\n tag.h2(\"Something went wrong…\"),\n tag.h3(error.message),\n tag.p(`This occurred while running ${callee}.`),\n tag.pre(error.stack),\n ]);\n}\n\nexport function insertAt(parentNode: Element, idx: number, childNode: Node): void {\n const isLast = idx === parentNode.childElementCount;\n if (isLast) {\n parentNode.appendChild(childNode);\n } else {\n const nextDomNode = parentNode.children[idx];\n parentNode.insertBefore(childNode, nextDomNode);\n }\n}\n\nexport function removeChildren(parentNode: Element): void {\n parentNode.innerHTML = '';\n}\n\nexport function disableTargetCallback(callback: (evt: Event) => Promise): (evt: Event) => Promise {\n return async (evt: Event) => {\n (evt.target as HTMLElement)?.setAttribute(\"disabled\", \"disabled\");\n await callback(evt);\n (evt.target as HTMLElement)?.removeAttribute(\"disabled\");\n }\n}\n","/*\nCopyright 2020 Bruno Windels \n\nLicensed under the Apache License, Version 2.0 (the \"License\");\nyou may not use this file except in compliance with the License.\nYou may obtain a copy of the License at\n\n http://www.apache.org/licenses/LICENSE-2.0\n\nUnless required by applicable law or agreed to in writing, software\ndistributed under the License is distributed on an \"AS IS\" BASIS,\nWITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\nSee the License for the specific language governing permissions and\nlimitations under the License.\n*/\n\nimport {el} from \"./html\";\nimport {mountView, insertAt} from \"./utils\";\nimport {SubscriptionHandle} from \"../../../../observable/BaseObservable\";\nimport {BaseObservableList as ObservableList, IListObserver} from \"../../../../observable/list/BaseObservableList\";\nimport {IView, IMountArgs} from \"./types\";\n\nexport interface IOptions {\n list: ObservableList,\n onItemClick?: (childView: V, evt: UIEvent) => void,\n className?: string,\n tagName?: string,\n parentProvidesUpdates?: boolean\n}\n\nexport class ListView implements IView, IListObserver {\n\n private _onItemClick?: (childView: V, evt: UIEvent) => void;\n private _className?: string;\n private _tagName: string;\n private _root?: Element;\n protected _subscription?: SubscriptionHandle;\n protected _childCreator: (value: T) => V;\n protected _mountArgs: IMountArgs;\n protected _list: ObservableList;\n protected _childInstances?: V[];\n\n constructor(\n {list, onItemClick, className, tagName = \"ul\", parentProvidesUpdates = true}: IOptions, \n childCreator: (value: T) => V\n ) {\n this._onItemClick = onItemClick;\n this._list = list;\n this._className = className;\n this._tagName = tagName;\n this._root = undefined;\n this._subscription = undefined;\n this._childCreator = childCreator;\n this._childInstances = undefined;\n this._mountArgs = {parentProvidesUpdates};\n }\n\n root(): Element | undefined {\n // won't be undefined when called between mount and unmount\n return this._root;\n }\n\n update(attributes: IOptions) {\n if (attributes.list) {\n if (this._subscription) {\n this._unloadList();\n while (this._root!.lastChild) {\n this._root!.lastChild.remove();\n }\n }\n this._list = attributes.list;\n this.loadList();\n }\n }\n\n mount(): Element {\n const attr: {[name: string]: any} = {};\n if (this._className) {\n attr.className = this._className;\n }\n const root = this._root = el(this._tagName, attr);\n this.loadList();\n if (this._onItemClick) {\n root.addEventListener(\"click\", this);\n }\n return root;\n }\n\n handleEvent(evt: Event) {\n if (evt.type === \"click\") {\n this._handleClick(evt as UIEvent);\n }\n }\n\n unmount(): void {\n if (this._list) {\n this._unloadList();\n }\n }\n\n private _handleClick(event: UIEvent) {\n if (event.target === this._root || !this._onItemClick) {\n return;\n }\n let childNode = event.target as Element;\n while (childNode.parentNode !== this._root) {\n childNode = childNode.parentNode as Element;\n }\n const index = Array.prototype.indexOf.call(this._root!.childNodes, childNode);\n const childView = this._childInstances![index];\n if (childView) {\n this._onItemClick(childView, event);\n }\n }\n\n private _unloadList() {\n this._subscription = this._subscription!();\n for (let child of this._childInstances!) {\n child.unmount();\n }\n this._childInstances = undefined;\n }\n\n protected loadList() {\n if (!this._list) {\n return;\n }\n this._subscription = this._list.subscribe(this);\n this._childInstances = [];\n const fragment = document.createDocumentFragment();\n for (let item of this._list) {\n const child = this._childCreator(item);\n this._childInstances!.push(child);\n fragment.appendChild(mountView(child, this._mountArgs));\n }\n this._root!.appendChild(fragment);\n }\n\n onReset() {\n for (const child of this._childInstances!) {\n child.root()!.remove();\n child.unmount();\n }\n this._childInstances!.length = 0;\n }\n\n onAdd(idx: number, value: T) {\n this.addChild(idx, value);\n }\n\n onRemove(idx: number, value: T) {\n this.removeChild(idx);\n }\n\n onMove(fromIdx: number, toIdx: number, value: T) {\n this.moveChild(fromIdx, toIdx);\n }\n\n onUpdate(i: number, value: T, params: any) {\n this.updateChild(i, value, params);\n }\n\n protected addChild(childIdx: number, value: T) {\n const child = this._childCreator(value);\n this._childInstances!.splice(childIdx, 0, child);\n insertAt(this._root!, childIdx, mountView(child, this._mountArgs));\n }\n\n protected removeChild(childIdx: number) {\n const [child] = this._childInstances!.splice(childIdx, 1);\n child.root()!.remove();\n child.unmount();\n }\n\n protected moveChild(fromChildIdx: number, toChildIdx: number) {\n const [child] = this._childInstances!.splice(fromChildIdx, 1);\n this._childInstances!.splice(toChildIdx, 0, child);\n child.root()!.remove();\n insertAt(this._root!, toChildIdx, child.root()! as Element);\n }\n\n protected updateChild(childIdx: number, value: T, params: any) {\n if (this._childInstances) {\n const instance = this._childInstances![childIdx];\n instance && instance.update(value, params);\n }\n }\n\n // TODO: is this the list or view index? \n protected recreateItem(index: number, value: T) {\n if (this._childInstances) {\n const child = this._childCreator(value);\n if (!child) {\n this.onRemove(index, value);\n } else {\n const [oldChild] = this._childInstances!.splice(index, 1, child);\n this._root!.replaceChild(child.mount(this._mountArgs), oldChild.root()!);\n oldChild.unmount();\n }\n }\n }\n\n public getChildInstanceByIndex(idx: number): V | undefined {\n return this._childInstances?.[idx];\n }\n}\n","/*\nCopyright 2021 The Matrix.org Foundation C.I.C.\nCopyright 2021 Daniel Fedorin \n\nLicensed under the Apache License, Version 2.0 (the \"License\");\nyou may not use this file except in compliance with the License.\nYou may obtain a copy of the License at\n\n http://www.apache.org/licenses/LICENSE-2.0\n\nUnless required by applicable law or agreed to in writing, software\ndistributed under the License is distributed on an \"AS IS\" BASIS,\nWITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\nSee the License for the specific language governing permissions and\nlimitations under the License.\n*/\n\nimport {IMountArgs, ViewNode, IView} from \"./types\";\n\nexport interface IObservableValue {\n on?(event: \"change\", handler: (props?: string[]) => void): void;\n off?(event: \"change\", handler: (props?: string[]) => void): void;\n}\n\nexport abstract class BaseUpdateView implements IView {\n protected _value: T\n protected _boundUpdateFromValue: ((props?: string[]) => void) | null\n\n abstract mount(args?: IMountArgs): ViewNode;\n abstract root(): ViewNode | undefined;\n abstract update(...any);\n\n constructor(value :T) {\n this._value = value;\n // TODO: can avoid this if we adopt the handleEvent pattern in our EventListener\n this._boundUpdateFromValue = null;\n }\n\n subscribeOnMount(options?: IMountArgs): void {\n const parentProvidesUpdates = options && options.parentProvidesUpdates;\n if (!parentProvidesUpdates) {\n this._subscribe();\n }\n }\n\n unmount(): void {\n this._unsubscribe();\n }\n\n get value(): T {\n return this._value;\n }\n\n _updateFromValue(changedProps?: string[]) {\n this.update(this._value, changedProps);\n }\n\n _subscribe(): void {\n if (typeof this._value?.on === \"function\") {\n this._boundUpdateFromValue = this._updateFromValue.bind(this) as (props?: string[]) => void;\n this._value.on(\"change\", this._boundUpdateFromValue);\n }\n }\n\n _unsubscribe(): void {\n if (this._boundUpdateFromValue) {\n if (typeof this._value.off === \"function\") {\n this._value.off(\"change\", this._boundUpdateFromValue);\n }\n this._boundUpdateFromValue = null;\n }\n }\n}\n","/*\nCopyright 2020 Bruno Windels \nCopyright 2021 Daniel Fedorin \n\nLicensed under the Apache License, Version 2.0 (the \"License\");\nyou may not use this file except in compliance with the License.\nYou may obtain a copy of the License at\n\n http://www.apache.org/licenses/LICENSE-2.0\n\nUnless required by applicable law or agreed to in writing, software\ndistributed under the License is distributed on an \"AS IS\" BASIS,\nWITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\nSee the License for the specific language governing permissions and\nlimitations under the License.\n*/\n\nimport { setAttribute, text, isChildren, classNames, TAG_NAMES, HTML_NS, ClassNames, Child as NonBoundChild} from \"./html\";\nimport {mountView} from \"./utils\";\nimport {BaseUpdateView, IObservableValue} from \"./BaseUpdateView\";\nimport {IMountArgs, ViewNode, IView} from \"./types\";\n\nfunction objHasFns(obj: ClassNames): obj is { [className: string]: boolean } {\n for(const value of Object.values(obj)) {\n if (typeof value === \"function\") {\n return true;\n }\n }\n return false;\n}\n\nexport type RenderFn = (t: Builder, vm: T) => ViewNode;\ntype TextBinding = (T) => string | number | boolean | undefined | null;\ntype Child = NonBoundChild | TextBinding;\ntype Children = Child | Child[];\ntype EventHandler = ((event: Event) => void);\ntype AttributeStaticValue = string | boolean;\ntype AttributeBinding = (value: T) => AttributeStaticValue;\nexport type AttrValue = AttributeStaticValue | AttributeBinding | EventHandler | ClassNames;\nexport type Attributes = { [attribute: string]: AttrValue };\ntype ElementFn = (attributes?: Attributes | Children, children?: Children) => Element;\nexport type Builder = TemplateBuilder & { [tagName in typeof TAG_NAMES[string][number]]: ElementFn };\n\n/**\n Bindable template. Renders once, and allows bindings for given nodes. If you need\n to change the structure on a condition, use a subtemplate (if)\n\n supports\n - event handlers (attribute fn value with name that starts with on)\n - one way binding of attributes (other attribute fn value)\n - one way binding of text values (child fn value)\n - refs to get dom nodes\n - className binding returning object with className => enabled map\n - add subviews inside the template\n*/\n// TODO: should we rename this to BoundView or something? As opposed to StaticView ...\nexport abstract class TemplateView extends BaseUpdateView {\n private _eventListeners?: { node: Element, name: string, fn: EventHandler, useCapture: boolean }[] = undefined;\n private _bindings?: (() => void)[] = undefined;\n private _root?: ViewNode = undefined;\n // public because used by TemplateBuilder\n _subViews?: IView[] = undefined;\n\n _attach(): void {\n if (this._eventListeners) {\n for (let {node, name, fn, useCapture} of this._eventListeners) {\n node.addEventListener(name, fn, useCapture);\n }\n }\n }\n\n _detach(): void {\n if (this._eventListeners) {\n for (let {node, name, fn, useCapture} of this._eventListeners) {\n node.removeEventListener(name, fn, useCapture);\n }\n }\n }\n\n abstract render(t: Builder, value: T): ViewNode;\n\n mount(options?: IMountArgs): ViewNode {\n const builder = new TemplateBuilder(this) as Builder;\n try {\n this._root = this.render(builder, this._value);\n } finally {\n builder.close();\n }\n // takes care of update being called when needed\n this.subscribeOnMount(options);\n this._attach();\n return this._root!;\n }\n\n unmount(): void {\n this._detach();\n super.unmount();\n if (this._subViews) {\n for (const v of this._subViews) {\n v.unmount();\n }\n }\n }\n\n root(): ViewNode | undefined {\n return this._root;\n }\n\n update(value: T, props?: string[]): void {\n this._value = value;\n if (this._bindings) {\n for (const binding of this._bindings) {\n binding();\n }\n }\n }\n\n _addEventListener(node: Element, name: string, fn: (event: Event) => void, useCapture: boolean = false): void {\n if (!this._eventListeners) {\n this._eventListeners = [];\n }\n this._eventListeners.push({node, name, fn, useCapture});\n }\n\n _addBinding(bindingFn: () => void): void {\n if (!this._bindings) {\n this._bindings = [];\n }\n this._bindings.push(bindingFn);\n }\n\n addSubView(view: IView): void {\n if (!this._subViews) {\n this._subViews = [];\n }\n this._subViews.push(view);\n }\n\n removeSubView(view: IView): void {\n if (!this._subViews) { return; }\n const idx = this._subViews.indexOf(view);\n if (idx !== -1) {\n this._subViews.splice(idx, 1);\n }\n }\n\n updateSubViews(value: IObservableValue, props: string[]) {\n if (this._subViews) {\n for (const v of this._subViews) {\n v.update(value, props);\n }\n }\n }\n}\n\n// what is passed to render\nexport class TemplateBuilder {\n private _templateView: TemplateView;\n private _closed: boolean = false;\n\n constructor(templateView: TemplateView) {\n this._templateView = templateView;\n }\n\n close(): void {\n this._closed = true;\n }\n\n _addBinding(fn: () => void): void {\n if (this._closed) {\n console.trace(\"Adding a binding after render will likely cause memory leaks\");\n }\n this._templateView._addBinding(fn);\n }\n\n get _value(): T {\n return this._templateView.value;\n }\n\n addEventListener(node: Element, name: string, fn: (event: Event) => void, useCapture: boolean = false): void {\n this._templateView._addEventListener(node, name, fn, useCapture);\n }\n\n _addAttributeBinding(node: Element, name: string, fn: (value: T) => boolean | string): void {\n let prevValue: string | boolean | undefined = undefined;\n const binding = () => {\n const newValue = fn(this._value);\n if (prevValue !== newValue) {\n prevValue = newValue;\n setAttribute(node, name, newValue);\n }\n };\n this._addBinding(binding);\n binding();\n }\n\n _addClassNamesBinding(node: Element, obj: ClassNames): void {\n this._addAttributeBinding(node, \"className\", value => classNames(obj, value));\n }\n\n _addTextBinding(fn: (value: T) => ReturnType>): Text {\n const initialValue = fn(this._value)+\"\";\n const node = text(initialValue);\n let prevValue = initialValue;\n const binding = () => {\n const newValue = fn(this._value)+\"\";\n if (prevValue !== newValue) {\n prevValue = newValue;\n node.textContent = newValue;\n }\n };\n\n this._addBinding(binding);\n return node;\n }\n\n _isEventHandler(key: string, value: AttrValue): value is (event: Event) => void {\n // This isn't actually safe, but it's incorrect to feed event handlers to\n // non-on* attributes.\n return key.startsWith(\"on\") && key.length > 2 && typeof value === \"function\";\n }\n\n _setNodeAttributes(node: Element, attributes: Attributes): void {\n for(let [key, value] of Object.entries(attributes)) {\n // binding for className as object of className => enabled\n if (typeof value === \"object\") {\n if (key !== \"className\" || value === null) {\n // Ignore non-className objects.\n continue;\n }\n if (objHasFns(value)) {\n this._addClassNamesBinding(node, value);\n } else {\n setAttribute(node, key, classNames(value, this._value));\n }\n } else if (this._isEventHandler(key, value)) {\n const eventName = key.substr(2, 1).toLowerCase() + key.substr(3);\n const handler = value;\n this._templateView._addEventListener(node, eventName, handler);\n } else if (typeof value === \"function\") {\n this._addAttributeBinding(node, key, value);\n } else {\n setAttribute(node, key, value);\n }\n }\n }\n\n _setNodeChildren(node: Element, children: Children): void{\n if (!Array.isArray(children)) {\n children = [children];\n }\n for (let child of children) {\n if (typeof child === \"function\") {\n child = this._addTextBinding(child);\n } else if (typeof child === \"string\") {\n // not a DOM node, turn into text\n child = text(child);\n }\n node.appendChild(child);\n }\n }\n \n _addReplaceNodeBinding(fn: (value: T) => R, renderNode: (old: ViewNode | null) => ViewNode): ViewNode {\n let prevValue = fn(this._value);\n let node = renderNode(null);\n\n const binding = () => {\n const newValue = fn(this._value);\n if (prevValue !== newValue) {\n prevValue = newValue;\n const newNode = renderNode(node);\n if (node.parentNode) {\n node.parentNode.replaceChild(newNode, node);\n }\n node = newNode;\n }\n };\n this._addBinding(binding);\n return node;\n }\n\n el(name: string, attributes?: Attributes | Children, children?: Children): ViewNode {\n return this.elNS(HTML_NS, name, attributes, children);\n }\n\n elNS(ns: string, name: string, attributesOrChildren?: Attributes | Children, children?: Children): ViewNode {\n let attributes: Attributes | undefined;\n if (attributesOrChildren) {\n if (isChildren(attributesOrChildren)) {\n children = attributesOrChildren as Children;\n } else {\n attributes = attributesOrChildren as Attributes;\n }\n }\n\n const node = document.createElementNS(ns, name);\n \n if (attributes) {\n this._setNodeAttributes(node, attributes);\n }\n if (children) {\n this._setNodeChildren(node, children);\n }\n\n return node;\n }\n\n // this inserts a view, and is not a view factory for `if`, so returns the root element to insert in the template\n // you should not call t.view() and not use the result (e.g. attach the result to the template DOM tree).\n view(view: IView, mountOptions?: IMountArgs): ViewNode {\n this._templateView.addSubView(view);\n return mountView(view, mountOptions);\n }\n\n // map a value to a view, every time the value changes\n mapView(mapFn: (value: T) => R, viewCreator: (mapped: R) => IView | null): ViewNode {\n return this._addReplaceNodeBinding(mapFn, (prevNode) => {\n if (prevNode && prevNode.nodeType !== Node.COMMENT_NODE) {\n const subViews = this._templateView._subViews;\n if (subViews) {\n const viewIdx = subViews.findIndex(v => v.root() === prevNode);\n if (viewIdx !== -1) {\n const [view] = subViews.splice(viewIdx, 1);\n view.unmount();\n }\n }\n }\n const view = viewCreator(mapFn(this._value));\n if (view) {\n return this.view(view);\n } else {\n return document.createComment(\"node binding placeholder\");\n }\n });\n }\n\n // Special case of mapView for a TemplateView.\n // Always creates a TemplateView, if this is optional depending\n // on mappedValue, use `if` or `mapView`\n map(mapFn: (value: T) => R, renderFn: (mapped: R, t: Builder, vm: T) => ViewNode): ViewNode {\n return this.mapView(mapFn, mappedValue => {\n return new InlineTemplateView(this._value, (t, vm) => {\n const rootNode = renderFn(mappedValue, t, vm);\n if (!rootNode) {\n // TODO: this will confuse mapView which assumes that\n // a comment node means there is no view to clean up\n return document.createComment(\"map placeholder\");\n }\n return rootNode;\n });\n });\n }\n\n ifView(predicate: (value: T) => boolean, viewCreator: (value: T) => IView): ViewNode {\n return this.mapView(\n value => !!predicate(value),\n enabled => enabled ? viewCreator(this._value) : null\n );\n }\n\n // creates a conditional subtemplate\n // use mapView if you need to map to a different view class\n if(predicate: (value: T) => boolean, renderFn: (t: Builder, vm: T) => ViewNode) {\n return this.ifView(predicate, vm => new InlineTemplateView(vm, renderFn));\n }\n\n /** You probably are looking for something else, like map or mapView.\n This is an escape hatch that allows you to do manual DOM manipulations\n as a reaction to a binding change.\n This should only be used if the side-effect won't add any bindings,\n event handlers, ...\n You should not call the TemplateBuilder (e.g. `t.xxx()`) at all from the side effect,\n instead use tags from html.ts to help you construct any DOM you need. */\n mapSideEffect(mapFn: (value: T) => R, sideEffect: (newV: R, oldV: R | undefined) => void) {\n let prevValue = mapFn(this._value);\n const binding = () => {\n const newValue = mapFn(this._value);\n if (prevValue !== newValue) {\n sideEffect(newValue, prevValue);\n prevValue = newValue;\n }\n };\n this._addBinding(binding);\n sideEffect(prevValue, undefined);\n }\n}\n\n\nfor (const [ns, tags] of Object.entries(TAG_NAMES)) {\n for (const tag of tags) {\n TemplateBuilder.prototype[tag] = function(attributes, children) {\n return this.elNS(ns, tag, attributes, children);\n };\n }\n}\n\nexport class InlineTemplateView extends TemplateView {\n private _render: RenderFn;\n\n constructor(value: T, render: RenderFn) {\n super(value);\n this._render = render;\n }\n\n override render(t: Builder, value: T): ViewNode {\n return this._render(t, value);\n }\n}\n","/*\nCopyright 2021 The Matrix.org Foundation C.I.C.\n\nLicensed under the Apache License, Version 2.0 (the \"License\");\nyou may not use this file except in compliance with the License.\nYou may obtain a copy of the License at\n\n http://www.apache.org/licenses/LICENSE-2.0\n\nUnless required by applicable law or agreed to in writing, software\ndistributed under the License is distributed on an \"AS IS\" BASIS,\nWITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\nSee the License for the specific language governing permissions and\nlimitations under the License.\n*/\n\nimport {tag, text, classNames, setAttribute} from \"./general/html\";\n/**\n * @param {Object} vm view model with {avatarUrl, avatarColorNumber, avatarTitle, avatarLetter}\n * @param {Number} size\n * @return {Element}\n */\nexport function renderStaticAvatar(vm, size, extraClasses = undefined) {\n const hasAvatar = !!vm.avatarUrl(size);\n let avatarClasses = classNames({\n avatar: true,\n [`size-${size}`]: true,\n [`usercolor${vm.avatarColorNumber}`]: !hasAvatar\n });\n if (extraClasses) {\n avatarClasses += ` ${extraClasses}`;\n }\n const avatarContent = hasAvatar ? renderImg(vm, size) : text(vm.avatarLetter);\n const avatar = tag.div({className: avatarClasses, \"data-testid\": \"avatar\"}, [avatarContent]);\n if (hasAvatar) {\n setAttribute(avatar, \"data-avatar-letter\", vm.avatarLetter);\n setAttribute(avatar, \"data-avatar-color\", vm.avatarColorNumber);\n }\n return avatar;\n}\n\nexport function renderImg(vm, size) {\n const sizeStr = size.toString();\n return tag.img({src: vm.avatarUrl(size), width: sizeStr, height: sizeStr, title: vm.avatarTitle});\n}\n\nfunction isAvatarEvent(e) {\n const element = e.target;\n const parent = element.parentElement;\n return element.tagName === \"IMG\" && parent.classList.contains(\"avatar\");\n}\n\nexport function handleAvatarError(e) {\n if (!isAvatarEvent(e)) { return; }\n const parent = e.target.parentElement;\n const avatarColorNumber = parent.getAttribute(\"data-avatar-color\");\n parent.classList.add(`usercolor${avatarColorNumber}`);\n const avatarLetter = parent.getAttribute(\"data-avatar-letter\");\n parent.textContent = avatarLetter;\n}\n","/*\nCopyright 2021 The Matrix.org Foundation C.I.C.\n\nLicensed under the Apache License, Version 2.0 (the \"License\");\nyou may not use this file except in compliance with the License.\nYou may obtain a copy of the License at\n\n http://www.apache.org/licenses/LICENSE-2.0\n\nUnless required by applicable law or agreed to in writing, software\ndistributed under the License is distributed on an \"AS IS\" BASIS,\nWITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\nSee the License for the specific language governing permissions and\nlimitations under the License.\n*/\n\nimport {BaseUpdateView} from \"./general/BaseUpdateView\";\nimport {renderStaticAvatar, renderImg} from \"./avatar\";\n\n/*\noptimization to not use a sub view when changing between img and text\nbecause there can be many many instances of this view\n*/\n\nexport class AvatarView extends BaseUpdateView {\n /**\n * @param {ViewModel} value view model with {avatarUrl, avatarColorNumber, avatarTitle, avatarLetter}\n * @param {Number} size\n */\n constructor(value, size) {\n super(value);\n this._root = null;\n this._avatarUrl = null;\n this._avatarTitle = null;\n this._avatarLetter = null;\n this._size = size;\n }\n\n _avatarUrlChanged() {\n if (this.value.avatarUrl(this._size) !== this._avatarUrl) {\n this._avatarUrl = this.value.avatarUrl(this._size);\n return true;\n }\n return false;\n }\n\n _avatarTitleChanged() {\n if (this.value.avatarTitle !== this._avatarTitle) {\n this._avatarTitle = this.value.avatarTitle;\n return true;\n }\n return false;\n }\n\n _avatarLetterChanged() {\n if (this.value.avatarLetter !== this._avatarLetter) {\n this._avatarLetter = this.value.avatarLetter;\n return true;\n }\n return false;\n }\n\n mount(options) {\n this._avatarUrlChanged();\n this._avatarLetterChanged();\n this._avatarTitleChanged();\n this._root = renderStaticAvatar(this.value, this._size);\n // takes care of update being called when needed\n this.subscribeOnMount(options);\n return this._root;\n }\n\n root() {\n return this._root;\n }\n\n update(vm) {\n // important to always call _...changed for every prop \n if (this._avatarUrlChanged()) {\n // avatarColorNumber won't change, it's based on room/user id\n const bgColorClass = `usercolor${vm.avatarColorNumber}`;\n if (vm.avatarUrl(this._size)) {\n this._root.replaceChild(renderImg(vm, this._size), this._root.firstChild);\n this._root.classList.remove(bgColorClass);\n } else {\n this._root.textContent = vm.avatarLetter;\n this._root.classList.add(bgColorClass);\n }\n }\n const hasAvatar = !!vm.avatarUrl(this._size);\n if (this._avatarTitleChanged() && hasAvatar) {\n const element = this._root.firstChild;\n if (element.tagName === \"IMG\") {\n element.setAttribute(\"title\", vm.avatarTitle);\n }\n }\n if (this._avatarLetterChanged() && !hasAvatar) {\n this._root.textContent = vm.avatarLetter;\n }\n }\n}\n","/*\nCopyright 2020 Bruno Windels \n\nLicensed under the Apache License, Version 2.0 (the \"License\");\nyou may not use this file except in compliance with the License.\nYou may obtain a copy of the License at\n\n http://www.apache.org/licenses/LICENSE-2.0\n\nUnless required by applicable law or agreed to in writing, software\ndistributed under the License is distributed on an \"AS IS\" BASIS,\nWITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\nSee the License for the specific language governing permissions and\nlimitations under the License.\n*/\n\nlet container;\n\nexport function spinner(t, extraClasses = undefined) {\n if (container === undefined) {\n container = document.querySelector(\".hydrogen\");\n }\n const classes = Object.assign({\"spinner\": true}, extraClasses);\n if (container?.classList.contains(\"legacy\")) {\n return t.div({className: classes}, [\n t.div(),\n t.div(),\n t.div(),\n t.div(),\n ]);\n } else {\n return t.svg({className: classes, viewBox:\"0 0 100 100\"}, \n t.circle({cx:\"50%\", cy:\"50%\", r:\"45%\", pathLength:\"100\"})\n );\n }\n}\n\n","/*\nCopyright 2020 Bruno Windels \nCopyright 2020 The Matrix.org Foundation C.I.C.\n\nLicensed under the Apache License, Version 2.0 (the \"License\");\nyou may not use this file except in compliance with the License.\nYou may obtain a copy of the License at\n\n http://www.apache.org/licenses/LICENSE-2.0\n\nUnless required by applicable law or agreed to in writing, software\ndistributed under the License is distributed on an \"AS IS\" BASIS,\nWITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\nSee the License for the specific language governing permissions and\nlimitations under the License.\n*/\n\nimport {TemplateView} from \"../../general/TemplateView\";\nimport {AvatarView} from \"../../AvatarView.js\";\nimport {spinner} from \"../../common.js\";\n\nexport class RoomTileView extends TemplateView {\n render(t, vm) {\n const classes = {\n \"active\": vm => vm.isOpen,\n \"hidden\": vm => vm.hidden\n };\n return t.li({\"className\": classes}, [\n t.a({href: vm.url}, [\n t.view(new AvatarView(vm, 32), {parentProvidesUpdates: true}),\n t.div({className: \"description\"}, [\n t.div({className: {\"name\": true, unread: vm => vm.isUnread}}, vm => vm.name),\n t.map(vm => vm.busy, busy => {\n if (busy) {\n return spinner(t);\n } else {\n return t.div({\n className: {\n badge: true,\n highlighted: vm => vm.isHighlighted,\n hidden: vm => !vm.badgeCount\n }\n }, vm => vm.badgeCount);\n }\n })\n ])\n ])\n ]);\n }\n\n update(value, props) {\n super.update(value);\n // update the AvatarView as we told it to not subscribe itself with parentProvidesUpdates\n this.updateSubViews(value, props);\n }\n}\n","/*\nCopyright 2020 Bruno Windels \n\nLicensed under the Apache License, Version 2.0 (the \"License\");\nyou may not use this file except in compliance with the License.\nYou may obtain a copy of the License at\n\n http://www.apache.org/licenses/LICENSE-2.0\n\nUnless required by applicable law or agreed to in writing, software\ndistributed under the License is distributed on an \"AS IS\" BASIS,\nWITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\nSee the License for the specific language governing permissions and\nlimitations under the License.\n*/\n\nimport {ListView} from \"../../general/ListView\";\nimport {TemplateView} from \"../../general/TemplateView\";\nimport {RoomTileView} from \"./RoomTileView.js\";\n\nclass FilterField extends TemplateView {\n render(t, options) {\n const clear = () => {\n filterInput.value = \"\";\n filterInput.blur();\n clearButton.blur();\n options.clear();\n };\n const filterInput = t.input({\n type: \"text\",\n placeholder: options?.label,\n \"aria-label\": options?.label,\n autocomplete: options?.autocomplete,\n enterkeyhint: 'search',\n name: options?.name,\n onInput: event => options.set(event.target.value),\n onKeydown: event => {\n if (event.key === \"Escape\" || event.key === \"Esc\") {\n clear();\n }\n },\n onFocus: () => filterInput.select()\n });\n const clearButton = t.button({\n onClick: clear,\n title: options.i18n`Clear`,\n \"aria-label\": options.i18n`Clear`\n });\n return t.div({className: \"FilterField\"}, [filterInput, clearButton]);\n }\n}\n\nexport class LeftPanelView extends TemplateView {\n render(t, vm) {\n const gridButtonLabel = vm => {\n return vm.gridEnabled ?\n vm.i18n`Show single room` :\n vm.i18n`Enable grid layout`;\n };\n const roomList = t.view(new ListView(\n {\n className: \"RoomList\",\n list: vm.tileViewModels,\n },\n tileVM => new RoomTileView(tileVM)\n ));\n const utilitiesRow = t.div({className: \"utilities\"}, [\n t.a({className: \"button-utility close-session\", href: vm.closeUrl, \"aria-label\": vm.i18n`Back to account list`, title: vm.i18n`Back to account list`}),\n t.view(new FilterField({\n i18n: vm.i18n,\n label: vm.i18n`Filter rooms…`,\n name: \"room-filter\",\n autocomplete: true,\n set: query => {\n // scroll up if we just started filtering\n if (vm.setFilter(query)) {\n roomList.scrollTop = 0;\n }\n },\n clear: () => vm.clearFilter()\n })),\n t.button({\n onClick: () => vm.toggleGrid(),\n className: {\n \"button-utility\": true,\n grid: true,\n on: vm => vm.gridEnabled\n },\n title: gridButtonLabel,\n \"aria-label\": gridButtonLabel\n }),\n t.a({className: \"button-utility settings\", href: vm.settingsUrl, \"aria-label\": vm.i18n`Settings`, title: vm.i18n`Settings`}),\n t.a({className: \"button-utility create\", href: vm.createRoomUrl, \"aria-label\": vm.i18n`Create room`, title: vm.i18n`Create room`}),\n ]);\n\n return t.div({className: \"LeftPanel\"}, [\n utilitiesRow,\n roomList\n ]);\n }\n}\n","/*\nCopyright 2020 The Matrix.org Foundation C.I.C.\n\nLicensed under the Apache License, Version 2.0 (the \"License\");\nyou may not use this file except in compliance with the License.\nYou may obtain a copy of the License at\n\n http://www.apache.org/licenses/LICENSE-2.0\n\nUnless required by applicable law or agreed to in writing, software\ndistributed under the License is distributed on an \"AS IS\" BASIS,\nWITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\nSee the License for the specific language governing permissions and\nlimitations under the License.\n*/\n\nimport {tag} from \"./html\";\n\nexport class Popup {\n constructor(view, closeCallback = null) {\n this._view = view;\n this._target = null;\n this._arrangement = null;\n this._scroller = null;\n this._fakeRoot = null;\n this._trackingTemplateView = null;\n this._closeCallback = closeCallback;\n }\n\n _getPopupContainer() {\n const appContainer = this._target.closest(\".hydrogen\");\n let popupContainer = appContainer.querySelector(\".popupContainer\");\n if (!popupContainer) {\n popupContainer = tag.div({className: \"popupContainer\"});\n appContainer.appendChild(popupContainer);\n }\n return popupContainer;\n }\n\n trackInTemplateView(templateView) {\n this._trackingTemplateView = templateView;\n this._trackingTemplateView.addSubView(this);\n }\n\n showRelativeTo(target, verticalPadding = 0) {\n this._target = target;\n this._verticalPadding = verticalPadding;\n this._scroller = findScrollParent(this._target);\n this._view.mount();\n this._getPopupContainer().appendChild(this._popup);\n this._position();\n if (this._scroller) {\n document.body.addEventListener(\"scroll\", this, true);\n }\n setTimeout(() => {\n document.body.addEventListener(\"click\", this, false);\n }, 10);\n }\n\n get isOpen() {\n return !!this._view;\n }\n\n close() {\n if (this._view) {\n this._view.unmount();\n this._trackingTemplateView.removeSubView(this);\n if (this._scroller) {\n document.body.removeEventListener(\"scroll\", this, true);\n }\n document.body.removeEventListener(\"click\", this, false);\n this._popup.remove();\n this._view = null;\n if (this._closeCallback) {\n this._closeCallback();\n }\n }\n }\n\n get _popup() {\n return this._view.root();\n }\n\n handleEvent(evt) {\n if (evt.type === \"scroll\") {\n if(!this._position()) {\n this.close();\n }\n } else if (evt.type === \"click\") {\n this._onClick(evt);\n }\n }\n\n _onClick() {\n this.close();\n }\n\n _position() {\n const targetPosition = this._target.getBoundingClientRect();\n const popupWidth = this._popup.clientWidth;\n const popupHeight = this._popup.clientHeight;\n const viewport = (this._scroller ? this._scroller : document.documentElement).getBoundingClientRect();\n\n if (\n targetPosition.top > viewport.bottom ||\n targetPosition.left > viewport.right ||\n targetPosition.bottom < viewport.top ||\n targetPosition.right < viewport.left\n ) {\n return false;\n }\n if (viewport.bottom >= targetPosition.bottom + popupHeight) {\n // show below\n this._popup.style.top = `${targetPosition.bottom + this._verticalPadding}px`;\n } else if (viewport.top <= targetPosition.top - popupHeight) {\n // show top\n this._popup.style.top = `${targetPosition.top - popupHeight - this._verticalPadding}px`;\n } else {\n return false;\n }\n if (viewport.right >= targetPosition.right + popupWidth) {\n // show right\n this._popup.style.left = `${targetPosition.left}px`;\n } else if (viewport.left <= targetPosition.left - popupWidth) {\n // show left\n this._popup.style.left = `${targetPosition.right - popupWidth}px`;\n } else {\n return false;\n }\n return true;\n }\n\n /* fake IView api, so it can be tracked by a template view as a subview */\n root() {\n return this._fakeRoot;\n }\n\n mount() {\n this._fakeRoot = document.createComment(\"popup\");\n return this._fakeRoot;\n }\n\n unmount() {\n this.close();\n }\n\n update() {}\n}\n\nfunction findScrollParent(el) {\n let parent = el;\n do {\n parent = parent.parentElement;\n if (parent.scrollHeight > parent.clientHeight) {\n // double check that overflow would allow a scrollbar\n // because some elements, like a button with negative margin to increate the click target\n // can cause the scrollHeight to be larger than the clientHeight in the parent\n // see button.link class\n const style = window.getComputedStyle(parent);\n const overflowY = style.getPropertyValue(\"overflow-y\");\n if (overflowY === \"auto\" || overflowY === \"scroll\") {\n return parent;\n }\n }\n } while (parent !== document.body);\n}\n","/*\nCopyright 2020 The Matrix.org Foundation C.I.C.\n\nLicensed under the Apache License, Version 2.0 (the \"License\");\nyou may not use this file except in compliance with the License.\nYou may obtain a copy of the License at\n\n http://www.apache.org/licenses/LICENSE-2.0\n\nUnless required by applicable law or agreed to in writing, software\ndistributed under the License is distributed on an \"AS IS\" BASIS,\nWITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\nSee the License for the specific language governing permissions and\nlimitations under the License.\n*/\n\nimport {TemplateView} from \"./TemplateView\";\n\nexport class Menu extends TemplateView {\n static option(label, callback) {\n return new MenuOption(label, callback);\n }\n\n constructor(options) {\n super();\n this._options = options;\n }\n\n render(t) {\n return t.ul({className: \"menu\", role: \"menu\"}, this._options.map(o => o.toDOM(t)));\n }\n}\n\nclass MenuOption {\n constructor(label, callback) {\n this.label = label;\n this.callback = callback;\n this.icon = null;\n this.destructive = false;\n }\n\n setIcon(className) {\n this.icon = className;\n return this;\n }\n\n setDestructive() {\n this.destructive = true;\n return this;\n }\n\n toDOM(t) {\n const className = {\n destructive: this.destructive,\n };\n if (this.icon) {\n className.icon = true;\n className[this.icon] = true;\n }\n return t.li({\n className,\n }, t.button({className:\"menu-item\", onClick: this.callback}, this.label));\n }\n}\n","/*\nCopyright 2020 Bruno Windels \n\nLicensed under the Apache License, Version 2.0 (the \"License\");\nyou may not use this file except in compliance with the License.\nYou may obtain a copy of the License at\n\n http://www.apache.org/licenses/LICENSE-2.0\n\nUnless required by applicable law or agreed to in writing, software\ndistributed under the License is distributed on an \"AS IS\" BASIS,\nWITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\nSee the License for the specific language governing permissions and\nlimitations under the License.\n*/\n\nimport {ListView} from \"../../general/ListView\";\nimport type {IView} from \"../../general/types\";\nimport {TemplateView, Builder} from \"../../general/TemplateView\";\nimport {IObservableValue} from \"../../general/BaseUpdateView\";\nimport {MissingAttachmentView} from \"./timeline/MissingAttachmentView.js\";\nimport {AnnouncementView} from \"./timeline/AnnouncementView.js\";\nimport {RedactedView} from \"./timeline/RedactedView.js\";\nimport {SimpleTile} from \"../../../../../domain/session/room/timeline/tiles/SimpleTile.js\";\nimport {BaseObservableList as ObservableList} from \"../../../../../observable/list/BaseObservableList\";\n\nexport interface TileView extends IView {\n readonly value: SimpleTile;\n onClick(event: UIEvent);\n} \nexport type TileViewConstructor = new (\n tile: SimpleTile,\n viewClassForTile: ViewClassForEntryFn,\n renderFlags?: { reply?: boolean, interactive?: boolean }\n) => TileView;\nexport type ViewClassForEntryFn = (tile: SimpleTile) => TileViewConstructor;\n\n//import {TimelineViewModel} from \"../../../../../domain/session/room/timeline/TimelineViewModel.js\";\nexport interface TimelineViewModel extends IObservableValue {\n showJumpDown: boolean;\n tiles: ObservableList;\n setVisibleTileRange(start?: SimpleTile, end?: SimpleTile);\n}\n\nfunction bottom(node: HTMLElement): number {\n return node.offsetTop + node.clientHeight;\n}\n\nfunction findFirstNodeIndexAtOrBelow(tiles: HTMLElement, top: number, startIndex: number = (tiles.children.length - 1)): number {\n for (var i = startIndex; i >= 0; i--) {\n const node = tiles.children[i] as HTMLElement;\n if (node.offsetTop < top) {\n return i;\n }\n }\n // return first item if nothing matched before\n return 0;\n}\n\nexport class TimelineView extends TemplateView {\n\n private anchoredNode?: HTMLElement;\n private anchoredBottom: number = 0;\n private stickToBottom: boolean = true;\n private tilesView?: TilesListView;\n private resizeObserver?: ResizeObserver;\n\n constructor(vm: TimelineViewModel, private readonly viewClassForTile: ViewClassForEntryFn) {\n super(vm);\n }\n\n render(t: Builder, vm: TimelineViewModel) {\n // assume this view will be mounted in the parent DOM straight away\n requestAnimationFrame(() => {\n // do initial scroll positioning\n this.restoreScrollPosition();\n });\n this.tilesView = new TilesListView(vm.tiles, () => this.restoreScrollPosition(), this.viewClassForTile);\n const root = t.div({className: \"Timeline\"}, [\n t.div({\n className: \"Timeline_scroller bottom-aligned-scroll\",\n onScroll: () => this.onScroll()\n }, t.view(this.tilesView)),\n t.button({\n className: {\n \"Timeline_jumpDown\": true,\n hidden: vm => !vm.showJumpDown\n },\n title: \"Jump down\",\n onClick: () => this.jumpDown()\n })\n ]);\n\n if (typeof ResizeObserver === \"function\") {\n this.resizeObserver = new ResizeObserver(() => {\n this.restoreScrollPosition();\n });\n this.resizeObserver.observe(root);\n }\n\n return root;\n }\n\n private get scrollNode(): HTMLElement {\n return (this.root()! as HTMLElement).firstElementChild! as HTMLElement;\n }\n\n private get tilesNode(): HTMLElement {\n return this.tilesView!.root()! as HTMLElement;\n }\n\n private jumpDown() {\n const {scrollNode} = this;\n this.stickToBottom = true;\n scrollNode.scrollTop = scrollNode.scrollHeight;\n }\n\n public unmount() {\n super.unmount();\n if (this.resizeObserver) {\n this.resizeObserver.unobserve(this.root()! as Element);\n this.resizeObserver = undefined;\n }\n }\n\n private restoreScrollPosition() {\n const {scrollNode, tilesNode} = this;\n\n const missingTilesHeight = scrollNode.clientHeight - tilesNode.clientHeight;\n if (missingTilesHeight > 0) {\n tilesNode.style.setProperty(\"margin-top\", `${missingTilesHeight}px`);\n // we don't have enough tiles to fill the viewport, so set all as visible\n const len = this.value.tiles.length;\n this.updateVisibleRange(0, len - 1);\n } else {\n tilesNode.style.removeProperty(\"margin-top\");\n if (this.stickToBottom) {\n scrollNode.scrollTop = scrollNode.scrollHeight;\n } else if (this.anchoredNode) {\n const newAnchoredBottom = bottom(this.anchoredNode!);\n if (newAnchoredBottom !== this.anchoredBottom) {\n const bottomDiff = newAnchoredBottom - this.anchoredBottom;\n // scrollBy tends to create less scroll jumps than reassigning scrollTop as it does\n // not depend on reading scrollTop, which might be out of date as some platforms\n // run scrolling off the main thread.\n if (typeof scrollNode.scrollBy === \"function\") {\n scrollNode.scrollBy(0, bottomDiff);\n } else {\n scrollNode.scrollTop = scrollNode.scrollTop + bottomDiff;\n }\n this.anchoredBottom = newAnchoredBottom;\n }\n }\n // TODO: should we be updating the visible range here as well as the range might have changed even though\n // we restored the bottom tile\n }\n }\n\n private onScroll(): void {\n const {scrollNode, tilesNode} = this;\n const {scrollHeight, scrollTop, clientHeight} = scrollNode;\n\n let bottomNodeIndex;\n this.stickToBottom = Math.abs(scrollHeight - (scrollTop + clientHeight)) < 1;\n if (this.stickToBottom) {\n const len = this.value.tiles.length;\n bottomNodeIndex = len - 1;\n } else {\n const viewportBottom = scrollTop + clientHeight;\n const anchoredNodeIndex = findFirstNodeIndexAtOrBelow(tilesNode, viewportBottom);\n this.anchoredNode = tilesNode.childNodes[anchoredNodeIndex] as HTMLElement;\n this.anchoredBottom = bottom(this.anchoredNode!);\n bottomNodeIndex = anchoredNodeIndex;\n }\n let topNodeIndex = findFirstNodeIndexAtOrBelow(tilesNode, scrollTop, bottomNodeIndex);\n this.updateVisibleRange(topNodeIndex, bottomNodeIndex);\n }\n\n private updateVisibleRange(startIndex: number, endIndex: number) {\n // can be undefined, meaning the tiles collection is still empty\n const firstVisibleChild = this.tilesView!.getChildInstanceByIndex(startIndex);\n const lastVisibleChild = this.tilesView!.getChildInstanceByIndex(endIndex);\n this.value.setVisibleTileRange(firstVisibleChild?.value, lastVisibleChild?.value);\n }\n}\n\nclass TilesListView extends ListView {\n\n private onChanged: () => void;\n\n constructor(tiles: ObservableList, onChanged: () => void, private readonly viewClassForTile: ViewClassForEntryFn) {\n super({\n list: tiles,\n onItemClick: (tileView, evt) => tileView.onClick(evt),\n }, tile => {\n const TileView = viewClassForTile(tile);\n return new TileView(tile, viewClassForTile);\n });\n this.onChanged = onChanged;\n }\n\n onReset() {\n super.onReset();\n this.onChanged();\n }\n\n onUpdate(index: number, value: SimpleTile, param: any) {\n if (param === \"shape\") {\n const ExpectedClass = this.viewClassForTile(value);\n const child = this.getChildInstanceByIndex(index);\n if (!ExpectedClass || !(child instanceof ExpectedClass)) {\n // shape was updated, so we need to recreate the tile view,\n // the shape parameter is set in EncryptedEventTile.updateEntry\n // (and perhaps elsewhere by the time you read this)\n super.recreateItem(index, value);\n return;\n }\n }\n super.onUpdate(index, value, param);\n this.onChanged();\n }\n\n onAdd(idx: number, value: SimpleTile) {\n super.onAdd(idx, value);\n this.onChanged();\n }\n\n onRemove(idx: number, value: SimpleTile) {\n super.onRemove(idx, value);\n this.onChanged();\n }\n\n onMove(fromIdx: number, toIdx: number, value: SimpleTile) {\n super.onMove(fromIdx, toIdx, value);\n this.onChanged();\n }\n}\n","/*\nCopyright 2020 The Matrix.org Foundation C.I.C.\n\nLicensed under the Apache License, Version 2.0 (the \"License\");\nyou may not use this file except in compliance with the License.\nYou may obtain a copy of the License at\n\n http://www.apache.org/licenses/LICENSE-2.0\n\nUnless required by applicable law or agreed to in writing, software\ndistributed under the License is distributed on an \"AS IS\" BASIS,\nWITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\nSee the License for the specific language governing permissions and\nlimitations under the License.\n*/\n\nimport {TemplateView} from \"../../general/TemplateView\";\nimport {spinner} from \"../../common.js\";\n\nexport class TimelineLoadingView extends TemplateView {\n render(t, vm) {\n return t.div({className: \"TimelineLoadingView\"}, [\n spinner(t),\n t.div(vm.isEncrypted ? vm.i18n`Loading encrypted messages…` : vm.i18n`Loading messages…`)\n ]);\n }\n}\n","/*\nCopyright 2020 Bruno Windels \n\nLicensed under the Apache License, Version 2.0 (the \"License\");\nyou may not use this file except in compliance with the License.\nYou may obtain a copy of the License at\n\n http://www.apache.org/licenses/LICENSE-2.0\n\nUnless required by applicable law or agreed to in writing, software\ndistributed under the License is distributed on an \"AS IS\" BASIS,\nWITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\nSee the License for the specific language governing permissions and\nlimitations under the License.\n*/\n\nimport {TemplateView} from \"../../general/TemplateView\";\nimport {Popup} from \"../../general/Popup.js\";\nimport {Menu} from \"../../general/Menu.js\";\n\nexport class MessageComposer extends TemplateView {\n constructor(viewModel, viewClassForTile) {\n super(viewModel);\n this._viewClassForTile = viewClassForTile;\n this._input = null;\n this._attachmentPopup = null;\n this._focusInput = null;\n this._rafResizeHandle = undefined;\n }\n\n render(t, vm) {\n this._input = t.textarea({\n onKeydown: e => this._onKeyDown(e),\n onInput: () => {\n vm.setInput(this._input.value);\n if (this._input.value) {\n this._adjustHeight();\n } else {\n this._clearHeight();\n }\n },\n placeholder: vm => vm.isEncrypted ? \"Send an encrypted message…\" : \"Send a message…\",\n rows: \"1\"\n });\n this._focusInput = () => this._input.focus();\n this.value.on(\"focus\", this._focusInput);\n const replyPreview = t.map(vm => vm.replyViewModel, (rvm, t) => {\n const TileView = rvm && this._viewClassForTile(rvm);\n if (!TileView) { return null; }\n return t.div({\n className: \"MessageComposer_replyPreview\"\n }, [\n t.span({ className: \"replying\" }, \"Replying\"),\n t.button({\n className: \"cancel\",\n onClick: () => this._clearReplyingTo()\n }, \"Close\"),\n t.view(new TileView(rvm, this._viewClassForTile, { interactive: false }, \"div\"))\n ]);\n });\n const input = t.div({className: \"MessageComposer_input\"}, [\n this._input,\n t.button({\n className: \"sendFile\",\n title: vm.i18n`Pick attachment`,\n onClick: evt => this._toggleAttachmentMenu(evt),\n }, vm.i18n`Send file`),\n t.button({\n className: \"send\",\n title: vm.i18n`Send`,\n onClick: () => this._trySend(),\n }, vm.i18n`Send`),\n ]);\n return t.div({ className: {\n MessageComposer: true,\n MessageComposer_canSend: vm => vm.canSend\n } }, [replyPreview, input]);\n }\n\n unmount() {\n if (this._focusInput) {\n this.value.off(\"focus\", this._focusInput);\n }\n super.unmount();\n }\n\n _clearReplyingTo() {\n this.value.clearReplyingTo();\n }\n\n async _trySend() {\n this._input.focus();\n // we clear the composer while enqueuing\n // and restore it when that didn't work somehow\n // to prevent the user from sending the message\n // every time they hit enter while it's still enqueuing.\n const {value} = this._input;\n const restoreValue = () => {\n this._input.value = value;\n this._adjustHeight();\n };\n this._input.value = \"\";\n this._clearHeight();\n try {\n if (!await this.value.sendMessage(value)) {\n restoreValue();\n }\n } catch (err) {\n restoreValue();\n console.error(err);\n }\n }\n\n _onKeyDown(event) {\n if (event.key === \"Enter\" && !event.shiftKey) {\n // don't insert newline into composer\n event.preventDefault();\n this._trySend();\n }\n }\n\n _toggleAttachmentMenu(evt) {\n if (this._attachmentPopup && this._attachmentPopup.isOpen) {\n this._attachmentPopup.close();\n } else {\n const vm = this.value;\n this._attachmentPopup = new Popup(new Menu([\n Menu.option(vm.i18n`Send video`, () => vm.sendVideo()).setIcon(\"video\"),\n Menu.option(vm.i18n`Send picture`, () => vm.sendPicture()).setIcon(\"picture\"),\n Menu.option(vm.i18n`Send file`, () => vm.sendFile()).setIcon(\"file\"),\n ]));\n this._attachmentPopup.trackInTemplateView(this);\n this._attachmentPopup.showRelativeTo(evt.target, 12);\n }\n }\n\n _adjustHeight() {\n if (this._rafResizeHandle) {\n return;\n }\n this._rafResizeHandle = window.requestAnimationFrame(() => {\n const scrollHeight = this._input.scrollHeight;\n this._input.style.height = `${scrollHeight}px`;\n this._rafResizeHandle = undefined;\n });\n }\n\n _clearHeight() {\n this._input.style.removeProperty(\"height\");\n }\n\n}\n","/*\nCopyright 2020 Bruno Windels \n\nLicensed under the Apache License, Version 2.0 (the \"License\");\nyou may not use this file except in compliance with the License.\nYou may obtain a copy of the License at\n\n http://www.apache.org/licenses/LICENSE-2.0\n\nUnless required by applicable law or agreed to in writing, software\ndistributed under the License is distributed on an \"AS IS\" BASIS,\nWITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\nSee the License for the specific language governing permissions and\nlimitations under the License.\n*/\n\nimport {TemplateView} from \"../../general/TemplateView\";\n\nexport class DisabledComposerView extends TemplateView {\n render(t) {\n return t.div({className: \"DisabledComposerView\"}, t.h3(vm => vm.description));\n }\n}\n","/*\nCopyright 2020 Bruno Windels \nCopyright 2020 The Matrix.org Foundation C.I.C.\n\nLicensed under the Apache License, Version 2.0 (the \"License\");\nyou may not use this file except in compliance with the License.\nYou may obtain a copy of the License at\n\n http://www.apache.org/licenses/LICENSE-2.0\n\nUnless required by applicable law or agreed to in writing, software\ndistributed under the License is distributed on an \"AS IS\" BASIS,\nWITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\nSee the License for the specific language governing permissions and\nlimitations under the License.\n*/\n\nimport {TemplateView} from \"../../general/TemplateView\";\nimport {Popup} from \"../../general/Popup.js\";\nimport {Menu} from \"../../general/Menu.js\";\nimport {TimelineView} from \"./TimelineView\";\nimport {TimelineLoadingView} from \"./TimelineLoadingView.js\";\nimport {MessageComposer} from \"./MessageComposer.js\";\nimport {DisabledComposerView} from \"./DisabledComposerView.js\";\nimport {AvatarView} from \"../../AvatarView.js\";\n\nexport class RoomView extends TemplateView {\n constructor(vm, viewClassForTile) {\n super(vm);\n this._viewClassForTile = viewClassForTile;\n this._optionsPopup = null;\n }\n\n render(t, vm) {\n return t.main({className: \"RoomView middle\"}, [\n t.div({className: \"RoomHeader middle-header\"}, [\n t.a({className: \"button-utility close-middle\", href: vm.closeUrl, title: vm.i18n`Close room`}),\n t.view(new AvatarView(vm, 32)),\n t.div({className: \"room-description\"}, [\n t.h2(vm => vm.name),\n ]),\n t.button({\n className: \"button-utility room-options\",\n \"aria-label\":vm.i18n`Room options`,\n onClick: evt => this._toggleOptionsMenu(evt)\n })\n ]),\n t.div({className: \"RoomView_body\"}, [\n t.div({className: \"RoomView_error\"}, [\n t.if(vm => vm.error, t => t.div( \n [\n t.p({}, vm => vm.error),\n t.button({ className: \"RoomView_error_closerButton\", onClick: evt => vm.dismissError(evt) })\n ])\n )]),\n t.mapView(vm => vm.timelineViewModel, timelineViewModel => {\n return timelineViewModel ?\n new TimelineView(timelineViewModel, this._viewClassForTile) :\n new TimelineLoadingView(vm); // vm is just needed for i18n\n }),\n t.mapView(vm => vm.composerViewModel,\n composerViewModel => {\n switch (composerViewModel?.kind) {\n case \"composer\":\n return new MessageComposer(vm.composerViewModel, this._viewClassForTile);\n case \"disabled\":\n return new DisabledComposerView(vm.composerViewModel);\n }\n }),\n ])\n ]);\n }\n \n _toggleOptionsMenu(evt) {\n if (this._optionsPopup && this._optionsPopup.isOpen) {\n this._optionsPopup.close();\n } else {\n const vm = this.value;\n const options = [];\n options.push(Menu.option(vm.i18n`Room details`, () => vm.openDetailsPanel()))\n if (vm.canLeave) {\n options.push(Menu.option(vm.i18n`Leave room`, () => this._confirmToLeaveRoom()).setDestructive());\n }\n if (vm.canForget) {\n options.push(Menu.option(vm.i18n`Forget room`, () => vm.forgetRoom()).setDestructive());\n }\n if (vm.canRejoin) {\n options.push(Menu.option(vm.i18n`Rejoin room`, () => vm.rejoinRoom()));\n }\n if (!options.length) {\n return;\n }\n this._optionsPopup = new Popup(new Menu(options));\n this._optionsPopup.trackInTemplateView(this);\n this._optionsPopup.showRelativeTo(evt.target, 10);\n }\n }\n\n _confirmToLeaveRoom() {\n if (confirm(this.value.i18n`Are you sure you want to leave \"${this.value.name}\"?`)) {\n this.value.leaveRoom();\n }\n }\n}\n","/*\nCopyright 2021 The Matrix.org Foundation C.I.C.\n\nLicensed under the Apache License, Version 2.0 (the \"License\");\nyou may not use this file except in compliance with the License.\nYou may obtain a copy of the License at\n\n http://www.apache.org/licenses/LICENSE-2.0\n\nUnless required by applicable law or agreed to in writing, software\ndistributed under the License is distributed on an \"AS IS\" BASIS,\nWITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\nSee the License for the specific language governing permissions and\nlimitations under the License.\n*/\n\nimport {TemplateView} from \"../../general/TemplateView\";\n\nexport class UnknownRoomView extends TemplateView {\n render(t, vm) {\n return t.main({className: \"UnknownRoomView middle\"}, t.div([\n t.h2([\n vm.i18n`You are currently not in ${vm.roomIdOrAlias}.`,\n t.br(),\n vm.i18n`Want to join it?`\n ]),\n t.button({\n className: \"button-action primary\",\n onClick: () => vm.join(),\n disabled: vm => vm.busy,\n }, vm.i18n`Join room`),\n t.if(vm => vm.error, t => t.p({className: \"error\"}, vm.error))\n ]));\n }\n}\n","/*\nCopyright 2020 Bruno Windels \nCopyright 2020 The Matrix.org Foundation C.I.C.\n\nLicensed under the Apache License, Version 2.0 (the \"License\");\nyou may not use this file except in compliance with the License.\nYou may obtain a copy of the License at\n\n http://www.apache.org/licenses/LICENSE-2.0\n\nUnless required by applicable law or agreed to in writing, software\ndistributed under the License is distributed on an \"AS IS\" BASIS,\nWITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\nSee the License for the specific language governing permissions and\nlimitations under the License.\n*/\n\nimport {tag} from \"../general/html\";\n\nexport class StaticView {\n constructor(value, render = undefined) {\n if (typeof value === \"function\" && !render) {\n render = value;\n value = null;\n }\n this._root = render ? render(tag, value) : this.render(tag, value);\n }\n\n mount() {\n return this._root;\n }\n\n root() {\n return this._root;\n }\n\n unmount() {}\n update() {}\n}\n","/*\nCopyright 2021 The Matrix.org Foundation C.I.C.\n\nLicensed under the Apache License, Version 2.0 (the \"License\");\nyou may not use this file except in compliance with the License.\nYou may obtain a copy of the License at\n\n http://www.apache.org/licenses/LICENSE-2.0\n\nUnless required by applicable law or agreed to in writing, software\ndistributed under the License is distributed on an \"AS IS\" BASIS,\nWITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\nSee the License for the specific language governing permissions and\nlimitations under the License.\n*/\n\nimport {StaticView} from \"./StaticView\";\nimport {spinner} from \"../common.js\";\n\nexport class LoadingView extends StaticView {\n constructor(label = \"Loading\") {\n super(label, (t, label) => {\n return t.div({ className: \"LoadingView\" }, [spinner(t), label]);\n });\n }\n}\n","/*\nCopyright 2020 Bruno Windels \nCopyright 2020 The Matrix.org Foundation C.I.C.\n\nLicensed under the Apache License, Version 2.0 (the \"License\");\nyou may not use this file except in compliance with the License.\nYou may obtain a copy of the License at\n\n http://www.apache.org/licenses/LICENSE-2.0\n\nUnless required by applicable law or agreed to in writing, software\ndistributed under the License is distributed on an \"AS IS\" BASIS,\nWITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\nSee the License for the specific language governing permissions and\nlimitations under the License.\n*/\n\nimport {TemplateView} from \"../../general/TemplateView\";\nimport {LoadingView} from \"../../general/LoadingView\";\nimport {AvatarView} from \"../../AvatarView\";\n\nexport class RoomBeingCreatedView extends TemplateView {\n render(t, vm) {\n return t.main({className: \"RoomView middle\"}, [\n t.div({className: \"RoomHeader middle-header\"}, [\n t.a({className: \"button-utility close-middle\", href: vm.closeUrl, title: vm.i18n`Close room`}),\n t.view(new AvatarView(vm, 32)),\n t.div({className: \"room-description\"}, [\n t.h2(vm => vm.name),\n ])\n ]),\n t.div({className: \"RoomView_body\"}, [\n t.mapView(vm => vm.error, error => {\n if (error) {\n return new ErrorView(vm);\n } else {\n return new LoadingView(vm.i18n`Setting up the room…`);\n }\n })\n ])\n ]);\n }\n}\n\nclass ErrorView extends TemplateView {\n render(t,vm) {\n return t.div({className: \"RoomBeingCreated_error centered-column\"}, [\n t.h3(vm.i18n`Could not create the room, something went wrong:`),\n t.div({className: \"RoomView_error form-group\"}, vm.error),\n t.div({className: \"button-row\"},\n t.button({\n className: \"button-action primary destructive\",\n onClick: () => vm.cancel()\n }, vm.i18n`Cancel`))\n ]);\n }\n}\n","/*\nCopyright 2020 Bruno Windels \nCopyright 2020 The Matrix.org Foundation C.I.C.\n\nLicensed under the Apache License, Version 2.0 (the \"License\");\nyou may not use this file except in compliance with the License.\nYou may obtain a copy of the License at\n\n http://www.apache.org/licenses/LICENSE-2.0\n\nUnless required by applicable law or agreed to in writing, software\ndistributed under the License is distributed on an \"AS IS\" BASIS,\nWITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\nSee the License for the specific language governing permissions and\nlimitations under the License.\n*/\n\nimport {TemplateView} from \"../../general/TemplateView\";\nimport {renderStaticAvatar} from \"../../avatar\";\n\nexport class InviteView extends TemplateView {\n render(t, vm) {\n let inviteNodes = [];\n if (vm.isDirectMessage) {\n inviteNodes.push(renderStaticAvatar(vm, 128, \"InviteView_dmAvatar\"));\n }\n let inviterNodes;\n if (vm.isDirectMessage) {\n inviterNodes = [t.strong(vm.name), ` (${vm.inviter?.id}) wants to chat with you.`];\n } else if (vm.inviter) {\n inviterNodes = [renderStaticAvatar(vm.inviter, 24), t.strong(vm.inviter.name), ` (${vm.inviter.id}) invited you.`];\n } else {\n inviterNodes = `You were invited to join.`;\n }\n inviteNodes.push(t.p({className: \"InviteView_inviter\"}, inviterNodes));\n if (!vm.isDirectMessage) {\n inviteNodes.push(t.div({className: \"InviteView_roomProfile\"}, [\n renderStaticAvatar(vm, 64, \"InviteView_roomAvatar\"),\n t.h3(vm.name),\n t.p({className: \"InviteView_roomDescription\"}, vm.roomDescription)\n ]));\n }\n\n return t.main({className: \"InviteView middle\"}, [\n t.div({className: \"RoomHeader middle-header\"}, [\n t.a({className: \"button-utility close-middle\", href: vm.closeUrl, title: vm.i18n`Close invite`}),\n renderStaticAvatar(vm, 32),\n t.div({className: \"room-description\"}, [\n t.h2(vm => vm.name),\n ]),\n ]),\n t.if(vm => vm.error, t => t.div({className: \"RoomView_error\"}, vm => vm.error)),\n t.div({className: \"InviteView_body\"}, [\n t.div({className: \"InviteView_invite\"}, [\n ...inviteNodes,\n t.div({className: \"InviteView_buttonRow\"},\n t.button({\n className: \"button-action primary\",\n disabled: vm => vm.busy,\n onClick: () => vm.accept()\n }, vm.i18n`Accept`)\n ),\n t.div({className: \"InviteView_buttonRow\"},\n t.button({\n className: \"button-action primary destructive\",\n disabled: vm => vm.busy,\n onClick: () => vm.reject()\n }, vm.i18n`Reject`)\n ),\n ])\n ])\n ]);\n }\n}\n","/*\nCopyright 2020 The Matrix.org Foundation C.I.C.\n\nLicensed under the Apache License, Version 2.0 (the \"License\");\nyou may not use this file except in compliance with the License.\nYou may obtain a copy of the License at\n\n http://www.apache.org/licenses/LICENSE-2.0\n\nUnless required by applicable law or agreed to in writing, software\ndistributed under the License is distributed on an \"AS IS\" BASIS,\nWITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\nSee the License for the specific language governing permissions and\nlimitations under the License.\n*/\n\nimport {TemplateView} from \"../../general/TemplateView\";\nimport {spinner} from \"../../common.js\";\n\nexport class LightboxView extends TemplateView {\n render(t, vm) {\n const close = t.a({href: vm.closeUrl, title: vm.i18n`Close`, className: \"close\"});\n const image = t.div({\n role: \"img\",\n \"aria-label\": vm => vm.name,\n title: vm => vm.name,\n className: {\n picture: true,\n hidden: vm => !vm.imageUrl,\n },\n style: vm => `background-image: url('${vm.imageUrl}'); max-width: ${vm.imageWidth}px; max-height: ${vm.imageHeight}px;`\n });\n const loading = t.div({\n className: {\n loading: true,\n hidden: vm => !!vm.imageUrl\n }\n }, [\n spinner(t),\n t.div(vm.i18n`Loading image…`)\n ]);\n const details = t.div({\n className: \"details\"\n }, [t.strong(vm => vm.name), t.br(), \"uploaded by \", t.strong(vm => vm.sender), vm => ` at ${vm.time} on ${vm.date}.`]);\n const dialog = t.div({\n role: \"dialog\",\n className: \"lightbox\",\n onClick: evt => this.clickToClose(evt),\n onKeydown: evt => this.closeOnEscKey(evt)\n }, [image, loading, details, close]);\n trapFocus(t, dialog);\n return dialog;\n }\n\n clickToClose(evt) {\n if (evt.target === this.root()) {\n this.value.close();\n }\n }\n\n closeOnEscKey(evt) {\n if (evt.key === \"Escape\" || evt.key === \"Esc\") {\n this.value.close();\n }\n }\n}\n\nfunction trapFocus(t, element) {\n const elements = focusables(element);\n const first = elements[0];\n const last = elements[elements.length - 1];\n\n t.addEventListener(element, \"keydown\", evt => {\n if (evt.key === \"Tab\") {\n if (evt.shiftKey) {\n if (document.activeElement === first) {\n last.focus();\n evt.preventDefault();\n }\n } else {\n if (document.activeElement === last) {\n first.focus();\n evt.preventDefault();\n }\n }\n }\n }, true);\n Promise.resolve().then(() => {\n first.focus();\n });\n}\n\nfunction focusables(element) {\n return element.querySelectorAll('a[href], button, textarea, input, select');\n}\n\n","/*\nCopyright 2020 Bruno Windels \n\nLicensed under the Apache License, Version 2.0 (the \"License\");\nyou may not use this file except in compliance with the License.\nYou may obtain a copy of the License at\n\n http://www.apache.org/licenses/LICENSE-2.0\n\nUnless required by applicable law or agreed to in writing, software\ndistributed under the License is distributed on an \"AS IS\" BASIS,\nWITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\nSee the License for the specific language governing permissions and\nlimitations under the License.\n*/\n\nimport {TemplateView} from \"../general/TemplateView\";\nimport {spinner} from \"../common.js\";\n\nexport class SessionStatusView extends TemplateView {\n render(t, vm) {\n return t.div({className: {\n \"SessionStatusView\": true,\n \"hidden\": vm => !vm.isShown,\n }}, [\n spinner(t, {hidden: vm => !vm.isWaiting}),\n t.p(vm => vm.statusLabel),\n t.if(vm => vm.isConnectNowShown, t => t.button({className: \"link\", onClick: () => vm.connectNow()}, \"Retry now\")),\n t.if(vm => vm.isSecretStorageShown, t => t.a({href: vm.setupKeyBackupUrl}, \"Go to settings\")),\n t.if(vm => vm.canDismiss, t => t.div({className: \"end\"}, t.button({className: \"dismiss\", onClick: () => vm.dismiss()}))),\n ]);\n }\n}\n","/*\nCopyright 2020 The Matrix.org Foundation C.I.C.\n\nLicensed under the Apache License, Version 2.0 (the \"License\");\nyou may not use this file except in compliance with the License.\nYou may obtain a copy of the License at\n\n http://www.apache.org/licenses/LICENSE-2.0\n\nUnless required by applicable law or agreed to in writing, software\ndistributed under the License is distributed on an \"AS IS\" BASIS,\nWITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\nSee the License for the specific language governing permissions and\nlimitations under the License.\n*/\n\nimport {RoomView} from \"./room/RoomView.js\";\nimport {RoomBeingCreatedView} from \"./room/RoomBeingCreatedView.js\";\nimport {InviteView} from \"./room/InviteView.js\";\nimport {TemplateView} from \"../general/TemplateView\";\nimport {StaticView} from \"../general/StaticView.js\";\n\nexport class RoomGridView extends TemplateView {\n constructor(vm, viewClassForTile) {\n super(vm);\n this._viewClassForTile = viewClassForTile;\n }\n\n render(t, vm) {\n const children = [];\n for (let i = 0; i < (vm.height * vm.width); i+=1) {\n children.push(t.div({\n onClick: () => vm.focusTile(i),\n onFocusin: () => vm.focusTile(i),\n className: {\n \"container\": true,\n [`tile${i}`]: true,\n \"focused\": vm => vm.focusIndex === i\n },\n }, t.mapView(vm => vm.roomViewModelAt(i), roomVM => {\n if (roomVM) {\n if (roomVM.kind === \"roomBeingCreated\") {\n return new RoomBeingCreatedView(roomVM);\n } else if (roomVM.kind === \"invite\") {\n return new InviteView(roomVM);\n } else {\n return new RoomView(roomVM, this._viewClassForTile);\n }\n } else {\n return new StaticView(t => t.div({className: \"room-placeholder\"}, [\n t.h2({className: \"focused\"}, vm.i18n`Select a room on the left`),\n t.h2({className: \"unfocused\"}, vm.i18n`Click to select this tile`),\n ]));\n }\n })));\n }\n children.push(t.div({className: vm => `focus-ring tile${vm.focusIndex}`}));\n return t.div({className: \"RoomGridView middle layout3x2\"}, children);\n }\n}\n","/*\nCopyright 2020 The Matrix.org Foundation C.I.C.\n\nLicensed under the Apache License, Version 2.0 (the \"License\");\nyou may not use this file except in compliance with the License.\nYou may obtain a copy of the License at\n\n http://www.apache.org/licenses/LICENSE-2.0\n\nUnless required by applicable law or agreed to in writing, software\ndistributed under the License is distributed on an \"AS IS\" BASIS,\nWITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\nSee the License for the specific language governing permissions and\nlimitations under the License.\n*/\n\nimport {TemplateView} from \"../../general/TemplateView\";\n\nexport class KeyBackupSettingsView extends TemplateView {\n render(t) {\n return t.div([\n t.map(vm => vm.status, (status, t, vm) => {\n switch (status) {\n case \"Enabled\": return renderEnabled(t, vm);\n case \"NewVersionAvailable\": return renderNewVersionAvailable(t, vm);\n case \"SetupKey\": return renderEnableFromKey(t, vm);\n case \"SetupPhrase\": return renderEnableFromPhrase(t, vm);\n case \"Pending\": return t.p(vm.i18n`Waiting to go online…`);\n }\n }),\n t.map(vm => vm.backupWriteStatus, (status, t, vm) => {\n switch (status) {\n case \"Writing\": {\n const progress = t.progress({\n min: 0,\n max: 100,\n value: vm => vm.backupPercentage,\n });\n return t.div([`Backup in progress `, progress, \" \", vm => vm.backupInProgressLabel]);\n }\n case \"Stopped\": {\n let label;\n const error = vm.backupError;\n if (error) {\n label = `Backup has stopped because of an error: ${vm.backupError}`;\n } else {\n label = `Backup has stopped`;\n }\n return t.p(label, \" \", t.button({onClick: () => vm.startBackup()}, `Backup now`));\n }\n case \"Done\":\n return t.p(`All keys are backed up.`);\n default:\n return null;\n }\n })\n ]);\n }\n}\n\nfunction renderEnabled(t, vm) {\n const items = [\n t.p([vm.i18n`Key backup is enabled, using backup version ${vm.backupVersion}. `, t.button({onClick: () => vm.disable()}, vm.i18n`Disable`)])\n ];\n if (vm.dehydratedDeviceId) {\n items.push(t.p(vm.i18n`A dehydrated device id was set up with id ${vm.dehydratedDeviceId} which you can use during your next login with your secret storage key.`));\n }\n return t.div(items);\n}\n\nfunction renderNewVersionAvailable(t, vm) {\n const items = [\n t.p([vm.i18n`A new backup version has been created from another device. Disable key backup and enable it again with the new key.`, t.button({onClick: () => vm.disable()}, vm.i18n`Disable`)])\n ];\n return t.div(items);\n}\n\nfunction renderEnableFromKey(t, vm) {\n const useASecurityPhrase = t.button({className: \"link\", onClick: () => vm.showPhraseSetup()}, vm.i18n`use a security phrase`);\n return t.div([\n t.p(vm.i18n`Enter your secret storage security key below to ${vm.purpose}, which will enable you to decrypt messages received before you logged into this session. The security key is a code of 12 groups of 4 characters separated by a space that Element created for you when setting up security.`),\n renderError(t),\n renderEnableFieldRow(t, vm, vm.i18n`Security key`, (key, setupDehydratedDevice) => vm.enterSecurityKey(key, setupDehydratedDevice)),\n t.p([vm.i18n`Alternatively, you can `, useASecurityPhrase, vm.i18n` if you have one.`]),\n ]);\n}\n\nfunction renderEnableFromPhrase(t, vm) {\n const useASecurityKey = t.button({className: \"link\", onClick: () => vm.showKeySetup()}, vm.i18n`use your security key`);\n return t.div([\n t.p(vm.i18n`Enter your secret storage security phrase below to ${vm.purpose}, which will enable you to decrypt messages received before you logged into this session. The security phrase is a freeform secret phrase you optionally chose when setting up security in Element. It is different from your password to login, unless you chose to set them to the same value.`),\n renderError(t),\n renderEnableFieldRow(t, vm, vm.i18n`Security phrase`, (phrase, setupDehydratedDevice) => vm.enterSecurityPhrase(phrase, setupDehydratedDevice)),\n t.p([vm.i18n`You can also `, useASecurityKey, vm.i18n`.`]),\n ]);\n}\n\nfunction renderEnableFieldRow(t, vm, label, callback) {\n let setupDehydrationCheck;\n const eventHandler = () => callback(input.value, setupDehydrationCheck?.checked || false);\n const input = t.input({type: \"password\", disabled: vm => vm.isBusy, placeholder: label});\n const children = [\n t.p([\n input,\n t.button({disabled: vm => vm.isBusy, onClick: eventHandler}, vm.decryptAction),\n ]),\n ];\n if (vm.offerDehydratedDeviceSetup) {\n setupDehydrationCheck = t.input({type: \"checkbox\", id:\"enable-dehydrated-device\"});\n const moreInfo = t.a({href: \"https://github.com/uhoreg/matrix-doc/blob/dehydration/proposals/2697-device-dehydration.md\", target: \"_blank\", rel: \"noopener\"}, \"more info\");\n children.push(t.p([\n setupDehydrationCheck,\n t.label({for: setupDehydrationCheck.id}, [vm.i18n`Back up my device as well (`, moreInfo, \")\"])\n ]));\n }\n return t.div({className: `row`}, [\n t.div({className: \"label\"}, label),\n t.div({className: \"content\"}, children),\n ]);\n}\n\nfunction renderError(t) {\n return t.if(vm => vm.error, (t, vm) => {\n return t.div([\n t.p({className: \"error\"}, vm => vm.i18n`Could not enable key backup: ${vm.error}.`),\n t.p(vm.i18n`Try double checking that you did not mix up your security key, security phrase and login password as explained above.`)\n ])\n });\n}\n\n","/*\nCopyright 2020 The Matrix.org Foundation C.I.C.\n\nLicensed under the Apache License, Version 2.0 (the \"License\");\nyou may not use this file except in compliance with the License.\nYou may obtain a copy of the License at\n\n http://www.apache.org/licenses/LICENSE-2.0\n\nUnless required by applicable law or agreed to in writing, software\ndistributed under the License is distributed on an \"AS IS\" BASIS,\nWITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\nSee the License for the specific language governing permissions and\nlimitations under the License.\n*/\n\nimport {TemplateView} from \"../../general/TemplateView\";\nimport {disableTargetCallback} from \"../../general/utils\";\nimport {KeyBackupSettingsView} from \"./KeyBackupSettingsView.js\"\n\nexport class SettingsView extends TemplateView {\n render(t, vm) {\n let version = vm.version;\n if (vm.showUpdateButton) {\n version = t.span([\n vm.version,\n t.button({onClick: () => vm.checkForUpdate()}, vm.i18n`Check for updates`)\n ]);\n }\n\n const row = (t, label, content, extraClass = \"\") => {\n return t.div({className: `row ${extraClass}`}, [\n t.div({className: \"label\"}, label),\n t.div({className: \"content\"}, content),\n ]);\n };\n\n const settingNodes = [];\n\n settingNodes.push(\n t.h3(\"Session\"),\n row(t, vm.i18n`User ID`, vm.userId),\n row(t, vm.i18n`Session ID`, vm.deviceId, \"code\"),\n row(t, vm.i18n`Session key`, vm.fingerprintKey, \"code\"),\n row(t, \"\", t.button({\n onClick: () => vm.logout(),\n disabled: vm => vm.isLoggingOut\n }, vm.i18n`Log out`)),\n );\n settingNodes.push(\n t.h3(\"Key backup\"),\n t.view(new KeyBackupSettingsView(vm.keyBackupViewModel))\n );\n\n settingNodes.push(\n t.h3(\"Notifications\"),\n t.map(vm => vm.pushNotifications.supported, (supported, t) => {\n if (supported === null) {\n return t.p(vm.i18n`Loading…`);\n } else if (supported) {\n const label = vm => vm.pushNotifications.enabled ?\n vm.i18n`Push notifications are enabled`:\n vm.i18n`Push notifications are disabled`;\n const buttonLabel = vm => vm.pushNotifications.enabled ?\n vm.i18n`Disable`:\n vm.i18n`Enable`;\n return row(t, label, t.button({\n onClick: () => vm.togglePushNotifications(),\n disabled: vm => vm.pushNotifications.updating\n }, buttonLabel));\n } else {\n return t.p(vm.i18n`Push notifications are not supported on this browser`);\n }\n }),\n t.if(vm => vm.pushNotifications.supported && vm.pushNotifications.enabled, t => {\n return t.div([\n t.p([\n \"If you think push notifications are not being delivered, \",\n t.button({className: \"link\", onClick: () => vm.checkPushEnabledOnServer()}, \"check\"),\n \" if they got disabled on the server\"\n ]),\n t.map(vm => vm.pushNotifications.enabledOnServer, (enabled, t) => {\n if (enabled === true) {\n return t.p(\"Push notifications are still enabled on the server, so everything should be working. Sometimes notifications can get dropped if they can't be delivered within a given time.\");\n } else if (enabled === false) {\n return t.p(\"Push notifications have been disabled on the server, likely due to a bug. Please re-enable them by clicking Disable and then Enable again above.\");\n }\n }),\n t.map(vm => vm.pushNotifications.serverError, (err, t) => {\n if (err) {\n return t.p(\"Couldn't not check on server: \" + err.message);\n }\n })\n ]);\n })\n );\n \n settingNodes.push(\n t.h3(\"Preferences\"),\n row(t, vm.i18n`Scale down images when sending`, this._imageCompressionRange(t, vm)),\n t.if(vm => !import.meta.env.DEV && vm.activeTheme, (t, vm) => {\n return row(t, vm.i18n`Use the following theme`, this._themeOptions(t, vm));\n }),\n );\n const logButtons = [];\n if (vm.canSendLogsToServer) {\n logButtons.push(t.button({onClick: disableTargetCallback(() => vm.sendLogsToServer())}, `Submit logs to ${vm.logsServer}`));\n }\n logButtons.push(t.button({onClick: () => vm.exportLogs()}, \"Download logs\"));\n settingNodes.push(\n t.h3(\"Application\"),\n row(t, vm.i18n`Version`, version),\n row(t, vm.i18n`Storage usage`, vm => `${vm.storageUsage} / ${vm.storageQuota}`),\n row(t, vm.i18n`Debug logs`, logButtons),\n t.p({className: {hidden: vm => !vm.logsFeedbackMessage}}, vm => vm.logsFeedbackMessage),\n t.p([\"Debug logs contain application usage data including your username, the IDs or aliases of the rooms or groups you have visited, the usernames of other users and the names of files you send. They do not contain messages. For more information, review our \",\n t.a({href: \"https://element.io/privacy\", target: \"_blank\", rel: \"noopener\"}, \"privacy policy\"), \".\"]),\n );\n\n return t.main({className: \"Settings middle\"}, [\n t.div({className: \"middle-header\"}, [\n t.a({className: \"button-utility close-middle\", href: vm.closeUrl, title: vm.i18n`Close settings`}),\n t.h2(\"Settings\")\n ]),\n t.div({className: \"SettingsBody\"}, settingNodes)\n ]);\n }\n\n _imageCompressionRange(t, vm) {\n const step = 32;\n const min = Math.ceil(vm.minSentImageSizeLimit / step) * step;\n const max = (Math.floor(vm.maxSentImageSizeLimit / step) + 1) * step;\n const updateSetting = evt => vm.setSentImageSizeLimit(parseInt(evt.target.value, 10));\n return [t.input({\n type: \"range\",\n step,\n min,\n max,\n value: vm => vm.sentImageSizeLimit || max,\n onInput: updateSetting,\n onChange: updateSetting,\n }), \" \", t.output(vm => {\n return vm.sentImageSizeLimit ? \n vm.i18n`resize to ${vm.sentImageSizeLimit}px` :\n vm.i18n`no resizing`;\n })];\n }\n\n _themeOptions(t, vm) {\n const { themeName: activeThemeName, themeVariant: activeThemeVariant } = vm.activeTheme;\n const optionTags = [];\n // 1. render the dropdown containing the themes\n for (const name of Object.keys(vm.themeMapping)) {\n optionTags.push( t.option({ value: name, selected: name === activeThemeName} , name));\n }\n const select = t.select({\n onChange: (e) => {\n const themeName = e.target.value;\n if(!(\"id\" in vm.themeMapping[themeName])) {\n const colorScheme = darkRadioButton.checked ? \"dark\" : lightRadioButton.checked ? \"light\" : \"default\";\n // execute the radio-button callback so that the theme actually changes!\n // otherwise the theme would only change when another radio-button is selected.\n radioButtonCallback(colorScheme);\n return;\n }\n vm.changeThemeOption(themeName);\n }\n }, optionTags);\n // 2. render the radio-buttons used to choose variant\n const radioButtonCallback = (colorScheme) => {\n const selectedThemeName = select.options[select.selectedIndex].value;\n vm.changeThemeOption(selectedThemeName, colorScheme);\n };\n const isDarkSelected = activeThemeVariant === \"dark\";\n const isLightSelected = activeThemeVariant === \"light\";\n const darkRadioButton = t.input({ type: \"radio\", name: \"radio-chooser\", value: \"dark\", id: \"dark\", checked: isDarkSelected });\n const defaultRadioButton = t.input({ type: \"radio\", name: \"radio-chooser\", value: \"default\", id: \"default\", checked: !(isDarkSelected || isLightSelected) });\n const lightRadioButton = t.input({ type: \"radio\", name: \"radio-chooser\", value: \"light\", id: \"light\", checked: isLightSelected });\n const radioButtons = t.form({\n className: {\n hidden: () => {\n const themeName = select.options[select.selectedIndex].value;\n return \"id\" in vm.themeMapping[themeName];\n }\n },\n onChange: (e) => radioButtonCallback(e.target.value)\n },\n [\n defaultRadioButton,\n t.label({for: \"default\"}, \"Match system theme\"),\n darkRadioButton,\n t.label({for: \"dark\"}, \"dark\"),\n lightRadioButton,\n t.label({for: \"light\"}, \"light\"),\n ]);\n return t.div({ className: \"theme-chooser\" }, [select, radioButtons]);\n }\n}\n","/*\nCopyright 2020 Bruno Windels \nCopyright 2020 The Matrix.org Foundation C.I.C.\n\nLicensed under the Apache License, Version 2.0 (the \"License\");\nyou may not use this file except in compliance with the License.\nYou may obtain a copy of the License at\n\n http://www.apache.org/licenses/LICENSE-2.0\n\nUnless required by applicable law or agreed to in writing, software\ndistributed under the License is distributed on an \"AS IS\" BASIS,\nWITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\nSee the License for the specific language governing permissions and\nlimitations under the License.\n*/\n\nimport {TemplateView} from \"../general/TemplateView\";\nimport {AvatarView} from \"../AvatarView\";\nimport {StaticView} from \"../general/StaticView\";\n\nexport class CreateRoomView extends TemplateView {\n render(t, vm) {\n return t.main({className: \"middle\"}, \n t.div({className: \"CreateRoomView centered-column\"}, [\n t.h2(\"Create room\"),\n //t.div({className: \"RoomView_error\"}, vm => vm.error),\n t.form({className: \"CreateRoomView_detailsForm form\", onChange: evt => this.onFormChange(evt), onSubmit: evt => this.onSubmit(evt)}, [\n t.div({className: \"vertical-layout\"}, [\n t.button({type: \"button\", className: \"CreateRoomView_selectAvatar\", onClick: () => vm.selectAvatar()},\n t.mapView(vm => vm.hasAvatar, hasAvatar => {\n if (hasAvatar) {\n return new AvatarView(vm, 64);\n } else {\n return new StaticView(undefined, t => {\n return t.div({className: \"CreateRoomView_selectAvatarPlaceholder\"})\n });\n }\n })\n ),\n t.div({className: \"stretch form-row text\"}, [\n t.label({for: \"name\"}, vm.i18n`Room name`),\n t.input({\n onInput: evt => vm.setName(evt.target.value),\n type: \"text\", name: \"name\", id: \"name\",\n placeholder: vm.i18n`Enter a room name`\n }),\n ]),\n ]),\n t.div({className: \"form-row text\"}, [\n t.label({for: \"topic\"}, vm.i18n`Topic (optional)`),\n t.textarea({\n onInput: evt => vm.setTopic(evt.target.value),\n name: \"topic\", id: \"topic\",\n placeholder: vm.i18n`Topic`\n }),\n ]),\n t.div({className: \"form-group\"}, [\n t.div({className: \"form-row check\"}, [\n t.input({type: \"radio\", name: \"isPublic\", id: \"isPrivate\", value: \"false\", checked: !vm.isPublic}),\n t.label({for: \"isPrivate\"}, vm.i18n`Private room, only upon invitation.`)\n ]),\n t.div({className: \"form-row check\"}, [\n t.input({type: \"radio\", name: \"isPublic\", id: \"isPublic\", value: \"true\", checked: vm.isPublic}),\n t.label({for: \"isPublic\"}, vm.i18n`Public room, anyone can join`)\n ]),\n ]),\n t.div({className: {\"form-row check\": true, hidden: vm => vm.isPublic}}, [\n t.input({type: \"checkbox\", name: \"isEncrypted\", id: \"isEncrypted\", checked: vm.isEncrypted}),\n t.label({for: \"isEncrypted\"}, vm.i18n`Enable end-to-end encryption`)\n ]),\n t.div({className: {\"form-row text\": true, hidden: vm => !vm.isPublic}}, [\n t.label({for: \"roomAlias\"}, vm.i18n`Room alias`),\n t.input({\n onInput: evt => vm.setRoomAlias(evt.target.value),\n type: \"text\", name: \"roomAlias\", id: \"roomAlias\",\n placeholder: vm.i18n`Room alias (, or # or #:hs.tld`}),\n ]),\n t.div({className: \"form-group\"}, [\n t.div(t.button({className: \"link\", type: \"button\", onClick: () => vm.toggleAdvancedShown()},\n vm => vm.isAdvancedShown ? vm.i18n`Hide advanced settings` : vm.i18n`Show advanced settings`)),\n t.div({className: {\"form-row check\": true, hidden: vm => !vm.isAdvancedShown}}, [\n t.input({type: \"checkbox\", name: \"isFederationDisabled\", id: \"isFederationDisabled\", checked: vm.isFederationDisabled}),\n t.label({for: \"isFederationDisabled\"}, [\n vm.i18n`Disable federation`,\n t.p({className: \"form-row-description\"}, vm.i18n`Can't be changed later. This will prevent people on other homeservers from joining the room. This is typically used when only people from your own organisation (if applicable) should be allowed in the room, and is otherwise not needed.`)\n ]),\n ]),\n ]),\n t.div({className: \"button-row\"}, [\n t.button({\n className: \"button-action primary\",\n type: \"submit\",\n disabled: vm => !vm.canCreate\n }, vm.i18n`Create room`),\n ]),\n ])\n ])\n );\n }\n\n onFormChange(evt) {\n switch (evt.target.name) {\n case \"isEncrypted\":\n this.value.setEncrypted(evt.target.checked);\n break;\n case \"isPublic\":\n this.value.setPublic(evt.currentTarget.isPublic.value === \"true\");\n break;\n case \"isFederationDisabled\":\n this.value.setFederationDisabled(evt.target.checked);\n break;\n }\n }\n\n onSubmit(evt) {\n evt.preventDefault();\n this.value.create();\n }\n}\n","/*\nCopyright 2021 The Matrix.org Foundation C.I.C.\n\nLicensed under the Apache License, Version 2.0 (the \"License\");\nyou may not use this file except in compliance with the License.\nYou may obtain a copy of the License at\n\n http://www.apache.org/licenses/LICENSE-2.0\n\nUnless required by applicable law or agreed to in writing, software\ndistributed under the License is distributed on an \"AS IS\" BASIS,\nWITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\nSee the License for the specific language governing permissions and\nlimitations under the License.\n*/\n\nimport {TemplateView} from \"../../general/TemplateView\";\nimport {classNames, tag} from \"../../general/html\";\nimport {AvatarView} from \"../../AvatarView.js\";\n\nexport class RoomDetailsView extends TemplateView {\n render(t, vm) {\n const encryptionString = () => vm.isEncrypted ? vm.i18n`On` : vm.i18n`Off`;\n return t.div({className: \"RoomDetailsView\"}, [\n t.div({className: \"RoomDetailsView_avatar\"},\n [\n t.view(new AvatarView(vm, 52)),\n t.mapView(vm => vm.isEncrypted, isEncrypted => new EncryptionIconView(isEncrypted))\n ]),\n t.div({className: \"RoomDetailsView_name\"}, [t.h2(vm => vm.name)]),\n this._createRoomAliasDisplay(vm),\n t.div({className: \"RoomDetailsView_rows\"},\n [\n this._createRightPanelButtonRow(t, vm.i18n`People`, { MemberCount: true }, vm => vm.memberCount,\n () => vm.openPanel(\"members\")),\n this._createRightPanelRow(t, vm.i18n`Encryption`, {EncryptionStatus: true}, encryptionString)\n ])\n ]);\n }\n\n _createRoomAliasDisplay(vm) {\n return vm.canonicalAlias ? tag.div({className: \"RoomDetailsView_id\"}, [vm.canonicalAlias]) :\n \"\";\n }\n\n _createRightPanelRow(t, label, labelClass, value) {\n const labelClassString = classNames({RoomDetailsView_label: true, ...labelClass});\n return t.div({className: \"RoomDetailsView_row\"}, [\n t.div({className: labelClassString}, [label]),\n t.div({className: \"RoomDetailsView_value\"}, value)\n ]);\n }\n\n _createRightPanelButtonRow(t, label, labelClass, value, onClick) {\n const labelClassString = classNames({RoomDetailsView_label: true, ...labelClass});\n return t.button({className: \"RoomDetailsView_row\", onClick}, [\n t.div({className: labelClassString}, [label]),\n t.div({className: \"RoomDetailsView_value\"}, value)\n ]);\n }\n\n}\n\nclass EncryptionIconView extends TemplateView {\n render(t, isEncrypted) {\n return t.div({className: \"EncryptionIconView\"},\n [t.div({className: isEncrypted ? \"EncryptionIconView_encrypted\" : \"EncryptionIconView_unencrypted\"})]);\n }\n}\n","/*\nCopyright 2021 The Matrix.org Foundation C.I.C.\n\nLicensed under the Apache License, Version 2.0 (the \"License\");\nyou may not use this file except in compliance with the License.\nYou may obtain a copy of the License at\n\n http://www.apache.org/licenses/LICENSE-2.0\n\nUnless required by applicable law or agreed to in writing, software\ndistributed under the License is distributed on an \"AS IS\" BASIS,\nWITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\nSee the License for the specific language governing permissions and\nlimitations under the License.\n*/\n\n// start is included in the range,\n// end is excluded,\n// so [2, 2[ means an empty range\nexport class Range {\n constructor(\n public readonly start: number,\n public readonly end: number\n ) {}\n\n get length() {\n return this.end - this.start;\n }\n\n contains(range: Range): boolean {\n return range.start >= this.start && range.end <= this.end;\n }\n\n containsIndex(idx: number): boolean {\n return idx >= this.start && idx < this.end;\n }\n\n toLocalIndex(idx: number) {\n return idx - this.start;\n }\n\n intersects(range: Range): boolean {\n return range.start < this.end && this.start < range.end;\n }\n\n forEachInIterator(it: Iterator, callback: ((T, i: number) => void)) {\n let i = 0;\n for (i = 0; i < this.start; i += 1) {\n it.next();\n }\n for (i = 0; i < this.length; i += 1) {\n const result = it.next();\n if (result.done) {\n break;\n } else {\n callback(result.value, this.start + i);\n }\n }\n }\n\n [Symbol.iterator](): Iterator {\n return new RangeIterator(this);\n }\n\n reverseIterable(): Iterable {\n return new ReverseRangeIterator(this);\n }\n\n clampIndex(idx: number, end = this.end - 1) {\n return Math.min(Math.max(this.start, idx), end);\n }\n\n getIndexZone(idx): RangeZone {\n if (idx < this.start) {\n return RangeZone.Before;\n } else if (idx < this.end) {\n return RangeZone.Inside;\n } else {\n return RangeZone.After;\n }\n }\n}\n\nexport enum RangeZone {\n Before = 1,\n Inside,\n After\n}\n\nclass RangeIterator implements Iterator {\n private idx: number;\n constructor(private readonly range: Range) {\n this.idx = range.start - 1;\n }\n\n next(): IteratorResult {\n if (this.idx < (this.range.end - 1)) {\n this.idx += 1;\n return {value: this.idx, done: false};\n } else {\n return {value: undefined, done: true};\n }\n }\n}\n\nclass ReverseRangeIterator implements Iterable, Iterator {\n private idx: number;\n constructor(private readonly range: Range) {\n this.idx = range.end;\n }\n\n [Symbol.iterator]() {\n return this;\n }\n\n next(): IteratorResult {\n if (this.idx > this.range.start) {\n this.idx -= 1;\n return {value: this.idx, done: false};\n } else {\n return {value: undefined, done: true};\n }\n }\n}\n\nexport function tests() {\n return {\n \"length\": assert => {\n const a = new Range(2, 5);\n assert.equal(a.length, 3);\n },\n \"iterator\": assert => {\n assert.deepEqual(Array.from(new Range(2, 5)), [2, 3, 4]);\n },\n \"reverseIterable\": assert => {\n assert.deepEqual(Array.from(new Range(2, 5).reverseIterable()), [4, 3, 2]);\n },\n \"containsIndex\": assert => {\n const a = new Range(2, 5);\n assert.equal(a.containsIndex(0), false);\n assert.equal(a.containsIndex(1), false);\n assert.equal(a.containsIndex(2), true);\n assert.equal(a.containsIndex(3), true);\n assert.equal(a.containsIndex(4), true);\n assert.equal(a.containsIndex(5), false);\n assert.equal(a.containsIndex(6), false);\n },\n \"intersects returns false for touching ranges\": assert => {\n const a = new Range(2, 5);\n const b = new Range(5, 10);\n assert.equal(a.intersects(b), false);\n assert.equal(b.intersects(a), false);\n },\n \"intersects returns false\": assert => {\n const a = new Range(2, 5);\n const b = new Range(50, 100);\n assert.equal(a.intersects(b), false);\n assert.equal(b.intersects(a), false);\n },\n \"intersects returns true for 1 overlapping item\": assert => {\n const a = new Range(2, 5);\n const b = new Range(4, 10);\n assert.equal(a.intersects(b), true);\n assert.equal(b.intersects(a), true);\n },\n \"contains beyond left edge\": assert => {\n const a = new Range(2, 5);\n const b = new Range(1, 3);\n assert.equal(a.contains(b), false);\n },\n \"contains at left edge\": assert => {\n const a = new Range(2, 5);\n const b = new Range(2, 3);\n assert.equal(a.contains(b), true);\n },\n \"contains between edges\": assert => {\n const a = new Range(2, 5);\n const b = new Range(3, 4);\n assert.equal(a.contains(b), true);\n },\n \"contains at right edge\": assert => {\n const a = new Range(2, 5);\n const b = new Range(3, 5);\n assert.equal(a.contains(b), true);\n },\n \"contains beyond right edge\": assert => {\n const a = new Range(2, 5);\n const b = new Range(4, 6);\n assert.equal(a.contains(b), false);\n },\n \"contains for non-intersecting ranges\": assert => {\n const a = new Range(2, 5);\n const b = new Range(5, 6);\n assert.equal(a.contains(b), false);\n },\n \"forEachInIterator with more values available\": assert => {\n const callbackValues: {v: string, i: number}[] = [];\n const values = [\"a\", \"b\", \"c\", \"d\", \"e\", \"f\"];\n const it = values[Symbol.iterator]();\n new Range(2, 5).forEachInIterator(it, (v, i) => callbackValues.push({v, i}));\n assert.deepEqual(callbackValues, [\n {v: \"c\", i: 2},\n {v: \"d\", i: 3},\n {v: \"e\", i: 4},\n ]);\n },\n \"forEachInIterator with fewer values available\": assert => {\n const callbackValues: {v: string, i: number}[] = [];\n const values = [\"a\", \"b\", \"c\"];\n const it = values[Symbol.iterator]();\n new Range(2, 5).forEachInIterator(it, (v, i) => callbackValues.push({v, i}));\n assert.deepEqual(callbackValues, [\n {v: \"c\", i: 2},\n ]);\n },\n \"clampIndex\": assert => {\n assert.equal(new Range(2, 5).clampIndex(0), 2);\n assert.equal(new Range(2, 5).clampIndex(2), 2);\n assert.equal(new Range(2, 5).clampIndex(3), 3);\n assert.equal(new Range(2, 5).clampIndex(4), 4);\n assert.equal(new Range(2, 5).clampIndex(5), 4);\n assert.equal(new Range(2, 5).clampIndex(10), 4);\n }\n };\n}\n","/*\nCopyright 2021 The Matrix.org Foundation C.I.C.\n\nLicensed under the Apache License, Version 2.0 (the \"License\");\nyou may not use this file except in compliance with the License.\nYou may obtain a copy of the License at\n\n http://www.apache.org/licenses/LICENSE-2.0\n\nUnless required by applicable law or agreed to in writing, software\ndistributed under the License is distributed on an \"AS IS\" BASIS,\nWITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\nSee the License for the specific language governing permissions and\nlimitations under the License.\n*/\n\nimport {Range, RangeZone} from \"./Range\";\nimport {defaultObserverWith} from \"../../../../observable/list/BaseObservableList\";\n\nfunction skipOnIterator(it: Iterator, pos: number): boolean {\n let i = 0;\n while (i < pos) {\n i += 1;\n if(it.next().done) {\n return false;\n }\n }\n return true;\n}\n\nfunction getIteratorValueAtIdx(it: Iterator, idx: number): undefined | T {\n if (skipOnIterator(it, idx)) {\n const result = it.next();\n if (!result.done) {\n return result.value;\n }\n }\n return undefined;\n}\n\nexport enum ResultType {\n Move,\n Add,\n Remove,\n RemoveAndAdd,\n UpdateRange\n}\n\nexport interface MoveResult {\n type: ResultType.Move;\n fromIdx: number;\n toIdx: number\n}\n\ninterface AddResult {\n type: ResultType.Add;\n newRange?: ListRange;\n /** the list index of an item to add */\n addIdx: number;\n /** the value to add at addIdx */\n value: T\n}\n\ninterface RemoveResult {\n type: ResultType.Remove;\n newRange?: ListRange;\n /** the list index of an item to remove, before the add or remove event has been taken into account */\n removeIdx: number;\n}\n\n// need to repeat the fields from RemoveResult and AddResult here\n// to make the discriminated union work\ninterface RemoveAndAddResult {\n type: ResultType.RemoveAndAdd;\n newRange?: ListRange;\n /** the list index of an item to remove, before the add or remove event has been taken into account */\n removeIdx: number;\n /** the list index of an item to add */\n addIdx: number;\n /** the value to add at addIdx */\n value: T;\n}\n\ninterface UpdateRangeResult {\n type: ResultType.UpdateRange;\n newRange?: ListRange;\n}\n\nexport type AddRemoveResult = AddResult | RemoveResult | RemoveAndAddResult | UpdateRangeResult;\n\nexport class ListRange extends Range {\n constructor(\n start: number,\n end: number,\n private _totalLength: number,\n private _viewportItemCount: number = end - start\n ) {\n super(start, end);\n }\n\n expand(amount: number): ListRange {\n // don't expand ranges that won't render anything\n if (this.length === 0) {\n return this;\n }\n const newStart = Math.max(0, this.start - amount);\n const newEnd = Math.min(this.totalLength, this.end + amount);\n return new ListRange(\n newStart,\n newEnd,\n this.totalLength,\n this._viewportItemCount\n );\n }\n\n get totalLength(): number {\n return this._totalLength;\n }\n\n get viewportItemCount(): number {\n return this._viewportItemCount;\n }\n\n static fromViewport(listLength: number, itemHeight: number, listHeight: number, scrollTop: number) {\n const topCount = Math.min(Math.max(0, Math.floor(scrollTop / itemHeight)), listLength);\n const itemsAfterTop = listLength - topCount;\n const viewportItemCount = listHeight !== 0 ? Math.ceil(listHeight / itemHeight) : 0;\n const renderCount = Math.min(viewportItemCount, itemsAfterTop);\n return new ListRange(topCount, topCount + renderCount, listLength, viewportItemCount);\n }\n\n queryAdd(idx: number, value: T, list: Iterable): AddRemoveResult {\n const maxAddIdx = this.viewportItemCount > this.length ? this.end : this.end - 1;\n if (idx <= maxAddIdx) {\n // use maxAddIdx to allow to grow the range by one at a time\n // if the viewport isn't filled yet\n const addIdx = this.clampIndex(idx, maxAddIdx);\n const addValue = addIdx === idx ? value : getIteratorValueAtIdx(list[Symbol.iterator](), addIdx)!;\n return this.createAddResult(addIdx, addValue);\n } else {\n // if the add happened after the range, we only update the range with the new length\n return {type: ResultType.UpdateRange, newRange: this.deriveRange(1, 0)};\n }\n }\n\n queryRemove(idx: number, list: Iterable): AddRemoveResult {\n if (idx < this.end) {\n const removeIdx = this.clampIndex(idx);\n return this.createRemoveResult(removeIdx, list);\n } else {\n return {type: ResultType.UpdateRange, newRange: this.deriveRange(-1, 0)};\n }\n }\n\n queryMove(fromIdx: number, toIdx: number, value: T, list: Iterable): MoveResult | AddRemoveResult | undefined {\n const fromZone = this.getIndexZone(fromIdx);\n const toZone = this.getIndexZone(toIdx);\n if (fromZone === toZone) {\n if (fromZone === RangeZone.Before || fromZone === RangeZone.After) {\n return;\n } else if (fromZone === RangeZone.Inside) {\n return {type: ResultType.Move, fromIdx, toIdx};\n }\n } else {\n const addIdx = this.clampIndex(toIdx);\n const removeIdx = this.clampIndex(fromIdx);\n const addValue = addIdx === toIdx ? value : getIteratorValueAtIdx(list[Symbol.iterator](), addIdx)!;\n return {type: ResultType.RemoveAndAdd, removeIdx, addIdx, value: addValue};\n }\n }\n\n private createAddResult(addIdx: number, value: T): AddRemoveResult {\n // if the view port isn't filled yet, we don't remove\n if (this.viewportItemCount > this.length) {\n return {type: ResultType.Add, addIdx, value, newRange: this.deriveRange(1, 1)};\n } else {\n const removeIdx = this.clampIndex(Number.MAX_SAFE_INTEGER);\n return {type: ResultType.RemoveAndAdd, removeIdx, addIdx, value, newRange: this.deriveRange(1, 0)};\n }\n }\n\n private createRemoveResult(removeIdx: number, list: Iterable): AddRemoveResult {\n if (this.end < this.totalLength) {\n // we have items below the range, we can add one from there to fill the viewport\n const addIdx = this.clampIndex(Number.MAX_SAFE_INTEGER);\n // we assume the value has already been removed from the list,\n // so we can just look up the next value which is already at the same idx\n const value = getIteratorValueAtIdx(list[Symbol.iterator](), addIdx)!;\n return {type: ResultType.RemoveAndAdd, removeIdx, value, addIdx, newRange: this.deriveRange(-1, 0)};\n } else if (this.start !== 0) {\n // move the range 1 item up so we still display a viewport full of items\n const newRange = this.deriveRange(-1, 0, 1);\n const addIdx = newRange.start;\n // we assume the value has already been removed from the list,\n // so we can just look up the next value which is already at the same idx\n const value = getIteratorValueAtIdx(list[Symbol.iterator](), addIdx)!;\n return {type: ResultType.RemoveAndAdd, removeIdx, value, addIdx, newRange};\n } else {\n // we can't add at the bottom nor top, already constrained\n return {type: ResultType.Remove, removeIdx, newRange: this.deriveRange(-1, 0)};\n }\n }\n\n private deriveRange(totalLengthInc: number, viewportItemCountDecr: number, startDecr: number = 0): ListRange {\n const start = this.start - startDecr;\n const totalLength = this.totalLength + totalLengthInc;\n // prevent end being larger than totalLength\n const end = Math.min(Math.max(start, this.end - startDecr + viewportItemCountDecr), totalLength);\n return new ListRange(\n start,\n end,\n totalLength,\n this.viewportItemCount\n );\n }\n}\n\nimport {ObservableArray} from \"../../../../observable/list/ObservableArray\";\n\nexport function tests() {\n return {\n \"fromViewport\": assert => {\n const range = ListRange.fromViewport(10, 20, 90, 30);\n assert.equal(range.start, 1);\n assert.equal(range.end, 6);\n assert.equal(range.totalLength, 10);\n },\n \"fromViewport at end\": assert => {\n const itemHeight = 20;\n const range = ListRange.fromViewport(10, itemHeight, 3 * itemHeight, 7 * itemHeight);\n assert.equal(range.start, 7);\n assert.equal(range.end, 10);\n assert.equal(range.totalLength, 10);\n },\n \"fromViewport with not enough items to fill viewport\": assert => {\n const itemHeight = 20;\n const range = ListRange.fromViewport(5, itemHeight, 8 * itemHeight, 0);\n assert.equal(range.start, 0);\n assert.equal(range.end, 5);\n assert.equal(range.totalLength, 5);\n assert.equal(range.length, 5);\n assert.equal(range.viewportItemCount, 8);\n },\n \"expand at start of list\": assert => {\n const range = new ListRange(1, 5, 10);\n const expanded = range.expand(2);\n assert.equal(expanded.start, 0);\n assert.equal(expanded.end, 7);\n assert.equal(expanded.totalLength, 10);\n assert.equal(expanded.length, 7);\n },\n \"expand at end of list\": assert => {\n const range = new ListRange(7, 9, 10);\n const expanded = range.expand(2);\n assert.equal(expanded.start, 5);\n assert.equal(expanded.end, 10);\n assert.equal(expanded.totalLength, 10);\n assert.equal(expanded.length, 5);\n },\n \"expand in middle of list\": assert => {\n const range = new ListRange(4, 6, 10);\n const expanded = range.expand(2);\n assert.equal(expanded.start, 2);\n assert.equal(expanded.end, 8);\n assert.equal(expanded.totalLength, 10);\n assert.equal(expanded.length, 6);\n },\n \"queryAdd with addition before range\": assert => {\n const list = new ObservableArray([\"b\", \"c\", \"d\", \"e\"]);\n const range = new ListRange(1, 3, list.length);\n let added = false;\n list.subscribe(defaultObserverWith({\n onAdd(idx, value) {\n added = true;\n const result = range.queryAdd(idx, value, list);\n assert.deepEqual(result, {\n type: ResultType.RemoveAndAdd,\n removeIdx: 2,\n addIdx: 1,\n value: \"b\",\n newRange: new ListRange(1, 3, 5)\n });\n }\n }));\n list.insert(0, \"a\");\n assert(added);\n },\n \"queryAdd with addition within range\": assert => {\n const list = new ObservableArray([\"a\", \"b\", \"d\", \"e\"]);\n const range = new ListRange(1, 3, list.length);\n let added = false;\n list.subscribe(defaultObserverWith({\n onAdd(idx, value) {\n added = true;\n const result = range.queryAdd(idx, value, list);\n assert.deepEqual(result, {\n type: ResultType.RemoveAndAdd,\n removeIdx: 2,\n addIdx: 2,\n value: \"c\",\n newRange: new ListRange(1, 3, 5)\n });\n }\n }));\n list.insert(2, \"c\");\n assert(added);\n },\n \"queryAdd with addition after range\": assert => {\n const list = new ObservableArray([\"a\", \"b\", \"c\", \"d\"]);\n const range = new ListRange(1, 3, list.length);\n let added = false;\n list.subscribe(defaultObserverWith({\n onAdd(idx, value) {\n added = true;\n const result = range.queryAdd(idx, value, list);\n assert.deepEqual(result, {\n type: ResultType.UpdateRange,\n newRange: new ListRange(1, 3, 5)\n });\n }\n }));\n list.insert(4, \"e\");\n assert(added);\n },\n \"queryAdd with too few items to fill viewport grows the range\": assert => {\n const list = new ObservableArray([\"a\", \"b\", \"d\"]);\n const viewportItemCount = 4;\n const range = new ListRange(0, 3, list.length, viewportItemCount);\n let added = false;\n list.subscribe(defaultObserverWith({\n onAdd(idx, value) {\n added = true;\n const result = range.queryAdd(idx, value, list);\n assert.deepEqual(result, {\n type: ResultType.Add,\n newRange: new ListRange(0, 4, 4),\n addIdx: 2,\n value: \"c\"\n });\n }\n }));\n list.insert(2, \"c\");\n assert(added);\n },\n \"queryRemove with removal before range\": assert => {\n const list = new ObservableArray([\"a\", \"b\", \"c\", \"d\", \"e\"]);\n const range = new ListRange(1, 3, list.length);\n let removed = false;\n list.subscribe(defaultObserverWith({\n onRemove(idx) {\n removed = true;\n const result = range.queryRemove(idx, list);\n assert.deepEqual(result, {\n type: ResultType.RemoveAndAdd,\n removeIdx: 1,\n addIdx: 2,\n value: \"d\",\n newRange: new ListRange(1, 3, 4)\n });\n }\n }));\n list.remove(0);\n assert(removed);\n },\n \"queryRemove with removal within range\": assert => {\n const list = new ObservableArray([\"a\", \"b\", \"c\", \"d\", \"e\"]);\n const range = new ListRange(1, 3, list.length);\n let removed = false;\n list.subscribe(defaultObserverWith({\n onRemove(idx) {\n removed = true;\n const result = range.queryRemove(idx, list);\n assert.deepEqual(result, {\n type: ResultType.RemoveAndAdd,\n removeIdx: 2,\n addIdx: 2,\n value: \"d\",\n newRange: new ListRange(1, 3, 4)\n });\n assert.equal(list.length, 4);\n }\n }));\n list.remove(2);\n assert(removed);\n },\n \"queryRemove with removal after range\": assert => {\n const list = new ObservableArray([\"a\", \"b\", \"c\", \"d\", \"e\"]);\n const range = new ListRange(1, 3, list.length);\n let removed = false;\n list.subscribe(defaultObserverWith({\n onRemove(idx) {\n removed = true;\n const result = range.queryRemove(idx, list);\n assert.deepEqual(result, {\n type: ResultType.UpdateRange,\n newRange: new ListRange(1, 3, 4)\n });\n }\n }));\n list.remove(3);\n assert(removed);\n },\n \"queryRemove at bottom of range moves range one up\": assert => {\n const list = new ObservableArray([\"a\", \"b\", \"c\"]);\n const range = new ListRange(1, 3, list.length);\n let removed = false;\n list.subscribe(defaultObserverWith({\n onRemove(idx) {\n removed = true;\n const result = range.queryRemove(idx, list);\n assert.deepEqual(result, {\n newRange: new ListRange(0, 2, 2),\n type: ResultType.RemoveAndAdd,\n removeIdx: 2,\n addIdx: 0,\n value: \"a\"\n });\n }\n }));\n list.remove(2);\n assert(removed);\n },\n \"queryRemove with range on full length shrinks range\": assert => {\n const list = new ObservableArray([\"a\", \"b\", \"c\"]);\n const range = new ListRange(0, 3, list.length);\n let removed = false;\n list.subscribe(defaultObserverWith({\n onRemove(idx) {\n removed = true;\n const result = range.queryRemove(idx, list);\n assert.deepEqual(result, {\n newRange: new ListRange(0, 2, 2, 3),\n type: ResultType.Remove,\n removeIdx: 2,\n });\n }\n }));\n list.remove(2);\n assert(removed);\n },\n \"queryMove with move inside range\": assert => {\n const list = new ObservableArray([\"a\", \"b\", \"c\", \"d\", \"e\"]);\n const range = new ListRange(1, 4, list.length);\n let moved = false;\n list.subscribe(defaultObserverWith({\n onMove(fromIdx, toIdx, value) {\n moved = true;\n const result = range.queryMove(fromIdx, toIdx, value, list);\n assert.deepEqual(result, {\n type: ResultType.Move,\n fromIdx: 2,\n toIdx: 3\n });\n }\n }));\n list.move(2, 3);\n assert(moved);\n },\n \"queryMove with move from before to inside range\": assert => {\n const list = new ObservableArray([\"a\", \"b\", \"c\", \"d\", \"e\"]);\n const range = new ListRange(2, 5, list.length);\n let moved = false;\n list.subscribe(defaultObserverWith({\n onMove(fromIdx, toIdx, value) {\n moved = true;\n const result = range.queryMove(fromIdx, toIdx, value, list);\n assert.deepEqual(result, {\n type: ResultType.RemoveAndAdd,\n removeIdx: 2,\n addIdx: 3,\n value: \"a\"\n });\n }\n }));\n list.move(0, 3); // move \"a\" to after \"d\"\n assert(moved);\n },\n \"queryMove with move from after to inside range\": assert => {\n const list = new ObservableArray([\"a\", \"b\", \"c\", \"d\", \"e\"]);\n const range = new ListRange(0, 3, list.length);\n let moved = false;\n list.subscribe(defaultObserverWith({\n onMove(fromIdx, toIdx, value) {\n moved = true;\n const result = range.queryMove(fromIdx, toIdx, value, list);\n assert.deepEqual(result, {\n type: ResultType.RemoveAndAdd,\n removeIdx: 2,\n addIdx: 1,\n value: \"e\"\n });\n }\n }));\n list.move(4, 1); // move \"e\" to before \"b\"\n assert(moved);\n },\n \"queryMove with move inside range to after\": assert => {\n const list = new ObservableArray([\"a\", \"b\", \"c\", \"d\", \"e\"]);\n const range = new ListRange(0, 3, list.length);\n let moved = false;\n list.subscribe(defaultObserverWith({\n onMove(fromIdx, toIdx, value) {\n moved = true;\n const result = range.queryMove(fromIdx, toIdx, value, list);\n assert.deepEqual(result, {\n type: ResultType.RemoveAndAdd,\n removeIdx: 1,\n addIdx: 2,\n value: \"d\"\n });\n }\n }));\n list.move(1, 3); // move \"b\" to after \"d\"\n assert(moved);\n },\n \"queryMove with move inside range to before\": assert => {\n const list = new ObservableArray([\"a\", \"b\", \"c\", \"d\", \"e\"]);\n const range = new ListRange(2, 5, list.length);\n let moved = false;\n list.subscribe(defaultObserverWith({\n onMove(fromIdx, toIdx, value) {\n moved = true;\n const result = range.queryMove(fromIdx, toIdx, value, list);\n assert.deepEqual(result, {\n type: ResultType.RemoveAndAdd,\n removeIdx: 3,\n addIdx: 2,\n value: \"b\"\n });\n }\n }));\n list.move(3, 0); // move \"d\" to before \"a\"\n assert(moved);\n },\n \"queryMove with move from before range to after\": assert => {\n const list = new ObservableArray([\"a\", \"b\", \"c\", \"d\", \"e\"]);\n const range = new ListRange(1, 4, list.length);\n let moved = false;\n list.subscribe(defaultObserverWith({\n onMove(fromIdx, toIdx, value) {\n moved = true;\n const result = range.queryMove(fromIdx, toIdx, value, list);\n assert.deepEqual(result, {\n type: ResultType.RemoveAndAdd,\n removeIdx: 1,\n addIdx: 3,\n value: \"e\"\n });\n }\n }));\n list.move(0, 4); // move \"a\" to after \"e\"\n assert(moved);\n },\n // would be good to test here what multiple mutations look like with executing the result of queryXXX\n // on an array, much like we do in the view.\n };\n}\n","/*\nCopyright 2021 The Matrix.org Foundation C.I.C.\n\nLicensed under the Apache License, Version 2.0 (the \"License\");\nyou may not use this file except in compliance with the License.\nYou may obtain a copy of the License at\n\n http://www.apache.org/licenses/LICENSE-2.0\n\nUnless required by applicable law or agreed to in writing, software\ndistributed under the License is distributed on an \"AS IS\" BASIS,\nWITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\nSee the License for the specific language governing permissions and\nlimitations under the License.\n*/\n\nimport {tag} from \"./html\";\nimport {removeChildren, mountView} from \"./utils\";\nimport {ListRange, ResultType, AddRemoveResult} from \"./ListRange\";\nimport {ListView, IOptions as IParentOptions} from \"./ListView\";\nimport {IView} from \"./types\";\n\nexport interface IOptions extends IParentOptions {\n itemHeight: number;\n overflowItems?: number;\n}\n\nexport class LazyListView extends ListView {\n private renderRange?: ListRange;\n private height?: number;\n private itemHeight: number;\n private overflowItems: number;\n private scrollContainer?: HTMLElement;\n\n constructor(\n {itemHeight, overflowItems = 20, ...options}: IOptions, \n childCreator: (value: T) => V\n ) {\n super(options, childCreator);\n this.itemHeight = itemHeight;\n this.overflowItems = overflowItems;\n }\n\n handleEvent(e: Event) {\n if (e.type === \"scroll\") {\n this.handleScroll();\n } else {\n super.handleEvent(e);\n }\n }\n\n handleScroll() {\n const visibleRange = this._getVisibleRange();\n // don't contain empty ranges\n // as it will prevent clearing the list\n // once it is scrolled far enough out of view\n if (visibleRange.length !== 0 && !this.renderRange!.contains(visibleRange)) {\n const prevRenderRange = this.renderRange!;\n this.renderRange = visibleRange.expand(this.overflowItems);\n this.renderUpdate(prevRenderRange, this.renderRange);\n }\n }\n \n // override\n async loadList() {\n /*\n Wait two frames for the return from mount() to be inserted into DOM.\n This should be enough, but if this gives us trouble we can always use\n MutationObserver.\n */\n await new Promise(r => requestAnimationFrame(r));\n await new Promise(r => requestAnimationFrame(r));\n\n if (!this._list) {\n return;\n }\n this._subscription = this._list.subscribe(this);\n const visibleRange = this._getVisibleRange();\n this.renderRange = visibleRange.expand(this.overflowItems);\n this._childInstances = [];\n this.reRenderFullRange(this.renderRange);\n }\n\n private _getVisibleRange() {\n const {clientHeight, scrollTop} = this.root()!;\n if (clientHeight === 0) {\n throw new Error(\"LazyListView height is 0\");\n }\n return ListRange.fromViewport(this._list.length, this.itemHeight, clientHeight, scrollTop);\n }\n\n private reRenderFullRange(range: ListRange) {\n removeChildren(this._listElement!);\n const fragment = document.createDocumentFragment();\n const it = this._list[Symbol.iterator]();\n this._childInstances!.length = 0;\n range.forEachInIterator(it, item => {\n const child = this._childCreator(item);\n this._childInstances!.push(child);\n fragment.appendChild(mountView(child, this._mountArgs));\n });\n this._listElement!.appendChild(fragment);\n this.adjustPadding(range);\n }\n\n private renderUpdate(prevRange: ListRange, newRange: ListRange) {\n if (newRange.intersects(prevRange)) {\n // remove children in reverse order so child index isn't affected by previous removals\n for (const idxInList of prevRange.reverseIterable()) {\n if (!newRange.containsIndex(idxInList)) {\n const localIdx = idxInList - prevRange.start;\n this.removeChild(localIdx);\n }\n }\n // use forEachInIterator instead of for loop as we need to advance\n // the list iterator to the start of the range first\n newRange.forEachInIterator(this._list[Symbol.iterator](), (item, idxInList) => {\n if (!prevRange.containsIndex(idxInList)) {\n const localIdx = idxInList - newRange.start;\n this.addChild(localIdx, item);\n }\n });\n this.adjustPadding(newRange);\n } else {\n this.reRenderFullRange(newRange);\n }\n }\n\n private adjustPadding(range: ListRange) {\n const paddingTop = range.start * this.itemHeight;\n const paddingBottom = (range.totalLength - range.end) * this.itemHeight;\n const style = this._listElement!.style;\n style.paddingTop = `${paddingTop}px`;\n style.paddingBottom = `${paddingBottom}px`;\n }\n\n mount() {\n const listElement = super.mount();\n this.scrollContainer = tag.div({className: \"LazyListParent\"}, listElement) as HTMLElement;\n this.scrollContainer.addEventListener(\"scroll\", this);\n return this.scrollContainer;\n }\n\n unmount() {\n this.root()!.removeEventListener(\"scroll\", this);\n this.scrollContainer = undefined;\n super.unmount();\n }\n\n root(): Element | undefined {\n return this.scrollContainer;\n }\n\n private get _listElement(): HTMLElement | undefined {\n return super.root() as HTMLElement | undefined;\n }\n\n onAdd(idx: number, value: T) {\n const result = this.renderRange!.queryAdd(idx, value, this._list);\n this.applyRemoveAddResult(result);\n }\n\n onRemove(idx: number, value: T) {\n const result = this.renderRange!.queryRemove(idx, this._list);\n this.applyRemoveAddResult(result);\n }\n\n onMove(fromIdx: number, toIdx: number, value: T) {\n const result = this.renderRange!.queryMove(fromIdx, toIdx, value, this._list);\n if (result) {\n if (result.type === ResultType.Move) {\n this.moveChild(\n this.renderRange!.toLocalIndex(result.fromIdx),\n this.renderRange!.toLocalIndex(result.toIdx)\n );\n } else {\n this.applyRemoveAddResult(result);\n }\n }\n }\n\n onUpdate(i: number, value: T, params: any) {\n if (this.renderRange!.containsIndex(i)) {\n this.updateChild(this.renderRange!.toLocalIndex(i), value, params);\n }\n }\n\n private applyRemoveAddResult(result: AddRemoveResult) {\n // order is important here, the new range can have a different start\n if (result.type === ResultType.Remove || result.type === ResultType.RemoveAndAdd) {\n this.removeChild(this.renderRange!.toLocalIndex(result.removeIdx));\n }\n if (result.newRange) {\n this.renderRange = result.newRange;\n this.adjustPadding(this.renderRange)\n }\n if (result.type === ResultType.Add || result.type === ResultType.RemoveAndAdd) {\n this.addChild(this.renderRange!.toLocalIndex(result.addIdx), result.value);\n }\n }\n}\n","/*\nCopyright 2021 The Matrix.org Foundation C.I.C.\n\nLicensed under the Apache License, Version 2.0 (the \"License\");\nyou may not use this file except in compliance with the License.\nYou may obtain a copy of the License at\n\n http://www.apache.org/licenses/LICENSE-2.0\n\nUnless required by applicable law or agreed to in writing, software\ndistributed under the License is distributed on an \"AS IS\" BASIS,\nWITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\nSee the License for the specific language governing permissions and\nlimitations under the License.\n*/\n\nimport {TemplateView} from \"../../general/TemplateView\";\nimport {AvatarView} from \"../../AvatarView.js\";\n\nexport class MemberTileView extends TemplateView {\n render(t, vm) {\n return t.li({ className: \"MemberTileView\" },\n t.a({ href: vm.detailsUrl },\n [\n t.view(new AvatarView(vm, 32)),\n t.div({ className: \"MemberTileView_name\" }, (vm) => vm.name),\n ])\n );\n }\n}\n","/*\nCopyright 2021 The Matrix.org Foundation C.I.C.\n\nLicensed under the Apache License, Version 2.0 (the \"License\");\nyou may not use this file except in compliance with the License.\nYou may obtain a copy of the License at\n\n http://www.apache.org/licenses/LICENSE-2.0\n\nUnless required by applicable law or agreed to in writing, software\ndistributed under the License is distributed on an \"AS IS\" BASIS,\nWITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\nSee the License for the specific language governing permissions and\nlimitations under the License.\n*/\n\nimport {LazyListView} from \"../../general/LazyListView\";\nimport {MemberTileView} from \"./MemberTileView.js\";\n\nexport class MemberListView extends LazyListView {\n constructor(vm) {\n super({\n list: vm.memberTileViewModels,\n className: \"MemberListView\",\n itemHeight: 40\n }, tileViewModel => new MemberTileView(tileViewModel));\n }\n}\n","/*\nCopyright 2021 The Matrix.org Foundation C.I.C.\n\nLicensed under the Apache License, Version 2.0 (the \"License\");\nyou may not use this file except in compliance with the License.\nYou may obtain a copy of the License at\n\n http://www.apache.org/licenses/LICENSE-2.0\n\nUnless required by applicable law or agreed to in writing, software\ndistributed under the License is distributed on an \"AS IS\" BASIS,\nWITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\nSee the License for the specific language governing permissions and\nlimitations under the License.\n*/\n\nimport {AvatarView} from \"../../AvatarView.js\";\nimport {TemplateView} from \"../../general/TemplateView\";\n\nexport class MemberDetailsView extends TemplateView {\n render(t, vm) {\n return t.div({className: \"MemberDetailsView\"},\n [ t.view(new AvatarView(vm, 128)),\n t.div({className: \"MemberDetailsView_name\"}, t.h2(vm => vm.name)),\n t.div({className: \"MemberDetailsView_id\"}, vm.userId),\n this._createSection(t, vm.i18n`Role`, vm => vm.role),\n this._createSection(t, vm.i18n`Security`, vm.isEncrypted ?\n vm.i18n`Messages in this room are end-to-end encrypted.` :\n vm.i18n`Messages in this room are not end-to-end encrypted.`\n ),\n this._createOptions(t, vm)\n ]);\n }\n\n _createSection(t, label, value) {\n return t.div({ className: \"MemberDetailsView_section\" },\n [\n t.div({className: \"MemberDetailsView_label\"}, label),\n t.div({className: \"MemberDetailsView_value\"}, value)\n ]);\n }\n\n _createOptions(t, vm) {\n return t.div({ className: \"MemberDetailsView_section\" },\n [\n t.div({className: \"MemberDetailsView_label\"}, vm.i18n`Options`),\n t.div({className: \"MemberDetailsView_options\"},\n [\n t.a({href: vm.linkToUser, target: \"_blank\", rel: \"noopener\"}, vm.i18n`Open Link to User`),\n t.button({className: \"text\", onClick: () => vm.openDirectMessage()}, vm.i18n`Open direct message`)\n ])\n ]);\n }\n}\n","/*\nCopyright 2021 The Matrix.org Foundation C.I.C.\n\nLicensed under the Apache License, Version 2.0 (the \"License\");\nyou may not use this file except in compliance with the License.\nYou may obtain a copy of the License at\n\n http://www.apache.org/licenses/LICENSE-2.0\n\nUnless required by applicable law or agreed to in writing, software\ndistributed under the License is distributed on an \"AS IS\" BASIS,\nWITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\nSee the License for the specific language governing permissions and\nlimitations under the License.\n*/\n\nimport {TemplateView} from \"../../general/TemplateView\";\nimport {RoomDetailsView} from \"./RoomDetailsView.js\";\nimport {MemberListView} from \"./MemberListView.js\";\nimport {LoadingView} from \"../../general/LoadingView.js\";\nimport {MemberDetailsView} from \"./MemberDetailsView.js\";\n\nexport class RightPanelView extends TemplateView {\n render(t) {\n return t.div({ className: \"RightPanelView\" },\n [\n t.ifView(vm => vm.activeViewModel, vm => new ButtonsView(vm)),\n t.mapView(vm => vm.activeViewModel, vm => this._viewFromType(vm))\n ]\n );\n }\n\n _viewFromType(vm) {\n const type = vm?.type;\n switch (type) {\n case \"room-details\":\n return new RoomDetailsView(vm);\n case \"member-list\":\n return new MemberListView(vm);\n case \"member-details\":\n return new MemberDetailsView(vm);\n default:\n return new LoadingView();\n }\n }\n}\n\nclass ButtonsView extends TemplateView {\n render(t, vm) {\n return t.div({ className: \"RightPanelView_buttons\" },\n [\n t.button({\n className: {\n \"back\": true,\n \"button-utility\": true,\n \"hide\": !vm.activeViewModel.shouldShowBackButton\n }, onClick: () => vm.showPreviousPanel()}),\n t.button({className: \"close button-utility\", onClick: () => vm.closePanel()})\n ]);\n }\n}\n","/*\nCopyright 2021 The Matrix.org Foundation C.I.C.\n\nLicensed under the Apache License, Version 2.0 (the \"License\");\nyou may not use this file except in compliance with the License.\nYou may obtain a copy of the License at\n\n http://www.apache.org/licenses/LICENSE-2.0\n\nUnless required by applicable law or agreed to in writing, software\ndistributed under the License is distributed on an \"AS IS\" BASIS,\nWITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\nSee the License for the specific language governing permissions and\nlimitations under the License.\n*/\n\nimport {ListView} from \"../../../general/ListView\";\nimport {TemplateView} from \"../../../general/TemplateView\";\n\nexport class ReactionsView extends ListView {\n constructor(reactionsViewModel) {\n const options = {\n className: \"Timeline_messageReactions\",\n tagName: \"div\",\n list: reactionsViewModel.reactions,\n onItemClick: reactionView => reactionView.onClick(),\n }\n super(options, reactionVM => new ReactionView(reactionVM));\n }\n}\n\nclass ReactionView extends TemplateView {\n render(t, vm) {\n return t.button({\n className: {\n active: vm => vm.isActive,\n pending: vm => vm.isPending\n },\n }, [vm.key, \" \", vm => `${vm.count}`]);\n }\n\n onClick() {\n this.value.toggle();\n }\n}\n","/*\nCopyright 2020 Bruno Windels \nCopyright 2020 The Matrix.org Foundation C.I.C.\n\nLicensed under the Apache License, Version 2.0 (the \"License\");\nyou may not use this file except in compliance with the License.\nYou may obtain a copy of the License at\n\n http://www.apache.org/licenses/LICENSE-2.0\n\nUnless required by applicable law or agreed to in writing, software\ndistributed under the License is distributed on an \"AS IS\" BASIS,\nWITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\nSee the License for the specific language governing permissions and\nlimitations under the License.\n*/\n\nimport {renderStaticAvatar} from \"../../../avatar\";\nimport {tag} from \"../../../general/html\";\nimport {mountView} from \"../../../general/utils\";\nimport {TemplateView} from \"../../../general/TemplateView\";\nimport {Popup} from \"../../../general/Popup.js\";\nimport {Menu} from \"../../../general/Menu.js\";\nimport {ReactionsView} from \"./ReactionsView.js\";\n\nexport class BaseMessageView extends TemplateView {\n constructor(value, viewClassForTile, renderFlags, tagName = \"li\") {\n super(value);\n this._menuPopup = null;\n this._tagName = tagName;\n this._viewClassForTile = viewClassForTile;\n // TODO An enum could be nice to make code easier to read at call sites.\n this._renderFlags = renderFlags;\n }\n\n get _interactive() { return this._renderFlags?.interactive ?? true; }\n get _isReplyPreview() { return this._renderFlags?.reply; }\n\n render(t, vm) {\n const children = [this.renderMessageBody(t, vm)];\n if (this._interactive) {\n children.push(t.button({className: \"Timeline_messageOptions\"}, \"⋯\"));\n }\n const li = t.el(this._tagName, {\n className: {\n \"Timeline_message\": true,\n own: vm.isOwn,\n unsent: vm.isUnsent,\n unverified: vm.isUnverified,\n disabled: !this._interactive,\n continuation: vm => vm.isContinuation,\n },\n 'data-event-id': vm.eventId\n }, children);\n // given that there can be many tiles, we don't add\n // unneeded DOM nodes in case of a continuation, and we add it\n // with a side-effect binding to not have to create sub views,\n // as the avatar or sender doesn't need any bindings or event handlers.\n // don't use `t` from within the side-effect callback\n t.mapSideEffect(vm => vm.isContinuation, (isContinuation, wasContinuation) => {\n if (isContinuation && wasContinuation === false) {\n li.removeChild(li.querySelector(\".Timeline_messageAvatar\"));\n li.removeChild(li.querySelector(\".Timeline_messageSender\"));\n } else if (!isContinuation && !this._isReplyPreview) {\n const avatar = tag.a({href: vm.memberPanelLink, className: \"Timeline_messageAvatar\"}, [renderStaticAvatar(vm, 30)]);\n const sender = tag.div({className: `Timeline_messageSender usercolor${vm.avatarColorNumber}`}, vm.displayName);\n li.insertBefore(avatar, li.firstChild);\n li.insertBefore(sender, li.firstChild);\n }\n });\n // similarly, we could do this with a simple ifView,\n // but that adds a comment node to all messages without reactions\n let reactionsView = null;\n t.mapSideEffect(vm => vm.reactions, reactions => {\n if (reactions && this._interactive && !reactionsView) {\n reactionsView = new ReactionsView(reactions);\n this.addSubView(reactionsView);\n li.appendChild(mountView(reactionsView));\n } else if (!reactions && reactionsView) {\n li.removeChild(reactionsView.root());\n reactionsView.unmount();\n this.removeSubView(reactionsView);\n reactionsView = null;\n }\n });\n return li;\n }\n\n /* This is called by the parent ListView, which just has 1 listener for the whole list */\n onClick(evt) {\n if (evt.target.className === \"Timeline_messageOptions\") {\n this._toggleMenu(evt.target);\n }\n }\n\n _toggleMenu(button) {\n if (this._menuPopup && this._menuPopup.isOpen) {\n this._menuPopup.close();\n } else {\n const options = this.createMenuOptions(this.value);\n if (!options.length) {\n return;\n }\n this.root().classList.add(\"menuOpen\");\n const onClose = () => this.root().classList.remove(\"menuOpen\");\n this._menuPopup = new Popup(new Menu(options), onClose);\n this._menuPopup.trackInTemplateView(this);\n this._menuPopup.showRelativeTo(button, 2);\n }\n }\n\n createMenuOptions(vm) {\n const options = [];\n if (vm.canReact && vm.shape !== \"redacted\" && !vm.isPending) {\n options.push(new QuickReactionsMenuOption(vm));\n options.push(Menu.option(vm.i18n`Reply`, () => vm.startReply()));\n }\n if (vm.canAbortSending) {\n options.push(Menu.option(vm.i18n`Cancel`, () => vm.abortSending()));\n } else if (vm.canRedact) {\n options.push(Menu.option(vm.i18n`Delete`, () => vm.redact()).setDestructive());\n }\n return options;\n }\n\n renderMessageBody() {}\n}\n\nclass QuickReactionsMenuOption {\n constructor(vm) {\n this._vm = vm;\n }\n toDOM(t) {\n const emojiButtons = [\"👍\", \"👎\", \"😄\", \"🎉\", \"😕\", \"❤️\", \"🚀\", \"👀\"].map(emoji => {\n return t.button({onClick: () => this._vm.react(emoji)}, emoji);\n });\n const customButton = t.button({onClick: () => {\n const key = prompt(\"Enter your reaction (emoji)\");\n if (key) {\n this._vm.react(key);\n }\n }}, \"…\");\n return t.li({className: \"quick-reactions\"}, [...emojiButtons, customButton]);\n }\n}\n","/*\nCopyright 2021 The Matrix.org Foundation C.I.C.\n\nLicensed under the Apache License, Version 2.0 (the \"License\");\nyou may not use this file except in compliance with the License.\nYou may obtain a copy of the License at\n\n http://www.apache.org/licenses/LICENSE-2.0\n\nUnless required by applicable law or agreed to in writing, software\ndistributed under the License is distributed on an \"AS IS\" BASIS,\nWITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\nSee the License for the specific language governing permissions and\nlimitations under the License.\n*/\n\nimport {renderStaticAvatar} from \"../../../avatar\";\nimport {TemplateView} from \"../../../general/TemplateView\";\n\nexport class ReplyPreviewView extends TemplateView {\n constructor(vm, viewClassForTile) {\n super(vm);\n this._viewClassForTile = viewClassForTile;\n }\n render(t, vm) {\n const TileView = this._viewClassForTile(vm);\n if (!TileView) {\n throw new Error(`Shape ${vm.shape} is unrecognized.`)\n }\n const view = new TileView(vm, this._viewClassForTile, { reply: true, interactive: false });\n return t.div(\n { className: \"ReplyPreviewView\" },\n t.blockquote([\n t.a({ className: \"link\", href: vm.permaLink }, \"In reply to\"),\n t.a({ className: \"pill\", href: vm.senderProfileLink }, [\n renderStaticAvatar(vm, 12, undefined, true),\n vm.displayName,\n ]),\n t.br(),\n t.view(view),\n ])\n );\n }\n}\n\nexport class ReplyPreviewError extends TemplateView {\n render(t) {\n return t.blockquote({ className: \"ReplyPreviewView\" }, [\n t.div({ className: \"Timeline_messageBody statusMessage\" }, \"This reply could not be found.\")\n ]);\n }\n}\n","/*\nCopyright 2020 Bruno Windels \n\nLicensed under the Apache License, Version 2.0 (the \"License\");\nyou may not use this file except in compliance with the License.\nYou may obtain a copy of the License at\n\n http://www.apache.org/licenses/LICENSE-2.0\n\nUnless required by applicable law or agreed to in writing, software\ndistributed under the License is distributed on an \"AS IS\" BASIS,\nWITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\nSee the License for the specific language governing permissions and\nlimitations under the License.\n*/\n\nimport {tag, text} from \"../../../general/html\";\nimport {BaseMessageView} from \"./BaseMessageView.js\";\nimport {ReplyPreviewError, ReplyPreviewView} from \"./ReplyPreviewView.js\";\n\nexport class TextMessageView extends BaseMessageView {\n renderMessageBody(t, vm) {\n const time = t.time({className: {hidden: !vm.date}}, vm.date + \" \" + vm.time);\n const container = t.div({\n className: {\n \"Timeline_messageBody\": true,\n statusMessage: vm => vm.shape === \"message-status\",\n }\n }, t.mapView(vm => vm.replyTile, replyTile => {\n if (this._isReplyPreview) {\n // if this._isReplyPreview = true, this is already a reply preview, don't nest replies for now.\n return null;\n }\n else if (vm.isReply && !replyTile) {\n return new ReplyPreviewError();\n }\n else if (replyTile) {\n return new ReplyPreviewView(replyTile, this._viewClassForTile);\n }\n else {\n return null;\n }\n }));\n\n // exclude comment nodes as they are used by t.map and friends for placeholders\n const shouldRemove = (element) => element?.nodeType !== Node.COMMENT_NODE && element.className !== \"ReplyPreviewView\";\n\n t.mapSideEffect(vm => vm.body, body => {\n while (shouldRemove(container.lastChild)) {\n container.removeChild(container.lastChild);\n }\n for (const part of body.parts) {\n container.appendChild(renderPart(part));\n }\n container.appendChild(time);\n });\n\n return container;\n }\n}\n\nfunction renderList(listBlock) {\n const items = listBlock.items.map(item => tag.li(renderParts(item)));\n const start = listBlock.startOffset;\n if (start) {\n return tag.ol({ start }, items);\n } else {\n return tag.ul(items);\n }\n}\n\nfunction renderImage(imagePart) {\n const attributes = { src: imagePart.src };\n if (imagePart.width) { attributes.width = imagePart.width }\n if (imagePart.height) { attributes.height = imagePart.height }\n if (imagePart.alt) { attributes.alt = imagePart.alt }\n if (imagePart.title) { attributes.title = imagePart.title }\n return tag.img(attributes);\n}\n\nfunction renderPill(pillPart) {\n // The classes and structure are borrowed from avatar.js;\n // We don't call renderStaticAvatar because that would require\n // an intermediate object that has getAvatarUrl etc.\n const classes = `avatar size-12 usercolor${pillPart.avatarColorNumber}`;\n const avatar = tag.div({class: classes}, text(pillPart.avatarInitials));\n const children = renderParts(pillPart.children);\n children.unshift(avatar);\n return tag.a({class: \"pill\", href: pillPart.href, rel: \"noopener\", target: \"_blank\"}, children);\n}\n\nfunction renderTable(tablePart) {\n const children = [];\n if (tablePart.head) {\n const headers = tablePart.head\n .map(cell => tag.th(renderParts(cell)));\n children.push(tag.thead(tag.tr(headers)))\n }\n const rows = [];\n for (const row of tablePart.body) {\n const data = row.map(cell => tag.td(renderParts(cell)));\n rows.push(tag.tr(data));\n }\n children.push(tag.tbody(rows));\n return tag.table(children);\n}\n\n/**\n * Map from part to function that outputs DOM for the part\n */\nconst formatFunction = {\n header: headerBlock => tag[\"h\" + Math.min(6,headerBlock.level)](renderParts(headerBlock.inlines)),\n codeblock: codeBlock => tag.pre(tag.code(text(codeBlock.text))),\n table: tableBlock => renderTable(tableBlock),\n code: codePart => tag.code(text(codePart.text)),\n text: textPart => text(textPart.text),\n link: linkPart => tag.a({href: linkPart.url, className: \"link\", target: \"_blank\", rel: \"noopener\" }, renderParts(linkPart.inlines)),\n pill: renderPill,\n format: formatPart => tag[formatPart.format](renderParts(formatPart.children)),\n rule: () => tag.hr(),\n list: renderList,\n image: renderImage,\n newline: () => tag.br()\n};\n\nfunction renderPart(part) {\n const f = formatFunction[part.type];\n if (!f) {\n return text(`[unknown part type ${part.type}]`);\n }\n return f(part);\n}\n\nfunction renderParts(parts) {\n return Array.from(parts, renderPart);\n}\n","/*\nCopyright 2020 Bruno Windels \n\nLicensed under the Apache License, Version 2.0 (the \"License\");\nyou may not use this file except in compliance with the License.\nYou may obtain a copy of the License at\n\n http://www.apache.org/licenses/LICENSE-2.0\n\nUnless required by applicable law or agreed to in writing, software\ndistributed under the License is distributed on an \"AS IS\" BASIS,\nWITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\nSee the License for the specific language governing permissions and\nlimitations under the License.\n*/\n\nimport {BaseMessageView} from \"./BaseMessageView.js\";\nimport {Menu} from \"../../../general/Menu.js\";\n\nexport class BaseMediaView extends BaseMessageView {\n renderMessageBody(t, vm) {\n const heightRatioPercent = (vm.height / vm.width) * 100; \n let spacerStyle = `padding-top: ${heightRatioPercent}%;`;\n if (vm.platform.isIE11) {\n // preserving aspect-ratio in a grid with padding percentages\n // does not work in IE11, so we assume people won't use it\n // with viewports narrower than 400px where thumbnails will get\n // scaled. If they do, the thumbnail will still scale, but\n // there will be whitespace underneath the picture\n // An alternative would be to use position: absolute but that\n // can slow down rendering, and was bleeding through the lightbox.\n spacerStyle = `height: ${vm.height}px`;\n }\n const children = [\n t.div({className: \"spacer\", style: spacerStyle}),\n this.renderMedia(t, vm),\n t.time(vm.date + \" \" + vm.time),\n ];\n const status = t.div({\n className: {\n status: true,\n hidden: vm => !vm.status\n },\n }, vm => vm.status);\n children.push(status);\n if (vm.isPending) {\n const progress = t.progress({\n min: 0,\n max: 100,\n value: vm => vm.uploadPercentage,\n className: {hidden: vm => !vm.isUploading}\n });\n children.push(progress);\n }\n return t.div({className: \"Timeline_messageBody\"}, [\n t.div({className: \"media\", style: `max-width: ${vm.width}px`, \"data-testid\": \"media\"}, children),\n t.if(vm => vm.error, t => t.p({className: \"error\"}, vm.error))\n ]);\n }\n\n createMenuOptions(vm) {\n const options = super.createMenuOptions(vm);\n if (!vm.isPending) {\n let label;\n switch (vm.shape) {\n case \"image\": label = vm.i18n`Download image`; break;\n case \"video\": label = vm.i18n`Download video`; break;\n default: label = vm.i18n`Download media`; break;\n }\n options.push(Menu.option(label, () => vm.downloadMedia()));\n }\n return options;\n }\n}\n","/*\nCopyright 2020 Bruno Windels \n\nLicensed under the Apache License, Version 2.0 (the \"License\");\nyou may not use this file except in compliance with the License.\nYou may obtain a copy of the License at\n\n http://www.apache.org/licenses/LICENSE-2.0\n\nUnless required by applicable law or agreed to in writing, software\ndistributed under the License is distributed on an \"AS IS\" BASIS,\nWITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\nSee the License for the specific language governing permissions and\nlimitations under the License.\n*/\n\nimport {BaseMediaView} from \"./BaseMediaView.js\";\n\nexport class ImageView extends BaseMediaView {\n renderMedia(t, vm) {\n const img = t.img({\n src: vm => vm.thumbnailUrl,\n alt: vm => vm.label,\n title: vm => vm.label,\n style: `max-width: ${vm.width}px; max-height: ${vm.height}px;`\n });\n return vm.isPending || !vm.lightboxUrl ? img : t.a({href: vm.lightboxUrl}, img);\n }\n}\n","/*\nCopyright 2020 The Matrix.org Foundation C.I.C.\n\nLicensed under the Apache License, Version 2.0 (the \"License\");\nyou may not use this file except in compliance with the License.\nYou may obtain a copy of the License at\n\n http://www.apache.org/licenses/LICENSE-2.0\n\nUnless required by applicable law or agreed to in writing, software\ndistributed under the License is distributed on an \"AS IS\" BASIS,\nWITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\nSee the License for the specific language governing permissions and\nlimitations under the License.\n*/\n\nexport function domEventAsPromise(element, successEvent) {\n return new Promise((resolve, reject) => {\n let detach;\n const handleError = evt => {\n detach();\n reject(evt.target.error);\n };\n const handleSuccess = () => {\n detach();\n resolve();\n };\n detach = () => {\n element.removeEventListener(successEvent, handleSuccess);\n element.removeEventListener(\"error\", handleError);\n };\n element.addEventListener(successEvent, handleSuccess);\n element.addEventListener(\"error\", handleError);\n });\n}\n","/*\nCopyright 2020 Bruno Windels \n\nLicensed under the Apache License, Version 2.0 (the \"License\");\nyou may not use this file except in compliance with the License.\nYou may obtain a copy of the License at\n\n http://www.apache.org/licenses/LICENSE-2.0\n\nUnless required by applicable law or agreed to in writing, software\ndistributed under the License is distributed on an \"AS IS\" BASIS,\nWITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\nSee the License for the specific language governing permissions and\nlimitations under the License.\n*/\n\nimport {BaseMediaView} from \"./BaseMediaView.js\";\nimport {domEventAsPromise} from \"../../../../dom/utils.js\";\n\nexport class VideoView extends BaseMediaView {\n renderMedia(t) {\n const video = t.video({\n // provide empty data url if video is not decrypted yet.\n // Chrome/Electron need this to enable the play button.\n src: vm => vm.videoUrl || `data:${vm.mimeType},`,\n title: vm => vm.label,\n controls: true,\n preload: \"none\",\n poster: vm => vm.thumbnailUrl,\n onPlay: this._onPlay.bind(this),\n style: vm => `max-width: ${vm.width}px; max-height: ${vm.height}px;${vm.isPending ? \"z-index: -1\": \"\"}`\n });\n\n video.addEventListener(\"error\", this._onError.bind(this));\n\n return video;\n }\n\n async _onPlay(evt) {\n const vm = this.value;\n // download and decrypt the video if needed,\n if (!vm.videoUrl) {\n try {\n const video = evt.target;\n // this will trigger the src to update\n await vm.loadVideo();\n // important to only listen for this after src has changed,\n // or we get the error for the placeholder data url\n const loadPromise = domEventAsPromise(video, \"loadeddata\");\n // now, reload the video and play\n video.load();\n await loadPromise;\n video.play();\n } catch (err) {/* errors are already caught in error event handler */}\n } \n }\n\n _onError(evt) {\n const vm = this.value;\n const video = evt.target;\n const err = video.error;\n if (err instanceof window.MediaError && err.code === 4) {\n if (!video.src.startsWith(\"data:\")) {\n vm.setViewError(new Error(`this browser does not support videos of type ${vm.mimeType}.`));\n } else {\n // ignore placeholder url failing to load\n return;\n }\n } else {\n vm.setViewError(err);\n }\n }\n}\n","/*\nCopyright 2020 Bruno Windels \n\nLicensed under the Apache License, Version 2.0 (the \"License\");\nyou may not use this file except in compliance with the License.\nYou may obtain a copy of the License at\n\n http://www.apache.org/licenses/LICENSE-2.0\n\nUnless required by applicable law or agreed to in writing, software\ndistributed under the License is distributed on an \"AS IS\" BASIS,\nWITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\nSee the License for the specific language governing permissions and\nlimitations under the License.\n*/\n\nimport {BaseMessageView} from \"./BaseMessageView.js\";\n\nexport class FileView extends BaseMessageView {\n renderMessageBody(t, vm) {\n const children = [];\n if (vm.isPending) {\n children.push(vm => vm.label);\n } else {\n children.push(\n t.button({className: \"link\", onClick: () => vm.download()}, vm => vm.label),\n t.time(vm.date + \" \" + vm.time)\n );\n }\n return t.p({className: \"Timeline_messageBody statusMessage\"}, children);\n }\n}\n","/*\nCopyright 2020 Bruno Windels \n\nLicensed under the Apache License, Version 2.0 (the \"License\");\nyou may not use this file except in compliance with the License.\nYou may obtain a copy of the License at\n\n http://www.apache.org/licenses/LICENSE-2.0\n\nUnless required by applicable law or agreed to in writing, software\ndistributed under the License is distributed on an \"AS IS\" BASIS,\nWITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\nSee the License for the specific language governing permissions and\nlimitations under the License.\n*/\n\nimport {BaseMessageView} from \"./BaseMessageView.js\";\n\nexport class LocationView extends BaseMessageView {\n renderMessageBody(t, vm) {\n return t.p({className: \"Timeline_messageBody statusMessage\"}, [\n t.span(vm.label),\n t.a({className: \"Timeline_locationLink\", href: vm.mapsLink, target: \"_blank\", rel: \"noopener\"}, vm.i18n`Open in maps`),\n t.time(vm.date + \" \" + vm.time)\n ]);\n }\n}\n","/*\nCopyright 2020 The Matrix.org Foundation C.I.C.\n\nLicensed under the Apache License, Version 2.0 (the \"License\");\nyou may not use this file except in compliance with the License.\nYou may obtain a copy of the License at\n\n http://www.apache.org/licenses/LICENSE-2.0\n\nUnless required by applicable law or agreed to in writing, software\ndistributed under the License is distributed on an \"AS IS\" BASIS,\nWITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\nSee the License for the specific language governing permissions and\nlimitations under the License.\n*/\n\nimport {BaseMessageView} from \"./BaseMessageView.js\";\n\nexport class MissingAttachmentView extends BaseMessageView {\n renderMessageBody(t, vm) {\n return t.p({className: \"Timeline_messageBody statusMessage\"}, vm.label);\n }\n}\n","/*\nCopyright 2020 Bruno Windels \n\nLicensed under the Apache License, Version 2.0 (the \"License\");\nyou may not use this file except in compliance with the License.\nYou may obtain a copy of the License at\n\n http://www.apache.org/licenses/LICENSE-2.0\n\nUnless required by applicable law or agreed to in writing, software\ndistributed under the License is distributed on an \"AS IS\" BASIS,\nWITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\nSee the License for the specific language governing permissions and\nlimitations under the License.\n*/\n\nimport {TemplateView} from \"../../../general/TemplateView\";\n\nexport class AnnouncementView extends TemplateView {\n // ignore other arguments\n constructor(vm) {\n super(vm);\n }\n\n render(t) {\n return t.li({className: \"AnnouncementView\"}, t.div(vm => vm.announcement));\n }\n \n /* This is called by the parent ListView, which just has 1 listener for the whole list */\n onClick() {}\n}\n","/*\nCopyright 2020 Bruno Windels \n\nLicensed under the Apache License, Version 2.0 (the \"License\");\nyou may not use this file except in compliance with the License.\nYou may obtain a copy of the License at\n\n http://www.apache.org/licenses/LICENSE-2.0\n\nUnless required by applicable law or agreed to in writing, software\ndistributed under the License is distributed on an \"AS IS\" BASIS,\nWITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\nSee the License for the specific language governing permissions and\nlimitations under the License.\n*/\n\nimport {BaseMessageView} from \"./BaseMessageView.js\";\nimport {Menu} from \"../../../general/Menu.js\";\n\nexport class RedactedView extends BaseMessageView {\n renderMessageBody(t) {\n return t.p({className: \"Timeline_messageBody statusMessage\"}, vm => vm.description);\n }\n\n createMenuOptions(vm) {\n const options = super.createMenuOptions(vm);\n if (vm.isRedacting) {\n options.push(Menu.option(vm.i18n`Cancel`, () => vm.abortPendingRedaction()));\n }\n return options;\n }\n}","/*\nCopyright 2020 Bruno Windels \n\nLicensed under the Apache License, Version 2.0 (the \"License\");\nyou may not use this file except in compliance with the License.\nYou may obtain a copy of the License at\n\n http://www.apache.org/licenses/LICENSE-2.0\n\nUnless required by applicable law or agreed to in writing, software\ndistributed under the License is distributed on an \"AS IS\" BASIS,\nWITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\nSee the License for the specific language governing permissions and\nlimitations under the License.\n*/\n\nimport {TemplateView} from \"../../../general/TemplateView\";\nimport {spinner} from \"../../../common.js\";\n\nexport class GapView extends TemplateView {\n // ignore other argument\n constructor(vm) {\n super(vm);\n }\n\n render(t) {\n const className = {\n GapView: true,\n isLoading: vm => vm.isLoading,\n isAtTop: vm => vm.isAtTop,\n };\n return t.li({className}, [\n spinner(t),\n t.div(vm => vm.isLoading ? vm.i18n`Loading more messages …` : vm.i18n`Not loading!`),\n t.if(vm => vm.error, t => t.strong(vm => vm.error))\n ]);\n }\n\n /* This is called by the parent ListView, which just has 1 listener for the whole list */\n onClick() {}\n}\n","/*\nCopyright 2021 The Matrix.org Foundation C.I.C.\n\nLicensed under the Apache License, Version 2.0 (the \"License\");\nyou may not use this file except in compliance with the License.\nYou may obtain a copy of the License at\n\n http://www.apache.org/licenses/LICENSE-2.0\n\nUnless required by applicable law or agreed to in writing, software\ndistributed under the License is distributed on an \"AS IS\" BASIS,\nWITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\nSee the License for the specific language governing permissions and\nlimitations under the License.\n*/\n\nimport {TextMessageView} from \"./timeline/TextMessageView.js\";\nimport {ImageView} from \"./timeline/ImageView.js\";\nimport {VideoView} from \"./timeline/VideoView.js\";\nimport {FileView} from \"./timeline/FileView.js\";\nimport {LocationView} from \"./timeline/LocationView.js\";\nimport {MissingAttachmentView} from \"./timeline/MissingAttachmentView.js\";\nimport {AnnouncementView} from \"./timeline/AnnouncementView.js\";\nimport {RedactedView} from \"./timeline/RedactedView.js\";\nimport {SimpleTile} from \"../../../../../domain/session/room/timeline/tiles/SimpleTile.js\";\nimport {GapView} from \"./timeline/GapView.js\";\nimport type {TileViewConstructor, ViewClassForEntryFn} from \"./TimelineView\";\n\nexport function viewClassForTile(vm: SimpleTile): TileViewConstructor {\n switch (vm.shape) {\n case \"gap\":\n return GapView;\n case \"announcement\":\n return AnnouncementView;\n case \"message\":\n case \"message-status\":\n return TextMessageView;\n case \"image\":\n return ImageView;\n case \"video\":\n return VideoView;\n case \"file\":\n return FileView;\n case \"location\":\n return LocationView;\n case \"missing-attachment\":\n return MissingAttachmentView;\n case \"redacted\":\n return RedactedView;\n default:\n throw new Error(`Tiles of shape \"${vm.shape}\" are not supported, check the tileClassForEntry function in the view model`);\n }\n}\n","/*\nCopyright 2020 Bruno Windels \nCopyright 2020 The Matrix.org Foundation C.I.C.\n\nLicensed under the Apache License, Version 2.0 (the \"License\");\nyou may not use this file except in compliance with the License.\nYou may obtain a copy of the License at\n\n http://www.apache.org/licenses/LICENSE-2.0\n\nUnless required by applicable law or agreed to in writing, software\ndistributed under the License is distributed on an \"AS IS\" BASIS,\nWITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\nSee the License for the specific language governing permissions and\nlimitations under the License.\n*/\n\nimport {LeftPanelView} from \"./leftpanel/LeftPanelView.js\";\nimport {RoomView} from \"./room/RoomView.js\";\nimport {UnknownRoomView} from \"./room/UnknownRoomView.js\";\nimport {RoomBeingCreatedView} from \"./room/RoomBeingCreatedView.js\";\nimport {InviteView} from \"./room/InviteView.js\";\nimport {LightboxView} from \"./room/LightboxView.js\";\nimport {TemplateView} from \"../general/TemplateView\";\nimport {StaticView} from \"../general/StaticView.js\";\nimport {SessionStatusView} from \"./SessionStatusView.js\";\nimport {RoomGridView} from \"./RoomGridView.js\";\nimport {SettingsView} from \"./settings/SettingsView.js\";\nimport {CreateRoomView} from \"./CreateRoomView.js\";\nimport {RightPanelView} from \"./rightpanel/RightPanelView.js\";\nimport {viewClassForTile} from \"./room/common\";\n\nexport class SessionView extends TemplateView {\n render(t, vm) {\n return t.div({\n className: {\n \"SessionView\": true,\n \"middle-shown\": vm => !!vm.activeMiddleViewModel,\n \"right-shown\": vm => !!vm.rightPanelViewModel\n },\n }, [\n t.view(new SessionStatusView(vm.sessionStatusViewModel)),\n t.view(new LeftPanelView(vm.leftPanelViewModel)),\n t.mapView(vm => vm.activeMiddleViewModel, () => {\n if (vm.roomGridViewModel) {\n return new RoomGridView(vm.roomGridViewModel, viewClassForTile);\n } else if (vm.settingsViewModel) {\n return new SettingsView(vm.settingsViewModel);\n } else if (vm.createRoomViewModel) {\n return new CreateRoomView(vm.createRoomViewModel);\n } else if (vm.currentRoomViewModel) {\n if (vm.currentRoomViewModel.kind === \"invite\") {\n return new InviteView(vm.currentRoomViewModel);\n } else if (vm.currentRoomViewModel.kind === \"room\") {\n return new RoomView(vm.currentRoomViewModel, viewClassForTile);\n } else if (vm.currentRoomViewModel.kind === \"roomBeingCreated\") {\n return new RoomBeingCreatedView(vm.currentRoomViewModel);\n } else {\n return new UnknownRoomView(vm.currentRoomViewModel);\n }\n } else {\n return new StaticView(t => t.div({className: \"room-placeholder\"}, t.h2(vm.i18n`Choose a room on the left side.`)));\n }\n }),\n t.mapView(vm => vm.lightboxViewModel, lightboxViewModel => lightboxViewModel ? new LightboxView(lightboxViewModel) : null),\n t.mapView(vm => vm.rightPanelViewModel, rightPanelViewModel => rightPanelViewModel ? new RightPanelView(rightPanelViewModel) : null)\n ]);\n }\n}\n","/*\nCopyright 2020 Bruno Windels \n\nLicensed under the Apache License, Version 2.0 (the \"License\");\nyou may not use this file except in compliance with the License.\nYou may obtain a copy of the License at\n\n http://www.apache.org/licenses/LICENSE-2.0\n\nUnless required by applicable law or agreed to in writing, software\ndistributed under the License is distributed on an \"AS IS\" BASIS,\nWITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\nSee the License for the specific language governing permissions and\nlimitations under the License.\n*/\n\nexport function hydrogenGithubLink(t) {\n if (DEFINE_VERSION && DEFINE_GLOBAL_HASH) {\n return t.a({target: \"_blank\",\n href: `https://github.com/vector-im/hydrogen-web/releases/tag/v${DEFINE_VERSION}`},\n `Hydrogen v${DEFINE_VERSION} (${DEFINE_GLOBAL_HASH}) on Github`);\n } else {\n return t.a({target: \"_blank\", href: \"https://github.com/vector-im/hydrogen-web\"},\n \"Hydrogen on Github\");\n }\n}\n","/*\nCopyright 2021 The Matrix.org Foundation C.I.C.\n\nLicensed under the Apache License, Version 2.0 (the \"License\");\nyou may not use this file except in compliance with the License.\nYou may obtain a copy of the License at\n\n http://www.apache.org/licenses/LICENSE-2.0\n\nUnless required by applicable law or agreed to in writing, software\ndistributed under the License is distributed on an \"AS IS\" BASIS,\nWITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\nSee the License for the specific language governing permissions and\nlimitations under the License.\n*/\n\nimport {TemplateView} from \"../general/TemplateView\";\n\nexport class PasswordLoginView extends TemplateView {\n render(t, vm) {\n const disabled = vm => !!vm.isBusy;\n const username = t.input({\n id: \"username\",\n type: \"text\",\n placeholder: vm.i18n`Username`,\n disabled\n });\n const password = t.input({\n id: \"password\",\n type: \"password\",\n placeholder: vm.i18n`Password`,\n disabled\n });\n \n return t.div({className: \"PasswordLoginView form\"}, [\n t.if(vm => vm.error, t => t.div({ className: \"error\" }, vm => vm.error)),\n t.form({\n onSubmit: evnt => {\n evnt.preventDefault();\n vm.login(username.value, password.value);\n }\n }, [\n t.if(vm => vm.errorMessage, (t, vm) => t.p({className: \"error\"}, vm.i18n(vm.errorMessage))),\n t.div({ className: \"form-row text\" }, [t.label({ for: \"username\" }, vm.i18n`Username`), username]),\n t.div({ className: \"form-row text\" }, [t.label({ for: \"password\" }, vm.i18n`Password`), password]),\n t.div({ className: \"button-row\" }, [\n t.button({\n className: \"button-action primary\",\n type: \"submit\",\n disabled\n }, vm.i18n`Log In`),\n ]),\n ])\n ]);\n }\n}\n\n","/*\nCopyright 2020 The Matrix.org Foundation C.I.C.\n\nLicensed under the Apache License, Version 2.0 (the \"License\");\nyou may not use this file except in compliance with the License.\nYou may obtain a copy of the License at\n\n http://www.apache.org/licenses/LICENSE-2.0\n\nUnless required by applicable law or agreed to in writing, software\ndistributed under the License is distributed on an \"AS IS\" BASIS,\nWITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\nSee the License for the specific language governing permissions and\nlimitations under the License.\n*/\n\nimport {TemplateView} from \"../general/TemplateView\";\nimport {KeyBackupSettingsView} from \"../session/settings/KeyBackupSettingsView.js\";\n\nexport class AccountSetupView extends TemplateView {\n render(t, vm) {\n return t.div({className: \"Settings\" /* hack for now to get the layout right*/}, [\n t.h3(vm.i18n`Restore your encrypted history?`),\n t.ifView(vm => vm.decryptDehydratedDeviceViewModel, vm => new KeyBackupSettingsView(vm.decryptDehydratedDeviceViewModel)),\n t.map(vm => vm.deviceDecrypted, (decrypted, t) => {\n if (decrypted) {\n return t.p(vm.i18n`That worked out, you're good to go!`);\n } else {\n return t.p(vm.i18n`This will claim the dehydrated device ${vm.dehydratedDeviceId}, and will set up a new one.`);\n }\n }),\n t.div({ className: \"button-row\" }, [\n t.button({\n className: \"button-action primary\",\n onClick: () => { vm.finish(); },\n type: \"button\",\n }, vm => vm.deviceDecrypted ? vm.i18n`Continue` : vm.i18n`Continue without restoring`),\n ]),\n ]);\n }\n}\n","/*\nCopyright 2020 Bruno Windels \n\nLicensed under the Apache License, Version 2.0 (the \"License\");\nyou may not use this file except in compliance with the License.\nYou may obtain a copy of the License at\n\n http://www.apache.org/licenses/LICENSE-2.0\n\nUnless required by applicable law or agreed to in writing, software\ndistributed under the License is distributed on an \"AS IS\" BASIS,\nWITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\nSee the License for the specific language governing permissions and\nlimitations under the License.\n*/\n\nimport {TemplateView} from \"../general/TemplateView\";\nimport {spinner} from \"../common.js\";\nimport {AccountSetupView} from \"./AccountSetupView.js\";\n\n/** a view used both in the login view and the loading screen\nto show the current state of loading the session.\nJust a spinner and a label, meant to be used as a paragraph */\nexport class SessionLoadStatusView extends TemplateView {\n render(t) {\n const exportLogsButtonIfFailed = t.if(vm => vm.hasError, (t, vm) => {\n return t.button({\n onClick: () => vm.exportLogs()\n }, vm.i18n`Export logs`);\n });\n const logoutButtonIfFailed = t.if(vm => vm.hasError, (t, vm) => {\n return t.button({\n onClick: () => vm.logout()\n }, vm.i18n`Log out`);\n });\n return t.div({className: \"SessionLoadStatusView\"}, [\n t.p({className: \"status\"}, [\n spinner(t, {hidden: vm => !vm.loading}),\n t.p(vm => vm.loadLabel),\n exportLogsButtonIfFailed,\n logoutButtonIfFailed\n ]),\n t.ifView(vm => vm.accountSetupViewModel, vm => new AccountSetupView(vm.accountSetupViewModel)),\n ]);\n }\n}\n","/*\nCopyright 2021 The Matrix.org Foundation C.I.C.\n\nLicensed under the Apache License, Version 2.0 (the \"License\");\nyou may not use this file except in compliance with the License.\nYou may obtain a copy of the License at\n\n http://www.apache.org/licenses/LICENSE-2.0\n\nUnless required by applicable law or agreed to in writing, software\ndistributed under the License is distributed on an \"AS IS\" BASIS,\nWITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\nSee the License for the specific language governing permissions and\nlimitations under the License.\n*/\n\nimport {TemplateView} from \"../general/TemplateView\";\nimport {SessionLoadStatusView} from \"./SessionLoadStatusView.js\";\n\nexport class CompleteSSOView extends TemplateView {\n render(t) {\n return t.div({ className: \"CompleteSSOView\" },\n [\n t.p({ className: \"CompleteSSOView_title\" }, \"Finishing up your SSO Login\"),\n t.if(vm => vm.errorMessage, (t, vm) => t.p({className: \"error\"}, vm.i18n(vm.errorMessage))),\n t.mapView(vm => vm.loadViewModel, loadViewModel => loadViewModel ? new SessionLoadStatusView(loadViewModel) : null),\n ]\n );\n }\n}\n","/*\nCopyright 2020 Bruno Windels \n\nLicensed under the Apache License, Version 2.0 (the \"License\");\nyou may not use this file except in compliance with the License.\nYou may obtain a copy of the License at\n\n http://www.apache.org/licenses/LICENSE-2.0\n\nUnless required by applicable law or agreed to in writing, software\ndistributed under the License is distributed on an \"AS IS\" BASIS,\nWITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\nSee the License for the specific language governing permissions and\nlimitations under the License.\n*/\n\nimport {TemplateView} from \"../general/TemplateView\";\nimport {hydrogenGithubLink} from \"./common.js\";\nimport {PasswordLoginView} from \"./PasswordLoginView.js\";\nimport {CompleteSSOView} from \"./CompleteSSOView.js\";\nimport {SessionLoadStatusView} from \"./SessionLoadStatusView.js\";\nimport {spinner} from \"../common.js\";\n\nexport class LoginView extends TemplateView {\n render(t, vm) {\n const disabled = vm => vm.isBusy;\n\n return t.div({className: \"PreSessionScreen\"}, [\n t.button({\n className: \"button-utility LoginView_back\",\n onClick: () => vm.goBack(),\n disabled\n }),\n t.div({className: \"logo\"}),\n t.h1([vm.i18n`Sign In`]),\n t.mapView(vm => vm.completeSSOLoginViewModel, vm => vm ? new CompleteSSOView(vm) : null),\n t.if(vm => vm.showHomeserver, (t, vm) => t.div({ className: \"LoginView_sso form-row text\" },\n [\n t.label({for: \"homeserver\"}, vm.i18n`Homeserver`),\n t.input({\n id: \"homeserver\",\n type: \"text\",\n placeholder: vm.i18n`Your matrix homeserver`,\n value: vm.homeserver,\n disabled,\n onInput: event => vm.setHomeserver(event.target.value),\n onChange: () => vm.queryHomeserver(),\n }),\n t.p({className: {\n LoginView_forwardInfo: true,\n hidden: vm => !vm.resolvedHomeserver\n }}, vm => vm.i18n`You will connect to ${vm.resolvedHomeserver}.`),\n t.if(vm => vm.errorMessage, (t, vm) => t.p({className: \"error\"}, vm.i18n(vm.errorMessage))),\n ]\n )),\n t.if(vm => vm.isFetchingLoginOptions, t => t.div({className: \"LoginView_query-spinner\"}, [spinner(t), t.p(\"Fetching available login options...\")])),\n t.mapView(vm => vm.passwordLoginViewModel, vm => vm ? new PasswordLoginView(vm): null),\n t.if(vm => vm.passwordLoginViewModel && vm.startSSOLoginViewModel, t => t.p({className: \"LoginView_separator\"}, vm.i18n`or`)),\n t.mapView(vm => vm.startSSOLoginViewModel, vm => vm ? new StartSSOLoginView(vm) : null),\n t.mapView(vm => vm.loadViewModel, loadViewModel => loadViewModel ? new SessionLoadStatusView(loadViewModel) : null),\n // use t.mapView rather than t.if to create a new view when the view model changes too\n t.p(hydrogenGithubLink(t))\n ]);\n }\n}\n\nclass StartSSOLoginView extends TemplateView {\n render(t, vm) {\n return t.div({ className: \"StartSSOLoginView\" },\n t.button({\n className: \"StartSSOLoginView_button button-action secondary\",\n type: \"button\",\n onClick: () => vm.startSSOLogin(),\n disabled: vm => vm.isBusy\n }, vm.i18n`Log in with SSO`)\n );\n }\n}\n","/*\nCopyright 2020 The Matrix.org Foundation C.I.C.\n\nLicensed under the Apache License, Version 2.0 (the \"License\");\nyou may not use this file except in compliance with the License.\nYou may obtain a copy of the License at\n\n http://www.apache.org/licenses/LICENSE-2.0\n\nUnless required by applicable law or agreed to in writing, software\ndistributed under the License is distributed on an \"AS IS\" BASIS,\nWITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\nSee the License for the specific language governing permissions and\nlimitations under the License.\n*/\n\nimport {TemplateView, InlineTemplateView} from \"./general/TemplateView\";\nimport {spinner} from \"./common.js\";\n\nexport class LogoutView extends TemplateView {\n render(t, vm) {\n const confirmView = new InlineTemplateView(vm, t => {\n return t.div([\n t.p(\"Are you sure you want to log out?\"),\n t.div({ className: \"button-row\" }, [\n t.a({\n className: \"button-action\",\n type: \"submit\",\n href: vm.cancelUrl,\n }, [\"Cancel\"]),\n t.button({\n className: \"button-action primary destructive\",\n type: \"submit\",\n onClick: () => vm.logout(),\n }, vm.i18n`Log out`)\n ]),\n ]);\n });\n const progressView = new InlineTemplateView(vm, t => {\n return t.p({className: \"status\", hidden: vm => !vm.showStatus}, [\n spinner(t, {hidden: vm => !vm.busy}), t.span(vm => vm.status)\n ]);\n });\n\n return t.div({className: \"LogoutScreen\"}, [\n t.div({className: \"content\"}, [\n t.mapView(vm => vm.showConfirm, showConfirm => {\n return showConfirm ? confirmView : progressView;\n })\n ]),\n ]);\n }\n}\n","/*\nCopyright 2020 The Matrix.org Foundation C.I.C.\n\nLicensed under the Apache License, Version 2.0 (the \"License\");\nyou may not use this file except in compliance with the License.\nYou may obtain a copy of the License at\n\n http://www.apache.org/licenses/LICENSE-2.0\n\nUnless required by applicable law or agreed to in writing, software\ndistributed under the License is distributed on an \"AS IS\" BASIS,\nWITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\nSee the License for the specific language governing permissions and\nlimitations under the License.\n*/\n\nimport {TemplateView} from \"../general/TemplateView\";\nimport {SessionLoadStatusView} from \"./SessionLoadStatusView.js\";\n\nexport class SessionLoadView extends TemplateView {\n render(t, vm) {\n return t.div({className: \"PreSessionScreen\"}, [\n t.div({className: \"logo\"}),\n t.div({className: \"SessionLoadView\"}, [\n t.view(new SessionLoadStatusView(vm))\n ]),\n t.div({className: {\"button-row\": true, hidden: vm => vm.loading}},\n t.a({className: \"button-action primary\", href: vm.backUrl}, vm.i18n`Go back`))\n ]);\n }\n}\n","/*\nCopyright 2020 Bruno Windels \n\nLicensed under the Apache License, Version 2.0 (the \"License\");\nyou may not use this file except in compliance with the License.\nYou may obtain a copy of the License at\n\n http://www.apache.org/licenses/LICENSE-2.0\n\nUnless required by applicable law or agreed to in writing, software\ndistributed under the License is distributed on an \"AS IS\" BASIS,\nWITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\nSee the License for the specific language governing permissions and\nlimitations under the License.\n*/\n\nimport {ListView} from \"../general/ListView\";\nimport {TemplateView} from \"../general/TemplateView\";\nimport {hydrogenGithubLink} from \"./common.js\";\nimport {SessionLoadStatusView} from \"./SessionLoadStatusView.js\";\n\nclass SessionPickerItemView extends TemplateView {\n _onDeleteClick() {\n if (confirm(\"Are you sure?\")) {\n this.value.delete();\n }\n }\n\n _onClearClick() {\n if (confirm(\"Are you sure?\")) {\n this.value.clear();\n }\n }\n\n render(t, vm) {\n return t.li([\n t.a({className: \"session-info\", href: vm.openUrl}, [\n t.div({className: `avatar usercolor${vm.avatarColorNumber}`}, vm => vm.avatarInitials),\n t.div({className: \"user-id\"}, vm => vm.label),\n ])\n ]);\n }\n}\n\nexport class SessionPickerView extends TemplateView {\n render(t, vm) {\n const sessionList = new ListView({\n list: vm.sessions,\n parentProvidesUpdates: false,\n }, sessionInfo => {\n return new SessionPickerItemView(sessionInfo);\n });\n\n return t.div({className: \"PreSessionScreen\"}, [\n t.div({className: \"logo\"}),\n t.div({className: \"SessionPickerView\"}, [\n t.h1([\"Continue as …\"]),\n t.view(sessionList),\n t.div({className: \"button-row\"}, [\n t.a({\n className: \"button-action primary\",\n href: vm.cancelUrl\n }, vm.i18n`Sign In`)\n ]),\n t.ifView(vm => vm.loadViewModel, () => new SessionLoadStatusView(vm.loadViewModel)),\n t.p(hydrogenGithubLink(t))\n ])\n ]);\n }\n}\n","/*\nCopyright 2020 Bruno Windels \n\nLicensed under the Apache License, Version 2.0 (the \"License\");\nyou may not use this file except in compliance with the License.\nYou may obtain a copy of the License at\n\n http://www.apache.org/licenses/LICENSE-2.0\n\nUnless required by applicable law or agreed to in writing, software\ndistributed under the License is distributed on an \"AS IS\" BASIS,\nWITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\nSee the License for the specific language governing permissions and\nlimitations under the License.\n*/\n\nimport {SessionView} from \"./session/SessionView.js\";\nimport {LoginView} from \"./login/LoginView\";\nimport {LogoutView} from \"./LogoutView.js\";\nimport {SessionLoadView} from \"./login/SessionLoadView.js\";\nimport {SessionPickerView} from \"./login/SessionPickerView.js\";\nimport {TemplateView} from \"./general/TemplateView\";\nimport {StaticView} from \"./general/StaticView.js\";\n\nexport class RootView extends TemplateView {\n render(t, vm) {\n return t.mapView(vm => vm.activeSection, activeSection => {\n switch (activeSection) {\n case \"error\":\n return new StaticView(t => {\n return t.div({className: \"StatusView\"}, [\n t.h1(\"Something went wrong\"),\n t.p(vm.errorText),\n ])\n });\n case \"session\":\n return new SessionView(vm.sessionViewModel);\n case \"login\":\n return new LoginView(vm.loginViewModel);\n case \"logout\":\n return new LogoutView(vm.logoutViewModel);\n case \"picker\":\n return new SessionPickerView(vm.sessionPickerViewModel);\n case \"redirecting\":\n return new StaticView(t => t.p(\"Redirecting...\"));\n case \"loading\":\n return new SessionLoadView(vm.sessionLoadViewModel);\n default:\n throw new Error(`Unknown section: ${vm.activeSection}`);\n }\n });\n }\n}\n","/*\nCopyright 2020 Bruno Windels \n\nLicensed under the Apache License, Version 2.0 (the \"License\");\nyou may not use this file except in compliance with the License.\nYou may obtain a copy of the License at\n\n http://www.apache.org/licenses/LICENSE-2.0\n\nUnless required by applicable law or agreed to in writing, software\ndistributed under the License is distributed on an \"AS IS\" BASIS,\nWITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\nSee the License for the specific language governing permissions and\nlimitations under the License.\n*/\n\nimport {AbortError} from \"../../../utils/error\";\n\nclass Timeout {\n constructor(ms) {\n this._reject = null;\n this._handle = null;\n this._promise = new Promise((resolve, reject) => {\n this._reject = reject;\n this._handle = setTimeout(() => {\n this._reject = null;\n resolve();\n }, ms);\n });\n }\n\n elapsed() {\n return this._promise;\n }\n\n abort() {\n if (this._reject) {\n this._reject(new AbortError());\n clearTimeout(this._handle);\n this._handle = null;\n this._reject = null;\n }\n }\n\n dispose() {\n this.abort();\n }\n}\n\nclass Interval {\n constructor(ms, callback) {\n this._handle = setInterval(callback, ms);\n }\n\n dispose() {\n if (this._handle) {\n clearInterval(this._handle);\n this._handle = null;\n }\n }\n}\n\nclass TimeMeasure {\n constructor() {\n this._start = window.performance.now();\n }\n\n measure() {\n return window.performance.now() - this._start;\n }\n}\n\nexport class Clock {\n createMeasure() {\n return new TimeMeasure();\n }\n\n createTimeout(ms) {\n return new Timeout(ms);\n }\n\n createInterval(callback, ms) {\n return new Interval(ms, callback);\n }\n\n now() {\n return Date.now();\n }\n}\n","/*\nCopyright 2020 The Matrix.org Foundation C.I.C.\n\nLicensed under the Apache License, Version 2.0 (the \"License\");\nyou may not use this file except in compliance with the License.\nYou may obtain a copy of the License at\n\n http://www.apache.org/licenses/LICENSE-2.0\n\nUnless required by applicable law or agreed to in writing, software\ndistributed under the License is distributed on an \"AS IS\" BASIS,\nWITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\nSee the License for the specific language governing permissions and\nlimitations under the License.\n*/\n\n// 3 (imaginary) interfaces are implemented here:\n// - OfflineAvailability (done by registering the sw)\n// - UpdateService (see checkForUpdate method, and should also emit events rather than showing confirm dialog here)\n// - ConcurrentAccessBlocker (see preventConcurrentSessionAccess method)\nexport class ServiceWorkerHandler {\n constructor() {\n this._waitingForReply = new Map();\n this._messageIdCounter = 0;\n this._navigation = null;\n this._registration = null;\n this._registrationPromise = null;\n this._currentController = null;\n this.haltRequests = false;\n }\n\n setNavigation(navigation) {\n this._navigation = navigation;\n }\n\n registerAndStart(path) {\n this._registrationPromise = (async () => {\n navigator.serviceWorker.addEventListener(\"message\", this);\n navigator.serviceWorker.addEventListener(\"controllerchange\", this);\n this._registration = await navigator.serviceWorker.register(path);\n await navigator.serviceWorker.ready;\n this._currentController = navigator.serviceWorker.controller;\n this._registration.addEventListener(\"updatefound\", this);\n this._registrationPromise = null;\n // do we have a new service worker waiting to activate?\n if (this._registration.waiting && this._registration.active) {\n this._proposeUpdate();\n }\n console.log(\"Service Worker registered\");\n })();\n }\n\n _onMessage(event) {\n const {data} = event;\n const replyTo = data.replyTo;\n if (replyTo) {\n const resolve = this._waitingForReply.get(replyTo);\n if (resolve) {\n this._waitingForReply.delete(replyTo);\n resolve(data.payload);\n }\n }\n if (data.type === \"hasSessionOpen\") {\n const hasOpen = this._navigation.observe(\"session\").get() === data.payload.sessionId;\n event.source.postMessage({replyTo: data.id, payload: hasOpen});\n } else if (data.type === \"hasRoomOpen\") {\n const hasSessionOpen = this._navigation.observe(\"session\").get() === data.payload.sessionId;\n const hasRoomOpen = this._navigation.observe(\"room\").get() === data.payload.roomId;\n event.source.postMessage({replyTo: data.id, payload: hasSessionOpen && hasRoomOpen});\n } else if (data.type === \"closeSession\") {\n const {sessionId} = data.payload;\n this._closeSessionIfNeeded(sessionId).finally(() => {\n event.source.postMessage({replyTo: data.id});\n });\n } else if (data.type === \"haltRequests\") {\n // this flag is read in fetch.js\n this.haltRequests = true;\n event.source.postMessage({replyTo: data.id});\n } else if (data.type === \"openRoom\") {\n this._navigation.push(\"room\", data.payload.roomId);\n }\n }\n\n _closeSessionIfNeeded(sessionId) {\n const currentSession = this._navigation?.path.get(\"session\");\n if (sessionId && currentSession?.value === sessionId) {\n return new Promise(resolve => {\n const unsubscribe = this._navigation.pathObservable.subscribe(path => {\n const session = path.get(\"session\");\n if (!session || session.value !== sessionId) {\n unsubscribe();\n resolve();\n }\n });\n this._navigation.push(\"session\");\n });\n } else {\n return Promise.resolve();\n }\n }\n\n async _proposeUpdate() {\n if (document.hidden) {\n return;\n }\n const version = await this._sendAndWaitForReply(\"version\", null, this._registration.waiting);\n if (confirm(`Version ${version.version} (${version.buildHash}) is available. Reload to apply?`)) {\n // prevent any fetch requests from going to the service worker\n // from any client, so that it is not kept active\n // when calling skipWaiting on the new one\n await this._sendAndWaitForReply(\"haltRequests\");\n // only once all requests are blocked, ask the new\n // service worker to skipWaiting\n this._send(\"skipWaiting\", null, this._registration.waiting);\n }\n }\n\n handleEvent(event) {\n switch (event.type) {\n case \"message\":\n this._onMessage(event);\n break;\n case \"updatefound\":\n this._registration.installing.addEventListener(\"statechange\", this);\n break;\n case \"statechange\": {\n if (event.target.state === \"installed\") {\n this._proposeUpdate();\n event.target.removeEventListener(\"statechange\", this);\n }\n break;\n }\n case \"controllerchange\":\n if (!this._currentController) {\n // Clients.claim() in the SW can trigger a controllerchange event\n // if we had no SW before. This is fine,\n // and now our requests will be served from the SW.\n this._currentController = navigator.serviceWorker.controller;\n } else {\n // active service worker changed,\n // refresh, so we can get all assets \n // (and not only some if we would not refresh)\n // up to date from it\n document.location.reload();\n }\n break;\n }\n }\n\n async _send(type, payload, worker = undefined) {\n if (this._registrationPromise) {\n await this._registrationPromise;\n }\n if (!worker) {\n worker = this._registration.active;\n }\n worker.postMessage({type, payload});\n }\n\n async _sendAndWaitForReply(type, payload, worker = undefined) {\n if (this._registrationPromise) {\n await this._registrationPromise;\n }\n if (!worker) {\n worker = this._registration.active;\n }\n this._messageIdCounter += 1;\n const id = this._messageIdCounter;\n const promise = new Promise(resolve => {\n this._waitingForReply.set(id, resolve);\n });\n worker.postMessage({type, id, payload});\n return await promise;\n }\n\n async checkForUpdate() {\n if (this._registrationPromise) {\n await this._registrationPromise;\n }\n this._registration.update();\n }\n\n get version() {\n return DEFINE_VERSION;\n }\n\n get buildHash() {\n return DEFINE_GLOBAL_HASH;\n }\n\n async preventConcurrentSessionAccess(sessionId) {\n return this._sendAndWaitForReply(\"closeSession\", {sessionId});\n }\n\n async getRegistration() {\n if (this._registrationPromise) {\n await this._registrationPromise;\n }\n return this._registration;\n }\n}\n","/*\nCopyright 2021 The Matrix.org Foundation C.I.C.\n\nLicensed under the Apache License, Version 2.0 (the \"License\");\nyou may not use this file except in compliance with the License.\nYou may obtain a copy of the License at\n\n http://www.apache.org/licenses/LICENSE-2.0\n\nUnless required by applicable law or agreed to in writing, software\ndistributed under the License is distributed on an \"AS IS\" BASIS,\nWITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\nSee the License for the specific language governing permissions and\nlimitations under the License.\n*/\n\nexport class NotificationService {\n constructor(serviceWorkerHandler, pushConfig) {\n this._serviceWorkerHandler = serviceWorkerHandler;\n this._pushConfig = pushConfig;\n }\n\n async enablePush(pusherFactory, defaultPayload) {\n const registration = await this._serviceWorkerHandler?.getRegistration();\n if (registration?.pushManager) {\n const subscription = await registration.pushManager.subscribe({\n userVisibleOnly: true,\n applicationServerKey: this._pushConfig.applicationServerKey,\n });\n const subscriptionData = subscription.toJSON();\n const pushkey = subscriptionData.keys.p256dh;\n const data = {\n endpoint: subscriptionData.endpoint,\n auth: subscriptionData.keys.auth,\n // don't deliver unread count push messages\n // as we don't want to show a notification in this case\n events_only: true,\n default_payload: defaultPayload\n };\n return pusherFactory.httpPusher(\n this._pushConfig.gatewayUrl,\n this._pushConfig.appId,\n pushkey,\n data\n );\n }\n }\n\n async disablePush() {\n const registration = await this._serviceWorkerHandler?.getRegistration();\n if (registration?.pushManager) {\n const subscription = await registration.pushManager.getSubscription();\n if (subscription) {\n await subscription.unsubscribe();\n }\n }\n }\n\n async isPushEnabled() {\n const registration = await this._serviceWorkerHandler?.getRegistration();\n if (registration?.pushManager) {\n const subscription = await registration.pushManager.getSubscription();\n return !!subscription;\n }\n return false;\n }\n\n async supportsPush() {\n if (!this._pushConfig) {\n return false;\n }\n const registration = await this._serviceWorkerHandler?.getRegistration();\n return registration && \"pushManager\" in registration;\n }\n\n async enableNotifications() {\n if (\"Notification\" in window) {\n return (await Notification.requestPermission()) === \"granted\";\n }\n return false;\n }\n\n async supportsNotifications() {\n return \"Notification\" in window;\n }\n\n async areNotificationsEnabled() {\n if (\"Notification\" in window) {\n return Notification.permission === \"granted\";\n } else {\n return false;\n }\n }\n\n async showNotification(title, body = undefined) {\n if (\"Notification\" in window) {\n new Notification(title, {body});\n return;\n }\n // Chrome on Android does not support the Notification constructor\n const registration = await this._serviceWorkerHandler?.getRegistration();\n registration?.showNotification(title, {body});\n }\n}\n","/*\nCopyright 2020 Bruno Windels \n\nLicensed under the Apache License, Version 2.0 (the \"License\");\nyou may not use this file except in compliance with the License.\nYou may obtain a copy of the License at\n\n http://www.apache.org/licenses/LICENSE-2.0\n\nUnless required by applicable law or agreed to in writing, software\ndistributed under the License is distributed on an \"AS IS\" BASIS,\nWITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\nSee the License for the specific language governing permissions and\nlimitations under the License.\n*/\n\nimport {BaseObservableValue} from \"../../../observable/ObservableValue\";\n\nexport class History extends BaseObservableValue {\n \n constructor() {\n super();\n this._lastSessionHash = undefined;\n }\n \n handleEvent(event) {\n if (event.type === \"hashchange\") {\n this.emit(this.get());\n this._storeHash(this.get());\n }\n }\n\n get() {\n /*\n All URLS in Hydrogen will use /#/segment/value/...\n But for SSO, we need to handle /?loginToken=\n Handle that as a special case for now.\n */\n if (document.location.search.includes(\"loginToken\")) {\n return document.location.search;\n }\n return document.location.hash;\n }\n\n /** does not emit */\n replaceUrlSilently(url) {\n window.history.replaceState(null, null, url);\n this._storeHash(url);\n }\n\n /** does not emit */\n pushUrlSilently(url) {\n window.history.pushState(null, null, url);\n this._storeHash(url);\n }\n\n pushUrl(url) {\n document.location.hash = url;\n }\n\n urlAsPath(url) {\n if (url.startsWith(\"#\")) {\n return url.substr(1);\n } else {\n return url;\n }\n }\n\n pathAsUrl(path) {\n return `#${path}`;\n }\n\n onSubscribeFirst() {\n this._lastSessionHash = window.localStorage?.getItem(\"hydrogen_last_url_hash\");\n window.addEventListener('hashchange', this);\n }\n\n onUnsubscribeLast() {\n window.removeEventListener('hashchange', this);\n }\n\n _storeHash(hash) {\n window.localStorage?.setItem(\"hydrogen_last_url_hash\", hash);\n }\n\n getLastSessionUrl() {\n return this._lastSessionHash;\n }\n}\n","/*\nCopyright 2020 Bruno Windels \n\nLicensed under the Apache License, Version 2.0 (the \"License\");\nyou may not use this file except in compliance with the License.\nYou may obtain a copy of the License at\n\n http://www.apache.org/licenses/LICENSE-2.0\n\nUnless required by applicable law or agreed to in writing, software\ndistributed under the License is distributed on an \"AS IS\" BASIS,\nWITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\nSee the License for the specific language governing permissions and\nlimitations under the License.\n*/\n\nimport {BaseObservableValue} from \"../../../observable/ObservableValue\";\n\nexport class OnlineStatus extends BaseObservableValue {\n constructor() {\n super();\n this._onOffline = this._onOffline.bind(this);\n this._onOnline = this._onOnline.bind(this);\n }\n\n _onOffline() {\n this.emit(false);\n }\n\n _onOnline() {\n this.emit(true);\n }\n\n get() {\n return navigator.onLine;\n }\n\n onSubscribeFirst() {\n window.addEventListener('offline', this._onOffline);\n window.addEventListener('online', this._onOnline);\n }\n\n onUnsubscribeLast() {\n window.removeEventListener('offline', this._onOffline);\n window.removeEventListener('online', this._onOnline);\n }\n}\n","/*\nCopyright 2020 The Matrix.org Foundation C.I.C.\n\nLicensed under the Apache License, Version 2.0 (the \"License\");\nyou may not use this file except in compliance with the License.\nYou may obtain a copy of the License at\n\n http://www.apache.org/licenses/LICENSE-2.0\n\nUnless required by applicable law or agreed to in writing, software\ndistributed under the License is distributed on an \"AS IS\" BASIS,\nWITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\nSee the License for the specific language governing permissions and\nlimitations under the License.\n*/\n\nimport base64 from \"base64-arraybuffer\";\n\n// turn IE11 result into promise\nfunction subtleCryptoResult(promiseOrOp, method) {\n if (promiseOrOp instanceof Promise) {\n return promiseOrOp;\n } else {\n return new Promise((resolve, reject) => {\n promiseOrOp.oncomplete = e => resolve(e.target.result);\n promiseOrOp.onerror = () => reject(new Error(\"Crypto error on \" + method));\n });\n }\n}\n\nclass HMACCrypto {\n constructor(subtleCrypto) {\n this._subtleCrypto = subtleCrypto;\n }\n /**\n * [hmac description]\n * @param {BufferSource} key\n * @param {BufferSource} mac\n * @param {BufferSource} data\n * @param {HashName} hash\n * @return {boolean}\n */\n async verify(key, mac, data, hash) {\n const opts = {\n name: 'HMAC',\n hash: {name: hashName(hash)},\n };\n const hmacKey = await subtleCryptoResult(this._subtleCrypto.importKey(\n 'raw',\n key,\n opts,\n false,\n ['verify'],\n ), \"importKey\");\n const isVerified = await subtleCryptoResult(this._subtleCrypto.verify(\n opts,\n hmacKey,\n mac,\n data,\n ), \"verify\");\n return isVerified;\n }\n\n async compute(key, data, hash) {\n const opts = {\n name: 'HMAC',\n hash: {name: hashName(hash)},\n };\n const hmacKey = await subtleCryptoResult(this._subtleCrypto.importKey(\n 'raw',\n key,\n opts,\n false,\n ['sign'],\n ), \"importKey\");\n const buffer = await subtleCryptoResult(this._subtleCrypto.sign(\n opts,\n hmacKey,\n data,\n ), \"sign\");\n return new Uint8Array(buffer);\n }\n}\n\nclass DeriveCrypto {\n constructor(subtleCrypto, crypto, cryptoExtras) {\n this._subtleCrypto = subtleCrypto;\n this._crypto = crypto;\n this._cryptoExtras = cryptoExtras;\n }\n /**\n * [pbkdf2 description]\n * @param {BufferSource} password\n * @param {Number} iterations\n * @param {BufferSource} salt\n * @param {HashName} hash\n * @param {Number} length the desired length of the generated key, in bits (not bytes!)\n * @return {BufferSource}\n */\n async pbkdf2(password, iterations, salt, hash, length) {\n if (!this._subtleCrypto.deriveBits) {\n throw new Error(\"PBKDF2 is not supported\");\n }\n const key = await subtleCryptoResult(this._subtleCrypto.importKey(\n 'raw',\n password,\n {name: 'PBKDF2'},\n false,\n ['deriveBits'],\n ), \"importKey\");\n const keybits = await subtleCryptoResult(this._subtleCrypto.deriveBits(\n {\n name: 'PBKDF2',\n salt,\n iterations,\n hash: hashName(hash),\n },\n key,\n length,\n ), \"deriveBits\");\n return new Uint8Array(keybits);\n }\n\n /**\n * [hkdf description]\n * @param {BufferSource} key [description]\n * @param {BufferSource} salt [description]\n * @param {BufferSource} info [description]\n * @param {HashName} hash the hash to use\n * @param {Number} length desired length of the generated key in bits (not bytes!)\n * @return {[type]} [description]\n */\n async hkdf(key, salt, info, hash, length) {\n if (!this._subtleCrypto.deriveBits) {\n return this._cryptoExtras.hkdf(this._crypto, key, salt, info, hash, length);\n }\n const hkdfkey = await subtleCryptoResult(this._subtleCrypto.importKey(\n 'raw',\n key,\n {name: \"HKDF\"},\n false,\n [\"deriveBits\"],\n ), \"importKey\");\n const keybits = await subtleCryptoResult(this._subtleCrypto.deriveBits({\n name: \"HKDF\",\n salt,\n info,\n hash: hashName(hash),\n },\n hkdfkey,\n length,\n ), \"deriveBits\");\n return new Uint8Array(keybits);\n }\n}\n\nclass AESCrypto {\n constructor(subtleCrypto, crypto) {\n this._subtleCrypto = subtleCrypto;\n this._crypto = crypto;\n }\n /**\n * [decrypt description]\n * @param {BufferSource} key [description]\n * @param {Object} jwkKey [description]\n * @param {BufferSource} iv [description]\n * @param {BufferSource} data [description]\n * @param {Number} counterLength the size of the counter, in bits\n * @return {BufferSource} [description]\n */\n async decryptCTR({key, jwkKey, iv, data, counterLength = 64}) {\n const opts = {\n name: \"AES-CTR\",\n counter: iv,\n length: counterLength,\n };\n let aesKey;\n try {\n const selectedKey = key || jwkKey;\n const format = jwkKey ? \"jwk\" : \"raw\";\n aesKey = await subtleCryptoResult(this._subtleCrypto.importKey(\n format,\n selectedKey,\n opts,\n false,\n ['decrypt'],\n ), \"importKey\");\n } catch (err) {\n throw new Error(`Could not import key for AES-CTR decryption: ${err.message}`);\n }\n try {\n const plaintext = await subtleCryptoResult(this._subtleCrypto.decrypt(\n // see https://developer.mozilla.org/en-US/docs/Web/API/AesCtrParams\n opts,\n aesKey,\n data,\n ), \"decrypt\");\n return new Uint8Array(plaintext);\n } catch (err) {\n throw new Error(`Could not decrypt with AES-CTR: ${err.message}`);\n }\n }\n\n async encryptCTR({key, jwkKey, iv, data}) {\n const opts = {\n name: \"AES-CTR\",\n counter: iv,\n length: 64,\n };\n let aesKey;\n const selectedKey = key || jwkKey;\n const format = jwkKey ? \"jwk\" : \"raw\";\n try {\n aesKey = await subtleCryptoResult(this._subtleCrypto.importKey(\n format,\n selectedKey,\n opts,\n false,\n ['encrypt'],\n ), \"importKey\");\n } catch (err) {\n throw new Error(`Could not import key for AES-CTR encryption: ${err.message}`);\n }\n try {\n const ciphertext = await subtleCryptoResult(this._subtleCrypto.encrypt(\n // see https://developer.mozilla.org/en-US/docs/Web/API/AesCtrParams\n opts,\n aesKey,\n data,\n ), \"encrypt\");\n return new Uint8Array(ciphertext);\n } catch (err) {\n throw new Error(`Could not encrypt with AES-CTR: ${err.message}`);\n }\n }\n\n /**\n * Generate a CTR key\n * @param {String} format \"raw\" or \"jwk\"\n * @param {Number} length 128 or 256\n * @return {Promise} an object for jwk, or a BufferSource for raw\n */\n async generateKey(format, length = 256) {\n const cryptoKey = await subtleCryptoResult(this._subtleCrypto.generateKey(\n {\"name\": \"AES-CTR\", length}, true, [\"encrypt\", \"decrypt\"]));\n return subtleCryptoResult(this._subtleCrypto.exportKey(format, cryptoKey));\n }\n\n async generateIV() {\n return generateIV(this._crypto);\n }\n}\n\nfunction generateIV(crypto) {\n const randomBytes = crypto.getRandomValues(new Uint8Array(8));\n const ivArray = new Uint8Array(16);\n for (let i = 0; i < randomBytes.length; i += 1) {\n ivArray[i] = randomBytes[i];\n }\n return ivArray;\n}\n\nfunction jwkKeyToRaw(jwkKey) {\n if (jwkKey.alg !== \"A256CTR\") {\n throw new Error(`Unknown algorithm: ${jwkKey.alg}`);\n }\n if (!jwkKey.key_ops.includes(\"decrypt\")) {\n throw new Error(`decrypt missing from key_ops`);\n }\n if (jwkKey.kty !== \"oct\") {\n throw new Error(`Invalid key type, \"oct\" expected: ${jwkKey.kty}`);\n }\n // convert base64-url to normal base64\n const base64UrlKey = jwkKey.k;\n const base64Key = base64UrlKey.replace(/-/g, \"+\").replace(/_/g, \"/\");\n return base64.decode(base64Key);\n}\n\nfunction encodeUnpaddedBase64(buffer) {\n const str = base64.encode(buffer);\n const paddingIdx = str.indexOf(\"=\");\n if (paddingIdx !== -1) {\n return str.substr(0, paddingIdx);\n } else {\n return str;\n }\n}\n\nfunction encodeUrlBase64(buffer) {\n const unpadded = encodeUnpaddedBase64(buffer);\n return unpadded.replace(/\\+/g, \"-\").replace(/\\//g, \"_\");\n}\n\nfunction rawKeyToJwk(key) {\n return {\n \"alg\": \"A256CTR\",\n \"ext\": true,\n \"k\": encodeUrlBase64(key),\n \"key_ops\": [\n \"encrypt\",\n \"decrypt\"\n ],\n \"kty\": \"oct\"\n };\n}\n\n\nclass AESLegacyCrypto {\n constructor(aesjs, crypto) {\n this._aesjs = aesjs;\n this._crypto = crypto;\n }\n /**\n * [decrypt description]\n * @param {BufferSource} key [description]\n * @param {BufferSource} iv [description]\n * @param {BufferSource} ciphertext [description]\n * @param {Number} counterLength the size of the counter, in bits\n * @return {BufferSource} [description]\n */\n async decryptCTR({key, jwkKey, iv, data, counterLength = 64}) {\n if (counterLength !== 64) {\n throw new Error(`Unsupported counter length: ${counterLength}`);\n }\n if (jwkKey) {\n key = jwkKeyToRaw(jwkKey);\n }\n const aesjs = this._aesjs;\n var aesCtr = new aesjs.ModeOfOperation.ctr(new Uint8Array(key), new aesjs.Counter(new Uint8Array(iv)));\n return aesCtr.decrypt(new Uint8Array(data));\n }\n\n async encryptCTR({key, jwkKey, iv, data}) {\n if (jwkKey) {\n key = jwkKeyToRaw(jwkKey);\n }\n const aesjs = this._aesjs;\n var aesCtr = new aesjs.ModeOfOperation.ctr(new Uint8Array(key), new aesjs.Counter(new Uint8Array(iv)));\n return aesCtr.encrypt(new Uint8Array(data));\n }\n\n /**\n * Generate a CTR key\n * @param {String} format \"raw\" or \"jwk\"\n * @param {Number} length 128 or 256\n * @return {Promise} an object for jwk, or a BufferSource for raw\n */\n async generateKey(format, length = 256) {\n let key = crypto.getRandomValues(new Uint8Array(length / 8));\n if (format === \"jwk\") {\n key = rawKeyToJwk(key);\n }\n return key;\n }\n\n async generateIV() {\n return generateIV(this._crypto);\n }\n}\n\nfunction hashName(name) {\n if (name !== \"SHA-256\" && name !== \"SHA-512\") {\n throw new Error(`Invalid hash name: ${name}`);\n }\n return name;\n}\n\nexport class Crypto {\n constructor(cryptoExtras) {\n const crypto = window.crypto || window.msCrypto;\n const subtleCrypto = crypto.subtle || crypto.webkitSubtle;\n this._subtleCrypto = subtleCrypto;\n // not exactly guaranteeing AES-CTR support\n // but in practice IE11 doesn't have this\n if (!subtleCrypto.deriveBits && cryptoExtras?.aesjs) {\n this.aes = new AESLegacyCrypto(cryptoExtras.aesjs, crypto);\n } else {\n this.aes = new AESCrypto(subtleCrypto, crypto);\n }\n this.hmac = new HMACCrypto(subtleCrypto);\n this.derive = new DeriveCrypto(subtleCrypto, this, cryptoExtras);\n }\n\n /**\n * [digest description]\n * @param {HashName} hash\n * @param {BufferSource} data\n * @return {BufferSource}\n */\n async digest(hash, data) {\n return await subtleCryptoResult(this._subtleCrypto.digest(hashName(hash), data));\n }\n\n digestSize(hash) {\n switch (hashName(hash)) {\n case \"SHA-512\": return 64;\n case \"SHA-256\": return 32;\n default: throw new Error(`Not implemented for ${hashName(hash)}`);\n }\n }\n}\n","/*\nCopyright 2020 The Matrix.org Foundation C.I.C.\n\nLicensed under the Apache License, Version 2.0 (the \"License\");\nyou may not use this file except in compliance with the License.\nYou may obtain a copy of the License at\n\n http://www.apache.org/licenses/LICENSE-2.0\n\nUnless required by applicable law or agreed to in writing, software\ndistributed under the License is distributed on an \"AS IS\" BASIS,\nWITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\nSee the License for the specific language governing permissions and\nlimitations under the License.\n*/\n\nexport async function estimateStorageUsage() {\n if (navigator?.storage?.estimate) {\n const {quota, usage} = await navigator.storage.estimate();\n return {quota, usage};\n } else {\n return {quota: null, usage: null};\n }\n}\n","/*\nCopyright 2020 The Matrix.org Foundation C.I.C.\n\nLicensed under the Apache License, Version 2.0 (the \"License\");\nyou may not use this file except in compliance with the License.\nYou may obtain a copy of the License at\n\n http://www.apache.org/licenses/LICENSE-2.0\n\nUnless required by applicable law or agreed to in writing, software\ndistributed under the License is distributed on an \"AS IS\" BASIS,\nWITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\nSee the License for the specific language governing permissions and\nlimitations under the License.\n*/\n\nimport {AbortError} from \"../../../utils/error\";\n\nclass WorkerState {\n constructor(worker) {\n this.worker = worker;\n this.busy = false;\n }\n\n attach(pool) {\n this.worker.addEventListener(\"message\", pool);\n this.worker.addEventListener(\"error\", pool);\n }\n\n detach(pool) {\n this.worker.removeEventListener(\"message\", pool);\n this.worker.removeEventListener(\"error\", pool);\n }\n}\n\nclass Request {\n constructor(message, pool) {\n this._promise = new Promise((_resolve, _reject) => {\n this._resolve = _resolve;\n this._reject = _reject;\n });\n this._message = message;\n this._pool = pool;\n this._worker = null;\n }\n\n abort() {\n if (this._isNotDisposed) {\n this._pool._abortRequest(this);\n this._dispose();\n }\n }\n\n response() {\n return this._promise;\n }\n\n _dispose() {\n this._reject = null;\n this._resolve = null;\n }\n\n get _isNotDisposed() {\n return this._resolve && this._reject;\n }\n}\n\nexport class WorkerPool {\n // TODO: extract DOM specific bits and write unit tests\n constructor(path, amount) {\n this._workers = [];\n for (let i = 0; i < amount ; ++i) {\n const worker = new WorkerState(new Worker(path));\n worker.attach(this);\n this._workers[i] = worker;\n }\n this._requests = new Map();\n this._counter = 0;\n this._pendingFlag = false;\n this._init = null;\n\n }\n\n init() {\n const promise = new Promise((resolve, reject) => {\n this._init = {resolve, reject};\n });\n this.sendAll({type: \"ping\"})\n .then(this._init.resolve, this._init.reject)\n .finally(() => {\n this._init = null;\n });\n return promise;\n }\n\n handleEvent(e) {\n if (e.type === \"message\") {\n const message = e.data;\n const request = this._requests.get(message.replyToId);\n if (request) {\n request._worker.busy = false;\n if (request._isNotDisposed) {\n if (message.type === \"success\") {\n request._resolve(message.payload);\n } else if (message.type === \"error\") {\n const err = new Error(message.message);\n err.stack = message.stack;\n request._reject(err);\n }\n request._dispose();\n }\n this._requests.delete(message.replyToId);\n }\n this._sendPending();\n } else if (e.type === \"error\") {\n if (this._init) {\n this._init.reject(new Error(\"worker error during init\"));\n }\n console.error(\"worker error\", e);\n }\n }\n\n _getPendingRequest() {\n for (const r of this._requests.values()) {\n if (!r._worker) {\n return r;\n }\n }\n }\n\n _getFreeWorker() {\n for (const w of this._workers) {\n if (!w.busy) {\n return w;\n }\n }\n }\n\n _sendPending() {\n this._pendingFlag = false;\n let success;\n do {\n success = false;\n const request = this._getPendingRequest();\n if (request) {\n const worker = this._getFreeWorker();\n if (worker) {\n this._sendWith(request, worker);\n success = true;\n }\n }\n } while (success);\n }\n\n _sendWith(request, worker) {\n request._worker = worker;\n worker.busy = true;\n worker.worker.postMessage(request._message);\n }\n\n _enqueueRequest(message) {\n this._counter += 1;\n message.id = this._counter;\n const request = new Request(message, this);\n this._requests.set(message.id, request);\n return request;\n }\n\n send(message) {\n const request = this._enqueueRequest(message);\n const worker = this._getFreeWorker();\n if (worker) {\n this._sendWith(request, worker);\n }\n return request;\n }\n\n // assumes all workers are free atm\n sendAll(message) {\n const promises = this._workers.map(worker => {\n const request = this._enqueueRequest(Object.assign({}, message));\n this._sendWith(request, worker);\n return request.response();\n });\n return Promise.all(promises);\n }\n\n dispose() {\n for (const w of this._workers) {\n w.detach(this);\n w.worker.terminate();\n }\n }\n\n _trySendPendingInNextTick() {\n if (!this._pendingFlag) {\n this._pendingFlag = true;\n Promise.resolve().then(() => {\n this._sendPending();\n });\n }\n }\n\n _abortRequest(request) {\n request._reject(new AbortError());\n if (request._worker) {\n request._worker.busy = false;\n }\n this._requests.delete(request._message.id);\n // allow more requests to be aborted before trying to send other pending\n this._trySendPendingInNextTick();\n }\n}\n","/*\nCopyright 2020 The Matrix.org Foundation C.I.C.\n\nLicensed under the Apache License, Version 2.0 (the \"License\");\nyou may not use this file except in compliance with the License.\nYou may obtain a copy of the License at\n\n http://www.apache.org/licenses/LICENSE-2.0\n\nUnless required by applicable law or agreed to in writing, software\ndistributed under the License is distributed on an \"AS IS\" BASIS,\nWITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\nSee the License for the specific language governing permissions and\nlimitations under the License.\n*/\n\nimport {BlobHandle} from \"./BlobHandle.js\";\nimport {domEventAsPromise} from \"./utils.js\";\n\nexport class ImageHandle {\n static async fromBlob(blob) {\n const img = await loadImgFromBlob(blob);\n const {width, height} = img;\n return new ImageHandle(blob, width, height, img);\n }\n\n constructor(blob, width, height, imgElement) {\n this.blob = blob;\n this.width = width;\n this.height = height;\n this._domElement = imgElement;\n }\n\n get maxDimension() {\n return Math.max(this.width, this.height);\n }\n\n async _getDomElement() {\n if (!this._domElement) {\n this._domElement = await loadImgFromBlob(this.blob);\n }\n return this._domElement;\n }\n\n async scale(maxDimension) {\n const aspectRatio = this.width / this.height;\n const scaleFactor = Math.min(1, maxDimension / (aspectRatio >= 1 ? this.width : this.height));\n const scaledWidth = Math.round(this.width * scaleFactor);\n const scaledHeight = Math.round(this.height * scaleFactor);\n const canvas = document.createElement(\"canvas\");\n canvas.width = scaledWidth;\n canvas.height = scaledHeight;\n const ctx = canvas.getContext(\"2d\");\n const drawableElement = await this._getDomElement();\n ctx.drawImage(drawableElement, 0, 0, scaledWidth, scaledHeight);\n let mimeType = this.blob.mimeType === \"image/jpeg\" ? \"image/jpeg\" : \"image/png\";\n let nativeBlob;\n if (canvas.toBlob) {\n nativeBlob = await new Promise(resolve => canvas.toBlob(resolve, mimeType));\n } else if (canvas.msToBlob) {\n // TODO: provide a mimetype override in blob handle for this case\n mimeType = \"image/png\";\n nativeBlob = canvas.msToBlob();\n } else {\n throw new Error(\"canvas can't be turned into blob\");\n }\n const blob = BlobHandle.fromBlob(nativeBlob);\n return new ImageHandle(blob, scaledWidth, scaledHeight, null);\n }\n\n dispose() {\n this.blob.dispose();\n }\n}\n\nexport class VideoHandle extends ImageHandle {\n get duration() {\n if (typeof this._domElement.duration === \"number\") {\n return Math.round(this._domElement.duration * 1000);\n }\n return undefined;\n }\n\n static async fromBlob(blob) {\n const video = await loadVideoFromBlob(blob);\n const {videoWidth, videoHeight} = video;\n return new VideoHandle(blob, videoWidth, videoHeight, video);\n }\n}\n\nexport function hasReadPixelPermission() {\n const canvas = document.createElement(\"canvas\");\n canvas.width = 1;\n canvas.height = 1;\n const ctx = canvas.getContext(\"2d\");\n const rgb = [\n Math.round(Math.random() * 255),\n Math.round(Math.random() * 255),\n Math.round(Math.random() * 255),\n ]\n ctx.fillStyle = `rgb(${rgb[0]}, ${rgb[1]}, ${rgb[2]})`;\n ctx.fillRect(0, 0, 1, 1);\n const data = ctx.getImageData(0, 0, 1, 1).data;\n return data[0] === rgb[0] && data[1] === rgb[1] && data[2] === rgb[2];\n}\n\nasync function loadImgFromBlob(blob) {\n const img = document.createElement(\"img\");\n const loadPromise = domEventAsPromise(img, \"load\");\n img.src = blob.url;\n await loadPromise;\n return img;\n}\n\nasync function loadVideoFromBlob(blob) {\n const video = document.createElement(\"video\");\n video.muted = true;\n const loadPromise = domEventAsPromise(video, \"loadedmetadata\");\n video.src = blob.url;\n video.load();\n await loadPromise;\n // seek to the first 1/10s to make sure that drawing the video\n // on a canvas won't give a blank image\n const seekPromise = domEventAsPromise(video, \"seeked\");\n // needed for safari to reliably fire the seeked event,\n // somewhat hacky but using raf for example didn't do the trick\n await new Promise(r => setTimeout(r, 200));\n video.currentTime = 0.1;\n await seekPromise;\n return video;\n}\n","/*\nCopyright 2020 The Matrix.org Foundation C.I.C.\n\nLicensed under the Apache License, Version 2.0 (the \"License\");\nyou may not use this file except in compliance with the License.\nYou may obtain a copy of the License at\n\n http://www.apache.org/licenses/LICENSE-2.0\n\nUnless required by applicable law or agreed to in writing, software\ndistributed under the License is distributed on an \"AS IS\" BASIS,\nWITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\nSee the License for the specific language governing permissions and\nlimitations under the License.\n*/\n\nexport async function downloadInIframe(container, iframeSrc, blobHandle, filename, isIOS) {\n let iframe = container.querySelector(\"iframe.downloadSandbox\");\n if (!iframe) {\n iframe = document.createElement(\"iframe\");\n iframe.setAttribute(\"sandbox\", \"allow-scripts allow-downloads allow-downloads-without-user-activation\");\n iframe.setAttribute(\"src\", iframeSrc);\n iframe.className = \"hidden downloadSandbox\";\n container.appendChild(iframe);\n let detach;\n await new Promise((resolve, reject) => {\n detach = () => {\n iframe.removeEventListener(\"load\", resolve);\n iframe.removeEventListener(\"error\", reject); \n }\n iframe.addEventListener(\"load\", resolve);\n iframe.addEventListener(\"error\", reject);\n });\n detach();\n }\n if (isIOS) {\n // iOS can't read a blob in a sandboxed iframe,\n // see https://github.com/vector-im/hydrogen-web/issues/244\n const buffer = await blobHandle.readAsBuffer();\n iframe.contentWindow.postMessage({\n type: \"downloadBuffer\",\n buffer,\n mimeType: blobHandle.mimeType,\n filename: filename\n }, \"*\");\n } else {\n iframe.contentWindow.postMessage({\n type: \"downloadBlob\",\n blob: blobHandle.nativeBlob,\n filename: filename\n }, \"*\");\n }\n}\n","/*! @license DOMPurify 2.3.0 | (c) Cure53 and other contributors | Released under the Apache license 2.0 and Mozilla Public License 2.0 | github.com/cure53/DOMPurify/blob/2.3.0/LICENSE */\n\nfunction _toConsumableArray(arr) { if (Array.isArray(arr)) { for (var i = 0, arr2 = Array(arr.length); i < arr.length; i++) { arr2[i] = arr[i]; } return arr2; } else { return Array.from(arr); } }\n\nvar hasOwnProperty = Object.hasOwnProperty,\n setPrototypeOf = Object.setPrototypeOf,\n isFrozen = Object.isFrozen,\n getPrototypeOf = Object.getPrototypeOf,\n getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;\nvar freeze = Object.freeze,\n seal = Object.seal,\n create = Object.create; // eslint-disable-line import/no-mutable-exports\n\nvar _ref = typeof Reflect !== 'undefined' && Reflect,\n apply = _ref.apply,\n construct = _ref.construct;\n\nif (!apply) {\n apply = function apply(fun, thisValue, args) {\n return fun.apply(thisValue, args);\n };\n}\n\nif (!freeze) {\n freeze = function freeze(x) {\n return x;\n };\n}\n\nif (!seal) {\n seal = function seal(x) {\n return x;\n };\n}\n\nif (!construct) {\n construct = function construct(Func, args) {\n return new (Function.prototype.bind.apply(Func, [null].concat(_toConsumableArray(args))))();\n };\n}\n\nvar arrayForEach = unapply(Array.prototype.forEach);\nvar arrayPop = unapply(Array.prototype.pop);\nvar arrayPush = unapply(Array.prototype.push);\n\nvar stringToLowerCase = unapply(String.prototype.toLowerCase);\nvar stringMatch = unapply(String.prototype.match);\nvar stringReplace = unapply(String.prototype.replace);\nvar stringIndexOf = unapply(String.prototype.indexOf);\nvar stringTrim = unapply(String.prototype.trim);\n\nvar regExpTest = unapply(RegExp.prototype.test);\n\nvar typeErrorCreate = unconstruct(TypeError);\n\nfunction unapply(func) {\n return function (thisArg) {\n for (var _len = arguments.length, args = Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {\n args[_key - 1] = arguments[_key];\n }\n\n return apply(func, thisArg, args);\n };\n}\n\nfunction unconstruct(func) {\n return function () {\n for (var _len2 = arguments.length, args = Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {\n args[_key2] = arguments[_key2];\n }\n\n return construct(func, args);\n };\n}\n\n/* Add properties to a lookup table */\nfunction addToSet(set, array) {\n if (setPrototypeOf) {\n // Make 'in' and truthy checks like Boolean(set.constructor)\n // independent of any properties defined on Object.prototype.\n // Prevent prototype setters from intercepting set as a this value.\n setPrototypeOf(set, null);\n }\n\n var l = array.length;\n while (l--) {\n var element = array[l];\n if (typeof element === 'string') {\n var lcElement = stringToLowerCase(element);\n if (lcElement !== element) {\n // Config presets (e.g. tags.js, attrs.js) are immutable.\n if (!isFrozen(array)) {\n array[l] = lcElement;\n }\n\n element = lcElement;\n }\n }\n\n set[element] = true;\n }\n\n return set;\n}\n\n/* Shallow clone an object */\nfunction clone(object) {\n var newObject = create(null);\n\n var property = void 0;\n for (property in object) {\n if (apply(hasOwnProperty, object, [property])) {\n newObject[property] = object[property];\n }\n }\n\n return newObject;\n}\n\n/* IE10 doesn't support __lookupGetter__ so lets'\n * simulate it. It also automatically checks\n * if the prop is function or getter and behaves\n * accordingly. */\nfunction lookupGetter(object, prop) {\n while (object !== null) {\n var desc = getOwnPropertyDescriptor(object, prop);\n if (desc) {\n if (desc.get) {\n return unapply(desc.get);\n }\n\n if (typeof desc.value === 'function') {\n return unapply(desc.value);\n }\n }\n\n object = getPrototypeOf(object);\n }\n\n function fallbackValue(element) {\n console.warn('fallback value for', element);\n return null;\n }\n\n return fallbackValue;\n}\n\nvar html = freeze(['a', 'abbr', 'acronym', 'address', 'area', 'article', 'aside', 'audio', 'b', 'bdi', 'bdo', 'big', 'blink', 'blockquote', 'body', 'br', 'button', 'canvas', 'caption', 'center', 'cite', 'code', 'col', 'colgroup', 'content', 'data', 'datalist', 'dd', 'decorator', 'del', 'details', 'dfn', 'dialog', 'dir', 'div', 'dl', 'dt', 'element', 'em', 'fieldset', 'figcaption', 'figure', 'font', 'footer', 'form', 'h1', 'h2', 'h3', 'h4', 'h5', 'h6', 'head', 'header', 'hgroup', 'hr', 'html', 'i', 'img', 'input', 'ins', 'kbd', 'label', 'legend', 'li', 'main', 'map', 'mark', 'marquee', 'menu', 'menuitem', 'meter', 'nav', 'nobr', 'ol', 'optgroup', 'option', 'output', 'p', 'picture', 'pre', 'progress', 'q', 'rp', 'rt', 'ruby', 's', 'samp', 'section', 'select', 'shadow', 'small', 'source', 'spacer', 'span', 'strike', 'strong', 'style', 'sub', 'summary', 'sup', 'table', 'tbody', 'td', 'template', 'textarea', 'tfoot', 'th', 'thead', 'time', 'tr', 'track', 'tt', 'u', 'ul', 'var', 'video', 'wbr']);\n\n// SVG\nvar svg = freeze(['svg', 'a', 'altglyph', 'altglyphdef', 'altglyphitem', 'animatecolor', 'animatemotion', 'animatetransform', 'circle', 'clippath', 'defs', 'desc', 'ellipse', 'filter', 'font', 'g', 'glyph', 'glyphref', 'hkern', 'image', 'line', 'lineargradient', 'marker', 'mask', 'metadata', 'mpath', 'path', 'pattern', 'polygon', 'polyline', 'radialgradient', 'rect', 'stop', 'style', 'switch', 'symbol', 'text', 'textpath', 'title', 'tref', 'tspan', 'view', 'vkern']);\n\nvar svgFilters = freeze(['feBlend', 'feColorMatrix', 'feComponentTransfer', 'feComposite', 'feConvolveMatrix', 'feDiffuseLighting', 'feDisplacementMap', 'feDistantLight', 'feFlood', 'feFuncA', 'feFuncB', 'feFuncG', 'feFuncR', 'feGaussianBlur', 'feMerge', 'feMergeNode', 'feMorphology', 'feOffset', 'fePointLight', 'feSpecularLighting', 'feSpotLight', 'feTile', 'feTurbulence']);\n\n// List of SVG elements that are disallowed by default.\n// We still need to know them so that we can do namespace\n// checks properly in case one wants to add them to\n// allow-list.\nvar svgDisallowed = freeze(['animate', 'color-profile', 'cursor', 'discard', 'fedropshadow', 'feimage', 'font-face', 'font-face-format', 'font-face-name', 'font-face-src', 'font-face-uri', 'foreignobject', 'hatch', 'hatchpath', 'mesh', 'meshgradient', 'meshpatch', 'meshrow', 'missing-glyph', 'script', 'set', 'solidcolor', 'unknown', 'use']);\n\nvar mathMl = freeze(['math', 'menclose', 'merror', 'mfenced', 'mfrac', 'mglyph', 'mi', 'mlabeledtr', 'mmultiscripts', 'mn', 'mo', 'mover', 'mpadded', 'mphantom', 'mroot', 'mrow', 'ms', 'mspace', 'msqrt', 'mstyle', 'msub', 'msup', 'msubsup', 'mtable', 'mtd', 'mtext', 'mtr', 'munder', 'munderover']);\n\n// Similarly to SVG, we want to know all MathML elements,\n// even those that we disallow by default.\nvar mathMlDisallowed = freeze(['maction', 'maligngroup', 'malignmark', 'mlongdiv', 'mscarries', 'mscarry', 'msgroup', 'mstack', 'msline', 'msrow', 'semantics', 'annotation', 'annotation-xml', 'mprescripts', 'none']);\n\nvar text = freeze(['#text']);\n\nvar html$1 = freeze(['accept', 'action', 'align', 'alt', 'autocapitalize', 'autocomplete', 'autopictureinpicture', 'autoplay', 'background', 'bgcolor', 'border', 'capture', 'cellpadding', 'cellspacing', 'checked', 'cite', 'class', 'clear', 'color', 'cols', 'colspan', 'controls', 'controlslist', 'coords', 'crossorigin', 'datetime', 'decoding', 'default', 'dir', 'disabled', 'disablepictureinpicture', 'disableremoteplayback', 'download', 'draggable', 'enctype', 'enterkeyhint', 'face', 'for', 'headers', 'height', 'hidden', 'high', 'href', 'hreflang', 'id', 'inputmode', 'integrity', 'ismap', 'kind', 'label', 'lang', 'list', 'loading', 'loop', 'low', 'max', 'maxlength', 'media', 'method', 'min', 'minlength', 'multiple', 'muted', 'name', 'noshade', 'novalidate', 'nowrap', 'open', 'optimum', 'pattern', 'placeholder', 'playsinline', 'poster', 'preload', 'pubdate', 'radiogroup', 'readonly', 'rel', 'required', 'rev', 'reversed', 'role', 'rows', 'rowspan', 'spellcheck', 'scope', 'selected', 'shape', 'size', 'sizes', 'span', 'srclang', 'start', 'src', 'srcset', 'step', 'style', 'summary', 'tabindex', 'title', 'translate', 'type', 'usemap', 'valign', 'value', 'width', 'xmlns', 'slot']);\n\nvar svg$1 = freeze(['accent-height', 'accumulate', 'additive', 'alignment-baseline', 'ascent', 'attributename', 'attributetype', 'azimuth', 'basefrequency', 'baseline-shift', 'begin', 'bias', 'by', 'class', 'clip', 'clippathunits', 'clip-path', 'clip-rule', 'color', 'color-interpolation', 'color-interpolation-filters', 'color-profile', 'color-rendering', 'cx', 'cy', 'd', 'dx', 'dy', 'diffuseconstant', 'direction', 'display', 'divisor', 'dur', 'edgemode', 'elevation', 'end', 'fill', 'fill-opacity', 'fill-rule', 'filter', 'filterunits', 'flood-color', 'flood-opacity', 'font-family', 'font-size', 'font-size-adjust', 'font-stretch', 'font-style', 'font-variant', 'font-weight', 'fx', 'fy', 'g1', 'g2', 'glyph-name', 'glyphref', 'gradientunits', 'gradienttransform', 'height', 'href', 'id', 'image-rendering', 'in', 'in2', 'k', 'k1', 'k2', 'k3', 'k4', 'kerning', 'keypoints', 'keysplines', 'keytimes', 'lang', 'lengthadjust', 'letter-spacing', 'kernelmatrix', 'kernelunitlength', 'lighting-color', 'local', 'marker-end', 'marker-mid', 'marker-start', 'markerheight', 'markerunits', 'markerwidth', 'maskcontentunits', 'maskunits', 'max', 'mask', 'media', 'method', 'mode', 'min', 'name', 'numoctaves', 'offset', 'operator', 'opacity', 'order', 'orient', 'orientation', 'origin', 'overflow', 'paint-order', 'path', 'pathlength', 'patterncontentunits', 'patterntransform', 'patternunits', 'points', 'preservealpha', 'preserveaspectratio', 'primitiveunits', 'r', 'rx', 'ry', 'radius', 'refx', 'refy', 'repeatcount', 'repeatdur', 'restart', 'result', 'rotate', 'scale', 'seed', 'shape-rendering', 'specularconstant', 'specularexponent', 'spreadmethod', 'startoffset', 'stddeviation', 'stitchtiles', 'stop-color', 'stop-opacity', 'stroke-dasharray', 'stroke-dashoffset', 'stroke-linecap', 'stroke-linejoin', 'stroke-miterlimit', 'stroke-opacity', 'stroke', 'stroke-width', 'style', 'surfacescale', 'systemlanguage', 'tabindex', 'targetx', 'targety', 'transform', 'text-anchor', 'text-decoration', 'text-rendering', 'textlength', 'type', 'u1', 'u2', 'unicode', 'values', 'viewbox', 'visibility', 'version', 'vert-adv-y', 'vert-origin-x', 'vert-origin-y', 'width', 'word-spacing', 'wrap', 'writing-mode', 'xchannelselector', 'ychannelselector', 'x', 'x1', 'x2', 'xmlns', 'y', 'y1', 'y2', 'z', 'zoomandpan']);\n\nvar mathMl$1 = freeze(['accent', 'accentunder', 'align', 'bevelled', 'close', 'columnsalign', 'columnlines', 'columnspan', 'denomalign', 'depth', 'dir', 'display', 'displaystyle', 'encoding', 'fence', 'frame', 'height', 'href', 'id', 'largeop', 'length', 'linethickness', 'lspace', 'lquote', 'mathbackground', 'mathcolor', 'mathsize', 'mathvariant', 'maxsize', 'minsize', 'movablelimits', 'notation', 'numalign', 'open', 'rowalign', 'rowlines', 'rowspacing', 'rowspan', 'rspace', 'rquote', 'scriptlevel', 'scriptminsize', 'scriptsizemultiplier', 'selection', 'separator', 'separators', 'stretchy', 'subscriptshift', 'supscriptshift', 'symmetric', 'voffset', 'width', 'xmlns']);\n\nvar xml = freeze(['xlink:href', 'xml:id', 'xlink:title', 'xml:space', 'xmlns:xlink']);\n\n// eslint-disable-next-line unicorn/better-regex\nvar MUSTACHE_EXPR = seal(/\\{\\{[\\s\\S]*|[\\s\\S]*\\}\\}/gm); // Specify template detection regex for SAFE_FOR_TEMPLATES mode\nvar ERB_EXPR = seal(/<%[\\s\\S]*|[\\s\\S]*%>/gm);\nvar DATA_ATTR = seal(/^data-[\\-\\w.\\u00B7-\\uFFFF]/); // eslint-disable-line no-useless-escape\nvar ARIA_ATTR = seal(/^aria-[\\-\\w]+$/); // eslint-disable-line no-useless-escape\nvar IS_ALLOWED_URI = seal(/^(?:(?:(?:f|ht)tps?|mailto|tel|callto|cid|xmpp):|[^a-z]|[a-z+.\\-]+(?:[^a-z+.\\-:]|$))/i // eslint-disable-line no-useless-escape\n);\nvar IS_SCRIPT_OR_DATA = seal(/^(?:\\w+script|data):/i);\nvar ATTR_WHITESPACE = seal(/[\\u0000-\\u0020\\u00A0\\u1680\\u180E\\u2000-\\u2029\\u205F\\u3000]/g // eslint-disable-line no-control-regex\n);\n\nvar _typeof = typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; };\n\nfunction _toConsumableArray$1(arr) { if (Array.isArray(arr)) { for (var i = 0, arr2 = Array(arr.length); i < arr.length; i++) { arr2[i] = arr[i]; } return arr2; } else { return Array.from(arr); } }\n\nvar getGlobal = function getGlobal() {\n return typeof window === 'undefined' ? null : window;\n};\n\n/**\n * Creates a no-op policy for internal use only.\n * Don't export this function outside this module!\n * @param {?TrustedTypePolicyFactory} trustedTypes The policy factory.\n * @param {Document} document The document object (to determine policy name suffix)\n * @return {?TrustedTypePolicy} The policy created (or null, if Trusted Types\n * are not supported).\n */\nvar _createTrustedTypesPolicy = function _createTrustedTypesPolicy(trustedTypes, document) {\n if ((typeof trustedTypes === 'undefined' ? 'undefined' : _typeof(trustedTypes)) !== 'object' || typeof trustedTypes.createPolicy !== 'function') {\n return null;\n }\n\n // Allow the callers to control the unique policy name\n // by adding a data-tt-policy-suffix to the script element with the DOMPurify.\n // Policy creation with duplicate names throws in Trusted Types.\n var suffix = null;\n var ATTR_NAME = 'data-tt-policy-suffix';\n if (document.currentScript && document.currentScript.hasAttribute(ATTR_NAME)) {\n suffix = document.currentScript.getAttribute(ATTR_NAME);\n }\n\n var policyName = 'dompurify' + (suffix ? '#' + suffix : '');\n\n try {\n return trustedTypes.createPolicy(policyName, {\n createHTML: function createHTML(html$$1) {\n return html$$1;\n }\n });\n } catch (_) {\n // Policy creation failed (most likely another DOMPurify script has\n // already run). Skip creating the policy, as this will only cause errors\n // if TT are enforced.\n console.warn('TrustedTypes policy ' + policyName + ' could not be created.');\n return null;\n }\n};\n\nfunction createDOMPurify() {\n var window = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : getGlobal();\n\n var DOMPurify = function DOMPurify(root) {\n return createDOMPurify(root);\n };\n\n /**\n * Version label, exposed for easier checks\n * if DOMPurify is up to date or not\n */\n DOMPurify.version = '2.3.0';\n\n /**\n * Array of elements that DOMPurify removed during sanitation.\n * Empty if nothing was removed.\n */\n DOMPurify.removed = [];\n\n if (!window || !window.document || window.document.nodeType !== 9) {\n // Not running in a browser, provide a factory function\n // so that you can pass your own Window\n DOMPurify.isSupported = false;\n\n return DOMPurify;\n }\n\n var originalDocument = window.document;\n\n var document = window.document;\n var DocumentFragment = window.DocumentFragment,\n HTMLTemplateElement = window.HTMLTemplateElement,\n Node = window.Node,\n Element = window.Element,\n NodeFilter = window.NodeFilter,\n _window$NamedNodeMap = window.NamedNodeMap,\n NamedNodeMap = _window$NamedNodeMap === undefined ? window.NamedNodeMap || window.MozNamedAttrMap : _window$NamedNodeMap,\n Text = window.Text,\n Comment = window.Comment,\n DOMParser = window.DOMParser,\n trustedTypes = window.trustedTypes;\n\n\n var ElementPrototype = Element.prototype;\n\n var cloneNode = lookupGetter(ElementPrototype, 'cloneNode');\n var getNextSibling = lookupGetter(ElementPrototype, 'nextSibling');\n var getChildNodes = lookupGetter(ElementPrototype, 'childNodes');\n var getParentNode = lookupGetter(ElementPrototype, 'parentNode');\n\n // As per issue #47, the web-components registry is inherited by a\n // new document created via createHTMLDocument. As per the spec\n // (http://w3c.github.io/webcomponents/spec/custom/#creating-and-passing-registries)\n // a new empty registry is used when creating a template contents owner\n // document, so we use that as our parent document to ensure nothing\n // is inherited.\n if (typeof HTMLTemplateElement === 'function') {\n var template = document.createElement('template');\n if (template.content && template.content.ownerDocument) {\n document = template.content.ownerDocument;\n }\n }\n\n var trustedTypesPolicy = _createTrustedTypesPolicy(trustedTypes, originalDocument);\n var emptyHTML = trustedTypesPolicy && RETURN_TRUSTED_TYPE ? trustedTypesPolicy.createHTML('') : '';\n\n var _document = document,\n implementation = _document.implementation,\n createNodeIterator = _document.createNodeIterator,\n createDocumentFragment = _document.createDocumentFragment,\n getElementsByTagName = _document.getElementsByTagName;\n var importNode = originalDocument.importNode;\n\n\n var documentMode = {};\n try {\n documentMode = clone(document).documentMode ? document.documentMode : {};\n } catch (_) {}\n\n var hooks = {};\n\n /**\n * Expose whether this browser supports running the full DOMPurify.\n */\n DOMPurify.isSupported = typeof getParentNode === 'function' && implementation && typeof implementation.createHTMLDocument !== 'undefined' && documentMode !== 9;\n\n var MUSTACHE_EXPR$$1 = MUSTACHE_EXPR,\n ERB_EXPR$$1 = ERB_EXPR,\n DATA_ATTR$$1 = DATA_ATTR,\n ARIA_ATTR$$1 = ARIA_ATTR,\n IS_SCRIPT_OR_DATA$$1 = IS_SCRIPT_OR_DATA,\n ATTR_WHITESPACE$$1 = ATTR_WHITESPACE;\n var IS_ALLOWED_URI$$1 = IS_ALLOWED_URI;\n\n /**\n * We consider the elements and attributes below to be safe. Ideally\n * don't add any new ones but feel free to remove unwanted ones.\n */\n\n /* allowed element names */\n\n var ALLOWED_TAGS = null;\n var DEFAULT_ALLOWED_TAGS = addToSet({}, [].concat(_toConsumableArray$1(html), _toConsumableArray$1(svg), _toConsumableArray$1(svgFilters), _toConsumableArray$1(mathMl), _toConsumableArray$1(text)));\n\n /* Allowed attribute names */\n var ALLOWED_ATTR = null;\n var DEFAULT_ALLOWED_ATTR = addToSet({}, [].concat(_toConsumableArray$1(html$1), _toConsumableArray$1(svg$1), _toConsumableArray$1(mathMl$1), _toConsumableArray$1(xml)));\n\n /* Explicitly forbidden tags (overrides ALLOWED_TAGS/ADD_TAGS) */\n var FORBID_TAGS = null;\n\n /* Explicitly forbidden attributes (overrides ALLOWED_ATTR/ADD_ATTR) */\n var FORBID_ATTR = null;\n\n /* Decide if ARIA attributes are okay */\n var ALLOW_ARIA_ATTR = true;\n\n /* Decide if custom data attributes are okay */\n var ALLOW_DATA_ATTR = true;\n\n /* Decide if unknown protocols are okay */\n var ALLOW_UNKNOWN_PROTOCOLS = false;\n\n /* Output should be safe for common template engines.\n * This means, DOMPurify removes data attributes, mustaches and ERB\n */\n var SAFE_FOR_TEMPLATES = false;\n\n /* Decide if document with ... should be returned */\n var WHOLE_DOCUMENT = false;\n\n /* Track whether config is already set on this instance of DOMPurify. */\n var SET_CONFIG = false;\n\n /* Decide if all elements (e.g. style, script) must be children of\n * document.body. By default, browsers might move them to document.head */\n var FORCE_BODY = false;\n\n /* Decide if a DOM `HTMLBodyElement` should be returned, instead of a html\n * string (or a TrustedHTML object if Trusted Types are supported).\n * If `WHOLE_DOCUMENT` is enabled a `HTMLHtmlElement` will be returned instead\n */\n var RETURN_DOM = false;\n\n /* Decide if a DOM `DocumentFragment` should be returned, instead of a html\n * string (or a TrustedHTML object if Trusted Types are supported) */\n var RETURN_DOM_FRAGMENT = false;\n\n /* If `RETURN_DOM` or `RETURN_DOM_FRAGMENT` is enabled, decide if the returned DOM\n * `Node` is imported into the current `Document`. If this flag is not enabled the\n * `Node` will belong (its ownerDocument) to a fresh `HTMLDocument`, created by\n * DOMPurify.\n *\n * This defaults to `true` starting DOMPurify 2.2.0. Note that setting it to `false`\n * might cause XSS from attacks hidden in closed shadowroots in case the browser\n * supports Declarative Shadow: DOM https://web.dev/declarative-shadow-dom/\n */\n var RETURN_DOM_IMPORT = true;\n\n /* Try to return a Trusted Type object instead of a string, return a string in\n * case Trusted Types are not supported */\n var RETURN_TRUSTED_TYPE = false;\n\n /* Output should be free from DOM clobbering attacks? */\n var SANITIZE_DOM = true;\n\n /* Keep element content when removing element? */\n var KEEP_CONTENT = true;\n\n /* If a `Node` is passed to sanitize(), then performs sanitization in-place instead\n * of importing it into a new Document and returning a sanitized copy */\n var IN_PLACE = false;\n\n /* Allow usage of profiles like html, svg and mathMl */\n var USE_PROFILES = {};\n\n /* Tags to ignore content of when KEEP_CONTENT is true */\n var FORBID_CONTENTS = addToSet({}, ['annotation-xml', 'audio', 'colgroup', 'desc', 'foreignobject', 'head', 'iframe', 'math', 'mi', 'mn', 'mo', 'ms', 'mtext', 'noembed', 'noframes', 'noscript', 'plaintext', 'script', 'style', 'svg', 'template', 'thead', 'title', 'video', 'xmp']);\n\n /* Tags that are safe for data: URIs */\n var DATA_URI_TAGS = null;\n var DEFAULT_DATA_URI_TAGS = addToSet({}, ['audio', 'video', 'img', 'source', 'image', 'track']);\n\n /* Attributes safe for values like \"javascript:\" */\n var URI_SAFE_ATTRIBUTES = null;\n var DEFAULT_URI_SAFE_ATTRIBUTES = addToSet({}, ['alt', 'class', 'for', 'id', 'label', 'name', 'pattern', 'placeholder', 'summary', 'title', 'value', 'style', 'xmlns']);\n\n var MATHML_NAMESPACE = 'http://www.w3.org/1998/Math/MathML';\n var SVG_NAMESPACE = 'http://www.w3.org/2000/svg';\n var HTML_NAMESPACE = 'http://www.w3.org/1999/xhtml';\n /* Document namespace */\n var NAMESPACE = HTML_NAMESPACE;\n var IS_EMPTY_INPUT = false;\n\n /* Keep a reference to config to pass to hooks */\n var CONFIG = null;\n\n /* Ideally, do not touch anything below this line */\n /* ______________________________________________ */\n\n var formElement = document.createElement('form');\n\n /**\n * _parseConfig\n *\n * @param {Object} cfg optional config literal\n */\n // eslint-disable-next-line complexity\n var _parseConfig = function _parseConfig(cfg) {\n if (CONFIG && CONFIG === cfg) {\n return;\n }\n\n /* Shield configuration object from tampering */\n if (!cfg || (typeof cfg === 'undefined' ? 'undefined' : _typeof(cfg)) !== 'object') {\n cfg = {};\n }\n\n /* Shield configuration object from prototype pollution */\n cfg = clone(cfg);\n\n /* Set configuration parameters */\n ALLOWED_TAGS = 'ALLOWED_TAGS' in cfg ? addToSet({}, cfg.ALLOWED_TAGS) : DEFAULT_ALLOWED_TAGS;\n ALLOWED_ATTR = 'ALLOWED_ATTR' in cfg ? addToSet({}, cfg.ALLOWED_ATTR) : DEFAULT_ALLOWED_ATTR;\n URI_SAFE_ATTRIBUTES = 'ADD_URI_SAFE_ATTR' in cfg ? addToSet(clone(DEFAULT_URI_SAFE_ATTRIBUTES), cfg.ADD_URI_SAFE_ATTR) : DEFAULT_URI_SAFE_ATTRIBUTES;\n DATA_URI_TAGS = 'ADD_DATA_URI_TAGS' in cfg ? addToSet(clone(DEFAULT_DATA_URI_TAGS), cfg.ADD_DATA_URI_TAGS) : DEFAULT_DATA_URI_TAGS;\n FORBID_TAGS = 'FORBID_TAGS' in cfg ? addToSet({}, cfg.FORBID_TAGS) : {};\n FORBID_ATTR = 'FORBID_ATTR' in cfg ? addToSet({}, cfg.FORBID_ATTR) : {};\n USE_PROFILES = 'USE_PROFILES' in cfg ? cfg.USE_PROFILES : false;\n ALLOW_ARIA_ATTR = cfg.ALLOW_ARIA_ATTR !== false; // Default true\n ALLOW_DATA_ATTR = cfg.ALLOW_DATA_ATTR !== false; // Default true\n ALLOW_UNKNOWN_PROTOCOLS = cfg.ALLOW_UNKNOWN_PROTOCOLS || false; // Default false\n SAFE_FOR_TEMPLATES = cfg.SAFE_FOR_TEMPLATES || false; // Default false\n WHOLE_DOCUMENT = cfg.WHOLE_DOCUMENT || false; // Default false\n RETURN_DOM = cfg.RETURN_DOM || false; // Default false\n RETURN_DOM_FRAGMENT = cfg.RETURN_DOM_FRAGMENT || false; // Default false\n RETURN_DOM_IMPORT = cfg.RETURN_DOM_IMPORT !== false; // Default true\n RETURN_TRUSTED_TYPE = cfg.RETURN_TRUSTED_TYPE || false; // Default false\n FORCE_BODY = cfg.FORCE_BODY || false; // Default false\n SANITIZE_DOM = cfg.SANITIZE_DOM !== false; // Default true\n KEEP_CONTENT = cfg.KEEP_CONTENT !== false; // Default true\n IN_PLACE = cfg.IN_PLACE || false; // Default false\n IS_ALLOWED_URI$$1 = cfg.ALLOWED_URI_REGEXP || IS_ALLOWED_URI$$1;\n NAMESPACE = cfg.NAMESPACE || HTML_NAMESPACE;\n if (SAFE_FOR_TEMPLATES) {\n ALLOW_DATA_ATTR = false;\n }\n\n if (RETURN_DOM_FRAGMENT) {\n RETURN_DOM = true;\n }\n\n /* Parse profile info */\n if (USE_PROFILES) {\n ALLOWED_TAGS = addToSet({}, [].concat(_toConsumableArray$1(text)));\n ALLOWED_ATTR = [];\n if (USE_PROFILES.html === true) {\n addToSet(ALLOWED_TAGS, html);\n addToSet(ALLOWED_ATTR, html$1);\n }\n\n if (USE_PROFILES.svg === true) {\n addToSet(ALLOWED_TAGS, svg);\n addToSet(ALLOWED_ATTR, svg$1);\n addToSet(ALLOWED_ATTR, xml);\n }\n\n if (USE_PROFILES.svgFilters === true) {\n addToSet(ALLOWED_TAGS, svgFilters);\n addToSet(ALLOWED_ATTR, svg$1);\n addToSet(ALLOWED_ATTR, xml);\n }\n\n if (USE_PROFILES.mathMl === true) {\n addToSet(ALLOWED_TAGS, mathMl);\n addToSet(ALLOWED_ATTR, mathMl$1);\n addToSet(ALLOWED_ATTR, xml);\n }\n }\n\n /* Merge configuration parameters */\n if (cfg.ADD_TAGS) {\n if (ALLOWED_TAGS === DEFAULT_ALLOWED_TAGS) {\n ALLOWED_TAGS = clone(ALLOWED_TAGS);\n }\n\n addToSet(ALLOWED_TAGS, cfg.ADD_TAGS);\n }\n\n if (cfg.ADD_ATTR) {\n if (ALLOWED_ATTR === DEFAULT_ALLOWED_ATTR) {\n ALLOWED_ATTR = clone(ALLOWED_ATTR);\n }\n\n addToSet(ALLOWED_ATTR, cfg.ADD_ATTR);\n }\n\n if (cfg.ADD_URI_SAFE_ATTR) {\n addToSet(URI_SAFE_ATTRIBUTES, cfg.ADD_URI_SAFE_ATTR);\n }\n\n /* Add #text in case KEEP_CONTENT is set to true */\n if (KEEP_CONTENT) {\n ALLOWED_TAGS['#text'] = true;\n }\n\n /* Add html, head and body to ALLOWED_TAGS in case WHOLE_DOCUMENT is true */\n if (WHOLE_DOCUMENT) {\n addToSet(ALLOWED_TAGS, ['html', 'head', 'body']);\n }\n\n /* Add tbody to ALLOWED_TAGS in case tables are permitted, see #286, #365 */\n if (ALLOWED_TAGS.table) {\n addToSet(ALLOWED_TAGS, ['tbody']);\n delete FORBID_TAGS.tbody;\n }\n\n // Prevent further manipulation of configuration.\n // Not available in IE8, Safari 5, etc.\n if (freeze) {\n freeze(cfg);\n }\n\n CONFIG = cfg;\n };\n\n var MATHML_TEXT_INTEGRATION_POINTS = addToSet({}, ['mi', 'mo', 'mn', 'ms', 'mtext']);\n\n var HTML_INTEGRATION_POINTS = addToSet({}, ['foreignobject', 'desc', 'title', 'annotation-xml']);\n\n /* Keep track of all possible SVG and MathML tags\n * so that we can perform the namespace checks\n * correctly. */\n var ALL_SVG_TAGS = addToSet({}, svg);\n addToSet(ALL_SVG_TAGS, svgFilters);\n addToSet(ALL_SVG_TAGS, svgDisallowed);\n\n var ALL_MATHML_TAGS = addToSet({}, mathMl);\n addToSet(ALL_MATHML_TAGS, mathMlDisallowed);\n\n /**\n *\n *\n * @param {Element} element a DOM element whose namespace is being checked\n * @returns {boolean} Return false if the element has a\n * namespace that a spec-compliant parser would never\n * return. Return true otherwise.\n */\n var _checkValidNamespace = function _checkValidNamespace(element) {\n var parent = getParentNode(element);\n\n // In JSDOM, if we're inside shadow DOM, then parentNode\n // can be null. We just simulate parent in this case.\n if (!parent || !parent.tagName) {\n parent = {\n namespaceURI: HTML_NAMESPACE,\n tagName: 'template'\n };\n }\n\n var tagName = stringToLowerCase(element.tagName);\n var parentTagName = stringToLowerCase(parent.tagName);\n\n if (element.namespaceURI === SVG_NAMESPACE) {\n // The only way to switch from HTML namespace to SVG\n // is via . If it happens via any other tag, then\n // it should be killed.\n if (parent.namespaceURI === HTML_NAMESPACE) {\n return tagName === 'svg';\n }\n\n // The only way to switch from MathML to SVG is via\n // svg if parent is either or MathML\n // text integration points.\n if (parent.namespaceURI === MATHML_NAMESPACE) {\n return tagName === 'svg' && (parentTagName === 'annotation-xml' || MATHML_TEXT_INTEGRATION_POINTS[parentTagName]);\n }\n\n // We only allow elements that are defined in SVG\n // spec. All others are disallowed in SVG namespace.\n return Boolean(ALL_SVG_TAGS[tagName]);\n }\n\n if (element.namespaceURI === MATHML_NAMESPACE) {\n // The only way to switch from HTML namespace to MathML\n // is via . If it happens via any other tag, then\n // it should be killed.\n if (parent.namespaceURI === HTML_NAMESPACE) {\n return tagName === 'math';\n }\n\n // The only way to switch from SVG to MathML is via\n // and HTML integration points\n if (parent.namespaceURI === SVG_NAMESPACE) {\n return tagName === 'math' && HTML_INTEGRATION_POINTS[parentTagName];\n }\n\n // We only allow elements that are defined in MathML\n // spec. All others are disallowed in MathML namespace.\n return Boolean(ALL_MATHML_TAGS[tagName]);\n }\n\n if (element.namespaceURI === HTML_NAMESPACE) {\n // The only way to switch from SVG to HTML is via\n // HTML integration points, and from MathML to HTML\n // is via MathML text integration points\n if (parent.namespaceURI === SVG_NAMESPACE && !HTML_INTEGRATION_POINTS[parentTagName]) {\n return false;\n }\n\n if (parent.namespaceURI === MATHML_NAMESPACE && !MATHML_TEXT_INTEGRATION_POINTS[parentTagName]) {\n return false;\n }\n\n // Certain elements are allowed in both SVG and HTML\n // namespace. We need to specify them explicitly\n // so that they don't get erronously deleted from\n // HTML namespace.\n var commonSvgAndHTMLElements = addToSet({}, ['title', 'style', 'font', 'a', 'script']);\n\n // We disallow tags that are specific for MathML\n // or SVG and should never appear in HTML namespace\n return !ALL_MATHML_TAGS[tagName] && (commonSvgAndHTMLElements[tagName] || !ALL_SVG_TAGS[tagName]);\n }\n\n // The code should never reach this place (this means\n // that the element somehow got namespace that is not\n // HTML, SVG or MathML). Return false just in case.\n return false;\n };\n\n /**\n * _forceRemove\n *\n * @param {Node} node a DOM node\n */\n var _forceRemove = function _forceRemove(node) {\n arrayPush(DOMPurify.removed, { element: node });\n try {\n // eslint-disable-next-line unicorn/prefer-dom-node-remove\n node.parentNode.removeChild(node);\n } catch (_) {\n try {\n node.outerHTML = emptyHTML;\n } catch (_) {\n node.remove();\n }\n }\n };\n\n /**\n * _removeAttribute\n *\n * @param {String} name an Attribute name\n * @param {Node} node a DOM node\n */\n var _removeAttribute = function _removeAttribute(name, node) {\n try {\n arrayPush(DOMPurify.removed, {\n attribute: node.getAttributeNode(name),\n from: node\n });\n } catch (_) {\n arrayPush(DOMPurify.removed, {\n attribute: null,\n from: node\n });\n }\n\n node.removeAttribute(name);\n\n // We void attribute values for unremovable \"is\"\" attributes\n if (name === 'is' && !ALLOWED_ATTR[name]) {\n if (RETURN_DOM || RETURN_DOM_FRAGMENT) {\n try {\n _forceRemove(node);\n } catch (_) {}\n } else {\n try {\n node.setAttribute(name, '');\n } catch (_) {}\n }\n }\n };\n\n /**\n * _initDocument\n *\n * @param {String} dirty a string of dirty markup\n * @return {Document} a DOM, filled with the dirty markup\n */\n var _initDocument = function _initDocument(dirty) {\n /* Create a HTML document */\n var doc = void 0;\n var leadingWhitespace = void 0;\n\n if (FORCE_BODY) {\n dirty = '' + dirty;\n } else {\n /* If FORCE_BODY isn't used, leading whitespace needs to be preserved manually */\n var matches = stringMatch(dirty, /^[\\r\\n\\t ]+/);\n leadingWhitespace = matches && matches[0];\n }\n\n var dirtyPayload = trustedTypesPolicy ? trustedTypesPolicy.createHTML(dirty) : dirty;\n /*\n * Use the DOMParser API by default, fallback later if needs be\n * DOMParser not work for svg when has multiple root element.\n */\n if (NAMESPACE === HTML_NAMESPACE) {\n try {\n doc = new DOMParser().parseFromString(dirtyPayload, 'text/html');\n } catch (_) {}\n }\n\n /* Use createHTMLDocument in case DOMParser is not available */\n if (!doc || !doc.documentElement) {\n doc = implementation.createDocument(NAMESPACE, 'template', null);\n try {\n doc.documentElement.innerHTML = IS_EMPTY_INPUT ? '' : dirtyPayload;\n } catch (_) {\n // Syntax error if dirtyPayload is invalid xml\n }\n }\n\n var body = doc.body || doc.documentElement;\n\n if (dirty && leadingWhitespace) {\n body.insertBefore(document.createTextNode(leadingWhitespace), body.childNodes[0] || null);\n }\n\n /* Work on whole document or just its body */\n if (NAMESPACE === HTML_NAMESPACE) {\n return getElementsByTagName.call(doc, WHOLE_DOCUMENT ? 'html' : 'body')[0];\n }\n\n return WHOLE_DOCUMENT ? doc.documentElement : body;\n };\n\n /**\n * _createIterator\n *\n * @param {Document} root document/fragment to create iterator for\n * @return {Iterator} iterator instance\n */\n var _createIterator = function _createIterator(root) {\n return createNodeIterator.call(root.ownerDocument || root, root, NodeFilter.SHOW_ELEMENT | NodeFilter.SHOW_COMMENT | NodeFilter.SHOW_TEXT, null, false);\n };\n\n /**\n * _isClobbered\n *\n * @param {Node} elm element to check for clobbering attacks\n * @return {Boolean} true if clobbered, false if safe\n */\n var _isClobbered = function _isClobbered(elm) {\n if (elm instanceof Text || elm instanceof Comment) {\n return false;\n }\n\n if (typeof elm.nodeName !== 'string' || typeof elm.textContent !== 'string' || typeof elm.removeChild !== 'function' || !(elm.attributes instanceof NamedNodeMap) || typeof elm.removeAttribute !== 'function' || typeof elm.setAttribute !== 'function' || typeof elm.namespaceURI !== 'string' || typeof elm.insertBefore !== 'function') {\n return true;\n }\n\n return false;\n };\n\n /**\n * _isNode\n *\n * @param {Node} obj object to check whether it's a DOM node\n * @return {Boolean} true is object is a DOM node\n */\n var _isNode = function _isNode(object) {\n return (typeof Node === 'undefined' ? 'undefined' : _typeof(Node)) === 'object' ? object instanceof Node : object && (typeof object === 'undefined' ? 'undefined' : _typeof(object)) === 'object' && typeof object.nodeType === 'number' && typeof object.nodeName === 'string';\n };\n\n /**\n * _executeHook\n * Execute user configurable hooks\n *\n * @param {String} entryPoint Name of the hook's entry point\n * @param {Node} currentNode node to work on with the hook\n * @param {Object} data additional hook parameters\n */\n var _executeHook = function _executeHook(entryPoint, currentNode, data) {\n if (!hooks[entryPoint]) {\n return;\n }\n\n arrayForEach(hooks[entryPoint], function (hook) {\n hook.call(DOMPurify, currentNode, data, CONFIG);\n });\n };\n\n /**\n * _sanitizeElements\n *\n * @protect nodeName\n * @protect textContent\n * @protect removeChild\n *\n * @param {Node} currentNode to check for permission to exist\n * @return {Boolean} true if node was killed, false if left alive\n */\n var _sanitizeElements = function _sanitizeElements(currentNode) {\n var content = void 0;\n\n /* Execute a hook if present */\n _executeHook('beforeSanitizeElements', currentNode, null);\n\n /* Check if element is clobbered or can clobber */\n if (_isClobbered(currentNode)) {\n _forceRemove(currentNode);\n return true;\n }\n\n /* Check if tagname contains Unicode */\n if (stringMatch(currentNode.nodeName, /[\\u0080-\\uFFFF]/)) {\n _forceRemove(currentNode);\n return true;\n }\n\n /* Now let's check the element's type and name */\n var tagName = stringToLowerCase(currentNode.nodeName);\n\n /* Execute a hook if present */\n _executeHook('uponSanitizeElement', currentNode, {\n tagName: tagName,\n allowedTags: ALLOWED_TAGS\n });\n\n /* Detect mXSS attempts abusing namespace confusion */\n if (!_isNode(currentNode.firstElementChild) && (!_isNode(currentNode.content) || !_isNode(currentNode.content.firstElementChild)) && regExpTest(/<[/\\w]/g, currentNode.innerHTML) && regExpTest(/<[/\\w]/g, currentNode.textContent)) {\n _forceRemove(currentNode);\n return true;\n }\n\n /* Remove element if anything forbids its presence */\n if (!ALLOWED_TAGS[tagName] || FORBID_TAGS[tagName]) {\n /* Keep content except for bad-listed elements */\n if (KEEP_CONTENT && !FORBID_CONTENTS[tagName]) {\n var parentNode = getParentNode(currentNode) || currentNode.parentNode;\n var childNodes = getChildNodes(currentNode) || currentNode.childNodes;\n\n if (childNodes && parentNode) {\n var childCount = childNodes.length;\n\n for (var i = childCount - 1; i >= 0; --i) {\n parentNode.insertBefore(cloneNode(childNodes[i], true), getNextSibling(currentNode));\n }\n }\n }\n\n _forceRemove(currentNode);\n return true;\n }\n\n /* Check whether element has a valid namespace */\n if (currentNode instanceof Element && !_checkValidNamespace(currentNode)) {\n _forceRemove(currentNode);\n return true;\n }\n\n if ((tagName === 'noscript' || tagName === 'noembed') && regExpTest(/<\\/no(script|embed)/i, currentNode.innerHTML)) {\n _forceRemove(currentNode);\n return true;\n }\n\n /* Sanitize element content to be template-safe */\n if (SAFE_FOR_TEMPLATES && currentNode.nodeType === 3) {\n /* Get the element's text content */\n content = currentNode.textContent;\n content = stringReplace(content, MUSTACHE_EXPR$$1, ' ');\n content = stringReplace(content, ERB_EXPR$$1, ' ');\n if (currentNode.textContent !== content) {\n arrayPush(DOMPurify.removed, { element: currentNode.cloneNode() });\n currentNode.textContent = content;\n }\n }\n\n /* Execute a hook if present */\n _executeHook('afterSanitizeElements', currentNode, null);\n\n return false;\n };\n\n /**\n * _isValidAttribute\n *\n * @param {string} lcTag Lowercase tag name of containing element.\n * @param {string} lcName Lowercase attribute name.\n * @param {string} value Attribute value.\n * @return {Boolean} Returns true if `value` is valid, otherwise false.\n */\n // eslint-disable-next-line complexity\n var _isValidAttribute = function _isValidAttribute(lcTag, lcName, value) {\n /* Make sure attribute cannot clobber */\n if (SANITIZE_DOM && (lcName === 'id' || lcName === 'name') && (value in document || value in formElement)) {\n return false;\n }\n\n /* Allow valid data-* attributes: At least one character after \"-\"\n (https://html.spec.whatwg.org/multipage/dom.html#embedding-custom-non-visible-data-with-the-data-*-attributes)\n XML-compatible (https://html.spec.whatwg.org/multipage/infrastructure.html#xml-compatible and http://www.w3.org/TR/xml/#d0e804)\n We don't need to check the value; it's always URI safe. */\n if (ALLOW_DATA_ATTR && !FORBID_ATTR[lcName] && regExpTest(DATA_ATTR$$1, lcName)) ; else if (ALLOW_ARIA_ATTR && regExpTest(ARIA_ATTR$$1, lcName)) ; else if (!ALLOWED_ATTR[lcName] || FORBID_ATTR[lcName]) {\n return false;\n\n /* Check value is safe. First, is attr inert? If so, is safe */\n } else if (URI_SAFE_ATTRIBUTES[lcName]) ; else if (regExpTest(IS_ALLOWED_URI$$1, stringReplace(value, ATTR_WHITESPACE$$1, ''))) ; else if ((lcName === 'src' || lcName === 'xlink:href' || lcName === 'href') && lcTag !== 'script' && stringIndexOf(value, 'data:') === 0 && DATA_URI_TAGS[lcTag]) ; else if (ALLOW_UNKNOWN_PROTOCOLS && !regExpTest(IS_SCRIPT_OR_DATA$$1, stringReplace(value, ATTR_WHITESPACE$$1, ''))) ; else if (!value) ; else {\n return false;\n }\n\n return true;\n };\n\n /**\n * _sanitizeAttributes\n *\n * @protect attributes\n * @protect nodeName\n * @protect removeAttribute\n * @protect setAttribute\n *\n * @param {Node} currentNode to sanitize\n */\n var _sanitizeAttributes = function _sanitizeAttributes(currentNode) {\n var attr = void 0;\n var value = void 0;\n var lcName = void 0;\n var l = void 0;\n /* Execute a hook if present */\n _executeHook('beforeSanitizeAttributes', currentNode, null);\n\n var attributes = currentNode.attributes;\n\n /* Check if we have attributes; if not we might have a text node */\n\n if (!attributes) {\n return;\n }\n\n var hookEvent = {\n attrName: '',\n attrValue: '',\n keepAttr: true,\n allowedAttributes: ALLOWED_ATTR\n };\n l = attributes.length;\n\n /* Go backwards over all attributes; safely remove bad ones */\n while (l--) {\n attr = attributes[l];\n var _attr = attr,\n name = _attr.name,\n namespaceURI = _attr.namespaceURI;\n\n value = stringTrim(attr.value);\n lcName = stringToLowerCase(name);\n\n /* Execute a hook if present */\n hookEvent.attrName = lcName;\n hookEvent.attrValue = value;\n hookEvent.keepAttr = true;\n hookEvent.forceKeepAttr = undefined; // Allows developers to see this is a property they can set\n _executeHook('uponSanitizeAttribute', currentNode, hookEvent);\n value = hookEvent.attrValue;\n /* Did the hooks approve of the attribute? */\n if (hookEvent.forceKeepAttr) {\n continue;\n }\n\n /* Remove attribute */\n _removeAttribute(name, currentNode);\n\n /* Did the hooks approve of the attribute? */\n if (!hookEvent.keepAttr) {\n continue;\n }\n\n /* Work around a security issue in jQuery 3.0 */\n if (regExpTest(/\\/>/i, value)) {\n _removeAttribute(name, currentNode);\n continue;\n }\n\n /* Sanitize attribute content to be template-safe */\n if (SAFE_FOR_TEMPLATES) {\n value = stringReplace(value, MUSTACHE_EXPR$$1, ' ');\n value = stringReplace(value, ERB_EXPR$$1, ' ');\n }\n\n /* Is `value` valid for this attribute? */\n var lcTag = currentNode.nodeName.toLowerCase();\n if (!_isValidAttribute(lcTag, lcName, value)) {\n continue;\n }\n\n /* Handle invalid data-* attribute set by try-catching it */\n try {\n if (namespaceURI) {\n currentNode.setAttributeNS(namespaceURI, name, value);\n } else {\n /* Fallback to setAttribute() for browser-unrecognized namespaces e.g. \"x-schema\". */\n currentNode.setAttribute(name, value);\n }\n\n arrayPop(DOMPurify.removed);\n } catch (_) {}\n }\n\n /* Execute a hook if present */\n _executeHook('afterSanitizeAttributes', currentNode, null);\n };\n\n /**\n * _sanitizeShadowDOM\n *\n * @param {DocumentFragment} fragment to iterate over recursively\n */\n var _sanitizeShadowDOM = function _sanitizeShadowDOM(fragment) {\n var shadowNode = void 0;\n var shadowIterator = _createIterator(fragment);\n\n /* Execute a hook if present */\n _executeHook('beforeSanitizeShadowDOM', fragment, null);\n\n while (shadowNode = shadowIterator.nextNode()) {\n /* Execute a hook if present */\n _executeHook('uponSanitizeShadowNode', shadowNode, null);\n\n /* Sanitize tags and elements */\n if (_sanitizeElements(shadowNode)) {\n continue;\n }\n\n /* Deep shadow DOM detected */\n if (shadowNode.content instanceof DocumentFragment) {\n _sanitizeShadowDOM(shadowNode.content);\n }\n\n /* Check attributes, sanitize if necessary */\n _sanitizeAttributes(shadowNode);\n }\n\n /* Execute a hook if present */\n _executeHook('afterSanitizeShadowDOM', fragment, null);\n };\n\n /**\n * Sanitize\n * Public method providing core sanitation functionality\n *\n * @param {String|Node} dirty string or DOM node\n * @param {Object} configuration object\n */\n // eslint-disable-next-line complexity\n DOMPurify.sanitize = function (dirty, cfg) {\n var body = void 0;\n var importedNode = void 0;\n var currentNode = void 0;\n var oldNode = void 0;\n var returnNode = void 0;\n /* Make sure we have a string to sanitize.\n DO NOT return early, as this will return the wrong type if\n the user has requested a DOM object rather than a string */\n IS_EMPTY_INPUT = !dirty;\n if (IS_EMPTY_INPUT) {\n dirty = '';\n }\n\n /* Stringify, in case dirty is an object */\n if (typeof dirty !== 'string' && !_isNode(dirty)) {\n // eslint-disable-next-line no-negated-condition\n if (typeof dirty.toString !== 'function') {\n throw typeErrorCreate('toString is not a function');\n } else {\n dirty = dirty.toString();\n if (typeof dirty !== 'string') {\n throw typeErrorCreate('dirty is not a string, aborting');\n }\n }\n }\n\n /* Check we can run. Otherwise fall back or ignore */\n if (!DOMPurify.isSupported) {\n if (_typeof(window.toStaticHTML) === 'object' || typeof window.toStaticHTML === 'function') {\n if (typeof dirty === 'string') {\n return window.toStaticHTML(dirty);\n }\n\n if (_isNode(dirty)) {\n return window.toStaticHTML(dirty.outerHTML);\n }\n }\n\n return dirty;\n }\n\n /* Assign config vars */\n if (!SET_CONFIG) {\n _parseConfig(cfg);\n }\n\n /* Clean up removed elements */\n DOMPurify.removed = [];\n\n /* Check if dirty is correctly typed for IN_PLACE */\n if (typeof dirty === 'string') {\n IN_PLACE = false;\n }\n\n if (IN_PLACE) ; else if (dirty instanceof Node) {\n /* If dirty is a DOM element, append to an empty document to avoid\n elements being stripped by the parser */\n body = _initDocument('');\n importedNode = body.ownerDocument.importNode(dirty, true);\n if (importedNode.nodeType === 1 && importedNode.nodeName === 'BODY') {\n /* Node is already a body, use as is */\n body = importedNode;\n } else if (importedNode.nodeName === 'HTML') {\n body = importedNode;\n } else {\n // eslint-disable-next-line unicorn/prefer-dom-node-append\n body.appendChild(importedNode);\n }\n } else {\n /* Exit directly if we have nothing to do */\n if (!RETURN_DOM && !SAFE_FOR_TEMPLATES && !WHOLE_DOCUMENT &&\n // eslint-disable-next-line unicorn/prefer-includes\n dirty.indexOf('<') === -1) {\n return trustedTypesPolicy && RETURN_TRUSTED_TYPE ? trustedTypesPolicy.createHTML(dirty) : dirty;\n }\n\n /* Initialize the document to work on */\n body = _initDocument(dirty);\n\n /* Check we have a DOM node from the data */\n if (!body) {\n return RETURN_DOM ? null : emptyHTML;\n }\n }\n\n /* Remove first element node (ours) if FORCE_BODY is set */\n if (body && FORCE_BODY) {\n _forceRemove(body.firstChild);\n }\n\n /* Get node iterator */\n var nodeIterator = _createIterator(IN_PLACE ? dirty : body);\n\n /* Now start iterating over the created document */\n while (currentNode = nodeIterator.nextNode()) {\n /* Fix IE's strange behavior with manipulated textNodes #89 */\n if (currentNode.nodeType === 3 && currentNode === oldNode) {\n continue;\n }\n\n /* Sanitize tags and elements */\n if (_sanitizeElements(currentNode)) {\n continue;\n }\n\n /* Shadow DOM detected, sanitize it */\n if (currentNode.content instanceof DocumentFragment) {\n _sanitizeShadowDOM(currentNode.content);\n }\n\n /* Check attributes, sanitize if necessary */\n _sanitizeAttributes(currentNode);\n\n oldNode = currentNode;\n }\n\n oldNode = null;\n\n /* If we sanitized `dirty` in-place, return it. */\n if (IN_PLACE) {\n return dirty;\n }\n\n /* Return sanitized string or DOM */\n if (RETURN_DOM) {\n if (RETURN_DOM_FRAGMENT) {\n returnNode = createDocumentFragment.call(body.ownerDocument);\n\n while (body.firstChild) {\n // eslint-disable-next-line unicorn/prefer-dom-node-append\n returnNode.appendChild(body.firstChild);\n }\n } else {\n returnNode = body;\n }\n\n if (RETURN_DOM_IMPORT) {\n /*\n AdoptNode() is not used because internal state is not reset\n (e.g. the past names map of a HTMLFormElement), this is safe\n in theory but we would rather not risk another attack vector.\n The state that is cloned by importNode() is explicitly defined\n by the specs.\n */\n returnNode = importNode.call(originalDocument, returnNode, true);\n }\n\n return returnNode;\n }\n\n var serializedHTML = WHOLE_DOCUMENT ? body.outerHTML : body.innerHTML;\n\n /* Sanitize final string template-safe */\n if (SAFE_FOR_TEMPLATES) {\n serializedHTML = stringReplace(serializedHTML, MUSTACHE_EXPR$$1, ' ');\n serializedHTML = stringReplace(serializedHTML, ERB_EXPR$$1, ' ');\n }\n\n return trustedTypesPolicy && RETURN_TRUSTED_TYPE ? trustedTypesPolicy.createHTML(serializedHTML) : serializedHTML;\n };\n\n /**\n * Public method to set the configuration once\n * setConfig\n *\n * @param {Object} cfg configuration object\n */\n DOMPurify.setConfig = function (cfg) {\n _parseConfig(cfg);\n SET_CONFIG = true;\n };\n\n /**\n * Public method to remove the configuration\n * clearConfig\n *\n */\n DOMPurify.clearConfig = function () {\n CONFIG = null;\n SET_CONFIG = false;\n };\n\n /**\n * Public method to check if an attribute value is valid.\n * Uses last set config, if any. Otherwise, uses config defaults.\n * isValidAttribute\n *\n * @param {string} tag Tag name of containing element.\n * @param {string} attr Attribute name.\n * @param {string} value Attribute value.\n * @return {Boolean} Returns true if `value` is valid. Otherwise, returns false.\n */\n DOMPurify.isValidAttribute = function (tag, attr, value) {\n /* Initialize shared config vars if necessary. */\n if (!CONFIG) {\n _parseConfig({});\n }\n\n var lcTag = stringToLowerCase(tag);\n var lcName = stringToLowerCase(attr);\n return _isValidAttribute(lcTag, lcName, value);\n };\n\n /**\n * AddHook\n * Public method to add DOMPurify hooks\n *\n * @param {String} entryPoint entry point for the hook to add\n * @param {Function} hookFunction function to execute\n */\n DOMPurify.addHook = function (entryPoint, hookFunction) {\n if (typeof hookFunction !== 'function') {\n return;\n }\n\n hooks[entryPoint] = hooks[entryPoint] || [];\n arrayPush(hooks[entryPoint], hookFunction);\n };\n\n /**\n * RemoveHook\n * Public method to remove a DOMPurify hook at a given entryPoint\n * (pops it from the stack of hooks if more are present)\n *\n * @param {String} entryPoint entry point for the hook to remove\n */\n DOMPurify.removeHook = function (entryPoint) {\n if (hooks[entryPoint]) {\n arrayPop(hooks[entryPoint]);\n }\n };\n\n /**\n * RemoveHooks\n * Public method to remove all DOMPurify hooks at a given entryPoint\n *\n * @param {String} entryPoint entry point for the hooks to remove\n */\n DOMPurify.removeHooks = function (entryPoint) {\n if (hooks[entryPoint]) {\n hooks[entryPoint] = [];\n }\n };\n\n /**\n * RemoveAllHooks\n * Public method to remove all DOMPurify hooks\n *\n */\n DOMPurify.removeAllHooks = function () {\n hooks = {};\n };\n\n return DOMPurify;\n}\n\nvar purify = createDOMPurify();\n\nexport default purify;\n//# sourceMappingURL=purify.es.js.map\n","/*\nCopyright 2021 The Matrix.org Foundation C.I.C.\n\nLicensed under the Apache License, Version 2.0 (the \"License\");\nyou may not use this file except in compliance with the License.\nYou may obtain a copy of the License at\n\n http://www.apache.org/licenses/LICENSE-2.0\n\nUnless required by applicable law or agreed to in writing, software\ndistributed under the License is distributed on an \"AS IS\" BASIS,\nWITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\nSee the License for the specific language governing permissions and\nlimitations under the License.\n*/\n\nimport DOMPurify from \"dompurify\"\n\nclass HTMLParseResult {\n constructor(bodyNode) {\n this._bodyNode = bodyNode;\n }\n\n get rootNodes() {\n return Array.from(this._bodyNode.childNodes);\n }\n \n getChildNodes(node) {\n return Array.from(node.childNodes);\n }\n\n getAttributeNames(node) {\n return Array.from(node.getAttributeNames());\n }\n\n getAttributeValue(node, attr) {\n return node.getAttribute(attr);\n }\n\n isTextNode(node) { \n return node.nodeType === Node.TEXT_NODE;\n }\n\n getNodeText(node) {\n return node.textContent;\n }\n\n isElementNode(node) {\n return node.nodeType === Node.ELEMENT_NODE;\n }\n\n getNodeElementName(node) {\n return node.tagName;\n }\n}\n\nconst sanitizeConfig = {\n ALLOWED_URI_REGEXP: /^(?:(?:(?:f|ht)tps?|mailto|tel|callto|cid|xmpp|xxx|mxc):|[^a-z]|[a-z+.-]+(?:[^a-z+.-:]|$))/i,\n FORBID_TAGS: ['mx-reply'],\n KEEP_CONTENT: false,\n}\n\nexport function parseHTML(html) {\n // If DOMPurify uses DOMParser, can't we just get the built tree from it\n // instead of re-parsing?\n const sanitized = DOMPurify.sanitize(html, sanitizeConfig);\n const bodyNode = new DOMParser().parseFromString(`${sanitized}`, \"text/html\").body;\n return new HTMLParseResult(bodyNode);\n}\n","/*\nCopyright 2020 The Matrix.org Foundation C.I.C.\n\nLicensed under the Apache License, Version 2.0 (the \"License\");\nyou may not use this file except in compliance with the License.\nYou may obtain a copy of the License at\n\n http://www.apache.org/licenses/LICENSE-2.0\n\nUnless required by applicable law or agreed to in writing, software\ndistributed under the License is distributed on an \"AS IS\" BASIS,\nWITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\nSee the License for the specific language governing permissions and\nlimitations under the License.\n*/\n\nexport type NormalVariant = {\n id: string;\n cssLocation: string;\n variables?: any;\n};\n\nexport type Variant = NormalVariant & {\n variantName: string;\n};\n\nexport type DefaultVariant = {\n dark: Variant;\n light: Variant;\n default: Variant;\n}\n\nexport type ThemeInformation = NormalVariant | DefaultVariant; \n\nexport enum ColorSchemePreference {\n Dark,\n Light\n};\n","/*\nCopyright 2021 The Matrix.org Foundation C.I.C.\n\nLicensed under the Apache License, Version 2.0 (the \"License\");\nyou may not use this file except in compliance with the License.\nYou may obtain a copy of the License at\n\n http://www.apache.org/licenses/LICENSE-2.0\n\nUnless required by applicable law or agreed to in writing, software\ndistributed under the License is distributed on an \"AS IS\" BASIS,\nWITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\nSee the License for the specific language governing permissions and\nlimitations under the License.\n*/\n\nexport function getColoredSvgString(svgString, primaryColor, secondaryColor) {\n let coloredSVGCode = svgString.replaceAll(\"#ff00ff\", primaryColor);\n coloredSVGCode = coloredSVGCode.replaceAll(\"#00ffff\", secondaryColor);\n if (svgString === coloredSVGCode) {\n throw new Error(\"svg-colorizer made no color replacements! The input svg should only contain colors #ff00ff (primary, case-sensitive) and #00ffff (secondary, case-sensitive).\");\n }\n return coloredSVGCode;\n}\n","/*\nCopyright 2020 The Matrix.org Foundation C.I.C.\n\nLicensed under the Apache License, Version 2.0 (the \"License\");\nyou may not use this file except in compliance with the License.\nYou may obtain a copy of the License at\n\n http://www.apache.org/licenses/LICENSE-2.0\n\nUnless required by applicable law or agreed to in writing, software\ndistributed under the License is distributed on an \"AS IS\" BASIS,\nWITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\nSee the License for the specific language governing permissions and\nlimitations under the License.\n*/\nimport type {Platform} from \"../Platform.js\";\nimport {getColoredSvgString} from \"./shared/svg-colorizer.mjs\";\n\ntype ParsedStructure = {\n [variableName: string]: {\n svg: Promise<{ status: number; body: string }>;\n primary: string | null;\n secondary: string | null;\n };\n};\n\nexport class IconColorizer {\n private _iconVariables: Record;\n private _resolvedVariables: Record;\n private _manifestLocation: string;\n private _platform: Platform;\n\n constructor(platform: Platform, iconVariables: Record, resolvedVariables: Record, manifestLocation: string) {\n this._platform = platform;\n this._iconVariables = iconVariables;\n this._resolvedVariables = resolvedVariables;\n this._manifestLocation = manifestLocation;\n }\n\n async toVariables(): Promise> {\n const { parsedStructure, promises } = await this._fetchAndParseIcons();\n await Promise.all(promises);\n return this._produceColoredIconVariables(parsedStructure);\n }\n\n private async _fetchAndParseIcons(): Promise<{ parsedStructure: ParsedStructure, promises: any[] }> {\n const promises: any[] = [];\n const parsedStructure: ParsedStructure = {};\n for (const [variable, url] of Object.entries(this._iconVariables)) {\n const urlObject = new URL(`https://${url}`);\n const pathWithoutQueryParams = urlObject.hostname;\n const relativePath = new URL(pathWithoutQueryParams, new URL(this._manifestLocation, window.location.origin));\n const responsePromise = this._platform.request(relativePath, { method: \"GET\", format: \"text\", cache: true, }).response()\n promises.push(responsePromise);\n const searchParams = urlObject.searchParams;\n parsedStructure[variable] = {\n svg: responsePromise,\n primary: searchParams.get(\"primary\"),\n secondary: searchParams.get(\"secondary\")\n };\n }\n return { parsedStructure, promises };\n }\n\n private async _produceColoredIconVariables(parsedStructure: ParsedStructure): Promise> {\n let coloredVariables: Record = {};\n for (const [variable, { svg, primary, secondary }] of Object.entries(parsedStructure)) {\n const { body: svgCode } = await svg;\n if (!primary) {\n throw new Error(`Primary color variable ${primary} not in list of variables!`);\n }\n const primaryColor = this._resolvedVariables[primary], secondaryColor = this._resolvedVariables[secondary!];\n const coloredSvgCode = getColoredSvgString(svgCode, primaryColor, secondaryColor);\n const dataURI = `url('data:image/svg+xml;utf8,${encodeURIComponent(coloredSvgCode)}')`;\n coloredVariables[variable] = dataURI;\n }\n return coloredVariables;\n }\n}\n","module.exports=function(n){var t={};function r(e){if(t[e])return t[e].exports;var o=t[e]={i:e,l:!1,exports:{}};return n[e].call(o.exports,o,o.exports,r),o.l=!0,o.exports}return r.m=n,r.c=t,r.d=function(n,t,e){r.o(n,t)||Object.defineProperty(n,t,{enumerable:!0,get:e})},r.r=function(n){\"undefined\"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(n,Symbol.toStringTag,{value:\"Module\"}),Object.defineProperty(n,\"__esModule\",{value:!0})},r.t=function(n,t){if(1&t&&(n=r(n)),8&t)return n;if(4&t&&\"object\"==typeof n&&n&&n.__esModule)return n;var e=Object.create(null);if(r.r(e),Object.defineProperty(e,\"default\",{enumerable:!0,value:n}),2&t&&\"string\"!=typeof n)for(var o in n)r.d(e,o,function(t){return n[t]}.bind(null,o));return e},r.n=function(n){var t=n&&n.__esModule?function(){return n.default}:function(){return n};return r.d(t,\"a\",t),t},r.o=function(n,t){return Object.prototype.hasOwnProperty.call(n,t)},r.p=\"\",r(r.s=0)}([function(n,t,r){\"use strict\";function e(n){let t,r;const e={light:function(){return!a()},dark:a,lighten:d,darken:l,saturate:p,desaturate:function(n=0){return p(n*=-1)},increaseContrast:function(n=0){return b(n*=-1)},decreaseContrast:b,active:function(){return b(.123)},highlight:function(){return b(.1)},selected:function(){return b(.066)},text:function(){return r=s()?o(\"#333333\"):o(\"#FFFFFF\"),e},shadow:function(){return r=s()?o(\"#000000\"):o(\"#FFFFFF\"),e},hex:function(){const n=r;return r=t,\"#\"+n.map(n=>parseInt(n+\"\",10).toString(16).padStart(2,\"0\")).join(\"\")},rgb:function(){const n=r;return r=t,`rgb(${n.join()})`},rgba:function(n=1){const e=r;return r=t,`rgba(${e.join()}, ${n})`},setHex:c,setRgb:function(n=[0,0,0]){let[o,u,c]=n;return o=f(o,0,255),u=f(u,0,255),c=f(c,0,255),t=[o,u,c],r=[o,u,c],e}};function c(n=\"#000000\"){return t=o(n),r=t,e}function a(){const[n,e,o]=r;return r=t,(299*n+587*e+114*o)/1e3<128}function s(){const[n,t,e]=r;return(299*n+587*t+114*e)/1e3>=128}function l(n=0){return d(n*=-1)}function d(n=0){let[t,o,c]=i(r);return c=f(c+n,0,1),r=u([t,o,c]),e}function p(n=0){let[t,o,c]=i(r);return o=f(o+n,0,1),r=u([t,o,c]),e}function b(n=0){return s()?l(n):d(n)}return c(n),e}function o(n){if(\"string\"!=typeof n)throw new TypeError(\"Expected a string\");3===(n=n.replace(/^#/,\"\")).length&&(n=n[0]+n[0]+n[1]+n[1]+n[2]+n[2]);var t=parseInt(n,16);return[t>>16,t>>8&255,255&t]}function u(n){const[t,r,e]=n;let o,u,c;if(0===r)o=u=c=e;else{const n=function(n,t,r){return r<0&&(r+=1),r>1&&(r-=1),r<1/6?n+6*(t-n)*r:r<.5?t:r<2/3?n+(t-n)*(2/3-r)*6:n},i=e<.5?e*(1+r):e+r-e*r,a=2*e-i;o=f(n(a,i,t+1/3),0,1),u=f(n(a,i,t),0,1),c=f(n(a,i,t-1/3),0,1)}return[Math.round(255*o),Math.round(255*u),Math.round(255*c)]}r.r(t),r.d(t,\"offColor\",(function(){return e})),r.d(t,\"hexRgb\",(function(){return o})),r.d(t,\"hslToRgb\",(function(){return u})),r.d(t,\"color\",(function(){return c})),r.d(t,\"rgbToHsl\",(function(){return i}));const c=e;function i(n){const t=n[0]/255,r=n[1]/255,e=n[2]/255,o=Math.max(t,r,e),u=Math.min(t,r,e);let c=(o+u)/2,i=(o+u)/2;const f=(o+u)/2;if(o===u)c=i=0;else{const n=o-u;switch(i=f>.5?n/(2-o-u):n/(o+u),o){case t:c=(r-e)/n+(r=t?n:t}}]);","'use strict';\n\nif (process.env.NODE_ENV === 'production') {\n module.exports = require('./cjs/index.min.js');\n} else {\n module.exports = require('./cjs/index.js');\n}\n","/*\nCopyright 2021 The Matrix.org Foundation C.I.C.\n\nLicensed under the Apache License, Version 2.0 (the \"License\");\nyou may not use this file except in compliance with the License.\nYou may obtain a copy of the License at\n\n http://www.apache.org/licenses/LICENSE-2.0\n\nUnless required by applicable law or agreed to in writing, software\ndistributed under the License is distributed on an \"AS IS\" BASIS,\nWITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\nSee the License for the specific language governing permissions and\nlimitations under the License.\n*/\nimport * as pkg from 'off-color';\nconst offColor = pkg.offColor ?? pkg.default.offColor;\n\nexport function derive(value, operation, argument, isDark) {\n const argumentAsNumber = parseInt(argument);\n if (isDark) {\n // For dark themes, invert the operation\n if (operation === 'darker') {\n operation = \"lighter\";\n }\n else if (operation === 'lighter') {\n operation = \"darker\";\n }\n }\n switch (operation) {\n case \"darker\": {\n const newColorString = offColor(value).darken(argumentAsNumber / 100).hex();\n return newColorString;\n }\n case \"lighter\": {\n const newColorString = offColor(value).lighten(argumentAsNumber / 100).hex();\n return newColorString;\n }\n }\n}\n","/*\nCopyright 2020 The Matrix.org Foundation C.I.C.\n \nLicensed under the Apache License, Version 2.0 (the \"License\");\nyou may not use this file except in compliance with the License.\nYou may obtain a copy of the License at\n\n http://www.apache.org/licenses/LICENSE-2.0\n\nUnless required by applicable law or agreed to in writing, software\ndistributed under the License is distributed on an \"AS IS\" BASIS,\nWITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\nSee the License for the specific language governing permissions and\nlimitations under the License.\n*/\nimport {derive} from \"./shared/color.mjs\";\n\nexport class DerivedVariables {\n private _baseVariables: Record;\n private _variablesToDerive: string[]\n private _isDark: boolean\n private _aliases: Record = {};\n private _derivedAliases: string[] = [];\n\n constructor(baseVariables: Record, variablesToDerive: string[], isDark: boolean) {\n this._baseVariables = baseVariables;\n this._variablesToDerive = variablesToDerive;\n this._isDark = isDark;\n }\n\n toVariables(): Record {\n const resolvedVariables: any = {};\n this._detectAliases();\n for (const variable of this._variablesToDerive) {\n const resolvedValue = this._derive(variable);\n if (resolvedValue) {\n resolvedVariables[variable] = resolvedValue;\n }\n }\n for (const [alias, variable] of Object.entries(this._aliases) as any) {\n resolvedVariables[alias] = this._baseVariables[variable] ?? resolvedVariables[variable];\n }\n for (const variable of this._derivedAliases) {\n const resolvedValue = this._deriveAlias(variable, resolvedVariables);\n if (resolvedValue) {\n resolvedVariables[variable] = resolvedValue;\n }\n }\n return resolvedVariables;\n }\n\n private _detectAliases(): void {\n const newVariablesToDerive: string[] = [];\n for (const variable of this._variablesToDerive) {\n const [alias, value] = variable.split(\"=\");\n if (value) {\n this._aliases[alias] = value;\n }\n else {\n newVariablesToDerive.push(variable);\n }\n }\n this._variablesToDerive = newVariablesToDerive;\n }\n\n private _derive(variable: string): string | undefined {\n const RE_VARIABLE_VALUE = /(.+)--(.+)-(.+)/;\n const matches = variable.match(RE_VARIABLE_VALUE);\n if (matches) {\n const [, baseVariable, operation, argument] = matches;\n const value = this._baseVariables[baseVariable];\n if (!value ) {\n if (this._aliases[baseVariable]) {\n this._derivedAliases.push(variable);\n return;\n }\n else {\n throw new Error(`Cannot find value for base variable \"${baseVariable}\"!`);\n }\n }\n const resolvedValue = derive(value, operation, argument, this._isDark);\n return resolvedValue;\n }\n }\n\n private _deriveAlias(variable: string, resolvedVariables: Record): string | undefined {\n const RE_VARIABLE_VALUE = /(.+)--(.+)-(.+)/;\n const matches = variable.match(RE_VARIABLE_VALUE);\n if (matches) {\n const [, baseVariable, operation, argument] = matches;\n const value = resolvedVariables[baseVariable];\n if (!value ) {\n throw new Error(`Cannot find value for alias \"${baseVariable}\" when trying to derive ${variable}!`);\n }\n const resolvedValue = derive(value, operation, argument, this._isDark);\n return resolvedValue;\n }\n }\n}\n\nimport * as pkg from \"off-color\";\n// @ts-ignore \nconst offColor = pkg.offColor ?? pkg.default.offColor;\n\nexport function tests() {\n return {\n \"Simple variable derivation\": assert => {\n const deriver = new DerivedVariables({ \"background-color\": \"#ff00ff\" }, [\"background-color--darker-5\"], false);\n const result = deriver.toVariables();\n const resultColor = offColor(\"#ff00ff\").darken(5/100).hex();\n assert.deepEqual(result, {\"background-color--darker-5\": resultColor});\n },\n\n \"For dark themes, lighten and darken are inverted\": assert => {\n const deriver = new DerivedVariables({ \"background-color\": \"#ff00ff\" }, [\"background-color--darker-5\"], true);\n const result = deriver.toVariables();\n const resultColor = offColor(\"#ff00ff\").lighten(5/100).hex();\n assert.deepEqual(result, {\"background-color--darker-5\": resultColor});\n },\n\n \"Aliases can be derived\": assert => {\n const deriver = new DerivedVariables({ \"background-color\": \"#ff00ff\" }, [\"my-awesome-alias=background-color\",\"my-awesome-alias--darker-5\"], false);\n const result = deriver.toVariables();\n const resultColor = offColor(\"#ff00ff\").darken(5/100).hex();\n assert.deepEqual(result, {\n \"my-awesome-alias\": \"#ff00ff\",\n \"my-awesome-alias--darker-5\": resultColor,\n });\n },\n }\n}\n","/*\nCopyright 2020 The Matrix.org Foundation C.I.C.\n\nLicensed under the Apache License, Version 2.0 (the \"License\");\nyou may not use this file except in compliance with the License.\nYou may obtain a copy of the License at\n\n http://www.apache.org/licenses/LICENSE-2.0\n\nUnless required by applicable law or agreed to in writing, software\ndistributed under the License is distributed on an \"AS IS\" BASIS,\nWITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\nSee the License for the specific language governing permissions and\nlimitations under the License.\n*/\nimport type {ThemeInformation} from \"./types\";\nimport type {Platform} from \"../../Platform.js\";\nimport type {ThemeManifest} from \"../../../types/theme\";\nimport {ColorSchemePreference} from \"./types\";\nimport {IconColorizer} from \"../IconColorizer\";\nimport {DerivedVariables} from \"../DerivedVariables\";\nimport {ILogItem} from \"../../../../logging/types\";\n\nexport class RuntimeThemeParser {\n private _themeMapping: Record = {};\n private _preferredColorScheme?: ColorSchemePreference;\n private _platform: Platform;\n\n constructor(platform: Platform, preferredColorScheme?: ColorSchemePreference) {\n this._preferredColorScheme = preferredColorScheme;\n this._platform = platform;\n }\n\n async parse(manifest: ThemeManifest, baseManifest: ThemeManifest, baseManifestLocation: string, log: ILogItem): Promise {\n await log.wrap(\"RuntimeThemeParser.parse\", async () => {\n const {cssLocation, derivedVariables, icons} = this._getSourceData(baseManifest, baseManifestLocation, log);\n const themeName = manifest.name;\n if (!themeName) {\n throw new Error(`Theme name not found in manifest!`);\n }\n let defaultDarkVariant: any = {}, defaultLightVariant: any = {};\n for (const [variant, variantDetails] of Object.entries(manifest.values?.variants!) as [string, any][]) {\n try {\n const themeId = `${manifest.id}-${variant}`;\n const { name: variantName, default: isDefault, dark, variables } = variantDetails;\n const resolvedVariables = new DerivedVariables(variables, derivedVariables, dark).toVariables();\n Object.assign(variables, resolvedVariables);\n const iconVariables = await new IconColorizer(this._platform, icons, variables, baseManifestLocation).toVariables();\n Object.assign(variables, resolvedVariables, iconVariables);\n const themeDisplayName = `${themeName} ${variantName}`;\n if (isDefault) {\n const defaultVariant = dark ? defaultDarkVariant : defaultLightVariant;\n Object.assign(defaultVariant, { variantName, id: themeId, cssLocation, variables });\n continue;\n }\n this._themeMapping[themeDisplayName] = { cssLocation, id: themeId, variables: variables, };\n }\n catch (e) {\n console.error(e);\n continue;\n }\n }\n if (defaultDarkVariant.id && defaultLightVariant.id) {\n const defaultVariant = this._preferredColorScheme === ColorSchemePreference.Dark ? defaultDarkVariant : defaultLightVariant;\n this._themeMapping[themeName] = { dark: defaultDarkVariant, light: defaultLightVariant, default: defaultVariant };\n }\n else {\n const variant = defaultDarkVariant.id ? defaultDarkVariant : defaultLightVariant;\n this._themeMapping[`${themeName} ${variant.variantName}`] = { id: variant.id, cssLocation: variant.cssLocation };\n }\n });\n }\n\n private _getSourceData(manifest: ThemeManifest, location: string, log: ILogItem)\n : { cssLocation: string, derivedVariables: string[], icons: Record} {\n return log.wrap(\"getSourceData\", () => {\n const runtimeCSSLocation = manifest.source?.[\"runtime-asset\"];\n if (!runtimeCSSLocation) {\n throw new Error(`Run-time asset not found in source section for theme at ${location}`);\n }\n const cssLocation = new URL(runtimeCSSLocation, new URL(location, window.location.origin)).href;\n const derivedVariables = manifest.source?.[\"derived-variables\"];\n if (!derivedVariables) {\n throw new Error(`Derived variables not found in source section for theme at ${location}`);\n }\n const icons = manifest.source?.[\"icon\"];\n if (!icons) {\n throw new Error(`Icon mapping not found in source section for theme at ${location}`);\n }\n return { cssLocation, derivedVariables, icons };\n });\n }\n\n get themeMapping(): Record {\n return this._themeMapping;\n }\n\n}\n","/*\nCopyright 2020 The Matrix.org Foundation C.I.C.\n\nLicensed under the Apache License, Version 2.0 (the \"License\");\nyou may not use this file except in compliance with the License.\nYou may obtain a copy of the License at\n\n http://www.apache.org/licenses/LICENSE-2.0\n\nUnless required by applicable law or agreed to in writing, software\ndistributed under the License is distributed on an \"AS IS\" BASIS,\nWITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\nSee the License for the specific language governing permissions and\nlimitations under the License.\n*/\n\nimport type {ThemeInformation} from \"./types\";\nimport type {ThemeManifest} from \"../../../types/theme\";\nimport type {ILogItem} from \"../../../../logging/types\";\nimport {ColorSchemePreference} from \"./types\";\n\nexport class BuiltThemeParser {\n private _themeMapping: Record = {};\n private _preferredColorScheme?: ColorSchemePreference;\n\n constructor(preferredColorScheme?: ColorSchemePreference) {\n this._preferredColorScheme = preferredColorScheme;\n }\n\n parse(manifest: ThemeManifest, manifestLocation: string, log: ILogItem) {\n log.wrap(\"BuiltThemeParser.parse\", () => {\n /*\n After build has finished, the source section of each theme manifest\n contains `built-assets` which is a mapping from the theme-id to\n cssLocation of theme\n */\n const builtAssets: Record = manifest.source?.[\"built-assets\"];\n const themeName = manifest.name;\n if (!themeName) {\n throw new Error(`Theme name not found in manifest at ${manifestLocation}`);\n }\n let defaultDarkVariant: any = {}, defaultLightVariant: any = {};\n for (let [themeId, cssLocation] of Object.entries(builtAssets)) {\n try {\n /**\n * This cssLocation is relative to the location of the manifest file.\n * So we first need to resolve it relative to the root of this hydrogen instance.\n */\n cssLocation = new URL(cssLocation, new URL(manifestLocation, window.location.origin)).href;\n }\n catch {\n continue;\n }\n const variant = themeId.match(/.+-(.+)/)?.[1];\n const variantDetails = manifest.values?.variants[variant!];\n if (!variantDetails) {\n throw new Error(`Variant ${variant} is missing in manifest at ${manifestLocation}`);\n }\n const { name: variantName, default: isDefault, dark } = variantDetails;\n const themeDisplayName = `${themeName} ${variantName}`;\n if (isDefault) {\n /**\n * This is a default variant!\n * We'll add these to the themeMapping (separately) keyed with just the\n * theme-name (i.e \"Element\" instead of \"Element Dark\").\n * We need to be able to distinguish them from other variants!\n * \n * This allows us to render radio-buttons with \"dark\" and\n * \"light\" options.\n */\n const defaultVariant = dark ? defaultDarkVariant : defaultLightVariant;\n defaultVariant.variantName = variantName;\n defaultVariant.id = themeId\n defaultVariant.cssLocation = cssLocation;\n continue;\n }\n // Non-default variants are keyed in themeMapping with \"theme_name variant_name\"\n // eg: \"Element Dark\"\n this._themeMapping[themeDisplayName] = {\n cssLocation,\n id: themeId\n };\n }\n if (defaultDarkVariant.id && defaultLightVariant.id) {\n /**\n * As mentioned above, if there's both a default dark and a default light variant,\n * add them to themeMapping separately.\n */\n const defaultVariant = this._preferredColorScheme === ColorSchemePreference.Dark ? defaultDarkVariant : defaultLightVariant;\n this._themeMapping[themeName] = { dark: defaultDarkVariant, light: defaultLightVariant, default: defaultVariant };\n }\n else {\n /**\n * If only one default variant is found (i.e only dark default or light default but not both),\n * treat it like any other variant.\n */\n const variant = defaultDarkVariant.id ? defaultDarkVariant : defaultLightVariant;\n this._themeMapping[`${themeName} ${variant.variantName}`] = { id: variant.id, cssLocation: variant.cssLocation };\n }\n });\n }\n\n get themeMapping(): Record {\n return this._themeMapping;\n }\n}\n","/*\nCopyright 2020 The Matrix.org Foundation C.I.C.\n\nLicensed under the Apache License, Version 2.0 (the \"License\");\nyou may not use this file except in compliance with the License.\nYou may obtain a copy of the License at\n\n http://www.apache.org/licenses/LICENSE-2.0\n\nUnless required by applicable law or agreed to in writing, software\ndistributed under the License is distributed on an \"AS IS\" BASIS,\nWITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\nSee the License for the specific language governing permissions and\nlimitations under the License.\n*/\n\nimport type {ILogItem} from \"../../../logging/types\";\nimport type {Platform} from \"../Platform.js\";\nimport {RuntimeThemeParser} from \"./parsers/RuntimeThemeParser\";\nimport type {Variant, ThemeInformation} from \"./parsers/types\";\nimport {ColorSchemePreference} from \"./parsers/types\";\nimport {BuiltThemeParser} from \"./parsers/BuiltThemeParser\";\n\nexport class ThemeLoader {\n private _platform: Platform;\n private _themeMapping: Record;\n private _injectedVariables?: Record;\n\n constructor(platform: Platform) {\n this._platform = platform;\n }\n\n async init(manifestLocations: string[], log?: ILogItem): Promise {\n await this._platform.logger.wrapOrRun(log, \"ThemeLoader.init\", async (log) => {\n const results = await Promise.all(\n manifestLocations.map(location => this._platform.request(location, { method: \"GET\", format: \"json\", cache: true, }).response())\n );\n const runtimeThemeParser = new RuntimeThemeParser(this._platform, this.preferredColorScheme);\n const builtThemeParser = new BuiltThemeParser(this.preferredColorScheme);\n const runtimeThemePromises: Promise[] = [];\n for (let i = 0; i < results.length; ++i) {\n const { body } = results[i];\n try {\n if (body.extends) {\n const indexOfBaseManifest = results.findIndex(manifest => manifest.body.id === body.extends);\n if (indexOfBaseManifest === -1) {\n throw new Error(`Base manifest for derived theme at ${manifestLocations[i]} not found!`);\n }\n const {body: baseManifest} = results[indexOfBaseManifest];\n const baseManifestLocation = manifestLocations[indexOfBaseManifest];\n const promise = runtimeThemeParser.parse(body, baseManifest, baseManifestLocation, log);\n runtimeThemePromises.push(promise);\n }\n else {\n builtThemeParser.parse(body, manifestLocations[i], log);\n }\n }\n catch(e) {\n console.error(e);\n }\n }\n await Promise.all(runtimeThemePromises);\n this._themeMapping = { ...builtThemeParser.themeMapping, ...runtimeThemeParser.themeMapping };\n Object.assign(this._themeMapping, builtThemeParser.themeMapping, runtimeThemeParser.themeMapping);\n this._addDefaultThemeToMapping(log);\n log.log({ l: \"Preferred colorscheme\", scheme: this.preferredColorScheme === ColorSchemePreference.Dark ? \"dark\" : \"light\" });\n log.log({ l: \"Result\", themeMapping: this._themeMapping });\n });\n }\n\n setTheme(themeName: string, themeVariant?: \"light\" | \"dark\" | \"default\", log?: ILogItem) {\n this._platform.logger.wrapOrRun(log, { l: \"change theme\", name: themeName, variant: themeVariant }, () => {\n let cssLocation: string, variables: Record;\n let themeDetails = this._themeMapping[themeName];\n if (\"id\" in themeDetails) {\n cssLocation = themeDetails.cssLocation;\n variables = themeDetails.variables;\n }\n else {\n if (!themeVariant) {\n throw new Error(\"themeVariant is undefined!\");\n }\n cssLocation = themeDetails[themeVariant].cssLocation;\n variables = themeDetails[themeVariant].variables;\n }\n this._platform.replaceStylesheet(cssLocation);\n if (variables) {\n log?.log({l: \"Derived Theme\", variables});\n this._injectCSSVariables(variables);\n }\n else {\n this._removePreviousCSSVariables();\n }\n this._platform.settingsStorage.setString(\"theme-name\", themeName);\n if (themeVariant) {\n this._platform.settingsStorage.setString(\"theme-variant\", themeVariant);\n }\n else {\n this._platform.settingsStorage.remove(\"theme-variant\");\n }\n });\n }\n\n private _injectCSSVariables(variables: Record): void {\n const root = document.documentElement;\n for (const [variable, value] of Object.entries(variables)) {\n root.style.setProperty(`--${variable}`, value);\n }\n this._injectedVariables = variables;\n }\n\n private _removePreviousCSSVariables(): void {\n if (!this._injectedVariables) {\n return;\n }\n const root = document.documentElement;\n for (const variable of Object.keys(this._injectedVariables)) {\n root.style.removeProperty(`--${variable}`);\n }\n this._injectedVariables = undefined;\n }\n\n /** Maps theme display name to theme information */\n get themeMapping(): Record {\n return this._themeMapping;\n }\n\n async getActiveTheme(): Promise<{themeName: string, themeVariant?: string}> {\n let themeName = await this._platform.settingsStorage.getString(\"theme-name\");\n let themeVariant = await this._platform.settingsStorage.getString(\"theme-variant\");\n if (!themeName || !this._themeMapping[themeName]) {\n themeName = \"Default\" in this._themeMapping ? \"Default\" : Object.keys(this._themeMapping)[0];\n if (!this._themeMapping[themeName][themeVariant]) {\n themeVariant = \"default\" in this._themeMapping[themeName] ? \"default\" : undefined;\n }\n }\n return { themeName, themeVariant };\n }\n\n getDefaultTheme(): string | undefined {\n switch (this.preferredColorScheme) {\n case ColorSchemePreference.Dark:\n return this._platform.config[\"defaultTheme\"]?.dark;\n case ColorSchemePreference.Light:\n return this._platform.config[\"defaultTheme\"]?.light;\n }\n }\n\n private _findThemeDetailsFromId(themeId: string): {themeName: string, themeData: Partial} | undefined {\n for (const [themeName, themeData] of Object.entries(this._themeMapping)) {\n if (\"id\" in themeData && themeData.id === themeId) {\n return { themeName, themeData };\n }\n else if (\"light\" in themeData && themeData.light?.id === themeId) {\n return { themeName, themeData: themeData.light };\n }\n else if (\"dark\" in themeData && themeData.dark?.id === themeId) {\n return { themeName, themeData: themeData.dark };\n }\n }\n }\n\n private _addDefaultThemeToMapping(log: ILogItem) {\n log.wrap(\"addDefaultThemeToMapping\", l => { \n const defaultThemeId = this.getDefaultTheme();\n if (defaultThemeId) {\n const themeDetails = this._findThemeDetailsFromId(defaultThemeId);\n if (themeDetails) {\n this._themeMapping[\"Default\"] = { id: \"default\", cssLocation: themeDetails.themeData.cssLocation! };\n const variables = themeDetails.themeData.variables;\n if (variables) {\n this._themeMapping[\"Default\"].variables = variables;\n }\n }\n }\n l.log({ l: \"Default Theme\", theme: defaultThemeId});\n });\n }\n\n get preferredColorScheme(): ColorSchemePreference | undefined {\n if (window.matchMedia(\"(prefers-color-scheme: dark)\").matches) {\n return ColorSchemePreference.Dark;\n }\n else if (window.matchMedia(\"(prefers-color-scheme: light)\").matches) {\n return ColorSchemePreference.Light;\n }\n }\n}\n","/*\nCopyright 2020 The Matrix.org Foundation C.I.C.\n\nLicensed under the Apache License, Version 2.0 (the \"License\");\nyou may not use this file except in compliance with the License.\nYou may obtain a copy of the License at\n\n http://www.apache.org/licenses/LICENSE-2.0\n\nUnless required by applicable law or agreed to in writing, software\ndistributed under the License is distributed on an \"AS IS\" BASIS,\nWITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\nSee the License for the specific language governing permissions and\nlimitations under the License.\n*/\n\nimport {createFetchRequest} from \"./dom/request/fetch.js\";\nimport {xhrRequest} from \"./dom/request/xhr.js\";\nimport {StorageFactory} from \"../../matrix/storage/idb/StorageFactory\";\nimport {SessionInfoStorage} from \"../../matrix/sessioninfo/localstorage/SessionInfoStorage\";\nimport {SettingsStorage} from \"./dom/SettingsStorage.js\";\nimport {Encoding} from \"./utils/Encoding.js\";\nimport {OlmWorker} from \"../../matrix/e2ee/OlmWorker.js\";\nimport {IDBLogger} from \"../../logging/IDBLogger\";\nimport {ConsoleLogger} from \"../../logging/ConsoleLogger\";\nimport {RootView} from \"./ui/RootView.js\";\nimport {Clock} from \"./dom/Clock.js\";\nimport {ServiceWorkerHandler} from \"./dom/ServiceWorkerHandler.js\";\nimport {NotificationService} from \"./dom/NotificationService.js\";\nimport {History} from \"./dom/History.js\";\nimport {OnlineStatus} from \"./dom/OnlineStatus.js\";\nimport {Crypto} from \"./dom/Crypto.js\";\nimport {estimateStorageUsage} from \"./dom/StorageEstimate.js\";\nimport {WorkerPool} from \"./dom/WorkerPool.js\";\nimport {BlobHandle} from \"./dom/BlobHandle.js\";\nimport {hasReadPixelPermission, ImageHandle, VideoHandle} from \"./dom/ImageHandle.js\";\nimport {downloadInIframe} from \"./dom/download.js\";\nimport {Disposables} from \"../../utils/Disposables\";\nimport {parseHTML} from \"./parsehtml.js\";\nimport {handleAvatarError} from \"./ui/avatar\";\nimport {ThemeLoader} from \"./theming/ThemeLoader\";\n\nfunction addScript(src) {\n return new Promise(function (resolve, reject) {\n var s = document.createElement(\"script\");\n s.setAttribute(\"src\", src );\n s.onload=resolve;\n s.onerror=reject;\n document.body.appendChild(s);\n });\n}\n\nasync function loadOlm(olmPaths) {\n // make crypto.getRandomValues available without\n // a prefix on IE11, needed by olm to work\n if (window.msCrypto && !window.crypto) {\n window.crypto = window.msCrypto;\n }\n if (olmPaths) {\n if (window.WebAssembly) {\n await addScript(olmPaths.wasmBundle);\n await window.Olm.init({locateFile: () => olmPaths.wasm});\n } else {\n await addScript(olmPaths.legacyBundle);\n await window.Olm.init();\n }\n return window.Olm;\n }\n return null;\n}\n// turn asset path to absolute path if it isn't already\n// so it can be loaded independent of base\nfunction assetAbsPath(assetPath) {\n if (!assetPath.startsWith(\"/\")) {\n return new URL(assetPath, document.location.href).pathname;\n }\n return assetPath;\n}\n\nasync function loadOlmWorker(assetPaths) {\n const workerPool = new WorkerPool(assetPaths.worker, 4);\n await workerPool.init();\n await workerPool.sendAll({\n type: \"load_olm\",\n path: assetAbsPath(assetPaths.olm.legacyBundle)\n });\n const olmWorker = new OlmWorker(workerPool);\n return olmWorker;\n}\n\n// needed for mobile Safari which shifts the layout viewport up without resizing it\n// when the keyboard shows (see https://bugs.webkit.org/show_bug.cgi?id=141832)\nfunction adaptUIOnVisualViewportResize(container) {\n if (!window.visualViewport) {\n return;\n }\n const handler = () => {\n const sessionView = container.querySelector('.SessionView');\n if (!sessionView) {\n return;\n }\n\n const scrollable = container.querySelector('.bottom-aligned-scroll');\n let scrollTopBefore, heightBefore, heightAfter;\n\n if (scrollable) {\n scrollTopBefore = scrollable.scrollTop;\n heightBefore = scrollable.offsetHeight;\n }\n\n // Ideally we'd use window.visualViewport.offsetTop but that seems to occasionally lag\n // behind (last tested on iOS 14.4 simulator) so we have to compute the offset manually\n const offsetTop = sessionView.offsetTop + sessionView.offsetHeight - window.visualViewport.height;\n\n container.style.setProperty('--ios-viewport-height', window.visualViewport.height.toString() + 'px');\n container.style.setProperty('--ios-viewport-top', offsetTop.toString() + 'px');\n\n if (scrollable) {\n heightAfter = scrollable.offsetHeight;\n scrollable.scrollTop = scrollTopBefore + heightBefore - heightAfter;\n }\n };\n window.visualViewport.addEventListener('resize', handler);\n return () => {\n window.visualViewport.removeEventListener('resize', handler);\n };\n}\n\nexport class Platform {\n constructor({ container, assetPaths, config, configURL, options = null, cryptoExtras = null }) {\n this._container = container;\n this._assetPaths = assetPaths;\n this._config = config;\n this._configURL = configURL;\n this.settingsStorage = new SettingsStorage(\"hydrogen_setting_v1_\");\n this.clock = new Clock();\n this.encoding = new Encoding();\n this.random = Math.random;\n this._createLogger(options?.development);\n this.history = new History();\n this.onlineStatus = new OnlineStatus();\n this._serviceWorkerHandler = null;\n if (assetPaths.serviceWorker && \"serviceWorker\" in navigator) {\n this._serviceWorkerHandler = new ServiceWorkerHandler();\n this._serviceWorkerHandler.registerAndStart(assetPaths.serviceWorker);\n }\n this.notificationService = undefined;\n // Only try to use crypto when olm is provided\n if(this._assetPaths.olm) {\n this.crypto = new Crypto(cryptoExtras);\n }\n this.storageFactory = new StorageFactory(this._serviceWorkerHandler);\n this.sessionInfoStorage = new SessionInfoStorage(\"hydrogen_sessions_v1\");\n this.estimateStorageUsage = estimateStorageUsage;\n if (typeof fetch === \"function\") {\n this.request = createFetchRequest(this.clock.createTimeout, this._serviceWorkerHandler);\n } else {\n this.request = xhrRequest;\n }\n const isIE11 = !!window.MSInputMethodContext && !!document.documentMode;\n this.isIE11 = isIE11;\n // From https://stackoverflow.com/questions/9038625/detect-if-device-is-ios/9039885\n const isIOS = /iPad|iPhone|iPod/.test(navigator.platform) || (navigator.platform === 'MacIntel' && navigator.maxTouchPoints > 1) && !window.MSStream;\n this.isIOS = isIOS;\n this._disposables = new Disposables();\n this._olmPromise = undefined;\n this._workerPromise = undefined;\n this._themeLoader = import.meta.env.DEV? null: new ThemeLoader(this);\n }\n\n async init() {\n try {\n await this.logger.run(\"Platform init\", async (log) => {\n if (!this._config) {\n if (!this._configURL) {\n throw new Error(\"Neither config nor configURL was provided!\");\n }\n const {status, body}= await this.request(this._configURL, {method: \"GET\", format: \"json\", cache: true}).response();\n if (status === 404) {\n throw new Error(`Could not find ${this._configURL}. Did you copy over config.sample.json?`);\n } else if (status >= 400) {\n throw new Error(`Got status ${status} while trying to fetch ${this._configURL}`);\n }\n this._config = body;\n }\n this.notificationService = new NotificationService(\n this._serviceWorkerHandler,\n this._config.push\n );\n if (this._themeLoader) {\n const manifests = this.config[\"themeManifests\"];\n await this._themeLoader?.init(manifests, log);\n const { themeName, themeVariant } = await this._themeLoader.getActiveTheme();\n log.log({ l: \"Active theme\", name: themeName, variant: themeVariant });\n this._themeLoader.setTheme(themeName, themeVariant, log);\n }\n });\n } catch (err) {\n this._container.innerText = err.message;\n throw err;\n }\n }\n\n _createLogger(isDevelopment) {\n // Make sure that loginToken does not end up in the logs\n const transformer = (item) => {\n if (item.e?.stack) {\n item.e.stack = item.e.stack.replace(/\\/\\?loginToken=(.+)/, \"?loginToken=\");\n }\n return item;\n };\n if (isDevelopment) {\n this.logger = new ConsoleLogger({platform: this});\n } else {\n this.logger = new IDBLogger({name: \"hydrogen_logs\", platform: this, serializedTransformer: transformer});\n }\n }\n\n get updateService() {\n return this._serviceWorkerHandler;\n }\n\n loadOlm() {\n if (!this._olmPromise) {\n this._olmPromise = loadOlm(this._assetPaths.olm);\n }\n return this._olmPromise;\n }\n\n get config() {\n return this._config;\n }\n\n async loadOlmWorker() {\n if (!window.WebAssembly) {\n if (!this._workerPromise) {\n this._workerPromise = loadOlmWorker(this._assetPaths);\n }\n return this._workerPromise;\n }\n }\n\n createAndMountRootView(vm) {\n if (this.isIE11) {\n this._container.className += \" legacy\";\n }\n if (this.isIOS) {\n this._container.className += \" ios\";\n const disposable = adaptUIOnVisualViewportResize(this._container);\n if (disposable) {\n this._disposables.track(disposable);\n }\n }\n this._container.addEventListener(\"error\", handleAvatarError, true);\n this._disposables.track(() => this._container.removeEventListener(\"error\", handleAvatarError, true));\n window.__hydrogenViewModel = vm;\n const view = new RootView(vm);\n this._container.appendChild(view.mount());\n }\n\n setNavigation(navigation) {\n this._serviceWorkerHandler?.setNavigation(navigation);\n }\n\n createBlob(buffer, mimetype) {\n return BlobHandle.fromBuffer(buffer, mimetype);\n }\n\n saveFileAs(blobHandle, filename) {\n if (navigator.msSaveBlob) {\n navigator.msSaveBlob(blobHandle.nativeBlob, filename);\n } else {\n downloadInIframe(this._container, this._assetPaths.downloadSandbox, blobHandle, filename, this.isIOS);\n }\n }\n\n openFile(mimeType = null) {\n const input = document.createElement(\"input\");\n input.setAttribute(\"type\", \"file\");\n input.className = \"hidden\";\n if (mimeType) {\n input.setAttribute(\"accept\", mimeType);\n }\n const promise = new Promise(resolve => {\n const checkFile = () => {\n input.removeEventListener(\"change\", checkFile, true);\n const file = input.files[0];\n this._container.removeChild(input);\n if (file) {\n resolve({name: file.name, blob: BlobHandle.fromBlob(file)});\n } else {\n resolve();\n }\n }\n input.addEventListener(\"change\", checkFile, true);\n });\n // IE11 needs the input to be attached to the document\n this._container.appendChild(input);\n input.click();\n return promise;\n }\n\n openUrl(url) {\n location.href = url;\n }\n\n parseHTML(html) {\n return parseHTML(html);\n }\n\n async loadImage(blob) {\n return ImageHandle.fromBlob(blob);\n }\n\n async loadVideo(blob) {\n return VideoHandle.fromBlob(blob);\n }\n\n hasReadPixelPermission() {\n return hasReadPixelPermission();\n }\n\n get devicePixelRatio() {\n return window.devicePixelRatio || 1;\n }\n\n get version() {\n return DEFINE_VERSION;\n }\n\n get themeLoader() {\n return this._themeLoader;\n }\n\n replaceStylesheet(newPath) {\n const head = document.querySelector(\"head\");\n // remove default theme \n document.querySelectorAll(\".theme\").forEach(e => e.remove());\n // add new theme\n const styleTag = document.createElement(\"link\");\n styleTag.href = newPath;\n styleTag.rel = \"stylesheet\";\n styleTag.type = \"text/css\";\n styleTag.className = \"theme\";\n head.appendChild(styleTag);\n }\n\n get description() {\n return navigator.userAgent ?? \"\";\n }\n\n dispose() {\n this._disposables.dispose();\n }\n}\n\nimport {LogItem} from \"../../logging/LogItem\";\nexport function tests() {\n return {\n \"loginToken should not be in logs\": (assert) => {\n const transformer = (item) => {\n if (item.e?.stack) {\n item.e.stack = item.e.stack.replace(/(?<=\\/\\?loginToken=).+/, \"\");\n }\n return item;\n };\n const logger = {\n _queuedItems: [],\n _serializedTransformer: transformer,\n _now: () => {}\n };\n logger.persist = IDBLogger.prototype._persistItem.bind(logger);\n const logItem = new LogItem(\"test\", 1, logger);\n logItem.error = new Error();\n logItem.error.stack = \"main http://localhost:3000/src/main.js:55\\n http://localhost:3000/?loginToken=secret:26\"\n logger.persist(logItem, null, false);\n const item = logger._queuedItems.pop();\n console.log(item);\n assert.strictEqual(item.json.search(\"secret\"), -1);\n }\n };\n}\n","export default \"__VITE_ASSET__e1b1bc02__\"","export default \"__VITE_ASSET__48a866e9__\"","export default \"__VITE_ASSET__bdb9a925__\"","export default \"__VITE_ASSET__b3e0f9b4__\"","export default \"__VITE_ASSET__92f1ccd0__\"","export default \"__VITE_ASSET__9dc48f49__\"","// @ts-ignore\nimport _downloadSandboxPath from \"../../assets/download-sandbox.html?url\";\n// @ts-ignore\nimport _workerPath from \"../../worker/main.js?url\";\n// @ts-ignore\nimport olmWasmPath from \"@matrix-org/olm/olm.wasm?url\";\n// @ts-ignore\nimport olmJsPath from \"@matrix-org/olm/olm.js?url\";\n// @ts-ignore\nimport olmLegacyJsPath from \"@matrix-org/olm/olm_legacy.js?url\";\n\nexport default {\n downloadSandbox: _downloadSandboxPath,\n worker: _workerPath,\n olm: {\n wasm: olmWasmPath,\n legacyBundle: olmLegacyJsPath,\n wasmBundle: olmJsPath,\n }\n};\n","\n import {main} from \"./main\";\n import {Platform} from \"./Platform\";\n import configURL from \"./assets/config.json?url\";\n import assetPaths from \"./sdk/paths/vite\";\n if (import.meta.env.PROD) {\n assetPaths.serviceWorker = \"sw.js\";\n }\n const platform = new Platform({\n container: document.body,\n assetPaths,\n configURL, \n options: {development: import.meta.env.DEV}\n });\n main(platform);\n "],"names":["Request","stringify","anotherjson","EVENT_TYPE","Range","encodeKey","decodeKey","MEMBER_EVENT_TYPE","NullLoggerInstance","EVENT_ENCRYPTED_TYPE","POWERLEVELS_EVENT_TYPE","Session","Decryption","DecryptionChanges","Encryption","DecryptionPreparation","Curve25519.Algorithm","Curve25519.BackupEncryption","OlmDecryption","OlmEncryption","MegOlmKeyLoader","MegOlmEncryption","MegOlmDecryption","ssssKeyFromCredential","ssssWriteKey","ssssRemoveKey","E2EEAccount","createSSSSKeyFromDehydratedDeviceKey","ssssReadKey","tileClassForEntry","defaultTileClassForEntry","RequestResult","base64","require$$0","text","DOMPurify","offColorModule","pkg.offColor","pkg.default"],"mappings":"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"} \ No newline at end of file diff --git a/assets/main.bdb9a925.js b/assets/main.bdb9a925.js new file mode 100644 index 00000000..9b5560ca --- /dev/null +++ b/assets/main.bdb9a925.js @@ -0,0 +1,177 @@ +/* +Copyright 2020 The Matrix.org Foundation C.I.C. + +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. +*/ + +function asErrorMessage(err) { + return { + type: "error", + message: err.message, + stack: err.stack + }; +} + +function asSuccessMessage(payload) { + return { + type: "success", + payload + }; +} + +class MessageHandler { + constructor() { + this._olm = null; + this._randomValues = self.crypto ? null : []; + } + + _feedRandomValues(randomValues) { + if (this._randomValues) { + this._randomValues.push(...randomValues); + } + } + + _checkRandomValuesUsed() { + if (this._randomValues && this._randomValues.length !== 0) { + throw new Error(`${this._randomValues.length} random values left`); + } + } + + _getRandomValues(typedArray) { + if (!(typedArray instanceof Uint8Array)) { + throw new Error("only Uint8Array is supported: " + JSON.stringify({ + Int8Array: typedArray instanceof Int8Array, + Uint8Array: typedArray instanceof Uint8Array, + Int16Array: typedArray instanceof Int16Array, + Uint16Array: typedArray instanceof Uint16Array, + Int32Array: typedArray instanceof Int32Array, + Uint32Array: typedArray instanceof Uint32Array, + })); + } + if (this._randomValues.length === 0) { + throw new Error("no more random values, needed one of length " + typedArray.length); + } + const precalculated = this._randomValues.shift(); + if (precalculated.length !== typedArray.length) { + throw new Error(`typedArray length (${typedArray.length}) does not match precalculated length (${precalculated.length})`); + } + // copy values + for (let i = 0; i < typedArray.length; ++i) { + typedArray[i] = precalculated[i]; + } + return typedArray; + } + + handleEvent(e) { + if (e.type === "message") { + this._handleMessage(e.data); + } + } + + _sendReply(refMessage, reply) { + reply.replyToId = refMessage.id; + self.postMessage(reply); + } + + _toMessage(fn) { + try { + const payload = fn(); + if (payload instanceof Promise) { + return payload.then( + payload => asSuccessMessage(payload), + err => asErrorMessage(err) + ); + } else { + return asSuccessMessage(payload); + } + } catch (err) { + return asErrorMessage(err); + } + } + + _loadOlm(path) { + return this._toMessage(async () => { + if (!self.crypto) { + self.crypto = {getRandomValues: this._getRandomValues.bind(this)}; + } + // mangle the globals enough to make olm believe it is running in a browser + self.window = self; + self.document = {}; + self.importScripts(path); + const olm = self.Olm; + await olm.init(); + this._olm = olm; + }); + } + + _megolmDecrypt(sessionKey, ciphertext) { + return this._toMessage(() => { + const session = new this._olm.InboundGroupSession(); + try { + session.import_session(sessionKey); + // returns object with plaintext and message_index + return session.decrypt(ciphertext); + } finally { + session.free(); + } + }); + } + + _olmCreateAccountAndOTKs(randomValues, otkAmount) { + return this._toMessage(() => { + this._feedRandomValues(randomValues); + const account = new this._olm.Account(); + try { + account.create(); + account.generate_one_time_keys(otkAmount); + this._checkRandomValuesUsed(); + return account.pickle(""); + } finally { + account.free(); + } + }); + } + + _olmCreateOutbound(randomValues, accountPickle, theirIdentityKey, theirOneTimeKey) { + return this._toMessage(() => { + this._feedRandomValues(randomValues); + const account = new this._olm.Account(); + const newSession = new this._olm.Session(); + try { + account.unpickle("", accountPickle); + newSession.create_outbound(account, theirIdentityKey, theirOneTimeKey); + return newSession.pickle(""); + } finally { + account.free(); + newSession.free(); + } + }); + } + + async _handleMessage(message) { + const {type} = message; + if (type === "ping") { + this._sendReply(message, {type: "success"}); + } else if (type === "load_olm") { + this._sendReply(message, await this._loadOlm(message.path)); + } else if (type === "megolm_decrypt") { + this._sendReply(message, this._megolmDecrypt(message.sessionKey, message.ciphertext)); + } else if (type === "olm_create_account_otks") { + this._sendReply(message, this._olmCreateAccountAndOTKs(message.randomValues, message.otkAmount)); + } else if (type === "olm_create_outbound") { + this._sendReply(message, this._olmCreateOutbound(message.randomValues, message.accountPickle, message.theirIdentityKey, message.theirOneTimeKey)); + } + } +} + +self.addEventListener("message", new MessageHandler()); diff --git a/assets/manifest.56e72e88.json b/assets/manifest.56e72e88.json new file mode 100644 index 00000000..1d776a32 --- /dev/null +++ b/assets/manifest.56e72e88.json @@ -0,0 +1 @@ +{"name":"Hydrogen","short_name":"Hydrogen","display":"standalone","description":"Lightweight matrix client with legacy and mobile browser support","start_url":"../index.html","icons":[{"src":"icon.2a39c64c.png","sizes":"384x384","type":"image/png"},{"src":"icon-maskable.965d12c4.png","sizes":"384x384","type":"image/png","purpose":"maskable"}],"theme_color":"#0DBD8B"} \ No newline at end of file diff --git a/assets/olm.92f1ccd0.js b/assets/olm.92f1ccd0.js new file mode 100644 index 00000000..bbf85c62 --- /dev/null +++ b/assets/olm.92f1ccd0.js @@ -0,0 +1,161 @@ +// @license magnet:?xt=urn:btih:8e4f440f4c65981c5bf93c76d35135ba5064d8b7&dn=apache-2.0.txt Apache-2.0 +// @source: https://gitlab.matrix.org/matrix-org/olm/-/tree/3.2.8 + +var Olm = (function() { +var olm_exports = {}; +var onInitSuccess; +var onInitFail; + +var Module = (function() { + var _scriptDir = typeof document !== 'undefined' && document.currentScript ? document.currentScript.src : undefined; + if (typeof __filename !== 'undefined') _scriptDir = _scriptDir || __filename; + return ( +function(Module) { + Module = Module || {}; + + +var a;a||(a=typeof Module !== 'undefined' ? Module : {});var aa,ba;a.ready=new Promise(function(b,c){aa=b;ba=c});var g;if("undefined"!==typeof window)g=function(b){window.crypto.getRandomValues(b)};else if(module.exports){var ca=require("crypto");g=function(b){var c=ca.randomBytes(b.length);b.set(c)};process=global.process}else throw Error("Cannot find global to attach library to"); +if("undefined"!==typeof OLM_OPTIONS)for(var da in OLM_OPTIONS)OLM_OPTIONS.hasOwnProperty(da)&&(a[da]=OLM_OPTIONS[da]);a.onRuntimeInitialized=function(){h=a._olm_error();olm_exports.PRIVATE_KEY_LENGTH=a._olm_pk_private_key_length();onInitSuccess&&onInitSuccess()};a.onAbort=function(b){onInitFail&&onInitFail(b)};var ea={},l;for(l in a)a.hasOwnProperty(l)&&(ea[l]=a[l]);var ha="object"===typeof window,ia="function"===typeof importScripts,m="",ja,ka,la,n,q; +if("object"===typeof process&&"object"===typeof process.versions&&"string"===typeof process.versions.node)m=ia?require("path").dirname(m)+"/":__dirname+"/",ja=function(b,c){n||(n=require("fs"));q||(q=require("path"));b=q.normalize(b);return n.readFileSync(b,c?null:"utf8")},la=function(b){b=ja(b,!0);b.buffer||(b=new Uint8Array(b));b.buffer||r("Assertion failed: undefined");return b},ka=function(b,c,d){n||(n=require("fs"));q||(q=require("path"));b=q.normalize(b);n.readFile(b,function(e,f){e?d(e):c(f.buffer)})}, +1>0]=0;break;case "i8":u[b>>0]=0;break;case "i16":oa[b>>1]=0;break;case "i32":v[b>>2]=0;break;case "i64":pa=[0,(x=0,1<=+Math.abs(x)?0>>0:~~+Math.ceil((x-+(~~x>>>0))/4294967296)>>>0:0)];v[b>>2]=pa[0];v[b+4>>2]=pa[1];break;case "float":qa[b>>2]=0;break;case "double":ra[b>>3]=0;break;default:r("invalid type for setValue: "+c)}} +function sa(b,c){c=c||"i8";"*"===c.charAt(c.length-1)&&(c="i32");switch(c){case "i1":return u[b>>0];case "i8":return u[b>>0];case "i16":return oa[b>>1];case "i32":return v[b>>2];case "i64":return v[b>>2];case "float":return qa[b>>2];case "double":return ra[b>>3];default:r("invalid type for getValue: "+c)}return null}var ta,ua=!1,va="undefined"!==typeof TextDecoder?new TextDecoder("utf8"):void 0; +function y(b,c){if(b){var d=z,e=b+c;for(c=b;d[c]&&!(c>=e);)++c;if(16f?e+=String.fromCharCode(f):(f-=65536,e+=String.fromCharCode(55296|f>>10,56320|f&1023))}}else e+=String.fromCharCode(f)}b=e}}else b="";return b} +function A(b,c,d,e){if(!(0=p){var w=b.charCodeAt(++k);p=65536+((p&1023)<<10)|w&1023}if(127>=p){if(d>=e)break;c[d++]=p}else{if(2047>=p){if(d+1>=e)break;c[d++]=192|p>>6}else{if(65535>=p){if(d+2>=e)break;c[d++]=224|p>>12}else{if(d+3>=e)break;c[d++]=240|p>>18;c[d++]=128|p>>12&63}c[d++]=128|p>>6&63}c[d++]=128|p&63}}c[d]=0;return d-f} +function B(b){for(var c=0,d=0;d=e&&(e=65536+((e&1023)<<10)|b.charCodeAt(++d)&1023);127>=e?++c:c=2047>=e?c+2:65535>=e?c+3:c+4}return c}function wa(b,c){for(var d=0;d>0]=b.charCodeAt(d)}var u,z,oa,v,qa,ra,xa,ya=[],za=[],Aa=[];function Ca(){var b=a.preRun.shift();ya.unshift(b)}var C=0,Da=null,Ea=null;a.preloadedImages={};a.preloadedAudios={}; +function r(b){if(a.onAbort)a.onAbort(b);ma(b);ua=!0;b=new WebAssembly.RuntimeError("abort("+b+"). Build with -s ASSERTIONS=1 for more info.");ba(b);throw b;}function Fa(){return D.startsWith("data:application/octet-stream;base64,")}var D;D="olm.wasm";if(!Fa()){var Ga=D;D=a.locateFile?a.locateFile(Ga,m):m+Ga}function Ha(){var b=D;try{if(b==D&&na)return new Uint8Array(na);if(la)return la(b);throw"both async and sync fetching of the wasm failed";}catch(c){r(c)}} +function Ia(){if(!na&&(ha||ia)){if("function"===typeof fetch&&!D.startsWith("file://"))return fetch(D,{credentials:"same-origin"}).then(function(b){if(!b.ok)throw"failed to load wasm binary file at '"+D+"'";return b.arrayBuffer()}).catch(function(){return Ha()});if(ka)return new Promise(function(b,c){ka(D,function(d){b(new Uint8Array(d))},c)})}return Promise.resolve().then(function(){return Ha()})}var x,pa; +function Ja(b){for(;0IcY5cXf5vY*=`Z?=C)0}; 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 literal 0 HcmV?d00001 diff --git a/assets/olm_legacy.9dc48f49.js b/assets/olm_legacy.9dc48f49.js new file mode 100644 index 00000000..fe3d8ce0 --- /dev/null +++ b/assets/olm_legacy.9dc48f49.js @@ -0,0 +1,180 @@ +// @license magnet:?xt=urn:btih:8e4f440f4c65981c5bf93c76d35135ba5064d8b7&dn=apache-2.0.txt Apache-2.0 +// @source: https://gitlab.matrix.org/matrix-org/olm/-/tree/3.2.8 + +var Olm = (function() { +var olm_exports = {}; +var onInitSuccess; +var onInitFail; + +var Module = (function() { + var _scriptDir = typeof document !== 'undefined' && document.currentScript ? document.currentScript.src : undefined; + if (typeof __filename !== 'undefined') _scriptDir = _scriptDir || __filename; + return ( +function(Module) { + Module = Module || {}; + + +var a;a||(a=typeof Module !== 'undefined' ? Module : {});var aa,ba;a.ready=new Promise(function(b,c){aa=b;ba=c});var g;if("undefined"!==typeof window)g=function(b){window.crypto.getRandomValues(b)};else if(module.exports){var ca=require("crypto");g=function(b){var c=ca.randomBytes(b.length);b.set(c)};process=global.process}else throw Error("Cannot find global to attach library to"); +if("undefined"!==typeof OLM_OPTIONS)for(var da in OLM_OPTIONS)OLM_OPTIONS.hasOwnProperty(da)&&(a[da]=OLM_OPTIONS[da]);a.onRuntimeInitialized=function(){h=a._olm_error();olm_exports.PRIVATE_KEY_LENGTH=a._olm_pk_private_key_length();onInitSuccess&&onInitSuccess()};a.onAbort=function(b){onInitFail&&onInitFail(b)};var ea={},l;for(l in a)a.hasOwnProperty(l)&&(ea[l]=a[l]); +var fa="object"===typeof window,ha="function"===typeof importScripts,ia="object"===typeof process&&"object"===typeof process.versions&&"string"===typeof process.versions.node,m="",ka,la,ma,n,q; +if(ia)m=ha?require("path").dirname(m)+"/":__dirname+"/",ka=function(b,c){var d=r(b);if(d)return c?d:d.toString();n||(n=require("fs"));q||(q=require("path"));b=q.normalize(b);return n.readFileSync(b,c?null:"utf8")},ma=function(b){b=ka(b,!0);b.buffer||(b=new Uint8Array(b));b.buffer||t("Assertion failed: undefined");return b},la=function(b,c,d){var e=r(b);e&&c(e);n||(n=require("fs"));q||(q=require("path"));b=q.normalize(b);n.readFile(b,function(f,k){f?d(f):c(k.buffer)})},1=0;--a){f[48+a]=52+a;f[65+a]=a;f[97+a]=26+a}f[43]=62;f[47]=63;function l(m,n,o){var g,h,a=0,i=n,j=o.length,k=n+(j*3>>2)-(o[j-2]=="=")-(o[j-1]=="=");for(;a>4;if(i>2;if(i>2]=G[b+24|0]|G[b+25|0]<<8|(G[b+26|0]<<16|G[b+27|0]<<24);F[g+28>>2]=d;d=G[b+20|0]|G[b+21|0]<<8|(G[b+22|0]<<16|G[b+23|0]<<24);F[g+16>>2]=G[b+16|0]|G[b+17|0]<<8|(G[b+18|0]<<16|G[b+19|0]<<24);F[g+20>>2]=d;d=G[b+4|0]|G[b+5|0]<<8|(G[b+6|0]<<16|G[b+7|0]<<24);f=G[b|0]|G[b+1|0]<<8|(G[b+2|0]<<16|G[b+3|0]<<24);F[g>>2]=f;F[g+4>>2]=d;d=G[b+12|0]|G[b+13|0]<<8|(G[b+14|0]<<16|G[b+15|0]<<24);F[g+8>>2]=G[b+8|0]|G[b+9|0]<<8|(G[b+10|0]<<16|G[b+11|0]<<24);F[g+12>>2]=d;D[g|0]=f&248;D[g+31|0]=G[g+31|0]&63|64;j=G[c+3|0];d=j;b=d<<24&50331648;f=G[c+2|0];d=f>>>16|0;F[g+112>>2]=b|(G[c|0]|G[c+1|0]<<8|f<<16);F[g+116>>2]=d;d=G[c+4|0];f=d>>>24|0;b=d<<8|j;e=G[c+5|0];d=e>>>16|0;e=b|e<<16;j=d|f;s=G[c+6|0];d=s;f=d>>>8|0;h=d<<24;d=f|j;f=e|h;F[g+120>>2]=((d&3)<<30|f>>>2)&33554431;F[g+124>>2]=0;d=G[c+7|0];f=d>>>24|0;b=d<<8|s;e=G[c+8|0];d=e>>>16|0;e=b|e<<16;j=d|f;s=G[c+9|0];d=s;f=d>>>8|0;h=d<<24;d=f|j;f=e|h;F[g+128>>2]=((d&7)<<29|f>>>3)&67108863;F[g+132>>2]=0;d=G[c+10|0];f=d>>>24|0;b=d<<8|s;e=G[c+11|0];d=e>>>16|0;e=b|e<<16;j=d|f;s=G[c+12|0];d=s;f=d>>>8|0;h=d<<24;d=f|j;f=e|h;F[g+136>>2]=((d&31)<<27|f>>>5)&33554431;F[g+140>>2]=0;d=G[c+13|0];f=d>>>24|0;b=d<<8|s;e=G[c+14|0];d=e>>>16|0;e=b|e<<16;j=d|f;d=G[c+15|0];f=d>>>8|0;e=d<<24|e;f=f|j;d=f>>>6|0;F[g+144>>2]=(f&63)<<26|e>>>6;F[g+148>>2]=d;j=G[c+19|0];d=j;b=d<<24&16777216;d=G[c+18|0];f=d>>>16|0;F[g+152>>2]=b|(G[c+16|0]|G[c+17|0]<<8|d<<16);F[g+156>>2]=f;f=G[c+20|0];d=f>>>24|0;e=f<<8|j;f=d;b=e;e=G[c+21|0];d=e>>>16|0;e=b|e<<16;j=d|f;s=G[c+22|0];f=s;d=f>>>8|0;f=f<<24|e;d=d|j;F[g+160>>2]=((d&1)<<31|f>>>1)&67108863;F[g+164>>2]=0;f=G[c+23|0];d=f>>>24|0;b=f<<8|s;e=G[c+24|0];f=e>>>16|0;e=b|e<<16;j=d|f;s=G[c+25|0];f=s;d=f>>>8|0;f=f<<24|e;d=d|j;F[g+168>>2]=((d&7)<<29|f>>>3)&33554431;F[g+172>>2]=0;f=G[c+26|0];d=f>>>24|0;e=f<<8|s;f=d;b=e;e=G[c+27|0];d=e>>>16|0;e=b|e<<16;j=d|f;s=G[c+28|0];f=s;d=f>>>8|0;f=f<<24|e;d=d|j;F[g+176>>2]=((d&15)<<28|f>>>4)&67108863;F[g+180>>2]=0;f=G[c+29|0];d=f>>>24|0;b=f<<8|s;e=G[c+30|0];f=e>>>16|0;e=b|e<<16;f=d|f;c=G[c+31|0];d=c>>>8|0;j=c<<24;c=d|f;d=e|j;F[g+184>>2]=((c&63)<<26|d>>>6)&33554431;F[g+188>>2]=0;z=g+1152|0;ra(z,0,152);F[g+1152>>2]=1;F[g+1156>>2]=0;b=g+992|0;ra(b,0,152);F[g+992>>2]=1;F[g+996>>2]=0;c=g+832|0;ra(c,0,152);j=g+672|0;ra(j,0,152);k=g+512|0;ra(k,0,152);F[g+512>>2]=1;F[g+516>>2]=0;r=g+352|0;ra(r,0,152);Q=g+192|0;ra(Q,0,152);F[g+192>>2]=1;F[g+196>>2]=0;ra(g+1392|0,0,72);t=g+1312|0;ja(t,g+112|0,80);Ma=g+2512|0;while(1){ua=G[(g-ta|0)+31|0];va=0;while(1){J=j;H=0-((ua&128)>>>7|0)|0;j=t;f=F[j>>2];e=F[b>>2];d=H&(f^e);s=b;e=d^e;F[b>>2]=e;F[b+4>>2]=e>>31;d=d^f;F[j>>2]=d;F[j+4>>2]=d>>31;f=F[j+8>>2];e=F[b+8>>2];d=H&(f^e);e=d^e;F[b+8>>2]=e;F[b+12>>2]=e>>31;d=d^f;F[j+8>>2]=d;F[j+12>>2]=d>>31;f=F[j+16>>2];e=F[b+16>>2];d=H&(f^e);e=d^e;F[b+16>>2]=e;F[b+20>>2]=e>>31;d=d^f;F[j+16>>2]=d;F[j+20>>2]=d>>31;f=F[j+24>>2];e=F[b+24>>2];d=H&(f^e);e=d^e;F[b+24>>2]=e;F[b+28>>2]=e>>31;d=d^f;F[j+24>>2]=d;F[j+28>>2]=d>>31;f=F[j+32>>2];e=F[b+32>>2];d=H&(f^e);e=d^e;F[b+32>>2]=e;F[b+36>>2]=e>>31;d=d^f;F[j+32>>2]=d;F[j+36>>2]=d>>31;f=F[j+40>>2];e=F[b+40>>2];d=H&(f^e);e=d^e;F[b+40>>2]=e;F[b+44>>2]=e>>31;d=d^f;F[j+40>>2]=d;F[j+44>>2]=d>>31;f=F[j+48>>2];e=F[b+48>>2];d=H&(f^e);e=d^e;F[b+48>>2]=e;F[b+52>>2]=e>>31;d=d^f;F[j+48>>2]=d;F[j+52>>2]=d>>31;f=F[j+56>>2];e=F[b+56>>2];d=H&(f^e);e=d^e;F[b+56>>2]=e;F[b+60>>2]=e>>31;d=d^f;F[j+56>>2]=d;F[j+60>>2]=d>>31;f=F[j+64>>2];e=F[b+64>>2];d=H&(f^e);e=d^e;F[b+64>>2]=e;F[b+68>>2]=e>>31;d=d^f;F[j+64>>2]=d;F[j+68>>2]=d>>31;f=F[j+72>>2];e=F[b+72>>2];d=H&(f^e);e=d^e;F[b+72>>2]=e;F[b+76>>2]=e>>31;d=d^f;F[j+72>>2]=d;F[j+76>>2]=d>>31;h=z;f=F[h>>2];e=F[c>>2];d=H&(f^e);e=d^e;F[c>>2]=e;F[c+4>>2]=e>>31;d=d^f;F[h>>2]=d;F[h+4>>2]=d>>31;f=F[h+8>>2];e=F[c+8>>2];d=H&(f^e);e=d^e;F[c+8>>2]=e;F[c+12>>2]=e>>31;d=d^f;F[h+8>>2]=d;F[h+12>>2]=d>>31;f=F[h+16>>2];e=F[c+16>>2];d=H&(f^e);e=d^e;F[c+16>>2]=e;F[c+20>>2]=e>>31;d=d^f;F[h+16>>2]=d;F[h+20>>2]=d>>31;f=F[h+24>>2];e=F[c+24>>2];d=H&(f^e);e=d^e;F[c+24>>2]=e;F[c+28>>2]=e>>31;d=d^f;F[h+24>>2]=d;F[h+28>>2]=d>>31;f=F[h+32>>2];e=F[c+32>>2];d=H&(f^e);e=d^e;F[c+32>>2]=e;F[c+36>>2]=e>>31;d=d^f;F[h+32>>2]=d;F[h+36>>2]=d>>31;d=F[h+40>>2];y=F[c+40>>2];p=H&(d^y);d=d^p;F[h+40>>2]=d;F[h+44>>2]=d>>31;d=F[h+48>>2];v=F[c+48>>2];A=H&(d^v);d=d^A;F[h+48>>2]=d;F[h+52>>2]=d>>31;d=F[h+56>>2];i=c;q=F[c+56>>2];C=H&(d^q);d=d^C;F[h+56>>2]=d;F[h+60>>2]=d>>31;d=F[h+64>>2];M=F[c+64>>2];B=H&(d^M);d=d^B;F[h+64>>2]=d;F[h+68>>2]=d>>31;d=F[h+72>>2];R=F[c+72>>2];w=H&(d^R);d=d^w;F[h+72>>2]=d;F[h+76>>2]=d>>31;d=b;K=F[c+4>>2];S=F[d+4>>2];e=K+S|0;l=F[c>>2];z=F[d>>2];t=z;f=l+t|0;F[d>>2]=f;F[d+4>>2]=f>>>0>>0?e+1|0:e;O=F[c+12>>2];I=F[d+12>>2];e=O+I|0;c=F[c+8>>2];t=F[d+8>>2];f=t;d=c+f|0;F[b+8>>2]=d;F[b+12>>2]=d>>>0>>0?e+1|0:e;V=F[i+20>>2];E=F[b+20>>2];d=V+E|0;n=F[i+16>>2];m=F[b+16>>2];e=m;f=n+e|0;F[b+16>>2]=f;F[b+20>>2]=e>>>0>f>>>0?d+1|0:d;X=F[i+28>>2];Y=F[b+28>>2];f=X+Y|0;o=F[i+24>>2];u=F[b+24>>2];e=u;d=o+e|0;F[b+24>>2]=d;F[b+28>>2]=d>>>0>>0?f+1|0:f;b=F[i+32>>2];T=F[i+36>>2];f=s;x=F[f+40>>2];d=p^y;p=d;e=x+d|0;N=F[f+44>>2];U=d>>31;d=N+U|0;F[f+40>>2]=e;F[f+44>>2]=e>>>0

    >>0?d+1|0:d;d=f;f=F[d+48>>2];e=v^A;A=e;v=e;y=f+e|0;P=F[d+52>>2];Z=e>>31;e=P+Z|0;F[d+48>>2]=y;F[d+52>>2]=v>>>0>y>>>0?e+1|0:e;y=F[d+56>>2];e=q^C;C=e;q=e;v=y+e|0;aa=F[d+60>>2];ba=e>>31;e=aa+ba|0;F[d+56>>2]=v;F[d+60>>2]=q>>>0>v>>>0?e+1|0:e;e=d;v=F[d+64>>2];d=B^M;B=d;q=v+d|0;ca=F[e+68>>2];W=d>>31;d=ca+W|0;F[e+64>>2]=q;F[e+68>>2]=q>>>0>>0?d+1|0:d;d=e;q=F[d+72>>2];e=w^R;w=e;M=q+e|0;da=F[d+76>>2];ea=e>>31;e=da+ea|0;F[d+72>>2]=M;F[d+76>>2]=M>>>0>>0?e+1|0:e;fa=F[d+36>>2];e=fa+T|0;M=F[d+32>>2];R=M+b|0;F[d+32>>2]=R;F[d+36>>2]=R>>>0>>0?e+1|0:e;F[i+72>>2]=q-w;F[i+76>>2]=da-((q>>>0>>0)+ea|0);F[i+64>>2]=v-B;F[i+68>>2]=ca-((v>>>0>>0)+W|0);F[i+56>>2]=y-C;F[i+60>>2]=aa-((y>>>0>>0)+ba|0);F[i+48>>2]=f-A;F[i+52>>2]=P-((f>>>0>>0)+Z|0);F[i+40>>2]=x-p;F[i+44>>2]=N-((p>>>0>x>>>0)+U|0);F[i+32>>2]=M-b;F[i+36>>2]=fa-((b>>>0>M>>>0)+T|0);F[i+24>>2]=u-o;F[i+28>>2]=Y-((o>>>0>u>>>0)+X|0);F[i+16>>2]=m-n;F[i+20>>2]=E-((m>>>0>>0)+V|0);F[i+8>>2]=t-c;F[i+12>>2]=I-((c>>>0>t>>>0)+O|0);F[i>>2]=z-l;F[i+4>>2]=S-((l>>>0>z>>>0)+K|0);b=j;R=F[h+4>>2];K=F[b+4>>2];d=R+K|0;c=F[h>>2];l=F[b>>2];e=l;f=c+e|0;F[b>>2]=f;F[b+4>>2]=e>>>0>f>>>0?d+1|0:d;S=F[h+12>>2];O=F[b+12>>2];e=S+O|0;z=F[h+8>>2];t=F[b+8>>2];f=t;d=z+f|0;F[b+8>>2]=d;F[b+12>>2]=d>>>0>>0?e+1|0:e;I=F[h+20>>2];V=F[b+20>>2];f=I+V|0;n=F[h+16>>2];m=F[b+16>>2];e=m;d=n+e|0;F[b+16>>2]=d;F[b+20>>2]=d>>>0>>0?f+1|0:f;E=F[h+28>>2];X=F[b+28>>2];d=E+X|0;o=F[h+24>>2];u=F[b+24>>2];e=u;f=o+e|0;F[b+24>>2]=f;F[b+28>>2]=e>>>0>f>>>0?d+1|0:d;Y=F[h+36>>2];N=F[b+36>>2];e=Y+N|0;x=F[h+32>>2];p=F[b+32>>2];f=p;d=x+f|0;F[b+32>>2]=d;F[b+36>>2]=d>>>0>>0?e+1|0:e;U=F[h+44>>2];P=F[b+44>>2];d=U+P|0;A=F[h+40>>2];y=F[b+40>>2];e=y;f=A+e|0;F[b+40>>2]=f;F[b+44>>2]=e>>>0>f>>>0?d+1|0:d;Z=F[h+52>>2];aa=F[b+52>>2];e=Z+aa|0;C=F[h+48>>2];v=F[b+48>>2];f=v;d=C+f|0;F[b+48>>2]=d;F[b+52>>2]=d>>>0>>0?e+1|0:e;ba=F[h+60>>2];ca=F[b+60>>2];f=ba+ca|0;B=F[h+56>>2];q=F[b+56>>2];e=q;d=B+e|0;F[b+56>>2]=d;F[b+60>>2]=d>>>0>>0?f+1|0:f;W=F[h+68>>2];da=F[b+68>>2];d=W+da|0;f=F[h+64>>2];w=F[b+64>>2];e=f+w|0;F[b+64>>2]=e;F[b+68>>2]=e>>>0>>0?d+1|0:d;ha=F[h+76>>2];fa=F[b+76>>2];e=ha+fa|0;d=F[h+72>>2];M=F[b+72>>2];T=d+M|0;F[b+72>>2]=T;F[b+76>>2]=T>>>0>>0?e+1|0:e;F[h+72>>2]=M-d;F[h+76>>2]=fa-((d>>>0>M>>>0)+ha|0);F[h+64>>2]=w-f;F[h+68>>2]=da-((f>>>0>w>>>0)+W|0);F[h+56>>2]=q-B;F[h+60>>2]=ca-((q>>>0>>0)+ba|0);F[h+48>>2]=v-C;F[h+52>>2]=aa-((v>>>0>>0)+Z|0);F[h+40>>2]=y-A;F[h+44>>2]=P-((y>>>0>>0)+U|0);F[h+32>>2]=p-x;F[h+36>>2]=N-((p>>>0>>0)+Y|0);F[h+24>>2]=u-o;F[h+28>>2]=X-((o>>>0>u>>>0)+E|0);F[h+16>>2]=m-n;F[h+20>>2]=V-((m>>>0>>0)+I|0);F[h+8>>2]=t-z;F[h+12>>2]=O-((t>>>0>>0)+S|0);F[h>>2]=l-c;F[h+4>>2]=K-((c>>>0>l>>>0)+R|0);xa=g+1952|0;sa(xa,b,i);da=g+1792|0;sa(da,s,h);Na=F[g+2024>>2];A=F[g+2028>>2];y=F[g+2016>>2];Oa=F[g+2020>>2];ea=F[g+2096>>2];ha=F[g+2100>>2];C=F[g+2008>>2];Pa=F[g+2012>>2];fa=F[g+2088>>2];ka=F[g+2092>>2];v=F[g+2e3>>2];Qa=F[g+2004>>2];la=F[g+2080>>2];ma=F[g+2084>>2];B=F[g+1992>>2];Ra=F[g+1996>>2];ia=F[g+2072>>2];oa=F[g+2076>>2];q=F[g+1984>>2];Sa=F[g+1988>>2];pa=F[g+2064>>2];ya=F[g+2068>>2];w=F[g+1976>>2];Ta=F[g+1980>>2];na=F[g+2056>>2];za=F[g+2060>>2];l=F[g+1968>>2];t=F[g+1972>>2];P=F[g+2048>>2];Z=F[g+2052>>2];z=F[g+1960>>2];qa=F[g+1964>>2];aa=F[g+2040>>2];ba=F[g+2044>>2];m=F[g+1952>>2];Ua=F[g+1956>>2];ca=F[g+2032>>2];W=F[g+2036>>2];F[g+2032>>2]=0;F[g+2036>>2]=0;Va=F[g+1864>>2];M=F[g+1868>>2];T=F[g+1856>>2];Wa=F[g+1860>>2];Aa=F[g+1936>>2];Ba=F[g+1940>>2];R=F[g+1848>>2];Xa=F[g+1852>>2];Ca=F[g+1928>>2];Da=F[g+1932>>2];K=F[g+1840>>2];Ya=F[g+1844>>2];Ea=F[g+1920>>2];Fa=F[g+1924>>2];S=F[g+1832>>2];Za=F[g+1836>>2];Ga=F[g+1912>>2];Ha=F[g+1916>>2];O=F[g+1824>>2];_a=F[g+1828>>2];Ia=F[g+1904>>2];Ja=F[g+1908>>2];I=F[g+1816>>2];$a=F[g+1820>>2];Ka=F[g+1896>>2];La=F[g+1900>>2];b=F[g+1808>>2];d=F[g+1812>>2];f=F[g+1888>>2];e=F[g+1892>>2];c=F[g+1800>>2];E=F[g+1804>>2];o=F[g+1880>>2];u=F[g+1884>>2];n=F[g+1792>>2];X=F[g+1796>>2];p=F[g+1872>>2];V=F[g+1876>>2];F[g+1872>>2]=0;F[g+1876>>2]=0;d=d+e|0;x=b+f|0;d=x>>>0>>0?d+1|0:d;f=qe(f,e,18,0);b=f+x|0;e=$+d|0;N=b;x=b>>>0>>0?e+1|0:e;f=u+E|0;b=c+o|0;f=b>>>0>>0?f+1|0:f;c=qe(o,u,18,0);b=c+b|0;d=$+f|0;f=b;c=f>>>0>>0?d+1|0:d;e=V+X|0;b=n+p|0;e=b>>>0>>0?e+1|0:e;n=qe(p,V,18,0);b=n+b|0;d=$+e|0;d=b>>>0>>0?d+1|0:d;V=d;e=d;n=d>>31>>>6|0;d=n+b|0;o=d;e=d>>>0>>0?e+1|0:e;E=e;d=e>>26;n=(e&67108863)<<6|o>>>26;e=n+f|0;f=c+d|0;c=e;f=e>>>0>>0?f+1|0:f;X=f;e=f;f=e>>31>>>7|0;d=f+c|0;u=d;e=d>>>0>>0?e+1|0:e;Y=e;f=e>>25;n=(e&33554431)<<7|d>>>25;e=n+N|0;d=f+x|0;d=e>>>0>>0?d+1|0:d;x=e;p=d;n=d>>31>>>6|0;e=n+e|0;ab=e;d=e>>>0>>0?d+1|0:d;n=d;f=e&-67108864;d=p-((f>>>0>x>>>0)+d|0)|0;N=x-f|0;U=d;f=Z+t|0;d=l+P|0;f=d>>>0>>0?f+1|0:f;l=qe(P,Z,18,0);d=l+d|0;e=$+f|0;t=d;P=d>>>0>>0?e+1|0:e;d=ba+qa|0;f=z+aa|0;d=f>>>0>>0?d+1|0:d;e=qe(aa,ba,18,0);f=e+f|0;d=$+d|0;d=e>>>0>f>>>0?d+1|0:d;z=f;e=W+Ua|0;f=m+ca|0;e=f>>>0>>0?e+1|0:e;m=qe(ca,W,18,0);l=m+f|0;f=$+e|0;f=l>>>0>>0?f+1|0:f;Z=f;e=f;m=e>>31>>>6|0;f=m+l|0;x=f;e=f>>>0>>0?e+1|0:e;aa=e;m=z;f=e>>26;z=(e&67108863)<<6|x>>>26;e=m+z|0;d=d+f|0;d=e>>>0>>0?d+1|0:d;z=e;ba=d;e=d;f=d>>31>>>7|0;d=f+z|0;p=d;e=d>>>0>>0?e+1|0:e;ca=e;d=e>>25;e=(e&33554431)<<7|p>>>25;f=e+t|0;d=d+P|0;d=e>>>0>f>>>0?d+1|0:d;e=f;P=e;W=d;f=d;e=d>>31>>>6|0;d=P+e|0;t=d;f=d>>>0>>0?f+1|0:f;m=f;d=d&-67108864;e=P-d|0;qa=e+N|0;f=W-((d>>>0>P>>>0)+f|0)|0;d=f+U|0;F[g+1968>>2]=qa;F[g+1972>>2]=qa>>>0>>0?d+1|0:d;F[g+1808>>2]=e-N;F[g+1812>>2]=f-((e>>>0>>0)+U|0);f=La+$a|0;d=I+Ka|0;f=d>>>0>>0?f+1|0:f;I=qe(Ka,La,18,0);e=I+d|0;d=$+f|0;d=e>>>0>>0?d+1|0:d;f=e;e=n>>26;n=(n&67108863)<<6|ab>>>26;f=f+n|0;e=d+e|0;e=f>>>0>>0?e+1|0:e;I=f;N=e;d=e;e=d>>31>>>7|0;f=e+f|0;P=f;d=e>>>0>f>>>0?d+1|0:d;n=d;f=f&-33554432;d=N-((f>>>0>I>>>0)+d|0)|0;I=I-f|0;N=d;e=za+Ta|0;d=w+na|0;e=d>>>0>>0?e+1|0:e;w=qe(na,za,18,0);f=w+d|0;d=$+e|0;d=f>>>0>>0?d+1|0:d;e=f;f=m>>26;m=(m&67108863)<<6|t>>>26;e=e+m|0;d=d+f|0;w=e;d=e>>>0>>0?d+1|0:d;U=d;e=d;f=d>>31>>>7|0;d=w+f|0;W=d;e=d>>>0>>0?e+1|0:e;m=e;f=d&-33554432;d=w-f|0;na=d+I|0;e=U-((f>>>0>w>>>0)+e|0)|0;f=e+N|0;F[g+1976>>2]=na;F[g+1980>>2]=na>>>0>>0?f+1|0:f;F[g+1816>>2]=d-I;F[g+1820>>2]=e-((d>>>0>>0)+N|0);e=Ja+_a|0;d=O+Ia|0;e=d>>>0>>0?e+1|0:e;w=qe(Ia,Ja,18,0);f=w+d|0;d=$+e|0;e=f;f=e>>>0>>0?d+1|0:d;d=n>>25;w=(n&33554431)<<7|P>>>25;n=w+e|0;e=d+f|0;e=n>>>0>>0?e+1|0:e;d=n;w=d;O=e;f=e;e=e>>31>>>6|0;d=e+d|0;N=d;f=d>>>0>>0?f+1|0:f;n=f;f=d&-67108864;d=O-(n+(f>>>0>w>>>0)|0)|0;w=w-f|0;O=d;d=ya+Sa|0;f=q+pa|0;d=f>>>0>>0?d+1|0:d;e=qe(pa,ya,18,0);f=e+f|0;d=$+d|0;d=e>>>0>f>>>0?d+1|0:d;e=m>>25;q=(m&33554431)<<7|W>>>25;m=q+f|0;f=d+e|0;f=m>>>0>>0?f+1|0:f;d=m;q=d;I=f;e=f;f=e>>31>>>6|0;d=f+d|0;U=d;e=d>>>0>>0?e+1|0:e;m=e;P=d&-67108864;d=q-P|0;f=w+d|0;q=I-((q>>>0

    >>0)+e|0)|0;e=q+O|0;F[g+1984>>2]=f;F[g+1988>>2]=f>>>0>>0?e+1|0:e;F[g+1824>>2]=d-w;F[g+1828>>2]=q-((d>>>0>>0)+O|0);e=Ha+Za|0;d=S+Ga|0;e=d>>>0>>0?e+1|0:e;q=qe(Ga,Ha,18,0);d=q+d|0;f=$+e|0;f=d>>>0>>0?f+1|0:f;e=d;d=n>>26;n=(n&67108863)<<6|N>>>26;e=e+n|0;d=d+f|0;q=e;d=e>>>0>>0?d+1|0:d;w=d;e=d;f=d>>31>>>7|0;d=q+f|0;O=d;e=d>>>0>>0?e+1|0:e;n=e;f=d&-33554432;d=w-((f>>>0>q>>>0)+e|0)|0;q=q-f|0;w=d;d=oa+Ra|0;f=B+ia|0;d=f>>>0>>0?d+1|0:d;B=qe(ia,oa,18,0);e=B+f|0;f=$+d|0;f=e>>>0>>0?f+1|0:f;d=e;e=m>>26;m=(m&67108863)<<6|U>>>26;d=d+m|0;e=e+f|0;f=d;B=d;e=d>>>0>>0?e+1|0:e;S=e;d=e;e=d>>31>>>7|0;f=e+f|0;I=f;d=e>>>0>f>>>0?d+1|0:d;m=d;e=f&-33554432;f=B-e|0;N=f+q|0;d=S-((e>>>0>B>>>0)+d|0)|0;e=d+w|0;F[g+1992>>2]=N;F[g+1996>>2]=N>>>0>>0?e+1|0:e;F[g+1832>>2]=f-q;F[g+1836>>2]=d-((f>>>0>>0)+w|0);d=Fa+Ya|0;f=K+Ea|0;d=f>>>0>>0?d+1|0:d;B=qe(Ea,Fa,18,0);f=B+f|0;e=$+d|0;e=f>>>0>>0?e+1|0:e;d=f;f=n>>25;B=(n&33554431)<<7|O>>>25;n=d+B|0;d=e+f|0;d=n>>>0>>0?d+1|0:d;f=n;B=f;q=d;e=d;f=d>>31>>>6|0;d=n+f|0;K=d;e=d>>>0>>0?e+1|0:e;n=e;f=d&-67108864;d=q-((f>>>0>B>>>0)+e|0)|0;B=B-f|0;q=d;f=ma+Qa|0;d=v+la|0;f=d>>>0>>0?f+1|0:f;v=qe(la,ma,18,0);d=v+d|0;e=$+f|0;e=d>>>0>>0?e+1|0:e;f=d;d=m>>25;m=(m&33554431)<<7|I>>>25;f=f+m|0;e=d+e|0;e=f>>>0>>0?e+1|0:e;v=f;w=e;d=e;e=d>>31>>>6|0;f=e+f|0;S=f;d=e>>>0>f>>>0?d+1|0:d;m=d;O=f&-67108864;f=v-O|0;e=B+f|0;v=w-((v>>>0>>0)+d|0)|0;d=v+q|0;F[g+2e3>>2]=e;F[g+2004>>2]=e>>>0>>0?d+1|0:d;F[g+1840>>2]=f-B;F[g+1844>>2]=v-((f>>>0>>0)+q|0);d=Da+Xa|0;f=R+Ca|0;d=f>>>0>>0?d+1|0:d;v=qe(Ca,Da,18,0);f=v+f|0;e=$+d|0;e=f>>>0>>0?e+1|0:e;d=e;e=n>>26;v=(n&67108863)<<6|K>>>26;n=v+f|0;f=d+e|0;f=n>>>0>>0?f+1|0:f;e=n;v=e;B=f;d=f;e=d>>31>>>7|0;f=n+e|0;w=f;d=e>>>0>f>>>0?d+1|0:d;n=d;f=f&-33554432;d=B-((f>>>0>v>>>0)+d|0)|0;v=v-f|0;B=d;e=ka+Pa|0;d=C+fa|0;e=d>>>0>>0?e+1|0:e;f=qe(fa,ka,18,0);d=f+d|0;e=$+e|0;e=d>>>0>>0?e+1|0:e;f=d;d=m>>26;m=(m&67108863)<<6|S>>>26;f=f+m|0;d=d+e|0;e=f;C=e;d=e>>>0>>0?d+1|0:d;q=d;f=d;e=d>>31>>>7|0;d=C+e|0;R=d;f=d>>>0>>0?f+1|0:f;m=f;d=d&-33554432;e=C-d|0;K=e+v|0;f=q-((d>>>0>C>>>0)+f|0)|0;d=f+B|0;F[g+2008>>2]=K;F[g+2012>>2]=K>>>0>>0?d+1|0:d;F[g+1848>>2]=e-v;F[g+1852>>2]=f-((e>>>0>>0)+B|0);f=Ba+Wa|0;d=T+Aa|0;f=d>>>0>>0?f+1|0:f;C=qe(Aa,Ba,18,0);e=C+d|0;d=$+f|0;d=e>>>0>>0?d+1|0:d;f=e;e=n>>25;n=(n&33554431)<<7|w>>>25;f=f+n|0;e=d+e|0;e=f>>>0>>0?e+1|0:e;C=f;v=e;d=e;e=d>>31>>>6|0;f=e+f|0;q=f;d=e>>>0>f>>>0?d+1|0:d;n=d;f=f&-67108864;d=v-((f>>>0>C>>>0)+d|0)|0;C=C-f|0;v=d;e=ha+Oa|0;d=y+ea|0;e=d>>>0>>0?e+1|0:e;y=qe(ea,ha,18,0);f=y+d|0;d=$+e|0;d=f>>>0>>0?d+1|0:d;e=f;f=m>>25;m=(m&33554431)<<7|R>>>25;e=e+m|0;d=d+f|0;y=e;d=e>>>0>>0?d+1|0:d;B=d;e=d;f=d>>31>>>6|0;d=y+f|0;w=d;e=d>>>0>>0?e+1|0:e;m=e;f=d&-67108864;d=y-f|0;T=d+C|0;e=B-((f>>>0>y>>>0)+e|0)|0;f=e+v|0;F[g+2016>>2]=T;F[g+2020>>2]=d>>>0>T>>>0?f+1|0:f;F[g+1856>>2]=d-C;F[g+1860>>2]=e-((d>>>0>>0)+v|0);f=g;t=(n&67108863)<<6|q>>>26;d=t+Va|0;e=(n>>26)+M|0;e=d>>>0>>0?e+1|0:e;n=d;y=e;d=e;t=d>>31>>>7|0;e=n+t|0;v=e;d=e>>>0>>0?d+1|0:d;t=d;e=e&-33554432;d=y-((e>>>0>n>>>0)+d|0)|0;y=n-e|0;q=y;C=d;d=m>>26;m=(m&67108863)<<6|w>>>26;n=m+Na|0;e=d+A|0;e=m>>>0>n>>>0?e+1|0:e;m=n;A=e;d=e;n=d>>31>>>7|0;e=m+n|0;B=e;d=e>>>0>>0?d+1|0:d;n=d;w=e&-33554432;e=m-w|0;q=e+q|0;m=A-((m>>>0>>0)+d|0)|0;d=m+C|0;F[f+2024>>2]=q;F[f+2028>>2]=q>>>0>>0?d+1|0:d;F[f+1864>>2]=e-y;F[f+1868>>2]=m-((e>>>0>>0)+C|0);d=u&-33554432;e=c-d|0;y=X-((c>>>0>>0)+Y|0)|0;f=t>>25;t=(t&33554431)<<7|v>>>25;d=o&-67108864;o=b-d|0;c=t+o|0;d=(V-((b>>>0>>0)+E|0)|0)+f|0;d=c>>>0>>0?d+1|0:d;b=c;c=qe(t,f,18,0);b=b+c|0;d=$+d|0;d=b>>>0>>0?d+1|0:d;u=d;f=d;d=d>>31>>>6|0;c=d+b|0;o=c;f=c>>>0>>0?f+1|0:f;A=f;d=f>>26;f=(f&67108863)<<6|c>>>26;c=f+e|0;e=d+y|0;t=c;e=c>>>0>>0?e+1|0:e;y=e;c=p&-33554432;p=z-c|0;v=ba-((c>>>0>z>>>0)+ca|0)|0;e=n>>25;z=(n&33554431)<<7|B>>>25;d=x&-67108864;n=l-d|0;c=z+n|0;d=(Z-((d>>>0>l>>>0)+aa|0)|0)+e|0;d=c>>>0>>0?d+1|0:d;e=qe(z,e,18,0);c=e+c|0;d=$+d|0;d=c>>>0>>0?d+1|0:d;z=d;e=d;l=d>>31>>>6|0;d=l+c|0;e=d>>>0>>0?e+1|0:e;l=d;n=e;d=e>>26;x=(e&67108863)<<6|l>>>26;e=x+p|0;f=d+v|0;f=e>>>0>>0?f+1|0:f;p=t+e|0;x=f;d=f+y|0;F[g+1960>>2]=p;F[g+1964>>2]=p>>>0>>0?d+1|0:d;f=o&-67108864;m=b-f|0;p=l&-67108864;l=c-p|0;o=m+l|0;b=u-((b>>>0>>0)+A|0)|0;c=z-((c>>>0

    >>0)+n|0)|0;f=b+c|0;d=g;F[d+1952>>2]=o;F[d+1956>>2]=o>>>0>>0?f+1|0:f;F[d+1800>>2]=e-t;F[d+1804>>2]=x-((e>>>0>>0)+y|0);F[d+1792>>2]=l-m;F[d+1796>>2]=c-((l>>>0>>0)+b|0);P=d+1472|0;ga(P,xa);b=d+1632|0;ga(b,da);sa(da,b,d+112|0);m=F[d+1856>>2];Z=F[d+1860>>2];M=F[d+1936>>2];T=F[d+1940>>2];o=F[d+1848>>2];aa=F[d+1852>>2];R=F[d+1928>>2];K=F[d+1932>>2];u=F[d+1840>>2];ba=F[d+1844>>2];S=F[d+1920>>2];O=F[d+1924>>2];x=F[d+1832>>2];ca=F[d+1836>>2];I=F[d+1912>>2];V=F[d+1916>>2];p=F[d+1824>>2];W=F[d+1828>>2];E=F[d+1904>>2];X=F[d+1908>>2];A=F[d+1816>>2];ea=F[d+1820>>2];Y=F[d+1896>>2];N=F[d+1900>>2];b=F[d+1808>>2];d=F[d+1812>>2];f=F[g+1888>>2];e=F[g+1892>>2];c=F[g+1800>>2];B=F[g+1804>>2];t=F[g+1880>>2];n=F[g+1884>>2];l=F[g+1792>>2];q=F[g+1796>>2];C=F[g+1872>>2];v=F[g+1876>>2];F[g+1872>>2]=0;F[g+1876>>2]=0;d=d+e|0;y=b+f|0;d=y>>>0>>0?d+1|0:d;f=qe(f,e,18,0);b=f+y|0;e=$+d|0;w=b;y=b>>>0>>0?e+1|0:e;f=n+B|0;b=c+t|0;f=b>>>0>>0?f+1|0:f;c=qe(t,n,18,0);b=c+b|0;d=$+f|0;f=b;c=f>>>0>>0?d+1|0:d;e=q+v|0;b=l+C|0;e=b>>>0>>0?e+1|0:e;l=qe(C,v,18,0);b=l+b|0;d=$+e|0;d=b>>>0>>0?d+1|0:d;C=d;e=d;l=d>>31>>>6|0;d=l+b|0;t=d;e=d>>>0>>0?e+1|0:e;v=e;d=e>>26;l=(e&67108863)<<6|t>>>26;e=l+f|0;f=c+d|0;c=e;f=e>>>0>>0?f+1|0:f;B=f;e=f;f=e>>31>>>7|0;d=f+c|0;n=d;e=d>>>0>>0?e+1|0:e;q=e;f=e>>25;l=(e&33554431)<<7|d>>>25;e=l+w|0;d=f+y|0;d=e>>>0>>0?d+1|0:d;y=e;w=d;l=d>>31>>>6|0;e=l+e|0;U=e;d=e>>>0>>0?d+1|0:d;l=d;f=e&-67108864;F[g+1808>>2]=y-f;F[g+1812>>2]=w-((f>>>0>y>>>0)+d|0);f=N+ea|0;d=A+Y|0;f=d>>>0>>0?f+1|0:f;A=qe(Y,N,18,0);d=A+d|0;e=$+f|0;f=d;d=d>>>0>>0?e+1|0:e;e=l>>26;l=(l&67108863)<<6|U>>>26;f=l+f|0;d=d+e|0;d=f>>>0>>0?d+1|0:d;e=f;l=e;A=d;y=d>>31>>>7|0;e=y+e|0;d=e>>>0>>0?d+1|0:d;y=e;f=d;e=e&-33554432;F[g+1816>>2]=l-e;F[g+1820>>2]=A-((e>>>0>l>>>0)+d|0);e=W+X|0;d=p+E|0;e=d>>>0

    >>0?e+1|0:e;l=qe(E,X,18,0);d=l+d|0;e=$+e|0;e=d>>>0>>0?e+1|0:e;l=d;d=f;f=d>>25;p=(d&33554431)<<7|y>>>25;l=l+p|0;d=e+f|0;d=l>>>0

    >>0?d+1|0:d;e=l;p=e;A=d;l=d>>31>>>6|0;e=l+e|0;y=e;d=e>>>0>>0?d+1|0:d;l=d;f=e&-67108864;F[g+1824>>2]=p-f;F[g+1828>>2]=A-((f>>>0>p>>>0)+d|0);f=V+ca|0;d=x+I|0;f=d>>>0>>0?f+1|0:f;x=qe(I,V,18,0);d=x+d|0;e=$+f|0;f=d;d=d>>>0>>0?e+1|0:e;e=l>>26;l=(l&67108863)<<6|y>>>26;f=l+f|0;d=d+e|0;d=f>>>0>>0?d+1|0:d;e=f;l=e;x=d;p=d>>31>>>7|0;e=p+e|0;d=e>>>0

    >>0?d+1|0:d;p=e;f=d;e=e&-33554432;F[g+1832>>2]=l-e;F[g+1836>>2]=x-((e>>>0>l>>>0)+d|0);e=O+ba|0;d=u+S|0;e=d>>>0>>0?e+1|0:e;l=qe(S,O,18,0);d=l+d|0;e=$+e|0;e=d>>>0>>0?e+1|0:e;l=d;d=f;f=d>>25;u=(d&33554431)<<7|p>>>25;l=l+u|0;d=e+f|0;d=l>>>0>>0?d+1|0:d;e=l;u=e;x=d;l=d>>31>>>6|0;e=l+e|0;p=e;d=e>>>0>>0?d+1|0:d;l=d;f=e&-67108864;F[g+1840>>2]=u-f;F[g+1844>>2]=x-((f>>>0>u>>>0)+d|0);f=K+aa|0;d=o+R|0;f=d>>>0>>0?f+1|0:f;o=qe(R,K,18,0);d=o+d|0;e=$+f|0;f=d;d=d>>>0>>0?e+1|0:e;e=l>>26;l=(l&67108863)<<6|p>>>26;f=l+f|0;d=d+e|0;d=f>>>0>>0?d+1|0:d;e=f;l=e;o=d;u=d>>31>>>7|0;e=u+e|0;d=e>>>0>>0?d+1|0:d;u=e;f=d;e=e&-33554432;F[g+1848>>2]=l-e;F[g+1852>>2]=o-((e>>>0>l>>>0)+d|0);e=T+Z|0;d=m+M|0;e=d>>>0>>0?e+1|0:e;z=qe(M,T,18,0);d=z+d|0;e=$+e|0;e=d>>>0>>0?e+1|0:e;l=d;d=f;f=d>>25;m=(d&33554431)<<7|u>>>25;z=l+m|0;d=e+f|0;f=z;d=m>>>0>f>>>0?d+1|0:d;z=d;m=f;o=d>>31>>>6|0;f=o+f|0;d=f>>>0>>0?d+1|0:d;e=f&-67108864;F[g+1856>>2]=m-e;F[g+1860>>2]=z-((e>>>0>m>>>0)+d|0);e=d>>26;m=(d&67108863)<<6|f>>>26;d=m+F[g+1864>>2]|0;f=e+F[g+1868>>2]|0;f=d>>>0>>0?f+1|0:f;z=f;m=d;e=f;f=e>>31>>>7|0;d=f+d|0;e=d>>>0>>0?e+1|0:e;f=d&-33554432;F[g+1864>>2]=m-f;F[g+1868>>2]=z-((f>>>0>m>>>0)+e|0);f=n&-33554432;n=c-f|0;m=B-((c>>>0>>0)+q|0)|0;c=d;d=e>>25;e=(e&33554431)<<7|c>>>25;f=t&-67108864;z=b-f|0;c=e+z|0;f=(C-((b>>>0>>0)+v|0)|0)+d|0;f=c>>>0>>0?f+1|0:f;b=c;c=qe(e,d,18,0);b=b+c|0;e=$+f|0;e=b>>>0>>0?e+1|0:e;f=e;d=e;e=d>>31>>>6|0;c=e+b|0;d=c>>>0>>0?d+1|0:d;z=d;e=d>>26;t=(d&67108863)<<6|c>>>26;d=t+n|0;e=e+m|0;F[g+1800>>2]=d;F[g+1804>>2]=d>>>0>>0?e+1|0:e;c=c&-67108864;F[g+1792>>2]=b-c;F[g+1796>>2]=f-((b>>>0>>0)+z|0);t=ja(J,P,80);z=k;E=ja(k,da,80);c=g+2272|0;ga(c,s);X=g+2112|0;ga(X,i);b=r;sa(b,c,X);o=F[b+64>>2];aa=F[b+68>>2];M=F[b+144>>2];T=F[b+148>>2];u=F[b+56>>2];ba=F[b+60>>2];R=F[b+136>>2];K=F[b+140>>2];x=F[b+48>>2];ca=F[b+52>>2];S=F[b+128>>2];O=F[b+132>>2];p=F[b+40>>2];W=F[b+44>>2];I=F[b+120>>2];V=F[b+124>>2];J=F[b+32>>2];da=F[b+36>>2];Y=F[b+112>>2];N=F[b+116>>2];A=F[b+24>>2];ea=F[b+28>>2];U=F[b+104>>2];P=F[b+108>>2];c=F[b+16>>2];d=F[b+20>>2];e=F[b+96>>2];l=F[b+100>>2];f=F[b+8>>2];B=F[b+12>>2];n=F[b+88>>2];m=F[b+92>>2];k=F[b>>2];q=F[b+4>>2];y=F[b+80>>2];C=F[b+84>>2];F[b+80>>2]=0;F[b+84>>2]=0;d=d+l|0;v=c+e|0;d=v>>>0>>0?d+1|0:d;l=qe(e,l,18,0);c=l+v|0;e=$+d|0;w=c;l=c>>>0>>0?e+1|0:e;e=m+B|0;c=f+n|0;e=c>>>0>>0?e+1|0:e;f=qe(n,m,18,0);c=f+c|0;d=$+e|0;v=c;m=c>>>0>>0?d+1|0:d;f=q+C|0;c=k+y|0;f=c>>>0>>0?f+1|0:f;e=qe(y,C,18,0);c=e+c|0;d=$+f|0;d=c>>>0>>0?d+1|0:d;y=d;e=d;f=d>>31>>>6|0;d=f+c|0;n=d;e=d>>>0>>0?e+1|0:e;C=e;k=(e&67108863)<<6|d>>>26;f=k+v|0;e=(e>>26)+m|0;e=f>>>0>>0?e+1|0:e;k=f;v=e;f=e;e=e>>31>>>7|0;d=e+k|0;m=d;f=d>>>0>>0?f+1|0:f;B=f;e=f>>25;q=(f&33554431)<<7|d>>>25;f=q+w|0;d=e+l|0;d=f>>>0>>0?d+1|0:d;e=f;q=e;w=d;l=d>>31>>>6|0;e=l+e|0;Z=e;d=e>>>0>>0?d+1|0:d;l=d;f=e&-67108864;F[b+16>>2]=q-f;F[b+20>>2]=w-((f>>>0>q>>>0)+d|0);e=P+ea|0;d=A+U|0;e=d>>>0>>0?e+1|0:e;A=qe(U,P,18,0);d=A+d|0;f=$+e|0;f=d>>>0>>0?f+1|0:f;e=l>>26;A=(l&67108863)<<6|Z>>>26;l=A+d|0;d=e+f|0;d=l>>>0>>0?d+1|0:d;e=l;A=e;q=d;l=d>>31>>>7|0;e=l+e|0;w=e;d=e>>>0>>0?d+1|0:d;l=d;f=e&-33554432;F[b+24>>2]=A-f;F[b+28>>2]=q-((f>>>0>A>>>0)+d|0);e=N+da|0;d=J+Y|0;e=d>>>0>>0?e+1|0:e;J=qe(Y,N,18,0);d=J+d|0;f=$+e|0;f=d>>>0>>0?f+1|0:f;e=l>>25;J=(l&33554431)<<7|w>>>25;l=J+d|0;d=e+f|0;d=l>>>0>>0?d+1|0:d;e=l;J=e;A=d;l=d>>31>>>6|0;e=l+e|0;q=e;d=e>>>0>>0?d+1|0:d;l=d;f=e&-67108864;F[b+32>>2]=J-f;F[b+36>>2]=A-((f>>>0>J>>>0)+d|0);e=W+V|0;d=p+I|0;e=d>>>0

    >>0?e+1|0:e;p=qe(I,V,18,0);d=p+d|0;f=$+e|0;f=d>>>0

    >>0?f+1|0:f;e=l>>26;p=(l&67108863)<<6|q>>>26;l=p+d|0;d=e+f|0;d=l>>>0

    >>0?d+1|0:d;e=l;p=e;J=d;l=d>>31>>>7|0;e=l+e|0;A=e;d=e>>>0>>0?d+1|0:d;l=d;f=e&-33554432;F[b+40>>2]=p-f;F[b+44>>2]=J-((f>>>0>p>>>0)+d|0);e=O+ca|0;d=x+S|0;e=d>>>0>>0?e+1|0:e;x=qe(S,O,18,0);d=x+d|0;f=$+e|0;f=d>>>0>>0?f+1|0:f;e=l>>25;x=(l&33554431)<<7|A>>>25;l=x+d|0;d=e+f|0;d=l>>>0>>0?d+1|0:d;e=l;x=e;p=d;l=d>>31>>>6|0;e=l+e|0;J=e;d=e>>>0>>0?d+1|0:d;l=d;f=e&-67108864;F[b+48>>2]=x-f;F[b+52>>2]=p-((f>>>0>x>>>0)+d|0);e=K+ba|0;d=u+R|0;e=d>>>0>>0?e+1|0:e;u=qe(R,K,18,0);d=u+d|0;f=$+e|0;f=d>>>0>>0?f+1|0:f;e=l>>26;u=(l&67108863)<<6|J>>>26;l=u+d|0;d=e+f|0;d=l>>>0>>0?d+1|0:d;e=l;u=e;x=d;l=d>>31>>>7|0;e=l+e|0;p=e;d=e>>>0>>0?d+1|0:d;l=d;f=e&-33554432;F[b+56>>2]=u-f;F[b+60>>2]=x-((f>>>0>u>>>0)+d|0);e=T+aa|0;d=o+M|0;e=d>>>0>>0?e+1|0:e;o=qe(M,T,18,0);d=o+d|0;f=$+e|0;f=d>>>0>>0?f+1|0:f;e=l>>25;o=(l&33554431)<<7|p>>>25;l=o+d|0;d=e+f|0;f=l;d=f>>>0>>0?d+1|0:d;l=d;o=f;u=d>>31>>>6|0;f=u+f|0;d=f>>>0>>0?d+1|0:d;e=f;f=e&-67108864;F[b+64>>2]=o-f;F[b+68>>2]=l-((f>>>0>o>>>0)+d|0);r=e;e=d>>26;r=(d&67108863)<<6|r>>>26;f=b;d=r+F[f+72>>2]|0;e=e+F[f+76>>2]|0;e=d>>>0>>0?e+1|0:e;l=e;u=d;e=e>>31>>>7|0;d=e+d|0;f=l;f=d>>>0>>0?f+1|0:f;e=d&-33554432;F[b+72>>2]=u-e;F[b+76>>2]=l-((e>>>0>u>>>0)+f|0);e=m&-33554432;m=k-e|0;o=v-((e>>>0>k>>>0)+B|0)|0;e=d;d=f>>25;k=(f&33554431)<<7|e>>>25;e=n&-67108864;r=c-e|0;f=k+r|0;e=(y-((c>>>0>>0)+C|0)|0)+d|0;d=qe(k,d,18,0);c=d+f|0;e=$+(f>>>0>>0?e+1|0:e)|0;e=c>>>0>>0?e+1|0:e;r=e;d=e;e=d>>31>>>6|0;f=e+c|0;k=f;d=e>>>0>f>>>0?d+1|0:d;n=d;l=m;e=d>>26;m=(d&67108863)<<6|f>>>26;d=l+m|0;f=e+o|0;F[b+8>>2]=d;F[b+12>>2]=d>>>0>>0?f+1|0:f;d=k&-67108864;F[b>>2]=c-d;F[b+4>>2]=r-((c>>>0>>0)+n|0);m=F[g+2316>>2];ca=F[g+2312>>2];d=ca;f=F[g+2152>>2];c=m-(F[g+2156>>2]+(d>>>0>>0)|0)|0;Y=d-f|0;o=c;F[g+2152>>2]=Y;F[g+2156>>2]=c;u=F[g+2308>>2];W=F[g+2304>>2];d=W;f=F[g+2144>>2];c=u-(F[g+2148>>2]+(d>>>0>>0)|0)|0;N=d-f|0;x=c;F[g+2144>>2]=N;F[g+2148>>2]=c;p=F[g+2300>>2];da=F[g+2296>>2];d=da;f=F[g+2136>>2];c=p-(F[g+2140>>2]+(d>>>0>>0)|0)|0;U=d-f|0;J=c;F[g+2136>>2]=U;F[g+2140>>2]=c;d=F[g+2292>>2];f=F[g+2288>>2];k=F[g+2128>>2];e=d-(F[g+2132>>2]+(f>>>0>>0)|0)|0;n=f-k|0;F[g+2128>>2]=n;F[g+2132>>2]=e;ea=F[g+2284>>2];A=F[g+2280>>2];c=A;k=F[g+2120>>2];l=ea-(F[g+2124>>2]+(c>>>0>>0)|0)|0;O=c-k|0;F[g+2120>>2]=O;F[g+2124>>2]=l;ha=F[g+2276>>2];y=F[g+2272>>2];c=y;k=F[g+2112>>2];r=ha-(F[g+2116>>2]+(c>>>0>>0)|0)|0;I=c-k|0;F[g+2112>>2]=I;F[g+2116>>2]=r;C=F[g+2324>>2];fa=F[g+2320>>2];k=fa;v=F[g+2160>>2];c=C-(F[g+2164>>2]+(k>>>0>>0)|0)|0;P=k-v|0;v=c;F[g+2160>>2]=P;F[g+2164>>2]=c;B=F[g+2332>>2];ka=F[g+2328>>2];k=ka;q=F[g+2168>>2];c=B-(F[g+2172>>2]+(k>>>0>>0)|0)|0;Z=k-q|0;q=c;F[g+2168>>2]=Z;F[g+2172>>2]=c;w=F[g+2340>>2];la=F[g+2336>>2];k=la;M=F[g+2176>>2];c=w-(F[g+2180>>2]+(k>>>0>>0)|0)|0;aa=k-M|0;M=c;F[g+2176>>2]=aa;F[g+2180>>2]=c;T=F[g+2348>>2];ma=F[g+2344>>2];k=ma;R=F[g+2184>>2];c=T-(F[g+2188>>2]+(k>>>0>>0)|0)|0;ba=k-R|0;R=c;F[g+2184>>2]=ba;F[g+2188>>2]=c;ra(Ma,0,72);F[g+2512>>2]=0;F[g+2516>>2]=0;K=f;S=d;ia=qe(n,e,121665,0);oa=$;e=qe(O,l,121665,0);l=$;c=qe(I,r,121665,0);f=$;pa=f;d=f;r=d>>31>>>6|0;f=r+c|0;d=f>>>0>>0?d+1|0:d;r=f;O=d;n=e;e=d>>26;f=(d&67108863)<<6|f>>>26;d=n+f|0;e=e+l|0;l=d;e=d>>>0>>0?e+1|0:e;I=e;d=e;e=d>>31>>>7|0;f=e+l|0;n=f;d=e>>>0>f>>>0?d+1|0:d;V=d;k=K;e=d>>25;K=(d&33554431)<<7|f>>>25;d=K+ia|0;f=e+oa|0;f=d>>>0>>0?f+1|0:f;K=k+d|0;e=f+S|0;e=K>>>0>>0?e+1|0:e;S=f;ia=f>>31>>>6|0;f=ia+d|0;d=S;d=f>>>0>>0?d+1|0:d;S=f;f=f&-67108864;F[g+2448>>2]=K-f;F[g+2452>>2]=e-((f>>>0>K>>>0)+d|0);f=d;d=d>>26;K=(f&67108863)<<6|S>>>26;e=qe(U,J,121665,0)+K|0;f=d+$|0;f=e>>>0>>0?f+1|0:f;d=e;J=d+da|0;e=f+p|0;p=J;J=d>>>0>p>>>0?e+1|0:e;e=f;f=e>>31>>>7|0;d=f+d|0;e=d>>>0>>0?e+1|0:e;f=d;d=d&-33554432;F[g+2456>>2]=p-d;F[g+2460>>2]=J-((d>>>0>p>>>0)+e|0);d=e;e=d>>25;p=(d&33554431)<<7|f>>>25;d=qe(N,x,121665,0)+p|0;f=e+$|0;f=d>>>0

    >>0?f+1|0:f;e=d;x=d+W|0;d=f+u|0;d=e>>>0>x>>>0?d+1|0:d;u=x;x=f;p=f>>31>>>6|0;f=p+e|0;e=x;e=f>>>0

    >>0?e+1|0:e;x=f;f=f&-67108864;F[g+2464>>2]=u-f;F[g+2468>>2]=d-((f>>>0>u>>>0)+e|0);d=g;f=e;e=e>>26;u=(f&67108863)<<6|x>>>26;k=qe(Y,o,121665,0)+u|0;f=e+$|0;f=k>>>0>>0?f+1|0:f;o=k+ca|0;e=f+m|0;e=o>>>0>>0?e+1|0:e;m=o;o=f;d=k;k=f>>31>>>7|0;f=d+k|0;d=o;d=f>>>0>>0?d+1|0:d;o=f;f=f&-33554432;F[g+2472>>2]=m-f;F[g+2476>>2]=e-((f>>>0>m>>>0)+d|0);f=d;d=d>>25;o=(f&33554431)<<7|o>>>25;e=qe(P,v,121665,0)+o|0;f=d+$|0;f=e>>>0>>0?f+1|0:f;d=e;m=d+fa|0;e=f+C|0;e=m>>>0>>0?e+1|0:e;o=e;e=f;f=e>>31>>>6|0;d=f+d|0;e=d>>>0>>0?e+1|0:e;f=d;d=d&-67108864;F[g+2480>>2]=m-d;F[g+2484>>2]=o-((d>>>0>m>>>0)+e|0);d=e;e=d>>26;o=(d&67108863)<<6|f>>>26;d=qe(Z,q,121665,0)+o|0;f=e+$|0;f=d>>>0>>0?f+1|0:f;e=d;m=d+ka|0;d=f+B|0;d=m>>>0>>0?d+1|0:d;o=f;u=f>>31>>>7|0;f=u+e|0;e=o;e=f>>>0>>0?e+1|0:e;o=f;f=f&-33554432;F[g+2488>>2]=m-f;F[g+2492>>2]=d-((f>>>0>m>>>0)+e|0);d=g;f=e;e=e>>25;o=(f&33554431)<<7|o>>>25;k=qe(aa,M,121665,0)+o|0;f=e+$|0;f=k>>>0>>0?f+1|0:f;m=k+la|0;e=f+w|0;e=m>>>0>>0?e+1|0:e;o=f;d=k;k=f>>31>>>6|0;f=d+k|0;d=o;d=f>>>0>>0?d+1|0:d;o=f;f=f&-67108864;F[g+2496>>2]=m-f;F[g+2500>>2]=e-((f>>>0>m>>>0)+d|0);f=d;d=d>>26;o=(f&67108863)<<6|o>>>26;e=qe(ba,R,121665,0)+o|0;f=d+$|0;f=e>>>0>>0?f+1|0:f;d=e;m=d+ma|0;e=f+T|0;e=m>>>0>>0?e+1|0:e;o=e;e=f;f=e>>31>>>7|0;d=f+d|0;u=d;e=d>>>0>>0?e+1|0:e;d=e;f=u&-33554432;F[g+2504>>2]=m-f;F[g+2508>>2]=o-((f>>>0>m>>>0)+d|0);e=g;f=I+ea|0;k=l+A|0;f=k>>>0>>0?f+1|0:f;l=n&-33554432;m=k-l|0;o=f-((k>>>0>>0)+V|0)|0;f=d>>25;l=(d&33554431)<<7|u>>>25;d=r&-67108864;r=c-d|0;k=l+r|0;d=(pa-((c>>>0>>0)+O|0)|0)+f|0;f=qe(l,f,18,0);c=f+k|0;d=$+(k>>>0>>0?d+1|0:d)|0;d=c>>>0>>0?d+1|0:d;l=d;f=d;k=d>>31>>>6|0;d=k+c|0;f=d>>>0>>0?f+1|0:f;k=d;r=f;e=m;d=f>>26;m=(f&67108863)<<6|k>>>26;f=e+m|0;e=d+o|0;F[g+2440>>2]=f;F[g+2444>>2]=f>>>0>>0?e+1|0:e;d=l+ha|0;c=c+y|0;d=c>>>0>>0?d+1|0:d;f=g;e=k&-67108864;F[f+2432>>2]=c-e;F[f+2436>>2]=d-((c>>>0>>0)+r|0);c=Q;sa(c,X,f+2432|0);o=F[c+64>>2];Z=F[c+68>>2];M=F[c+144>>2];T=F[c+148>>2];u=F[c+56>>2];aa=F[c+60>>2];R=F[c+136>>2];K=F[c+140>>2];x=F[c+48>>2];ba=F[c+52>>2];S=F[c+128>>2];O=F[c+132>>2];p=F[c+40>>2];ca=F[c+44>>2];I=F[c+120>>2];V=F[c+124>>2];J=F[c+32>>2];W=F[c+36>>2];X=F[c+112>>2];Y=F[c+116>>2];A=F[c+24>>2];da=F[c+28>>2];N=F[c+104>>2];U=F[c+108>>2];d=F[c+16>>2];f=F[c+20>>2];e=F[c+96>>2];r=F[c+100>>2];k=F[c+8>>2];B=F[c+12>>2];n=F[c+88>>2];m=F[c+92>>2];l=F[c>>2];q=F[c+4>>2];y=F[c+80>>2];C=F[c+84>>2];F[c+80>>2]=0;F[c+84>>2]=0;f=f+r|0;v=d+e|0;f=v>>>0>>0?f+1|0:f;r=qe(e,r,18,0);d=r+v|0;e=$+f|0;w=d;r=d>>>0>>0?e+1|0:e;d=m+B|0;f=k+n|0;d=f>>>0>>0?d+1|0:d;e=qe(n,m,18,0);f=e+f|0;d=$+d|0;d=e>>>0>f>>>0?d+1|0:d;m=f;e=q+C|0;f=l+y|0;e=f>>>0>>0?e+1|0:e;l=qe(y,C,18,0);k=l+f|0;f=$+e|0;f=k>>>0>>0?f+1|0:f;y=f;e=f;l=e>>31>>>6|0;f=l+k|0;n=f;e=f>>>0>>0?e+1|0:e;C=e;f=e>>26;l=(e&67108863)<<6|n>>>26;e=l+m|0;d=d+f|0;d=e>>>0>>0?d+1|0:d;l=e;v=d;e=d;f=d>>31>>>7|0;d=f+l|0;m=d;e=d>>>0>>0?e+1|0:e;B=e;d=e>>25;e=(e&33554431)<<7|m>>>25;f=e+w|0;d=d+r|0;d=e>>>0>f>>>0?d+1|0:d;e=f;q=e;w=d;f=d;e=d>>31>>>6|0;d=q+e|0;P=d;f=d>>>0>>0?f+1|0:f;r=f;d=d&-67108864;F[c+16>>2]=q-d;F[c+20>>2]=w-((d>>>0>q>>>0)+f|0);d=U+da|0;f=A+N|0;d=f>>>0>>0?d+1|0:d;A=qe(N,U,18,0);f=A+f|0;e=$+d|0;e=f>>>0>>0?e+1|0:e;d=e;e=r>>26;A=(r&67108863)<<6|P>>>26;r=A+f|0;f=d+e|0;f=r>>>0>>0?f+1|0:f;e=r;r=e;A=f;d=f;e=d>>31>>>7|0;f=r+e|0;q=f;d=e>>>0>f>>>0?d+1|0:d;f=d;e=q&-33554432;F[c+24>>2]=r-e;F[c+28>>2]=A-((e>>>0>r>>>0)+d|0);e=W+Y|0;d=J+X|0;e=d>>>0>>0?e+1|0:e;r=qe(X,Y,18,0);d=r+d|0;e=$+e|0;e=d>>>0>>0?e+1|0:e;w=d;d=f>>25;r=(f&33554431)<<7|q>>>25;f=w+r|0;d=d+e|0;e=f;J=e;d=e>>>0>>0?d+1|0:d;A=d;f=d;e=d>>31>>>6|0;d=J+e|0;q=d;f=d>>>0>>0?f+1|0:f;r=f;d=d&-67108864;F[c+32>>2]=J-d;F[c+36>>2]=A-((d>>>0>J>>>0)+f|0);d=V+ca|0;f=p+I|0;d=f>>>0

    >>0?d+1|0:d;p=qe(I,V,18,0);f=p+f|0;e=$+d|0;e=f>>>0

    >>0?e+1|0:e;d=e;e=r>>26;p=(r&67108863)<<6|q>>>26;r=p+f|0;f=d+e|0;f=r>>>0

    >>0?f+1|0:f;e=r;r=e;p=f;d=f;e=d>>31>>>7|0;f=r+e|0;J=f;d=e>>>0>f>>>0?d+1|0:d;f=d;e=J&-33554432;F[c+40>>2]=r-e;F[c+44>>2]=p-((e>>>0>r>>>0)+d|0);e=O+ba|0;d=x+S|0;e=d>>>0>>0?e+1|0:e;r=qe(S,O,18,0);d=r+d|0;e=$+e|0;e=d>>>0>>0?e+1|0:e;q=d;d=f>>25;r=(f&33554431)<<7|J>>>25;f=q+r|0;d=d+e|0;e=f;x=e;d=e>>>0>>0?d+1|0:d;p=d;f=d;e=d>>31>>>6|0;d=x+e|0;J=d;f=d>>>0>>0?f+1|0:f;r=f;d=d&-67108864;F[c+48>>2]=x-d;F[c+52>>2]=p-((d>>>0>x>>>0)+f|0);d=K+aa|0;f=u+R|0;d=f>>>0>>0?d+1|0:d;u=qe(R,K,18,0);f=u+f|0;e=$+d|0;e=f>>>0>>0?e+1|0:e;d=e;e=r>>26;u=(r&67108863)<<6|J>>>26;r=u+f|0;f=d+e|0;f=r>>>0>>0?f+1|0:f;e=r;r=e;u=f;d=f;e=d>>31>>>7|0;f=r+e|0;x=f;d=e>>>0>f>>>0?d+1|0:d;f=d;e=x&-33554432;F[c+56>>2]=r-e;F[c+60>>2]=u-((e>>>0>r>>>0)+d|0);e=T+Z|0;d=o+M|0;e=d>>>0>>0?e+1|0:e;Q=qe(M,T,18,0);d=Q+d|0;e=$+e|0;e=d>>>0>>0?e+1|0:e;o=d;d=f>>25;Q=(f&33554431)<<7|x>>>25;f=o+Q|0;d=d+e|0;d=f>>>0>>0?d+1|0:d;Q=d;e=d;o=f;u=d>>31>>>6|0;d=u+f|0;f=d>>>0>>0?e+1|0:e;e=d&-67108864;F[c+64>>2]=o-e;F[c+68>>2]=Q-((e>>>0>o>>>0)+f|0);e=f>>26;o=(f&67108863)<<6|d>>>26;f=o+F[c+72>>2]|0;d=e+F[c+76>>2]|0;d=f>>>0>>0?d+1|0:d;Q=d;e=d;o=f;f=d>>31>>>7|0;d=o+f|0;e=d>>>0>>0?e+1|0:e;f=d&-33554432;F[c+72>>2]=o-f;F[c+76>>2]=Q-((f>>>0>o>>>0)+e|0);f=m&-33554432;m=l-f|0;o=v-((f>>>0>l>>>0)+B|0)|0;f=d;d=e>>25;l=(e&33554431)<<7|f>>>25;Q=n&-67108864;n=k-Q|0;e=l+n|0;f=d;d=d+(y-((k>>>0>>0)+C|0)|0)|0;k=qe(l,f,18,0);f=k+e|0;e=$+(e>>>0>>0?d+1|0:d)|0;e=f>>>0>>0?e+1|0:e;l=e;d=e;k=d>>31>>>6|0;e=k+f|0;d=e>>>0>>0?d+1|0:d;k=e;Q=d;e=d>>26;n=(d&67108863)<<6|k>>>26;d=n+m|0;e=e+o|0;F[c+8>>2]=d;F[c+12>>2]=d>>>0>>0?e+1|0:e;d=k&-67108864;F[c>>2]=f-d;F[c+4>>2]=l-((d>>>0>f>>>0)+Q|0);f=F[t>>2];e=F[b>>2];d=H&(f^e);e=d^e;F[b>>2]=e;F[b+4>>2]=e>>31;d=d^f;F[t>>2]=d;F[t+4>>2]=d>>31;f=F[t+8>>2];e=F[b+8>>2];d=H&(f^e);e=d^e;F[b+8>>2]=e;F[b+12>>2]=e>>31;d=d^f;F[t+8>>2]=d;F[t+12>>2]=d>>31;f=F[t+16>>2];e=F[b+16>>2];d=H&(f^e);e=d^e;F[b+16>>2]=e;F[b+20>>2]=e>>31;d=d^f;F[t+16>>2]=d;F[t+20>>2]=d>>31;f=F[t+24>>2];e=F[b+24>>2];d=H&(f^e);e=d^e;F[b+24>>2]=e;F[b+28>>2]=e>>31;d=d^f;F[t+24>>2]=d;F[t+28>>2]=d>>31;f=F[t+32>>2];e=F[b+32>>2];d=H&(f^e);e=d^e;F[b+32>>2]=e;F[b+36>>2]=e>>31;d=d^f;F[t+32>>2]=d;F[t+36>>2]=d>>31;f=F[t+40>>2];e=F[b+40>>2];d=H&(f^e);e=d^e;F[b+40>>2]=e;F[b+44>>2]=e>>31;d=d^f;F[t+40>>2]=d;F[t+44>>2]=d>>31;f=F[t+48>>2];e=F[b+48>>2];d=H&(f^e);e=d^e;F[b+48>>2]=e;F[b+52>>2]=e>>31;d=d^f;F[t+48>>2]=d;F[t+52>>2]=d>>31;f=F[t+56>>2];e=F[b+56>>2];d=H&(f^e);e=d^e;F[b+56>>2]=e;F[b+60>>2]=e>>31;d=d^f;F[t+56>>2]=d;F[t+60>>2]=d>>31;f=F[t+64>>2];e=F[b+64>>2];d=H&(f^e);e=d^e;F[b+64>>2]=e;F[b+68>>2]=e>>31;d=d^f;F[t+64>>2]=d;F[t+68>>2]=d>>31;f=F[t+72>>2];e=F[b+72>>2];d=H&(f^e);e=d^e;F[b+72>>2]=e;F[b+76>>2]=e>>31;d=d^f;F[t+72>>2]=d;F[t+76>>2]=d>>31;f=F[E>>2];e=F[c>>2];d=H&(f^e);e=d^e;F[c>>2]=e;F[c+4>>2]=e>>31;d=d^f;F[E>>2]=d;F[E+4>>2]=d>>31;f=F[E+8>>2];e=F[c+8>>2];d=H&(f^e);e=d^e;F[c+8>>2]=e;F[c+12>>2]=e>>31;d=d^f;F[E+8>>2]=d;F[E+12>>2]=d>>31;f=F[E+16>>2];e=F[c+16>>2];d=H&(f^e);e=d^e;F[c+16>>2]=e;F[c+20>>2]=e>>31;d=d^f;F[E+16>>2]=d;F[E+20>>2]=d>>31;f=F[E+24>>2];e=F[c+24>>2];d=H&(f^e);e=d^e;F[c+24>>2]=e;F[c+28>>2]=e>>31;d=d^f;F[E+24>>2]=d;F[E+28>>2]=d>>31;f=F[E+32>>2];e=F[c+32>>2];d=H&(f^e);e=d^e;F[c+32>>2]=e;F[c+36>>2]=e>>31;d=d^f;F[E+32>>2]=d;F[E+36>>2]=d>>31;f=F[E+40>>2];e=F[c+40>>2];d=H&(f^e);e=d^e;F[c+40>>2]=e;F[c+44>>2]=e>>31;d=d^f;F[E+40>>2]=d;F[E+44>>2]=d>>31;f=F[E+48>>2];e=F[c+48>>2];d=H&(f^e);e=d^e;F[c+48>>2]=e;F[c+52>>2]=e>>31;d=d^f;F[E+48>>2]=d;F[E+52>>2]=d>>31;f=F[E+56>>2];e=F[c+56>>2];d=H&(f^e);e=d^e;F[c+56>>2]=e;F[c+60>>2]=e>>31;d=d^f;F[E+56>>2]=d;F[E+60>>2]=d>>31;f=F[E+64>>2];e=F[c+64>>2];d=H&(f^e);e=d^e;F[c+64>>2]=e;F[c+68>>2]=e>>31;d=d^f;F[E+64>>2]=d;F[E+68>>2]=d>>31;f=F[E+72>>2];e=F[c+72>>2];d=H&(f^e);e=d^e;F[c+72>>2]=e;F[c+76>>2]=e>>31;d=d^f;F[E+72>>2]=d;F[E+76>>2]=d>>31;ua=ua<<1;Q=i;r=s;k=h;va=va+1|0;if((va|0)!=8){continue}break}ta=ta+1|0;if((ta|0)!=32){continue}break}ja(g+32|0,b,80);b=g+2272|0;ja(b,c,80);h=g+2112|0;ga(h,b);j=g+672|0;ga(j,h);c=g+832|0;ga(c,j);s=g+2432|0;sa(s,c,b);e=F[g+2576>>2];i=F[g+2496>>2];d=e+i|0;k=F[g+2580>>2];f=k+F[g+2500>>2]|0;f=d>>>0>>0?f+1|0:f;i=qe(e,k,18,0);d=i+d|0;e=$+f|0;F[g+2496>>2]=d;F[g+2500>>2]=d>>>0>>0?e+1|0:e;e=F[g+2568>>2];i=F[g+2488>>2];f=e+i|0;k=F[g+2572>>2];d=k+F[g+2492>>2]|0;d=f>>>0>>0?d+1|0:d;i=qe(e,k,18,0);f=i+f|0;e=$+d|0;F[g+2488>>2]=f;F[g+2492>>2]=f>>>0>>0?e+1|0:e;e=F[g+2560>>2];i=F[g+2480>>2];f=e+i|0;k=F[g+2564>>2];d=k+F[g+2484>>2]|0;d=f>>>0>>0?d+1|0:d;i=qe(e,k,18,0);e=i+f|0;f=$+d|0;F[g+2480>>2]=e;F[g+2484>>2]=e>>>0>>0?f+1|0:f;f=F[g+2552>>2];i=F[g+2472>>2];d=f+i|0;k=F[g+2556>>2];e=k+F[g+2476>>2]|0;e=d>>>0>>0?e+1|0:e;i=qe(f,k,18,0);f=i+d|0;d=$+e|0;F[g+2472>>2]=f;F[g+2476>>2]=f>>>0>>0?d+1|0:d;f=F[g+2544>>2];i=F[g+2464>>2];d=f+i|0;k=F[g+2548>>2];e=k+F[g+2468>>2]|0;e=d>>>0>>0?e+1|0:e;i=qe(f,k,18,0);f=i+d|0;d=$+e|0;F[g+2464>>2]=f;F[g+2468>>2]=f>>>0>>0?d+1|0:d;e=F[g+2536>>2];i=F[g+2456>>2];d=e+i|0;k=F[g+2540>>2];f=k+F[g+2460>>2]|0;f=d>>>0>>0?f+1|0:f;i=qe(e,k,18,0);d=i+d|0;e=$+f|0;F[g+2456>>2]=d;F[g+2460>>2]=d>>>0>>0?e+1|0:e;e=F[g+2528>>2];i=F[g+2448>>2];f=e+i|0;k=F[g+2532>>2];d=k+F[g+2452>>2]|0;d=f>>>0>>0?d+1|0:d;i=qe(e,k,18,0);f=i+f|0;e=$+d|0;F[g+2448>>2]=f;F[g+2452>>2]=f>>>0>>0?e+1|0:e;e=F[g+2520>>2];i=F[g+2440>>2];f=e+i|0;k=F[g+2524>>2];d=k+F[g+2444>>2]|0;d=f>>>0>>0?d+1|0:d;i=qe(e,k,18,0);e=i+f|0;f=$+d|0;F[g+2440>>2]=e;F[g+2444>>2]=e>>>0>>0?f+1|0:f;f=F[g+2512>>2];i=F[g+2432>>2];d=f+i|0;k=F[g+2516>>2];e=k+F[g+2436>>2]|0;e=d>>>0>>0?e+1|0:e;i=qe(f,k,18,0);f=i+d|0;d=$+e|0;F[g+2432>>2]=f;F[g+2436>>2]=f>>>0>>0?d+1|0:d;wa(s);i=g+1952|0;ja(i,s,80);sa(s,i,h);f=F[g+2576>>2];h=F[g+2496>>2];d=f+h|0;k=F[g+2580>>2];e=k+F[g+2500>>2]|0;e=d>>>0>>0?e+1|0:e;h=qe(f,k,18,0);f=h+d|0;d=$+e|0;F[g+2496>>2]=f;F[g+2500>>2]=f>>>0>>0?d+1|0:d;e=F[g+2568>>2];h=F[g+2488>>2];d=e+h|0;k=F[g+2572>>2];f=k+F[g+2492>>2]|0;f=d>>>0>>0?f+1|0:f;h=qe(e,k,18,0);d=h+d|0;e=$+f|0;F[g+2488>>2]=d;F[g+2492>>2]=d>>>0>>0?e+1|0:e;e=F[g+2560>>2];h=F[g+2480>>2];f=e+h|0;k=F[g+2564>>2];d=k+F[g+2484>>2]|0;d=f>>>0>>0?d+1|0:d;h=qe(e,k,18,0);f=h+f|0;e=$+d|0;F[g+2480>>2]=f;F[g+2484>>2]=f>>>0>>0?e+1|0:e;e=F[g+2552>>2];h=F[g+2472>>2];f=e+h|0;k=F[g+2556>>2];d=k+F[g+2476>>2]|0;d=f>>>0>>0?d+1|0:d;h=qe(e,k,18,0);e=h+f|0;f=$+d|0;F[g+2472>>2]=e;F[g+2476>>2]=e>>>0>>0?f+1|0:f;f=F[g+2544>>2];h=F[g+2464>>2];d=f+h|0;k=F[g+2548>>2];e=k+F[g+2468>>2]|0;e=d>>>0>>0?e+1|0:e;h=qe(f,k,18,0);f=h+d|0;d=$+e|0;F[g+2464>>2]=f;F[g+2468>>2]=f>>>0>>0?d+1|0:d;f=F[g+2536>>2];h=F[g+2456>>2];d=f+h|0;k=F[g+2540>>2];e=k+F[g+2460>>2]|0;e=d>>>0>>0?e+1|0:e;h=qe(f,k,18,0);f=h+d|0;d=$+e|0;F[g+2456>>2]=f;F[g+2460>>2]=f>>>0>>0?d+1|0:d;e=F[g+2528>>2];h=F[g+2448>>2];d=e+h|0;k=F[g+2532>>2];f=k+F[g+2452>>2]|0;f=d>>>0>>0?f+1|0:f;h=qe(e,k,18,0);d=h+d|0;e=$+f|0;F[g+2448>>2]=d;F[g+2452>>2]=d>>>0>>0?e+1|0:e;e=F[g+2520>>2];h=F[g+2440>>2];f=e+h|0;k=F[g+2524>>2];d=k+F[g+2444>>2]|0;d=f>>>0>>0?d+1|0:d;h=qe(e,k,18,0);f=h+f|0;e=$+d|0;F[g+2440>>2]=f;F[g+2444>>2]=f>>>0>>0?e+1|0:e;e=F[g+2512>>2];h=F[g+2432>>2];f=e+h|0;k=F[g+2516>>2];d=k+F[g+2436>>2]|0;d=f>>>0>>0?d+1|0:d;h=qe(e,k,18,0);e=h+f|0;f=$+d|0;F[g+2432>>2]=e;F[g+2436>>2]=e>>>0>>0?f+1|0:f;wa(s);b=g+1792|0;ja(b,s,80);ga(c,b);sa(s,c,i);f=F[g+2576>>2];h=F[g+2496>>2];d=f+h|0;i=F[g+2580>>2];e=i+F[g+2500>>2]|0;e=d>>>0>>0?e+1|0:e;h=qe(f,i,18,0);f=h+d|0;d=$+e|0;F[g+2496>>2]=f;F[g+2500>>2]=f>>>0>>0?d+1|0:d;f=F[g+2568>>2];h=F[g+2488>>2];d=f+h|0;i=F[g+2572>>2];e=i+F[g+2492>>2]|0;e=d>>>0>>0?e+1|0:e;h=qe(f,i,18,0);f=h+d|0;d=$+e|0;F[g+2488>>2]=f;F[g+2492>>2]=f>>>0>>0?d+1|0:d;e=F[g+2560>>2];h=F[g+2480>>2];d=e+h|0;i=F[g+2564>>2];f=i+F[g+2484>>2]|0;f=d>>>0>>0?f+1|0:f;h=qe(e,i,18,0);d=h+d|0;e=$+f|0;F[g+2480>>2]=d;F[g+2484>>2]=d>>>0>>0?e+1|0:e;e=F[g+2552>>2];h=F[g+2472>>2];f=e+h|0;i=F[g+2556>>2];d=i+F[g+2476>>2]|0;d=f>>>0>>0?d+1|0:d;h=qe(e,i,18,0);f=h+f|0;e=$+d|0;F[g+2472>>2]=f;F[g+2476>>2]=f>>>0>>0?e+1|0:e;e=F[g+2544>>2];h=F[g+2464>>2];f=e+h|0;i=F[g+2548>>2];d=i+F[g+2468>>2]|0;d=f>>>0>>0?d+1|0:d;h=qe(e,i,18,0);e=h+f|0;f=$+d|0;F[g+2464>>2]=e;F[g+2468>>2]=e>>>0>>0?f+1|0:f;f=F[g+2536>>2];h=F[g+2456>>2];d=f+h|0;i=F[g+2540>>2];e=i+F[g+2460>>2]|0;e=d>>>0>>0?e+1|0:e;h=qe(f,i,18,0);f=h+d|0;d=$+e|0;F[g+2456>>2]=f;F[g+2460>>2]=f>>>0>>0?d+1|0:d;f=F[g+2528>>2];h=F[g+2448>>2];d=f+h|0;i=F[g+2532>>2];e=i+F[g+2452>>2]|0;e=d>>>0>>0?e+1|0:e;h=qe(f,i,18,0);f=h+d|0;d=$+e|0;F[g+2448>>2]=f;F[g+2452>>2]=f>>>0>>0?d+1|0:d;e=F[g+2520>>2];h=F[g+2440>>2];d=e+h|0;i=F[g+2524>>2];f=i+F[g+2444>>2]|0;f=d>>>0>>0?f+1|0:f;h=qe(e,i,18,0);d=h+d|0;e=$+f|0;F[g+2440>>2]=d;F[g+2444>>2]=d>>>0>>0?e+1|0:e;e=F[g+2512>>2];h=F[g+2432>>2];f=e+h|0;i=F[g+2516>>2];d=i+F[g+2436>>2]|0;d=f>>>0>>0?d+1|0:d;h=qe(e,i,18,0);f=h+f|0;e=$+d|0;F[g+2432>>2]=f;F[g+2436>>2]=f>>>0>>0?e+1|0:e;wa(s);b=g+1632|0;ja(b,s,80);ga(c,b);ga(j,c);ga(c,j);ga(j,c);ga(c,j);sa(s,c,b);e=F[g+2576>>2];h=F[g+2496>>2];f=e+h|0;i=F[g+2580>>2];d=i+F[g+2500>>2]|0;d=f>>>0>>0?d+1|0:d;h=qe(e,i,18,0);e=h+f|0;f=$+d|0;F[g+2496>>2]=e;F[g+2500>>2]=e>>>0>>0?f+1|0:f;f=F[g+2568>>2];h=F[g+2488>>2];d=f+h|0;i=F[g+2572>>2];e=i+F[g+2492>>2]|0;e=d>>>0>>0?e+1|0:e;h=qe(f,i,18,0);f=h+d|0;d=$+e|0;F[g+2488>>2]=f;F[g+2492>>2]=f>>>0>>0?d+1|0:d;f=F[g+2560>>2];h=F[g+2480>>2];d=f+h|0;i=F[g+2564>>2];e=i+F[g+2484>>2]|0;e=d>>>0>>0?e+1|0:e;h=qe(f,i,18,0);f=h+d|0;d=$+e|0;F[g+2480>>2]=f;F[g+2484>>2]=f>>>0>>0?d+1|0:d;e=F[g+2552>>2];h=F[g+2472>>2];d=e+h|0;i=F[g+2556>>2];f=i+F[g+2476>>2]|0;f=d>>>0>>0?f+1|0:f;h=qe(e,i,18,0);d=h+d|0;e=$+f|0;F[g+2472>>2]=d;F[g+2476>>2]=d>>>0>>0?e+1|0:e;e=F[g+2544>>2];h=F[g+2464>>2];f=e+h|0;i=F[g+2548>>2];d=i+F[g+2468>>2]|0;d=f>>>0>>0?d+1|0:d;h=qe(e,i,18,0);f=h+f|0;e=$+d|0;F[g+2464>>2]=f;F[g+2468>>2]=f>>>0>>0?e+1|0:e;e=F[g+2536>>2];h=F[g+2456>>2];f=e+h|0;i=F[g+2540>>2];d=i+F[g+2460>>2]|0;d=f>>>0>>0?d+1|0:d;h=qe(e,i,18,0);e=h+f|0;f=$+d|0;F[g+2456>>2]=e;F[g+2460>>2]=e>>>0>>0?f+1|0:f;f=F[g+2528>>2];h=F[g+2448>>2];d=f+h|0;i=F[g+2532>>2];e=i+F[g+2452>>2]|0;e=d>>>0>>0?e+1|0:e;h=qe(f,i,18,0);f=h+d|0;d=$+e|0;F[g+2448>>2]=f;F[g+2452>>2]=f>>>0>>0?d+1|0:d;f=F[g+2520>>2];h=F[g+2440>>2];d=f+h|0;i=F[g+2524>>2];e=i+F[g+2444>>2]|0;e=d>>>0>>0?e+1|0:e;h=qe(f,i,18,0);f=h+d|0;d=$+e|0;F[g+2440>>2]=f;F[g+2444>>2]=f>>>0>>0?d+1|0:d;e=F[g+2512>>2];h=F[g+2432>>2];d=e+h|0;i=F[g+2516>>2];f=i+F[g+2436>>2]|0;f=d>>>0>>0?f+1|0:f;h=qe(e,i,18,0);d=h+d|0;e=$+f|0;F[g+2432>>2]=d;F[g+2436>>2]=d>>>0>>0?e+1|0:e;wa(s);h=g+1472|0;ja(h,s,80);ga(c,h);ga(j,c);ga(c,j);ga(j,c);ga(c,j);ga(j,c);ga(c,j);ga(j,c);ga(c,j);ga(j,c);sa(s,j,h);e=F[g+2576>>2];i=F[g+2496>>2];f=e+i|0;k=F[g+2580>>2];d=k+F[g+2500>>2]|0;d=f>>>0>>0?d+1|0:d;i=qe(e,k,18,0);f=i+f|0;e=$+d|0;F[g+2496>>2]=f;F[g+2500>>2]=f>>>0>>0?e+1|0:e;e=F[g+2568>>2];i=F[g+2488>>2];f=e+i|0;k=F[g+2572>>2];d=k+F[g+2492>>2]|0;d=f>>>0>>0?d+1|0:d;i=qe(e,k,18,0);e=i+f|0;f=$+d|0;F[g+2488>>2]=e;F[g+2492>>2]=e>>>0>>0?f+1|0:f;f=F[g+2560>>2];i=F[g+2480>>2];d=f+i|0;k=F[g+2564>>2];e=k+F[g+2484>>2]|0;e=d>>>0>>0?e+1|0:e;i=qe(f,k,18,0);f=i+d|0;d=$+e|0;F[g+2480>>2]=f;F[g+2484>>2]=f>>>0>>0?d+1|0:d;f=F[g+2552>>2];i=F[g+2472>>2];d=f+i|0;k=F[g+2556>>2];e=k+F[g+2476>>2]|0;e=d>>>0>>0?e+1|0:e;i=qe(f,k,18,0);f=i+d|0;d=$+e|0;F[g+2472>>2]=f;F[g+2476>>2]=f>>>0>>0?d+1|0:d;e=F[g+2544>>2];i=F[g+2464>>2];d=e+i|0;k=F[g+2548>>2];f=k+F[g+2468>>2]|0;f=d>>>0>>0?f+1|0:f;i=qe(e,k,18,0);d=i+d|0;e=$+f|0;F[g+2464>>2]=d;F[g+2468>>2]=d>>>0>>0?e+1|0:e;e=F[g+2536>>2];i=F[g+2456>>2];f=e+i|0;k=F[g+2540>>2];d=k+F[g+2460>>2]|0;d=f>>>0>>0?d+1|0:d;i=qe(e,k,18,0);f=i+f|0;e=$+d|0;F[g+2456>>2]=f;F[g+2460>>2]=f>>>0>>0?e+1|0:e;e=F[g+2528>>2];i=F[g+2448>>2];f=e+i|0;k=F[g+2532>>2];d=k+F[g+2452>>2]|0;d=f>>>0>>0?d+1|0:d;i=qe(e,k,18,0);e=i+f|0;f=$+d|0;F[g+2448>>2]=e;F[g+2452>>2]=e>>>0>>0?f+1|0:f;f=F[g+2520>>2];i=F[g+2440>>2];d=f+i|0;k=F[g+2524>>2];e=k+F[g+2444>>2]|0;e=d>>>0>>0?e+1|0:e;i=qe(f,k,18,0);f=i+d|0;d=$+e|0;F[g+2440>>2]=f;F[g+2444>>2]=f>>>0>>0?d+1|0:d;f=F[g+2512>>2];i=F[g+2432>>2];d=f+i|0;k=F[g+2516>>2];e=k+F[g+2436>>2]|0;e=d>>>0>>0?e+1|0:e;i=qe(f,k,18,0);f=i+d|0;d=$+e|0;F[g+2432>>2]=f;F[g+2436>>2]=f>>>0>>0?d+1|0:d;wa(s);b=g+1312|0;ja(b,s,80);ga(c,b);ga(j,c);ga(c,j);ga(j,c);ga(c,j);ga(j,c);ga(c,j);ga(j,c);ga(c,j);ga(j,c);ga(c,j);ga(j,c);ga(c,j);ga(j,c);ga(c,j);ga(j,c);ga(c,j);ga(j,c);ga(c,j);ga(j,c);sa(s,j,b);e=F[g+2576>>2];i=F[g+2496>>2];d=e+i|0;k=F[g+2580>>2];f=k+F[g+2500>>2]|0;f=d>>>0>>0?f+1|0:f;i=qe(e,k,18,0);d=i+d|0;e=$+f|0;F[g+2496>>2]=d;F[g+2500>>2]=d>>>0>>0?e+1|0:e;e=F[g+2568>>2];i=F[g+2488>>2];f=e+i|0;k=F[g+2572>>2];d=k+F[g+2492>>2]|0;d=f>>>0>>0?d+1|0:d;i=qe(e,k,18,0);f=i+f|0;e=$+d|0;F[g+2488>>2]=f;F[g+2492>>2]=f>>>0>>0?e+1|0:e;e=F[g+2560>>2];i=F[g+2480>>2];f=e+i|0;k=F[g+2564>>2];d=k+F[g+2484>>2]|0;d=f>>>0>>0?d+1|0:d;i=qe(e,k,18,0);e=i+f|0;f=$+d|0;F[g+2480>>2]=e;F[g+2484>>2]=e>>>0>>0?f+1|0:f;f=F[g+2552>>2];i=F[g+2472>>2];d=f+i|0;k=F[g+2556>>2];e=k+F[g+2476>>2]|0;e=d>>>0>>0?e+1|0:e;i=qe(f,k,18,0);f=i+d|0;d=$+e|0;F[g+2472>>2]=f;F[g+2476>>2]=f>>>0>>0?d+1|0:d;f=F[g+2544>>2];i=F[g+2464>>2];d=f+i|0;k=F[g+2548>>2];e=k+F[g+2468>>2]|0;e=d>>>0>>0?e+1|0:e;i=qe(f,k,18,0);f=i+d|0;d=$+e|0;F[g+2464>>2]=f;F[g+2468>>2]=f>>>0>>0?d+1|0:d;e=F[g+2536>>2];i=F[g+2456>>2];d=e+i|0;k=F[g+2540>>2];f=k+F[g+2460>>2]|0;f=d>>>0>>0?f+1|0:f;i=qe(e,k,18,0);d=i+d|0;e=$+f|0;F[g+2456>>2]=d;F[g+2460>>2]=d>>>0>>0?e+1|0:e;e=F[g+2528>>2];i=F[g+2448>>2];f=e+i|0;k=F[g+2532>>2];d=k+F[g+2452>>2]|0;d=f>>>0>>0?d+1|0:d;i=qe(e,k,18,0);f=i+f|0;e=$+d|0;F[g+2448>>2]=f;F[g+2452>>2]=f>>>0>>0?e+1|0:e;e=F[g+2520>>2];i=F[g+2440>>2];f=e+i|0;k=F[g+2524>>2];d=k+F[g+2444>>2]|0;d=f>>>0>>0?d+1|0:d;i=qe(e,k,18,0);e=i+f|0;f=$+d|0;F[g+2440>>2]=e;F[g+2444>>2]=e>>>0>>0?f+1|0:f;f=F[g+2512>>2];i=F[g+2432>>2];d=f+i|0;k=F[g+2516>>2];e=k+F[g+2436>>2]|0;e=d>>>0>>0?e+1|0:e;i=qe(f,k,18,0);f=i+d|0;d=$+e|0;F[g+2432>>2]=f;F[g+2436>>2]=f>>>0>>0?d+1|0:d;wa(s);ja(c,s,80);ga(j,c);ga(c,j);ga(j,c);ga(c,j);ga(j,c);ga(c,j);ga(j,c);ga(c,j);ga(j,c);ga(c,j);sa(s,c,h);f=F[g+2576>>2];h=F[g+2496>>2];d=f+h|0;i=F[g+2580>>2];e=i+F[g+2500>>2]|0;e=d>>>0>>0?e+1|0:e;h=qe(f,i,18,0);f=h+d|0;d=$+e|0;F[g+2496>>2]=f;F[g+2500>>2]=f>>>0>>0?d+1|0:d;e=F[g+2568>>2];h=F[g+2488>>2];d=e+h|0;i=F[g+2572>>2];f=i+F[g+2492>>2]|0;f=d>>>0>>0?f+1|0:f;h=qe(e,i,18,0);d=h+d|0;e=$+f|0;F[g+2488>>2]=d;F[g+2492>>2]=d>>>0>>0?e+1|0:e;e=F[g+2560>>2];h=F[g+2480>>2];f=e+h|0;i=F[g+2564>>2];d=i+F[g+2484>>2]|0;d=f>>>0>>0?d+1|0:d;h=qe(e,i,18,0);f=h+f|0;e=$+d|0;F[g+2480>>2]=f;F[g+2484>>2]=f>>>0>>0?e+1|0:e;e=F[g+2552>>2];h=F[g+2472>>2];f=e+h|0;i=F[g+2556>>2];d=i+F[g+2476>>2]|0;d=f>>>0>>0?d+1|0:d;h=qe(e,i,18,0);e=h+f|0;f=$+d|0;F[g+2472>>2]=e;F[g+2476>>2]=e>>>0>>0?f+1|0:f;f=F[g+2544>>2];h=F[g+2464>>2];d=f+h|0;i=F[g+2548>>2];e=i+F[g+2468>>2]|0;e=d>>>0>>0?e+1|0:e;h=qe(f,i,18,0);f=h+d|0;d=$+e|0;F[g+2464>>2]=f;F[g+2468>>2]=f>>>0>>0?d+1|0:d;f=F[g+2536>>2];h=F[g+2456>>2];d=f+h|0;i=F[g+2540>>2];e=i+F[g+2460>>2]|0;e=d>>>0>>0?e+1|0:e;h=qe(f,i,18,0);f=h+d|0;d=$+e|0;F[g+2456>>2]=f;F[g+2460>>2]=f>>>0>>0?d+1|0:d;e=F[g+2528>>2];h=F[g+2448>>2];d=e+h|0;i=F[g+2532>>2];f=i+F[g+2452>>2]|0;f=d>>>0>>0?f+1|0:f;h=qe(e,i,18,0);d=h+d|0;e=$+f|0;F[g+2448>>2]=d;F[g+2452>>2]=d>>>0>>0?e+1|0:e;e=F[g+2520>>2];h=F[g+2440>>2];f=e+h|0;i=F[g+2524>>2];d=i+F[g+2444>>2]|0;d=f>>>0>>0?d+1|0:d;h=qe(e,i,18,0);f=h+f|0;e=$+d|0;F[g+2440>>2]=f;F[g+2444>>2]=f>>>0>>0?e+1|0:e;e=F[g+2512>>2];h=F[g+2432>>2];f=e+h|0;i=F[g+2516>>2];d=i+F[g+2436>>2]|0;d=f>>>0>>0?d+1|0:d;h=qe(e,i,18,0);e=h+f|0;f=$+d|0;F[g+2432>>2]=e;F[g+2436>>2]=e>>>0>>0?f+1|0:f;wa(s);b=g+1152|0;ja(b,s,80);ga(c,b);ga(j,c);ga(c,j);ga(j,c);ga(c,j);ga(j,c);ga(c,j);ga(j,c);ga(c,j);ga(j,c);ga(c,j);ga(j,c);ga(c,j);ga(j,c);ga(c,j);ga(j,c);ga(c,j);ga(j,c);ga(c,j);ga(j,c);ga(c,j);ga(j,c);ga(c,j);ga(j,c);ga(c,j);ga(j,c);ga(c,j);ga(j,c);ga(c,j);ga(j,c);ga(c,j);ga(j,c);ga(c,j);ga(j,c);ga(c,j);ga(j,c);ga(c,j);ga(j,c);ga(c,j);ga(j,c);ga(c,j);ga(j,c);ga(c,j);ga(j,c);ga(c,j);ga(j,c);ga(c,j);ga(j,c);ga(c,j);ga(j,c);sa(s,j,b);f=F[g+2576>>2];h=F[g+2496>>2];d=f+h|0;i=F[g+2580>>2];e=i+F[g+2500>>2]|0;e=d>>>0>>0?e+1|0:e;h=qe(f,i,18,0);f=h+d|0;d=$+e|0;F[g+2496>>2]=f;F[g+2500>>2]=f>>>0>>0?d+1|0:d;f=F[g+2568>>2];h=F[g+2488>>2];d=f+h|0;i=F[g+2572>>2];e=i+F[g+2492>>2]|0;e=d>>>0>>0?e+1|0:e;h=qe(f,i,18,0);f=h+d|0;d=$+e|0;F[g+2488>>2]=f;F[g+2492>>2]=f>>>0>>0?d+1|0:d;e=F[g+2560>>2];h=F[g+2480>>2];d=e+h|0;i=F[g+2564>>2];f=i+F[g+2484>>2]|0;f=d>>>0>>0?f+1|0:f;h=qe(e,i,18,0);d=h+d|0;e=$+f|0;F[g+2480>>2]=d;F[g+2484>>2]=d>>>0>>0?e+1|0:e;e=F[g+2552>>2];h=F[g+2472>>2];f=e+h|0;i=F[g+2556>>2];d=i+F[g+2476>>2]|0;d=f>>>0>>0?d+1|0:d;h=qe(e,i,18,0);f=h+f|0;e=$+d|0;F[g+2472>>2]=f;F[g+2476>>2]=f>>>0>>0?e+1|0:e;e=F[g+2544>>2];h=F[g+2464>>2];f=e+h|0;i=F[g+2548>>2];d=i+F[g+2468>>2]|0;d=f>>>0>>0?d+1|0:d;h=qe(e,i,18,0);e=h+f|0;f=$+d|0;F[g+2464>>2]=e;F[g+2468>>2]=e>>>0>>0?f+1|0:f;f=F[g+2536>>2];h=F[g+2456>>2];d=f+h|0;i=F[g+2540>>2];e=i+F[g+2460>>2]|0;e=d>>>0>>0?e+1|0:e;h=qe(f,i,18,0);f=h+d|0;d=$+e|0;F[g+2456>>2]=f;F[g+2460>>2]=f>>>0>>0?d+1|0:d;f=F[g+2528>>2];h=F[g+2448>>2];d=f+h|0;i=F[g+2532>>2];e=i+F[g+2452>>2]|0;e=d>>>0>>0?e+1|0:e;h=qe(f,i,18,0);f=h+d|0;d=$+e|0;F[g+2448>>2]=f;F[g+2452>>2]=f>>>0>>0?d+1|0:d;e=F[g+2520>>2];h=F[g+2440>>2];d=e+h|0;i=F[g+2524>>2];f=i+F[g+2444>>2]|0;f=d>>>0>>0?f+1|0:f;h=qe(e,i,18,0);d=h+d|0;e=$+f|0;F[g+2440>>2]=d;F[g+2444>>2]=d>>>0>>0?e+1|0:e;e=F[g+2512>>2];h=F[g+2432>>2];f=e+h|0;i=F[g+2516>>2];d=i+F[g+2436>>2]|0;d=f>>>0>>0?d+1|0:d;h=qe(e,i,18,0);f=h+f|0;e=$+d|0;F[g+2432>>2]=f;F[g+2436>>2]=f>>>0>>0?e+1|0:e;wa(s);b=g+992|0;ja(b,s,80);ga(j,b);ga(c,j);c=2;while(1){b=c>>>0<98;d=g+672|0;f=g+832|0;ga(d,f);ga(f,d);c=c+2|0;if(b){continue}break}s=g+2432|0;j=g+832|0;sa(s,j,g+992|0);f=F[g+2576>>2];e=F[g+2496>>2];c=f+e|0;h=F[g+2580>>2];d=h+F[g+2500>>2]|0;d=c>>>0>>0?d+1|0:d;e=qe(f,h,18,0);c=e+c|0;f=$+d|0;F[g+2496>>2]=c;F[g+2500>>2]=c>>>0>>0?f+1|0:f;d=F[g+2568>>2];f=F[g+2488>>2];c=d+f|0;h=F[g+2572>>2];e=h+F[g+2492>>2]|0;e=c>>>0>>0?e+1|0:e;f=qe(d,h,18,0);c=f+c|0;d=$+e|0;F[g+2488>>2]=c;F[g+2492>>2]=c>>>0>>0?d+1|0:d;d=F[g+2560>>2];f=F[g+2480>>2];c=d+f|0;h=F[g+2564>>2];e=h+F[g+2484>>2]|0;e=c>>>0>>0?e+1|0:e;f=qe(d,h,18,0);c=f+c|0;d=$+e|0;F[g+2480>>2]=c;F[g+2484>>2]=c>>>0>>0?d+1|0:d;d=F[g+2552>>2];e=F[g+2472>>2];c=d+e|0;h=F[g+2556>>2];f=h+F[g+2476>>2]|0;f=c>>>0>>0?f+1|0:f;d=qe(d,h,18,0);c=d+c|0;e=$+f|0;F[g+2472>>2]=c;F[g+2476>>2]=c>>>0>>0?e+1|0:e;f=F[g+2544>>2];e=F[g+2464>>2];c=f+e|0;h=F[g+2548>>2];d=h+F[g+2468>>2]|0;d=c>>>0>>0?d+1|0:d;f=qe(f,h,18,0);c=f+c|0;e=$+d|0;F[g+2464>>2]=c;F[g+2468>>2]=c>>>0>>0?e+1|0:e;f=F[g+2536>>2];e=F[g+2456>>2];c=f+e|0;h=F[g+2540>>2];d=h+F[g+2460>>2]|0;d=c>>>0>>0?d+1|0:d;e=qe(f,h,18,0);c=e+c|0;f=$+d|0;F[g+2456>>2]=c;F[g+2460>>2]=c>>>0>>0?f+1|0:f;d=F[g+2528>>2];f=F[g+2448>>2];c=d+f|0;h=F[g+2532>>2];e=h+F[g+2452>>2]|0;e=c>>>0>>0?e+1|0:e;f=qe(d,h,18,0);c=f+c|0;d=$+e|0;F[g+2448>>2]=c;F[g+2452>>2]=c>>>0>>0?d+1|0:d;d=F[g+2520>>2];f=F[g+2440>>2];c=d+f|0;h=F[g+2524>>2];e=h+F[g+2444>>2]|0;e=c>>>0>>0?e+1|0:e;f=qe(d,h,18,0);c=f+c|0;d=$+e|0;F[g+2440>>2]=c;F[g+2444>>2]=c>>>0>>0?d+1|0:d;d=F[g+2512>>2];e=F[g+2432>>2];c=d+e|0;h=F[g+2516>>2];f=h+F[g+2436>>2]|0;f=c>>>0>>0?f+1|0:f;d=qe(d,h,18,0);c=d+c|0;e=$+f|0;F[g+2432>>2]=c;F[g+2436>>2]=c>>>0>>0?e+1|0:e;wa(s);c=g+672|0;ja(c,s,80);ga(j,c);ga(c,j);ga(j,c);ga(c,j);ga(j,c);ga(c,j);ga(j,c);ga(c,j);ga(j,c);ga(c,j);ga(j,c);ga(c,j);ga(j,c);ga(c,j);ga(j,c);ga(c,j);ga(j,c);ga(c,j);ga(j,c);ga(c,j);ga(j,c);ga(c,j);ga(j,c);ga(c,j);ga(j,c);ga(c,j);ga(j,c);ga(c,j);ga(j,c);ga(c,j);ga(j,c);ga(c,j);ga(j,c);ga(c,j);ga(j,c);ga(c,j);ga(j,c);ga(c,j);ga(j,c);ga(c,j);ga(j,c);ga(c,j);ga(j,c);ga(c,j);ga(j,c);ga(c,j);ga(j,c);ga(c,j);ga(j,c);ga(c,j);sa(s,c,g+1152|0);e=F[g+2576>>2];h=F[g+2496>>2];f=e+h|0;i=F[g+2580>>2];d=i+F[g+2500>>2]|0;d=f>>>0>>0?d+1|0:d;h=qe(e,i,18,0);f=h+f|0;e=$+d|0;F[g+2496>>2]=f;F[g+2500>>2]=f>>>0>>0?e+1|0:e;e=F[g+2568>>2];h=F[g+2488>>2];f=e+h|0;i=F[g+2572>>2];d=i+F[g+2492>>2]|0;d=f>>>0>>0?d+1|0:d;h=qe(e,i,18,0);e=h+f|0;f=$+d|0;F[g+2488>>2]=e;F[g+2492>>2]=e>>>0>>0?f+1|0:f;f=F[g+2560>>2];h=F[g+2480>>2];d=f+h|0;i=F[g+2564>>2];e=i+F[g+2484>>2]|0;e=d>>>0>>0?e+1|0:e;h=qe(f,i,18,0);f=h+d|0;d=$+e|0;F[g+2480>>2]=f;F[g+2484>>2]=f>>>0>>0?d+1|0:d;f=F[g+2552>>2];h=F[g+2472>>2];d=f+h|0;i=F[g+2556>>2];e=i+F[g+2476>>2]|0;e=d>>>0>>0?e+1|0:e;h=qe(f,i,18,0);f=h+d|0;d=$+e|0;F[g+2472>>2]=f;F[g+2476>>2]=f>>>0>>0?d+1|0:d;e=F[g+2544>>2];h=F[g+2464>>2];d=e+h|0;i=F[g+2548>>2];f=i+F[g+2468>>2]|0;f=d>>>0>>0?f+1|0:f;h=qe(e,i,18,0);d=h+d|0;e=$+f|0;F[g+2464>>2]=d;F[g+2468>>2]=d>>>0>>0?e+1|0:e;e=F[g+2536>>2];h=F[g+2456>>2];f=e+h|0;i=F[g+2540>>2];d=i+F[g+2460>>2]|0;d=f>>>0>>0?d+1|0:d;h=qe(e,i,18,0);f=h+f|0;e=$+d|0;F[g+2456>>2]=f;F[g+2460>>2]=f>>>0>>0?e+1|0:e;e=F[g+2528>>2];h=F[g+2448>>2];f=e+h|0;i=F[g+2532>>2];d=i+F[g+2452>>2]|0;d=f>>>0>>0?d+1|0:d;h=qe(e,i,18,0);e=h+f|0;f=$+d|0;F[g+2448>>2]=e;F[g+2452>>2]=e>>>0>>0?f+1|0:f;f=F[g+2520>>2];h=F[g+2440>>2];d=f+h|0;i=F[g+2524>>2];e=i+F[g+2444>>2]|0;e=d>>>0>>0?e+1|0:e;h=qe(f,i,18,0);f=h+d|0;d=$+e|0;F[g+2440>>2]=f;F[g+2444>>2]=f>>>0>>0?d+1|0:d;f=F[g+2512>>2];h=F[g+2432>>2];d=f+h|0;i=F[g+2516>>2];e=i+F[g+2436>>2]|0;e=d>>>0>>0?e+1|0:e;h=qe(f,i,18,0);f=h+d|0;d=$+e|0;F[g+2432>>2]=f;F[g+2436>>2]=f>>>0>>0?d+1|0:d;wa(s);ja(j,s,80);ga(c,j);ga(j,c);ga(c,j);ga(j,c);ga(c,j);sa(s,c,g+1792|0);d=F[g+2576>>2];e=F[g+2496>>2];c=d+e|0;j=F[g+2580>>2];f=j+F[g+2500>>2]|0;f=c>>>0>>0?f+1|0:f;d=qe(d,j,18,0);c=d+c|0;e=$+f|0;F[g+2496>>2]=c;F[g+2500>>2]=c>>>0>>0?e+1|0:e;f=F[g+2568>>2];e=F[g+2488>>2];c=f+e|0;j=F[g+2572>>2];d=j+F[g+2492>>2]|0;d=c>>>0>>0?d+1|0:d;f=qe(f,j,18,0);c=f+c|0;e=$+d|0;F[g+2488>>2]=c;F[g+2492>>2]=c>>>0>>0?e+1|0:e;f=F[g+2560>>2];e=F[g+2480>>2];c=f+e|0;j=F[g+2564>>2];d=j+F[g+2484>>2]|0;d=c>>>0>>0?d+1|0:d;e=qe(f,j,18,0);c=e+c|0;f=$+d|0;F[g+2480>>2]=c;F[g+2484>>2]=c>>>0>>0?f+1|0:f;d=F[g+2552>>2];f=F[g+2472>>2];c=d+f|0;j=F[g+2556>>2];e=j+F[g+2476>>2]|0;e=c>>>0>>0?e+1|0:e;f=qe(d,j,18,0);c=f+c|0;d=$+e|0;F[g+2472>>2]=c;F[g+2476>>2]=c>>>0>>0?d+1|0:d;d=F[g+2544>>2];f=F[g+2464>>2];c=d+f|0;j=F[g+2548>>2];e=j+F[g+2468>>2]|0;e=c>>>0>>0?e+1|0:e;f=qe(d,j,18,0);c=f+c|0;d=$+e|0;F[g+2464>>2]=c;F[g+2468>>2]=c>>>0>>0?d+1|0:d;d=F[g+2536>>2];e=F[g+2456>>2];c=d+e|0;j=F[g+2540>>2];f=j+F[g+2460>>2]|0;f=c>>>0>>0?f+1|0:f;d=qe(d,j,18,0);c=d+c|0;e=$+f|0;F[g+2456>>2]=c;F[g+2460>>2]=c>>>0>>0?e+1|0:e;f=F[g+2528>>2];e=F[g+2448>>2];c=f+e|0;j=F[g+2532>>2];d=j+F[g+2452>>2]|0;d=c>>>0>>0?d+1|0:d;f=qe(f,j,18,0);c=f+c|0;e=$+d|0;F[g+2448>>2]=c;F[g+2452>>2]=c>>>0>>0?e+1|0:e;f=F[g+2520>>2];e=F[g+2440>>2];c=f+e|0;j=F[g+2524>>2];d=j+F[g+2444>>2]|0;d=c>>>0>>0?d+1|0:d;e=qe(f,j,18,0);c=e+c|0;f=$+d|0;F[g+2440>>2]=c;F[g+2444>>2]=c>>>0>>0?f+1|0:f;d=F[g+2512>>2];f=F[g+2432>>2];c=d+f|0;j=F[g+2516>>2];e=j+F[g+2436>>2]|0;e=c>>>0>>0?e+1|0:e;f=qe(d,j,18,0);c=f+c|0;d=$+e|0;F[g+2432>>2]=c;F[g+2436>>2]=c>>>0>>0?d+1|0:d;wa(s);b=g+512|0;ja(b,s,80);sa(s,g+32|0,b);d=F[g+2576>>2];f=F[g+2496>>2];c=d+f|0;j=F[g+2580>>2];e=j+F[g+2500>>2]|0;e=c>>>0>>0?e+1|0:e;f=qe(d,j,18,0);c=f+c|0;d=$+e|0;F[g+2496>>2]=c;F[g+2500>>2]=c>>>0>>0?d+1|0:d;d=F[g+2568>>2];e=F[g+2488>>2];c=d+e|0;j=F[g+2572>>2];f=j+F[g+2492>>2]|0;f=c>>>0>>0?f+1|0:f;d=qe(d,j,18,0);c=d+c|0;e=$+f|0;F[g+2488>>2]=c;F[g+2492>>2]=c>>>0>>0?e+1|0:e;f=F[g+2560>>2];e=F[g+2480>>2];c=f+e|0;j=F[g+2564>>2];d=j+F[g+2484>>2]|0;d=c>>>0>>0?d+1|0:d;f=qe(f,j,18,0);c=f+c|0;e=$+d|0;F[g+2480>>2]=c;F[g+2484>>2]=c>>>0>>0?e+1|0:e;f=F[g+2552>>2];e=F[g+2472>>2];c=f+e|0;j=F[g+2556>>2];d=j+F[g+2476>>2]|0;d=c>>>0>>0?d+1|0:d;e=qe(f,j,18,0);c=e+c|0;f=$+d|0;F[g+2472>>2]=c;F[g+2476>>2]=c>>>0>>0?f+1|0:f;d=F[g+2544>>2];f=F[g+2464>>2];c=d+f|0;j=F[g+2548>>2];e=j+F[g+2468>>2]|0;e=c>>>0>>0?e+1|0:e;f=qe(d,j,18,0);c=f+c|0;d=$+e|0;F[g+2464>>2]=c;F[g+2468>>2]=c>>>0>>0?d+1|0:d;d=F[g+2536>>2];f=F[g+2456>>2];c=d+f|0;j=F[g+2540>>2];e=j+F[g+2460>>2]|0;e=c>>>0>>0?e+1|0:e;f=qe(d,j,18,0);c=f+c|0;d=$+e|0;F[g+2456>>2]=c;F[g+2460>>2]=c>>>0>>0?d+1|0:d;d=F[g+2528>>2];e=F[g+2448>>2];c=d+e|0;j=F[g+2532>>2];f=j+F[g+2452>>2]|0;f=c>>>0>>0?f+1|0:f;d=qe(d,j,18,0);c=d+c|0;e=$+f|0;F[g+2448>>2]=c;F[g+2452>>2]=c>>>0>>0?e+1|0:e;f=F[g+2520>>2];e=F[g+2440>>2];c=f+e|0;j=F[g+2524>>2];d=j+F[g+2444>>2]|0;d=c>>>0>>0?d+1|0:d;f=qe(f,j,18,0);c=f+c|0;e=$+d|0;F[g+2440>>2]=c;F[g+2444>>2]=c>>>0>>0?e+1|0:e;f=F[g+2512>>2];e=F[g+2432>>2];c=f+e|0;j=F[g+2516>>2];d=j+F[g+2436>>2]|0;d=c>>>0>>0?d+1|0:d;e=qe(f,j,18,0);c=e+c|0;f=$+d|0;F[g+2432>>2]=c;F[g+2436>>2]=c>>>0>>0?f+1|0:f;wa(s);ja(g+2272|0,s,80);b=F[g+2272>>2];l=b>>31&b;c=F[g+2280>>2]+(l>>26)|0;z=c>>31&c;d=F[g+2288>>2]+(z>>25)|0;r=d>>31&d;f=F[g+2296>>2]+(r>>26)|0;Q=f>>31&f;e=F[g+2304>>2]+(Q>>25)|0;t=e>>31&e;j=F[g+2312>>2]+(t>>26)|0;n=j>>31&j;s=F[g+2320>>2]+(n>>25)|0;m=s>>31&s;h=F[g+2328>>2]+(m>>26)|0;o=h>>31&h;i=F[g+2336>>2]+(o>>25)|0;u=i>>31&i;k=F[g+2344>>2]+(u>>26)|0;x=k>>31&k;b=L(x>>25,19)+(b-(l&-67108864)|0)|0;p=b>>31&b;c=(p>>26)+(c-(z&-33554432)|0)|0;l=c>>31&c;q=c-(l&-33554432)|0;w=b-(p&-67108864)|0;p=k-(x&-33554432)|0;b=(d-(r&-67108864)|0)+(l>>25)|0;k=b>>31&b;c=(f-(Q&-33554432)|0)+(k>>26)|0;l=c>>31&c;d=(e-(t&-67108864)|0)+(l>>25)|0;z=d>>31&d;f=(j-(n&-33554432)|0)+(z>>26)|0;r=f>>31&f;e=(s-(m&-67108864)|0)+(r>>25)|0;Q=e>>31&e;j=(h-(o&-33554432)|0)+(Q>>26)|0;t=j>>31&j;s=(i-(u&-67108864)|0)+(t>>25)|0;n=s>>31&s;h=p+(n>>26)|0;m=h>>31&h;i=w+L(m>>25,19)|0;o=i>>31&i;i=i-(o&-67108864)|0;o=(q+(o>>26)|0)+(i>>26)|0;b=(o>>25)+(b-(k&-67108864)|0)|0;k=(b>>26)+(c-(l&-33554432)|0)|0;l=(k>>25)+(d-(z&-67108864)|0)|0;z=(l>>26)+(f-(r&-33554432)|0)|0;r=(z>>25)+(e-(Q&-67108864)|0)|0;j=(r>>26)+(j-(t&-33554432)|0)|0;s=(j>>25)+(s-(n&-67108864)|0)|0;h=(s>>26)+(h-(m&-33554432)|0)|0;Q=L(h>>25,19)+(i&67108863)|0;c=(Q>>26)+(o&33554431)|0;d=(c>>25)+(b&67108863)|0;f=(d>>26)+(k&33554431)|0;e=(f>>25)+(l&67108863)|0;b=(e>>26)+(z&33554431)|0;o=b&33554431;l=h&33554431;m=s&67108863;n=j&33554431;j=(r&67108863)+(b>>25)|0;s=n+(j>>26)|0;h=m+(s>>25)|0;i=l+(h>>26)|0;l=L(i>>25,19)+(Q&67108863)|0;k=(d|-67108864)&d<<16;k=k<<8&k;k=k<<4&k;k=k<<2&k;m=k<<1&k;k=(c|-33554432)&c<<16;k=k<<8&k;k=k<<4&k;k=k<<2&k;m=m&(k<<1&k);k=(f|-33554432)&f<<16;k=k<<8&k;k=k<<4&k;k=k<<2&k;m=m&(k<<1&k);k=(e|-67108864)&e<<16;k=k<<8&k;k=k<<4&k;k=k<<2&k;b=(b|-33554432)&b<<16;b=b<<8&b;b=b<<4&b;b=b<<2&b;m=(l-67108845>>31^-1)&(m&(k<<1&k)&(b<<1&b))>>31;b=(j|-67108864)&j<<16;b=b<<8&b;b=b<<4&b;b=b<<2&b;m=m&(b<<1&b)>>31;b=(s|-33554432)&s<<16;b=b<<8&b;b=b<<4&b;b=b<<2&b;m=m&(b<<1&b)>>31;b=(h|-67108864)&h<<16;b=b<<8&b;b=b<<4&b;b=b<<2&b;m=m&(b<<1&b)>>31;b=(i|-33554432)&i<<16;b=b<<8&b;b=b<<4&b;b=b<<2&b;z=m&(b<<1&b)>>31;b=z&33554431;k=o-b|0;D[a+16|0]=k;l=l-(z&67108845)|0;D[a|0]=l;i=(i&33554431)-b|0;D[a+31|0]=i>>>18;D[a+30|0]=i>>>10;D[a+29|0]=i>>>2;o=h&67108863;h=z&67108863;z=o-h|0;D[a+27|0]=z>>>12;D[a+26|0]=z>>>4;s=(s&33554431)-b|0;D[a+24|0]=s>>>13;D[a+23|0]=s>>>5;j=(j&67108863)-h|0;D[a+21|0]=j>>>15;D[a+20|0]=j>>>7;D[a+18|0]=k>>>16;D[a+17|0]=k>>>8;e=(e&67108863)-h|0;D[a+15|0]=e>>>18;D[a+14|0]=e>>>10;D[a+13|0]=e>>>2;f=(f&33554431)-b|0;D[a+11|0]=f>>>11;D[a+10|0]=f>>>3;d=(d&67108863)-h|0;D[a+8|0]=d>>>13;D[a+7|0]=d>>>5;b=(c&33554431)-b|0;D[a+5|0]=b>>>14;D[a+4|0]=b>>>6;D[a+2|0]=l>>>16;D[a+1|0]=l>>>8;D[a+28|0]=i<<6|z>>>20;D[a+25|0]=z<<4|s>>>21;D[a+22|0]=s<<3|j>>>23;D[a+19|0]=j<<1|k>>>24;D[a+12|0]=e<<6|f>>>19;D[a+9|0]=f<<5|d>>>21;D[a+6|0]=d<<3|b>>>22;D[a+3|0]=b<<2|l>>>24;_=g+2592|0}function $a(a,b,c,d){var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,E=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0,qa=0,ra=0,sa=0,ua=0,va=0,wa=0,xa=0,ya=0,za=0,Aa=0,Ba=0,Ca=0,Da=0,Ea=0,Ga=0,Ha=0,Ia=0,Ja=0,Ka=0,La=0,Ma=0,Na=0,Oa=0,Pa=0,Qa=0,Ra=0,Sa=0,Ta=0,Ua=0,Va=0,Wa=0,Xa=0,Ya=0,Za=0,_a=0,$a=0,ab=0,bb=0,db=0,eb=0,fb=0,gb=0,hb=0,ib=0,jb=0,kb=0,lb=0,mb=0,nb=0,qb=0,rb=0,sb=0,tb=0,ub=0,vb=0,wb=0,xb=0,yb=0,zb=0,Ab=0,Bb=0;g=_-624|0;_=g;F[g+352>>2]=327033209;F[g+356>>2]=1541459225;F[g+344>>2]=-79577749;F[g+348>>2]=528734635;F[g+336>>2]=725511199;F[g+340>>2]=-1694144372;F[g+328>>2]=-1377402159;F[g+332>>2]=1359893119;F[g+320>>2]=1595750129;F[g+324>>2]=-1521486534;F[g+312>>2]=-23791573;F[g+316>>2]=1013904242;F[g+304>>2]=-2067093701;F[g+308>>2]=-1150833019;F[g+360>>2]=0;F[g+296>>2]=-205731576;F[g+300>>2]=1779033703;F[g+288>>2]=0;F[g+292>>2]=0;j=a;p=a+32|0;D[g+364|0]=G[p+32|0];D[g+365|0]=G[p+33|0];D[g+366|0]=G[p+34|0];n=g+364|0;D[(n+F[g+360>>2]|0)+3|0]=G[p+35|0];D[(F[g+360>>2]+n|0)+4|0]=G[p+36|0];D[(F[g+360>>2]+n|0)+5|0]=G[p+37|0];D[(F[g+360>>2]+n|0)+6|0]=G[p+38|0];D[(F[g+360>>2]+n|0)+7|0]=G[p+39|0];D[(F[g+360>>2]+n|0)+8|0]=G[p+40|0];D[(F[g+360>>2]+n|0)+9|0]=G[p+41|0];D[(F[g+360>>2]+n|0)+10|0]=G[p+42|0];D[(F[g+360>>2]+n|0)+11|0]=G[p+43|0];D[(F[g+360>>2]+n|0)+12|0]=G[p+44|0];D[(F[g+360>>2]+n|0)+13|0]=G[p+45|0];D[(F[g+360>>2]+n|0)+14|0]=G[p+46|0];D[(F[g+360>>2]+n|0)+15|0]=G[p+47|0];D[(F[g+360>>2]+n|0)+16|0]=G[p+48|0];D[(F[g+360>>2]+n|0)+17|0]=G[p+49|0];D[(F[g+360>>2]+n|0)+18|0]=G[p+50|0];D[(F[g+360>>2]+n|0)+19|0]=G[p+51|0];D[(F[g+360>>2]+n|0)+20|0]=G[p+52|0];D[(F[g+360>>2]+n|0)+21|0]=G[p+53|0];D[(F[g+360>>2]+n|0)+22|0]=G[p+54|0];D[(F[g+360>>2]+n|0)+23|0]=G[p+55|0];D[(F[g+360>>2]+n|0)+24|0]=G[p+56|0];D[(F[g+360>>2]+n|0)+25|0]=G[p+57|0];D[(F[g+360>>2]+n|0)+26|0]=G[p+58|0];D[(F[g+360>>2]+n|0)+27|0]=G[p+59|0];D[(F[g+360>>2]+n|0)+28|0]=G[p+60|0];D[(F[g+360>>2]+n|0)+29|0]=G[p+61|0];D[(F[g+360>>2]+n|0)+30|0]=G[p+62|0];D[(F[g+360>>2]+n|0)+31|0]=G[p+63|0];a=F[g+360>>2]+32|0;F[g+360>>2]=a;if((a|0)==128){ta(g+288|0,n);F[g+360>>2]=0;e=g;a=F[e+292>>2];i=F[e+288>>2]+1024|0;a=i>>>0<1024?a+1|0:a;F[e+288>>2]=i;F[e+292>>2]=a}a:{if(!b){break a}m=F[g+360>>2];if(!c|m>>>0>128){break a}f=c;a=b;while(1){b:{if(!(f>>>0<128|m)){ta(g+288|0,a);e=F[g+292>>2];k=F[g+288>>2]+1024|0;e=k>>>0<1024?e+1|0:e;F[g+288>>2]=k;F[g+292>>2]=e;f=f-128|0;a=a+128|0;break b}e=128-m|0;l=e>>>0>f>>>0?f:e;c:{if(!l){break c}k=l&3;o=0;if(l-1>>>0>=3){h=l&-4;while(1){i=g+364|0;D[i+(m+o|0)|0]=G[a+o|0];e=o|1;D[(e+F[g+360>>2]|0)+i|0]=G[a+e|0];e=o|2;D[(e+F[g+360>>2]|0)+i|0]=G[a+e|0];e=o|3;D[(e+F[g+360>>2]|0)+i|0]=G[a+e|0];o=o+4|0;m=F[g+360>>2];h=h-4|0;if(h){continue}break}}if(!k){break c}while(1){D[((m+o|0)+g|0)+364|0]=G[a+o|0];o=o+1|0;m=F[g+360>>2];k=k-1|0;if(k){continue}break}}f=f-l|0;a=a+l|0;e=l+m|0;F[g+360>>2]=e;if((e|0)!=128){break b}ta(g+288|0,n);F[g+360>>2]=0;e=F[g+292>>2];k=F[g+288>>2]+1024|0;e=k>>>0<1024?e+1|0:e;F[g+288>>2]=k;F[g+292>>2]=e}if(!f){break a}m=F[g+360>>2];continue}}a=g+160|0;cb(g+288|0,a);ob(a);Tb(g,a);i=g+224|0;pb(i,g+80|0);e=g+544|0;ha(e,g,i);a=g+496|0;ha(a,g+40|0,i);Fa(d,a);Fa(g+592|0,e);D[d+31|0]=G[d+31|0]^G[g+592|0]<<7;F[g+352>>2]=327033209;F[g+356>>2]=1541459225;F[g+344>>2]=-79577749;F[g+348>>2]=528734635;F[g+336>>2]=725511199;F[g+340>>2]=-1694144372;F[g+328>>2]=-1377402159;F[g+332>>2]=1359893119;F[g+320>>2]=1595750129;F[g+324>>2]=-1521486534;F[g+312>>2]=-23791573;F[g+316>>2]=1013904242;F[g+304>>2]=-2067093701;F[g+308>>2]=-1150833019;F[g+296>>2]=-205731576;F[g+300>>2]=1779033703;F[g+288>>2]=0;F[g+292>>2]=0;F[g+360>>2]=0;D[g+364|0]=G[d|0];D[g+365|0]=G[d+1|0];D[g+366|0]=G[d+2|0];D[g+367|0]=G[d+3|0];a=g+364|0;D[(a+F[g+360>>2]|0)+4|0]=G[d+4|0];D[(a+F[g+360>>2]|0)+5|0]=G[d+5|0];D[(a+F[g+360>>2]|0)+6|0]=G[d+6|0];D[(a+F[g+360>>2]|0)+7|0]=G[d+7|0];D[(a+F[g+360>>2]|0)+8|0]=G[d+8|0];D[(a+F[g+360>>2]|0)+9|0]=G[d+9|0];D[(a+F[g+360>>2]|0)+10|0]=G[d+10|0];D[(a+F[g+360>>2]|0)+11|0]=G[d+11|0];D[(a+F[g+360>>2]|0)+12|0]=G[d+12|0];D[(a+F[g+360>>2]|0)+13|0]=G[d+13|0];D[(a+F[g+360>>2]|0)+14|0]=G[d+14|0];D[(a+F[g+360>>2]|0)+15|0]=G[d+15|0];D[(a+F[g+360>>2]|0)+16|0]=G[d+16|0];D[(a+F[g+360>>2]|0)+17|0]=G[d+17|0];D[(a+F[g+360>>2]|0)+18|0]=G[d+18|0];D[(a+F[g+360>>2]|0)+19|0]=G[d+19|0];D[(a+F[g+360>>2]|0)+20|0]=G[d+20|0];D[(a+F[g+360>>2]|0)+21|0]=G[d+21|0];D[(a+F[g+360>>2]|0)+22|0]=G[d+22|0];D[(a+F[g+360>>2]|0)+23|0]=G[d+23|0];D[(a+F[g+360>>2]|0)+24|0]=G[d+24|0];D[(a+F[g+360>>2]|0)+25|0]=G[d+25|0];D[(a+F[g+360>>2]|0)+26|0]=G[d+26|0];D[(a+F[g+360>>2]|0)+27|0]=G[d+27|0];D[(a+F[g+360>>2]|0)+28|0]=G[d+28|0];D[(a+F[g+360>>2]|0)+29|0]=G[d+29|0];D[(a+F[g+360>>2]|0)+30|0]=G[d+30|0];D[(a+F[g+360>>2]|0)+31|0]=G[d+31|0];h=32;a=F[g+360>>2]+32|0;F[g+360>>2]=a;if((a|0)==128){ta(g+288|0,n);F[g+360>>2]=0;e=g;a=F[e+292>>2];i=F[e+288>>2]+1024|0;a=i>>>0<1024?a+1|0:a;F[e+288>>2]=i;F[e+292>>2]=a}a=F[g+360>>2];if(!(!j|a>>>0>128)){while(1){d:{if(!(h>>>0<128|a)){ta(g+288|0,j);a=g;e=F[a+292>>2];i=F[a+288>>2]+1024|0;e=i>>>0<1024?e+1|0:e;F[a+288>>2]=i;F[a+292>>2]=e;h=h-128|0;j=j+128|0;break d}e=128-a|0;i=e>>>0>h>>>0?h:e;e:{if(!i){break e}f=i&3;o=0;if(i-1>>>0>=3){k=i&-4;while(1){e=g+364|0;D[e+(a+o|0)|0]=G[j+o|0];a=o|1;D[e+(a+F[g+360>>2]|0)|0]=G[a+j|0];a=o|2;D[e+(a+F[g+360>>2]|0)|0]=G[a+j|0];a=o|3;D[e+(a+F[g+360>>2]|0)|0]=G[a+j|0];o=o+4|0;a=F[g+360>>2];k=k-4|0;if(k){continue}break}}if(!f){break e}while(1){D[((a+o|0)+g|0)+364|0]=G[j+o|0];o=o+1|0;a=F[g+360>>2];f=f-1|0;if(f){continue}break}}h=h-i|0;j=i+j|0;a=a+i|0;F[g+360>>2]=a;if((a|0)!=128){break d}ta(g+288|0,n);F[g+360>>2]=0;a=g;e=F[a+292>>2];i=F[a+288>>2]+1024|0;e=i>>>0<1024?e+1|0:e;F[a+288>>2]=i;F[a+292>>2]=e}a=F[g+360>>2];if(h){continue}break}}f:{if(!c|(!b|a>>>0>128)){break f}while(1){g:{if(!(c>>>0<128|a)){ta(g+288|0,b);e=g;a=F[e+292>>2];i=F[e+288>>2]+1024|0;a=i>>>0<1024?a+1|0:a;F[e+288>>2]=i;F[e+292>>2]=a;c=c-128|0;b=b+128|0;break g}e=128-a|0;i=c>>>0>>0?c:e;h:{if(!i){break h}m=i&3;o=0;if(i-1>>>0>=3){f=i&-4;while(1){e=g+364|0;D[e+(a+o|0)|0]=G[b+o|0];a=o|1;D[e+(a+F[g+360>>2]|0)|0]=G[a+b|0];a=o|2;D[e+(a+F[g+360>>2]|0)|0]=G[a+b|0];a=o|3;D[e+(a+F[g+360>>2]|0)|0]=G[a+b|0];o=o+4|0;a=F[g+360>>2];f=f-4|0;if(f){continue}break}}if(!m){break h}while(1){D[((a+o|0)+g|0)+364|0]=G[b+o|0];o=o+1|0;a=F[g+360>>2];m=m-1|0;if(m){continue}break}}c=c-i|0;b=b+i|0;a=a+i|0;F[g+360>>2]=a;if((a|0)!=128){break g}ta(g+288|0,n);F[g+360>>2]=0;a=g;e=F[a+292>>2];i=F[a+288>>2]+1024|0;e=i>>>0<1024?e+1|0:e;F[a+288>>2]=i;F[a+292>>2]=e}if(!c){break f}a=F[g+360>>2];continue}}s=g+224|0;cb(g+288|0,s);ob(s);a=G[p+24|0];b=a>>>24|0;f=G[p+23|0];e=f|a<<8;c=G[p+25|0];a=c>>>16|0;i=e|c<<16;e=a|b;n=G[p+26|0];c=n;b=c>>>8|0;c=c<<24;e=b|e;b=c|i;K=((e&31)<<27|b>>>5)&2097151;b=0;c=G[s+27|0];a=c>>>24|0;i=G[s+26|0];c=i|c<<8;j=b;h=G[s+28|0];b=h;e=b>>>16|0;b=b<<16;e=a|e;a=b|c;M=((e&3)<<30|a>>>2)&2097151;l=qe(K,j,M,0);k=$;c=0;N=c;O=f<<16&2031616|(G[p+21|0]|G[p+22|0]<<8);j=O;b=G[s+29|0];a=b>>>24|0;c=h|b<<8;e=G[s+30|0];b=e>>>16|0;f=c|e<<16;e=a|b;b=G[s+31|0];a=b>>>8|0;b=b<<24;c=a|e;a=b|f;P=(c&127)<<25|a>>>7;Q=c>>>7|0;a=qe(j,N,P,Q);b=a+l|0;e=$+k|0;m=b;c=a>>>0>b>>>0?e+1|0:e;a=G[p+27|0];e=a>>>24|0;j=n|a<<8;b=e;h=G[p+28|0];f=h;e=f>>>16|0;f=f<<16;e=b|e;b=f|j;la=((e&3)<<30|b>>>2)&2097151;l=la;k=0;a=G[s+24|0];e=a>>>24|0;f=G[s+23|0];j=f|a<<8;a=G[s+25|0];b=a>>>16|0;j=j|a<<16;b=b|e|i>>>8;R=((b&31)<<27|(i<<24|j)>>>5)&2097151;b=qe(l,k,R,0);e=b+m|0;a=$+c|0;j=e;b=b>>>0>e>>>0?a+1|0:a;c=G[p+29|0];a=c>>>24|0;h=h|c<<8;c=G[p+30|0];e=c>>>16|0;i=h|c<<16;e=a|e;c=G[p+31|0];a=c>>>8|0;c=c<<24;k=a|e;a=c|i;i=(k&127)<<25|a>>>7;e=k>>>7|0;c=e;S=f<<16&2031616|(G[s+21|0]|G[s+22|0]<<8);e=qe(i,e,S,0);f=e+j|0;a=$+b|0;h=f;k=e>>>0>f>>>0?a+1|0:a;a=qe(O,N,M,na);j=$;f=a;b=G[p+19|0];e=b>>>24|0;t=G[p+18|0];m=t|b<<8;b=G[p+20|0];a=b>>>16|0;b=m|b<<16;e=a|e;a=e>>>3|0;T=(e&7)<<29|b>>>3;A=a;a=qe(T,a,P,Q);e=f+a|0;b=$+j|0;b=a>>>0>e>>>0?b+1|0:b;a=qe(K,oa,R,pa);f=a+e|0;e=$+b|0;e=a>>>0>f>>>0?e+1|0:e;b=qe(l,qa,S,ra);f=b+f|0;a=$+e|0;l=f;f=b>>>0>f>>>0?a+1|0:a;j=G[s+19|0];b=j>>>24|0;q=G[s+18|0];j=q|j<<8;a=G[s+20|0];e=a>>>16|0;a=a<<16;e=b|e;b=a|j;U=(e&7)<<29|b>>>3;V=e>>>3|0;a=qe(i,c,U,V);b=a+l|0;e=$+f|0;j=b;e=a>>>0>b>>>0?e+1|0:e;n=e;a=b;e=e-((a>>>0<4293918720)-1|0)|0;E=a- -1048576|0;m=e;b=(e&2097151)<<11|E>>>21;f=b+h|0;e=(e>>21)+k|0;e=b>>>0>f>>>0?e+1|0:e;h=e;a=f;e=e-((a>>>0<4293918720)-1|0)|0;r=a- -1048576|0;l=e;v=(e&2097151)<<11|r>>>21;k=e>>21;a=qe(M,na,la,qa);b=$;e=a;a=qe(K,oa,P,Q);o=e+a|0;e=$+b|0;e=a>>>0>o>>>0?e+1|0:e;b=qe(R,pa,i,c);o=b+o|0;a=$+e|0;e=o;z=e- -1048576|0;a=b>>>0>e>>>0?a+1|0:a;b=a-((e>>>0<4293918720)-1|0)|0;o=v;w=z&-2097152;v=e-w|0;u=o+v|0;a=(a-((b&2147483647)+(e>>>0>>0)|0)|0)+k|0;Xa=u;a=u>>>0>>0?a+1|0:a;Ya=a;w=qe(u,a,470296,0);v=$;e=qe(M,na,i,c);a=$;k=e;e=qe(P,Q,la,qa);k=k+e|0;a=$+a|0;a=e>>>0>k>>>0?a+1|0:a;o=k;e=b;b=e>>>21|0;k=(e&2097151)<<11|z>>>21;o=o+k|0;e=a+b|0;b=o;a=b;Za=a- -1048576|0;e=k>>>0>a>>>0?e+1|0:e;o=e-((a>>>0<4293918720)-1|0)|0;H=o;a=r&-2097152;k=h-((a>>>0>f>>>0)+l|0)|0;Qa=f-a|0;_a=k;a=e;e=Za&-2097152;a=a-((o&2147483647)+(e>>>0>b>>>0)|0)|0;Ra=b-e|0;$a=a;b=qe(Ra,a,666643,0);e=b+w|0;a=$+v|0;a=b>>>0>e>>>0?a+1|0:a;b=qe(Qa,k,654183,0);f=b+e|0;e=$+a|0;u=f;o=b>>>0>f>>>0?e+1|0:e;a=E&-2097152;w=j-a|0;r=n-((a>>>0>j>>>0)+m|0)|0;l=qe(M,na,T,A);j=$;a=G[p+16|0];e=a>>>24|0;k=G[p+15|0];f=k|a<<8;a=G[p+17|0];b=a>>>16|0;f=f|a<<16;e=b|e|t>>>8;a=t<<24|f;W=((e&63)<<26|a>>>6)&2097151;b=qe(W,0,P,Q);e=b+l|0;a=$+j|0;a=b>>>0>e>>>0?a+1|0:a;b=qe(O,N,R,pa);f=b+e|0;e=$+a|0;e=b>>>0>f>>>0?e+1|0:e;a=qe(K,oa,S,ra);f=a+f|0;b=$+e|0;b=a>>>0>f>>>0?b+1|0:b;a=qe(la,qa,U,V);f=a+f|0;e=$+b|0;j=a>>>0>f>>>0?e+1|0:e;b=G[s+16|0];e=b>>>24|0;l=G[s+15|0];a=l|b<<8;h=G[s+17|0];b=h>>>16|0;h=a|h<<16;b=b|e|q>>>8;X=((b&63)<<26|(q<<24|h)>>>6)&2097151;b=qe(i,c,X,0);e=b+f|0;a=$+j|0;q=e;h=b>>>0>e>>>0?a+1|0:a;a=qe(M,na,W,sa);m=$;b=G[p+14|0];e=b>>>24|0;j=G[p+13|0];f=j|b<<8;n=a;e=k>>>16|e;a=k<<16|f;Y=((e&1)<<31|a>>>1)&2097151;b=qe(Y,0,P,Q);e=n+b|0;a=$+m|0;a=b>>>0>e>>>0?a+1|0:a;b=e;e=qe(R,pa,T,A);f=b+e|0;b=$+a|0;b=e>>>0>f>>>0?b+1|0:b;a=qe(O,N,S,ra);f=a+f|0;e=$+b|0;e=a>>>0>f>>>0?e+1|0:e;a=qe(K,oa,U,V);b=a+f|0;e=$+e|0;e=a>>>0>b>>>0?e+1|0:e;a=b;b=qe(la,qa,X,ua);f=a+b|0;a=$+e|0;n=f;f=b>>>0>f>>>0?a+1|0:a;m=G[s+14|0];e=m>>>24|0;k=G[s+13|0];m=k|m<<8;e=l>>>16|e;a=l<<16|m;Z=((e&1)<<31|a>>>1)&2097151;b=qe(i,c,Z,0);e=b+n|0;a=$+f|0;n=e;a=b>>>0>e>>>0?a+1|0:a;l=a;a=e;e=l-((a>>>0<4293918720)-1|0)|0;B=a- -1048576|0;x=e;b=(e&2097151)<<11|B>>>21;f=b+q|0;e=(e>>21)+h|0;m=f;e=b>>>0>f>>>0?e+1|0:e;v=e;a=f;e=e-((a>>>0<4293918720)-1|0)|0;y=a- -1048576|0;E=e;a=e>>21;b=(e&2097151)<<11|y>>>21;e=b+w|0;a=a+r|0;ab=e;a=b>>>0>e>>>0?a+1|0:a;bb=a;a=qe(e,a,-997805,-1);e=a+u|0;b=$+o|0;u=e;o=a>>>0>e>>>0?b+1|0:b;b=G[p+3|0];a=b>>>24|0;e=G[p+2|0];f=e|b<<8;b=a;h=f;f=G[p+4|0];a=f>>>16|0;q=h|f<<16;h=a|b;f=G[p+5|0];b=f;a=b>>>8|0;b=b<<24;h=a|h;a=b|q;aa=((h&31)<<27|a>>>5)&2097151;a=qe(aa,0,S,ra);b=$;h=a;ba=e<<16&2031616|(G[p|0]|G[p+1|0]<<8);a=qe(ba,0,R,pa);h=h+a|0;e=$+b|0;e=a>>>0>h>>>0?e+1|0:e;a=h;b=e;h=G[p+6|0];e=h>>>24|0;h=f|h<<8;r=a;q=G[p+7|0];f=q;a=f>>>16|0;f=f<<16;e=a|e;a=f|h;ca=((e&3)<<30|a>>>2)&2097151;a=qe(ca,0,U,V);f=r+a|0;e=$+b|0;h=f;b=a>>>0>f>>>0?e+1|0:e;a=G[p+8|0];e=a>>>24|0;q=q|a<<8;f=G[p+9|0];a=f>>>16|0;q=q|f<<16;f=a|e;r=h;h=G[p+10|0];a=h;e=a>>>8|0;a=a<<24|q;e=e|f;da=((e&127)<<25|a>>>7)&2097151;e=qe(da,0,X,ua);f=r+e|0;a=$+b|0;q=f;f=e>>>0>f>>>0?a+1|0:a;b=G[p+11|0];a=b>>>24|0;h=h|b<<8;b=G[p+12|0];e=b>>>16|0;h=h|b<<16;b=a|e|j>>>8;ea=((b&15)<<28|(j<<24|h)>>>4)&2097151;a=qe(ea,0,Z,va);b=a+q|0;e=$+f|0;t=b;j=a>>>0>b>>>0?e+1|0:e;b=G[s+11|0];a=b>>>24|0;h=G[s+10|0];e=h|b<<8;q=G[s+12|0];b=q>>>16|0;q=e|q<<16;b=a|b|k>>>8;fa=((b&15)<<28|(k<<24|q)>>>4)&2097151;b=qe(Y,wa,fa,0);e=b+t|0;a=$+j|0;t=e;k=b>>>0>e>>>0?a+1|0:a;e=G[s+8|0];a=e>>>24|0;j=G[s+7|0];b=j|e<<8;q=G[s+9|0];e=q>>>16|0;q=b|q<<16;e=a|e|h>>>8;a=h<<24|q;ga=((e&127)<<25|a>>>7)&2097151;a=qe(W,sa,ga,0);b=a+t|0;e=$+k|0;f=a>>>0>b>>>0?e+1|0:e;k=G[s+6|0];a=k>>>24|0;h=G[s+5|0];k=h|k<<8;e=j>>>16|a;a=j<<16|k;ia=((e&3)<<30|a>>>2)&2097151;a=qe(T,A,ia,0);e=a+b|0;b=$+f|0;t=e;k=a>>>0>e>>>0?b+1|0:b;e=G[s+3|0];a=e>>>24|0;f=G[s+2|0];b=f|e<<8;q=G[s+4|0];e=q>>>16|0;q=b|q<<16;b=a|e|h>>>8;ja=((b&31)<<27|(h<<24|q)>>>5)&2097151;a=qe(O,N,ja,0);b=a+t|0;e=$+k|0;e=a>>>0>b>>>0?e+1|0:e;a=b;ka=f<<16&2031616|(G[s|0]|G[s+1|0]<<8);b=qe(K,oa,ka,0);f=a+b|0;a=$+e|0;h=f;e=b>>>0>f>>>0?a+1|0:a;a=G[g+184|0];b=a>>>24|0;f=G[g+183|0];k=f|a<<8;j=G[g+185|0];a=j>>>16|0;k=k|j<<16;j=a|b;Sa=G[g+186|0];a=Sa;b=a>>>8|0;a=a<<24|k;b=b|j;a=((b&31)<<27|a>>>5)&2097151;b=a+h|0;h=b;k=a>>>0>b>>>0?e+1|0:e;e=G[g+181|0]|G[g+182|0]<<8;a=qe(U,V,aa,xa);b=$;q=e;e=a;a=qe(S,ra,ba,ya);j=e+a|0;e=$+b|0;e=a>>>0>j>>>0?e+1|0:e;b=qe(ca,za,X,ua);j=b+j|0;a=$+e|0;a=b>>>0>j>>>0?a+1|0:a;b=qe(Z,va,da,Aa);j=b+j|0;e=$+a|0;e=b>>>0>j>>>0?e+1|0:e;a=qe(ea,Ba,fa,Ca);j=a+j|0;b=$+e|0;b=a>>>0>j>>>0?b+1|0:b;e=qe(Y,wa,ga,Da);j=e+j|0;a=$+b|0;a=e>>>0>j>>>0?a+1|0:a;b=qe(W,sa,ia,Ea);j=b+j|0;e=$+a|0;e=b>>>0>j>>>0?e+1|0:e;b=qe(T,A,ja,Ga);j=b+j|0;a=$+e|0;a=b>>>0>j>>>0?a+1|0:a;b=qe(O,N,ka,Ha);j=b+j|0;e=$+a|0;e=b>>>0>j>>>0?e+1|0:e;a=j;j=q+a|0;b=a>>>0>j>>>0?e+1|0:e;e=f<<16&2031616;f=e+j|0;a=b;j=f;a=e>>>0>f>>>0?a+1|0:a;f=a;a=j;b=f-((a>>>0<4293918720)-1|0)|0;w=a- -1048576|0;r=b;a=(b&2097151)<<11|w>>>21;h=a+h|0;b=(b>>>21|0)+k|0;b=a>>>0>h>>>0?b+1|0:b;k=h;e=h;h=e+u|0;a=b+o|0;a=e>>>0>h>>>0?a+1|0:a;e=h;h=b;b=k;h=h-((b>>>0<4293918720)-1|0)|0;db=b- -1048576|0;k=h;b=e;e=db&-2097152;C=b-e|0;Ia=a-((b>>>0>>0)+h|0)|0;t=j;q=f;a=qe(Qa,_a,470296,0);b=$;e=a;a=qe(Xa,Ya,666643,0);f=e+a|0;e=$+b|0;e=a>>>0>f>>>0?e+1|0:e;b=qe(ab,bb,654183,0);f=b+f|0;a=$+e|0;p=f;o=b>>>0>f>>>0?a+1|0:a;b=qe(X,ua,aa,xa);a=$;e=b;b=qe(U,V,ba,ya);e=e+b|0;a=$+a|0;a=b>>>0>e>>>0?a+1|0:a;b=e;e=qe(ca,za,Z,va);f=b+e|0;b=$+a|0;b=e>>>0>f>>>0?b+1|0:b;a=qe(fa,Ca,da,Aa);f=a+f|0;e=$+b|0;e=a>>>0>f>>>0?e+1|0:e;a=qe(ga,Da,ea,Ba);b=a+f|0;e=$+e|0;e=a>>>0>b>>>0?e+1|0:e;a=b;b=qe(Y,wa,ia,Ea);f=a+b|0;a=$+e|0;a=b>>>0>f>>>0?a+1|0:a;b=qe(W,sa,ja,Ga);e=b+f|0;a=$+a|0;a=b>>>0>e>>>0?a+1|0:a;b=e;e=qe(T,A,ka,Ha);f=b+e|0;b=$+a|0;b=e>>>0>f>>>0?b+1|0:b;e=b;b=G[g+179|0];a=b>>>24|0;j=G[g+178|0];h=j|b<<8;b=a;z=f;f=G[g+180|0];a=f>>>16|0;f=f<<16;u=a|b;a=f|h;a=(u&7)<<29|a>>>3;f=z+a|0;e=(u>>>3|0)+e|0;s=f;f=a>>>0>f>>>0?e+1|0:e;a=qe(Z,va,aa,xa);b=$;e=a;a=qe(X,ua,ba,ya);h=e+a|0;e=$+b|0;e=a>>>0>h>>>0?e+1|0:e;b=qe(ca,za,fa,Ca);h=b+h|0;a=$+e|0;a=b>>>0>h>>>0?a+1|0:a;b=qe(ga,Da,da,Aa);e=b+h|0;a=$+a|0;a=b>>>0>e>>>0?a+1|0:a;b=e;e=qe(ea,Ba,ia,Ea);h=b+e|0;b=$+a|0;b=e>>>0>h>>>0?b+1|0:b;a=qe(Y,wa,ja,Ga);h=a+h|0;e=$+b|0;e=a>>>0>h>>>0?e+1|0:e;a=qe(W,sa,ka,Ha);b=a+h|0;e=$+e|0;z=b;a=a>>>0>b>>>0?e+1|0:e;e=G[g+176|0];b=e>>>24|0;Ta=G[g+175|0];u=Ta|e<<8;h=G[g+177|0];e=h>>>16|0;u=u|h<<16;e=b|e|j>>>8;b=((e&63)<<26|(j<<24|u)>>>6)&2097151;e=b+z|0;z=e;a=b>>>0>e>>>0?a+1|0:a;h=a;a=e;b=h-((a>>>0<4293918720)-1|0)|0;qb=a- -1048576|0;Ja=b;e=b>>>21|0;a=(b&2097151)<<11|qb>>>21;b=a+s|0;e=e+f|0;u=b;e=a>>>0>b>>>0?e+1|0:e;Na=e;a=b;b=e-((a>>>0<4293918720)-1|0)|0;eb=a- -1048576|0;fb=b;e=b>>>21|0;b=(b&2097151)<<11|eb>>>21;f=b+p|0;a=e+o|0;a=b>>>0>f>>>0?a+1|0:a;b=f;e=b+t|0;a=a+q|0;a=b>>>0>e>>>0?a+1|0:a;b=w&-2097152;a=a-((b>>>0>e>>>0)+r|0)|0;w=e-b|0;j=a;a=w;b=j-((a>>>0<4293918720)-1|0)|0;rb=a- -1048576|0;ma=b;e=b>>21;b=(b&2097151)<<11|rb>>>21;f=b+C|0;a=e+Ia|0;q=f;a=b>>>0>f>>>0?a+1|0:a;f=a;a=q;b=f-((a>>>0<4293918720)-1|0)|0;sb=a- -1048576|0;gb=b;Ma=(b&2097151)<<11|sb>>>21;t=b>>21;a=y&-2097152;Oa=m-a|0;v=v-((a>>>0>m>>>0)+E|0)|0;o=qe(P,Q,i,c);a=$;I=a;a=o;e=I-((a>>>0<4293918720)-1|0)|0;Ua=a- -1048576|0;C=e;a=e>>>21|0;hb=a;Va=(e&2097151)<<11|Ua>>>21;b=qe(Va,a,-683901,-1);e=b+n|0;a=$+l|0;a=b>>>0>e>>>0?a+1|0:a;b=B&-2097152;E=e-b|0;r=a-((b>>>0>e>>>0)+x|0)|0;a=qe(M,na,Y,wa);b=$;e=a;a=qe(P,Q,ea,Ba);l=e+a|0;e=$+b|0;e=a>>>0>l>>>0?e+1|0:e;b=qe(R,pa,W,sa);l=b+l|0;a=$+e|0;a=b>>>0>l>>>0?a+1|0:a;b=qe(S,ra,T,A);e=b+l|0;a=$+a|0;a=b>>>0>e>>>0?a+1|0:a;b=e;e=qe(O,N,U,V);l=b+e|0;b=$+a|0;b=e>>>0>l>>>0?b+1|0:b;a=qe(K,oa,X,ua);l=a+l|0;e=$+b|0;e=a>>>0>l>>>0?e+1|0:e;a=qe(la,qa,Z,va);b=a+l|0;e=$+e|0;e=a>>>0>b>>>0?e+1|0:e;a=b;b=qe(i,c,fa,Ca);l=a+b|0;a=$+e|0;m=l;l=b>>>0>l>>>0?a+1|0:a;b=qe(M,na,ea,Ba);a=$;e=b;b=qe(P,Q,da,Aa);e=e+b|0;a=$+a|0;a=b>>>0>e>>>0?a+1|0:a;b=e;e=qe(R,pa,Y,wa);n=b+e|0;b=$+a|0;b=e>>>0>n>>>0?b+1|0:b;a=qe(S,ra,W,sa);n=a+n|0;e=$+b|0;e=a>>>0>n>>>0?e+1|0:e;a=qe(T,A,U,V);b=a+n|0;e=$+e|0;e=a>>>0>b>>>0?e+1|0:e;a=b;b=qe(O,N,X,ua);n=a+b|0;a=$+e|0;a=b>>>0>n>>>0?a+1|0:a;b=qe(K,oa,Z,va);e=b+n|0;a=$+a|0;a=b>>>0>e>>>0?a+1|0:a;b=e;e=qe(la,qa,fa,Ca);n=b+e|0;b=$+a|0;b=e>>>0>n>>>0?b+1|0:b;a=qe(i,c,ga,Da);n=a+n|0;e=$+b|0;Pa=n;e=a>>>0>n>>>0?e+1|0:e;Ia=e;a=n;e=e-((a>>>0<4293918720)-1|0)|0;La=a- -1048576|0;p=e;b=e>>21;e=(e&2097151)<<11|La>>>21;m=e+m|0;a=b+l|0;n=m;a=e>>>0>n>>>0?a+1|0:a;s=a;a=n;e=s-((a>>>0<4293918720)-1|0)|0;Ka=a- -1048576|0;B=e;a=(e&2097151)<<11|Ka>>>21;l=a+E|0;e=(e>>21)+r|0;m=l;e=a>>>0>l>>>0?e+1|0:e;y=e;a=l;e=e-((a>>>0<4293918720)-1|0)|0;J=a- -1048576|0;x=e;b=e>>21;e=(e&2097151)<<11|J>>>21;l=e+Oa|0;a=b+v|0;ib=l;a=e>>>0>l>>>0?a+1|0:a;jb=a;b=qe(l,a,-683901,-1);e=b+Ma|0;a=$+t|0;L=e;v=b>>>0>e>>>0?a+1|0:a;a=qe(R,pa,aa,xa);b=$;e=a;a=qe(M,na,ba,ya);l=e+a|0;e=$+b|0;e=a>>>0>l>>>0?e+1|0:e;a=qe(S,ra,ca,za);b=a+l|0;e=$+e|0;e=a>>>0>b>>>0?e+1|0:e;a=qe(U,V,da,Aa);l=a+b|0;b=$+e|0;b=a>>>0>l>>>0?b+1|0:b;e=qe(X,ua,ea,Ba);l=e+l|0;a=$+b|0;a=e>>>0>l>>>0?a+1|0:a;b=qe(Y,wa,Z,va);e=b+l|0;a=$+a|0;a=b>>>0>e>>>0?a+1|0:a;b=qe(W,sa,fa,Ca);l=b+e|0;e=$+a|0;e=b>>>0>l>>>0?e+1|0:e;a=qe(T,A,ga,Da);b=a+l|0;e=$+e|0;e=a>>>0>b>>>0?e+1|0:e;a=qe(O,N,ia,Ea);l=a+b|0;b=$+e|0;b=a>>>0>l>>>0?b+1|0:b;e=qe(K,oa,ja,Ga);l=e+l|0;a=$+b|0;a=e>>>0>l>>>0?a+1|0:a;b=qe(la,qa,ka,Ha);e=b+l|0;a=$+a|0;l=e;e=b>>>0>e>>>0?a+1|0:a;b=G[g+187|0];a=b>>>24|0;t=Sa|b<<8;b=a;r=l;vb=G[g+188|0];l=vb;a=l>>>16|0;l=l<<16;b=a|b;a=l|t;a=((b&3)<<30|a>>>2)&2097151;b=r+a|0;l=b;e=a>>>0>b>>>0?e+1|0:e;r=b;t=e;Ma=qe(Ra,$a,470296,0);Oa=$;b=Ua&-2097152;a=o-b|0;o=I-((C&2147483647)+(b>>>0>o>>>0)|0)|0;b=(H&2097151)<<11|Za>>>21;C=b+a|0;a=(H>>>21|0)+o|0;kb=C;a=b>>>0>C>>>0?a+1|0:a;lb=a;b=qe(C,a,666643,0);e=b+Ma|0;a=$+Oa|0;a=b>>>0>e>>>0?a+1|0:a;b=e;e=qe(Xa,Ya,654183,0);o=b+e|0;b=$+a|0;b=e>>>0>o>>>0?b+1|0:b;a=qe(Qa,_a,-997805,-1);o=a+o|0;e=$+b|0;e=a>>>0>o>>>0?e+1|0:e;a=qe(ab,bb,136657,0);b=a+o|0;e=$+e|0;e=a>>>0>b>>>0?e+1|0:e;a=b;wb=l- -1048576|0;o=t-((l>>>0<4293918720)-1|0)|0;l=o;o=r;b=k>>>21|0;k=(k&2097151)<<11|db>>>21;r=k+a|0;a=b+e|0;b=r;e=o+b|0;a=(k>>>0>b>>>0?a+1|0:a)+t|0;a=b>>>0>e>>>0?a+1|0:a;t=e;b=wb&-2097152;k=e-b|0;e=k;r=e+L|0;a=a-((b>>>0>t>>>0)+l|0)|0;b=a+v|0;b=e>>>0>r>>>0?b+1|0:b;e=r;o=a;a=k;o=o-((a>>>0<4293918720)-1|0)|0;xb=a- -1048576|0;a=b;k=o;b=e;e=xb&-2097152;a=a-(k+(b>>>0>>0)|0)|0;v=b-e|0;I=v;L=a;o=f;a=J&-2097152;H=m-a|0;C=y-((a>>>0>m>>>0)+x|0)|0;a=qe(kb,lb,-683901,-1);b=$;e=a;a=qe(Va,hb,136657,0);e=e+a|0;b=$+b|0;b=a>>>0>e>>>0?b+1|0:b;a=e+n|0;e=b+s|0;e=a>>>0>>0?e+1|0:e;b=a;a=Ka&-2097152;y=b-a|0;x=e-((a>>>0>b>>>0)+B|0)|0;b=qe(Va,hb,-997805,-1);e=b+Pa|0;a=$+Ia|0;a=b>>>0>e>>>0?a+1|0:a;b=e;e=qe(kb,lb,136657,0);f=b+e|0;b=$+a|0;b=e>>>0>f>>>0?b+1|0:b;a=qe(Ra,$a,-683901,-1);f=a+f|0;e=$+b|0;e=a>>>0>f>>>0?e+1|0:e;b=f;a=La&-2097152;t=b-a|0;n=e-((a>>>0>b>>>0)+p|0)|0;a=qe(M,na,da,Aa);b=$;e=a;a=qe(P,Q,ca,za);f=e+a|0;e=$+b|0;e=a>>>0>f>>>0?e+1|0:e;a=qe(R,pa,ea,Ba);f=a+f|0;b=$+e|0;b=a>>>0>f>>>0?b+1|0:b;a=qe(S,ra,Y,wa);f=a+f|0;e=$+b|0;e=a>>>0>f>>>0?e+1|0:e;b=qe(W,sa,U,V);f=b+f|0;a=$+e|0;a=b>>>0>f>>>0?a+1|0:a;b=qe(T,A,X,ua);e=b+f|0;a=$+a|0;a=b>>>0>e>>>0?a+1|0:a;b=qe(O,N,Z,va);f=b+e|0;e=$+a|0;e=b>>>0>f>>>0?e+1|0:e;a=qe(K,oa,fa,Ca);f=a+f|0;b=$+e|0;b=a>>>0>f>>>0?b+1|0:b;a=qe(la,qa,ga,Da);f=a+f|0;e=$+b|0;e=a>>>0>f>>>0?e+1|0:e;b=qe(i,c,ia,Ea);f=b+f|0;a=$+e|0;m=f;f=b>>>0>f>>>0?a+1|0:a;b=qe(M,na,ca,za);a=$;e=b;b=qe(P,Q,aa,xa);e=e+b|0;a=$+a|0;a=b>>>0>e>>>0?a+1|0:a;b=qe(R,pa,da,Aa);r=b+e|0;e=$+a|0;e=b>>>0>r>>>0?e+1|0:e;a=qe(S,ra,ea,Ba);r=a+r|0;b=$+e|0;b=a>>>0>r>>>0?b+1|0:b;a=qe(U,V,Y,wa);r=a+r|0;e=$+b|0;e=a>>>0>r>>>0?e+1|0:e;b=qe(W,sa,X,ua);r=b+r|0;a=$+e|0;a=b>>>0>r>>>0?a+1|0:a;b=qe(T,A,Z,va);e=b+r|0;a=$+a|0;a=b>>>0>e>>>0?a+1|0:a;b=qe(O,N,fa,Ca);r=b+e|0;e=$+a|0;e=b>>>0>r>>>0?e+1|0:e;a=qe(K,oa,ga,Da);r=a+r|0;b=$+e|0;b=a>>>0>r>>>0?b+1|0:b;a=qe(la,qa,ia,Ea);r=a+r|0;e=$+b|0;e=a>>>0>r>>>0?e+1|0:e;b=qe(i,c,ja,Ga);r=b+r|0;a=$+e|0;E=r;a=b>>>0>r>>>0?a+1|0:a;Ma=a;a=r;b=Ma-((a>>>0<4293918720)-1|0)|0;yb=a- -1048576|0;Oa=b;e=b>>21;a=(b&2097151)<<11|yb>>>21;b=a+m|0;e=e+f|0;r=b;e=a>>>0>b>>>0?e+1|0:e;Ua=e;a=b;b=e-((a>>>0<4293918720)-1|0)|0;zb=a- -1048576|0;Pa=b;e=b>>21;b=(b&2097151)<<11|zb>>>21;f=b+t|0;a=e+n|0;t=f;a=b>>>0>f>>>0?a+1|0:a;La=a;a=f;b=La-((a>>>0<4293918720)-1|0)|0;Za=a- -1048576|0;Ka=b;e=b>>21;a=(b&2097151)<<11|Za>>>21;b=a+y|0;e=e+x|0;e=a>>>0>b>>>0?e+1|0:e;m=e;a=b;x=e-((a>>>0<4293918720)-1|0)|0;n=a- -1048576|0;f=x;e=f>>21;x=(f&2097151)<<11|n>>>21;y=x+H|0;a=e+C|0;tb=y;a=x>>>0>y>>>0?a+1|0:a;mb=a;e=qe(y,a,-683901,-1);a=$;x=q;q=e;e=qe(ib,jb,136657,0);q=q+e|0;a=$+a|0;a=e>>>0>q>>>0?a+1|0:a;x=x+q|0;e=a+o|0;Sa=x;J=q>>>0>x>>>0?e+1|0:e;H=w;x=j;o=qe(y,mb,136657,0);j=$;e=n&-2097152;a=m-((e>>>0>b>>>0)+f|0)|0;Wa=b-e|0;nb=a;e=qe(ib,jb,-997805,-1);f=e+o|0;b=$+j|0;b=e>>>0>f>>>0?b+1|0:b;e=qe(Wa,a,-683901,-1);f=e+f|0;a=$+b|0;Ab=f;w=e>>>0>f>>>0?a+1|0:a;a=qe(ab,bb,470296,0);b=$;e=a;a=qe(Qa,_a,666643,0);f=e+a|0;e=$+b|0;e=a>>>0>f>>>0?e+1|0:e;a=f+u|0;b=e+Na|0;b=a>>>0>>0?b+1|0:b;e=a;a=eb&-2097152;Bb=e-a|0;ub=b-((a>>>0>e>>>0)+fb|0)|0;B=qe(ab,bb,666643,0);y=$;a=qe(aa,xa,fa,Ca);b=$;e=a;a=qe(Z,va,ba,ya);f=e+a|0;e=$+b|0;e=a>>>0>f>>>0?e+1|0:e;a=qe(ca,za,ga,Da);b=a+f|0;e=$+e|0;e=a>>>0>b>>>0?e+1|0:e;a=qe(da,Aa,ia,Ea);f=a+b|0;b=$+e|0;b=a>>>0>f>>>0?b+1|0:b;e=qe(ea,Ba,ja,Ga);f=e+f|0;a=$+b|0;a=e>>>0>f>>>0?a+1|0:a;b=qe(Y,wa,ka,Ha);e=b+f|0;a=$+a|0;f=e;e=b>>>0>e>>>0?a+1|0:a;a=G[g+174|0];b=a>>>24|0;j=G[g+173|0];m=j|a<<8;b=Ta>>>16|b;a=Ta<<16|m;a=((b&1)<<31|a>>>1)&2097151;b=a+f|0;u=b;f=a>>>0>b>>>0?e+1|0:e;a=qe(ga,Da,aa,xa);b=$;e=a;a=qe(ba,ya,fa,Ca);m=e+a|0;e=$+b|0;e=a>>>0>m>>>0?e+1|0:e;a=qe(ca,za,ia,Ea);m=a+m|0;b=$+e|0;b=a>>>0>m>>>0?b+1|0:b;e=qe(da,Aa,ja,Ga);m=e+m|0;a=$+b|0;a=e>>>0>m>>>0?a+1|0:a;b=qe(ea,Ba,ka,Ha);e=b+m|0;a=$+a|0;o=e;e=b>>>0>e>>>0?a+1|0:a;a=G[g+171|0];b=a>>>24|0;Na=G[g+170|0];n=Na|a<<8;m=G[g+172|0];a=m>>>16|0;n=n|m<<16;m=a|b;b=j<<24;j=j>>>8|m;a=b|n;a=((j&15)<<28|a>>>4)&2097151;b=a+o|0;q=b;e=a>>>0>b>>>0?e+1|0:e;j=e;a=b;e=e-((a>>>0<4293918720)-1|0)|0;db=a- -1048576|0;fb=e;a=e>>>21|0;b=(e&2097151)<<11|db>>>21;e=b+u|0;a=a+f|0;o=e;a=b>>>0>e>>>0?a+1|0:a;C=a;a=e;e=C-((a>>>0<4293918720)-1|0)|0;eb=a- -1048576|0;Ia=e;b=(e&2097151)<<11|eb>>>21;f=b+B|0;e=(e>>>21|0)+y|0;e=b>>>0>f>>>0?e+1|0:e;a=f;b=a+z|0;e=e+h|0;e=a>>>0>b>>>0?e+1|0:e;a=qb&-2097152;p=e-((a>>>0>b>>>0)+Ja|0)|0;n=b-a|0;a=n;e=p-((a>>>0<4293918720)-1|0)|0;Ta=a- -1048576|0;s=e;b=(e&2097151)<<11|Ta>>>21;f=b+Bb|0;e=(e>>21)+ub|0;m=f;e=b>>>0>f>>>0?e+1|0:e;B=e;a=f;e=e-((a>>>0<4293918720)-1|0)|0;Ja=a- -1048576|0;y=e;a=e>>21;b=(e&2097151)<<11|Ja>>>21;e=b+Ab|0;a=a+w|0;a=b>>>0>e>>>0?a+1|0:a;f=e+H|0;b=a+x|0;b=e>>>0>f>>>0?b+1|0:b;e=f;a=rb&-2097152;x=b-((a>>>0>e>>>0)+ma|0)|0;h=e-a|0;a=h;e=x-((a>>>0<4293918720)-1|0)|0;ma=a- -1048576|0;z=e;a=e>>21;b=(e&2097151)<<11|ma>>>21;e=b+Sa|0;a=a+J|0;a=b>>>0>e>>>0?a+1|0:a;b=a;a=sb&-2097152;u=b-((a>>>0>e>>>0)+gb|0)|0;b=e-a|0;a=b;gb=u-((a>>>0<4293918720)-1|0)|0;J=a- -1048576|0;ub=v- -1048576|0;H=L-((v>>>0<4293918720)-1|0)|0;f=H;w=gb;v=(w&2097151)<<11|J>>>21;I=v+I|0;a=(w>>21)+L|0;a=v>>>0>I>>>0?a+1|0:a;v=I;e=ub&-2097152;qb=v-e|0;rb=a-((e>>>0>v>>>0)+f|0)|0;a=J&-2097152;sb=b-a|0;gb=u-((a>>>0>b>>>0)+w|0)|0;a=ma&-2097152;Sa=h-a|0;I=x-((a>>>0>h>>>0)+z|0)|0;a=qe(tb,mb,-997805,-1);b=$;e=a;a=qe(ib,jb,654183,0);h=e+a|0;e=$+b|0;e=a>>>0>h>>>0?e+1|0:e;b=qe(Wa,nb,136657,0);h=b+h|0;a=$+e|0;a=b>>>0>h>>>0?a+1|0:a;b=h+m|0;e=a+B|0;e=b>>>0>>0?e+1|0:e;a=Ja&-2097152;L=b-a|0;J=e-((a>>>0>b>>>0)+y|0)|0;a=Za&-2097152;H=t-a|0;B=La-((a>>>0>t>>>0)+Ka|0)|0;b=qe(kb,lb,-997805,-1);a=$;e=b;b=qe(Va,hb,654183,0);e=e+b|0;a=$+a|0;a=b>>>0>e>>>0?a+1|0:a;b=qe(Ra,$a,136657,0);h=b+e|0;e=$+a|0;e=b>>>0>h>>>0?e+1|0:e;a=qe(Xa,Ya,-683901,-1);h=a+h|0;b=$+e|0;b=a>>>0>h>>>0?b+1|0:b;a=h+r|0;e=b+Ua|0;e=a>>>0>>0?e+1|0:e;b=a;a=zb&-2097152;z=b-a|0;u=e-((a>>>0>b>>>0)+Pa|0)|0;b=qe(kb,lb,654183,0);a=$;e=b;b=qe(Va,hb,470296,0);e=e+b|0;a=$+a|0;a=b>>>0>e>>>0?a+1|0:a;b=e;e=qe(Ra,$a,-997805,-1);h=b+e|0;b=$+a|0;a=h+E|0;e=Ma+(e>>>0>h>>>0?b+1|0:b)|0;e=a>>>0>>0?e+1|0:e;b=a;a=qe(Xa,Ya,136657,0);b=b+a|0;e=$+e|0;e=a>>>0>b>>>0?e+1|0:e;a=b;b=qe(Qa,_a,-683901,-1);h=a+b|0;a=$+e|0;a=b>>>0>h>>>0?a+1|0:a;e=h;b=yb&-2097152;t=e-b|0;m=a-((b>>>0>e>>>0)+Oa|0)|0;a=qe(M,na,aa,xa);b=$;e=a;a=qe(P,Q,ba,ya);e=e+a|0;b=$+b|0;b=a>>>0>e>>>0?b+1|0:b;a=qe(R,pa,ca,za);h=a+e|0;e=$+b|0;e=a>>>0>h>>>0?e+1|0:e;b=qe(S,ra,da,Aa);h=b+h|0;a=$+e|0;a=b>>>0>h>>>0?a+1|0:a;b=qe(U,V,ea,Ba);h=b+h|0;e=$+a|0;e=b>>>0>h>>>0?e+1|0:e;b=qe(X,ua,Y,wa);h=b+h|0;a=$+e|0;a=b>>>0>h>>>0?a+1|0:a;e=qe(W,sa,Z,va);h=e+h|0;b=$+a|0;b=e>>>0>h>>>0?b+1|0:b;a=qe(T,A,fa,Ca);h=a+h|0;e=$+b|0;e=a>>>0>h>>>0?e+1|0:e;b=qe(O,N,ga,Da);h=b+h|0;a=$+e|0;a=b>>>0>h>>>0?a+1|0:a;b=qe(K,oa,ia,Ea);h=b+h|0;e=$+a|0;e=b>>>0>h>>>0?e+1|0:e;b=qe(la,qa,ja,Ga);h=b+h|0;a=$+e|0;c=qe(i,c,ka,Ha);e=c+h|0;b=$+(b>>>0>h>>>0?a+1|0:a)|0;h=e;c=c>>>0>e>>>0?b+1|0:b;a=G[g+189|0];b=a>>>24|0;i=vb|a<<8;e=G[g+190|0];a=e>>>16|0;i=i|e<<16;e=a|b;a=G[g+191|0];b=a>>>8|0;a=a<<24|i;b=b|e;e=b>>>7|0;a=(b&127)<<25|a>>>7;b=a+h|0;e=c+e|0;e=a>>>0>b>>>0?e+1|0:e;a=b;b=(l&2097151)<<11|wb>>>21;c=a+b|0;a=(l>>>21|0)+e|0;h=c;a=b>>>0>c>>>0?a+1|0:a;w=a;a=c;c=w-((a>>>0<4293918720)-1|0)|0;y=a- -1048576|0;v=c;a=c>>21;b=(c&2097151)<<11|y>>>21;c=b+t|0;e=a+m|0;l=c;e=b>>>0>c>>>0?e+1|0:e;E=e;a=c;c=e-((a>>>0<4293918720)-1|0)|0;x=a- -1048576|0;r=c;a=c>>21;b=(c&2097151)<<11|x>>>21;c=b+z|0;a=a+u|0;a=b>>>0>c>>>0?a+1|0:a;b=c;m=a;a=b;e=m-((a>>>0<4293918720)-1|0)|0;t=a- -1048576|0;i=e;c=(e&2097151)<<11|t>>>21;u=c+H|0;e=(e>>21)+B|0;Ja=u;e=c>>>0>u>>>0?e+1|0:e;Ka=e;a=qe(u,e,-683901,-1);c=a+L|0;e=$+J|0;A=c;c=a>>>0>c>>>0?e+1|0:e;u=qe(tb,mb,654183,0);e=$;a=t&-2097152;i=m-((a>>>0>b>>>0)+i|0)|0;ma=b-a|0;J=i;b=qe(ib,jb,470296,0);m=b+u|0;a=$+e|0;a=b>>>0>m>>>0?a+1|0:a;e=qe(Wa,nb,-997805,-1);m=e+m|0;b=$+a|0;b=e>>>0>m>>>0?b+1|0:b;e=m+n|0;a=b+p|0;a=e>>>0>>0?a+1|0:a;b=qe(Ja,Ka,136657,0);m=e;e=Ta&-2097152;n=b+(m-e|0)|0;e=$+(a-((e>>>0>m>>>0)+s|0)|0)|0;e=b>>>0>n>>>0?e+1|0:e;b=qe(ma,i,-683901,-1);i=b+n|0;a=$+e|0;a=b>>>0>i>>>0?a+1|0:a;t=a;a=i;e=t-((a>>>0<4293918720)-1|0)|0;z=a- -1048576|0;n=e;a=(e&2097151)<<11|z>>>21;m=a+A|0;e=(e>>21)+c|0;c=m;e=a>>>0>c>>>0?e+1|0:e;m=e;a=c;A=e-((a>>>0<4293918720)-1|0)|0;u=a- -1048576|0;e=A;b=e>>21;A=(e&2097151)<<11|u>>>21;B=A+Sa|0;a=b+I|0;Ma=B;A=A>>>0>B>>>0?a+1|0:a;a=u&-2097152;Oa=c-a|0;Ua=m-((a>>>0>c>>>0)+e|0)|0;a=z&-2097152;Pa=i-a|0;La=t-((a>>>0>i>>>0)+n|0)|0;a=qe(tb,mb,470296,0);b=$;c=a;a=qe(ib,jb,666643,0);c=c+a|0;b=$+b|0;b=a>>>0>c>>>0?b+1|0:b;a=c;c=qe(Wa,nb,654183,0);e=a+c|0;a=$+b|0;b=e+o|0;e=C+(c>>>0>e>>>0?a+1|0:a)|0;e=b>>>0>>0?e+1|0:e;a=eb&-2097152;o=b-a|0;n=e-((a>>>0>b>>>0)+Ia|0)|0;a=x&-2097152;m=l-a|0;i=E-((a>>>0>l>>>0)+r|0)|0;b=qe(kb,lb,470296,0);a=$;c=b;b=qe(Va,hb,666643,0);c=c+b|0;a=$+a|0;a=b>>>0>c>>>0?a+1|0:a;b=c;c=qe(Ra,$a,654183,0);e=b+c|0;b=$+a|0;b=c>>>0>e>>>0?b+1|0:b;c=qe(Xa,Ya,-997805,-1);e=c+e|0;a=$+b|0;a=c>>>0>e>>>0?a+1|0:a;b=qe(Qa,_a,136657,0);c=b+e|0;e=$+a|0;e=b>>>0>c>>>0?e+1|0:e;a=qe(ab,bb,-683901,-1);b=a+c|0;e=$+e|0;e=a>>>0>b>>>0?e+1|0:e;b=b+h|0;a=e+w|0;a=b>>>0>>0?a+1|0:a;e=b;c=y&-2097152;b=e-c|0;a=(a-((c>>>0>e>>>0)+v|0)|0)+(k>>21)|0;c=b;b=(k&2097151)<<11|xb>>>21;e=c+b|0;l=e;a=b>>>0>e>>>0?a+1|0:a;z=a;a=e;c=z-((a>>>0<4293918720)-1|0)|0;B=a- -1048576|0;r=c;a=c>>21;b=(c&2097151)<<11|B>>>21;c=b+m|0;e=a+i|0;I=c;e=b>>>0>c>>>0?e+1|0:e;H=e;a=qe(c,e,-683901,-1);c=a+o|0;b=$+n|0;b=a>>>0>c>>>0?b+1|0:b;a=c;c=qe(Ja,Ka,-997805,-1);e=a+c|0;a=$+b|0;a=c>>>0>e>>>0?a+1|0:a;b=qe(ma,J,136657,0);c=b+e|0;e=$+a|0;E=c;t=b>>>0>c>>>0?e+1|0:e;m=q;h=j;b=qe(aa,xa,ia,Ea);a=$;c=b;b=qe(ba,ya,ga,Da);c=c+b|0;a=$+a|0;a=b>>>0>c>>>0?a+1|0:a;b=qe(ca,za,ja,Ga);c=b+c|0;e=$+a|0;e=b>>>0>c>>>0?e+1|0:e;a=qe(da,Aa,ka,Ha);c=a+c|0;b=$+e|0;k=c;i=a>>>0>c>>>0?b+1|0:b;b=G[g+168|0];a=b>>>24|0;c=G[g+167|0];j=c|b<<8;b=G[g+169|0];e=b>>>16|0;j=j|b<<16;b=a|e|Na>>>8;b=((b&127)<<25|(Na<<24|j)>>>7)&2097151;e=b+k|0;a=i;n=e;i=b>>>0>e>>>0?a+1|0:a;a=qe(aa,xa,ja,Ga);b=$;e=a;a=qe(ba,ya,ia,Ea);j=e+a|0;e=$+b|0;e=a>>>0>j>>>0?e+1|0:e;a=qe(ca,za,ka,Ha);b=a+j|0;e=$+e|0;k=b;b=a>>>0>b>>>0?e+1|0:e;e=G[g+166|0];a=e>>>24|0;u=G[g+165|0];j=u|e<<8;e=c>>>16|0;c=c<<16;e=a|e;a=c|j;c=((e&3)<<30|a>>>2)&2097151;e=c+k|0;a=b;k=e;a=c>>>0>e>>>0?a+1|0:a;c=a;a=e;b=c-((a>>>0<4293918720)-1|0)|0;Ia=a- -1048576|0;w=b;e=b>>>21|0;b=(b&2097151)<<11|Ia>>>21;j=b+n|0;a=e+i|0;a=b>>>0>j>>>0?a+1|0:a;v=a;a=j;b=v-((a>>>0<4293918720)-1|0)|0;p=a- -1048576|0;q=b;e=b>>>21|0;b=(b&2097151)<<11|p>>>21;i=b+m|0;a=e+h|0;a=b>>>0>i>>>0?a+1|0:a;b=qe(tb,mb,666643,0);e=db&-2097152;h=b+(i-e|0)|0;a=$+(a-((e>>>0>i>>>0)+fb|0)|0)|0;a=b>>>0>h>>>0?a+1|0:a;b=qe(Wa,nb,470296,0);i=b+h|0;e=$+a|0;e=b>>>0>i>>>0?e+1|0:e;b=qe(I,H,136657,0);i=b+i|0;a=$+e|0;a=b>>>0>i>>>0?a+1|0:a;b=qe(Ja,Ka,654183,0);i=b+i|0;e=$+a|0;e=b>>>0>i>>>0?e+1|0:e;a=qe(ma,J,-997805,-1);i=a+i|0;b=$+e|0;s=i;b=a>>>0>i>>>0?b+1|0:b;o=b;a=i;b=b-((a>>>0<4293918720)-1|0)|0;y=a- -1048576|0;n=b;e=b>>21;a=(b&2097151)<<11|y>>>21;b=a+E|0;e=e+t|0;i=b;e=a>>>0>b>>>0?e+1|0:e;a=e;h=a-((b>>>0<4293918720)-1|0)|0;x=b- -1048576|0;m=h;e=h>>21;h=(h&2097151)<<11|x>>>21;t=h+Pa|0;b=e+La|0;Pa=t;E=h>>>0>t>>>0?b+1|0:b;h=i;i=a;b=B&-2097152;a=l-b|0;e=z-((b>>>0>l>>>0)+r|0)|0;l=a;b=f>>21;a=(f&2097151)<<11|ub>>>21;f=l+a|0;e=b+e|0;e=a>>>0>f>>>0?e+1|0:e;r=e;a=f;e=e-((a>>>0<4293918720)-1|0)|0;B=a- -1048576|0;t=e;b=e>>21;C=b;L=(e&2097151)<<11|B>>>21;b=qe(L,b,-683901,-1);e=b+h|0;a=$+i|0;a=b>>>0>e>>>0?a+1|0:a;b=x&-2097152;La=e-b|0;Na=a-((b>>>0>e>>>0)+m|0)|0;a=qe(L,C,136657,0);b=a+s|0;e=$+o|0;e=a>>>0>b>>>0?e+1|0:e;a=y&-2097152;fb=b-a|0;s=e-((a>>>0>b>>>0)+n|0)|0;b=qe(Wa,nb,666643,0);a=p&-2097152;e=b+(j-a|0)|0;a=$+(v-((a>>>0>j>>>0)+q|0)|0)|0;a=b>>>0>e>>>0?a+1|0:a;b=qe(I,H,-997805,-1);i=b+e|0;e=$+a|0;e=b>>>0>i>>>0?e+1|0:e;a=qe(Ja,Ka,470296,0);i=a+i|0;b=$+e|0;b=a>>>0>i>>>0?b+1|0:b;a=qe(ma,J,654183,0);i=a+i|0;e=$+b|0;v=i;m=a>>>0>i>>>0?e+1|0:e;j=c;b=qe(aa,xa,ka,Ha);a=$;c=b;b=qe(ba,ya,ja,Ga);c=c+b|0;a=$+a|0;h=c;c=b>>>0>c>>>0?a+1|0:a;a=qe(ba,ya,ka,Ha);l=G[g+162|0];b=l;b=b<<16&2031616|(G[g+160|0]|G[g+161|0]<<8);e=a+b|0;a=$;i=e;a=b>>>0>e>>>0?a+1|0:a;q=a;a=e;e=q-((a>>>0<4293918720)-1|0)|0;y=a- -1048576|0;o=e;a=e>>>21|0;e=(e&2097151)<<11|y>>>21;h=e+h|0;b=a+c|0;b=e>>>0>h>>>0?b+1|0:b;e=h;c=b;a=G[g+163|0];b=a>>>24|0;h=l|a<<8;l=G[g+164|0];a=l>>>16|0;l=h|l<<16;b=a|b|u>>>8;a=((b&31)<<27|(u<<24|l)>>>5)&2097151;b=a+e|0;e=c;c=b;e=a>>>0>b>>>0?e+1|0:e;n=e;a=b;b=e-((a>>>0<4293918720)-1|0)|0;x=a- -1048576|0;h=b;e=b>>>21|0;b=(b&2097151)<<11|x>>>21;k=b+k|0;a=e+j|0;a=b>>>0>k>>>0?a+1|0:a;b=qe(I,H,654183,0);j=k;e=Ia&-2097152;k=b+(j-e|0)|0;e=$+(a-((e>>>0>j>>>0)+w|0)|0)|0;e=b>>>0>k>>>0?e+1|0:e;a=qe(Ja,Ka,666643,0);b=a+k|0;e=$+e|0;e=a>>>0>b>>>0?e+1|0:e;a=b;b=qe(ma,J,470296,0);j=a+b|0;a=$+e|0;z=j;a=b>>>0>j>>>0?a+1|0:a;l=a;a=j;b=l-((a>>>0<4293918720)-1|0)|0;u=a- -1048576|0;k=b;a=(b&2097151)<<11|u>>>21;j=a+v|0;b=(b>>21)+m|0;w=j;b=a>>>0>j>>>0?b+1|0:b;j=b;a=w;m=b-((a>>>0<4293918720)-1|0)|0;v=a- -1048576|0;b=m;e=b>>21;m=(b&2097151)<<11|v>>>21;p=m+fb|0;a=e+s|0;Ia=p;m=m>>>0>p>>>0?a+1|0:a;e=qe(L,C,-997805,-1);w=e+w|0;a=$+j|0;a=e>>>0>w>>>0?a+1|0:a;j=w;e=v&-2097152;p=j-e|0;s=a-((e>>>0>j>>>0)+b|0)|0;a=qe(L,C,654183,0);b=a+z|0;e=$+l|0;e=a>>>0>b>>>0?e+1|0:e;a=u&-2097152;w=b-a|0;v=e-((a>>>0>b>>>0)+k|0)|0;a=qe(I,H,470296,0);b=x&-2097152;e=a+(c-b|0)|0;b=$+(n-((b>>>0>c>>>0)+h|0)|0)|0;b=a>>>0>e>>>0?b+1|0:b;a=qe(ma,J,666643,0);c=a+e|0;e=$+b|0;k=c;j=a>>>0>c>>>0?e+1|0:e;a=qe(I,H,666643,0);b=y&-2097152;c=a+(i-b|0)|0;e=$+(q-((o&4095)+(b>>>0>i>>>0)|0)|0)|0;e=a>>>0>c>>>0?e+1|0:e;h=e;a=c;e=e-((a>>>0<4293918720)-1|0)|0;q=a- -1048576|0;l=e;b=(e&2097151)<<11|q>>>21;i=b+k|0;e=(e>>21)+j|0;o=i;e=b>>>0>i>>>0?e+1|0:e;k=e;a=i;e=e-((a>>>0<4293918720)-1|0)|0;n=a- -1048576|0;j=e;b=(e&2097151)<<11|n>>>21;i=b+w|0;e=(e>>21)+v|0;v=i;i=b>>>0>i>>>0?e+1|0:e;a=qe(L,C,470296,0);e=a+o|0;b=$+k|0;b=a>>>0>e>>>0?b+1|0:b;k=e;e=n&-2097152;a=k-e|0;j=b-((e>>>0>k>>>0)+j|0)|0;n=a;a=qe(L,C,666643,0);b=q&-2097152;k=a+(c-b|0)|0;e=$+(h-((b>>>0>c>>>0)+l|0)|0)|0;e=a>>>0>k>>>0?e+1|0:e;a=k;b=e>>21;c=(e&2097151)<<11|a>>>21;e=n+c|0;a=b+j|0;x=e;b=e;a=c>>>0>e>>>0?a+1|0:a;e=a>>21;a=(a&2097151)<<11|b>>>21;b=a+v|0;e=e+i|0;e=a>>>0>b>>>0?e+1|0:e;j=b;b=(e&2097151)<<11|b>>>21;c=b+p|0;a=(e>>21)+s|0;a=b>>>0>c>>>0?a+1|0:a;h=c;b=c;e=a>>21;a=(a&2097151)<<11|b>>>21;c=a+Ia|0;b=e+m|0;b=a>>>0>c>>>0?b+1|0:b;z=c;a=b>>21;b=(b&2097151)<<11|c>>>21;c=b+La|0;e=a+Na|0;u=c;a=c;e=b>>>0>a>>>0?e+1|0:e;b=e>>21;c=(e&2097151)<<11|a>>>21;e=c+Pa|0;a=b+E|0;w=e;b=e;a=c>>>0>e>>>0?a+1|0:a;e=a>>21;a=(a&2097151)<<11|b>>>21;b=a+Oa|0;e=e+Ua|0;e=a>>>0>b>>>0?e+1|0:e;v=b;b=(e&2097151)<<11|b>>>21;c=b+Ma|0;a=(e>>21)+A|0;a=b>>>0>c>>>0?a+1|0:a;E=c;b=c;e=a>>21;a=(a&2097151)<<11|b>>>21;c=a+sb|0;b=e+gb|0;b=a>>>0>c>>>0?b+1|0:b;q=c;a=b>>21;b=(b&2097151)<<11|c>>>21;c=b+qb|0;e=a+rb|0;o=c;a=c;e=b>>>0>a>>>0?e+1|0:e;b=(e&2097151)<<11|a>>>21;c=B&-2097152;a=f-c|0;i=b+a|0;e=(r-((c>>>0>f>>>0)+t|0)|0)+(e>>21)|0;n=i;b=i;e=a>>>0>b>>>0?e+1|0:e;t=(e&2097151)<<11|b>>>21;a=e>>21;l=a;b=qe(t,a,666643,0);a=k&2097151;b=b+a|0;e=$;k=b;e=a>>>0>b>>>0?e+1|0:e;c=e;D[d+32|0]=b;D[d+33|0]=(e&255)<<24|b>>>8;i=d;a=x&2097151;e=qe(t,l,470296,0)+a|0;b=$;b=a>>>0>e>>>0?b+1|0:b;m=e;e=c;a=e>>21;f=(e&2097151)<<11|k>>>21;m=m+f|0;e=a+b|0;e=f>>>0>m>>>0?e+1|0:e;f=m;D[i+36|0]=(e&2047)<<21|f>>>11;a=e;e=f;D[i+35|0]=(a&7)<<29|e>>>3;b=i;i=j&2097151;j=qe(t,l,654183,0)+i|0;e=$;e=i>>>0>j>>>0?e+1|0:e;i=a;a=a>>21;i=(i&2097151)<<11|f>>>21;j=i+j|0;a=a+e|0;a=i>>>0>j>>>0?a+1|0:a;e=a;D[b+38|0]=(a&63)<<26|j>>>6;i=0;m=f&2097151;a=m;D[b+34|0]=((c&65535)<<16|k>>>16)&31|a<<5;c=b;a=h&2097151;f=qe(t,l,-997805,-1)+a|0;b=$;b=a>>>0>f>>>0?b+1|0:b;a=f;f=(e&2097151)<<11|j>>>21;k=a+f|0;e=(e>>21)+b|0;e=f>>>0>k>>>0?e+1|0:e;D[c+41|0]=(e&511)<<23|k>>>9;b=e;D[c+40|0]=(e&1)<<31|k>>>1;f=0;h=j&2097151;c=h;D[d+37|0]=(i&524287)<<13|m>>>19|c<<2;c=d;e=z&2097151;i=qe(t,l,136657,0)+e|0;a=$;a=e>>>0>i>>>0?a+1|0:a;e=b>>21;b=(b&2097151)<<11|k>>>21;i=b+i|0;e=a+e|0;j=i;e=b>>>0>i>>>0?e+1|0:e;D[c+44|0]=(e&4095)<<20|i>>>12;b=e;D[c+43|0]=(e&15)<<28|i>>>4;i=0;k=k&2097151;c=k;D[d+39|0]=(f&16383)<<18|h>>>14|c<<7;c=d;e=u&2097151;f=qe(t,l,-683901,-1)+e|0;a=$;a=e>>>0>f>>>0?a+1|0:a;e=f;f=(b&2097151)<<11|j>>>21;l=e+f|0;b=(b>>21)+a|0;b=f>>>0>l>>>0?b+1|0:b;f=l;a=b;D[c+46|0]=(a&127)<<25|f>>>7;c=0;l=j&2097151;e=l;D[d+42|0]=(i&131071)<<15|k>>>17|e<<4;b=d;e=a;a=a>>21;i=(e&2097151)<<11|f>>>21;k=i+(w&2097151)|0;e=i>>>0>k>>>0?a+1|0:a;i=k;D[b+49|0]=(e&1023)<<22|i>>>10;a=e;e=i;D[b+48|0]=(a&3)<<30|e>>>2;e=0;k=f&2097151;f=k;D[b+45|0]=(c&1048575)<<12|l>>>20|f<<1;c=a;a=a>>21;c=(c&2097151)<<11|i>>>21;f=c+(v&2097151)|0;j=f;a=c>>>0>f>>>0?a+1|0:a;b=f;D[d+52|0]=(a&8191)<<19|b>>>13;D[d+51|0]=(a&31)<<27|b>>>5;f=0;l=i&2097151;b=l;D[d+47|0]=(e&32767)<<17|k>>>15|b<<6;b=a;a=a>>21;b=(b&2097151)<<11|j>>>21;h=b+(E&2097151)|0;e=a;i=d;D[i+53|0]=h;a=j;D[i+50|0]=(f&262143)<<14|l>>>18|a<<3;b=b>>>0>h>>>0?e+1|0:e;D[i+54|0]=(b&255)<<24|h>>>8;a=b;e=a>>21;a=(a&2097151)<<11|h>>>21;i=a+(q&2097151)|0;j=i;e=a>>>0>i>>>0?e+1|0:e;D[d+57|0]=(e&2047)<<21|i>>>11;a=e;c=a;e=i;D[d+56|0]=(a&7)<<29|e>>>3;e=d;a=a>>21;c=(c&2097151)<<11|i>>>21;i=c+(o&2097151)|0;f=i;a=c>>>0>f>>>0?a+1|0:a;c=a;D[e+59|0]=(a&63)<<26|f>>>6;i=0;k=j&2097151;a=k;D[e+55|0]=((b&65535)<<16|h>>>16)&31|a<<5;a=c>>21;c=(c&2097151)<<11|f>>>21;l=c+(n&2097151)|0;j=l;b=c>>>0>j>>>0?a+1|0:a;c=j;D[e+63|0]=(b&131071)<<15|c>>>17;a=b;D[e+62|0]=(a&511)<<23|c>>>9;D[e+61|0]=(a&1)<<31|c>>>1;b=0;e=f&2097151;D[d+58|0]=(i&524287)<<13|k>>>19|e<<2;D[d+60|0]=(b&16383)<<18|e>>>14|c<<7;_=g+624|0}function fb(a,b,c,d){var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,E=0,H=0,I=0,J=0,K=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0;k=_-768|0;_=k;a:{if(G[d+63|0]>31){break a}h=_-272|0;_=h;V=G[a+31|0];W=G[a+30|0];X=G[a+6|0];Q=G[a+5|0];R=G[a+9|0];S=G[a+8|0];m=G[a+12|0];E=G[a+11|0];B=G[a+15|0];y=G[a+14|0];C=G[a+28|0];z=G[a+27|0];w=G[a+25|0];t=G[a+24|0];M=G[a|0]|G[a+1|0]<<8|(G[a+2|0]<<16|G[a+3|0]<<24);x=G[a+29|0];A=G[a+4|0];v=G[a+7|0];s=G[a+10|0];n=G[a+13|0];q=G[a+26|0];o=G[a+23|0];r=k+128|0;T=r+40|0;j=T;e=G[a+21|0];i=e>>>17|0;f=e<<15;e=i;p=f;f=G[a+20|0];i=f>>>25|0;p=p|f<<7;f=e|i;e=G[a+22|0];i=e>>>9|0;e=e<<23|p;p=f|i;K=e;e=0;N=G[a+16|0]|G[a+17|0]<<8|(G[a+18|0]<<16|G[a+19|0]<<24);i=N+16777216|0;e=i>>>0<16777216?1:e;P=i;f=i;i=e>>>25|0;e=(e&33554431)<<7|f>>>25;f=K+e|0;i=i+p|0;i=e>>>0>f>>>0?i+1|0:i;e=f;f=e;e=e+33554432|0;i=e>>>0<33554432?i+1|0:i;U=e;e=i;i=f;f=U&-67108864;F[j+24>>2]=i-f;i=t>>>19|0;t=t<<13;f=i;i=o>>>27|0;K=o<<5|t|w<<21;i=f|i|w>>>11;w=((e&67108863)<<6|U>>>26)+K|0;f=w;e=K+16777216|0;i=e>>>0<16777216?i+1|0:i;t=e;e=i;i=f;f=t&1040187392;F[j+28>>2]=i-f;f=q>>>28|0;q=z<<12|q<<4;p=f|z>>>20|C>>>12;i=e>>>25|0;e=(e&33554431)<<7|t>>>25;f=e+(C<<20|q)|0;i=i+p|0;i=e>>>0>f>>>0?i+1|0:i;e=i;i=f+33554432|0;e=i>>>0<33554432?e+1|0:e;K=i;q=e;e=i&-67108864;F[j+32>>2]=f-e;f=y<<10|n<<2;i=y>>>22|n>>>30;n=B<<18|f;p=B>>>14|i;t=E<<11|s<<3|m<<19;f=E>>>21|s>>>29|m>>>13;i=t+16777216|0;f=i>>>0<16777216?f+1|0:f;z=i;e=i;i=f>>>25|0;e=(f&33554431)<<7|e>>>25;f=e+n|0;i=i+p|0;i=e>>>0>f>>>0?i+1|0:i;e=f;f=e+33554432|0;i=f>>>0<33554432?i+1|0:i;B=f;p=i;i=e;e=f&-67108864;F[j+16>>2]=i-e;s=S<<13|v<<5|R<<21;o=S>>>19|v>>>27|R>>>11;v=Q<<14|A<<6|X<<22;f=Q>>>18|A>>>26|X>>>10;i=v+16777216|0;f=i>>>0<16777216?f+1|0:f;w=i;e=f>>>25|0;f=(f&33554431)<<7|i>>>25;s=f+s|0;i=e+o|0;i=f>>>0>s>>>0?i+1|0:i;f=s;e=f;f=e+33554432|0;i=f>>>0<33554432?i+1|0:i;y=f;o=i;i=e;e=f&-67108864;F[j+8>>2]=i-e;s=j;e=W>>>22|0;i=x>>>30|0;x=V<<18&33292288|(W<<10|x<<2);e=e|i;i=q>>>26|0;q=(q&67108863)<<6|K>>>26;A=q+x|0;q=A;i=e;e=x+16777216|0;i=e>>>0<16777216?i+1|0:i;n=e;e=i;i=q;f=n&33554432;F[j+36>>2]=i-f;f=(p&67108863)<<6|B>>>26;p=f+N|0;F[j+20>>2]=p-(P&-33554432);f=t;o=f+((o&67108863)<<6|y>>>26)|0;F[j+12>>2]=o-(z&234881024);p=v-(w&2113929216)|0;e=qe((e&33554431)<<7|n>>>25,e>>>25|0,19,0);o=e+M|0;i=$;i=e>>>0>o>>>0?i+1|0:i;e=o;f=i;i=e+33554432|0;f=i>>>0<33554432?f+1|0:f;f=((f&67108863)<<6|i>>>26)+p|0;F[j+4>>2]=f;j=i&-67108864;F[s>>2]=e-j;F[r+84>>2]=0;F[r+88>>2]=0;F[r+80>>2]=1;F[r+92>>2]=0;F[r+96>>2]=0;F[r+100>>2]=0;F[r+104>>2]=0;F[r+108>>2]=0;F[r+112>>2]=0;F[r+116>>2]=0;K=h+192|0;fa(K,s);M=h+144|0;ha(M,K,1936);N=F[r+116>>2];P=F[r+112>>2];V=F[r+108>>2];W=F[r+104>>2];X=F[r+100>>2];Q=F[r+96>>2];R=F[r+92>>2];S=F[r+88>>2];m=F[r+84>>2];E=F[h+228>>2];v=F[h+224>>2];s=F[h+220>>2];n=F[h+216>>2];q=F[h+212>>2];p=F[h+208>>2];o=F[h+204>>2];f=F[h+200>>2];e=F[h+196>>2];j=F[h+192>>2];i=F[r+80>>2];F[h+144>>2]=i+F[h+144>>2];B=j-i|0;F[h+192>>2]=B;y=e-m|0;F[h+196>>2]=y;C=f-S|0;F[h+200>>2]=C;z=o-R|0;F[h+204>>2]=z;w=p-Q|0;F[h+208>>2]=w;t=q-X|0;F[h+212>>2]=t;x=n-W|0;F[h+216>>2]=x;A=s-V|0;F[h+220>>2]=A;v=v-P|0;F[h+224>>2]=v;s=E-N|0;F[h+228>>2]=s;n=F[h+148>>2];q=F[h+152>>2];p=F[h+156>>2];o=F[h+160>>2];f=F[h+164>>2];e=F[h+168>>2];j=F[h+172>>2];i=F[h+176>>2];F[h+180>>2]=N+F[h+180>>2];F[h+176>>2]=i+P;F[h+172>>2]=j+V;F[h+168>>2]=e+W;F[h+164>>2]=f+X;F[h+160>>2]=o+Q;F[h+156>>2]=p+R;F[h+152>>2]=q+S;F[h+148>>2]=m+n;i=h+96|0;fa(i,M);ha(i,i,M);fa(r,i);ha(r,r,M);ha(r,r,K);f=_-144|0;_=f;j=f+96|0;fa(j,r);e=f+48|0;fa(e,j);fa(e,e);ha(e,r,e);ha(j,j,e);fa(j,j);ha(j,e,j);fa(e,j);fa(e,e);fa(e,e);fa(e,e);fa(e,e);ha(j,e,j);fa(e,j);fa(e,e);fa(e,e);fa(e,e);fa(e,e);fa(e,e);fa(e,e);fa(e,e);fa(e,e);fa(e,e);ha(e,e,j);fa(f,e);fa(f,f);fa(f,f);fa(f,f);fa(f,f);fa(f,f);fa(f,f);fa(f,f);fa(f,f);fa(f,f);fa(f,f);fa(f,f);fa(f,f);fa(f,f);fa(f,f);fa(f,f);fa(f,f);fa(f,f);fa(f,f);fa(f,f);ha(e,f,e);fa(e,e);fa(e,e);fa(e,e);fa(e,e);fa(e,e);fa(e,e);fa(e,e);fa(e,e);fa(e,e);fa(e,e);ha(j,e,j);fa(e,j);fa(e,e);fa(e,e);fa(e,e);fa(e,e);fa(e,e);fa(e,e);fa(e,e);fa(e,e);fa(e,e);fa(e,e);fa(e,e);fa(e,e);fa(e,e);fa(e,e);fa(e,e);fa(e,e);fa(e,e);fa(e,e);fa(e,e);fa(e,e);fa(e,e);fa(e,e);fa(e,e);fa(e,e);fa(e,e);fa(e,e);fa(e,e);fa(e,e);fa(e,e);fa(e,e);fa(e,e);fa(e,e);fa(e,e);fa(e,e);fa(e,e);fa(e,e);fa(e,e);fa(e,e);fa(e,e);fa(e,e);fa(e,e);fa(e,e);fa(e,e);fa(e,e);fa(e,e);fa(e,e);fa(e,e);fa(e,e);fa(e,e);ha(e,e,j);fa(f,e);e=1;while(1){fa(f,f);e=e+1|0;if((e|0)!=100){continue}break}e=f+48|0;ha(e,f,e);fa(e,e);fa(e,e);fa(e,e);fa(e,e);fa(e,e);fa(e,e);fa(e,e);fa(e,e);fa(e,e);fa(e,e);fa(e,e);fa(e,e);fa(e,e);fa(e,e);fa(e,e);fa(e,e);fa(e,e);fa(e,e);fa(e,e);fa(e,e);fa(e,e);fa(e,e);fa(e,e);fa(e,e);fa(e,e);fa(e,e);fa(e,e);fa(e,e);fa(e,e);fa(e,e);fa(e,e);fa(e,e);fa(e,e);fa(e,e);fa(e,e);fa(e,e);fa(e,e);fa(e,e);fa(e,e);fa(e,e);fa(e,e);fa(e,e);fa(e,e);fa(e,e);fa(e,e);fa(e,e);fa(e,e);fa(e,e);fa(e,e);fa(e,e);j=f+96|0;ha(j,e,j);fa(j,j);fa(j,j);ha(r,j,r);_=f+144|0;ha(r,r,i);ha(r,r,K);i=h+48|0;fa(i,r);ha(i,i,M);F[h+36>>2]=F[h+84>>2]-s;F[h+32>>2]=F[h+80>>2]-v;F[h+28>>2]=F[h+76>>2]-A;F[h+24>>2]=F[h+72>>2]-x;F[h+20>>2]=F[h+68>>2]-t;F[h+16>>2]=F[h+64>>2]-w;F[h+12>>2]=F[h+60>>2]-z;F[h+8>>2]=F[h+56>>2]-C;F[h+4>>2]=F[h+52>>2]-y;F[h>>2]=F[h+48>>2]-B;Fa(h+240|0,h);b:{if(G[h+271|0]|(G[h+270|0]|(G[h+269|0]|(G[h+268|0]|(G[h+267|0]|(G[h+266|0]|(G[h+265|0]|(G[h+264|0]|(G[h+263|0]|(G[h+262|0]|(G[h+261|0]|(G[h+260|0]|(G[h+259|0]|(G[h+258|0]|(G[h+257|0]|(G[h+256|0]|(G[h+255|0]|(G[h+254|0]|(G[h+253|0]|(G[h+252|0]|(G[h+251|0]|(G[h+250|0]|(G[h+249|0]|(G[h+248|0]|(G[h+247|0]|(G[h+246|0]|(G[h+245|0]|(G[h+244|0]|(G[h+243|0]|(G[h+242|0]|(G[h+241|0]|G[h+240|0]))))))))))))))))))))))))))))))){B=F[h+192>>2];y=F[h+48>>2];C=F[h+196>>2];z=F[h+52>>2];w=F[h+200>>2];t=F[h+56>>2];x=F[h+204>>2];A=F[h+60>>2];v=F[h+208>>2];s=F[h+64>>2];n=F[h+212>>2];q=F[h+68>>2];p=F[h+216>>2];o=F[h+72>>2];f=F[h+220>>2];e=F[h+76>>2];j=F[h+224>>2];i=F[h+80>>2];F[h+36>>2]=F[h+228>>2]+F[h+84>>2];F[h+32>>2]=i+j;F[h+28>>2]=e+f;F[h+24>>2]=o+p;F[h+20>>2]=n+q;F[h+16>>2]=s+v;F[h+12>>2]=x+A;F[h+8>>2]=t+w;F[h+4>>2]=C+z;F[h>>2]=y+B;Fa(h+240|0,h);i=-1;if(G[h+271|0]|(G[h+270|0]|(G[h+269|0]|(G[h+268|0]|(G[h+267|0]|(G[h+266|0]|(G[h+265|0]|(G[h+264|0]|(G[h+263|0]|(G[h+262|0]|(G[h+261|0]|(G[h+260|0]|(G[h+259|0]|(G[h+258|0]|(G[h+257|0]|(G[h+256|0]|(G[h+255|0]|(G[h+254|0]|(G[h+253|0]|(G[h+252|0]|(G[h+251|0]|(G[h+250|0]|(G[h+249|0]|(G[h+248|0]|(G[h+247|0]|(G[h+246|0]|(G[h+245|0]|(G[h+244|0]|(G[h+243|0]|(G[h+242|0]|(G[h+241|0]|G[h+240|0]))))))))))))))))))))))))))))))){break b}ha(r,r,1984)}Fa(h+240|0,r);if((D[h+240|0]&1)==(G[a+31|0]>>>7|0)){F[r+36>>2]=0-F[r+36>>2];F[r+32>>2]=0-F[r+32>>2];F[r+28>>2]=0-F[r+28>>2];F[r+24>>2]=0-F[r+24>>2];F[r+20>>2]=0-F[r+20>>2];F[r+16>>2]=0-F[r+16>>2];F[r+12>>2]=0-F[r+12>>2];F[r+8>>2]=0-F[r+8>>2];F[r+4>>2]=0-F[r+4>>2];F[r>>2]=0-F[r>>2]}ha(r+120|0,r,T);i=0}_=h+272|0;if(i){break a}F[k+352>>2]=327033209;F[k+356>>2]=1541459225;F[k+344>>2]=-79577749;F[k+348>>2]=528734635;F[k+336>>2]=725511199;F[k+340>>2]=-1694144372;F[k+328>>2]=-1377402159;F[k+332>>2]=1359893119;p=32;F[k+320>>2]=1595750129;F[k+324>>2]=-1521486534;F[k+312>>2]=-23791573;F[k+316>>2]=1013904242;F[k+304>>2]=-2067093701;F[k+308>>2]=-1150833019;F[k+296>>2]=-205731576;F[k+300>>2]=1779033703;F[k+288>>2]=0;F[k+292>>2]=0;F[k+360>>2]=0;D[k+364|0]=G[d|0];D[k+365|0]=G[d+1|0];D[k+366|0]=G[d+2|0];D[k+367|0]=G[d+3|0];n=k+364|0;D[(n+F[k+360>>2]|0)+4|0]=G[d+4|0];D[(n+F[k+360>>2]|0)+5|0]=G[d+5|0];D[(n+F[k+360>>2]|0)+6|0]=G[d+6|0];D[(n+F[k+360>>2]|0)+7|0]=G[d+7|0];D[(n+F[k+360>>2]|0)+8|0]=G[d+8|0];D[(n+F[k+360>>2]|0)+9|0]=G[d+9|0];D[(n+F[k+360>>2]|0)+10|0]=G[d+10|0];D[(n+F[k+360>>2]|0)+11|0]=G[d+11|0];D[(n+F[k+360>>2]|0)+12|0]=G[d+12|0];D[(n+F[k+360>>2]|0)+13|0]=G[d+13|0];D[(n+F[k+360>>2]|0)+14|0]=G[d+14|0];D[(n+F[k+360>>2]|0)+15|0]=G[d+15|0];D[(n+F[k+360>>2]|0)+16|0]=G[d+16|0];D[(n+F[k+360>>2]|0)+17|0]=G[d+17|0];D[(n+F[k+360>>2]|0)+18|0]=G[d+18|0];D[(n+F[k+360>>2]|0)+19|0]=G[d+19|0];D[(n+F[k+360>>2]|0)+20|0]=G[d+20|0];D[(n+F[k+360>>2]|0)+21|0]=G[d+21|0];D[(n+F[k+360>>2]|0)+22|0]=G[d+22|0];D[(n+F[k+360>>2]|0)+23|0]=G[d+23|0];D[(n+F[k+360>>2]|0)+24|0]=G[d+24|0];D[(n+F[k+360>>2]|0)+25|0]=G[d+25|0];D[(n+F[k+360>>2]|0)+26|0]=G[d+26|0];D[(n+F[k+360>>2]|0)+27|0]=G[d+27|0];D[(n+F[k+360>>2]|0)+28|0]=G[d+28|0];D[(n+F[k+360>>2]|0)+29|0]=G[d+29|0];D[(n+F[k+360>>2]|0)+30|0]=G[d+30|0];D[(n+F[k+360>>2]|0)+31|0]=G[d+31|0];i=F[k+360>>2]+32|0;F[k+360>>2]=i;if((i|0)==128){ta(k+288|0,n);F[k+360>>2]=0;i=F[k+292>>2];e=F[k+288>>2]+1024|0;i=e>>>0<1024?i+1|0:i;F[k+288>>2]=e;F[k+292>>2]=i}q=F[k+360>>2];if(!(!a|q>>>0>128)){while(1){c:{if(!(p>>>0<128|q)){ta(k+288|0,a);i=F[k+292>>2];e=F[k+288>>2]+1024|0;i=e>>>0<1024?i+1|0:i;F[k+288>>2]=e;F[k+292>>2]=i;p=p-128|0;a=a+128|0;break c}i=128-q|0;o=i>>>0>p>>>0?p:i;d:{if(!o){break d}f=o&3;u=0;if(o-1>>>0>=3){e=o&-4;while(1){j=k+364|0;D[j+(q+u|0)|0]=G[a+u|0];i=u|1;D[j+(i+F[k+360>>2]|0)|0]=G[a+i|0];i=u|2;D[j+(i+F[k+360>>2]|0)|0]=G[a+i|0];i=u|3;D[j+(i+F[k+360>>2]|0)|0]=G[a+i|0];u=u+4|0;q=F[k+360>>2];e=e-4|0;if(e){continue}break}}if(!f){break d}while(1){D[((q+u|0)+k|0)+364|0]=G[a+u|0];u=u+1|0;q=F[k+360>>2];f=f-1|0;if(f){continue}break}}p=p-o|0;a=a+o|0;i=o+q|0;F[k+360>>2]=i;if((i|0)!=128){break c}ta(k+288|0,n);F[k+360>>2]=0;e=F[k+292>>2];j=F[k+288>>2]+1024|0;e=j>>>0<1024?e+1|0:e;F[k+288>>2]=j;F[k+292>>2]=e}q=F[k+360>>2];if(p){continue}break}}e:{if(!c|(!b|q>>>0>128)){break e}while(1){f:{if(!(c>>>0<128|q)){ta(k+288|0,b);i=F[k+292>>2];j=F[k+288>>2]+1024|0;i=j>>>0<1024?i+1|0:i;F[k+288>>2]=j;F[k+292>>2]=i;c=c-128|0;b=b+128|0;break f}a=128-q|0;j=a>>>0>c>>>0?c:a;g:{if(!j){break g}p=j&3;u=0;if(j-1>>>0>=3){f=j&-4;while(1){i=k+364|0;D[i+(q+u|0)|0]=G[b+u|0];a=u|1;D[i+(a+F[k+360>>2]|0)|0]=G[a+b|0];a=u|2;D[i+(a+F[k+360>>2]|0)|0]=G[a+b|0];a=u|3;D[i+(a+F[k+360>>2]|0)|0]=G[a+b|0];u=u+4|0;q=F[k+360>>2];f=f-4|0;if(f){continue}break}}if(!p){break g}while(1){D[((q+u|0)+k|0)+364|0]=G[b+u|0];u=u+1|0;q=F[k+360>>2];p=p-1|0;if(p){continue}break}}c=c-j|0;b=b+j|0;a=j+q|0;F[k+360>>2]=a;if((a|0)!=128){break f}ta(k+288|0,n);F[k+360>>2]=0;i=F[k+292>>2];j=F[k+288>>2]+1024|0;i=j>>>0<1024?i+1|0:i;F[k+288>>2]=j;F[k+292>>2]=i}if(!c){break e}q=F[k+360>>2];continue}}f=k+528|0;cb(k+288|0,f);ob(f);V=k+8|0;i=V;c=k+128|0;q=d+32|0;b=0;a=0;l=_-2272|0;_=l;while(1){j=l+2016|0;e=f+(b>>>3|0)|0;D[j+b|0]=G[e|0]>>>(b&6)&1;o=j;j=b|1;D[o+j|0]=G[e|0]>>>(j&7)&1;b=b+2|0;if((b|0)!=256){continue}break}while(1){j=a;a=a+1|0;n=j+(l+2016|0)|0;h:{if(!G[n|0]|j>>>0>254){break h}o=(l+2016|0)+a|0;b=D[o|0];i:{if(!b){break i}f=b<<1;e=D[n|0];b=f+e|0;if((b|0)<=15){D[n|0]=b;D[o|0]=0;break i}b=e-f|0;if((b|0)<-15){break h}D[n|0]=b;b=a;while(1){e=(l+2016|0)+b|0;if(!G[e|0]){D[e|0]=1;break i}D[e|0]=0;e=b>>>0<255;b=b+1|0;if(e){continue}break}}if(j>>>0>=254){break h}b=j+2|0;p=b+(l+2016|0)|0;e=D[p|0];j:{if(!e){break j}o=e<<2;f=D[n|0];e=o+f|0;if((e|0)>=16){e=f-o|0;if((e|0)<-15){break h}D[n|0]=e;while(1){e=(l+2016|0)+b|0;if(G[e|0]){D[e|0]=0;e=b>>>0<255;b=b+1|0;if(e){continue}break j}break}D[e|0]=1;break j}D[n|0]=e;D[p|0]=0}if(j>>>0>252){break h}b=j+3|0;p=b+(l+2016|0)|0;e=D[p|0];k:{if(!e){break k}o=e<<3;f=D[n|0];e=o+f|0;if((e|0)>=16){e=f-o|0;if((e|0)<-15){break h}D[n|0]=e;while(1){e=(l+2016|0)+b|0;if(G[e|0]){D[e|0]=0;e=b>>>0<255;b=b+1|0;if(e){continue}break k}break}D[e|0]=1;break k}D[n|0]=e;D[p|0]=0}if(j>>>0>251){break h}b=j+4|0;p=b+(l+2016|0)|0;e=D[p|0];l:{if(!e){break l}o=e<<4;f=D[n|0];e=o+f|0;if((e|0)>=16){e=f-o|0;if((e|0)<-15){break h}D[n|0]=e;while(1){e=(l+2016|0)+b|0;if(G[e|0]){D[e|0]=0;e=b>>>0<255;b=b+1|0;if(e){continue}break l}break}D[e|0]=1;break l}D[n|0]=e;D[p|0]=0}if(j>>>0>250){break h}b=j+5|0;p=b+(l+2016|0)|0;e=D[p|0];m:{if(!e){break m}o=e<<5;f=D[n|0];e=o+f|0;if((e|0)>=16){e=f-o|0;if((e|0)<-15){break h}D[n|0]=e;while(1){e=(l+2016|0)+b|0;if(G[e|0]){D[e|0]=0;e=b>>>0<255;b=b+1|0;if(e){continue}break m}break}D[e|0]=1;break m}D[n|0]=e;D[p|0]=0}if(j>>>0>249){break h}b=j+6|0;o=b+(l+2016|0)|0;j=D[o|0];if(!j){break h}f=j<<6;e=D[n|0];j=f+e|0;if((j|0)>=16){j=e-f|0;if((j|0)<-15){break h}D[n|0]=j;while(1){j=(l+2016|0)+b|0;if(G[j|0]){D[j|0]=0;j=b>>>0<255;b=b+1|0;if(j){continue}break h}break}D[j|0]=1;break h}D[n|0]=j;D[o|0]=0}if((a|0)!=256){continue}break}b=0;while(1){a=l+1760|0;j=q+(b>>>3|0)|0;D[a+b|0]=G[j|0]>>>(b&6)&1;e=a;a=b|1;D[e+a|0]=G[j|0]>>>(a&7)&1;b=b+2|0;if((b|0)!=256){continue}break}a=0;while(1){j=a;a=a+1|0;q=j+(l+1760|0)|0;n:{if(!G[q|0]|j>>>0>254){break n}o=(l+1760|0)+a|0;b=D[o|0];o:{if(!b){break o}f=b<<1;e=D[q|0];b=f+e|0;if((b|0)<=15){D[q|0]=b;D[o|0]=0;break o}b=e-f|0;if((b|0)<-15){break n}D[q|0]=b;b=a;while(1){e=(l+1760|0)+b|0;if(!G[e|0]){D[e|0]=1;break o}D[e|0]=0;e=b>>>0<255;b=b+1|0;if(e){continue}break}}if(j>>>0>=254){break n}b=j+2|0;p=b+(l+1760|0)|0;e=D[p|0];p:{if(!e){break p}o=e<<2;f=D[q|0];e=o+f|0;if((e|0)>=16){e=f-o|0;if((e|0)<-15){break n}D[q|0]=e;while(1){e=(l+1760|0)+b|0;if(G[e|0]){D[e|0]=0;e=b>>>0<255;b=b+1|0;if(e){continue}break p}break}D[e|0]=1;break p}D[q|0]=e;D[p|0]=0}if(j>>>0>252){break n}b=j+3|0;p=b+(l+1760|0)|0;e=D[p|0];q:{if(!e){break q}o=e<<3;f=D[q|0];e=o+f|0;if((e|0)>=16){e=f-o|0;if((e|0)<-15){break n}D[q|0]=e;while(1){e=(l+1760|0)+b|0;if(G[e|0]){D[e|0]=0;e=b>>>0<255;b=b+1|0;if(e){continue}break q}break}D[e|0]=1;break q}D[q|0]=e;D[p|0]=0}if(j>>>0>251){break n}b=j+4|0;p=b+(l+1760|0)|0;e=D[p|0];r:{if(!e){break r}o=e<<4;f=D[q|0];e=o+f|0;if((e|0)>=16){e=f-o|0;if((e|0)<-15){break n}D[q|0]=e;while(1){e=(l+1760|0)+b|0;if(G[e|0]){D[e|0]=0;e=b>>>0<255;b=b+1|0;if(e){continue}break r}break}D[e|0]=1;break r}D[q|0]=e;D[p|0]=0}if(j>>>0>250){break n}b=j+5|0;p=b+(l+1760|0)|0;e=D[p|0];s:{if(!e){break s}o=e<<5;f=D[q|0];e=o+f|0;if((e|0)>=16){e=f-o|0;if((e|0)<-15){break n}D[q|0]=e;while(1){e=(l+1760|0)+b|0;if(G[e|0]){D[e|0]=0;e=b>>>0<255;b=b+1|0;if(e){continue}break s}break}D[e|0]=1;break s}D[q|0]=e;D[p|0]=0}if(j>>>0>249){break n}b=j+6|0;o=b+(l+1760|0)|0;j=D[o|0];if(!j){break n}f=j<<6;e=D[q|0];j=f+e|0;if((j|0)>=16){j=e-f|0;if((j|0)<-15){break n}D[q|0]=j;while(1){j=(l+1760|0)+b|0;if(G[j|0]){D[j|0]=0;j=b>>>0<255;b=b+1|0;if(j){continue}break n}break}D[j|0]=1;break n}D[q|0]=j;D[o|0]=0}if((a|0)!=256){continue}break}s=l+480|0;Ga(s,c);n=F[c>>2];q=F[c+4>>2];p=F[c+8>>2];o=F[c+12>>2];f=F[c+16>>2];e=F[c+20>>2];j=F[c+24>>2];b=F[c+28>>2];a=F[c+36>>2];F[l+192>>2]=F[c+32>>2];F[l+196>>2]=a;F[l+184>>2]=j;F[l+188>>2]=b;F[l+176>>2]=f;F[l+180>>2]=e;F[l+168>>2]=p;F[l+172>>2]=o;F[l+160>>2]=n;F[l+164>>2]=q;n=F[c+48>>2];q=F[c+52>>2];p=F[c+56>>2];o=F[c+60>>2];a=c- -64|0;f=F[a>>2];e=F[a+4>>2];j=F[c+40>>2];b=F[c+44>>2];a=F[c+76>>2];F[l+232>>2]=F[c+72>>2];F[l+236>>2]=a;F[l+224>>2]=f;F[l+228>>2]=e;F[l+216>>2]=p;F[l+220>>2]=o;F[l+208>>2]=n;F[l+212>>2]=q;F[l+200>>2]=j;F[l+204>>2]=b;n=F[c+88>>2];q=F[c+92>>2];p=F[c+96>>2];o=F[c+100>>2];f=F[c+104>>2];e=F[c+108>>2];j=F[c+80>>2];b=F[c+84>>2];a=F[c+116>>2];F[l+272>>2]=F[c+112>>2];F[l+276>>2]=a;F[l+264>>2]=f;F[l+268>>2]=e;F[l+256>>2]=p;F[l+260>>2]=o;F[l+248>>2]=n;F[l+252>>2]=q;F[l+240>>2]=j;F[l+244>>2]=b;c=l+320|0;b=l+160|0;Oa(c,b);H=l+440|0;ha(l,c,H);J=l+360|0;I=l+400|0;ha(l+40|0,J,I);ha(l+80|0,I,H);ha(l+120|0,c,J);Ha(c,l,s);ha(b,c,H);O=l+200|0;ha(O,J,I);h=l+240|0;ha(h,I,H);r=l+280|0;ha(r,c,J);a=l+640|0;Ga(a,b);Ha(c,l,a);ha(b,c,H);ha(O,J,I);ha(h,I,H);ha(r,c,J);a=l+800|0;Ga(a,b);Ha(c,l,a);ha(b,c,H);ha(O,J,I);ha(h,I,H);ha(r,c,J);a=l+960|0;Ga(a,b);Ha(c,l,a);ha(b,c,H);ha(O,J,I);ha(h,I,H);ha(r,c,J);a=l+1120|0;Ga(a,b);Ha(c,l,a);ha(b,c,H);ha(O,J,I);ha(h,I,H);ha(r,c,J);a=l+1280|0;Ga(a,b);Ha(c,l,a);ha(b,c,H);ha(O,J,I);ha(h,I,H);ha(r,c,J);a=l+1440|0;Ga(a,b);Ha(c,l,a);ha(b,c,H);ha(O,J,I);ha(h,I,H);ha(r,c,J);Ga(l+1600|0,b);a=i;F[a+32>>2]=0;F[a+36>>2]=0;F[a+24>>2]=0;F[a+28>>2]=0;F[a+16>>2]=0;F[a+20>>2]=0;F[a+8>>2]=0;F[a+12>>2]=0;F[a>>2]=0;F[a+4>>2]=0;F[a+44>>2]=0;F[a+48>>2]=0;F[a+40>>2]=1;F[a+52>>2]=0;F[a+56>>2]=0;F[a+60>>2]=0;F[a+64>>2]=0;F[a+68>>2]=0;F[a+72>>2]=0;F[a+84>>2]=0;F[a+88>>2]=0;F[a+76>>2]=0;F[a+80>>2]=1;F[a+92>>2]=0;F[a+96>>2]=0;F[a+100>>2]=0;F[a+104>>2]=0;F[a+108>>2]=0;F[a+112>>2]=0;F[a+116>>2]=0;W=a+80|0;X=a+40|0;a=255;t:{u:{while(1){if(G[(l+2016|0)+a|0]|G[(l+1760|0)+a|0]){break u}b=a-1|0;if(!(G[b+(l+2016|0)|0]|G[b+(l+1760|0)|0])){a=a-2|0;if(b){continue}break t}break}a=b}if((a|0)<0){break t}while(1){Oa(l+320|0,i);b=a;E=D[a+(l+2016|0)|0];v:{if((E|0)>=1){a=l+160|0;c=l+320|0;ha(a,c,H);ha(O,J,I);ha(h,I,H);ha(r,c,J);Ha(c,a,(l+480|0)+L((E&254)>>>1|0,160)|0);break v}if((E|0)>-1){break v}m=l+160|0;g=l+320|0;ha(m,g,H);ha(O,J,I);ha(h,I,H);ha(r,g,J);y=F[m+44>>2];C=F[m+48>>2];z=F[m+52>>2];w=F[m+56>>2];t=F[m+60>>2];B=m- -64|0;x=F[B>>2];A=F[m+68>>2];v=F[m+72>>2];s=F[m+76>>2];n=F[m+4>>2];q=F[m+8>>2];p=F[m+12>>2];o=F[m+16>>2];f=F[m+20>>2];e=F[m+24>>2];j=F[m+28>>2];c=F[m+32>>2];a=F[m+36>>2];F[g>>2]=F[m>>2]+F[m+40>>2];F[g+36>>2]=a+s;F[g+32>>2]=c+v;F[g+28>>2]=j+A;F[g+24>>2]=e+x;F[g+20>>2]=f+t;F[g+16>>2]=o+w;F[g+12>>2]=p+z;F[g+8>>2]=q+C;F[g+4>>2]=n+y;y=F[m+44>>2];C=F[m+48>>2];z=F[m+52>>2];w=F[m+56>>2];t=F[m+60>>2];x=F[B>>2];A=F[m+68>>2];v=F[m+72>>2];s=F[m>>2];n=F[m+40>>2];q=F[m+4>>2];p=F[m+8>>2];o=F[m+12>>2];f=F[m+16>>2];e=F[m+20>>2];j=F[m+24>>2];c=F[m+28>>2];a=F[m+32>>2];F[g+76>>2]=F[m+76>>2]-F[m+36>>2];F[g+72>>2]=v-a;F[g+68>>2]=A-c;u=g- -64|0;F[u>>2]=x-j;F[g+60>>2]=t-e;F[g+56>>2]=w-f;F[g+52>>2]=z-o;F[g+48>>2]=C-p;F[g+44>>2]=y-q;F[g+40>>2]=n-s;c=(l+480|0)+L((0-E&254)>>>1|0,160)|0;ha(g+80|0,g,c+40|0);a=g+40|0;ha(a,a,c);ha(g+120|0,c+120|0,m+120|0);ha(g,m+80|0,c+80|0);T=F[g+44>>2];U=F[g+84>>2];M=F[g+48>>2];K=F[g+88>>2];N=F[g+52>>2];P=F[g+92>>2];E=F[g+56>>2];B=F[g+96>>2];y=F[g+60>>2];C=F[g+100>>2];z=F[u>>2];w=F[g+104>>2];t=F[g+68>>2];x=F[g+108>>2];A=F[g+72>>2];v=F[g+112>>2];Q=F[g>>2];R=F[g+4>>2];S=F[g+8>>2];m=F[g+12>>2];q=F[g+16>>2];p=F[g+20>>2];o=F[g+24>>2];f=F[g+28>>2];e=F[g+32>>2];j=F[g+36>>2];s=F[g+40>>2];n=F[g+80>>2];c=F[g+76>>2];a=F[g+116>>2];F[g+76>>2]=c+a;F[g+72>>2]=v+A;F[g+68>>2]=t+x;F[u>>2]=w+z;F[g+60>>2]=y+C;F[g+56>>2]=B+E;F[g+52>>2]=N+P;F[g+48>>2]=K+M;F[g+44>>2]=T+U;F[g+40>>2]=n+s;F[g+36>>2]=a-c;F[g+32>>2]=v-A;F[g+28>>2]=x-t;F[g+24>>2]=w-z;F[g+20>>2]=C-y;F[g+16>>2]=B-E;F[g+12>>2]=P-N;F[g+8>>2]=K-M;F[g+4>>2]=U-T;F[g>>2]=n-s;E=F[g+156>>2];B=j<<1;F[g+156>>2]=E+B;y=F[g+152>>2];C=e<<1;F[g+152>>2]=y+C;z=F[g+148>>2];w=f<<1;F[g+148>>2]=z+w;t=F[g+144>>2];x=o<<1;F[g+144>>2]=t+x;A=F[g+140>>2];v=p<<1;F[g+140>>2]=A+v;s=F[g+136>>2];n=q<<1;F[g+136>>2]=s+n;q=F[g+132>>2];p=m<<1;F[g+132>>2]=q+p;o=F[g+128>>2];f=S<<1;F[g+128>>2]=o+f;e=F[g+124>>2];j=R<<1;F[g+124>>2]=e+j;c=F[g+120>>2];a=Q<<1;F[g+120>>2]=c+a;F[g+112>>2]=C-y;F[g+108>>2]=w-z;F[g+104>>2]=x-t;F[g+100>>2]=v-A;F[g+96>>2]=n-s;F[g+92>>2]=p-q;F[g+88>>2]=f-o;F[g+84>>2]=j-e;F[g+80>>2]=a-c;F[g+116>>2]=B-E}E=D[b+(l+1760|0)|0];w:{if((E|0)>=1){a=l+160|0;c=l+320|0;ha(a,c,H);ha(O,J,I);ha(h,I,H);ha(r,c,J);nb(c,a,L((E&254)>>>1|0,120)+36560|0);break w}if((E|0)>-1){break w}m=l+160|0;g=l+320|0;ha(m,g,H);ha(O,J,I);ha(h,I,H);ha(r,g,J);y=F[m+44>>2];C=F[m+48>>2];z=F[m+52>>2];w=F[m+56>>2];t=F[m+60>>2];B=m- -64|0;x=F[B>>2];A=F[m+68>>2];v=F[m+72>>2];s=F[m+76>>2];n=F[m+4>>2];q=F[m+8>>2];p=F[m+12>>2];o=F[m+16>>2];f=F[m+20>>2];e=F[m+24>>2];j=F[m+28>>2];c=F[m+32>>2];a=F[m+36>>2];F[g>>2]=F[m>>2]+F[m+40>>2];F[g+36>>2]=a+s;F[g+32>>2]=c+v;F[g+28>>2]=j+A;F[g+24>>2]=e+x;F[g+20>>2]=f+t;F[g+16>>2]=o+w;F[g+12>>2]=p+z;F[g+8>>2]=q+C;F[g+4>>2]=n+y;y=F[m+44>>2];C=F[m+48>>2];z=F[m+52>>2];w=F[m+56>>2];t=F[m+60>>2];x=F[B>>2];A=F[m+68>>2];v=F[m+72>>2];s=F[m>>2];n=F[m+40>>2];q=F[m+4>>2];p=F[m+8>>2];o=F[m+12>>2];f=F[m+16>>2];e=F[m+20>>2];j=F[m+24>>2];c=F[m+28>>2];a=F[m+32>>2];F[g+76>>2]=F[m+76>>2]-F[m+36>>2];F[g+72>>2]=v-a;F[g+68>>2]=A-c;u=g- -64|0;F[u>>2]=x-j;F[g+60>>2]=t-e;F[g+56>>2]=w-f;F[g+52>>2]=z-o;F[g+48>>2]=C-p;F[g+44>>2]=y-q;F[g+40>>2]=n-s;c=L((0-E&254)>>>1|0,120)+36560|0;ha(g+80|0,g,c+40|0);a=g+40|0;ha(a,a,c);ha(g+120|0,c+80|0,m+120|0);Q=F[m+84>>2];R=F[m+88>>2];S=F[m+92>>2];q=F[m+96>>2];p=F[m+100>>2];o=F[m+104>>2];f=F[m+108>>2];e=F[m+112>>2];j=F[m+116>>2];T=F[g+44>>2];U=F[g+84>>2];M=F[g+48>>2];K=F[g+88>>2];N=F[g+52>>2];P=F[g+92>>2];E=F[g+56>>2];B=F[g+96>>2];y=F[g+60>>2];C=F[g+100>>2];z=F[u>>2];w=F[g+104>>2];t=F[g+68>>2];x=F[g+108>>2];A=F[g+72>>2];v=F[g+112>>2];m=F[m+80>>2];s=F[g+40>>2];n=F[g+80>>2];c=F[g+76>>2];a=F[g+116>>2];F[g+76>>2]=c+a;F[g+72>>2]=v+A;F[g+68>>2]=t+x;F[u>>2]=w+z;F[g+60>>2]=y+C;F[g+56>>2]=B+E;F[g+52>>2]=N+P;F[g+48>>2]=K+M;F[g+44>>2]=T+U;F[g+40>>2]=n+s;F[g+36>>2]=a-c;F[g+32>>2]=v-A;F[g+28>>2]=x-t;F[g+24>>2]=w-z;F[g+20>>2]=C-y;F[g+16>>2]=B-E;F[g+12>>2]=P-N;F[g+8>>2]=K-M;F[g+4>>2]=U-T;F[g>>2]=n-s;E=F[g+156>>2];B=j<<1;F[g+156>>2]=E+B;y=F[g+152>>2];C=e<<1;F[g+152>>2]=y+C;z=F[g+148>>2];w=f<<1;F[g+148>>2]=z+w;t=F[g+144>>2];x=o<<1;F[g+144>>2]=t+x;A=F[g+140>>2];v=p<<1;F[g+140>>2]=A+v;s=F[g+136>>2];n=q<<1;F[g+136>>2]=s+n;q=F[g+132>>2];p=S<<1;F[g+132>>2]=q+p;o=F[g+128>>2];f=R<<1;F[g+128>>2]=o+f;e=F[g+124>>2];j=Q<<1;F[g+124>>2]=e+j;c=F[g+120>>2];a=m<<1;F[g+120>>2]=c+a;F[g+112>>2]=C-y;F[g+108>>2]=w-z;F[g+104>>2]=x-t;F[g+100>>2]=v-A;F[g+96>>2]=n-s;F[g+92>>2]=p-q;F[g+88>>2]=f-o;F[g+84>>2]=j-e;F[g+80>>2]=a-c;F[g+116>>2]=B-E}ha(i,l+320|0,H);ha(X,J,I);ha(W,I,H);a=b-1|0;if((b|0)>0){continue}break}}_=l+2272|0;c=k+688|0;pb(c,k+88|0);b=k+640|0;ha(b,V,c);a=k+592|0;ha(a,k+48|0,c);Fa(k+496|0,a);Fa(k+736|0,b);u=!(G[d+1|0]^G[k+497|0]|G[d|0]^G[k+496|0]|G[d+2|0]^G[k+498|0]|G[d+3|0]^G[k+499|0]|G[d+4|0]^G[k+500|0]|G[d+5|0]^G[k+501|0]|G[d+6|0]^G[k+502|0]|G[d+7|0]^G[k+503|0]|G[d+8|0]^G[k+504|0]|G[d+9|0]^G[k+505|0]|G[d+10|0]^G[k+506|0]|G[d+11|0]^G[k+507|0]|G[d+12|0]^G[k+508|0]|G[d+13|0]^G[k+509|0]|G[d+14|0]^G[k+510|0]|G[d+15|0]^G[k+511|0]|G[d+16|0]^G[k+512|0]|G[d+17|0]^G[k+513|0]|G[d+18|0]^G[k+514|0]|G[d+19|0]^G[k+515|0]|G[d+20|0]^G[k+516|0]|G[d+21|0]^G[k+517|0]|G[d+22|0]^G[k+518|0]|G[d+23|0]^G[k+519|0]|G[d+24|0]^G[k+520|0]|G[d+25|0]^G[k+521|0]|G[d+26|0]^G[k+522|0]|G[d+27|0]^G[k+523|0]|G[d+28|0]^G[k+524|0]|G[d+29|0]^G[k+525|0]|G[d+30|0]^G[k+526|0]|G[d+31|0]^(G[k+527|0]^G[k+736|0]<<7&128))}_=k+768|0;return(u|0)!=0}function ob(a){var b=0,c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,E=0,F=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0;c=G[a+48|0];b=c>>>24|0;m=G[a+47|0];e=m|c<<8;g=G[a+49|0];d=g>>>16|0;i=g<<16;d=b|d;c=e|i;F=((d&3)<<30|c>>>2)&2097151;c=qe(F,0,136657,0);d=G[a+27|0];b=d>>>24|0;f=G[a+26|0];i=f|d<<8;e=c;ba=G[a+28|0];d=ba;c=d>>>16|0;d=d<<16;c=b|c;b=d|i;c=((c&3)<<30|b>>>2)&2097151;d=e+c|0;b=$;i=d;d=c>>>0>d>>>0?b+1|0:b;c=G[a+50|0];b=c>>>24|0;g=g|c<<8;e=G[a+51|0];c=e>>>16|0;h=g|e<<16;g=b|c;c=i;e=G[a+52|0];b=e>>>8|0;i=e<<24;g=b|g;b=i|h;H=((g&127)<<25|b>>>7)&2097151;b=qe(H,0,-997805,-1);i=c+b|0;c=$+d|0;c=b>>>0>i>>>0?c+1|0:c;d=c;b=G[a+53|0];c=b>>>24|0;g=e|b<<8;e=G[a+54|0];b=e>>>16|0;h=g|e<<16;g=b|c;b=i;e=G[a+55|0];c=e>>>8|0;i=e<<24;g=c|g;c=i|h;I=((g&15)<<28|c>>>4)&2097151;c=qe(I,0,654183,0);i=b+c|0;b=$+d|0;b=c>>>0>i>>>0?b+1|0:b;c=i;i=b;d=G[a+56|0];b=d>>>24|0;h=e|d<<8;j=c;g=G[a+57|0];e=g;c=e>>>16|0;e=e<<16;d=b|c;c=e|h;J=((d&1)<<31|c>>>1)&2097151;b=qe(J,0,470296,0);d=j+b|0;c=$+i|0;h=d;d=b>>>0>d>>>0?c+1|0:c;b=G[a+58|0];c=b>>>24|0;i=g|b<<8;b=c;e=i;i=G[a+59|0];c=i>>>16|0;g=e|i<<16;e=b|c;o=G[a+60|0];i=o;c=i>>>8|0;i=i<<24;e=c|e;c=g|i;K=((e&63)<<26|c>>>6)&2097151;c=qe(K,0,666643,0);i=c+h|0;b=$+d|0;b=c>>>0>i>>>0?b+1|0:b;j=i;h=b;n=qe(F,S,-997805,-1);b=G[a+24|0];d=b>>>24|0;e=G[a+23|0];g=e|b<<8;b=G[a+25|0];c=b>>>16|0;g=g|b<<16;d=c|d|f>>>8;b=f<<24|g;c=((d&31)<<27|b>>>5)&2097151;d=c+n|0;b=$;b=c>>>0>d>>>0?b+1|0:b;c=d;d=qe(H,T,654183,0);f=c+d|0;c=$+b|0;c=d>>>0>f>>>0?c+1|0:c;b=qe(I,U,470296,0);d=b+f|0;c=$+c|0;c=b>>>0>d>>>0?c+1|0:c;b=qe(J,V,666643,0);f=b+d|0;d=$+c|0;g=f;f=b>>>0>f>>>0?d+1|0:d;d=qe(F,S,654183,0);c=e<<16&2031616|(G[a+21|0]|G[a+22|0]<<8);d=d+c|0;b=$;b=c>>>0>d>>>0?b+1|0:b;c=qe(H,T,470296,0);d=c+d|0;b=$+b|0;b=c>>>0>d>>>0?b+1|0:b;c=qe(I,U,666643,0);e=c+d|0;d=$+b|0;k=e;d=c>>>0>e>>>0?d+1|0:d;e=d;b=k;d=d-((b>>>0<4293918720)-1|0)|0;C=b- -1048576|0;s=d;b=d>>>21|0;d=(d&2097151)<<11|C>>>21;g=d+g|0;c=b+f|0;c=d>>>0>g>>>0?c+1|0:c;p=c;b=g;d=c-((b>>>0<4293918720)-1|0)|0;q=b- -1048576|0;n=d;ca=i- -1048576|0;f=h-((i>>>0<4293918720)-1|0)|0;i=f;c=(d&2097151)<<11|q>>>21;j=c+j|0;d=(d>>21)+h|0;d=c>>>0>j>>>0?d+1|0:d;c=j;b=ca&-2097152;v=c-b|0;u=d-((b>>>0>c>>>0)+f|0)|0;b=G[a+61|0];c=b>>>24|0;f=o|b<<8;d=G[a+62|0];b=d>>>16|0;f=f|d<<16;d=b|c;b=G[a+63|0];c=b>>>8|0;b=b<<24|f;d=c|d;c=d>>>3|0;L=(d&7)<<29|b>>>3;z=c;d=qe(L,c,-683901,-1);l=G[a+44|0];c=l;c=c<<16&2031616|(G[a+42|0]|G[a+43|0]<<8);d=d+c|0;b=$;f=d;b=c>>>0>d>>>0?b+1|0:b;r=b;b=d;d=r-((b>>>0<4293918720)-1|0)|0;o=b- -1048576|0;j=d;w=(d&2097151)<<11|o>>>21;h=d>>21;b=G[a+45|0];c=b>>>24|0;l=l|b<<8;b=G[a+46|0];d=b>>>16|0;l=l|b<<16;d=c|d|m>>>8;b=m<<24|l;b=((d&31)<<27|b>>>5)&2097151;d=b+w|0;c=h;P=d;c=b>>>0>d>>>0?c+1|0:c;x=c;c=qe(d,c,-683901,-1);d=c+v|0;b=$+u|0;b=c>>>0>d>>>0?b+1|0:b;c=d;da=c- -1048576|0;h=b-((c>>>0<4293918720)-1|0)|0;M=h;d=da&-2097152;_=c-d|0;aa=b-((c>>>0>>0)+h|0)|0;c=qe(P,x,136657,0);b=q&-2097152;d=c+(g-b|0)|0;b=$+(p-((b>>>0>g>>>0)+n|0)|0)|0;q=d;n=c>>>0>d>>>0?b+1|0:b;b=o&-2097152;o=f-b|0;m=r-((b>>>0>f>>>0)+j|0)|0;c=qe(K,W,-683901,-1);d=G[a+40|0];b=d>>>24|0;g=G[a+39|0];f=g|d<<8;h=c;c=G[a+41|0];d=c>>>16|0;c=c<<16;d=b|d;b=c|f;c=d>>>3|0;b=(d&7)<<29|b>>>3;d=h+b|0;c=c+$|0;c=b>>>0>d>>>0?c+1|0:c;b=d;d=qe(L,z,136657,0);f=b+d|0;b=$+c|0;p=f;f=d>>>0>f>>>0?b+1|0:b;r=qe(J,V,-683901,-1);b=G[a+37|0];c=b>>>24|0;A=G[a+36|0];d=A|b<<8;b=c;h=d;d=G[a+38|0];c=d>>>16|0;h=h|d<<16;d=b|c|g>>>8;b=g<<24|h;b=((d&63)<<26|b>>>6)&2097151;c=b+r|0;d=$;d=b>>>0>c>>>0?d+1|0:d;b=c;c=qe(K,W,136657,0);g=b+c|0;b=$+d|0;b=c>>>0>g>>>0?b+1|0:b;d=qe(L,z,-997805,-1);g=d+g|0;c=$+b|0;j=g;c=d>>>0>g>>>0?c+1|0:c;t=c;b=g;d=c-((b>>>0<4293918720)-1|0)|0;X=b- -1048576|0;v=d;b=d>>21;c=(d&2097151)<<11|X>>>21;d=c+p|0;b=b+f|0;h=d;b=c>>>0>d>>>0?b+1|0:b;u=b;b=d;d=u-((b>>>0<4293918720)-1|0)|0;B=b- -1048576|0;r=d;b=d>>21;d=(d&2097151)<<11|B>>>21;f=d+o|0;c=b+m|0;Q=f;c=d>>>0>f>>>0?c+1|0:c;E=c;b=qe(f,c,-683901,-1);d=b+q|0;c=$+n|0;R=d;o=b>>>0>d>>>0?c+1|0:c;n=k;k=e;c=qe(F,S,470296,0);e=G[a+19|0];b=e>>>24|0;d=G[a+18|0];f=d|e<<8;g=c;e=G[a+20|0];c=e>>>16|0;e=e<<16;p=b|c;b=e|f;e=(p&7)<<29|b>>>3;f=g+e|0;b=$+(p>>>3|0)|0;y=f;e=e>>>0>f>>>0?b+1|0:b;m=qe(F,S,666643,0);c=G[a+16|0];b=c>>>24|0;w=G[a+15|0];g=w|c<<8;f=G[a+17|0];c=f>>>16|0;g=g|f<<16;f=b|c;c=d<<24;d=d>>>8|f;b=c|g;b=((d&63)<<26|b>>>6)&2097151;c=b+m|0;d=$;g=c;d=b>>>0>c>>>0?d+1|0:d;l=d;b=c;d=d-((b>>>0<4293918720)-1|0)|0;Y=b- -1048576|0;q=d;b=d>>>21|0;d=(d&2097151)<<11|Y>>>21;f=d+y|0;c=b+e|0;c=d>>>0>f>>>0?c+1|0:c;d=qe(H,T,666643,0);e=d+f|0;b=$+c|0;f=e;b=d>>>0>e>>>0?b+1|0:b;m=b;b=e;e=m-((b>>>0<4293918720)-1|0)|0;y=b- -1048576|0;p=e;b=B&-2097152;d=u-((b>>>0>h>>>0)+r|0)|0;N=h-b|0;B=d;c=e>>>21|0;b=(e&2097151)<<11|y>>>21;e=b+n|0;c=c+k|0;c=b>>>0>e>>>0?c+1|0:c;h=e;b=C&-2097152;e=qe(P,x,-997805,-1);k=(h-b|0)+e|0;b=$+(c-((s&8191)+(b>>>0>h>>>0)|0)|0)|0;b=e>>>0>k>>>0?b+1|0:b;e=qe(Q,E,136657,0);h=e+k|0;c=$+b|0;c=e>>>0>h>>>0?c+1|0:c;b=qe(N,d,-683901,-1);e=b+h|0;d=$+c|0;d=b>>>0>e>>>0?d+1|0:d;r=d;b=e;d=d-((b>>>0<4293918720)-1|0)|0;s=b- -1048576|0;n=d;c=d>>21;b=(d&2097151)<<11|s>>>21;d=b+R|0;c=c+o|0;c=b>>>0>d>>>0?c+1|0:c;b=d;k=c;h=c-((b>>>0<4293918720)-1|0)|0;c=h>>21;u=b- -1048576|0;o=(h&2097151)<<11|u>>>21;C=o+_|0;d=c+aa|0;ea=C;o=o>>>0>C>>>0?d+1|0:d;c=u&-2097152;fa=b-c|0;ga=k-((b>>>0>>0)+h|0)|0;b=s&-2097152;R=e-b|0;C=r-((b>>>0>e>>>0)+n|0)|0;c=qe(P,x,654183,0);b=y&-2097152;d=c+(f-b|0)|0;b=$+(m-((b>>>0>f>>>0)+p|0)|0)|0;b=c>>>0>d>>>0?b+1|0:b;c=qe(Q,E,-997805,-1);e=c+d|0;d=$+b|0;d=c>>>0>e>>>0?d+1|0:d;b=qe(N,B,136657,0);e=b+e|0;c=$+d|0;y=e;h=b>>>0>e>>>0?c+1|0:c;b=X&-2097152;s=j-b|0;v=t-((b>>>0>j>>>0)+v|0)|0;b=qe(I,U,-683901,-1);d=G[a+35|0];c=d>>>24|0;f=G[a+34|0];e=f|d<<8;d=b;c=A>>>16|c;b=A<<16|e;b=((c&1)<<31|b>>>1)&2097151;d=d+b|0;c=$;c=b>>>0>d>>>0?c+1|0:c;b=qe(J,V,136657,0);e=b+d|0;d=$+c|0;d=b>>>0>e>>>0?d+1|0:d;b=qe(K,W,-997805,-1);e=b+e|0;c=$+d|0;c=b>>>0>e>>>0?c+1|0:c;d=qe(L,z,654183,0);e=d+e|0;b=$+c|0;m=e;e=d>>>0>e>>>0?b+1|0:b;n=qe(H,T,-683901,-1);b=G[a+32|0];d=b>>>24|0;p=G[a+31|0];j=p|b<<8;b=G[a+33|0];c=b>>>16|0;j=j|b<<16;d=c|d|f>>>8;b=f<<24|j;c=((d&15)<<28|b>>>4)&2097151;d=c+n|0;b=$;b=c>>>0>d>>>0?b+1|0:b;c=d;d=qe(I,U,136657,0);f=c+d|0;c=$+b|0;c=d>>>0>f>>>0?c+1|0:c;b=qe(J,V,-997805,-1);d=b+f|0;c=$+c|0;c=b>>>0>d>>>0?c+1|0:c;b=qe(K,W,654183,0);f=b+d|0;d=$+c|0;d=b>>>0>f>>>0?d+1|0:d;c=qe(L,z,470296,0);f=c+f|0;b=$+d|0;b=c>>>0>f>>>0?b+1|0:b;r=b;b=f;c=r-((b>>>0<4293918720)-1|0)|0;u=b- -1048576|0;n=c;b=(c&2097151)<<11|u>>>21;j=b+m|0;c=(c>>21)+e|0;e=j;c=b>>>0>e>>>0?c+1|0:c;j=c;b=e;m=c-((b>>>0<4293918720)-1|0)|0;k=b- -1048576|0;c=m;d=c>>21;m=(c&2097151)<<11|k>>>21;t=m+s|0;b=d+v|0;Z=t;b=m>>>0>t>>>0?b+1|0:b;s=b;d=qe(t,b,-683901,-1);m=d+y|0;b=$+h|0;b=d>>>0>m>>>0?b+1|0:b;h=b;b=k&-2097152;j=j-((b>>>0>e>>>0)+c|0)|0;O=e-b|0;A=j;b=qe(P,x,470296,0);c=Y&-2097152;d=b+(g-c|0)|0;c=$+(l-((q&2047)+(c>>>0>g>>>0)|0)|0)|0;c=b>>>0>d>>>0?c+1|0:c;b=d;d=qe(Q,E,654183,0);e=b+d|0;b=$+c|0;b=d>>>0>e>>>0?b+1|0:b;c=qe(N,B,-997805,-1);d=c+e|0;b=$+b|0;b=c>>>0>d>>>0?b+1|0:b;c=qe(t,s,136657,0);e=c+d|0;d=$+b|0;d=c>>>0>e>>>0?d+1|0:d;b=qe(O,j,-683901,-1);e=b+e|0;c=$+d|0;c=b>>>0>e>>>0?c+1|0:c;k=c;b=e;d=c-((b>>>0<4293918720)-1|0)|0;l=b- -1048576|0;j=d;b=(d&2097151)<<11|l>>>21;g=b+m|0;d=(d>>21)+h|0;d=b>>>0>g>>>0?d+1|0:d;b=g;h=d;g=d-((b>>>0<4293918720)-1|0)|0;c=g>>21;q=b- -1048576|0;d=(g&2097151)<<11|q>>>21;m=d+R|0;c=c+C|0;_=m;m=d>>>0>m>>>0?c+1|0:c;c=q&-2097152;aa=b-c|0;R=h-((b>>>0>>0)+g|0)|0;b=l&-2097152;y=e-b|0;v=k-((b>>>0>e>>>0)+j|0)|0;c=qe(P,x,666643,0);d=G[a+14|0];b=d>>>24|0;g=G[a+13|0];e=g|d<<8;d=w>>>16|b;b=w<<16|e;b=((d&1)<<31|b>>>1)&2097151;d=b+c|0;c=$;c=b>>>0>d>>>0?c+1|0:c;b=d;d=qe(Q,E,470296,0);e=b+d|0;b=$+c|0;b=d>>>0>e>>>0?b+1|0:b;c=qe(N,B,654183,0);d=c+e|0;b=$+b|0;l=d;e=c>>>0>d>>>0?b+1|0:b;b=u&-2097152;q=f-b|0;k=r-((b>>>0>f>>>0)+n|0)|0;j=qe(F,S,-683901,-1);b=G[a+29|0];c=b>>>24|0;d=ba|b<<8;b=c;f=d;d=G[a+30|0];c=d>>>16|0;f=f|d<<16;d=b|c|p>>>8;b=p<<24|f;b=((d&127)<<25|b>>>7)&2097151;c=b+j|0;d=$;d=b>>>0>c>>>0?d+1|0:d;b=c;c=qe(H,T,136657,0);f=b+c|0;b=$+d|0;b=c>>>0>f>>>0?b+1|0:b;d=qe(I,U,-997805,-1);f=d+f|0;c=$+b|0;c=d>>>0>f>>>0?c+1|0:c;b=qe(J,V,654183,0);d=b+f|0;c=$+c|0;c=b>>>0>d>>>0?c+1|0:c;b=d;d=qe(K,W,470296,0);f=b+d|0;b=$+c|0;b=d>>>0>f>>>0?b+1|0:b;c=qe(L,z,666643,0);f=c+f|0;d=$+b|0;d=c>>>0>f>>>0?d+1|0:d;c=i>>21;i=(i&2097151)<<11|ca>>>21;f=i+f|0;b=c+d|0;b=f>>>0>>0?b+1|0:b;r=b;b=f;d=r-((b>>>0<4293918720)-1|0)|0;u=b- -1048576|0;n=d;c=d>>21;d=(d&2097151)<<11|u>>>21;i=d+q|0;b=c+k|0;z=i;b=d>>>0>i>>>0?b+1|0:b;t=b;b=qe(i,b,-683901,-1);c=b+l|0;d=$+e|0;d=b>>>0>c>>>0?d+1|0:d;b=c;c=qe(Z,s,-997805,-1);i=b+c|0;b=$+d|0;b=c>>>0>i>>>0?b+1|0:b;d=qe(O,A,136657,0);i=d+i|0;c=$+b|0;p=i;i=d>>>0>i>>>0?c+1|0:c;c=qe(Q,E,666643,0);b=G[a+11|0];d=b>>>24|0;k=G[a+10|0];h=k|b<<8;e=G[a+12|0];b=e>>>16|0;e=h|e<<16;h=c;c=b|d|g>>>8;b=((c&15)<<28|(g<<24|e)>>>4)&2097151;d=h+b|0;c=$;c=b>>>0>d>>>0?c+1|0:c;b=d;d=qe(N,B,470296,0);e=b+d|0;b=$+c|0;b=d>>>0>e>>>0?b+1|0:b;c=qe(z,t,136657,0);d=c+e|0;b=$+b|0;b=c>>>0>d>>>0?b+1|0:b;c=qe(Z,s,654183,0);e=c+d|0;d=$+b|0;d=c>>>0>e>>>0?d+1|0:d;b=qe(O,A,-997805,-1);e=b+e|0;c=$+d|0;w=e;c=b>>>0>e>>>0?c+1|0:c;j=c;b=e;c=c-((b>>>0<4293918720)-1|0)|0;l=b- -1048576|0;h=c;d=c>>21;c=(c&2097151)<<11|l>>>21;e=c+p|0;b=d+i|0;b=c>>>0>e>>>0?b+1|0:b;i=b;b=e;c=i-((b>>>0<4293918720)-1|0)|0;q=b- -1048576|0;g=c;b=(c&2097151)<<11|q>>>21;p=b+y|0;c=(c>>21)+v|0;E=p;p=b>>>0>p>>>0?c+1|0:c;d=i;c=u&-2097152;b=f-c|0;f=r-((c>>>0>f>>>0)+n|0)|0;i=(M&2097151)<<11|da>>>21;n=i+b|0;b=(M>>21)+f|0;b=i>>>0>n>>>0?b+1|0:b;i=n;r=b;b=i;f=r-((b>>>0<4293918720)-1|0)|0;u=b- -1048576|0;n=f;c=f>>21;v=c;x=(f&2097151)<<11|u>>>21;c=qe(x,c,-683901,-1);e=c+e|0;b=$+d|0;b=c>>>0>e>>>0?b+1|0:b;d=e;c=q&-2097152;C=d-c|0;X=b-((c>>>0>d>>>0)+g|0)|0;c=qe(x,v,136657,0);d=c+w|0;b=$+j|0;b=c>>>0>d>>>0?b+1|0:b;c=l&-2097152;y=d-c|0;M=b-((c>>>0>d>>>0)+h|0)|0;h=qe(N,B,666643,0);c=G[a+8|0];b=c>>>24|0;e=G[a+7|0];f=e|c<<8;c=G[a+9|0];d=c>>>16|0;f=f|c<<16;c=b|d|k>>>8;c=((c&127)<<25|(k<<24|f)>>>7)&2097151;d=c+h|0;b=$;b=c>>>0>d>>>0?b+1|0:b;c=d;d=qe(z,t,-997805,-1);f=c+d|0;c=$+b|0;c=d>>>0>f>>>0?c+1|0:c;b=qe(Z,s,470296,0);f=b+f|0;d=$+c|0;d=b>>>0>f>>>0?d+1|0:d;c=qe(O,A,654183,0);f=c+f|0;b=$+d|0;j=f;d=c>>>0>f>>>0?b+1|0:b;b=qe(z,t,654183,0);f=G[a+6|0];c=f>>>24|0;h=G[a+5|0];f=h|f<<8;g=b;b=e>>>16|0;e=e<<16;c=b|c;b=e|f;b=((c&3)<<30|b>>>2)&2097151;e=g+b|0;c=$;c=b>>>0>e>>>0?c+1|0:c;b=e;e=qe(Z,s,666643,0);f=b+e|0;b=$+c|0;b=e>>>0>f>>>0?b+1|0:b;e=qe(O,A,470296,0);f=e+f|0;c=$+b|0;w=f;c=e>>>0>f>>>0?c+1|0:c;g=c;b=f;e=c-((b>>>0<4293918720)-1|0)|0;l=b- -1048576|0;f=e;b=e>>21;c=(e&2097151)<<11|l>>>21;e=c+j|0;b=b+d|0;q=e;b=c>>>0>e>>>0?b+1|0:b;d=b;b=e;k=d-((b>>>0<4293918720)-1|0)|0;j=b- -1048576|0;e=k;b=e>>21;k=(e&2097151)<<11|j>>>21;s=k+y|0;c=b+M|0;B=s;k=k>>>0>s>>>0?c+1|0:c;b=qe(x,v,-997805,-1);c=b+q|0;d=$+d|0;d=b>>>0>c>>>0?d+1|0:d;b=j&-2097152;Y=c-b|0;y=d-((b>>>0>c>>>0)+e|0)|0;b=qe(x,v,654183,0);d=b+w|0;c=$+g|0;c=b>>>0>d>>>0?c+1|0:c;b=l&-2097152;s=d-b|0;M=c-((b>>>0>d>>>0)+f|0)|0;j=qe(z,t,470296,0);b=G[a+3|0];c=b>>>24|0;f=G[a+2|0];e=f|b<<8;d=G[a+4|0];b=d>>>16|0;e=e|d<<16;c=b|c|h>>>8;b=((c&31)<<27|(h<<24|e)>>>5)&2097151;c=b+j|0;d=$;d=b>>>0>c>>>0?d+1|0:d;b=c;c=qe(O,A,666643,0);e=b+c|0;b=$+d|0;g=e;e=c>>>0>e>>>0?b+1|0:b;d=qe(z,t,666643,0);c=f<<16&2031616|(G[a|0]|G[a+1|0]<<8);d=d+c|0;b=$;b=c>>>0>d>>>0?b+1|0:b;j=b;b=d;f=j-((b>>>0<4293918720)-1|0)|0;w=b- -1048576|0;h=f;c=f>>21;f=(f&2097151)<<11|w>>>21;g=f+g|0;b=c+e|0;l=g;b=f>>>0>g>>>0?b+1|0:b;g=b;b=l;e=g-((b>>>0<4293918720)-1|0)|0;q=b- -1048576|0;f=e;c=e>>21;e=(e&2097151)<<11|q>>>21;t=e+s|0;b=c+M|0;b=e>>>0>t>>>0?b+1|0:b;e=b;b=qe(x,v,470296,0);l=b+l|0;c=$+g|0;c=b>>>0>l>>>0?c+1|0:c;g=q&-2097152;b=l-g|0;f=c-((g>>>0>l>>>0)+f|0)|0;l=b;c=qe(x,v,666643,0);b=w&-2097152;g=c+(d-b|0)|0;b=$+(j-((b>>>0>d>>>0)+h|0)|0)|0;h=g;d=g;b=c>>>0>d>>>0?b+1|0:b;c=b>>21;b=(b&2097151)<<11|d>>>21;d=l+b|0;c=c+f|0;c=b>>>0>d>>>0?c+1|0:c;f=d;b=c>>21;c=(c&2097151)<<11|d>>>21;d=c+t|0;b=b+e|0;b=c>>>0>d>>>0?b+1|0:b;g=d;c=b>>21;b=(b&2097151)<<11|d>>>21;e=b+Y|0;d=c+y|0;A=e;c=e;d=b>>>0>c>>>0?d+1|0:d;b=d>>21;d=(d&2097151)<<11|c>>>21;e=d+B|0;c=b+k|0;t=e;b=e;c=d>>>0>b>>>0?c+1|0:c;d=c>>21;c=(c&2097151)<<11|b>>>21;e=c+C|0;b=d+X|0;v=e;d=e;b=c>>>0>d>>>0?b+1|0:b;c=b>>21;b=(b&2097151)<<11|d>>>21;d=b+E|0;c=c+p|0;c=b>>>0>d>>>0?c+1|0:c;w=d;b=c>>21;c=(c&2097151)<<11|d>>>21;d=c+aa|0;b=b+R|0;b=c>>>0>d>>>0?b+1|0:b;l=d;c=b>>21;b=(b&2097151)<<11|d>>>21;e=b+_|0;d=c+m|0;q=e;c=e;d=b>>>0>c>>>0?d+1|0:d;b=d>>21;d=(d&2097151)<<11|c>>>21;e=d+fa|0;c=b+ga|0;m=e;b=e;c=d>>>0>b>>>0?c+1|0:c;d=c>>21;c=(c&2097151)<<11|b>>>21;e=c+ea|0;b=d+o|0;p=e;d=e;b=c>>>0>d>>>0?b+1|0:b;c=b>>21;e=(b&2097151)<<11|d>>>21;b=u&-2097152;d=i-b|0;e=e+d|0;b=(r-((b>>>0>i>>>0)+n|0)|0)+c|0;r=e;c=e;b=d>>>0>c>>>0?b+1|0:b;o=(b&2097151)<<11|c>>>21;d=b>>21;k=d;c=h&2097151;d=qe(o,d,666643,0)+c|0;b=$;j=d;b=c>>>0>d>>>0?b+1|0:b;i=b;D[a|0]=d;D[a+1|0]=(b&255)<<24|d>>>8;e=a;b=f&2097151;d=qe(o,k,470296,0)+b|0;c=$;c=b>>>0>d>>>0?c+1|0:c;h=d;b=i;d=b>>21;f=(b&2097151)<<11|j>>>21;h=h+f|0;b=c+d|0;b=f>>>0>h>>>0?b+1|0:b;d=h;D[e+4|0]=(b&2047)<<21|d>>>11;c=b;D[e+3|0]=(b&7)<<29|d>>>3;d=g&2097151;f=qe(o,k,654183,0)+d|0;b=$;b=d>>>0>f>>>0?b+1|0:b;d=f;f=(c&2097151)<<11|h>>>21;g=d+f|0;c=(c>>21)+b|0;c=f>>>0>g>>>0?c+1|0:c;b=c;D[e+6|0]=(b&63)<<26|g>>>6;f=0;h=h&2097151;c=h;D[e+2|0]=((i&65535)<<16|j>>>16)&31|c<<5;d=A&2097151;e=qe(o,k,-997805,-1)+d|0;c=$;c=d>>>0>e>>>0?c+1|0:c;d=e;e=(b&2097151)<<11|g>>>21;j=d+e|0;b=(b>>21)+c|0;b=e>>>0>j>>>0?b+1|0:b;d=j;D[a+9|0]=(b&511)<<23|d>>>9;c=b;D[a+8|0]=(b&1)<<31|d>>>1;e=0;g=g&2097151;d=g;D[a+5|0]=(f&524287)<<13|h>>>19|d<<2;b=t&2097151;f=qe(o,k,136657,0)+b|0;d=$;d=b>>>0>f>>>0?d+1|0:d;b=c>>21;c=(c&2097151)<<11|j>>>21;f=c+f|0;b=b+d|0;h=f;b=c>>>0>f>>>0?b+1|0:b;c=f;D[a+12|0]=(b&4095)<<20|c>>>12;d=b;D[a+11|0]=(b&15)<<28|c>>>4;f=0;n=j&2097151;c=n;D[a+7|0]=(e&16383)<<18|g>>>14|c<<7;b=v&2097151;e=qe(o,k,-683901,-1)+b|0;c=$;c=b>>>0>e>>>0?c+1|0:c;b=d>>21;d=(d&2097151)<<11|h>>>21;e=d+e|0;c=b+c|0;g=e;c=d>>>0>e>>>0?c+1|0:c;b=c;D[a+14|0]=(b&127)<<25|e>>>7;e=0;j=h&2097151;d=j;D[a+10|0]=(f&131071)<<15|n>>>17|d<<4;i=(b&2097151)<<11|g>>>21;h=i+(w&2097151)|0;b=b>>21;b=i>>>0>h>>>0?b+1|0:b;d=h;D[a+17|0]=(b&1023)<<22|d>>>10;c=b;D[a+16|0]=(b&3)<<30|d>>>2;i=0;k=g&2097151;d=k;D[a+13|0]=(e&1048575)<<12|j>>>20|d<<1;b=a;d=c;c=c>>21;e=(d&2097151)<<11|h>>>21;g=e+(l&2097151)|0;d=e>>>0>g>>>0?c+1|0:c;D[b+20|0]=(d&8191)<<19|g>>>13;e=d;D[b+19|0]=(d&31)<<27|g>>>5;j=h&2097151;c=j;D[b+15|0]=(i&32767)<<17|k>>>15|c<<6;d=b;b=e;c=b>>21;i=(b&2097151)<<11|g>>>21;k=i+(q&2097151)|0;b=c;b=i>>>0>k>>>0?b+1|0:b;i=b;D[d+21|0]=k;b=g;D[d+18|0]=(f&262143)<<14|j>>>18|b<<3;b=i;D[d+22|0]=(b&255)<<24|k>>>8;c=b;b=b>>21;c=(c&2097151)<<11|k>>>21;e=c+(m&2097151)|0;g=e;b=c>>>0>e>>>0?b+1|0:b;d=e;D[a+25|0]=(b&2047)<<21|d>>>11;D[a+24|0]=(b&7)<<29|d>>>3;e=a;c=b>>21;b=(b&2097151)<<11|d>>>21;h=b+(p&2097151)|0;f=h;d=b>>>0>f>>>0?c+1|0:c;b=d;D[e+27|0]=(b&63)<<26|f>>>6;e=0;h=g&2097151;c=h;D[a+23|0]=((i&65535)<<16|k>>>16)&31|c<<5;c=b>>21;b=(b&2097151)<<11|f>>>21;i=b+(r&2097151)|0;c=b>>>0>i>>>0?c+1|0:c;d=i;D[a+31|0]=(c&131071)<<15|d>>>17;b=c;D[a+30|0]=(b&511)<<23|d>>>9;D[a+29|0]=(b&1)<<31|d>>>1;c=0;f=f&2097151;D[a+26|0]=(e&524287)<<13|h>>>19|f<<2;D[a+28|0]=(c&16383)<<18|f>>>14|d<<7}function tc(a,b,c,d,e,f,g,h,i){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0;k=_-160|0;_=k;l=-1;if(!(e>>>0<8|g>>>0>i>>>0)){i=F[a+4>>2];j=F[a+8>>2];a=k+80|0;Aa(b,c,0,0,i,j,a,80);b=F[k+108>>2];F[k+24>>2]=F[k+104>>2];F[k+28>>2]=b;b=F[k+100>>2];F[k+16>>2]=F[k+96>>2];F[k+20>>2]=b;b=F[k+92>>2];F[k+8>>2]=F[k+88>>2];F[k+12>>2]=b;b=F[k+124>>2];F[k+40>>2]=F[k+120>>2];F[k+44>>2]=b;b=F[k+132>>2];F[k+48>>2]=F[k+128>>2];F[k+52>>2]=b;b=F[k+140>>2];F[k+56>>2]=F[k+136>>2];F[k+60>>2]=b;b=F[k+156>>2];F[k+72>>2]=F[k+152>>2];F[k+76>>2]=b;b=F[k+84>>2];F[k>>2]=F[k+80>>2];F[k+4>>2]=b;b=F[k+116>>2];F[k+32>>2]=F[k+112>>2];F[k+36>>2]=b;b=F[k+148>>2];F[k+64>>2]=F[k+144>>2];F[k+68>>2]=b;ia(a,80);ka(k+32|0,32,d,e-8|0,a);if(La((d+e|0)-8|0,a,8)){b=_-272|0;_=b;Kb(k,b+32|0);a=k- -64|0;c=G[a+4|0]|G[a+5|0]<<8|(G[a+6|0]<<16|G[a+7|0]<<24);F[b+16>>2]=G[a|0]|G[a+1|0]<<8|(G[a+2|0]<<16|G[a+3|0]<<24);F[b+20>>2]=c;c=G[a+12|0]|G[a+13|0]<<8|(G[a+14|0]<<16|G[a+15|0]<<24);F[b+24>>2]=G[a+8|0]|G[a+9|0]<<8|(G[a+10|0]<<16|G[a+11|0]<<24);F[b+28>>2]=c;if(g){e=0;while(1){c=e+f|0;a=G[c+4|0]|G[c+5|0]<<8|(G[c+6|0]<<16|G[c+7|0]<<24);F[b>>2]=G[c|0]|G[c+1|0]<<8|(G[c+2|0]<<16|G[c+3|0]<<24);F[b+4>>2]=a;a=G[c+12|0]|G[c+13|0]<<8|(G[c+14|0]<<16|G[c+15|0]<<24);F[b+8>>2]=G[c+8|0]|G[c+9|0]<<8|(G[c+10|0]<<16|G[c+11|0]<<24);F[b+12>>2]=a;a=_-16|0;_=a;n=G[c+15|0];o=G[c+14|0];p=G[c+13|0];q=G[c+12|0];s=G[c+11|0];r=G[c+10|0];t=G[c+9|0];u=G[c+8|0];m=G[c+6|0];v=G[c+5|0];w=G[c+4|0];x=G[c+3|0];y=G[c+2|0];z=G[c+1|0];A=G[c|0];d=F[b+256>>2];i=F[b+268>>2];l=F[b+264>>2];j=F[b+240>>2];B=G[c+7|0];c=F[b+260>>2];D[a+12|0]=j^G[((B^c)&255)+34128|0];D[a+8|0]=G[((r^l>>>8)&255)+34128|0]^j>>>8;D[a+4|0]=G[((p^i>>>16)&255)+34128|0]^j>>>16;D[a|0]=G[(A^d>>>24)+34128|0]^j>>>24;j=F[b+244>>2];D[a+13|0]=j^G[((l^s)&255)+34128|0];D[a+9|0]=G[((o^i>>>8)&255)+34128|0]^j>>>8;D[a+5|0]=G[((z^d>>>16)&255)+34128|0]^j>>>16;D[a+1|0]=G[(w^c>>>24)+34128|0]^j>>>24;j=F[b+248>>2];D[a+14|0]=j^G[((i^n)&255)+34128|0];D[a+10|0]=G[((y^d>>>8)&255)+34128|0]^j>>>8;D[a+6|0]=G[((v^c>>>16)&255)+34128|0]^j>>>16;D[a+2|0]=G[(u^l>>>24)+34128|0]^j>>>24;j=G[((d^x)&255)+34128|0];d=F[b+252>>2];D[a+15|0]=j^d;D[a+11|0]=G[((m^c>>>8)&255)+34128|0]^d>>>8;D[a+7|0]=G[((t^l>>>16)&255)+34128|0]^d>>>16;D[a+3|0]=G[(q^i>>>24)+34128|0]^d>>>24;xa(a);d=G[a+3|0];i=G[a+6|0];l=G[a+9|0];j=G[a+12|0];n=G[a+2|0];o=G[a+5|0];p=G[a+8|0];q=G[a+15|0];s=G[a+1|0];r=G[a+4|0];t=G[a+11|0];u=G[a+14|0];m=G[a|0];v=G[a+7|0];w=G[a+10|0];c=F[b+224>>2];D[a+12|0]=c^G[G[a+13|0]+34128|0];D[a+8|0]=G[w+34128|0]^c>>>8;D[a+4|0]=G[v+34128|0]^c>>>16;D[a|0]=G[m+34128|0]^c>>>24;c=F[b+228>>2];D[a+13|0]=c^G[u+34128|0];D[a+9|0]=G[t+34128|0]^c>>>8;D[a+5|0]=G[r+34128|0]^c>>>16;D[a+1|0]=G[s+34128|0]^c>>>24;c=F[b+232>>2];D[a+14|0]=c^G[q+34128|0];D[a+10|0]=G[p+34128|0]^c>>>8;D[a+6|0]=G[o+34128|0]^c>>>16;D[a+2|0]=G[n+34128|0]^c>>>24;c=F[b+236>>2];D[a+15|0]=c^G[j+34128|0];D[a+11|0]=G[l+34128|0]^c>>>8;D[a+7|0]=G[i+34128|0]^c>>>16;D[a+3|0]=G[d+34128|0]^c>>>24;xa(a);d=G[a+2|0];i=G[a+1|0];l=G[a|0];j=G[a+14|0];n=G[a+12|0];o=G[a+15|0];p=G[a+8|0];q=G[a+10|0];s=G[a+9|0];r=G[a+11|0];t=G[a+4|0];u=G[a+5|0];m=G[a+6|0];v=G[a+7|0];w=G[a+3|0];c=F[b+208>>2];D[a+12|0]=c^G[G[a+13|0]+34128|0];D[a+8|0]=G[q+34128|0]^c>>>8;D[a+4|0]=G[v+34128|0]^c>>>16;D[a|0]=G[l+34128|0]^c>>>24;c=F[b+212>>2];D[a+13|0]=c^G[j+34128|0];D[a+9|0]=G[r+34128|0]^c>>>8;D[a+5|0]=G[t+34128|0]^c>>>16;D[a+1|0]=G[i+34128|0]^c>>>24;c=F[b+216>>2];D[a+14|0]=c^G[o+34128|0];D[a+10|0]=G[p+34128|0]^c>>>8;D[a+6|0]=G[u+34128|0]^c>>>16;D[a+2|0]=G[d+34128|0]^c>>>24;c=F[b+220>>2];D[a+15|0]=c^G[n+34128|0];D[a+11|0]=G[s+34128|0]^c>>>8;D[a+7|0]=G[m+34128|0]^c>>>16;D[a+3|0]=G[w+34128|0]^c>>>24;xa(a);d=G[a+3|0];i=G[a+6|0];l=G[a+9|0];j=G[a+12|0];n=G[a+2|0];o=G[a+5|0];p=G[a+8|0];q=G[a+15|0];s=G[a+1|0];r=G[a+4|0];t=G[a+11|0];u=G[a+14|0];m=G[a|0];v=G[a+7|0];w=G[a+10|0];c=F[b+192>>2];D[a+12|0]=c^G[G[a+13|0]+34128|0];D[a+8|0]=G[w+34128|0]^c>>>8;D[a+4|0]=G[v+34128|0]^c>>>16;D[a|0]=G[m+34128|0]^c>>>24;c=F[b+196>>2];D[a+13|0]=c^G[u+34128|0];D[a+9|0]=G[t+34128|0]^c>>>8;D[a+5|0]=G[r+34128|0]^c>>>16;D[a+1|0]=G[s+34128|0]^c>>>24;c=F[b+200>>2];D[a+14|0]=c^G[q+34128|0];D[a+10|0]=G[p+34128|0]^c>>>8;D[a+6|0]=G[o+34128|0]^c>>>16;D[a+2|0]=G[n+34128|0]^c>>>24;c=F[b+204>>2];D[a+15|0]=c^G[j+34128|0];D[a+11|0]=G[l+34128|0]^c>>>8;D[a+7|0]=G[i+34128|0]^c>>>16;D[a+3|0]=G[d+34128|0]^c>>>24;xa(a);d=G[a+2|0];i=G[a+1|0];l=G[a|0];j=G[a+14|0];n=G[a+12|0];o=G[a+15|0];p=G[a+8|0];q=G[a+10|0];s=G[a+9|0];r=G[a+11|0];t=G[a+4|0];u=G[a+5|0];m=G[a+6|0];v=G[a+7|0];w=G[a+3|0];c=F[b+176>>2];D[a+12|0]=c^G[G[a+13|0]+34128|0];D[a+8|0]=G[q+34128|0]^c>>>8;D[a+4|0]=G[v+34128|0]^c>>>16;D[a|0]=G[l+34128|0]^c>>>24;c=F[b+180>>2];D[a+13|0]=c^G[j+34128|0];D[a+9|0]=G[r+34128|0]^c>>>8;D[a+5|0]=G[t+34128|0]^c>>>16;D[a+1|0]=G[i+34128|0]^c>>>24;c=F[b+184>>2];D[a+14|0]=c^G[o+34128|0];D[a+10|0]=G[p+34128|0]^c>>>8;D[a+6|0]=G[u+34128|0]^c>>>16;D[a+2|0]=G[d+34128|0]^c>>>24;c=F[b+188>>2];D[a+15|0]=c^G[n+34128|0];D[a+11|0]=G[s+34128|0]^c>>>8;D[a+7|0]=G[m+34128|0]^c>>>16;D[a+3|0]=G[w+34128|0]^c>>>24;xa(a);d=G[a+3|0];i=G[a+6|0];l=G[a+9|0];j=G[a+12|0];n=G[a+2|0];o=G[a+5|0];p=G[a+8|0];q=G[a+15|0];s=G[a+1|0];r=G[a+4|0];t=G[a+11|0];u=G[a+14|0];m=G[a|0];v=G[a+7|0];w=G[a+10|0];c=F[b+160>>2];D[a+12|0]=c^G[G[a+13|0]+34128|0];D[a+8|0]=G[w+34128|0]^c>>>8;D[a+4|0]=G[v+34128|0]^c>>>16;D[a|0]=G[m+34128|0]^c>>>24;c=F[b+164>>2];D[a+13|0]=c^G[u+34128|0];D[a+9|0]=G[t+34128|0]^c>>>8;D[a+5|0]=G[r+34128|0]^c>>>16;D[a+1|0]=G[s+34128|0]^c>>>24;c=F[b+168>>2];D[a+14|0]=c^G[q+34128|0];D[a+10|0]=G[p+34128|0]^c>>>8;D[a+6|0]=G[o+34128|0]^c>>>16;D[a+2|0]=G[n+34128|0]^c>>>24;c=F[b+172>>2];D[a+15|0]=c^G[j+34128|0];D[a+11|0]=G[l+34128|0]^c>>>8;D[a+7|0]=G[i+34128|0]^c>>>16;D[a+3|0]=G[d+34128|0]^c>>>24;xa(a);d=G[a+3|0];i=G[a+6|0];l=G[a+9|0];j=G[a+12|0];n=G[a+2|0];o=G[a+5|0];p=G[a+8|0];q=G[a+15|0];s=G[a+1|0];r=G[a+4|0];t=G[a+11|0];u=G[a+14|0];m=G[a|0];v=G[a+7|0];w=G[a+10|0];c=F[b+144>>2];D[a+12|0]=c^G[G[a+13|0]+34128|0];D[a+8|0]=G[w+34128|0]^c>>>8;D[a+4|0]=G[v+34128|0]^c>>>16;D[a|0]=G[m+34128|0]^c>>>24;c=F[b+148>>2];D[a+13|0]=c^G[u+34128|0];D[a+9|0]=G[t+34128|0]^c>>>8;D[a+5|0]=G[r+34128|0]^c>>>16;D[a+1|0]=G[s+34128|0]^c>>>24;c=F[b+152>>2];D[a+14|0]=c^G[q+34128|0];D[a+10|0]=G[p+34128|0]^c>>>8;D[a+6|0]=G[o+34128|0]^c>>>16;D[a+2|0]=G[n+34128|0]^c>>>24;c=F[b+156>>2];D[a+15|0]=c^G[j+34128|0];D[a+11|0]=G[l+34128|0]^c>>>8;D[a+7|0]=G[i+34128|0]^c>>>16;D[a+3|0]=G[d+34128|0]^c>>>24;xa(a);d=G[a+3|0];i=G[a+6|0];l=G[a+9|0];j=G[a+12|0];n=G[a+2|0];o=G[a+5|0];p=G[a+8|0];q=G[a+15|0];s=G[a+1|0];r=G[a+4|0];t=G[a+11|0];u=G[a+14|0];m=G[a|0];v=G[a+7|0];w=G[a+10|0];c=F[b+128>>2];D[a+12|0]=c^G[G[a+13|0]+34128|0];D[a+8|0]=G[w+34128|0]^c>>>8;D[a+4|0]=G[v+34128|0]^c>>>16;D[a|0]=G[m+34128|0]^c>>>24;c=F[b+132>>2];D[a+13|0]=c^G[u+34128|0];D[a+9|0]=G[t+34128|0]^c>>>8;D[a+5|0]=G[r+34128|0]^c>>>16;D[a+1|0]=G[s+34128|0]^c>>>24;c=F[b+136>>2];D[a+14|0]=c^G[q+34128|0];D[a+10|0]=G[p+34128|0]^c>>>8;D[a+6|0]=G[o+34128|0]^c>>>16;D[a+2|0]=G[n+34128|0]^c>>>24;c=F[b+140>>2];D[a+15|0]=c^G[j+34128|0];D[a+11|0]=G[l+34128|0]^c>>>8;D[a+7|0]=G[i+34128|0]^c>>>16;D[a+3|0]=G[d+34128|0]^c>>>24;xa(a);d=G[a+3|0];i=G[a+6|0];l=G[a+9|0];j=G[a+12|0];n=G[a+2|0];o=G[a+5|0];p=G[a+8|0];q=G[a+15|0];s=G[a+1|0];r=G[a+4|0];t=G[a+11|0];u=G[a+14|0];m=G[a|0];v=G[a+7|0];w=G[a+10|0];c=F[b+112>>2];D[a+12|0]=c^G[G[a+13|0]+34128|0];D[a+8|0]=G[w+34128|0]^c>>>8;D[a+4|0]=G[v+34128|0]^c>>>16;D[a|0]=G[m+34128|0]^c>>>24;c=F[b+116>>2];D[a+13|0]=c^G[u+34128|0];D[a+9|0]=G[t+34128|0]^c>>>8;D[a+5|0]=G[r+34128|0]^c>>>16;D[a+1|0]=G[s+34128|0]^c>>>24;c=F[b+120>>2];D[a+14|0]=c^G[q+34128|0];D[a+10|0]=G[p+34128|0]^c>>>8;D[a+6|0]=G[o+34128|0]^c>>>16;D[a+2|0]=G[n+34128|0]^c>>>24;c=F[b+124>>2];D[a+15|0]=c^G[j+34128|0];D[a+11|0]=G[l+34128|0]^c>>>8;D[a+7|0]=G[i+34128|0]^c>>>16;D[a+3|0]=G[d+34128|0]^c>>>24;xa(a);d=G[a+3|0];i=G[a+6|0];l=G[a+9|0];j=G[a+12|0];n=G[a+2|0];o=G[a+5|0];p=G[a+8|0];q=G[a+15|0];s=G[a+1|0];r=G[a+4|0];t=G[a+11|0];u=G[a+14|0];m=G[a|0];v=G[a+7|0];w=G[a+10|0];c=F[b+96>>2];D[a+12|0]=c^G[G[a+13|0]+34128|0];D[a+8|0]=G[w+34128|0]^c>>>8;D[a+4|0]=G[v+34128|0]^c>>>16;D[a|0]=G[m+34128|0]^c>>>24;c=F[b+100>>2];D[a+13|0]=c^G[u+34128|0];D[a+9|0]=G[t+34128|0]^c>>>8;D[a+5|0]=G[r+34128|0]^c>>>16;D[a+1|0]=G[s+34128|0]^c>>>24;c=F[b+104>>2];D[a+14|0]=c^G[q+34128|0];D[a+10|0]=G[p+34128|0]^c>>>8;D[a+6|0]=G[o+34128|0]^c>>>16;D[a+2|0]=G[n+34128|0]^c>>>24;c=F[b+108>>2];D[a+15|0]=c^G[j+34128|0];D[a+11|0]=G[l+34128|0]^c>>>8;D[a+7|0]=G[i+34128|0]^c>>>16;D[a+3|0]=G[d+34128|0]^c>>>24;xa(a);d=G[a+3|0];i=G[a+6|0];l=G[a+9|0];j=G[a+12|0];n=G[a+2|0];o=G[a+5|0];p=G[a+8|0];q=G[a+15|0];s=G[a+1|0];r=G[a+4|0];t=G[a+11|0];u=G[a+14|0];m=G[a|0];v=G[a+7|0];w=G[a+10|0];c=F[b+80>>2];D[a+12|0]=c^G[G[a+13|0]+34128|0];D[a+8|0]=G[w+34128|0]^c>>>8;D[a+4|0]=G[v+34128|0]^c>>>16;D[a|0]=G[m+34128|0]^c>>>24;c=F[b+84>>2];D[a+13|0]=c^G[u+34128|0];D[a+9|0]=G[t+34128|0]^c>>>8;D[a+5|0]=G[r+34128|0]^c>>>16;D[a+1|0]=G[s+34128|0]^c>>>24;c=F[b+88>>2];D[a+14|0]=c^G[q+34128|0];D[a+10|0]=G[p+34128|0]^c>>>8;D[a+6|0]=G[o+34128|0]^c>>>16;D[a+2|0]=G[n+34128|0]^c>>>24;c=F[b+92>>2];D[a+15|0]=c^G[j+34128|0];D[a+11|0]=G[l+34128|0]^c>>>8;D[a+7|0]=G[i+34128|0]^c>>>16;D[a+3|0]=G[d+34128|0]^c>>>24;xa(a);d=G[a+3|0];i=G[a+6|0];l=G[a+9|0];j=G[a+12|0];n=G[a+2|0];o=G[a+5|0];p=G[a+8|0];q=G[a+15|0];s=G[a+1|0];r=G[a+4|0];t=G[a+11|0];u=G[a+14|0];m=G[a|0];v=G[a+7|0];w=G[a+10|0];c=F[b+64>>2];D[a+12|0]=c^G[G[a+13|0]+34128|0];D[a+8|0]=G[w+34128|0]^c>>>8;D[a+4|0]=G[v+34128|0]^c>>>16;D[a|0]=G[m+34128|0]^c>>>24;c=F[b+68>>2];D[a+13|0]=c^G[u+34128|0];D[a+9|0]=G[t+34128|0]^c>>>8;D[a+5|0]=G[r+34128|0]^c>>>16;D[a+1|0]=G[s+34128|0]^c>>>24;c=F[b+72>>2];D[a+14|0]=c^G[q+34128|0];D[a+10|0]=G[p+34128|0]^c>>>8;D[a+6|0]=G[o+34128|0]^c>>>16;D[a+2|0]=G[n+34128|0]^c>>>24;c=F[b+76>>2];D[a+15|0]=c^G[j+34128|0];D[a+11|0]=G[l+34128|0]^c>>>8;D[a+7|0]=G[i+34128|0]^c>>>16;D[a+3|0]=G[d+34128|0]^c>>>24;xa(a);d=G[a+15|0];i=G[a+12|0];D[a+15|0]=i;l=G[G[a+2|0]+34128|0];D[a+2|0]=l;j=G[G[a+1|0]+34128|0];D[a+1|0]=j;n=G[G[a|0]+34128|0];D[a|0]=n;o=G[a+9|0];p=G[a+8|0];q=G[a+4|0];s=G[a+11|0];r=G[a+14|0];t=G[a+7|0];u=G[a+10|0];c=G[a+13|0];m=G[a+5|0];v=G[a+3|0];D[a+7|0]=G[G[a+6|0]+34128|0];D[a+6|0]=G[m+34128|0];D[a+3|0]=G[v+34128|0];m=G[c+34128|0];c=F[b+48>>2];D[a+12|0]=m^c;D[a+8|0]=G[u+34128|0]^c>>>8;D[a+4|0]=G[t+34128|0]^c>>>16;D[a|0]=n^c>>>24;c=F[b+52>>2];D[a+13|0]=c^G[r+34128|0];D[a+1|0]=j^c>>>24;D[a+9|0]=G[s+34128|0]^c>>>8;D[a+5|0]=G[q+34128|0]^c>>>16;c=F[b+56>>2];D[a+2|0]=l^c>>>24;l=G[a+6|0];D[a+14|0]=c^G[d+34128|0];D[a+10|0]=G[p+34128|0]^c>>>8;D[a+6|0]=l^c>>>16;c=F[b+60>>2];D[a+3|0]=G[a+3|0]^c>>>24;d=G[a+7|0];D[a+15|0]=c^G[i+34128|0];D[a+11|0]=G[o+34128|0]^c>>>8;D[a+7|0]=d^c>>>16;xa(a);n=G[a+15|0];j=G[a+12|0];D[a+15|0]=j;o=G[G[a+1|0]+34128|0];D[a+1|0]=o;p=G[G[a+2|0]+34128|0];D[a+2|0]=p;q=G[G[a+3|0]+34128|0];D[a+3|0]=q;s=G[a+7|0];r=G[G[a+6|0]+34128|0];D[a+7|0]=r;d=F[b+32>>2];i=F[b+36>>2];l=F[b+40>>2];t=G[a|0];u=G[a+10|0];m=G[a+4|0];v=G[a+11|0];w=G[a+5|0];x=G[a+8|0];y=G[a+9|0];z=G[a+13|0];A=G[a+14|0];c=e+h|0;B=G[j+34128|0];j=F[b+44>>2];D[c+15|0]=B^j;D[c+11|0]=l^G[n+34128|0];D[c+7|0]=i^G[A+34128|0];D[c+3|0]=d^G[z+34128|0];D[c+14|0]=G[y+34128|0]^j>>>8;D[c+13|0]=r^j>>>16;D[c+12|0]=q^j>>>24;D[c+10|0]=G[x+34128|0]^l>>>8;D[c+9|0]=G[w+34128|0]^l>>>16;D[c+8|0]=p^l>>>24;D[c+6|0]=G[v+34128|0]^i>>>8;D[c+5|0]=G[m+34128|0]^i>>>16;D[c+4|0]=o^i>>>24;D[c+2|0]=G[u+34128|0]^d>>>8;D[c+1|0]=G[s+34128|0]^d>>>16;D[c|0]=G[t+34128|0]^d>>>24;_=a+16|0;D[c|0]=G[c|0]^G[b+16|0];D[c+1|0]=G[c+1|0]^G[b+17|0];D[c+2|0]=G[c+2|0]^G[b+18|0];D[c+3|0]=G[c+3|0]^G[b+19|0];D[c+4|0]=G[c+4|0]^G[b+20|0];D[c+5|0]=G[c+5|0]^G[b+21|0];D[c+6|0]=G[c+6|0]^G[b+22|0];D[c+7|0]=G[c+7|0]^G[b+23|0];D[c+8|0]=G[c+8|0]^G[b+24|0];D[c+9|0]=G[c+9|0]^G[b+25|0];D[c+10|0]=G[c+10|0]^G[b+26|0];D[c+11|0]=G[c+11|0]^G[b+27|0];D[c+12|0]=G[c+12|0]^G[b+28|0];D[c+13|0]=G[c+13|0]^G[b+29|0];D[c+14|0]=G[c+14|0]^G[b+30|0];D[c+15|0]=G[c+15|0]^G[b+31|0];a=F[b+12>>2];F[b+24>>2]=F[b+8>>2];F[b+28>>2]=a;a=F[b+4>>2];F[b+16>>2]=F[b>>2];F[b+20>>2]=a;e=e+16|0;if(g>>>0>e>>>0){continue}break}}ia(b+32|0,240);ia(b+16|0,16);ia(b,16);_=b+272|0;a=G[(g+h|0)-1|0];l=a>>>0>g>>>0?-1:g-a|0}ia(k,80)}_=k+160|0;return l|0}function Lb(a,b,c){var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;d=_-16|0;_=d;h=G[a+14|0];k=G[a+6|0];l=G[a+5|0];s=G[a+9|0];q=G[a+13|0];m=G[a+1|0];n=G[a+10|0];i=G[a+2|0];j=G[a+3|0];o=G[a+7|0];p=G[a+15|0];r=G[a+11|0];u=G[a|0];f=F[c>>2];v=G[a+4|0];e=F[c+4>>2];t=G[a+8|0];g=F[c+8>>2];w=G[a+12|0];a=F[c+12>>2];D[d+3|0]=G[(w^a>>>24)+33808|0];D[d+2|0]=G[(t^g>>>24)+33808|0];D[d+1|0]=G[(v^e>>>24)+33808|0];D[d|0]=G[(u^f>>>24)+33808|0];D[d+15|0]=G[((g^r)&255)+33808|0];D[d+12|0]=G[((a^p)&255)+33808|0];D[d+14|0]=G[((e^o)&255)+33808|0];D[d+13|0]=G[((f^j)&255)+33808|0];D[d+10|0]=G[(i^f>>>8&255)+33808|0];D[d+8|0]=G[(n^g>>>8&255)+33808|0];D[d+7|0]=G[(m^f>>>16&255)+33808|0];D[d+6|0]=G[(q^a>>>16&255)+33808|0];D[d+5|0]=G[(s^g>>>16&255)+33808|0];D[d+4|0]=G[(l^e>>>16&255)+33808|0];D[d+11|0]=G[(k^e>>>8&255)+33808|0];D[d+9|0]=G[(h^a>>>8&255)+33808|0];ya(d);a=F[c+16>>2];f=F[c+20>>2];e=F[c+24>>2];h=G[d+11|0];k=G[d+9|0];l=G[d+5|0];s=G[d+6|0];q=G[d+7|0];m=G[d+4|0];n=G[d+10|0];i=G[d+8|0];j=G[d+12|0];o=G[d+13|0];p=G[d+15|0];r=G[d+14|0];u=G[d|0];v=G[d+1|0];t=G[d+2|0];g=F[c+28>>2];D[d+3|0]=G[(G[d+3|0]^g>>>24)+33808|0];D[d+2|0]=G[(t^e>>>24)+33808|0];D[d+1|0]=G[(v^f>>>24)+33808|0];D[d|0]=G[(u^a>>>24)+33808|0];D[d+15|0]=G[((e^r)&255)+33808|0];D[d+12|0]=G[((g^p)&255)+33808|0];D[d+14|0]=G[((f^o)&255)+33808|0];D[d+13|0]=G[((a^j)&255)+33808|0];D[d+10|0]=G[(i^a>>>8&255)+33808|0];D[d+8|0]=G[(n^e>>>8&255)+33808|0];D[d+7|0]=G[(m^a>>>16&255)+33808|0];D[d+6|0]=G[(q^g>>>16&255)+33808|0];D[d+5|0]=G[(s^e>>>16&255)+33808|0];D[d+4|0]=G[(l^f>>>16&255)+33808|0];D[d+11|0]=G[(k^f>>>8&255)+33808|0];D[d+9|0]=G[(h^g>>>8&255)+33808|0];ya(d);a=F[c+32>>2];f=F[c+36>>2];e=F[c+40>>2];h=G[d+11|0];k=G[d+9|0];l=G[d+5|0];s=G[d+6|0];q=G[d+7|0];m=G[d+4|0];n=G[d+10|0];i=G[d+8|0];j=G[d+12|0];o=G[d+13|0];p=G[d+15|0];r=G[d+14|0];u=G[d|0];v=G[d+1|0];t=G[d+2|0];g=F[c+44>>2];D[d+3|0]=G[(G[d+3|0]^g>>>24)+33808|0];D[d+2|0]=G[(t^e>>>24)+33808|0];D[d+1|0]=G[(v^f>>>24)+33808|0];D[d|0]=G[(u^a>>>24)+33808|0];D[d+15|0]=G[((e^r)&255)+33808|0];D[d+12|0]=G[((g^p)&255)+33808|0];D[d+14|0]=G[((f^o)&255)+33808|0];D[d+13|0]=G[((a^j)&255)+33808|0];D[d+10|0]=G[(i^a>>>8&255)+33808|0];D[d+8|0]=G[(n^e>>>8&255)+33808|0];D[d+7|0]=G[(m^a>>>16&255)+33808|0];D[d+6|0]=G[(q^g>>>16&255)+33808|0];D[d+5|0]=G[(s^e>>>16&255)+33808|0];D[d+4|0]=G[(l^f>>>16&255)+33808|0];D[d+11|0]=G[(k^f>>>8&255)+33808|0];D[d+9|0]=G[(h^g>>>8&255)+33808|0];ya(d);a=F[c+48>>2];f=F[c+52>>2];e=F[c+56>>2];h=G[d+11|0];k=G[d+9|0];l=G[d+5|0];s=G[d+6|0];q=G[d+7|0];m=G[d+4|0];n=G[d+10|0];i=G[d+8|0];j=G[d+12|0];o=G[d+13|0];p=G[d+15|0];r=G[d+14|0];u=G[d|0];v=G[d+1|0];t=G[d+2|0];g=F[c+60>>2];D[d+3|0]=G[(G[d+3|0]^g>>>24)+33808|0];D[d+2|0]=G[(t^e>>>24)+33808|0];D[d+1|0]=G[(v^f>>>24)+33808|0];D[d|0]=G[(u^a>>>24)+33808|0];D[d+15|0]=G[((e^r)&255)+33808|0];D[d+12|0]=G[((g^p)&255)+33808|0];D[d+14|0]=G[((f^o)&255)+33808|0];D[d+13|0]=G[((a^j)&255)+33808|0];D[d+10|0]=G[(i^a>>>8&255)+33808|0];D[d+8|0]=G[(n^e>>>8&255)+33808|0];D[d+7|0]=G[(m^a>>>16&255)+33808|0];D[d+6|0]=G[(q^g>>>16&255)+33808|0];D[d+5|0]=G[(s^e>>>16&255)+33808|0];D[d+4|0]=G[(l^f>>>16&255)+33808|0];D[d+11|0]=G[(k^f>>>8&255)+33808|0];D[d+9|0]=G[(h^g>>>8&255)+33808|0];ya(d);a=F[c+64>>2];f=F[c+68>>2];e=F[c+72>>2];h=G[d+11|0];k=G[d+9|0];l=G[d+5|0];s=G[d+6|0];q=G[d+7|0];m=G[d+4|0];n=G[d+10|0];i=G[d+8|0];j=G[d+12|0];o=G[d+13|0];p=G[d+15|0];r=G[d+14|0];u=G[d|0];v=G[d+1|0];t=G[d+2|0];g=F[c+76>>2];D[d+3|0]=G[(G[d+3|0]^g>>>24)+33808|0];D[d+2|0]=G[(t^e>>>24)+33808|0];D[d+1|0]=G[(v^f>>>24)+33808|0];D[d|0]=G[(u^a>>>24)+33808|0];D[d+15|0]=G[((e^r)&255)+33808|0];D[d+12|0]=G[((g^p)&255)+33808|0];D[d+14|0]=G[((f^o)&255)+33808|0];D[d+13|0]=G[((a^j)&255)+33808|0];D[d+10|0]=G[(i^a>>>8&255)+33808|0];D[d+8|0]=G[(n^e>>>8&255)+33808|0];D[d+7|0]=G[(m^a>>>16&255)+33808|0];D[d+6|0]=G[(q^g>>>16&255)+33808|0];D[d+5|0]=G[(s^e>>>16&255)+33808|0];D[d+4|0]=G[(l^f>>>16&255)+33808|0];D[d+11|0]=G[(k^f>>>8&255)+33808|0];D[d+9|0]=G[(h^g>>>8&255)+33808|0];ya(d);a=F[c+80>>2];f=F[c+84>>2];e=F[c+88>>2];h=G[d+11|0];k=G[d+9|0];l=G[d+5|0];s=G[d+6|0];q=G[d+7|0];m=G[d+4|0];n=G[d+10|0];i=G[d+8|0];j=G[d+12|0];o=G[d+13|0];p=G[d+15|0];r=G[d+14|0];u=G[d|0];v=G[d+1|0];t=G[d+2|0];g=F[c+92>>2];D[d+3|0]=G[(G[d+3|0]^g>>>24)+33808|0];D[d+2|0]=G[(t^e>>>24)+33808|0];D[d+1|0]=G[(v^f>>>24)+33808|0];D[d|0]=G[(u^a>>>24)+33808|0];D[d+15|0]=G[((e^r)&255)+33808|0];D[d+12|0]=G[((g^p)&255)+33808|0];D[d+14|0]=G[((f^o)&255)+33808|0];D[d+13|0]=G[((a^j)&255)+33808|0];D[d+10|0]=G[(i^a>>>8&255)+33808|0];D[d+8|0]=G[(n^e>>>8&255)+33808|0];D[d+7|0]=G[(m^a>>>16&255)+33808|0];D[d+6|0]=G[(q^g>>>16&255)+33808|0];D[d+5|0]=G[(s^e>>>16&255)+33808|0];D[d+4|0]=G[(l^f>>>16&255)+33808|0];D[d+11|0]=G[(k^f>>>8&255)+33808|0];D[d+9|0]=G[(h^g>>>8&255)+33808|0];ya(d);a=F[c+96>>2];f=F[c+100>>2];e=F[c+104>>2];h=G[d+11|0];k=G[d+9|0];l=G[d+5|0];s=G[d+6|0];q=G[d+7|0];m=G[d+4|0];n=G[d+10|0];i=G[d+8|0];j=G[d+12|0];o=G[d+13|0];p=G[d+15|0];r=G[d+14|0];u=G[d|0];v=G[d+1|0];t=G[d+2|0];g=F[c+108>>2];D[d+3|0]=G[(G[d+3|0]^g>>>24)+33808|0];D[d+2|0]=G[(t^e>>>24)+33808|0];D[d+1|0]=G[(v^f>>>24)+33808|0];D[d|0]=G[(u^a>>>24)+33808|0];D[d+15|0]=G[((e^r)&255)+33808|0];D[d+12|0]=G[((g^p)&255)+33808|0];D[d+14|0]=G[((f^o)&255)+33808|0];D[d+13|0]=G[((a^j)&255)+33808|0];D[d+10|0]=G[(i^a>>>8&255)+33808|0];D[d+8|0]=G[(n^e>>>8&255)+33808|0];D[d+7|0]=G[(m^a>>>16&255)+33808|0];D[d+6|0]=G[(q^g>>>16&255)+33808|0];D[d+5|0]=G[(s^e>>>16&255)+33808|0];D[d+4|0]=G[(l^f>>>16&255)+33808|0];D[d+11|0]=G[(k^f>>>8&255)+33808|0];D[d+9|0]=G[(h^g>>>8&255)+33808|0];ya(d);a=F[c+112>>2];f=F[c+116>>2];e=F[c+120>>2];h=G[d+11|0];k=G[d+9|0];l=G[d+5|0];s=G[d+6|0];q=G[d+7|0];m=G[d+4|0];n=G[d+10|0];i=G[d+8|0];j=G[d+12|0];o=G[d+13|0];p=G[d+15|0];r=G[d+14|0];u=G[d|0];v=G[d+1|0];t=G[d+2|0];g=F[c+124>>2];D[d+3|0]=G[(G[d+3|0]^g>>>24)+33808|0];D[d+2|0]=G[(t^e>>>24)+33808|0];D[d+1|0]=G[(v^f>>>24)+33808|0];D[d|0]=G[(u^a>>>24)+33808|0];D[d+15|0]=G[((e^r)&255)+33808|0];D[d+12|0]=G[((g^p)&255)+33808|0];D[d+14|0]=G[((f^o)&255)+33808|0];D[d+13|0]=G[((a^j)&255)+33808|0];D[d+10|0]=G[(i^a>>>8&255)+33808|0];D[d+8|0]=G[(n^e>>>8&255)+33808|0];D[d+7|0]=G[(m^a>>>16&255)+33808|0];D[d+6|0]=G[(q^g>>>16&255)+33808|0];D[d+5|0]=G[(s^e>>>16&255)+33808|0];D[d+4|0]=G[(l^f>>>16&255)+33808|0];D[d+11|0]=G[(k^f>>>8&255)+33808|0];D[d+9|0]=G[(h^g>>>8&255)+33808|0];ya(d);a=F[c+128>>2];f=F[c+132>>2];e=F[c+136>>2];h=G[d+11|0];k=G[d+9|0];l=G[d+5|0];s=G[d+6|0];q=G[d+7|0];m=G[d+4|0];n=G[d+10|0];i=G[d+8|0];j=G[d+12|0];o=G[d+13|0];p=G[d+15|0];r=G[d+14|0];u=G[d|0];v=G[d+1|0];t=G[d+2|0];g=F[c+140>>2];D[d+3|0]=G[(G[d+3|0]^g>>>24)+33808|0];D[d+2|0]=G[(t^e>>>24)+33808|0];D[d+1|0]=G[(v^f>>>24)+33808|0];D[d|0]=G[(u^a>>>24)+33808|0];D[d+15|0]=G[((e^r)&255)+33808|0];D[d+12|0]=G[((g^p)&255)+33808|0];D[d+14|0]=G[((f^o)&255)+33808|0];D[d+13|0]=G[((a^j)&255)+33808|0];D[d+10|0]=G[(i^a>>>8&255)+33808|0];D[d+8|0]=G[(n^e>>>8&255)+33808|0];D[d+7|0]=G[(m^a>>>16&255)+33808|0];D[d+6|0]=G[(q^g>>>16&255)+33808|0];D[d+5|0]=G[(s^e>>>16&255)+33808|0];D[d+4|0]=G[(l^f>>>16&255)+33808|0];D[d+11|0]=G[(k^f>>>8&255)+33808|0];D[d+9|0]=G[(h^g>>>8&255)+33808|0];ya(d);a=F[c+156>>2];h=a^G[d+15|0];f=F[c+152>>2];k=f^G[d+14|0];e=F[c+148>>2];l=e^G[d+13|0];g=F[c+144>>2];s=g^G[d+12|0];q=G[d+11|0]^a>>>8;m=G[d+7|0]^a>>>16;a=G[d+3|0]^a>>>24;n=G[d+10|0]^f>>>8;i=G[d+6|0]^f>>>16;f=G[d+2|0]^f>>>24;j=G[d+9|0]^e>>>8;o=G[d+5|0]^e>>>16;e=G[d+1|0]^e>>>24;p=G[d+8|0]^g>>>8;r=G[d+4|0]^g>>>16;D[d|0]=G[(G[d|0]^g>>>24)+33808|0];D[d+10|0]=G[(p&255)+33808|0];D[d+8|0]=G[(n&255)+33808|0];D[d+7|0]=G[(r&255)+33808|0];D[d+6|0]=G[(m&255)+33808|0];D[d+5|0]=G[(i&255)+33808|0];D[d+4|0]=G[(o&255)+33808|0];D[d+3|0]=G[a+33808|0];D[d+2|0]=G[f+33808|0];D[d+1|0]=G[e+33808|0];D[d+15|0]=G[(k&255)+33808|0];D[d+12|0]=G[(h&255)+33808|0];D[d+11|0]=G[(j&255)+33808|0];D[d+9|0]=G[(q&255)+33808|0];D[d+14|0]=G[(l&255)+33808|0];D[d+13|0]=G[(s&255)+33808|0];ya(d);f=F[c+160>>2];D[d+12|0]=f^G[d+12|0];D[d+8|0]=G[d+8|0]^f>>>8;e=F[c+164>>2];h=e^G[d+13|0];D[d+13|0]=h;k=G[d+9|0]^e>>>8;D[d+9|0]=k;g=F[c+168>>2];l=g^G[d+14|0];D[d+14|0]=l;a=F[c+172>>2];D[d+1|0]=G[(G[d+1|0]^e>>>24)+33808|0];D[d|0]=G[(G[d|0]^f>>>24)+33808|0];D[d+2|0]=G[(G[d+2|0]^g>>>24)+33808|0];s=G[d+5|0];q=G[d+6|0];m=G[d+4|0];n=G[d+10|0];D[d+3|0]=G[(G[d+3|0]^a>>>24)+33808|0];D[d+6|0]=G[(G[d+7|0]^a>>>16&255)+33808|0];i=G[d+11|0];j=G[d+15|0];o=G[d+12|0];p=G[d+8|0];D[d+8|0]=G[(n^g>>>8&255)+33808|0];D[d+7|0]=G[(m^f>>>16&255)+33808|0];D[d+5|0]=G[(q^g>>>16&255)+33808|0];D[d+4|0]=G[(s^e>>>16&255)+33808|0];D[d+10|0]=G[p+33808|0];D[d+15|0]=G[(l&255)+33808|0];D[d+12|0]=G[((a^j)&255)+33808|0];D[d+11|0]=G[(k&255)+33808|0];D[d+9|0]=G[(i^a>>>8&255)+33808|0];D[d+14|0]=G[(h&255)+33808|0];D[d+13|0]=G[o+33808|0];ya(d);a=F[c+176>>2];f=F[c+180>>2];e=F[c+184>>2];h=G[d+4|0];k=G[d+5|0];l=G[d+6|0];s=G[d+7|0];q=G[d+8|0];m=G[d+9|0];n=G[d+10|0];i=G[d+11|0];j=G[d+12|0];o=G[d+13|0];p=G[d+14|0];r=G[d+15|0];u=G[d|0];v=G[d+1|0];t=G[d+2|0];g=F[c+188>>2];D[d+3|0]=G[(G[d+3|0]^g>>>24)+33808|0];D[d+2|0]=G[(t^e>>>24)+33808|0];D[d+1|0]=G[(v^f>>>24)+33808|0];D[d|0]=G[(u^a>>>24)+33808|0];r=G[((g^r)&255)+33808|0];p=G[((e^p)&255)+33808|0];o=G[((f^o)&255)+33808|0];j=G[((a^j)&255)+33808|0];i=G[(i^g>>>8&255)+33808|0];n=G[(n^e>>>8&255)+33808|0];m=G[(m^f>>>8&255)+33808|0];g=G[(s^g>>>16&255)+33808|0];e=G[(l^e>>>16&255)+33808|0];f=G[(k^f>>>16&255)+33808|0];h=G[(h^a>>>16&255)+33808|0];D[d+10|0]=G[(q^a>>>8&255)+33808|0];D[d+8|0]=n;D[d+7|0]=h;D[d+6|0]=g;D[d+5|0]=e;D[d+4|0]=f;D[d+15|0]=p;D[d+12|0]=r;D[d+11|0]=m;D[d+9|0]=i;D[d+14|0]=o;D[d+13|0]=j;ya(d);f=F[c+192>>2];D[d+12|0]=f^G[d+12|0];D[d+8|0]=G[d+8|0]^f>>>8;e=F[c+196>>2];h=e^G[d+13|0];D[d+13|0]=h;k=G[d+9|0]^e>>>8;D[d+9|0]=k;g=F[c+200>>2];l=g^G[d+14|0];D[d+14|0]=l;a=F[c+204>>2];D[d+1|0]=G[(G[d+1|0]^e>>>24)+33808|0];D[d|0]=G[(G[d|0]^f>>>24)+33808|0];D[d+2|0]=G[(G[d+2|0]^g>>>24)+33808|0];s=G[d+5|0];q=G[d+6|0];m=G[d+4|0];n=G[d+10|0];D[d+3|0]=G[(G[d+3|0]^a>>>24)+33808|0];i=G[d+11|0];j=G[d+15|0];o=G[d+7|0];p=G[d+12|0];r=G[d+8|0];D[d+8|0]=G[(n^g>>>8&255)+33808|0];D[d+7|0]=G[(m^f>>>16&255)+33808|0];D[d+6|0]=G[(o^a>>>16&255)+33808|0];D[d+5|0]=G[(q^g>>>16&255)+33808|0];D[d+4|0]=G[(s^e>>>16&255)+33808|0];D[d+10|0]=G[r+33808|0];D[d+15|0]=G[(l&255)+33808|0];D[d+12|0]=G[((a^j)&255)+33808|0];D[d+11|0]=G[(k&255)+33808|0];D[d+9|0]=G[(i^a>>>8&255)+33808|0];D[d+14|0]=G[(h&255)+33808|0];D[d+13|0]=G[p+33808|0];ya(d);f=F[c+208>>2];D[d+12|0]=f^G[d+12|0];D[d+8|0]=G[d+8|0]^f>>>8;e=F[c+212>>2];k=e^G[d+13|0];D[d+13|0]=k;h=G[d+9|0]^e>>>8;D[d+9|0]=h;g=F[c+216>>2];l=g^G[d+14|0];D[d+14|0]=l;a=F[c+220>>2];D[d+2|0]=G[(G[d+2|0]^g>>>24)+33808|0];s=G[d+4|0];q=G[d+6|0];m=G[d+5|0];n=G[d+10|0];i=G[d|0];j=G[d+1|0];D[d+3|0]=G[(G[d+3|0]^a>>>24)+33808|0];j=G[(j^e>>>24)+33808|0];D[d+1|0]=j;i=G[(i^f>>>24)+33808|0];D[d|0]=i;o=G[d+7|0];p=G[d+11|0];r=G[d+15|0];u=G[d+8|0];v=G[d+12|0];l=G[(l&255)+33808|0];D[d+15|0]=l;t=G[(h&255)+33808|0];D[d+11|0]=t;h=F[c+224>>2];r=h^G[((a^r)&255)+33808|0];D[d+12|0]=r;n=G[(n^g>>>8&255)+33808|0]^h>>>8;D[d+8|0]=n;m=G[(m^e>>>16&255)+33808|0]^h>>>16;D[d+4|0]=m;h=i^h>>>24;D[d|0]=h;e=F[c+228>>2];i=e^G[v+33808|0];D[d+13|0]=i;p=G[(p^a>>>8&255)+33808|0]^e>>>8;D[d+9|0]=p;g=G[(q^g>>>16&255)+33808|0]^e>>>16;D[d+5|0]=g;q=j^e>>>24;D[d+1|0]=q;e=F[c+232>>2];k=e^G[(k&255)+33808|0];D[d+14|0]=k;j=G[u+33808|0]^e>>>8;D[d+10|0]=j;o=G[(o^a>>>16&255)+33808|0]^e>>>16;D[d+6|0]=o;e=G[d+2|0]^e>>>24;D[d+2|0]=e;a=F[c+236>>2];c=G[(s^f>>>16&255)+33808|0]^a>>>16;D[d+7|0]=c;f=G[d+3|0]^a>>>24;D[d+3|0]=f;D[b+13|0]=c;D[b+12|0]=f;D[b+11|0]=k;D[b+10|0]=j;D[b+9|0]=o;D[b+8|0]=e;D[b+7|0]=i;D[b+6|0]=p;D[b+5|0]=g;D[b+4|0]=q;D[b+3|0]=r;D[b+2|0]=n;D[b+1|0]=m;D[b|0]=h;D[b+15|0]=a^l;D[b+14|0]=t^a>>>8;_=d+16|0}function Yc(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;l=_-16|0;_=l;a:{b:{c:{d:{e:{f:{g:{h:{i:{j:{k:{if(a>>>0<=244){e=F[9456];h=a>>>0<11?16:a+11&-8;c=h>>>3|0;b=e>>>c|0;if(b&3){d=c+((b^-1)&1)|0;b=d<<3;f=F[b+37872>>2];a=f+8|0;c=F[f+8>>2];b=b+37864|0;l:{if((c|0)==(b|0)){F[9456]=se(-2,d)&e;break l}F[c+12>>2]=b;F[b+8>>2]=c}b=d<<3;F[f+4>>2]=b|3;b=b+f|0;F[b+4>>2]=F[b+4>>2]|1;break a}k=F[9458];if(k>>>0>=h>>>0){break k}if(b){a=2<>>12&16;c=a;b=b>>>a|0;a=b>>>5&8;c=c|a;b=b>>>a|0;a=b>>>2&4;c=c|a;b=b>>>a|0;a=b>>>1&2;c=c|a;b=b>>>a|0;a=b>>>1&1;c=(c|a)+(b>>>a|0)|0;a=c<<3;g=F[a+37872>>2];b=F[g+8>>2];a=a+37864|0;m:{if((b|0)==(a|0)){e=se(-2,c)&e;F[9456]=e;break m}F[b+12>>2]=a;F[a+8>>2]=b}a=g+8|0;F[g+4>>2]=h|3;d=g+h|0;b=c<<3;f=b-h|0;F[d+4>>2]=f|1;F[b+g>>2]=f;if(k){b=k>>>3|0;c=(b<<3)+37864|0;g=F[9461];b=1<>2]}F[c+8>>2]=g;F[b+12>>2]=g;F[g+12>>2]=c;F[g+8>>2]=b}F[9461]=d;F[9458]=f;break a}j=F[9457];if(!j){break k}b=(j&0-j)-1|0;a=b>>>12&16;c=a;b=b>>>a|0;a=b>>>5&8;c=c|a;b=b>>>a|0;a=b>>>2&4;c=c|a;b=b>>>a|0;a=b>>>1&2;c=c|a;b=b>>>a|0;a=b>>>1&1;b=F[((c|a)+(b>>>a|0)<<2)+38128>>2];d=(F[b+4>>2]&-8)-h|0;c=b;while(1){o:{a=F[c+16>>2];if(!a){a=F[c+20>>2];if(!a){break o}}c=(F[a+4>>2]&-8)-h|0;f=c>>>0>>0;d=f?c:d;b=f?a:b;c=a;continue}break}i=F[b+24>>2];f=F[b+12>>2];if((f|0)!=(b|0)){a=F[b+8>>2];F[a+12>>2]=f;F[f+8>>2]=a;break b}c=b+20|0;a=F[c>>2];if(!a){a=F[b+16>>2];if(!a){break j}c=b+16|0}while(1){g=c;f=a;c=a+20|0;a=F[c>>2];if(a){continue}c=f+16|0;a=F[f+16>>2];if(a){continue}break}F[g>>2]=0;break b}h=-1;if(a>>>0>4294967231){break k}a=a+11|0;h=a&-8;j=F[9457];if(!j){break k}d=0-h|0;e=0;p:{if(h>>>0<256){break p}e=31;if(h>>>0>16777215){break p}a=a>>>8|0;g=a+1048320>>>16&8;a=a<>>16&4;a=a<>>16&2;a=(a<>>15|0)-(b|(c|g))|0;e=(a<<1|h>>>a+21&1)+28|0}c=F[(e<<2)+38128>>2];q:{r:{s:{if(!c){a=0;break s}a=0;b=h<<((e|0)==31?0:25-(e>>>1|0)|0);while(1){t:{g=(F[c+4>>2]&-8)-h|0;if(g>>>0>=d>>>0){break t}f=c;d=g;if(d){break t}d=0;a=c;break r}g=F[c+20>>2];c=F[((b>>>29&4)+c|0)+16>>2];a=g?(g|0)==(c|0)?a:g:a;b=b<<1;if(c){continue}break}}if(!(a|f)){f=0;a=2<>>12&16;c=a;b=b>>>a|0;a=b>>>5&8;c=c|a;b=b>>>a|0;a=b>>>2&4;c=c|a;b=b>>>a|0;a=b>>>1&2;c=c|a;b=b>>>a|0;a=b>>>1&1;a=F[((c|a)+(b>>>a|0)<<2)+38128>>2]}if(!a){break q}}while(1){b=(F[a+4>>2]&-8)-h|0;c=b>>>0>>0;d=c?b:d;f=c?a:f;b=F[a+16>>2];if(b){a=b}else{a=F[a+20>>2]}if(a){continue}break}}if(!f|F[9458]-h>>>0<=d>>>0){break k}e=F[f+24>>2];b=F[f+12>>2];if((f|0)!=(b|0)){a=F[f+8>>2];F[a+12>>2]=b;F[b+8>>2]=a;break c}c=f+20|0;a=F[c>>2];if(!a){a=F[f+16>>2];if(!a){break i}c=f+16|0}while(1){g=c;b=a;c=a+20|0;a=F[c>>2];if(a){continue}c=b+16|0;a=F[b+16>>2];if(a){continue}break}F[g>>2]=0;break c}c=F[9458];if(c>>>0>=h>>>0){d=F[9461];b=c-h|0;u:{if(b>>>0>=16){F[9458]=b;a=d+h|0;F[9461]=a;F[a+4>>2]=b|1;F[c+d>>2]=b;F[d+4>>2]=h|3;break u}F[9461]=0;F[9458]=0;F[d+4>>2]=c|3;a=c+d|0;F[a+4>>2]=F[a+4>>2]|1}a=d+8|0;break a}i=F[9459];if(i>>>0>h>>>0){b=i-h|0;F[9459]=b;c=F[9462];a=c+h|0;F[9462]=a;F[a+4>>2]=b|1;F[c+4>>2]=h|3;a=c+8|0;break a}a=0;j=h+47|0;b=j;if(F[9574]){c=F[9576]}else{F[9577]=-1;F[9578]=-1;F[9575]=4096;F[9576]=4096;F[9574]=l+12&-16^1431655768;F[9579]=0;F[9567]=0;c=4096}g=b+c|0;f=0-c|0;c=g&f;if(c>>>0<=h>>>0){break a}d=F[9566];if(d){b=F[9564];e=b+c|0;if(d>>>0>>0|b>>>0>=e>>>0){break a}}if(G[38268]&4){break f}v:{w:{d=F[9462];if(d){a=38272;while(1){b=F[a>>2];if(d>>>0>2]>>>0?b>>>0<=d>>>0:0){break w}a=F[a+8>>2];if(a){continue}break}}b=Ia(0);if((b|0)==-1){break g}e=c;d=F[9575];a=d-1|0;if(a&b){e=(c-b|0)+(a+b&0-d)|0}if(e>>>0<=h>>>0|e>>>0>2147483646){break g}d=F[9566];if(d){a=F[9564];f=a+e|0;if(d>>>0>>0|a>>>0>=f>>>0){break g}}a=Ia(e);if((b|0)!=(a|0)){break v}break e}e=f&g-i;if(e>>>0>2147483646){break g}b=Ia(e);if((b|0)==(F[a>>2]+F[a+4>>2]|0)){break h}a=b}if(!((a|0)==-1|h+48>>>0<=e>>>0)){b=F[9576];b=b+(j-e|0)&0-b;if(b>>>0>2147483646){b=a;break e}if((Ia(b)|0)!=-1){e=b+e|0;b=a;break e}Ia(0-e|0);break g}b=a;if((a|0)!=-1){break e}break g}f=0;break b}b=0;break c}if((b|0)!=-1){break e}}F[9567]=F[9567]|4}if(c>>>0>2147483646){break d}b=Ia(c);a=Ia(0);if((b|0)==-1|(a|0)==-1|a>>>0<=b>>>0){break d}e=a-b|0;if(e>>>0<=h+40>>>0){break d}}a=F[9564]+e|0;F[9564]=a;if(a>>>0>I[9565]){F[9565]=a}x:{y:{z:{g=F[9462];if(g){a=38272;while(1){d=F[a>>2];c=F[a+4>>2];if((d+c|0)==(b|0)){break z}a=F[a+8>>2];if(a){continue}break}break y}a=F[9460];if(!(a>>>0<=b>>>0?a:0)){F[9460]=b}a=0;F[9569]=e;F[9568]=b;F[9464]=-1;F[9465]=F[9574];F[9571]=0;while(1){d=a<<3;c=d+37864|0;F[d+37872>>2]=c;F[d+37876>>2]=c;a=a+1|0;if((a|0)!=32){continue}break}d=e-40|0;a=b+8&7?-8-b&7:0;c=d-a|0;F[9459]=c;a=a+b|0;F[9462]=a;F[a+4>>2]=c|1;F[(b+d|0)+4>>2]=40;F[9463]=F[9578];break x}if(G[a+12|0]&8|d>>>0>g>>>0|b>>>0<=g>>>0){break y}F[a+4>>2]=c+e;a=g+8&7?-8-g&7:0;c=a+g|0;F[9462]=c;b=F[9459]+e|0;a=b-a|0;F[9459]=a;F[c+4>>2]=a|1;F[(b+g|0)+4>>2]=40;F[9463]=F[9578];break x}if(I[9460]>b>>>0){F[9460]=b}c=b+e|0;a=38272;A:{B:{C:{D:{E:{F:{while(1){if((c|0)!=F[a>>2]){a=F[a+8>>2];if(a){continue}break F}break}if(!(G[a+12|0]&8)){break E}}a=38272;while(1){c=F[a>>2];if(c>>>0<=g>>>0){f=c+F[a+4>>2]|0;if(f>>>0>g>>>0){break D}}a=F[a+8>>2];continue}}F[a>>2]=b;F[a+4>>2]=F[a+4>>2]+e;j=(b+8&7?-8-b&7:0)+b|0;F[j+4>>2]=h|3;e=c+(c+8&7?-8-c&7:0)|0;i=h+j|0;c=e-i|0;if((e|0)==(g|0)){F[9462]=i;a=F[9459]+c|0;F[9459]=a;F[i+4>>2]=a|1;break B}if(F[9461]==(e|0)){F[9461]=i;a=F[9458]+c|0;F[9458]=a;F[i+4>>2]=a|1;F[a+i>>2]=a;break B}a=F[e+4>>2];if((a&3)==1){g=a&-8;G:{if(a>>>0<=255){d=F[e+8>>2];a=a>>>3|0;b=F[e+12>>2];if((b|0)==(d|0)){F[9456]=F[9456]&se(-2,a);break G}F[d+12>>2]=b;F[b+8>>2]=d;break G}h=F[e+24>>2];b=F[e+12>>2];H:{if((e|0)!=(b|0)){a=F[e+8>>2];F[a+12>>2]=b;F[b+8>>2]=a;break H}I:{a=e+20|0;d=F[a>>2];if(d){break I}a=e+16|0;d=F[a>>2];if(d){break I}b=0;break H}while(1){f=a;b=d;a=b+20|0;d=F[a>>2];if(d){continue}a=b+16|0;d=F[b+16>>2];if(d){continue}break}F[f>>2]=0}if(!h){break G}d=F[e+28>>2];a=(d<<2)+38128|0;J:{if(F[a>>2]==(e|0)){F[a>>2]=b;if(b){break J}F[9457]=F[9457]&se(-2,d);break G}F[h+(F[h+16>>2]==(e|0)?16:20)>>2]=b;if(!b){break G}}F[b+24>>2]=h;a=F[e+16>>2];if(a){F[b+16>>2]=a;F[a+24>>2]=b}a=F[e+20>>2];if(!a){break G}F[b+20>>2]=a;F[a+24>>2]=b}e=e+g|0;c=c+g|0}F[e+4>>2]=F[e+4>>2]&-2;F[i+4>>2]=c|1;F[c+i>>2]=c;if(c>>>0<=255){a=c>>>3|0;b=(a<<3)+37864|0;c=F[9456];a=1<>2]}F[b+8>>2]=i;F[a+12>>2]=i;F[i+12>>2]=b;F[i+8>>2]=a;break B}a=31;if(c>>>0<=16777215){a=c>>>8|0;f=a+1048320>>>16&8;a=a<>>16&4;a=a<>>16&2;a=(a<>>15|0)-(b|(d|f))|0;a=(a<<1|c>>>a+21&1)+28|0}F[i+28>>2]=a;F[i+16>>2]=0;F[i+20>>2]=0;f=(a<<2)+38128|0;d=F[9457];b=1<>2]=i;F[i+24>>2]=f;break L}a=c<<((a|0)==31?0:25-(a>>>1|0)|0);b=F[f>>2];while(1){d=b;if((F[b+4>>2]&-8)==(c|0)){break C}b=a>>>29|0;a=a<<1;f=d+(b&4)|0;b=F[f+16>>2];if(b){continue}break}F[f+16>>2]=i;F[i+24>>2]=d}F[i+12>>2]=i;F[i+8>>2]=i;break B}d=e-40|0;a=b+8&7?-8-b&7:0;c=d-a|0;F[9459]=c;a=a+b|0;F[9462]=a;F[a+4>>2]=c|1;F[(b+d|0)+4>>2]=40;F[9463]=F[9578];a=(f+(f-39&7?39-f&7:0)|0)-47|0;c=a>>>0>>0?g:a;F[c+4>>2]=27;a=F[9571];F[c+16>>2]=F[9570];F[c+20>>2]=a;a=F[9569];F[c+8>>2]=F[9568];F[c+12>>2]=a;F[9570]=c+8;F[9569]=e;F[9568]=b;F[9571]=0;a=c+24|0;while(1){F[a+4>>2]=7;b=a+8|0;a=a+4|0;if(b>>>0>>0){continue}break}if((c|0)==(g|0)){break x}F[c+4>>2]=F[c+4>>2]&-2;f=c-g|0;F[g+4>>2]=f|1;F[c>>2]=f;if(f>>>0<=255){a=f>>>3|0;b=(a<<3)+37864|0;c=F[9456];a=1<>2]}F[b+8>>2]=g;F[a+12>>2]=g;F[g+12>>2]=b;F[g+8>>2]=a;break x}a=31;F[g+16>>2]=0;F[g+20>>2]=0;if(f>>>0<=16777215){a=f>>>8|0;d=a+1048320>>>16&8;a=a<>>16&4;a=a<>>16&2;a=(a<>>15|0)-(b|(c|d))|0;a=(a<<1|f>>>a+21&1)+28|0}F[g+28>>2]=a;d=(a<<2)+38128|0;c=F[9457];b=1<>2]=g;F[g+24>>2]=d;break N}a=f<<((a|0)==31?0:25-(a>>>1|0)|0);b=F[d>>2];while(1){c=b;if((f|0)==(F[b+4>>2]&-8)){break A}b=a>>>29|0;a=a<<1;d=c+(b&4)|0;b=F[d+16>>2];if(b){continue}break}F[d+16>>2]=g;F[g+24>>2]=c}F[g+12>>2]=g;F[g+8>>2]=g;break x}a=F[d+8>>2];F[a+12>>2]=i;F[d+8>>2]=i;F[i+24>>2]=0;F[i+12>>2]=d;F[i+8>>2]=a}a=j+8|0;break a}a=F[c+8>>2];F[a+12>>2]=g;F[c+8>>2]=g;F[g+24>>2]=0;F[g+12>>2]=c;F[g+8>>2]=a}a=F[9459];if(a>>>0<=h>>>0){break d}b=a-h|0;F[9459]=b;c=F[9462];a=c+h|0;F[9462]=a;F[a+4>>2]=b|1;F[c+4>>2]=h|3;a=c+8|0;break a}F[9439]=48;a=0;break a}O:{if(!e){break O}c=F[f+28>>2];a=(c<<2)+38128|0;P:{if(F[a>>2]==(f|0)){F[a>>2]=b;if(b){break P}j=se(-2,c)&j;F[9457]=j;break O}F[e+(F[e+16>>2]==(f|0)?16:20)>>2]=b;if(!b){break O}}F[b+24>>2]=e;a=F[f+16>>2];if(a){F[b+16>>2]=a;F[a+24>>2]=b}a=F[f+20>>2];if(!a){break O}F[b+20>>2]=a;F[a+24>>2]=b}Q:{if(d>>>0<=15){a=d+h|0;F[f+4>>2]=a|3;a=a+f|0;F[a+4>>2]=F[a+4>>2]|1;break Q}F[f+4>>2]=h|3;e=f+h|0;F[e+4>>2]=d|1;F[d+e>>2]=d;if(d>>>0<=255){a=d>>>3|0;b=(a<<3)+37864|0;c=F[9456];a=1<>2]}F[b+8>>2]=e;F[a+12>>2]=e;F[e+12>>2]=b;F[e+8>>2]=a;break Q}a=31;if(d>>>0<=16777215){a=d>>>8|0;g=a+1048320>>>16&8;a=a<>>16&4;a=a<>>16&2;a=(a<>>15|0)-(b|(c|g))|0;a=(a<<1|d>>>a+21&1)+28|0}F[e+28>>2]=a;F[e+16>>2]=0;F[e+20>>2]=0;b=(a<<2)+38128|0;S:{c=1<>2]=e;break T}a=d<<((a|0)==31?0:25-(a>>>1|0)|0);h=F[b>>2];while(1){b=h;if((F[b+4>>2]&-8)==(d|0)){break S}c=a>>>29|0;a=a<<1;c=(c&4)+b|0;h=F[c+16>>2];if(h){continue}break}F[c+16>>2]=e}F[e+24>>2]=b;F[e+12>>2]=e;F[e+8>>2]=e;break Q}a=F[b+8>>2];F[a+12>>2]=e;F[b+8>>2]=e;F[e+24>>2]=0;F[e+12>>2]=b;F[e+8>>2]=a}a=f+8|0;break a}U:{if(!i){break U}c=F[b+28>>2];a=(c<<2)+38128|0;V:{if(F[a>>2]==(b|0)){F[a>>2]=f;if(f){break V}F[9457]=se(-2,c)&j;break U}F[i+(F[i+16>>2]==(b|0)?16:20)>>2]=f;if(!f){break U}}F[f+24>>2]=i;a=F[b+16>>2];if(a){F[f+16>>2]=a;F[a+24>>2]=f}a=F[b+20>>2];if(!a){break U}F[f+20>>2]=a;F[a+24>>2]=f}W:{if(d>>>0<=15){a=d+h|0;F[b+4>>2]=a|3;a=a+b|0;F[a+4>>2]=F[a+4>>2]|1;break W}F[b+4>>2]=h|3;f=b+h|0;F[f+4>>2]=d|1;F[d+f>>2]=d;if(k){a=k>>>3|0;c=(a<<3)+37864|0;g=F[9461];a=1<>2]}F[c+8>>2]=g;F[a+12>>2]=g;F[g+12>>2]=c;F[g+8>>2]=a}F[9461]=f;F[9458]=d}a=b+8|0}_=l+16|0;return a|0}function Rb(a,b,c){var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,G=0,H=0,I=0,J=0,K=0,M=0;F[a+4>>2]=0;F[a+8>>2]=0;F[a>>2]=1;F[a+12>>2]=0;F[a+16>>2]=0;F[a+20>>2]=0;F[a+24>>2]=0;F[a+28>>2]=0;F[a+32>>2]=0;F[a+36>>2]=0;F[a+40>>2]=1;M=ra(a+44|0,0,76);J=c-((c>>7&c)<<1)|0;K=0-(((J^1)&255)>>>0<1)|0;d=K>>31;b=L(b,960);I=d&F[b+2156>>2];F[a+76>>2]=I;m=d&F[b+2152>>2];F[a+72>>2]=m;g=d&F[b+2148>>2];F[a+68>>2]=g;K=a- -64|0;n=d&F[b+2144>>2];F[K>>2]=n;o=d&F[b+2140>>2];F[a+60>>2]=o;p=d&F[b+2136>>2];F[a+56>>2]=p;q=d&F[b+2132>>2];F[a+52>>2]=q;r=d&F[b+2128>>2];F[a+48>>2]=r;s=d&F[b+2124>>2];F[M>>2]=s;t=d&F[b+2116>>2];F[a+36>>2]=t;u=d&F[b+2112>>2];F[a+32>>2]=u;v=d&F[b+2108>>2];F[a+28>>2]=v;h=d&F[b+2104>>2];F[a+24>>2]=h;i=d&F[b+2100>>2];F[a+20>>2]=i;j=d&F[b+2096>>2];F[a+16>>2]=j;k=d&F[b+2092>>2];F[a+12>>2]=k;l=d&F[b+2088>>2];F[a+8>>2]=l;e=d&F[b+2084>>2];F[a+4>>2]=e;w=d&(F[b+2120>>2]^1)^1;F[a+40>>2]=w;x=d&(F[b+2080>>2]^1)^1;F[a>>2]=x;y=F[a+80>>2];y=d&(y^F[b+2160>>2])^y;F[a+80>>2]=y;z=F[a+84>>2];z=d&(z^F[b+2164>>2])^z;F[a+84>>2]=z;A=F[a+88>>2];A=d&(A^F[b+2168>>2])^A;F[a+88>>2]=A;B=F[a+92>>2];B=d&(B^F[b+2172>>2])^B;F[a+92>>2]=B;C=F[a+96>>2];C=d&(C^F[b+2176>>2])^C;F[a+96>>2]=C;D=F[a+100>>2];D=d&(D^F[b+2180>>2])^D;F[a+100>>2]=D;E=F[a+104>>2];E=d&(E^F[b+2184>>2])^E;F[a+104>>2]=E;G=F[a+108>>2];G=d&(G^F[b+2188>>2])^G;F[a+108>>2]=G;H=F[a+112>>2];H=d&(H^F[b+2192>>2])^H;F[a+112>>2]=H;f=d;d=F[a+116>>2];f=f&(d^F[b+2196>>2])^d;F[a+116>>2]=f;d=0-(((J^2)&255)>>>0<1)|0;d=d>>31;s=s^d&(s^F[b+2244>>2]);F[M>>2]=s;w=w^d&(w^F[b+2240>>2]);F[a+40>>2]=w;t=t^d&(t^F[b+2236>>2]);F[a+36>>2]=t;u=u^d&(u^F[b+2232>>2]);F[a+32>>2]=u;v=v^d&(v^F[b+2228>>2]);F[a+28>>2]=v;h=h^d&(h^F[b+2224>>2]);F[a+24>>2]=h;i=i^d&(i^F[b+2220>>2]);F[a+20>>2]=i;j=j^d&(j^F[b+2216>>2]);F[a+16>>2]=j;k=k^d&(k^F[b+2212>>2]);F[a+12>>2]=k;l=l^d&(l^F[b+2208>>2]);F[a+8>>2]=l;e=e^d&(e^F[b+2204>>2]);F[a+4>>2]=e;x=x^d&(x^F[b+2200>>2]);F[a>>2]=x;I=I^d&(I^F[b+2276>>2]);F[a+76>>2]=I;m=m^d&(m^F[b+2272>>2]);F[a+72>>2]=m;g=g^d&(g^F[b+2268>>2]);F[a+68>>2]=g;n=n^d&(n^F[b+2264>>2]);F[K>>2]=n;o=o^d&(o^F[b+2260>>2]);F[a+60>>2]=o;p=p^d&(p^F[b+2256>>2]);F[a+56>>2]=p;q=q^d&(q^F[b+2252>>2]);F[a+52>>2]=q;r=r^d&(r^F[b+2248>>2]);F[a+48>>2]=r;B=B^d&(B^F[b+2292>>2]);F[a+92>>2]=B;A=A^d&(A^F[b+2288>>2]);F[a+88>>2]=A;z=z^d&(z^F[b+2284>>2]);F[a+84>>2]=z;y=y^d&(y^F[b+2280>>2]);F[a+80>>2]=y;f=f^d&(f^F[b+2316>>2]);F[a+116>>2]=f;H=H^d&(H^F[b+2312>>2]);F[a+112>>2]=H;G=G^d&(G^F[b+2308>>2]);F[a+108>>2]=G;E=E^d&(E^F[b+2304>>2]);F[a+104>>2]=E;D=D^d&(D^F[b+2300>>2]);F[a+100>>2]=D;C=C^d&(C^F[b+2296>>2]);F[a+96>>2]=C;d=0-(((J^3)&255)>>>0<1)|0;d=d>>31;s=s^d&(s^F[b+2364>>2]);F[M>>2]=s;w=w^d&(w^F[b+2360>>2]);F[a+40>>2]=w;t=t^d&(t^F[b+2356>>2]);F[a+36>>2]=t;u=u^d&(u^F[b+2352>>2]);F[a+32>>2]=u;v=v^d&(v^F[b+2348>>2]);F[a+28>>2]=v;h=h^d&(h^F[b+2344>>2]);F[a+24>>2]=h;i=i^d&(i^F[b+2340>>2]);F[a+20>>2]=i;j=j^d&(j^F[b+2336>>2]);F[a+16>>2]=j;k=k^d&(k^F[b+2332>>2]);F[a+12>>2]=k;l=l^d&(l^F[b+2328>>2]);F[a+8>>2]=l;e=e^d&(e^F[b+2324>>2]);F[a+4>>2]=e;x=x^d&(x^F[b+2320>>2]);F[a>>2]=x;B=B^d&(B^F[b+2412>>2]);F[a+92>>2]=B;A=A^d&(A^F[b+2408>>2]);F[a+88>>2]=A;z=z^d&(z^F[b+2404>>2]);F[a+84>>2]=z;y=y^d&(y^F[b+2400>>2]);F[a+80>>2]=y;I=I^d&(I^F[b+2396>>2]);F[a+76>>2]=I;m=m^d&(m^F[b+2392>>2]);F[a+72>>2]=m;g=g^d&(g^F[b+2388>>2]);F[a+68>>2]=g;n=n^d&(n^F[b+2384>>2]);F[K>>2]=n;o=o^d&(o^F[b+2380>>2]);F[a+60>>2]=o;p=p^d&(p^F[b+2376>>2]);F[a+56>>2]=p;q=q^d&(q^F[b+2372>>2]);F[a+52>>2]=q;r=r^d&(r^F[b+2368>>2]);F[a+48>>2]=r;f=f^d&(f^F[b+2436>>2]);F[a+116>>2]=f;H=H^d&(H^F[b+2432>>2]);F[a+112>>2]=H;G=G^d&(G^F[b+2428>>2]);F[a+108>>2]=G;E=E^d&(E^F[b+2424>>2]);F[a+104>>2]=E;D=D^d&(D^F[b+2420>>2]);F[a+100>>2]=D;C=C^d&(C^F[b+2416>>2]);F[a+96>>2]=C;d=0-(((J^4)&255)>>>0<1)|0;d=d>>31;s=s^d&(s^F[b+2484>>2]);F[M>>2]=s;w=w^d&(w^F[b+2480>>2]);F[a+40>>2]=w;t=t^d&(t^F[b+2476>>2]);F[a+36>>2]=t;u=u^d&(u^F[b+2472>>2]);F[a+32>>2]=u;v=v^d&(v^F[b+2468>>2]);F[a+28>>2]=v;h=h^d&(h^F[b+2464>>2]);F[a+24>>2]=h;i=i^d&(i^F[b+2460>>2]);F[a+20>>2]=i;j=j^d&(j^F[b+2456>>2]);F[a+16>>2]=j;k=k^d&(k^F[b+2452>>2]);F[a+12>>2]=k;l=l^d&(l^F[b+2448>>2]);F[a+8>>2]=l;e=e^d&(e^F[b+2444>>2]);F[a+4>>2]=e;x=x^d&(x^F[b+2440>>2]);F[a>>2]=x;B=B^d&(B^F[b+2532>>2]);F[a+92>>2]=B;A=A^d&(A^F[b+2528>>2]);F[a+88>>2]=A;z=z^d&(z^F[b+2524>>2]);F[a+84>>2]=z;y=y^d&(y^F[b+2520>>2]);F[a+80>>2]=y;I=I^d&(I^F[b+2516>>2]);F[a+76>>2]=I;m=m^d&(m^F[b+2512>>2]);F[a+72>>2]=m;g=g^d&(g^F[b+2508>>2]);F[a+68>>2]=g;n=n^d&(n^F[b+2504>>2]);F[K>>2]=n;o=o^d&(o^F[b+2500>>2]);F[a+60>>2]=o;p=p^d&(p^F[b+2496>>2]);F[a+56>>2]=p;q=q^d&(q^F[b+2492>>2]);F[a+52>>2]=q;r=r^d&(r^F[b+2488>>2]);F[a+48>>2]=r;C=C^d&(C^F[b+2536>>2]);F[a+96>>2]=C;D=D^d&(D^F[b+2540>>2]);F[a+100>>2]=D;E=E^d&(E^F[b+2544>>2]);F[a+104>>2]=E;G=G^d&(G^F[b+2548>>2]);F[a+108>>2]=G;H=H^d&(H^F[b+2552>>2]);F[a+112>>2]=H;f=f^d&(f^F[b+2556>>2]);F[a+116>>2]=f;d=0-(((J^5)&255)>>>0<1)|0;d=d>>31;s=s^d&(s^F[b+2604>>2]);F[M>>2]=s;w=w^d&(w^F[b+2600>>2]);F[a+40>>2]=w;t=t^d&(t^F[b+2596>>2]);F[a+36>>2]=t;u=u^d&(u^F[b+2592>>2]);F[a+32>>2]=u;v=v^d&(v^F[b+2588>>2]);F[a+28>>2]=v;h=h^d&(h^F[b+2584>>2]);F[a+24>>2]=h;i=i^d&(i^F[b+2580>>2]);F[a+20>>2]=i;j=j^d&(j^F[b+2576>>2]);F[a+16>>2]=j;k=k^d&(k^F[b+2572>>2]);F[a+12>>2]=k;l=l^d&(l^F[b+2568>>2]);F[a+8>>2]=l;e=e^d&(e^F[b+2564>>2]);F[a+4>>2]=e;x=x^d&(x^F[b+2560>>2]);F[a>>2]=x;D=D^d&(D^F[b+2660>>2]);F[a+100>>2]=D;C=C^d&(C^F[b+2656>>2]);F[a+96>>2]=C;B=B^d&(B^F[b+2652>>2]);F[a+92>>2]=B;E=E^d&(E^F[b+2664>>2]);F[a+104>>2]=E;G=G^d&(G^F[b+2668>>2]);F[a+108>>2]=G;H=H^d&(H^F[b+2672>>2]);F[a+112>>2]=H;f=f^d&(f^F[b+2676>>2]);F[a+116>>2]=f;A=A^d&(A^F[b+2648>>2]);F[a+88>>2]=A;z=z^d&(z^F[b+2644>>2]);F[a+84>>2]=z;y=y^d&(y^F[b+2640>>2]);F[a+80>>2]=y;I=I^d&(I^F[b+2636>>2]);F[a+76>>2]=I;m=m^d&(m^F[b+2632>>2]);F[a+72>>2]=m;g=g^d&(g^F[b+2628>>2]);F[a+68>>2]=g;n=n^d&(n^F[b+2624>>2]);F[K>>2]=n;o=o^d&(o^F[b+2620>>2]);F[a+60>>2]=o;p=p^d&(p^F[b+2616>>2]);F[a+56>>2]=p;q=q^d&(q^F[b+2612>>2]);F[a+52>>2]=q;r=r^d&(r^F[b+2608>>2]);F[a+48>>2]=r;d=0-(((J^6)&255)>>>0<1)|0;d=d>>31;s=s^d&(s^F[b+2724>>2]);F[M>>2]=s;w=w^d&(w^F[b+2720>>2]);F[a+40>>2]=w;t=t^d&(t^F[b+2716>>2]);F[a+36>>2]=t;u=u^d&(u^F[b+2712>>2]);F[a+32>>2]=u;v=v^d&(v^F[b+2708>>2]);F[a+28>>2]=v;h=h^d&(h^F[b+2704>>2]);F[a+24>>2]=h;i=i^d&(i^F[b+2700>>2]);F[a+20>>2]=i;j=j^d&(j^F[b+2696>>2]);F[a+16>>2]=j;k=k^d&(k^F[b+2692>>2]);F[a+12>>2]=k;l=l^d&(l^F[b+2688>>2]);F[a+8>>2]=l;e=e^d&(e^F[b+2684>>2]);F[a+4>>2]=e;x=x^d&(x^F[b+2680>>2]);F[a>>2]=x;r=r^d&(r^F[b+2728>>2]);F[a+48>>2]=r;q=q^d&(q^F[b+2732>>2]);F[a+52>>2]=q;p=p^d&(p^F[b+2736>>2]);F[a+56>>2]=p;o=o^d&(o^F[b+2740>>2]);F[a+60>>2]=o;n=n^d&(n^F[b+2744>>2]);F[K>>2]=n;g=g^d&(g^F[b+2748>>2]);F[a+68>>2]=g;m=m^d&(m^F[b+2752>>2]);F[a+72>>2]=m;I=I^d&(I^F[b+2756>>2]);F[a+76>>2]=I;y=y^d&(y^F[b+2760>>2]);F[a+80>>2]=y;z=z^d&(z^F[b+2764>>2]);F[a+84>>2]=z;A=A^d&(A^F[b+2768>>2]);F[a+88>>2]=A;B=B^d&(B^F[b+2772>>2]);F[a+92>>2]=B;C=C^d&(C^F[b+2776>>2]);F[a+96>>2]=C;D=D^d&(D^F[b+2780>>2]);F[a+100>>2]=D;E=E^d&(E^F[b+2784>>2]);F[a+104>>2]=E;G=G^d&(G^F[b+2788>>2]);F[a+108>>2]=G;H=H^d&(H^F[b+2792>>2]);F[a+112>>2]=H;f=f^d&(f^F[b+2796>>2]);F[a+116>>2]=f;d=0-(((J^7)&255)>>>0<1)|0;d=d>>31;s=s^d&(s^F[b+2844>>2]);F[M>>2]=s;r=r^d&(r^F[b+2848>>2]);F[a+48>>2]=r;q=q^d&(q^F[b+2852>>2]);F[a+52>>2]=q;p=p^d&(p^F[b+2856>>2]);F[a+56>>2]=p;o=o^d&(o^F[b+2860>>2]);F[a+60>>2]=o;n=n^d&(n^F[b+2864>>2]);F[K>>2]=n;g=g^d&(g^F[b+2868>>2]);F[a+68>>2]=g;m=m^d&(m^F[b+2872>>2]);F[a+72>>2]=m;I=I^d&(I^F[b+2876>>2]);F[a+76>>2]=I;y=y^d&(y^F[b+2880>>2]);F[a+80>>2]=y;z=z^d&(z^F[b+2884>>2]);F[a+84>>2]=z;A=A^d&(A^F[b+2888>>2]);F[a+88>>2]=A;B=B^d&(B^F[b+2892>>2]);F[a+92>>2]=B;C=C^d&(C^F[b+2896>>2]);F[a+96>>2]=C;D=D^d&(D^F[b+2900>>2]);F[a+100>>2]=D;E=E^d&(E^F[b+2904>>2]);F[a+104>>2]=E;G=G^d&(G^F[b+2908>>2]);F[a+108>>2]=G;H=H^d&(H^F[b+2912>>2]);F[a+112>>2]=H;f=f^d&(f^F[b+2916>>2]);F[a+116>>2]=f;w=w^d&(w^F[b+2840>>2]);F[a+40>>2]=w;t=t^d&(t^F[b+2836>>2]);F[a+36>>2]=t;u=u^d&(u^F[b+2832>>2]);F[a+32>>2]=u;v=v^d&(v^F[b+2828>>2]);F[a+28>>2]=v;h=h^d&(h^F[b+2824>>2]);F[a+24>>2]=h;i=i^d&(i^F[b+2820>>2]);F[a+20>>2]=i;j=j^d&(j^F[b+2816>>2]);F[a+16>>2]=j;k=k^d&(k^F[b+2812>>2]);F[a+12>>2]=k;l=l^d&(l^F[b+2808>>2]);F[a+8>>2]=l;e=e^d&(e^F[b+2804>>2]);F[a+4>>2]=e;x=x^d&(x^F[b+2800>>2]);F[a>>2]=x;J=0-(((J^8)&255)>>>0<1)|0;d=J>>31;J=e^d&(e^F[b+2924>>2]);F[a+4>>2]=J;e=x^d&(x^F[b+2920>>2]);F[a>>2]=e;l=l^d&(l^F[b+2928>>2]);F[a+8>>2]=l;k=k^d&(k^F[b+2932>>2]);F[a+12>>2]=k;j=j^d&(j^F[b+2936>>2]);F[a+16>>2]=j;i=i^d&(i^F[b+2940>>2]);F[a+20>>2]=i;h=h^d&(h^F[b+2944>>2]);F[a+24>>2]=h;v=v^d&(v^F[b+2948>>2]);F[a+28>>2]=v;u=u^d&(u^F[b+2952>>2]);F[a+32>>2]=u;t=t^d&(t^F[b+2956>>2]);F[a+36>>2]=t;w=w^d&(w^F[b+2960>>2]);F[a+40>>2]=w;s=s^d&(s^F[b+2964>>2]);F[M>>2]=s;r=r^d&(r^F[b+2968>>2]);F[a+48>>2]=r;q=q^d&(q^F[b+2972>>2]);F[a+52>>2]=q;p=p^d&(p^F[b+2976>>2]);F[a+56>>2]=p;o=o^d&(o^F[b+2980>>2]);F[a+60>>2]=o;n=n^d&(n^F[b+2984>>2]);F[K>>2]=n;g=g^d&(g^F[b+2988>>2]);F[a+68>>2]=g;m=m^d&(m^F[b+2992>>2]);F[a+72>>2]=m;c=0-((c&128)>>>7|0)|0;x=c&(e^w);F[a>>2]=x^e;e=f^d&(f^F[b+3036>>2]);F[a+116>>2]=c&(0-e^e)^e;e=H^d&(H^F[b+3032>>2]);F[a+112>>2]=c&(0-e^e)^e;e=G^d&(G^F[b+3028>>2]);F[a+108>>2]=c&(0-e^e)^e;e=E^d&(E^F[b+3024>>2]);F[a+104>>2]=c&(0-e^e)^e;e=D^d&(D^F[b+3020>>2]);F[a+100>>2]=c&(0-e^e)^e;e=C^d&(C^F[b+3016>>2]);F[a+96>>2]=c&(0-e^e)^e;e=B^d&(B^F[b+3012>>2]);F[a+92>>2]=c&(0-e^e)^e;e=A^d&(A^F[b+3008>>2]);F[a+88>>2]=c&(0-e^e)^e;e=z^d&(z^F[b+3004>>2]);F[a+84>>2]=c&(0-e^e)^e;e=y^d&(y^F[b+3e3>>2]);F[a+80>>2]=c&(0-e^e)^e;f=l;l=c&(l^r);F[a+8>>2]=f^l;f=g;g=c&(g^v);F[a+68>>2]=f^g;f=k;k=c&(k^q);F[a+12>>2]=f^k;f=j;j=c&(j^p);F[a+16>>2]=f^j;f=i;i=c&(i^o);F[a+20>>2]=f^i;f=h;h=c&(h^n);F[a+24>>2]=f^h;F[K>>2]=h^n;F[a+28>>2]=g^v;F[a+60>>2]=i^o;K=c&(m^u);F[a+32>>2]=K^u;F[a+56>>2]=j^p;F[a+40>>2]=w^x;g=J;J=c&(s^J);F[a+4>>2]=g^J;F[a+52>>2]=k^q;F[a+48>>2]=l^r;F[M>>2]=s^J;b=I^d&(I^F[b+2996>>2]);c=c&(b^t);F[a+36>>2]=c^t;F[a+76>>2]=b^c;F[a+72>>2]=m^K}function sa(a,b,c){var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;d=F[c>>2];e=d;j=d>>31;d=F[b>>2];F[a>>2]=qe(e,j,d,d>>31);F[a+4>>2]=$;d=F[c>>2];e=d;j=d>>31;d=F[b+8>>2];d=qe(e,j,d,d>>31);f=$;e=d;d=F[c+8>>2];j=d;i=d>>31;d=F[b>>2];h=qe(j,i,d,d>>31);j=e+h|0;d=$+f|0;e=a;F[e+8>>2]=j;F[e+12>>2]=h>>>0>j>>>0?d+1|0:d;d=F[c+16>>2];e=d;j=d>>31;d=F[b>>2];e=qe(e,j,d,d>>31);j=$;d=e;e=F[c+8>>2];i=e;g=e>>31;e=F[b+8>>2];f=e>>31;h=qe(i,g,(e&2147483647)<<1,f);e=d+h|0;f=$+j|0;f=e>>>0>>0?f+1|0:f;d=e;e=F[c>>2];j=e;i=e>>31;e=F[b+16>>2];j=qe(j,i,e,e>>31);e=d+j|0;f=$+f|0;d=a;F[d+16>>2]=e;F[d+20>>2]=e>>>0>>0?f+1|0:f;d=F[c+8>>2];e=d;j=d>>31;d=F[b+16>>2];d=qe(e,j,d,d>>31);f=$;e=d;d=F[c+16>>2];j=d;i=d>>31;d=F[b+8>>2];h=qe(j,i,d,d>>31);e=e+h|0;d=$+f|0;d=e>>>0>>0?d+1|0:d;j=e;e=F[c+24>>2];f=e;i=e>>31;e=F[b>>2];h=qe(f,i,e,e>>31);f=j+h|0;e=$+d|0;e=f>>>0>>0?e+1|0:e;d=F[c>>2];j=d;i=d>>31;d=F[b+24>>2];h=qe(j,i,d,d>>31);d=h+f|0;f=$+e|0;j=a;F[j+24>>2]=d;F[j+28>>2]=d>>>0>>0?f+1|0:f;d=F[c+16>>2];e=d;f=d>>31;d=F[b+16>>2];d=qe(e,f,d,d>>31);h=$;e=F[c+8>>2];f=e;i=e>>31;e=F[b+24>>2];e=qe(f,i,e,e>>31);f=$;i=d;g=e;d=F[c+24>>2];e=d;k=d>>31;d=F[b+8>>2];e=qe(e,k,d,d>>31);d=g+e|0;f=$+f|0;f=d>>>0>>0?f+1|0:f;e=f<<1|d>>>31;g=d<<1;d=i+g|0;f=e+h|0;f=d>>>0>>0?f+1|0:f;e=d;d=F[c+32>>2];i=d;g=d>>31;d=F[b>>2];h=qe(i,g,d,d>>31);e=e+h|0;d=$+f|0;d=e>>>0>>0?d+1|0:d;f=e;e=F[c>>2];i=e;g=e>>31;e=F[b+32>>2];h=qe(i,g,e,e>>31);e=f+h|0;f=$+d|0;F[j+32>>2]=e;F[j+36>>2]=e>>>0>>0?f+1|0:f;d=F[c+16>>2];e=d;f=d>>31;d=F[b+24>>2];d=qe(e,f,d,d>>31);e=$;f=d;d=F[c+24>>2];i=d;g=d>>31;d=F[b+16>>2];h=qe(i,g,d,d>>31);d=f+h|0;f=$+e|0;f=d>>>0>>0?f+1|0:f;e=d;d=F[c+32>>2];i=d;g=d>>31;d=F[b+8>>2];h=qe(i,g,d,d>>31);d=e+h|0;e=$+f|0;e=d>>>0>>0?e+1|0:e;f=d;d=F[c+8>>2];i=d;g=d>>31;d=F[b+32>>2];h=qe(i,g,d,d>>31);d=f+h|0;f=$+e|0;f=d>>>0>>0?f+1|0:f;e=d;d=F[c+40>>2];i=d;g=d>>31;d=F[b>>2];h=qe(i,g,d,d>>31);e=e+h|0;d=$+f|0;d=e>>>0>>0?d+1|0:d;f=e;e=F[c>>2];i=e;g=e>>31;e=F[b+40>>2];h=qe(i,g,e,e>>31);e=f+h|0;f=$+d|0;F[j+40>>2]=e;F[j+44>>2]=e>>>0>>0?f+1|0:f;d=F[c+32>>2];e=d;f=d>>31;d=F[b+16>>2];d=qe(e,f,d,d>>31);h=$;e=F[c+40>>2];f=e;i=e>>31;e=F[b+8>>2];e=qe(f,i,e,e>>31);f=$;i=d;g=e;d=F[c+24>>2];e=d;k=d>>31;d=F[b+24>>2];e=qe(e,k,d,d>>31);d=g+e|0;f=$+f|0;f=d>>>0>>0?f+1|0:f;e=d;d=F[c+8>>2];g=d;k=d>>31;d=F[b+40>>2];g=qe(g,k,d,d>>31);d=e+g|0;e=$+f|0;e=d>>>0>>0?e+1|0:e;f=e<<1|d>>>31;e=d<<1;d=i+e|0;f=f+h|0;f=d>>>0>>0?f+1|0:f;e=d;d=F[c+16>>2];i=d;g=d>>31;d=F[b+32>>2];h=qe(i,g,d,d>>31);e=e+h|0;d=$+f|0;d=e>>>0>>0?d+1|0:d;f=e;e=F[c+48>>2];i=e;g=e>>31;e=F[b>>2];h=qe(i,g,e,e>>31);e=f+h|0;f=$+d|0;f=e>>>0>>0?f+1|0:f;d=F[c>>2];i=d;g=d>>31;d=F[b+48>>2];h=qe(i,g,d,d>>31);d=h+e|0;e=$+f|0;F[j+48>>2]=d;F[j+52>>2]=d>>>0>>0?e+1|0:e;d=F[c+24>>2];e=d;f=d>>31;d=F[b+32>>2];d=qe(e,f,d,d>>31);e=$;f=d;d=F[c+32>>2];i=d;g=d>>31;d=F[b+24>>2];h=qe(i,g,d,d>>31);d=f+h|0;f=$+e|0;f=d>>>0>>0?f+1|0:f;i=d;d=F[c+40>>2];e=d;g=d>>31;d=F[b+16>>2];e=qe(e,g,d,d>>31);d=i+e|0;f=$+f|0;f=d>>>0>>0?f+1|0:f;e=d;d=F[c+16>>2];i=d;g=d>>31;d=F[b+40>>2];h=qe(i,g,d,d>>31);e=e+h|0;d=$+f|0;d=e>>>0>>0?d+1|0:d;f=e;e=F[c+48>>2];i=e;g=e>>31;e=F[b+8>>2];h=qe(i,g,e,e>>31);e=f+h|0;f=$+d|0;f=e>>>0>>0?f+1|0:f;d=F[c+8>>2];i=d;g=d>>31;d=F[b+48>>2];h=qe(i,g,d,d>>31);d=h+e|0;e=$+f|0;e=d>>>0>>0?e+1|0:e;f=d;d=F[c+56>>2];i=d;g=d>>31;d=F[b>>2];h=qe(i,g,d,d>>31);d=f+h|0;f=$+e|0;f=d>>>0>>0?f+1|0:f;i=d;d=F[c>>2];e=d;g=d>>31;d=F[b+56>>2];e=qe(e,g,d,d>>31);d=i+e|0;f=$+f|0;F[j+56>>2]=d;F[j+60>>2]=d>>>0>>0?f+1|0:f;d=F[c+32>>2];e=d;f=d>>31;d=F[b+32>>2];d=qe(e,f,d,d>>31);h=$;e=F[c+24>>2];f=e;i=e>>31;e=F[b+40>>2];e=qe(f,i,e,e>>31);f=$;i=d;d=F[c+40>>2];g=d;k=d>>31;d=F[b+24>>2];g=qe(g,k,d,d>>31);e=g+e|0;d=$+f|0;d=e>>>0>>0?d+1|0:d;f=e;e=F[c+56>>2];g=e;k=e>>31;e=F[b+8>>2];g=qe(g,k,e,e>>31);e=f+g|0;f=$+d|0;f=e>>>0>>0?f+1|0:f;d=F[c+8>>2];g=d;k=d>>31;d=F[b+56>>2];g=qe(g,k,d,d>>31);d=g+e|0;e=$+f|0;f=d;d=(d>>>0>>0?e+1|0:e)<<1|d>>>31;g=f<<1;e=i+g|0;f=d+h|0;f=e>>>0>>0?f+1|0:f;i=e;d=F[c+48>>2];e=d;g=d>>31;d=F[b+16>>2];e=qe(e,g,d,d>>31);d=i+e|0;f=$+f|0;f=d>>>0>>0?f+1|0:f;i=d;d=F[c+16>>2];e=d;g=d>>31;d=F[b+48>>2];e=qe(e,g,d,d>>31);d=i+e|0;f=$+f|0;f=d>>>0>>0?f+1|0:f;e=d;d=F[c+64>>2];i=d;g=d>>31;d=F[b>>2];h=qe(i,g,d,d>>31);d=e+h|0;e=$+f|0;e=d>>>0>>0?e+1|0:e;f=d;d=F[c>>2];i=d;g=d>>31;d=F[b+64>>2];h=qe(i,g,d,d>>31);f=f+h|0;d=$+e|0;F[j+64>>2]=f;F[j+68>>2]=f>>>0>>0?d+1|0:d;d=F[c+32>>2];e=d;f=d>>31;d=F[b+40>>2];d=qe(e,f,d,d>>31);e=$;f=d;d=F[c+40>>2];i=d;g=d>>31;d=F[b+32>>2];h=qe(i,g,d,d>>31);d=f+h|0;f=$+e|0;f=d>>>0>>0?f+1|0:f;i=d;d=F[c+48>>2];e=d;g=d>>31;d=F[b+24>>2];e=qe(e,g,d,d>>31);d=i+e|0;f=$+f|0;f=d>>>0>>0?f+1|0:f;i=d;d=F[c+24>>2];e=d;g=d>>31;d=F[b+48>>2];e=qe(e,g,d,d>>31);d=i+e|0;f=$+f|0;f=d>>>0>>0?f+1|0:f;e=d;d=F[c+56>>2];i=d;g=d>>31;d=F[b+16>>2];h=qe(i,g,d,d>>31);d=e+h|0;e=$+f|0;e=d>>>0>>0?e+1|0:e;f=d;d=F[c+16>>2];i=d;g=d>>31;d=F[b+56>>2];h=qe(i,g,d,d>>31);f=f+h|0;d=$+e|0;d=f>>>0>>0?d+1|0:d;e=F[c+64>>2];i=e;g=e>>31;e=F[b+8>>2];h=qe(i,g,e,e>>31);e=h+f|0;f=$+d|0;f=e>>>0>>0?f+1|0:f;i=e;d=F[c+8>>2];e=d;g=d>>31;d=F[b+64>>2];e=qe(e,g,d,d>>31);d=i+e|0;f=$+f|0;f=d>>>0>>0?f+1|0:f;i=d;d=F[c+72>>2];e=d;g=d>>31;d=F[b>>2];e=qe(e,g,d,d>>31);d=i+e|0;f=$+f|0;f=d>>>0>>0?f+1|0:f;e=d;d=F[c>>2];i=d;g=d>>31;d=F[b+72>>2];h=qe(i,g,d,d>>31);d=e+h|0;e=$+f|0;F[j+72>>2]=d;F[j+76>>2]=d>>>0>>0?e+1|0:e;d=F[c+48>>2];e=d;f=d>>31;d=F[b+32>>2];d=qe(e,f,d,d>>31);h=$;e=F[c+56>>2];f=e;i=e>>31;e=F[b+24>>2];e=qe(f,i,e,e>>31);f=$;i=d;d=F[c+40>>2];g=d;k=d>>31;d=F[b+40>>2];g=qe(g,k,d,d>>31);e=g+e|0;d=$+f|0;d=e>>>0>>0?d+1|0:d;f=e;e=F[c+24>>2];g=e;k=e>>31;e=F[b+56>>2];g=qe(g,k,e,e>>31);e=f+g|0;f=$+d|0;f=e>>>0>>0?f+1|0:f;g=e;d=F[c+72>>2];e=d;k=d>>31;d=F[b+8>>2];e=qe(e,k,d,d>>31);d=g+e|0;f=$+f|0;f=d>>>0>>0?f+1|0:f;g=d;d=F[c+8>>2];e=d;k=d>>31;d=F[b+72>>2];e=qe(e,k,d,d>>31);d=g+e|0;f=$+f|0;f=d>>>0>>0?f+1|0:f;f=f<<1|d>>>31;g=d<<1;d=i+g|0;e=f+h|0;e=d>>>0>>0?e+1|0:e;f=d;d=F[c+32>>2];i=d;g=d>>31;d=F[b+48>>2];h=qe(i,g,d,d>>31);f=f+h|0;d=$+e|0;d=f>>>0>>0?d+1|0:d;e=F[c+64>>2];i=e;g=e>>31;e=F[b+16>>2];h=qe(i,g,e,e>>31);e=h+f|0;f=$+d|0;f=e>>>0>>0?f+1|0:f;i=e;d=F[c+16>>2];e=d;g=d>>31;d=F[b+64>>2];e=qe(e,g,d,d>>31);d=i+e|0;f=$+f|0;F[j+80>>2]=d;F[j+84>>2]=d>>>0>>0?f+1|0:f;d=F[c+40>>2];e=d;f=d>>31;d=F[b+48>>2];d=qe(e,f,d,d>>31);e=$;f=d;d=F[c+48>>2];i=d;g=d>>31;d=F[b+40>>2];h=qe(i,g,d,d>>31);d=f+h|0;f=$+e|0;f=d>>>0>>0?f+1|0:f;e=d;d=F[c+56>>2];i=d;g=d>>31;d=F[b+32>>2];h=qe(i,g,d,d>>31);d=e+h|0;e=$+f|0;e=d>>>0>>0?e+1|0:e;f=d;d=F[c+32>>2];i=d;g=d>>31;d=F[b+56>>2];h=qe(i,g,d,d>>31);f=f+h|0;d=$+e|0;d=f>>>0>>0?d+1|0:d;e=F[c+64>>2];i=e;g=e>>31;e=F[b+24>>2];h=qe(i,g,e,e>>31);e=h+f|0;f=$+d|0;f=e>>>0>>0?f+1|0:f;i=e;d=F[c+24>>2];e=d;g=d>>31;d=F[b+64>>2];e=qe(e,g,d,d>>31);d=i+e|0;f=$+f|0;f=d>>>0>>0?f+1|0:f;i=d;d=F[c+72>>2];e=d;g=d>>31;d=F[b+16>>2];e=qe(e,g,d,d>>31);d=i+e|0;f=$+f|0;f=d>>>0>>0?f+1|0:f;e=d;d=F[c+16>>2];i=d;g=d>>31;d=F[b+72>>2];h=qe(i,g,d,d>>31);d=e+h|0;e=$+f|0;F[j+88>>2]=d;F[j+92>>2]=d>>>0>>0?e+1|0:e;d=F[c+48>>2];e=d;f=d>>31;d=F[b+48>>2];d=qe(e,f,d,d>>31);h=$;e=F[c+40>>2];f=e;i=e>>31;e=F[b+56>>2];e=qe(f,i,e,e>>31);f=$;i=d;d=F[c+56>>2];g=d;k=d>>31;d=F[b+40>>2];g=qe(g,k,d,d>>31);e=g+e|0;d=$+f|0;d=e>>>0>>0?d+1|0:d;f=e;e=F[c+72>>2];g=e;k=e>>31;e=F[b+24>>2];g=qe(g,k,e,e>>31);e=f+g|0;f=$+d|0;f=e>>>0>>0?f+1|0:f;g=e;d=F[c+24>>2];e=d;k=d>>31;d=F[b+72>>2];e=qe(e,k,d,d>>31);d=g+e|0;f=$+f|0;f=d>>>0>>0?f+1|0:f;e=d;d=f<<1|d>>>31;g=e<<1;e=i+g|0;f=d+h|0;d=F[c+64>>2];i=d;h=d>>31;d=F[b+32>>2];h=qe(i,h,d,d>>31);d=h+e|0;e=$+(e>>>0>>0?f+1|0:f)|0;e=d>>>0>>0?e+1|0:e;f=d;d=F[c+32>>2];i=d;g=d>>31;d=F[b+64>>2];h=qe(i,g,d,d>>31);d=f+h|0;f=$+e|0;F[j+96>>2]=d;F[j+100>>2]=d>>>0>>0?f+1|0:f;d=F[c+48>>2];e=d;f=d>>31;d=F[b+56>>2];d=qe(e,f,d,d>>31);e=$;f=d;d=F[c+56>>2];i=d;g=d>>31;d=F[b+48>>2];h=qe(i,g,d,d>>31);d=f+h|0;f=$+e|0;f=d>>>0>>0?f+1|0:f;e=d;d=F[c+64>>2];i=d;g=d>>31;d=F[b+40>>2];h=qe(i,g,d,d>>31);e=e+h|0;d=$+f|0;d=e>>>0>>0?d+1|0:d;f=e;e=F[c+40>>2];i=e;g=e>>31;e=F[b+64>>2];h=qe(i,g,e,e>>31);e=f+h|0;f=$+d|0;f=e>>>0>>0?f+1|0:f;d=F[c+72>>2];i=d;g=d>>31;d=F[b+32>>2];h=qe(i,g,d,d>>31);d=h+e|0;e=$+f|0;e=d>>>0>>0?e+1|0:e;f=d;d=F[c+32>>2];i=d;g=d>>31;d=F[b+72>>2];h=qe(i,g,d,d>>31);d=f+h|0;f=$+e|0;F[j+104>>2]=d;F[j+108>>2]=d>>>0>>0?f+1|0:f;d=F[c+64>>2];e=d;f=d>>31;d=F[b+48>>2];d=qe(e,f,d,d>>31);h=$;e=F[c+72>>2];f=e;i=e>>31;e=F[b+40>>2];e=qe(f,i,e,e>>31);f=$;i=d;g=e;d=F[c+56>>2];e=d;k=d>>31;d=F[b+56>>2];e=qe(e,k,d,d>>31);d=g+e|0;f=$+f|0;f=d>>>0>>0?f+1|0:f;e=d;d=F[c+40>>2];g=d;k=d>>31;d=F[b+72>>2];g=qe(g,k,d,d>>31);e=e+g|0;d=$+f|0;d=e>>>0>>0?d+1|0:d;f=d<<1|e>>>31;e=e<<1;d=i+e|0;f=f+h|0;f=d>>>0>>0?f+1|0:f;e=d;d=F[c+48>>2];i=d;g=d>>31;d=F[b+64>>2];h=qe(i,g,d,d>>31);d=e+h|0;e=$+f|0;F[j+112>>2]=d;F[j+116>>2]=d>>>0>>0?e+1|0:e;d=F[c+56>>2];e=d;j=d>>31;d=F[b+64>>2];d=qe(e,j,d,d>>31);j=$;e=d;d=F[c+64>>2];f=d;i=d>>31;d=F[b+56>>2];h=qe(f,i,d,d>>31);d=e+h|0;f=$+j|0;f=d>>>0>>0?f+1|0:f;e=d;d=F[c+72>>2];j=d;i=d>>31;d=F[b+48>>2];h=qe(j,i,d,d>>31);j=e+h|0;d=$+f|0;d=h>>>0>j>>>0?d+1|0:d;e=j;j=F[c+48>>2];f=j;i=j>>31;j=F[b+72>>2];h=qe(f,i,j,j>>31);j=e+h|0;f=$+d|0;e=a;F[e+120>>2]=j;F[e+124>>2]=h>>>0>j>>>0?f+1|0:f;d=F[c+64>>2];e=d;j=d>>31;d=F[b+64>>2];d=qe(e,j,d,d>>31);h=$;e=F[c+56>>2];j=e;f=e>>31;e=F[b+72>>2];e=qe(j,f,e,e>>31);f=$;j=d;i=e;d=F[c+72>>2];e=d;g=d>>31;d=F[b+56>>2];e=qe(e,g,d,d>>31);d=i+e|0;f=$+f|0;f=d>>>0>>0?f+1|0:f;e=d;d=f<<1|d>>>31;g=e<<1;f=j+g|0;e=d+h|0;j=a;F[j+128>>2]=f;F[j+132>>2]=f>>>0>>0?e+1|0:e;d=F[c+64>>2];e=d;j=d>>31;d=F[b+72>>2];e=qe(e,j,d,d>>31);j=$;d=e;e=F[c+72>>2];f=e;i=e>>31;e=F[b+64>>2];h=qe(f,i,e,e>>31);e=d+h|0;f=$+j|0;d=a;F[d+136>>2]=e;F[d+140>>2]=e>>>0>>0?f+1|0:f;c=F[c+72>>2];d=F[b+72>>2];b=0;F[a+144>>2]=qe(c,c>>31,(d&2147483647)<<1|b>>>31,d>>31);F[a+148>>2]=$}function ha(a,b,c){var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,G=0,H=0,I=0,J=0,K=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0,qa=0,ra=0,sa=0,ta=0,ua=0,va=0,wa=0,xa=0,ya=0,za=0,Aa=0,Ba=0,Ca=0,Da=0,Ea=0;j=a;V=F[c+4>>2];d=V;x=d;G=d>>31;r=F[b+20>>2];d=r<<1;ma=d;Y=d>>31;d=qe(x,G,d,Y);f=$;e=d;d=F[c>>2];y=d;z=d>>31;d=F[b+24>>2];H=d;A=d>>31;h=qe(y,z,d,A);e=e+h|0;d=$+f|0;d=e>>>0>>0?d+1|0:d;f=e;i=F[c+8>>2];e=i;na=e;P=e>>31;e=F[b+16>>2];I=e;B=e>>31;h=qe(i,P,e,B);e=f+h|0;f=$+d|0;f=e>>>0>>0?f+1|0:f;t=F[c+12>>2];d=t;oa=d;R=d>>31;o=F[b+12>>2];d=o<<1;pa=d;Z=d>>31;h=qe(t,R,d,Z);d=h+e|0;e=$+f|0;e=d>>>0>>0?e+1|0:e;f=d;s=F[c+16>>2];d=s;wa=d;W=d>>31;d=F[b+8>>2];J=d;C=d>>31;h=qe(s,W,d,C);f=f+h|0;d=$+e|0;d=f>>>0>>0?d+1|0:d;g=f;m=F[c+20>>2];e=m;xa=e;_=e>>31;l=F[b+4>>2];e=l<<1;qa=e;aa=e>>31;f=qe(m,_,e,aa);e=g+f|0;d=$+d|0;d=e>>>0>>0?d+1|0:d;f=e;n=F[c+24>>2];e=n;ya=e;ra=e>>31;e=F[b>>2];K=e;D=e>>31;h=qe(n,ra,e,D);f=f+h|0;e=$+d|0;e=f>>>0>>0?e+1|0:e;u=F[c+28>>2];d=L(u,19);S=d;T=d>>31;p=F[b+36>>2];d=p<<1;sa=d;ba=d>>31;h=qe(S,T,d,ba);d=h+f|0;f=$+e|0;f=d>>>0>>0?f+1|0:f;e=d;q=F[c+32>>2];d=L(q,19);v=d;w=d>>31;d=F[b+32>>2];M=d;E=d>>31;h=qe(v,w,d,E);e=e+h|0;d=$+f|0;d=e>>>0>>0?d+1|0:d;f=e;za=F[c+36>>2];c=L(za,19);N=c;O=c>>31;b=F[b+28>>2];c=b<<1;ta=c;ca=c>>31;e=qe(N,O,c,ca);c=f+e|0;d=$+d|0;k=c;c=c>>>0>>0?d+1|0:d;d=qe(I,B,x,G);e=$;h=r;da=h>>31;r=qe(y,z,h,da);d=r+d|0;f=$+e|0;f=d>>>0>>0?f+1|0:f;r=o;ea=o>>31;o=qe(i,P,o,ea);d=o+d|0;e=$+f|0;e=d>>>0>>0?e+1|0:e;o=qe(J,C,t,R);f=o+d|0;d=$+e|0;d=f>>>0>>0?d+1|0:d;e=f;o=l;fa=l>>31;f=qe(s,W,l,fa);e=e+f|0;d=$+d|0;d=e>>>0>>0?d+1|0:d;f=qe(K,D,m,_);e=f+e|0;d=$+d|0;d=e>>>0>>0?d+1|0:d;f=e;e=L(n,19);ga=e;X=e>>31;l=p;ha=l>>31;p=qe(e,X,l,ha);e=f+p|0;f=$+d|0;f=e>>>0

    >>0?f+1|0:f;p=qe(M,E,S,T);d=p+e|0;e=$+f|0;e=d>>>0

    >>0?e+1|0:e;p=b;ia=b>>31;f=qe(v,w,b,ia);b=f+d|0;d=$+e|0;d=b>>>0>>0?d+1|0:d;e=qe(N,O,H,A);b=e+b|0;d=$+d|0;U=b;b=b>>>0>>0?d+1|0:d;d=qe(x,G,pa,Z);f=$;n=qe(y,z,I,B);e=n+d|0;d=$+f|0;d=e>>>0>>0?d+1|0:d;n=qe(J,C,i,P);e=n+e|0;f=$+d|0;f=e>>>0>>0?f+1|0:f;n=qe(t,R,qa,aa);d=n+e|0;e=$+f|0;e=d>>>0>>0?e+1|0:e;n=qe(K,D,s,W);f=n+d|0;d=$+e|0;d=f>>>0>>0?d+1|0:d;g=f;e=L(m,19);ua=e;ja=e>>31;f=qe(e,ja,sa,ba);e=g+f|0;d=$+d|0;d=e>>>0>>0?d+1|0:d;f=qe(M,E,ga,X);e=f+e|0;d=$+d|0;d=e>>>0>>0?d+1|0:d;m=qe(S,T,ta,ca);e=m+e|0;f=$+d|0;f=e>>>0>>0?f+1|0:f;m=qe(v,w,H,A);d=m+e|0;e=$+f|0;e=d>>>0>>0?e+1|0:e;m=qe(N,O,ma,Y);f=m+d|0;d=$+e|0;d=f>>>0>>0?d+1|0:d;m=f;Ba=d;e=f+33554432|0;d=e>>>0<33554432?d+1|0:d;n=e;Ca=d;f=U;U=(d&67108863)<<6|e>>>26;f=f+U|0;d=(d>>26)+b|0;d=f>>>0>>0?d+1|0:d;U=f;b=U+16777216|0;f=b>>>0<16777216?d+1|0:d;Da=b;e=f>>25;f=(f&33554431)<<7|b>>>25;b=f+k|0;d=c+e|0;d=b>>>0>>0?d+1|0:d;c=b;b=c+33554432|0;d=b>>>0<33554432?d+1|0:d;ka=b;b=d;d=ka&-67108864;F[j+24>>2]=c-d;k=j;c=qe(x,G,qa,aa);d=$;e=qe(y,z,J,C);c=e+c|0;f=$+d|0;f=c>>>0>>0?f+1|0:f;e=qe(K,D,i,P);c=e+c|0;d=$+f|0;d=c>>>0>>0?d+1|0:d;f=c;c=L(t,19);j=c;t=c>>31;e=qe(c,t,sa,ba);c=f+e|0;d=$+d|0;d=c>>>0>>0?d+1|0:d;e=c;c=L(s,19);Aa=c;va=c>>31;f=qe(M,E,c,va);c=e+f|0;e=$+d|0;e=c>>>0>>0?e+1|0:e;f=qe(ta,ca,ua,ja);c=f+c|0;d=$+e|0;d=c>>>0>>0?d+1|0:d;e=qe(H,A,ga,X);c=e+c|0;f=$+d|0;f=c>>>0>>0?f+1|0:f;e=qe(S,T,ma,Y);c=e+c|0;d=$+f|0;d=c>>>0>>0?d+1|0:d;e=qe(v,w,I,B);c=e+c|0;d=$+d|0;d=c>>>0>>0?d+1|0:d;f=qe(N,O,pa,Z);c=f+c|0;e=$+d|0;g=c;c=c>>>0>>0?e+1|0:e;d=qe(K,D,x,G);f=$;s=qe(y,z,o,fa);e=s+d|0;d=$+f|0;d=e>>>0>>0?d+1|0:d;f=e;e=L(i,19);s=e;Q=e>>31;i=qe(e,Q,l,ha);e=f+i|0;f=$+d|0;f=e>>>0>>0?f+1|0:f;i=qe(M,E,j,t);e=i+e|0;d=$+f|0;d=e>>>0>>0?d+1|0:d;f=qe(Aa,va,p,ia);e=f+e|0;d=$+d|0;d=e>>>0>>0?d+1|0:d;i=qe(H,A,ua,ja);f=i+e|0;e=$+d|0;e=f>>>0>>0?e+1|0:e;i=qe(ga,X,h,da);f=i+f|0;d=$+e|0;d=f>>>0>>0?d+1|0:d;i=qe(I,B,S,T);e=i+f|0;f=$+d|0;f=e>>>0>>0?f+1|0:f;i=qe(v,w,r,ea);e=i+e|0;d=$+f|0;d=e>>>0>>0?d+1|0:d;f=qe(N,O,J,C);e=f+e|0;d=$+d|0;la=e;i=e>>>0>>0?d+1|0:d;d=L(x,19);d=qe(d,d>>31,sa,ba);e=$;f=qe(y,z,K,D);d=f+d|0;e=$+e|0;e=d>>>0>>0?e+1|0:e;V=qe(M,E,s,Q);f=V+d|0;d=$+e|0;j=qe(j,t,ta,ca);e=j+f|0;f=$+(f>>>0>>0?d+1|0:d)|0;f=e>>>0>>0?f+1|0:f;j=qe(H,A,Aa,va);e=j+e|0;d=$+f|0;d=e>>>0>>0?d+1|0:d;f=qe(ma,Y,ua,ja);e=f+e|0;d=$+d|0;d=e>>>0>>0?d+1|0:d;j=qe(I,B,ga,X);f=j+e|0;e=$+d|0;e=f>>>0>>0?e+1|0:e;j=qe(S,T,pa,Z);f=j+f|0;d=$+e|0;d=f>>>0>>0?d+1|0:d;j=qe(v,w,J,C);e=j+f|0;f=$+d|0;f=e>>>0>>0?f+1|0:f;j=qe(N,O,qa,aa);e=j+e|0;d=$+f|0;d=e>>>0>>0?d+1|0:d;j=e;V=d;e=e+33554432|0;d=e>>>0<33554432?d+1|0:d;t=e;s=d;f=d>>26;Q=(d&67108863)<<6|e>>>26;d=Q+la|0;e=f+i|0;i=d;f=g;d=d>>>0>>0?e+1|0:e;e=i+16777216|0;d=e>>>0<16777216?d+1|0:d;Ea=e;g=(d&33554431)<<7|e>>>25;e=f+g|0;d=(d>>25)+c|0;d=e>>>0>>0?d+1|0:d;c=e+33554432|0;d=c>>>0<33554432?d+1|0:d;Q=c;c=d;d=Q&-67108864;F[k+8>>2]=e-d;g=k;d=qe(H,A,x,G);f=$;k=qe(y,z,p,ia);e=k+d|0;d=$+f|0;d=e>>>0>>0?d+1|0:d;f=qe(na,P,h,da);e=f+e|0;d=$+d|0;d=e>>>0>>0?d+1|0:d;f=qe(I,B,oa,R);e=f+e|0;d=$+d|0;d=e>>>0>>0?d+1|0:d;k=qe(wa,W,r,ea);e=k+e|0;f=$+d|0;f=e>>>0>>0?f+1|0:f;k=qe(J,C,xa,_);d=k+e|0;e=$+f|0;e=d>>>0>>0?e+1|0:e;k=qe(o,fa,ya,ra);f=k+d|0;d=$+e|0;d=f>>>0>>0?d+1|0:d;e=f;k=u;la=k>>31;f=qe(K,D,k,la);e=e+f|0;d=$+d|0;d=e>>>0>>0?d+1|0:d;f=qe(v,w,l,ha);e=f+e|0;d=$+d|0;d=e>>>0>>0?d+1|0:d;u=qe(N,O,M,E);e=u+e|0;f=$+d|0;f=e>>>0>>0?f+1|0:f;d=b>>26;u=(b&67108863)<<6|ka>>>26;b=u+e|0;e=d+f|0;e=b>>>0>>0?e+1|0:e;f=b;d=e;b=f+16777216|0;d=b>>>0<16777216?d+1|0:d;ka=b;b=d;d=ka&-33554432;F[g+28>>2]=f-d;u=g;d=qe(J,C,x,G);e=$;g=qe(y,z,r,ea);d=g+d|0;f=$+e|0;f=d>>>0>>0?f+1|0:f;g=qe(na,P,o,fa);d=g+d|0;e=$+f|0;e=d>>>0>>0?e+1|0:e;g=qe(K,D,oa,R);f=g+d|0;d=$+e|0;d=f>>>0>>0?d+1|0:d;e=f;f=qe(Aa,va,l,ha);e=e+f|0;d=$+d|0;d=e>>>0>>0?d+1|0:d;f=qe(M,E,ua,ja);e=f+e|0;d=$+d|0;d=e>>>0>>0?d+1|0:d;g=qe(ga,X,p,ia);e=g+e|0;f=$+d|0;f=e>>>0>>0?f+1|0:f;g=qe(H,A,S,T);d=g+e|0;e=$+f|0;e=d>>>0>>0?e+1|0:e;g=qe(v,w,h,da);f=g+d|0;d=$+e|0;d=f>>>0>>0?d+1|0:d;e=f;f=qe(N,O,I,B);e=e+f|0;d=$+d|0;d=e>>>0>>0?d+1|0:d;g=e;e=c>>26;f=(c&67108863)<<6|Q>>>26;c=g+f|0;d=d+e|0;d=c>>>0>>0?d+1|0:d;e=c;c=e+16777216|0;f=c>>>0<16777216?d+1|0:d;v=c;c=f;d=v&-33554432;F[u+12>>2]=e-d;d=qe(x,G,ta,ca);f=$;g=qe(y,z,M,E);e=g+d|0;d=$+f|0;d=e>>>0>>0?d+1|0:d;f=qe(H,A,na,P);e=f+e|0;d=$+d|0;d=e>>>0>>0?d+1|0:d;g=qe(oa,R,ma,Y);e=g+e|0;f=$+d|0;f=e>>>0>>0?f+1|0:f;g=qe(I,B,wa,W);d=g+e|0;e=$+f|0;e=d>>>0>>0?e+1|0:e;g=qe(pa,Z,xa,_);f=g+d|0;d=$+e|0;d=f>>>0>>0?d+1|0:d;e=f;f=qe(J,C,ya,ra);e=e+f|0;d=$+d|0;d=e>>>0>>0?d+1|0:d;f=qe(k,la,qa,aa);e=f+e|0;d=$+d|0;d=e>>>0>>0?d+1|0:d;g=q;w=g>>31;q=qe(K,D,g,w);e=q+e|0;f=$+d|0;f=e>>>0>>0?f+1|0:f;q=qe(N,O,sa,ba);d=q+e|0;e=$+f|0;e=d>>>0>>0?e+1|0:e;q=d;d=b>>25;f=(b&33554431)<<7|ka>>>25;b=q+f|0;d=d+e|0;d=b>>>0>>0?d+1|0:d;e=b;b=e+33554432|0;d=b>>>0<33554432?d+1|0:d;q=b;b=d;d=q&-67108864;F[u+32>>2]=e-d;d=n&-67108864;e=m-d|0;d=Ba-((d>>>0>m>>>0)+Ca|0)|0;f=e;e=c>>25;m=(c&33554431)<<7|v>>>25;c=f+m|0;d=d+e|0;d=c>>>0>>0?d+1|0:d;e=c+33554432|0;if(e>>>0<33554432){d=d+1|0}d=(U-(Da&-33554432)|0)+((d&67108863)<<6|e>>>26)|0;F[a+20>>2]=d;d=e&-67108864;F[a+16>>2]=c-d;d=qe(M,E,x,G);f=$;l=qe(y,z,l,ha);e=l+d|0;d=$+f|0;d=e>>>0>>0?d+1|0:d;l=qe(na,P,p,ia);f=l+e|0;e=$+d|0;e=f>>>0>>0?e+1|0:e;l=qe(H,A,oa,R);d=l+f|0;f=$+e|0;h=qe(wa,W,h,da);e=h+d|0;d=$+(d>>>0>>0?f+1|0:f)|0;d=e>>>0>>0?d+1|0:d;f=qe(I,B,xa,_);e=f+e|0;d=$+d|0;d=e>>>0>>0?d+1|0:d;f=qe(r,ea,ya,ra);e=f+e|0;d=$+d|0;d=e>>>0>>0?d+1|0:d;h=qe(J,C,k,la);f=h+e|0;e=$+d|0;e=f>>>0>>0?e+1|0:e;h=qe(g,w,o,fa);d=h+f|0;f=$+e|0;f=d>>>0>>0?f+1|0:f;h=qe(K,D,za,za>>31);e=h+d|0;d=$+f|0;d=e>>>0>>0?d+1|0:d;c=e;e=b>>26;f=(b&67108863)<<6|q>>>26;b=c+f|0;d=d+e|0;d=b>>>0>>0?d+1|0:d;c=b;b=c+16777216|0;d=b>>>0<16777216?d+1|0:d;e=b;b=e&-33554432;F[a+36>>2]=c-b;f=i-(Ea&-33554432)|0;b=t&-67108864;h=j-b|0;r=V-((b>>>0>j>>>0)+s|0)|0;b=d;d=d>>25;d=qe((b&33554431)<<7|e>>>25,d,19,0);b=d+h|0;e=$+r|0;e=b>>>0>>0?e+1|0:e;d=e;c=b+33554432|0;d=c>>>0<33554432?d+1|0:d;e=c;c=((d&67108863)<<6|e>>>26)+f|0;F[a+4>>2]=c;c=a;a=e&-67108864;F[c>>2]=b-a}function Oa(a,b){var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,G=0,H=0,I=0,J=0,K=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,aa=0,ba=0,ca=0,da=0,ea=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0;s=_-48|0;_=s;fa(a,b);fa(a+80|0,b+40|0);h=F[b+92>>2];c=h<<1;C=c;I=c>>31;l=F[b+84>>2];c=l<<1;D=c;t=c>>31;c=qe(C,I,c,t);f=$;d=c;m=F[b+88>>2];c=m;i=c>>31;ca=c;g=qe(c,i,c,i);d=d+g|0;c=$+f|0;c=d>>>0>>0?c+1|0:c;g=d;P=F[b+96>>2];d=P;G=d;J=d>>31;u=F[b+80>>2];d=u<<1;E=d;v=d>>31;f=qe(G,J,d,v);d=g+f|0;c=$+c|0;c=d>>>0>>0?c+1|0:c;j=d;f=F[b+108>>2];d=L(f,38);W=d;S=d>>31;H=f;da=f>>31;g=qe(d,S,f,da);d=j+g|0;c=$+c|0;c=d>>>0>>0?c+1|0:c;e=d;j=F[b+112>>2];d=L(j,19);K=d;M=d>>31;g=F[b+104>>2];d=g<<1;n=qe(K,M,d,d>>31);k=e+n|0;d=$+c|0;d=k>>>0>>0?d+1|0:d;e=k;o=F[b+116>>2];c=L(o,38);w=c;x=c>>31;k=F[b+100>>2];c=k<<1;T=c;Q=c>>31;n=qe(w,x,c,Q);c=e+n|0;d=$+d|0;d=c>>>0>>0?d+1|0:d;y=c<<1;c=d<<1|c>>>31;X=c;d=y+33554432|0;c=d>>>0<33554432?c+1|0:c;z=d;Y=c;d=c>>26;c=(c&67108863)<<6|z>>>26;p=d;d=qe(D,t,G,J);n=$;e=c;c=m<<1;U=c;R=c>>31;m=h;ea=h>>31;h=qe(c,R,h,ea);d=h+d|0;c=$+n|0;c=d>>>0>>0?c+1|0:c;n=k;Z=k>>31;A=qe(k,Z,E,v);h=A+d|0;d=$+c|0;d=h>>>0>>0?d+1|0:d;q=h;c=f<<1;ia=c;ga=c>>31;h=qe(K,M,c,ga);f=q+h|0;c=$+d|0;c=f>>>0>>0?c+1|0:c;d=f;h=g;N=g>>31;f=qe(w,x,g,N);d=d+f|0;c=$+c|0;c=d>>>0>>0?c+1|0:c;f=d;d=c<<1|d>>>31;f=f<<1;c=e+f|0;d=d+p|0;A=c;c=c>>>0>>0?d+1|0:d;d=A+16777216|0;c=d>>>0<16777216?c+1|0:c;la=d;f=d;d=c>>25;c=(c&33554431)<<7|f>>>25;f=d;d=qe(C,I,m,ea);p=$;q=c;e=qe(G,J,U,R);d=e+d|0;c=$+p|0;c=d>>>0>>0?c+1|0:c;p=qe(D,t,T,Q);d=p+d|0;c=$+c|0;c=d>>>0

    >>0?c+1|0:c;e=qe(E,v,g,N);p=e+d|0;d=$+c|0;d=e>>>0>p>>>0?d+1|0:d;c=p;p=j;aa=j>>31;e=qe(K,M,j,aa);j=c+e|0;c=$+d|0;c=e>>>0>j>>>0?c+1|0:c;e=qe(w,x,ia,ga);j=e+j|0;d=$+c|0;d=e>>>0>j>>>0?d+1|0:d;c=j;e=c<<1;j=q+e|0;c=(d<<1|c>>>31)+f|0;c=e>>>0>j>>>0?c+1|0:c;f=j;d=f;f=d+33554432|0;c=f>>>0<33554432?c+1|0:c;ba=f;f=c;c=ba&-67108864;F[a+144>>2]=d-c;j=a;c=L(k,38);c=qe(c,c>>31,k,Z);d=$;e=c;c=u;k=c>>31;k=qe(c,k,c,k);c=e+k|0;d=$+d|0;d=c>>>0>>0?d+1|0:d;e=c;c=L(g,19);q=c;B=c>>31;c=G<<1;ja=c;ha=c>>31;k=qe(q,B,c,ha);g=e+k|0;c=$+d|0;c=g>>>0>>0?c+1|0:c;d=g;g=qe(C,I,W,S);d=d+g|0;c=$+c|0;c=d>>>0>>0?c+1|0:c;k=qe(K,M,U,R);g=k+d|0;d=$+c|0;d=g>>>0>>0?d+1|0:d;k=qe(D,t,w,x);g=k+g|0;c=$+d|0;c=g>>>0>>0?c+1|0:c;d=g;k=d<<1;c=c<<1|d>>>31;O=c;d=c;c=k+33554432|0;d=c>>>0<33554432?d+1|0:d;u=c;P=d;c=d>>26;d=(d&67108863)<<6|u>>>26;g=c;c=qe(q,B,T,Q);r=$;V=d;e=l;ka=e>>31;l=qe(E,v,e,ka);d=l+c|0;c=$+r|0;c=d>>>0>>0?c+1|0:c;r=qe(G,J,W,S);l=r+d|0;d=$+c|0;d=l>>>0>>0?d+1|0:d;r=qe(K,M,C,I);l=r+l|0;c=$+d|0;c=l>>>0>>0?c+1|0:c;r=qe(w,x,ca,i);l=r+l|0;d=$+c|0;d=l>>>0>>0?d+1|0:d;c=l;r=c<<1;l=V+r|0;c=(d<<1|c>>>31)+g|0;c=l>>>0>>0?c+1|0:c;d=l+16777216|0;if(d>>>0<16777216){c=c+1|0}r=d;g=d;d=c>>25;c=(c&33554431)<<7|g>>>25;g=d;d=qe(E,v,ca,i);ma=$;V=c;e=qe(D,t,e,ka);d=e+d|0;c=$+ma|0;c=d>>>0>>0?c+1|0:c;q=qe(q,B,h,N);e=q+d|0;d=$+c|0;d=e>>>0>>0?d+1|0:d;q=qe(T,Q,W,S);e=q+e|0;c=$+d|0;c=e>>>0>>0?c+1|0:c;d=e;e=qe(K,M,ja,ha);d=d+e|0;c=$+c|0;c=d>>>0>>0?c+1|0:c;q=qe(w,x,C,I);e=q+d|0;d=$+c|0;d=e>>>0>>0?d+1|0:d;c=d<<1|e>>>31;e=e<<1;d=V+e|0;c=c+g|0;c=d>>>0>>0?c+1|0:c;e=d;d=c;c=e+33554432|0;d=c>>>0<33554432?d+1|0:d;q=c;g=d;c=c&-67108864;F[j+128>>2]=e-c;c=qe(U,R,n,Z);d=$;e=qe(G,J,C,I);c=e+c|0;d=$+d|0;d=c>>>0>>0?d+1|0:d;B=qe(D,t,h,N);e=B+c|0;c=$+d|0;c=e>>>0>>0?c+1|0:c;B=qe(E,v,H,da);e=B+e|0;d=$+c|0;d=e>>>0>>0?d+1|0:d;B=qe(w,x,p,aa);e=B+e|0;c=$+d|0;d=e;c=(d>>>0>>0?c+1|0:c)<<1|d>>>31;V=d<<1;d=f>>26;e=(f&67108863)<<6|ba>>>26;f=V+e|0;c=c+d|0;c=f>>>0>>0?c+1|0:c;e=f;d=c;c=f+16777216|0;d=c>>>0<16777216?d+1|0:d;ba=c;f=d;c=c&-33554432;F[j+148>>2]=e-c;c=qe(E,v,m,ea);m=$;i=qe(D,t,ca,i);d=i+c|0;c=$+m|0;c=d>>>0>>0?c+1|0:c;i=qe(h,N,W,S);d=i+d|0;c=$+c|0;c=d>>>0>>0?c+1|0:c;m=qe(K,M,T,Q);i=m+d|0;d=$+c|0;d=i>>>0>>0?d+1|0:d;c=i;i=qe(w,x,G,J);c=c+i|0;d=$+d|0;d=c>>>0>>0?d+1|0:d;i=c;c=d<<1|c>>>31;e=i<<1;d=g>>26;i=(g&67108863)<<6|q>>>26;g=e+i|0;c=c+d|0;c=g>>>0>>0?c+1|0:c;d=g;g=d+16777216|0;c=g>>>0<16777216?c+1|0:c;m=g;g=c;c=m&-33554432;F[j+132>>2]=d-c;c=qe(h,N,U,R);j=$;e=qe(G,J,G,J);d=e+c|0;c=$+j|0;c=d>>>0>>0?c+1|0:c;j=qe(C,I,T,Q);d=j+d|0;c=$+c|0;c=d>>>0>>0?c+1|0:c;j=qe(D,t,ia,ga);d=j+d|0;c=$+c|0;c=d>>>0>>0?c+1|0:c;e=qe(E,v,p,aa);j=e+d|0;d=$+c|0;d=e>>>0>j>>>0?d+1|0:d;c=j;j=o;e=j>>31;o=qe(w,x,j,e);c=c+o|0;d=$+d|0;d=c>>>0>>0?d+1|0:d;o=c;c=d<<1|c>>>31;i=o<<1;d=f>>25;o=(f&33554431)<<7|ba>>>25;f=i+o|0;c=c+d|0;c=f>>>0>>0?c+1|0:c;d=f;f=d+33554432|0;c=f>>>0<33554432?c+1|0:c;o=f;f=c;c=o&-67108864;F[a+152>>2]=d-c;A=A-(la&-33554432)|0;c=z&-67108864;d=y-c|0;y=X-((c>>>0>y>>>0)+Y|0)|0;c=g>>25;z=(g&33554431)<<7|m>>>25;g=z+d|0;d=c+y|0;d=g>>>0>>0?d+1|0:d;c=d;d=g+33554432|0;c=d>>>0<33554432?c+1|0:c;c=((c&67108863)<<6|d>>>26)+A|0;F[a+140>>2]=c;c=d&-67108864;F[a+136>>2]=g-c;c=qe(C,I,h,N);d=$;h=qe(n,Z,ja,ha);c=h+c|0;d=$+d|0;d=c>>>0>>0?d+1|0:d;i=qe(U,R,H,da);h=i+c|0;c=$+d|0;c=i>>>0>h>>>0?c+1|0:c;i=qe(D,t,p,aa);h=i+h|0;d=$+c|0;d=i>>>0>h>>>0?d+1|0:d;i=qe(E,v,j,e);h=i+h|0;c=$+d|0;d=h;c=(i>>>0>d>>>0?c+1|0:c)<<1|d>>>31;g=d<<1;d=f>>26;h=(f&67108863)<<6|o>>>26;f=g+h|0;c=c+d|0;c=f>>>0>>0?c+1|0:c;g=f;d=c;c=f+16777216|0;d=c>>>0<16777216?d+1|0:d;f=c&-33554432;F[a+156>>2]=g-f;i=qe((d&33554431)<<7|c>>>25,d>>25,19,0);h=u&-67108864;c=i+(k-h|0)|0;d=$+(O-((h>>>0>k>>>0)+P|0)|0)|0;d=c>>>0>>0?d+1|0:d;f=c+33554432|0;if(f>>>0<33554432){d=d+1|0}d=(l-(r&-33554432)|0)+((d&67108863)<<6|f>>>26)|0;F[a+124>>2]=d;d=f&-67108864;F[a+120>>2]=c-d;c=F[b+44>>2];d=F[b+48>>2];f=F[b+52>>2];g=F[b+56>>2];h=F[b+60>>2];i=F[b- -64>>2];k=F[b+68>>2];n=F[b+72>>2];p=F[b+40>>2];l=F[b>>2];u=F[b+4>>2];H=F[b+8>>2];j=F[b+12>>2];o=F[b+16>>2];y=F[b+20>>2];z=F[b+24>>2];m=F[b+28>>2];A=F[b+32>>2];F[a+76>>2]=F[b+76>>2]+F[b+36>>2];F[a+72>>2]=n+A;F[a+68>>2]=k+m;A=a- -64|0;F[A>>2]=i+z;F[a+60>>2]=h+y;F[a+56>>2]=g+o;F[a+52>>2]=f+j;F[a+48>>2]=d+H;F[a+44>>2]=c+u;F[a+40>>2]=l+p;fa(s,a+40|0);b=F[a+84>>2];c=F[a+88>>2];d=F[a+92>>2];f=F[a+96>>2];g=F[a+100>>2];h=F[a+104>>2];i=F[a+108>>2];k=F[a+112>>2];n=F[a>>2];p=F[a+80>>2];l=F[a+4>>2];u=F[a+8>>2];H=F[a+12>>2];j=F[a+16>>2];o=F[a+20>>2];y=F[a+24>>2];z=F[a+28>>2];m=F[a+32>>2];O=F[a+116>>2];X=F[a+36>>2];Y=O-X|0;F[a+116>>2]=Y;P=k-m|0;F[a+112>>2]=P;e=i-z|0;F[a+108>>2]=e;D=h-y|0;F[a+104>>2]=D;t=g-o|0;F[a+100>>2]=t;E=f-j|0;F[a+96>>2]=E;v=d-H|0;F[a+92>>2]=v;w=c-u|0;F[a+88>>2]=w;x=b-l|0;F[a+84>>2]=x;C=p-n|0;F[a+80>>2]=C;O=O+X|0;F[a+76>>2]=O;k=k+m|0;F[a+72>>2]=k;i=i+z|0;F[a+68>>2]=i;h=h+y|0;F[A>>2]=h;g=g+o|0;F[a+60>>2]=g;f=f+j|0;F[a+56>>2]=f;d=d+H|0;F[a+52>>2]=d;c=c+u|0;F[a+48>>2]=c;b=b+l|0;F[a+44>>2]=b;n=n+p|0;F[a+40>>2]=n;p=F[s>>2];l=F[s+4>>2];u=F[s+8>>2];H=F[s+12>>2];j=F[s+16>>2];o=F[s+20>>2];y=F[s+24>>2];z=F[s+28>>2];m=F[s+32>>2];F[a+36>>2]=F[s+36>>2]-O;F[a+32>>2]=m-k;F[a+28>>2]=z-i;F[a+24>>2]=y-h;F[a+20>>2]=o-g;F[a+16>>2]=j-f;F[a+12>>2]=H-d;F[a+8>>2]=u-c;F[a+4>>2]=l-b;F[a>>2]=p-n;b=F[a+124>>2];c=F[a+128>>2];d=F[a+132>>2];f=F[a+136>>2];g=F[a+140>>2];h=F[a+144>>2];i=F[a+148>>2];k=F[a+152>>2];n=F[a+120>>2];F[a+156>>2]=F[a+156>>2]-Y;F[a+152>>2]=k-P;F[a+148>>2]=i-e;F[a+144>>2]=h-D;F[a+140>>2]=g-t;F[a+136>>2]=f-E;F[a+132>>2]=d-v;F[a+128>>2]=c-w;F[a+124>>2]=b-x;F[a+120>>2]=n-C;_=s+48|0}function Aa(a,b,c,d,e,f,g,h){var i=0,j=0,k=0,l=0,m=0;i=_-432|0;_=i;j=i- -64|0;F[j>>2]=0;F[j+4>>2]=0;F[i+72>>2]=0;F[i+76>>2]=0;F[i+80>>2]=0;F[i+84>>2]=0;F[i+88>>2]=0;F[i+92>>2]=0;F[i+96>>2]=0;F[i+100>>2]=0;F[i+104>>2]=0;F[i+108>>2]=0;F[i+48>>2]=0;F[i+52>>2]=0;F[i+56>>2]=0;F[i+60>>2]=0;D[i+15|0]=1;j=c?c:1824;d=c?d:32;a:{if(d>>>0>=65){c=i+224|0;F[c+80>>2]=1779033703;F[c+84>>2]=-1150833019;F[c+72>>2]=0;F[c+76>>2]=0;F[c+64>>2]=0;F[c+104>>2]=528734635;F[c+108>>2]=1541459225;F[c+96>>2]=1359893119;F[c+100>>2]=-1694144372;F[c+88>>2]=1013904242;F[c+92>>2]=-1521486534;pa(c,j,d);Ba(c,i+48|0);break a}ja(i+48|0,j,d)}c=F[i+108>>2];F[i+280>>2]=F[i+104>>2];F[i+284>>2]=c;c=F[i+100>>2];F[i+272>>2]=F[i+96>>2];F[i+276>>2]=c;c=F[i+92>>2];F[i+264>>2]=F[i+88>>2];F[i+268>>2]=c;c=F[i+84>>2];F[i+256>>2]=F[i+80>>2];F[i+260>>2]=c;c=F[i+76>>2];F[i+248>>2]=F[i+72>>2];F[i+252>>2]=c;c=i- -64|0;d=F[c+4>>2];F[i+240>>2]=F[c>>2];F[i+244>>2]=d;c=F[i+60>>2];F[i+232>>2]=F[i+56>>2];F[i+236>>2]=c;c=F[i+52>>2];F[i+224>>2]=F[i+48>>2];F[i+228>>2]=c;c=0;while(1){d=i+224|0;j=d+c|0;D[j|0]=G[j|0]^54;j=d+(c|1)|0;D[j|0]=G[j|0]^54;j=d+(c|2)|0;D[j|0]=G[j|0]^54;d=d+(c|3)|0;D[d|0]=G[d|0]^54;c=c+4|0;if((c|0)!=64){continue}break}c=i+112|0;F[c+80>>2]=1779033703;F[c+84>>2]=-1150833019;F[c+72>>2]=0;F[c+76>>2]=0;F[c+64>>2]=0;F[c+104>>2]=528734635;F[c+108>>2]=1541459225;F[c+96>>2]=1359893119;F[c+100>>2]=-1694144372;F[c+88>>2]=1013904242;F[c+92>>2]=-1521486534;d=i+224|0;pa(c,d,64);ia(d,64);pa(c,a,b);a=F[i+108>>2];F[i+392>>2]=F[i+104>>2];F[i+396>>2]=a;a=F[i+100>>2];F[i+384>>2]=F[i+96>>2];F[i+388>>2]=a;a=F[i+92>>2];F[i+376>>2]=F[i+88>>2];F[i+380>>2]=a;a=F[i+84>>2];F[i+368>>2]=F[i+80>>2];F[i+372>>2]=a;a=F[i+76>>2];F[i+360>>2]=F[i+72>>2];F[i+364>>2]=a;a=i- -64|0;b=F[a+4>>2];F[i+352>>2]=F[a>>2];F[i+356>>2]=b;a=F[i+60>>2];F[i+344>>2]=F[i+56>>2];F[i+348>>2]=a;a=F[i+52>>2];F[i+336>>2]=F[i+48>>2];F[i+340>>2]=a;c=0;while(1){a=i+336|0;b=a+c|0;D[b|0]=G[b|0]^92;b=a+(c|1)|0;D[b|0]=G[b|0]^92;b=a+(c|2)|0;D[b|0]=G[b|0]^92;a=a+(c|3)|0;D[a|0]=G[a|0]^92;c=c+4|0;if((c|0)!=64){continue}break}Ba(i+112|0,i+400|0);a=i+224|0;F[a+80>>2]=1779033703;F[a+84>>2]=-1150833019;F[a+72>>2]=0;F[a+76>>2]=0;F[a+64>>2]=0;F[a+104>>2]=528734635;F[a+108>>2]=1541459225;F[a+96>>2]=1359893119;F[a+100>>2]=-1694144372;F[a+88>>2]=1013904242;F[a+92>>2]=-1521486534;b=i+336|0;pa(a,b,96);Ba(a,i+16|0);ia(a,112);ia(b,96);F[i+80>>2]=0;F[i+84>>2]=0;F[i+88>>2]=0;F[i+92>>2]=0;F[i+96>>2]=0;F[i+100>>2]=0;F[i+104>>2]=0;F[i+108>>2]=0;a=F[i+44>>2];j=F[i+40>>2];F[i+72>>2]=j;F[i+76>>2]=a;b=F[i+36>>2];c=i- -64|0;k=F[i+32>>2];F[c>>2]=k;F[c+4>>2]=b;c=F[i+20>>2];l=F[i+16>>2];F[i+48>>2]=l;F[i+52>>2]=c;d=F[i+28>>2];m=F[i+24>>2];F[i+56>>2]=m;F[i+60>>2]=d;F[i+280>>2]=0;F[i+284>>2]=0;F[i+272>>2]=0;F[i+276>>2]=0;F[i+264>>2]=0;F[i+268>>2]=0;F[i+256>>2]=0;F[i+260>>2]=0;F[i+248>>2]=j;F[i+252>>2]=a;F[i+240>>2]=k;F[i+244>>2]=b;F[i+232>>2]=m;F[i+236>>2]=d;F[i+224>>2]=l;F[i+228>>2]=c;c=0;while(1){a=i+224|0;b=a+c|0;D[b|0]=G[b|0]^54;b=a+(c|1)|0;D[b|0]=G[b|0]^54;b=a+(c|2)|0;D[b|0]=G[b|0]^54;a=a+(c|3)|0;D[a|0]=G[a|0]^54;c=c+4|0;if((c|0)!=64){continue}break}a=i+112|0;F[a+80>>2]=1779033703;F[a+84>>2]=-1150833019;F[a+72>>2]=0;F[a+76>>2]=0;F[a+64>>2]=0;F[a+104>>2]=528734635;F[a+108>>2]=1541459225;F[a+96>>2]=1359893119;F[a+100>>2]=-1694144372;F[a+88>>2]=1013904242;F[a+92>>2]=-1521486534;b=i+224|0;pa(a,b,64);ia(b,64);pa(a,e,f);pa(a,i+15|0,1);a=F[i+108>>2];F[i+392>>2]=F[i+104>>2];F[i+396>>2]=a;a=F[i+100>>2];F[i+384>>2]=F[i+96>>2];F[i+388>>2]=a;a=F[i+92>>2];F[i+376>>2]=F[i+88>>2];F[i+380>>2]=a;a=F[i+84>>2];F[i+368>>2]=F[i+80>>2];F[i+372>>2]=a;a=F[i+76>>2];F[i+360>>2]=F[i+72>>2];F[i+364>>2]=a;a=i- -64|0;b=F[a+4>>2];F[i+352>>2]=F[a>>2];F[i+356>>2]=b;a=F[i+60>>2];F[i+344>>2]=F[i+56>>2];F[i+348>>2]=a;a=F[i+52>>2];F[i+336>>2]=F[i+48>>2];F[i+340>>2]=a;c=0;while(1){a=i+336|0;b=a+c|0;D[b|0]=G[b|0]^92;b=a+(c|1)|0;D[b|0]=G[b|0]^92;b=a+(c|2)|0;D[b|0]=G[b|0]^92;a=a+(c|3)|0;D[a|0]=G[a|0]^92;c=c+4|0;if((c|0)!=64){continue}break}d=i+400|0;Ba(i+112|0,d);a=i+224|0;F[a+80>>2]=1779033703;F[a+84>>2]=-1150833019;F[a+72>>2]=0;F[a+76>>2]=0;F[a+64>>2]=0;F[a+104>>2]=528734635;F[a+108>>2]=1541459225;F[a+96>>2]=1359893119;F[a+100>>2]=-1694144372;F[a+88>>2]=1013904242;F[a+92>>2]=-1521486534;b=i+336|0;pa(a,b,96);Ba(a,i+16|0);ia(a,112);ia(b,96);if(h>>>0>=33){while(1){a=F[i+20>>2];b=F[i+16>>2];D[g|0]=b;D[g+1|0]=b>>>8;D[g+2|0]=b>>>16;D[g+3|0]=b>>>24;D[g+4|0]=a;D[g+5|0]=a>>>8;D[g+6|0]=a>>>16;D[g+7|0]=a>>>24;a=F[i+28>>2];b=F[i+24>>2];D[g+8|0]=b;D[g+9|0]=b>>>8;D[g+10|0]=b>>>16;D[g+11|0]=b>>>24;D[g+12|0]=a;D[g+13|0]=a>>>8;D[g+14|0]=a>>>16;D[g+15|0]=a>>>24;a=F[i+44>>2];b=F[i+40>>2];D[g+24|0]=b;D[g+25|0]=b>>>8;D[g+26|0]=b>>>16;D[g+27|0]=b>>>24;D[g+28|0]=a;D[g+29|0]=a>>>8;D[g+30|0]=a>>>16;D[g+31|0]=a>>>24;a=F[i+36>>2];b=F[i+32>>2];D[g+16|0]=b;D[g+17|0]=b>>>8;D[g+18|0]=b>>>16;D[g+19|0]=b>>>24;D[g+20|0]=a;D[g+21|0]=a>>>8;D[g+22|0]=a>>>16;D[g+23|0]=a>>>24;D[i+15|0]=G[i+15|0]+1;a=F[i+108>>2];F[i+280>>2]=F[i+104>>2];F[i+284>>2]=a;a=F[i+100>>2];F[i+272>>2]=F[i+96>>2];F[i+276>>2]=a;a=F[i+92>>2];F[i+264>>2]=F[i+88>>2];F[i+268>>2]=a;a=F[i+84>>2];F[i+256>>2]=F[i+80>>2];F[i+260>>2]=a;a=F[i+76>>2];F[i+248>>2]=F[i+72>>2];F[i+252>>2]=a;b=i- -64|0;a=F[b+4>>2];F[i+240>>2]=F[b>>2];F[i+244>>2]=a;a=F[i+60>>2];F[i+232>>2]=F[i+56>>2];F[i+236>>2]=a;a=F[i+52>>2];F[i+224>>2]=F[i+48>>2];F[i+228>>2]=a;g=g+32|0;c=0;while(1){a=i+224|0;j=a+c|0;D[j|0]=G[j|0]^54;j=a+(c|1)|0;D[j|0]=G[j|0]^54;j=a+(c|2)|0;D[j|0]=G[j|0]^54;a=a+(c|3)|0;D[a|0]=G[a|0]^54;c=c+4|0;if((c|0)!=64){continue}break}a=i+112|0;F[a+80>>2]=1779033703;F[a+84>>2]=-1150833019;F[a+72>>2]=0;F[a+76>>2]=0;F[a+64>>2]=0;F[a+104>>2]=528734635;F[a+108>>2]=1541459225;F[a+96>>2]=1359893119;F[a+100>>2]=-1694144372;F[a+88>>2]=1013904242;F[a+92>>2]=-1521486534;c=i+224|0;pa(a,c,64);ia(c,64);pa(a,i+16|0,32);pa(a,e,f);pa(a,i+15|0,1);a=F[i+108>>2];F[i+392>>2]=F[i+104>>2];F[i+396>>2]=a;a=F[i+100>>2];F[i+384>>2]=F[i+96>>2];F[i+388>>2]=a;a=F[i+92>>2];F[i+376>>2]=F[i+88>>2];F[i+380>>2]=a;a=F[i+84>>2];F[i+368>>2]=F[i+80>>2];F[i+372>>2]=a;a=F[i+76>>2];F[i+360>>2]=F[i+72>>2];F[i+364>>2]=a;a=F[b+4>>2];F[i+352>>2]=F[b>>2];F[i+356>>2]=a;a=F[i+60>>2];F[i+344>>2]=F[i+56>>2];F[i+348>>2]=a;a=F[i+52>>2];F[i+336>>2]=F[i+48>>2];F[i+340>>2]=a;c=0;while(1){a=i+336|0;b=a+c|0;D[b|0]=G[b|0]^92;b=a+(c|1)|0;D[b|0]=G[b|0]^92;b=a+(c|2)|0;D[b|0]=G[b|0]^92;a=a+(c|3)|0;D[a|0]=G[a|0]^92;c=c+4|0;if((c|0)!=64){continue}break}Ba(i+112|0,d);a=i+224|0;F[a+80>>2]=1779033703;F[a+84>>2]=-1150833019;F[a+72>>2]=0;F[a+76>>2]=0;F[a+64>>2]=0;F[a+104>>2]=528734635;F[a+108>>2]=1541459225;F[a+96>>2]=1359893119;F[a+100>>2]=-1694144372;F[a+88>>2]=1013904242;F[a+92>>2]=-1521486534;b=i+336|0;pa(a,b,96);Ba(a,i+16|0);ia(a,112);ia(b,96);h=h-32|0;if(h>>>0>32){continue}break}}a=i+16|0;ja(g,a,h);ia(i+112|0,112);ia(i+48|0,64);ia(a,32);_=i+432|0}function ta(a,b){var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,H=0;B=_-640|0;_=B;c=a- -64|0;i=F[c>>2];l=F[c+4>>2];w=F[a+56>>2];f=F[a+60>>2];r=F[a+48>>2];n=F[a+52>>2];p=F[a+40>>2];h=F[a+44>>2];t=F[a+32>>2];m=F[a+36>>2];s=F[a+24>>2];k=F[a+28>>2];o=F[a+16>>2];u=F[a+20>>2];e=F[a+8>>2];q=F[a+12>>2];while(1){c=x<<3;v=c+B|0;c=b+c|0;d=G[c+4|0]|G[c+5|0]<<8|(G[c+6|0]<<16|G[c+7|0]<<24);j=G[c|0]|G[c+1|0]<<8|(G[c+2|0]<<16|G[c+3|0]<<24);y=j<<24|j<<8&16711680;c=d<<24|j>>>8;A=c&65280;c=d<<8|j>>>24;y=c&255|A|y;c=d;F[v>>2]=((c&255)<<24|j>>>8)&-16777216|((c&16777215)<<8|j>>>24)&16711680|(c>>>8&65280|c>>>24)|g;F[v+4>>2]=y;x=x+1|0;if((x|0)!=16){continue}break}b=16;j=F[B>>2];g=j;z=F[B+4>>2];d=z;while(1){x=(b<<3)+B|0;v=x;y=d;c=v-56|0;d=F[c>>2];C=F[c+4>>2];A=v-16|0;c=F[A+4>>2];A=F[A>>2];D=te(A,c,45);H=$;E=g;x=d;g=te(A,c,3)^D;d=c;c=c>>>6|0;g=g^((d&63)<<26|A>>>6);d=x+g|0;c=(c^($^H))+C|0;c=d>>>0>>0?c+1|0:c;g=d;d=E+d|0;c=c+y|0;A=d;y=d>>>0>>0?c+1|0:c;d=v-120|0;c=F[d+4>>2];g=F[d>>2];d=te(g,c,63);x=$;E=d;d=c;C=E^te(g,c,56);D=$^x;x=v;v=A;c=c>>>7|0;A=((d&127)<<25|g>>>7)^C;v=v+A|0;c=(c^D)+y|0;F[x>>2]=v;F[x+4>>2]=v>>>0>>0?c+1|0:c;b=b+1|0;if((b|0)!=80){continue}break}b=0;while(1){x=b<<3;c=x+32800|0;d=F[c>>2];v=F[c+4>>2];c=te(p,h,50);y=$;c=te(p,h,46)^c;y=$^y;g=d;d=i+(te(p,h,23)^c)|0;c=l+($^y)|0;c=d>>>0>>0?c+1|0:c;i=d;d=g+d|0;c=c+v|0;c=d>>>0>>0?c+1|0:c;d=d+j|0;c=c+z|0;c=d>>>0>>0?c+1|0:c;i=w^p&(r^w);d=i+d|0;c=(f^h&(f^n))+c|0;c=d>>>0>>0?c+1|0:c;i=d;d=te(e,q,36);l=$;d=te(e,q,30)^d;j=$^l;v=te(e,q,25)^d;l=v+i|0;d=c;c=c+($^j)|0;c=l>>>0>>0?c+1|0:c;j=s&(e|o)|e&o;l=j+l|0;c=(k&(q|u)|q&u)+c|0;y=l;c=j>>>0>l>>>0?c+1|0:c;l=te(l,c,36);v=$;j=c;l=te(y,c,30)^l;v=$^v;g=o&(e|y)|e&y;l=g+(te(y,c,25)^l)|0;c=(u&(c|q)|c&q)+($^v)|0;v=l;l=l>>>0>>0?c+1|0:c;g=x|8;c=g+32800|0;z=F[c>>2];A=F[c+4>>2];c=d+m|0;i=i+t|0;c=i>>>0>>0?c+1|0:c;t=i;d=w+(r^i&(p^r))|0;i=c;c=f+(n^c&(h^n))|0;c=d>>>0>>0?c+1|0:c;w=d;d=d+z|0;c=c+A|0;c=d>>>0>>0?c+1|0:c;w=te(t,i,50);f=$;w=te(t,i,46)^w;f=$^f;m=v;w=te(t,i,23)^w;d=w+d|0;c=($^f)+c|0;c=d>>>0>>0?c+1|0:c;w=g+B|0;f=F[w>>2];d=f+d|0;c=F[w+4>>2]+c|0;c=d>>>0>>0?c+1|0:c;v=d;w=d;d=m+d|0;g=l;l=c;c=g+c|0;c=d>>>0>>0?c+1|0:c;w=te(d,c,36);f=$;g=w;w=c;m=g^te(d,c,30);g=$^f;f=te(d,c,25)^m;m=e&(d|y)|d&y;f=f+m|0;c=(q&(c|j)|c&j)+($^g)|0;g=f;f=f>>>0>>0?c+1|0:c;z=x|16;c=z+32800|0;m=r+F[c>>2]|0;c=n+F[c+4>>2]|0;c=m>>>0>>0?c+1|0:c;r=m;n=z+B|0;m=F[n>>2];r=r+m|0;c=F[n+4>>2]+c|0;n=r;r=m>>>0>n>>>0?c+1|0:c;A=n;c=l+k|0;n=s+v|0;c=n>>>0>>0?c+1|0:c;s=n;m=p^n&(p^t);n=A+m|0;l=c;c=(h^c&(h^i))+r|0;c=m>>>0>n>>>0?c+1|0:c;r=n;n=te(s,l,50);m=$;n=te(s,l,46)^n;m=$^m;n=te(s,l,23)^n;r=n+r|0;c=($^m)+c|0;c=r>>>0>>0?c+1|0:c;v=r;n=r;r=n+g|0;g=f;f=c;c=g+c|0;c=r>>>0>>0?c+1|0:c;n=te(r,c,36);m=$;g=n;n=c;k=g^te(r,c,30);g=$^m;m=te(r,c,25)^k;k=y&(d|r)|d&r;m=m+k|0;c=(j&(c|w)|c&w)+($^g)|0;g=m;m=k>>>0>g>>>0?c+1|0:c;z=x|24;c=z+32800|0;k=p+F[c>>2]|0;c=h+F[c+4>>2]|0;c=k>>>0

    >>0?c+1|0:c;p=k;h=z+B|0;k=F[h>>2];p=p+k|0;c=F[h+4>>2]+c|0;h=p;p=k>>>0>h>>>0?c+1|0:c;A=h;c=f+u|0;h=o+v|0;c=h>>>0>>0?c+1|0:c;k=t^h&(t^s);f=A+k|0;o=c;c=(i^c&(i^l))+p|0;c=f>>>0>>0?c+1|0:c;p=f;f=te(h,o,50);k=$;f=te(h,o,46)^f;k=$^k;f=te(h,o,23)^f;p=f+p|0;c=($^k)+c|0;c=f>>>0>p>>>0?c+1|0:c;u=p;k=p;p=k+g|0;f=c;c=c+m|0;c=k>>>0>p>>>0?c+1|0:c;m=te(p,c,36);k=$;v=c;m=te(p,c,30)^m;k=$^k;g=d&(p|r)|p&r;m=g+(te(p,c,25)^m)|0;c=(w&(c|n)|c&n)+($^k)|0;c=m>>>0>>0?c+1|0:c;g=m;m=c;z=x|32;c=z+32800|0;k=t+F[c>>2]|0;c=i+F[c+4>>2]|0;c=k>>>0>>0?c+1|0:c;t=k;i=z+B|0;k=F[i>>2];t=t+k|0;c=F[i+4>>2]+c|0;i=t;t=k>>>0>i>>>0?c+1|0:c;k=i;c=f+q|0;i=e+u|0;c=i>>>0>>0?c+1|0:c;e=i;f=s^e&(h^s);i=k+f|0;q=c;c=(l^c&(l^o))+t|0;c=f>>>0>i>>>0?c+1|0:c;t=i;i=te(e,q,50);f=$;i=te(e,q,46)^i;f=$^f;i=te(e,q,23)^i;t=i+t|0;c=($^f)+c|0;c=i>>>0>t>>>0?c+1|0:c;i=t;t=i+g|0;f=c;c=c+m|0;c=i>>>0>t>>>0?c+1|0:c;m=te(t,c,36);k=$;g=m;m=c;u=g^te(t,c,30);g=$^k;k=te(t,c,25)^u;u=r&(p|t)|p&t;k=k+u|0;c=(n&(c|v)|c&v)+($^g)|0;g=k;k=k>>>0>>0?c+1|0:c;z=x|40;c=z+32800|0;u=s+F[c>>2]|0;c=l+F[c+4>>2]|0;c=s>>>0>u>>>0?c+1|0:c;s=u;l=z+B|0;u=F[l>>2];s=s+u|0;c=F[l+4>>2]+c|0;l=s;s=l>>>0>>0?c+1|0:c;u=l;c=f+j|0;l=i+y|0;c=l>>>0>>0?c+1|0:c;i=l;j=h^i&(e^h);f=u+j|0;l=c;c=(o^c&(o^q))+s|0;c=f>>>0>>0?c+1|0:c;s=f;f=te(i,l,50);j=$;f=te(i,l,46)^f;j=$^j;f=te(i,l,23)^f;s=f+s|0;c=($^j)+c|0;c=f>>>0>s>>>0?c+1|0:c;y=s;j=s;s=j+g|0;f=c;c=c+k|0;c=j>>>0>s>>>0?c+1|0:c;j=te(s,c,36);u=$;k=c;j=te(s,c,30)^j;u=$^u;g=p&(t|s)|t&s;j=g+(te(s,c,25)^j)|0;c=(v&(c|m)|c&m)+($^u)|0;c=j>>>0>>0?c+1|0:c;g=j;j=c;z=x|48;c=z+32800|0;u=h+F[c>>2]|0;c=o+F[c+4>>2]|0;c=h>>>0>u>>>0?c+1|0:c;h=u;o=z+B|0;u=F[o>>2];h=h+u|0;c=F[o+4>>2]+c|0;o=h;h=h>>>0>>0?c+1|0:c;u=o;c=f+w|0;o=d+y|0;c=o>>>0>>0?c+1|0:c;w=o;o=e^o&(e^i);d=u+o|0;f=c;c=(q^c&(l^q))+h|0;c=d>>>0>>0?c+1|0:c;h=te(w,f,50);o=$;h=te(w,f,46)^h;o=$^o;h=te(w,f,23)^h;d=h+d|0;c=($^o)+c|0;c=d>>>0>>0?c+1|0:c;y=d;o=d;h=d+g|0;d=c;c=c+j|0;c=h>>>0>>0?c+1|0:c;o=h;h=te(h,c,36);j=$;u=c;h=te(o,c,30)^h;j=$^j;g=t&(s|o)|s&o;h=g+(te(o,c,25)^h)|0;c=(m&(c|k)|c&k)+($^j)|0;c=h>>>0>>0?c+1|0:c;g=h;h=c;x=x|56;c=x+32800|0;j=e+F[c>>2]|0;c=q+F[c+4>>2]|0;c=e>>>0>j>>>0?c+1|0:c;e=j;q=x+B|0;j=F[q>>2];e=e+j|0;c=F[q+4>>2]+c|0;q=e;e=e>>>0>>0?c+1|0:c;j=q;c=d+n|0;q=r+y|0;c=q>>>0>>0?c+1|0:c;r=q;q=i^q&(i^w);d=j+q|0;n=c;c=(l^c&(f^l))+e|0;c=d>>>0>>0?c+1|0:c;e=te(r,n,50);q=$;e=te(r,n,46)^e;q=$^q;e=te(r,n,23)^e;d=e+d|0;c=($^q)+c|0;c=d>>>0>>0?c+1|0:c;j=d;e=d+g|0;d=c;c=c+h|0;c=e>>>0>>0?c+1|0:c;q=c;c=d+v|0;h=j+p|0;c=h>>>0

    >>0?c+1|0:c;p=h;h=c;if(b>>>0<=71){b=b+8|0;c=(b<<3)+B|0;j=F[c>>2];z=F[c+4>>2];continue}break}c=F[a+12>>2]+q|0;b=e;e=F[a+8>>2];d=b+e|0;F[a+8>>2]=d;F[a+12>>2]=d>>>0>>0?c+1|0:c;c=F[a+20>>2]+u|0;e=F[a+16>>2];d=e+o|0;F[a+16>>2]=d;F[a+20>>2]=d>>>0>>0?c+1|0:c;c=F[a+28>>2]+k|0;e=F[a+24>>2];d=e+s|0;F[a+24>>2]=d;F[a+28>>2]=d>>>0>>0?c+1|0:c;c=F[a+36>>2]+m|0;e=F[a+32>>2];d=e+t|0;F[a+32>>2]=d;F[a+36>>2]=d>>>0>>0?c+1|0:c;c=F[a+44>>2]+h|0;e=F[a+40>>2];d=e+p|0;F[a+40>>2]=d;F[a+44>>2]=d>>>0>>0?c+1|0:c;c=F[a+52>>2]+n|0;e=F[a+48>>2];d=e+r|0;F[a+48>>2]=d;F[a+52>>2]=d>>>0>>0?c+1|0:c;c=F[a+60>>2]+f|0;e=F[a+56>>2];d=e+w|0;F[a+56>>2]=d;F[a+60>>2]=d>>>0>>0?c+1|0:c;c=F[a+68>>2]+l|0;e=F[a+64>>2];d=e+i|0;F[a+64>>2]=d;F[a+68>>2]=d>>>0>>0?c+1|0:c;_=B+640|0}function Vd(a,b,c,d,e,f,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;m=xb(a,c);i=m+2|0;h=(i>>>0)/3|0;if(((i-L(h,3)|0)+(h<<2)|0)-2>>>0>g>>>0){F[a+3216>>2]=2;return-1}g=b;n=d;p=e;e=m+2|0;b=(e>>>0)/3|0;j=((((e-L(b,3)|0)+(b<<2)|0)-2|0)+f|0)-m|0;k=_-16|0;_=k;o=c;b=db(a,c);if(!G[a+3220|0]){b=Ib(b)}a:{b:{if(b>>>0>m>>>0){F[a+3216>>2]=2;break b}c=db(a,o);e=a;if(!G[a+3220|0]){D[j+1|0]=10;D[j|0]=3;a=j+2|0;D[a|0]=32;a=a+1|0;F[k+8>>2]=a;a=a+32|0;D[a|0]=18;a=a+1|0;D[a|0]=32;a=a+1|0;F[k+4>>2]=a;a=a+32|0;D[a|0]=26;a=a+1|0;D[a|0]=32;a=a+1|0;F[k>>2]=a;a=a+32|0;D[a|0]=34;j=a+1|0;a=c;c:{if(a>>>0<128){b=a;break c}while(1){D[j|0]=a|128;j=j+1|0;h=a>>>0>16383;b=a>>>7|0;a=b;if(h){continue}break}}D[j|0]=b;F[k+12>>2]=j+1;b=G[e+3289|0]|G[e+3290|0]<<8|(G[e+3291|0]<<16|G[e+3292|0]<<24);a=F[k+8>>2];h=G[e+3285|0]|G[e+3286|0]<<8|(G[e+3287|0]<<16|G[e+3288|0]<<24);D[a|0]=h;D[a+1|0]=h>>>8;D[a+2|0]=h>>>16;D[a+3|0]=h>>>24;D[a+4|0]=b;D[a+5|0]=b>>>8;D[a+6|0]=b>>>16;D[a+7|0]=b>>>24;b=e+3309|0;h=G[b+4|0]|G[b+5|0]<<8|(G[b+6|0]<<16|G[b+7|0]<<24);b=G[b|0]|G[b+1|0]<<8|(G[b+2|0]<<16|G[b+3|0]<<24);D[a+24|0]=b;D[a+25|0]=b>>>8;D[a+26|0]=b>>>16;D[a+27|0]=b>>>24;D[a+28|0]=h;D[a+29|0]=h>>>8;D[a+30|0]=h>>>16;D[a+31|0]=h>>>24;b=e+3301|0;h=G[b+4|0]|G[b+5|0]<<8|(G[b+6|0]<<16|G[b+7|0]<<24);b=G[b|0]|G[b+1|0]<<8|(G[b+2|0]<<16|G[b+3|0]<<24);D[a+16|0]=b;D[a+17|0]=b>>>8;D[a+18|0]=b>>>16;D[a+19|0]=b>>>24;D[a+20|0]=h;D[a+21|0]=h>>>8;D[a+22|0]=h>>>16;D[a+23|0]=h>>>24;b=e+3293|0;h=G[b+4|0]|G[b+5|0]<<8|(G[b+6|0]<<16|G[b+7|0]<<24);b=G[b|0]|G[b+1|0]<<8|(G[b+2|0]<<16|G[b+3|0]<<24);D[a+8|0]=b;D[a+9|0]=b>>>8;D[a+10|0]=b>>>16;D[a+11|0]=b>>>24;D[a+12|0]=h;D[a+13|0]=h>>>8;D[a+14|0]=h>>>16;D[a+15|0]=h>>>24;b=G[e+3225|0]|G[e+3226|0]<<8|(G[e+3227|0]<<16|G[e+3228|0]<<24);a=F[k>>2];h=G[e+3221|0]|G[e+3222|0]<<8|(G[e+3223|0]<<16|G[e+3224|0]<<24);D[a|0]=h;D[a+1|0]=h>>>8;D[a+2|0]=h>>>16;D[a+3|0]=h>>>24;D[a+4|0]=b;D[a+5|0]=b>>>8;D[a+6|0]=b>>>16;D[a+7|0]=b>>>24;b=e+3229|0;h=G[b+4|0]|G[b+5|0]<<8|(G[b+6|0]<<16|G[b+7|0]<<24);b=G[b|0]|G[b+1|0]<<8|(G[b+2|0]<<16|G[b+3|0]<<24);D[a+8|0]=b;D[a+9|0]=b>>>8;D[a+10|0]=b>>>16;D[a+11|0]=b>>>24;D[a+12|0]=h;D[a+13|0]=h>>>8;D[a+14|0]=h>>>16;D[a+15|0]=h>>>24;b=e+3237|0;h=G[b+4|0]|G[b+5|0]<<8|(G[b+6|0]<<16|G[b+7|0]<<24);b=G[b|0]|G[b+1|0]<<8|(G[b+2|0]<<16|G[b+3|0]<<24);D[a+16|0]=b;D[a+17|0]=b>>>8;D[a+18|0]=b>>>16;D[a+19|0]=b>>>24;D[a+20|0]=h;D[a+21|0]=h>>>8;D[a+22|0]=h>>>16;D[a+23|0]=h>>>24;b=e+3245|0;h=G[b+4|0]|G[b+5|0]<<8|(G[b+6|0]<<16|G[b+7|0]<<24);b=G[b|0]|G[b+1|0]<<8|(G[b+2|0]<<16|G[b+3|0]<<24);D[a+24|0]=b;D[a+25|0]=b>>>8;D[a+26|0]=b>>>16;D[a+27|0]=b>>>24;D[a+28|0]=h;D[a+29|0]=h>>>8;D[a+30|0]=h>>>16;D[a+31|0]=h>>>24;b=G[e+3257|0]|G[e+3258|0]<<8|(G[e+3259|0]<<16|G[e+3260|0]<<24);a=F[k+4>>2];h=G[e+3253|0]|G[e+3254|0]<<8|(G[e+3255|0]<<16|G[e+3256|0]<<24);D[a|0]=h;D[a+1|0]=h>>>8;D[a+2|0]=h>>>16;D[a+3|0]=h>>>24;D[a+4|0]=b;D[a+5|0]=b>>>8;D[a+6|0]=b>>>16;D[a+7|0]=b>>>24;b=e+3261|0;h=G[b+4|0]|G[b+5|0]<<8|(G[b+6|0]<<16|G[b+7|0]<<24);b=G[b|0]|G[b+1|0]<<8|(G[b+2|0]<<16|G[b+3|0]<<24);D[a+8|0]=b;D[a+9|0]=b>>>8;D[a+10|0]=b>>>16;D[a+11|0]=b>>>24;D[a+12|0]=h;D[a+13|0]=h>>>8;D[a+14|0]=h>>>16;D[a+15|0]=h>>>24;b=e+3269|0;h=G[b+4|0]|G[b+5|0]<<8|(G[b+6|0]<<16|G[b+7|0]<<24);b=G[b|0]|G[b+1|0]<<8|(G[b+2|0]<<16|G[b+3|0]<<24);D[a+16|0]=b;D[a+17|0]=b>>>8;D[a+18|0]=b>>>16;D[a+19|0]=b>>>24;D[a+20|0]=h;D[a+21|0]=h>>>8;D[a+22|0]=h>>>16;D[a+23|0]=h>>>24;b=e+3277|0;h=G[b+4|0]|G[b+5|0]<<8|(G[b+6|0]<<16|G[b+7|0]<<24);b=G[b|0]|G[b+1|0]<<8|(G[b+2|0]<<16|G[b+3|0]<<24);D[a+24|0]=b;D[a+25|0]=b>>>8;D[a+26|0]=b>>>16;D[a+27|0]=b>>>24;D[a+28|0]=h;D[a+29|0]=h>>>8;D[a+30|0]=h>>>16;D[a+31|0]=h>>>24;j=F[k+12>>2]}s=g;h=_-96|0;_=h;i=e+48|0;b=(i|0)==F[e+44>>2]?0:F[e+112>>2];a=F[e+4>>2];g=aa[F[F[a>>2]+4>>2]](a,o)|0;a=F[e+4>>2];g=Mb(b,g,aa[F[F[a>>2]>>2]](a)|0);a=F[e+44>>2];d:{if(((a|0)==(i|0))<<5>>>0>p>>>0){F[e+8>>2]=1;g=-1;break d}if(c>>>0>>0){F[e+8>>2]=2;g=-1;break d}if((a|0)==(i|0)){F[e+44>>2]=e+148;Ea(n,i);a=F[e>>2];b=h- -64|0;za(i,e+152|0,b);Aa(b,32,e+12|0,32,F[a+8>>2],F[a+12>>2],h,64);a=h;c=F[a+28>>2];F[e+36>>2]=F[a+24>>2];F[e+40>>2]=c;c=F[a+20>>2];F[e+28>>2]=F[a+16>>2];F[e+32>>2]=c;c=F[a+12>>2];F[e+20>>2]=F[a+8>>2];F[e+24>>2]=c;c=F[a+4>>2];F[e+12>>2]=F[a>>2];F[e+16>>2]=c;c=F[a+36>>2];F[e+116>>2]=F[a+32>>2];F[e+120>>2]=c;c=F[a+44>>2];F[e+124>>2]=F[a+40>>2];F[e+128>>2]=c;c=F[a+52>>2];F[e+132>>2]=F[a+48>>2];F[e+136>>2]=c;c=F[a+60>>2];F[e+140>>2]=F[a+56>>2];F[e+144>>2]=c;F[e+112>>2]=0;ia(a,64);ia(b,32)}a=e+116|0;q=h|4;ka(a,32,1920,1,q);F[h>>2]=F[e+112>>2];ka(a,32,1921,1,a);F[e+112>>2]=F[e+112>>2]+1;a=F[e+4>>2];n=aa[F[F[a>>2]+4>>2]](a,o)|0;b=F[h>>2];a=n;D[j+1|0]=10;D[j|0]=3;c=j+2|0;D[c|0]=32;r=h- -64|0;c=c+1|0;F[r>>2]=c;c=c+32|0;D[c|0]=16;l=c+1|0;e:{if(b>>>0<128){c=b;break e}while(1){D[l|0]=b|128;l=l+1|0;t=b>>>0>16383;c=b>>>7|0;b=c;if(t){continue}break}}D[l+1|0]=34;D[l|0]=c;b=l+2|0;f:{if(a>>>0<128){c=a;break f}while(1){D[b|0]=a|128;b=b+1|0;l=a>>>0>16383;c=a>>>7|0;a=c;if(l){continue}break}}D[b|0]=c;F[r+4>>2]=b+1;a=i;c=G[a+4|0]|G[a+5|0]<<8|(G[a+6|0]<<16|G[a+7|0]<<24);b=F[h+64>>2];i=G[a|0]|G[a+1|0]<<8|(G[a+2|0]<<16|G[a+3|0]<<24);D[b|0]=i;D[b+1|0]=i>>>8;D[b+2|0]=i>>>16;D[b+3|0]=i>>>24;D[b+4|0]=c;D[b+5|0]=c>>>8;D[b+6|0]=c>>>16;D[b+7|0]=c>>>24;c=G[a+28|0]|G[a+29|0]<<8|(G[a+30|0]<<16|G[a+31|0]<<24);i=G[a+24|0]|G[a+25|0]<<8|(G[a+26|0]<<16|G[a+27|0]<<24);D[b+24|0]=i;D[b+25|0]=i>>>8;D[b+26|0]=i>>>16;D[b+27|0]=i>>>24;D[b+28|0]=c;D[b+29|0]=c>>>8;D[b+30|0]=c>>>16;D[b+31|0]=c>>>24;c=G[a+20|0]|G[a+21|0]<<8|(G[a+22|0]<<16|G[a+23|0]<<24);i=G[a+16|0]|G[a+17|0]<<8|(G[a+18|0]<<16|G[a+19|0]<<24);D[b+16|0]=i;D[b+17|0]=i>>>8;D[b+18|0]=i>>>16;D[b+19|0]=i>>>24;D[b+20|0]=c;D[b+21|0]=c>>>8;D[b+22|0]=c>>>16;D[b+23|0]=c>>>24;c=G[a+12|0]|G[a+13|0]<<8|(G[a+14|0]<<16|G[a+15|0]<<24);a=G[a+8|0]|G[a+9|0]<<8|(G[a+10|0]<<16|G[a+11|0]<<24);D[b+8|0]=a;D[b+9|0]=a>>>8;D[b+10|0]=a>>>16;D[b+11|0]=a>>>24;D[b+12|0]=c;D[b+13|0]=c>>>8;D[b+14|0]=c>>>16;D[b+15|0]=c>>>24;a=F[e+4>>2];aa[F[F[a>>2]+8>>2]](a,q,32,s,o,F[h+68>>2],n,j,g)|0;ia(h,36)}_=h+96|0;if((g|0)!=-1){break a}F[e+3216>>2]=F[e+8>>2];F[e+8>>2]=0}g=-1}_=k+16|0;ia(d,p);a=-1;if((g|0)!=-1){b=m+2|0;a=(b>>>0)/3|0;a=((b-L(a,3)|0)+(a<<2)|0)-2|0;na((f+a|0)-m|0,m,f)}return a|0}function Ab(a,b,c,d,e){var f=0,g=0,h=0,i=0,j=0;h=_-208|0;_=h;ab(h+168|0,d,e);f=F[h+172>>2];d=(f|c)!=0;a:{b:{c:{d:{if(f){if(!d){break c}if(F[h+176>>2]==32){break d}break c}if(!d){break c}}j=F[h+196>>2];if(!j){break c}e=F[h+180>>2];if(!e|F[h+184>>2]!=32){break c}d=F[h+188>>2];if(!d){break c}if(F[h+192>>2]==32){break b}}F[a+3216>>2]=4;a=-1;break a}e:{if(!f|!c){break e}if(!Ja(c,f)){break e}F[a+3216>>2]=6;a=-1;break a}g=G[f+4|0]|G[f+5|0]<<8|(G[f+6|0]<<16|G[f+7|0]<<24);c=G[f|0]|G[f+1|0]<<8|(G[f+2|0]<<16|G[f+3|0]<<24);D[a+3221|0]=c;D[a+3222|0]=c>>>8;D[a+3223|0]=c>>>16;D[a+3224|0]=c>>>24;D[a+3225|0]=g;D[a+3226|0]=g>>>8;D[a+3227|0]=g>>>16;D[a+3228|0]=g>>>24;g=G[f+28|0]|G[f+29|0]<<8|(G[f+30|0]<<16|G[f+31|0]<<24);i=a+3245|0;c=G[f+24|0]|G[f+25|0]<<8|(G[f+26|0]<<16|G[f+27|0]<<24);D[i|0]=c;D[i+1|0]=c>>>8;D[i+2|0]=c>>>16;D[i+3|0]=c>>>24;D[i+4|0]=g;D[i+5|0]=g>>>8;D[i+6|0]=g>>>16;D[i+7|0]=g>>>24;g=G[f+20|0]|G[f+21|0]<<8|(G[f+22|0]<<16|G[f+23|0]<<24);i=a+3237|0;c=G[f+16|0]|G[f+17|0]<<8|(G[f+18|0]<<16|G[f+19|0]<<24);D[i|0]=c;D[i+1|0]=c>>>8;D[i+2|0]=c>>>16;D[i+3|0]=c>>>24;D[i+4|0]=g;D[i+5|0]=g>>>8;D[i+6|0]=g>>>16;D[i+7|0]=g>>>24;g=G[f+12|0]|G[f+13|0]<<8|(G[f+14|0]<<16|G[f+15|0]<<24);i=a+3229|0;c=G[f+8|0]|G[f+9|0]<<8|(G[f+10|0]<<16|G[f+11|0]<<24);D[i|0]=c;D[i+1|0]=c>>>8;D[i+2|0]=c>>>16;D[i+3|0]=c>>>24;D[i+4|0]=g;D[i+5|0]=g>>>8;D[i+6|0]=g>>>16;D[i+7|0]=g>>>24;f=G[e+28|0]|G[e+29|0]<<8|(G[e+30|0]<<16|G[e+31|0]<<24);g=a+3277|0;c=G[e+24|0]|G[e+25|0]<<8|(G[e+26|0]<<16|G[e+27|0]<<24);D[g|0]=c;D[g+1|0]=c>>>8;D[g+2|0]=c>>>16;D[g+3|0]=c>>>24;D[g+4|0]=f;D[g+5|0]=f>>>8;D[g+6|0]=f>>>16;D[g+7|0]=f>>>24;f=G[e+20|0]|G[e+21|0]<<8|(G[e+22|0]<<16|G[e+23|0]<<24);g=a+3269|0;c=G[e+16|0]|G[e+17|0]<<8|(G[e+18|0]<<16|G[e+19|0]<<24);D[g|0]=c;D[g+1|0]=c>>>8;D[g+2|0]=c>>>16;D[g+3|0]=c>>>24;D[g+4|0]=f;D[g+5|0]=f>>>8;D[g+6|0]=f>>>16;D[g+7|0]=f>>>24;f=G[e+12|0]|G[e+13|0]<<8|(G[e+14|0]<<16|G[e+15|0]<<24);g=a+3261|0;c=G[e+8|0]|G[e+9|0]<<8|(G[e+10|0]<<16|G[e+11|0]<<24);D[g|0]=c;D[g+1|0]=c>>>8;D[g+2|0]=c>>>16;D[g+3|0]=c>>>24;D[g+4|0]=f;D[g+5|0]=f>>>8;D[g+6|0]=f>>>16;D[g+7|0]=f>>>24;f=G[e+4|0]|G[e+5|0]<<8|(G[e+6|0]<<16|G[e+7|0]<<24);c=G[e|0]|G[e+1|0]<<8|(G[e+2|0]<<16|G[e+3|0]<<24);D[a+3253|0]=c;D[a+3254|0]=c>>>8;D[a+3255|0]=c>>>16;D[a+3256|0]=c>>>24;D[a+3257|0]=f;D[a+3258|0]=f>>>8;D[a+3259|0]=f>>>16;D[a+3260|0]=f>>>24;e=G[d+28|0]|G[d+29|0]<<8|(G[d+30|0]<<16|G[d+31|0]<<24);f=a+3309|0;c=G[d+24|0]|G[d+25|0]<<8|(G[d+26|0]<<16|G[d+27|0]<<24);D[f|0]=c;D[f+1|0]=c>>>8;D[f+2|0]=c>>>16;D[f+3|0]=c>>>24;D[f+4|0]=e;D[f+5|0]=e>>>8;D[f+6|0]=e>>>16;D[f+7|0]=e>>>24;e=G[d+20|0]|G[d+21|0]<<8|(G[d+22|0]<<16|G[d+23|0]<<24);f=a+3301|0;c=G[d+16|0]|G[d+17|0]<<8|(G[d+18|0]<<16|G[d+19|0]<<24);D[f|0]=c;D[f+1|0]=c>>>8;D[f+2|0]=c>>>16;D[f+3|0]=c>>>24;D[f+4|0]=e;D[f+5|0]=e>>>8;D[f+6|0]=e>>>16;D[f+7|0]=e>>>24;e=G[d+12|0]|G[d+13|0]<<8|(G[d+14|0]<<16|G[d+15|0]<<24);f=a+3293|0;c=G[d+8|0]|G[d+9|0]<<8|(G[d+10|0]<<16|G[d+11|0]<<24);D[f|0]=c;D[f+1|0]=c>>>8;D[f+2|0]=c>>>16;D[f+3|0]=c>>>24;D[f+4|0]=e;D[f+5|0]=e>>>8;D[f+6|0]=e>>>16;D[f+7|0]=e>>>24;e=G[d+4|0]|G[d+5|0]<<8|(G[d+6|0]<<16|G[d+7|0]<<24);c=G[d|0]|G[d+1|0]<<8|(G[d+2|0]<<16|G[d+3|0]<<24);D[a+3285|0]=c;D[a+3286|0]=c>>>8;D[a+3287|0]=c>>>16;D[a+3288|0]=c>>>24;D[a+3289|0]=e;D[a+3290|0]=e>>>8;D[a+3291|0]=e>>>16;D[a+3292|0]=e>>>24;c=F[a+4>>2];ib(h+136|0,j,F[h+200>>2],aa[F[F[c>>2]>>2]](c)|0);c=F[h+152>>2];if(!(F[h+156>>2]==32?c:0)){F[a+3216>>2]=4;a=-1;break a}d=G[c+28|0]|G[c+29|0]<<8|(G[c+30|0]<<16|G[c+31|0]<<24);F[h+128>>2]=G[c+24|0]|G[c+25|0]<<8|(G[c+26|0]<<16|G[c+27|0]<<24);F[h+132>>2]=d;d=G[c+20|0]|G[c+21|0]<<8|(G[c+22|0]<<16|G[c+23|0]<<24);F[h+120>>2]=G[c+16|0]|G[c+17|0]<<8|(G[c+18|0]<<16|G[c+19|0]<<24);F[h+124>>2]=d;d=G[c+12|0]|G[c+13|0]<<8|(G[c+14|0]<<16|G[c+15|0]<<24);F[h+112>>2]=G[c+8|0]|G[c+9|0]<<8|(G[c+10|0]<<16|G[c+11|0]<<24);F[h+116>>2]=d;d=G[c+4|0]|G[c+5|0]<<8|(G[c+6|0]<<16|G[c+7|0]<<24);F[h+104>>2]=G[c|0]|G[c+1|0]<<8|(G[c+2|0]<<16|G[c+3|0]<<24);F[h+108>>2]=d;e=a+3285|0;c=b+164|0;d=F[b+160>>2];f:{g:{if((c|0)!=(d|0)){while(1){if(La(c+5|0,e,32)){break g}c=c+72|0;if((d|0)!=(c|0)){continue}break}}c=0;if(!G[b+7364|0]){break g}d=b+7368|0;if(La(b+7373|0,e,32)){break f}if(G[b+7364|0]<2){break g}c=La(b+7445|0,e,32)?b+7440|0:0}d=c}if(!d){F[a+3216>>2]=6;a=-1;break a}c=d+5|0;za(c,a+3221|0,h);d=b+96|0;b=a+3253|0;za(d,b,h+32|0);za(c,b,h- -64|0);e=_+-64|0;_=e;b=F[a>>2];Aa(h,96,0,0,F[b>>2],F[b+4>>2],e,64);d=a+152|0;c=F[a+148>>2];h:{if((c|0)!=(a+492|0)){c=c+68|0;F[a+148>>2]=c;b=d;break h}b=(((c|0)==(d|0)?-68:0)+a|0)+152|0}c=c-68|0;if((b|0)!=(c|0)){while(1){f=c;c=c-68|0;ja(f,c,68);if((b|0)!=(c|0)){continue}break}}F[a+184>>2]=0;b=F[e+28>>2];F[a+36>>2]=F[e+24>>2];F[a+40>>2]=b;b=F[e+20>>2];F[a+28>>2]=F[e+16>>2];F[a+32>>2]=b;b=F[e+12>>2];F[a+20>>2]=F[e+8>>2];F[a+24>>2]=b;b=F[e+4>>2];F[a+12>>2]=F[e>>2];F[a+16>>2]=b;b=F[e+60>>2];F[a+212>>2]=F[e+56>>2];F[a+216>>2]=b;b=F[e+52>>2];F[a+204>>2]=F[e+48>>2];F[a+208>>2]=b;b=F[e+44>>2];F[a+196>>2]=F[e+40>>2];F[a+200>>2]=b;b=F[e+36>>2];F[a+188>>2]=F[e+32>>2];F[a+192>>2]=b;a=h;c=G[a+124|0]|G[a+125|0]<<8|(G[a+126|0]<<16|G[a+127|0]<<24);b=G[a+120|0]|G[a+121|0]<<8|(G[a+122|0]<<16|G[a+123|0]<<24);D[d+16|0]=b;D[d+17|0]=b>>>8;D[d+18|0]=b>>>16;D[d+19|0]=b>>>24;D[d+20|0]=c;D[d+21|0]=c>>>8;D[d+22|0]=c>>>16;D[d+23|0]=c>>>24;c=G[a+116|0]|G[a+117|0]<<8|(G[a+118|0]<<16|G[a+119|0]<<24);b=G[a+112|0]|G[a+113|0]<<8|(G[a+114|0]<<16|G[a+115|0]<<24);D[d+8|0]=b;D[d+9|0]=b>>>8;D[d+10|0]=b>>>16;D[d+11|0]=b>>>24;D[d+12|0]=c;D[d+13|0]=c>>>8;D[d+14|0]=c>>>16;D[d+15|0]=c>>>24;c=G[a+108|0]|G[a+109|0]<<8|(G[a+110|0]<<16|G[a+111|0]<<24);b=G[a+104|0]|G[a+105|0]<<8|(G[a+106|0]<<16|G[a+107|0]<<24);D[d|0]=b;D[d+1|0]=b>>>8;D[d+2|0]=b>>>16;D[d+3|0]=b>>>24;D[d+4|0]=c;D[d+5|0]=c>>>8;D[d+6|0]=c>>>16;D[d+7|0]=c>>>24;c=G[a+132|0]|G[a+133|0]<<8|(G[a+134|0]<<16|G[a+135|0]<<24);b=G[a+128|0]|G[a+129|0]<<8|(G[a+130|0]<<16|G[a+131|0]<<24);D[d+24|0]=b;D[d+25|0]=b>>>8;D[d+26|0]=b>>>16;D[d+27|0]=b>>>24;D[d+28|0]=c;D[d+29|0]=c>>>8;D[d+30|0]=c>>>16;D[d+31|0]=c>>>24;ia(e,64);_=e- -64|0;ia(a,96);a=0}_=h+208|0;return a}function de(a,b,c,d,e,f,g,h){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0;k=_+-64|0;_=k;a:{b:{if((oa(d)|0)==32){if((oa(f)|0)==32){break b}}F[a+3216>>2]=7;d=-1;break a}m=k+32|0;qa(c,d,m);qa(e,f,k);j=_-224|0;_=j;c:{if(h>>>0<=63){F[a+3216>>2]=1;d=-1;break c}l=j+160|0;Ea(g,l);c=j+96|0;Ea(g+32|0,c);D[a+3220|0]=0;e=G[b+124|0]|G[b+125|0]<<8|(G[b+126|0]<<16|G[b+127|0]<<24);f=a+3245|0;d=G[b+120|0]|G[b+121|0]<<8|(G[b+122|0]<<16|G[b+123|0]<<24);D[f|0]=d;D[f+1|0]=d>>>8;D[f+2|0]=d>>>16;D[f+3|0]=d>>>24;D[f+4|0]=e;D[f+5|0]=e>>>8;D[f+6|0]=e>>>16;D[f+7|0]=e>>>24;e=G[b+116|0]|G[b+117|0]<<8|(G[b+118|0]<<16|G[b+119|0]<<24);f=a+3237|0;d=G[b+112|0]|G[b+113|0]<<8|(G[b+114|0]<<16|G[b+115|0]<<24);D[f|0]=d;D[f+1|0]=d>>>8;D[f+2|0]=d>>>16;D[f+3|0]=d>>>24;D[f+4|0]=e;D[f+5|0]=e>>>8;D[f+6|0]=e>>>16;D[f+7|0]=e>>>24;e=G[b+108|0]|G[b+109|0]<<8|(G[b+110|0]<<16|G[b+111|0]<<24);f=a+3229|0;d=G[b+104|0]|G[b+105|0]<<8|(G[b+106|0]<<16|G[b+107|0]<<24);D[f|0]=d;D[f+1|0]=d>>>8;D[f+2|0]=d>>>16;D[f+3|0]=d>>>24;D[f+4|0]=e;D[f+5|0]=e>>>8;D[f+6|0]=e>>>16;D[f+7|0]=e>>>24;e=G[b+100|0]|G[b+101|0]<<8|(G[b+102|0]<<16|G[b+103|0]<<24);d=G[b+96|0]|G[b+97|0]<<8|(G[b+98|0]<<16|G[b+99|0]<<24);D[a+3221|0]=d;D[a+3222|0]=d>>>8;D[a+3223|0]=d>>>16;D[a+3224|0]=d>>>24;D[a+3225|0]=e;D[a+3226|0]=e>>>8;D[a+3227|0]=e>>>16;D[a+3228|0]=e>>>24;e=F[j+164>>2];d=F[j+160>>2];D[a+3253|0]=d;D[a+3254|0]=d>>>8;D[a+3255|0]=d>>>16;D[a+3256|0]=d>>>24;D[a+3257|0]=e;D[a+3258|0]=e>>>8;D[a+3259|0]=e>>>16;D[a+3260|0]=e>>>24;e=F[j+172>>2];f=a+3261|0;d=F[j+168>>2];D[f|0]=d;D[f+1|0]=d>>>8;D[f+2|0]=d>>>16;D[f+3|0]=d>>>24;D[f+4|0]=e;D[f+5|0]=e>>>8;D[f+6|0]=e>>>16;D[f+7|0]=e>>>24;e=F[j+180>>2];f=a+3269|0;d=F[j+176>>2];D[f|0]=d;D[f+1|0]=d>>>8;D[f+2|0]=d>>>16;D[f+3|0]=d>>>24;D[f+4|0]=e;D[f+5|0]=e>>>8;D[f+6|0]=e>>>16;D[f+7|0]=e>>>24;e=F[j+188>>2];f=a+3277|0;d=F[j+184>>2];D[f|0]=d;D[f+1|0]=d>>>8;D[f+2|0]=d>>>16;D[f+3|0]=d>>>24;D[f+4|0]=e;D[f+5|0]=e>>>8;D[f+6|0]=e>>>16;D[f+7|0]=e>>>24;d=k;f=G[d+4|0]|G[d+5|0]<<8|(G[d+6|0]<<16|G[d+7|0]<<24);e=G[d|0]|G[d+1|0]<<8|(G[d+2|0]<<16|G[d+3|0]<<24);D[a+3285|0]=e;D[a+3286|0]=e>>>8;D[a+3287|0]=e>>>16;D[a+3288|0]=e>>>24;D[a+3289|0]=f;D[a+3290|0]=f>>>8;D[a+3291|0]=f>>>16;D[a+3292|0]=f>>>24;f=G[d+12|0]|G[d+13|0]<<8|(G[d+14|0]<<16|G[d+15|0]<<24);i=a+3293|0;e=G[d+8|0]|G[d+9|0]<<8|(G[d+10|0]<<16|G[d+11|0]<<24);D[i|0]=e;D[i+1|0]=e>>>8;D[i+2|0]=e>>>16;D[i+3|0]=e>>>24;D[i+4|0]=f;D[i+5|0]=f>>>8;D[i+6|0]=f>>>16;D[i+7|0]=f>>>24;f=G[d+20|0]|G[d+21|0]<<8|(G[d+22|0]<<16|G[d+23|0]<<24);i=a+3301|0;e=G[d+16|0]|G[d+17|0]<<8|(G[d+18|0]<<16|G[d+19|0]<<24);D[i|0]=e;D[i+1|0]=e>>>8;D[i+2|0]=e>>>16;D[i+3|0]=e>>>24;D[i+4|0]=f;D[i+5|0]=f>>>8;D[i+6|0]=f>>>16;D[i+7|0]=f>>>24;f=G[d+28|0]|G[d+29|0]<<8|(G[d+30|0]<<16|G[d+31|0]<<24);i=a+3309|0;e=G[d+24|0]|G[d+25|0]<<8|(G[d+26|0]<<16|G[d+27|0]<<24);D[i|0]=e;D[i+1|0]=e>>>8;D[i+2|0]=e>>>16;D[i+3|0]=e>>>24;D[i+4|0]=f;D[i+5|0]=f>>>8;D[i+6|0]=f>>>16;D[i+7|0]=f>>>24;za(b+96|0,d,j);za(l,m,j+32|0);za(l,d,j- -64|0);d=_+-64|0;_=d;b=F[a>>2];Aa(j,96,0,0,F[b>>2],F[b+4>>2],d,64);e=a+48|0;f=F[a+44>>2];d:{if((f|0)!=(a+148|0)){f=f+100|0;F[a+44>>2]=f;b=e;break d}b=(((e|0)==(f|0)?-100:0)+a|0)+48|0}f=f-100|0;if((b|0)!=(f|0)){while(1){i=f;f=f-100|0;ja(i,f,100);if((b|0)!=(f|0)){continue}break}}F[a+112>>2]=0;b=F[d+28>>2];F[a+36>>2]=F[d+24>>2];F[a+40>>2]=b;b=F[d+20>>2];F[a+28>>2]=F[d+16>>2];F[a+32>>2]=b;b=F[d+12>>2];F[a+20>>2]=F[d+8>>2];F[a+24>>2]=b;b=F[d+4>>2];F[a+12>>2]=F[d>>2];F[a+16>>2]=b;b=F[d+60>>2];F[a+140>>2]=F[d+56>>2];F[a+144>>2]=b;b=F[d+52>>2];F[a+132>>2]=F[d+48>>2];F[a+136>>2]=b;b=F[d+44>>2];F[a+124>>2]=F[d+40>>2];F[a+128>>2]=b;b=F[d+36>>2];F[a+116>>2]=F[d+32>>2];F[a+120>>2]=b;b=G[c+52|0]|G[c+53|0]<<8|(G[c+54|0]<<16|G[c+55|0]<<24);a=G[c+48|0]|G[c+49|0]<<8|(G[c+50|0]<<16|G[c+51|0]<<24);D[e+48|0]=a;D[e+49|0]=a>>>8;D[e+50|0]=a>>>16;D[e+51|0]=a>>>24;D[e+52|0]=b;D[e+53|0]=b>>>8;D[e+54|0]=b>>>16;D[e+55|0]=b>>>24;b=G[c+44|0]|G[c+45|0]<<8|(G[c+46|0]<<16|G[c+47|0]<<24);a=G[c+40|0]|G[c+41|0]<<8|(G[c+42|0]<<16|G[c+43|0]<<24);D[e+40|0]=a;D[e+41|0]=a>>>8;D[e+42|0]=a>>>16;D[e+43|0]=a>>>24;D[e+44|0]=b;D[e+45|0]=b>>>8;D[e+46|0]=b>>>16;D[e+47|0]=b>>>24;b=G[c+36|0]|G[c+37|0]<<8|(G[c+38|0]<<16|G[c+39|0]<<24);a=G[c+32|0]|G[c+33|0]<<8|(G[c+34|0]<<16|G[c+35|0]<<24);D[e+32|0]=a;D[e+33|0]=a>>>8;D[e+34|0]=a>>>16;D[e+35|0]=a>>>24;D[e+36|0]=b;D[e+37|0]=b>>>8;D[e+38|0]=b>>>16;D[e+39|0]=b>>>24;b=G[c+28|0]|G[c+29|0]<<8|(G[c+30|0]<<16|G[c+31|0]<<24);a=G[c+24|0]|G[c+25|0]<<8|(G[c+26|0]<<16|G[c+27|0]<<24);D[e+24|0]=a;D[e+25|0]=a>>>8;D[e+26|0]=a>>>16;D[e+27|0]=a>>>24;D[e+28|0]=b;D[e+29|0]=b>>>8;D[e+30|0]=b>>>16;D[e+31|0]=b>>>24;b=G[c+20|0]|G[c+21|0]<<8|(G[c+22|0]<<16|G[c+23|0]<<24);a=G[c+16|0]|G[c+17|0]<<8|(G[c+18|0]<<16|G[c+19|0]<<24);D[e+16|0]=a;D[e+17|0]=a>>>8;D[e+18|0]=a>>>16;D[e+19|0]=a>>>24;D[e+20|0]=b;D[e+21|0]=b>>>8;D[e+22|0]=b>>>16;D[e+23|0]=b>>>24;b=G[c+12|0]|G[c+13|0]<<8|(G[c+14|0]<<16|G[c+15|0]<<24);a=G[c+8|0]|G[c+9|0]<<8|(G[c+10|0]<<16|G[c+11|0]<<24);D[e+8|0]=a;D[e+9|0]=a>>>8;D[e+10|0]=a>>>16;D[e+11|0]=a>>>24;D[e+12|0]=b;D[e+13|0]=b>>>8;D[e+14|0]=b>>>16;D[e+15|0]=b>>>24;b=G[c+4|0]|G[c+5|0]<<8|(G[c+6|0]<<16|G[c+7|0]<<24);a=G[c|0]|G[c+1|0]<<8|(G[c+2|0]<<16|G[c+3|0]<<24);D[e|0]=a;D[e+1|0]=a>>>8;D[e+2|0]=a>>>16;D[e+3|0]=a>>>24;D[e+4|0]=b;D[e+5|0]=b>>>8;D[e+6|0]=b>>>16;D[e+7|0]=b>>>24;b=G[c+60|0]|G[c+61|0]<<8|(G[c+62|0]<<16|G[c+63|0]<<24);a=G[c+56|0]|G[c+57|0]<<8|(G[c+58|0]<<16|G[c+59|0]<<24);D[e+56|0]=a;D[e+57|0]=a>>>8;D[e+58|0]=a>>>16;D[e+59|0]=a>>>24;D[e+60|0]=b;D[e+61|0]=b>>>8;D[e+62|0]=b>>>16;D[e+63|0]=b>>>24;ia(d,64);_=d- -64|0;ia(l,64);ia(c,64);ia(j,96);d=0}_=j+224|0;ia(g,h)}_=k- -64|0;return d|0}function Td(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;g=oa(d);if((g|0)==-1){F[a+3216>>2]=7;return-1}qa(c,d,c);d=g;g=e;k=_-48|0;_=k;a:{if((b|0)!=1){ab(k+8|0,c,d);c=F[k+36>>2];if(!c){F[a+3216>>2]=4;l=-1;break a}d=F[k+40>>2]}l=-1;i=_-32|0;_=i;e=a;a=F[a+4>>2];ib(i,c,d,aa[F[F[a>>2]>>2]](a)|0);b:{if(G[i|0]!=3){F[e+8>>2]=3;d=-1;break b}if(F[i+24>>2]?!G[i+1|0]|!F[i+16>>2]:1){F[e+8>>2]=4;d=-1;break b}a=F[e+4>>2];if(aa[F[F[a>>2]+12>>2]](a,F[i+28>>2])>>>0>f>>>0){F[e+8>>2]=2;d=-1;break b}if(F[i+20>>2]!=32){F[e+8>>2]=4;d=-1;break b}c:{d:{e:{f:{g:{b=e+152|0;a=F[e+148>>2];if((b|0)!=(a|0)){d=F[i+16>>2];c=b;while(1){if(!Ja(c,d)){break g}c=c+68|0;if((a|0)!=(c|0)){continue}break}}c=_-208|0;_=c;a=-1;d=e+48|0;if(!((d|0)==F[e+44>>2]|I[i+4>>2]>2e3)){a=F[i+16>>2];j=G[a+28|0]|G[a+29|0]<<8|(G[a+30|0]<<16|G[a+31|0]<<24);F[c+32>>2]=G[a+24|0]|G[a+25|0]<<8|(G[a+26|0]<<16|G[a+27|0]<<24);F[c+36>>2]=j;j=G[a+20|0]|G[a+21|0]<<8|(G[a+22|0]<<16|G[a+23|0]<<24);F[c+24>>2]=G[a+16|0]|G[a+17|0]<<8|(G[a+18|0]<<16|G[a+19|0]<<24);F[c+28>>2]=j;j=G[a+12|0]|G[a+13|0]<<8|(G[a+14|0]<<16|G[a+15|0]<<24);F[c+16>>2]=G[a+8|0]|G[a+9|0]<<8|(G[a+10|0]<<16|G[a+11|0]<<24);F[c+20>>2]=j;j=G[a+4|0]|G[a+5|0]<<8|(G[a+6|0]<<16|G[a+7|0]<<24);F[c+8>>2]=G[a|0]|G[a+1|0]<<8|(G[a+2|0]<<16|G[a+3|0]<<24);F[c+12>>2]=j;a=F[e>>2];h=d;j=c+8|0;d=c+176|0;za(h,j,d);h=F[a+8>>2];m=F[a+12>>2];a=c+112|0;Aa(d,32,e+12|0,32,h,m,a,64);h=F[c+140>>2];F[c+104>>2]=F[c+136>>2];F[c+108>>2]=h;h=F[c+132>>2];F[c+96>>2]=F[c+128>>2];F[c+100>>2]=h;h=F[c+148>>2];F[c+44>>2]=F[c+144>>2];F[c+48>>2]=h;h=F[c+156>>2];F[c+52>>2]=F[c+152>>2];F[c+56>>2]=h;h=F[c+164>>2];F[c+60>>2]=F[c+160>>2];F[c+64>>2]=h;h=F[c+172>>2];F[c+68>>2]=F[c+168>>2];F[c+72>>2]=h;F[c+40>>2]=0;h=F[c+124>>2];F[c+88>>2]=F[c+120>>2];F[c+92>>2]=h;h=F[c+116>>2];F[c+80>>2]=F[c+112>>2];F[c+84>>2]=h;ia(a,64);ia(d,32);a=sb(e,c+40|0,i,g,f);ia(c+80|0,32);ia(j,68)}_=c+208|0;d=a;if((a|0)==-1){break f}a=F[e+148>>2];if((a|0)==(e+492|0)){break e}a=a+68|0;F[e+148>>2]=a;break d}b=F[i+4>>2];if(b>>>0>2]){a=e+496|0;c=F[e+492>>2];if((a|0)==(c|0)){break f}while(1){h:{if(F[a+32>>2]!=(b|0)){break h}if(Ja(a,F[i+16>>2])){break h}b=F[e+4>>2];d=aa[F[F[b>>2]+16>>2]](b,a+36|0,32,F[i+8>>2],F[i+12>>2],F[i+24>>2],F[i+28>>2],g,f)|0;if((d|0)==-1){break h}ia(a,68);b=F[e+492>>2]-68|0;F[e+492>>2]=b;if((a|0)==(b|0)){break b}while(1){b=a;a=a+68|0;ja(b,a,68);if(F[e+492>>2]!=(a|0)){continue}break}break b}a=a+68|0;if((c|0)==(a|0)){break f}b=F[i+4>>2];continue}}d=sb(e,c+32|0,i,g,f);if((d|0)!=-1){break c}}F[e+8>>2]=5;d=-1;break b}b=(e+((a|0)==(b|0)?-68:0)|0)+152|0}a=a-68|0;if((b|0)!=(a|0)){while(1){c=a;a=a-68|0;ja(c,a,68);if((a|0)!=(b|0)){continue}break}}a=F[i+16>>2];c=G[a+4|0]|G[a+5|0]<<8|(G[a+6|0]<<16|G[a+7|0]<<24);f=G[a|0]|G[a+1|0]<<8|(G[a+2|0]<<16|G[a+3|0]<<24);D[b|0]=f;D[b+1|0]=f>>>8;D[b+2|0]=f>>>16;D[b+3|0]=f>>>24;D[b+4|0]=c;D[b+5|0]=c>>>8;D[b+6|0]=c>>>16;D[b+7|0]=c>>>24;c=G[a+28|0]|G[a+29|0]<<8|(G[a+30|0]<<16|G[a+31|0]<<24);f=G[a+24|0]|G[a+25|0]<<8|(G[a+26|0]<<16|G[a+27|0]<<24);D[b+24|0]=f;D[b+25|0]=f>>>8;D[b+26|0]=f>>>16;D[b+27|0]=f>>>24;D[b+28|0]=c;D[b+29|0]=c>>>8;D[b+30|0]=c>>>16;D[b+31|0]=c>>>24;c=G[a+20|0]|G[a+21|0]<<8|(G[a+22|0]<<16|G[a+23|0]<<24);f=G[a+16|0]|G[a+17|0]<<8|(G[a+18|0]<<16|G[a+19|0]<<24);D[b+16|0]=f;D[b+17|0]=f>>>8;D[b+18|0]=f>>>16;D[b+19|0]=f>>>24;D[b+20|0]=c;D[b+21|0]=c>>>8;D[b+22|0]=c>>>16;D[b+23|0]=c>>>24;c=G[a+12|0]|G[a+13|0]<<8|(G[a+14|0]<<16|G[a+15|0]<<24);a=G[a+8|0]|G[a+9|0]<<8|(G[a+10|0]<<16|G[a+11|0]<<24);D[b+8|0]=a;D[b+9|0]=a>>>8;D[b+10|0]=a>>>16;D[b+11|0]=a>>>24;D[b+12|0]=c;D[b+13|0]=c>>>8;D[b+14|0]=c>>>16;D[b+15|0]=c>>>24;f=F[e>>2];c=_-96|0;_=c;a=e+48|0;j=c- -64|0;za(a,b,j);Aa(j,32,e+12|0,32,F[f+8>>2],F[f+12>>2],c,64);f=F[c+28>>2];g=F[c+24>>2];D[e+36|0]=g;D[e+37|0]=g>>>8;D[e+38|0]=g>>>16;D[e+39|0]=g>>>24;D[e+40|0]=f;D[e+41|0]=f>>>8;D[e+42|0]=f>>>16;D[e+43|0]=f>>>24;f=F[c+20>>2];g=F[c+16>>2];D[e+28|0]=g;D[e+29|0]=g>>>8;D[e+30|0]=g>>>16;D[e+31|0]=g>>>24;D[e+32|0]=f;D[e+33|0]=f>>>8;D[e+34|0]=f>>>16;D[e+35|0]=f>>>24;f=F[c+12>>2];g=F[c+8>>2];D[e+20|0]=g;D[e+21|0]=g>>>8;D[e+22|0]=g>>>16;D[e+23|0]=g>>>24;D[e+24|0]=f;D[e+25|0]=f>>>8;D[e+26|0]=f>>>16;D[e+27|0]=f>>>24;f=F[c+4>>2];g=F[c>>2];D[e+12|0]=g;D[e+13|0]=g>>>8;D[e+14|0]=g>>>16;D[e+15|0]=g>>>24;D[e+16|0]=f;D[e+17|0]=f>>>8;D[e+18|0]=f>>>16;D[e+19|0]=f>>>24;f=F[c+40>>2];g=F[c+44>>2];h=F[c+48>>2];m=F[c+52>>2];n=F[c+56>>2];o=F[c+60>>2];p=F[c+32>>2];q=F[c+36>>2];F[b+32>>2]=0;F[b+60>>2]=n;F[b+64>>2]=o;F[b+52>>2]=h;F[b+56>>2]=m;F[b+44>>2]=f;F[b+48>>2]=g;F[b+36>>2]=p;F[b+40>>2]=q;ia(c,64);ia(j,32);_=c+96|0;ia(a,100);c=F[e+44>>2]-100|0;F[e+44>>2]=c;if((a|0)!=(c|0)){while(1){c=a;a=a+100|0;ja(c,a,100);if(F[e+44>>2]!=(a|0)){continue}break}}c=b}g=c+36|0;if(I[c+32>>2]>2]){b=e+3216|0;f=e+496|0;j=e+532|0;while(1){a=b;h=F[e+492>>2];if((a|0)!=(h|0)){a=h+68|0;F[e+492>>2]=a}a=a-68|0;if((f|0)!=(a|0)){while(1){h=a;a=a-68|0;ja(h,a,68);if((a|0)!=(f|0)){continue}break}}ka(g,32,1920,1,j);F[e+528>>2]=F[c+32>>2];a=F[c+28>>2];F[f+24>>2]=F[c+24>>2];F[f+28>>2]=a;a=F[c+20>>2];F[f+16>>2]=F[c+16>>2];F[f+20>>2]=a;a=F[c+12>>2];F[f+8>>2]=F[c+8>>2];F[f+12>>2]=a;a=F[c+4>>2];F[f>>2]=F[c>>2];F[f+4>>2]=a;ka(g,32,1921,1,g);a=F[c+32>>2]+1|0;F[c+32>>2]=a;if(a>>>0>2]){continue}break}}ka(g,32,1921,1,g);F[c+32>>2]=F[c+32>>2]+1}_=i+32|0;if((d|0)==-1){F[e+3216>>2]=F[e+8>>2];F[e+8>>2]=0;break a}D[e+3220|0]=1;l=d}_=k+48|0;return l|0}function ac(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0;j=wb(a);if(Da(j)>>>0>e>>>0){F[a+3216>>2]=2;return-1}e=la(Za(d,j),1);D[e|0]=G[a+3220|0];f=a+3221|0;h=G[f+4|0]|G[f+5|0]<<8|(G[f+6|0]<<16|G[f+7|0]<<24);e=e+1|0;i=G[f|0]|G[f+1|0]<<8|(G[f+2|0]<<16|G[f+3|0]<<24);D[e|0]=i;D[e+1|0]=i>>>8;D[e+2|0]=i>>>16;D[e+3|0]=i>>>24;D[e+4|0]=h;D[e+5|0]=h>>>8;D[e+6|0]=h>>>16;D[e+7|0]=h>>>24;g=G[f+28|0]|G[f+29|0]<<8|(G[f+30|0]<<16|G[f+31|0]<<24);h=G[f+24|0]|G[f+25|0]<<8|(G[f+26|0]<<16|G[f+27|0]<<24);D[e+24|0]=h;D[e+25|0]=h>>>8;D[e+26|0]=h>>>16;D[e+27|0]=h>>>24;D[e+28|0]=g;D[e+29|0]=g>>>8;D[e+30|0]=g>>>16;D[e+31|0]=g>>>24;g=G[f+20|0]|G[f+21|0]<<8|(G[f+22|0]<<16|G[f+23|0]<<24);h=G[f+16|0]|G[f+17|0]<<8|(G[f+18|0]<<16|G[f+19|0]<<24);D[e+16|0]=h;D[e+17|0]=h>>>8;D[e+18|0]=h>>>16;D[e+19|0]=h>>>24;D[e+20|0]=g;D[e+21|0]=g>>>8;D[e+22|0]=g>>>16;D[e+23|0]=g>>>24;g=G[f+12|0]|G[f+13|0]<<8|(G[f+14|0]<<16|G[f+15|0]<<24);f=G[f+8|0]|G[f+9|0]<<8|(G[f+10|0]<<16|G[f+11|0]<<24);D[e+8|0]=f;D[e+9|0]=f>>>8;D[e+10|0]=f>>>16;D[e+11|0]=f>>>24;D[e+12|0]=g;D[e+13|0]=g>>>8;D[e+14|0]=g>>>16;D[e+15|0]=g>>>24;f=a+3253|0;h=G[f+4|0]|G[f+5|0]<<8|(G[f+6|0]<<16|G[f+7|0]<<24);e=e+32|0;i=G[f|0]|G[f+1|0]<<8|(G[f+2|0]<<16|G[f+3|0]<<24);D[e|0]=i;D[e+1|0]=i>>>8;D[e+2|0]=i>>>16;D[e+3|0]=i>>>24;D[e+4|0]=h;D[e+5|0]=h>>>8;D[e+6|0]=h>>>16;D[e+7|0]=h>>>24;g=G[f+28|0]|G[f+29|0]<<8|(G[f+30|0]<<16|G[f+31|0]<<24);h=G[f+24|0]|G[f+25|0]<<8|(G[f+26|0]<<16|G[f+27|0]<<24);D[e+24|0]=h;D[e+25|0]=h>>>8;D[e+26|0]=h>>>16;D[e+27|0]=h>>>24;D[e+28|0]=g;D[e+29|0]=g>>>8;D[e+30|0]=g>>>16;D[e+31|0]=g>>>24;g=G[f+20|0]|G[f+21|0]<<8|(G[f+22|0]<<16|G[f+23|0]<<24);h=G[f+16|0]|G[f+17|0]<<8|(G[f+18|0]<<16|G[f+19|0]<<24);D[e+16|0]=h;D[e+17|0]=h>>>8;D[e+18|0]=h>>>16;D[e+19|0]=h>>>24;D[e+20|0]=g;D[e+21|0]=g>>>8;D[e+22|0]=g>>>16;D[e+23|0]=g>>>24;g=G[f+12|0]|G[f+13|0]<<8|(G[f+14|0]<<16|G[f+15|0]<<24);f=G[f+8|0]|G[f+9|0]<<8|(G[f+10|0]<<16|G[f+11|0]<<24);D[e+8|0]=f;D[e+9|0]=f>>>8;D[e+10|0]=f>>>16;D[e+11|0]=f>>>24;D[e+12|0]=g;D[e+13|0]=g>>>8;D[e+14|0]=g>>>16;D[e+15|0]=g>>>24;f=a+3285|0;h=G[f+4|0]|G[f+5|0]<<8|(G[f+6|0]<<16|G[f+7|0]<<24);e=e+32|0;i=G[f|0]|G[f+1|0]<<8|(G[f+2|0]<<16|G[f+3|0]<<24);D[e|0]=i;D[e+1|0]=i>>>8;D[e+2|0]=i>>>16;D[e+3|0]=i>>>24;D[e+4|0]=h;D[e+5|0]=h>>>8;D[e+6|0]=h>>>16;D[e+7|0]=h>>>24;g=G[f+28|0]|G[f+29|0]<<8|(G[f+30|0]<<16|G[f+31|0]<<24);h=G[f+24|0]|G[f+25|0]<<8|(G[f+26|0]<<16|G[f+27|0]<<24);D[e+24|0]=h;D[e+25|0]=h>>>8;D[e+26|0]=h>>>16;D[e+27|0]=h>>>24;D[e+28|0]=g;D[e+29|0]=g>>>8;D[e+30|0]=g>>>16;D[e+31|0]=g>>>24;g=G[f+20|0]|G[f+21|0]<<8|(G[f+22|0]<<16|G[f+23|0]<<24);h=G[f+16|0]|G[f+17|0]<<8|(G[f+18|0]<<16|G[f+19|0]<<24);D[e+16|0]=h;D[e+17|0]=h>>>8;D[e+18|0]=h>>>16;D[e+19|0]=h>>>24;D[e+20|0]=g;D[e+21|0]=g>>>8;D[e+22|0]=g>>>16;D[e+23|0]=g>>>24;g=G[f+12|0]|G[f+13|0]<<8|(G[f+14|0]<<16|G[f+15|0]<<24);f=G[f+8|0]|G[f+9|0]<<8|(G[f+10|0]<<16|G[f+11|0]<<24);D[e+8|0]=f;D[e+9|0]=f>>>8;D[e+10|0]=f>>>16;D[e+11|0]=f>>>24;D[e+12|0]=g;D[e+13|0]=g>>>8;D[e+14|0]=g>>>16;D[e+15|0]=g>>>24;g=Ta(e+32|0,a+12|0,32);e=a+48|0;f=la(g,(F[a+44>>2]-e|0)/100|0);g=F[a+44>>2];if((g|0)!=(e|0)){while(1){f=la(Ta(Pa(f,e),e+68|0,32),F[e+64>>2]);e=e+100|0;if((g|0)!=(e|0)){continue}break}}e=a+152|0;f=la(f,(F[a+148>>2]-e|0)/68|0);i=F[a+148>>2];if((i|0)!=(e|0)){while(1){g=G[e+4|0]|G[e+5|0]<<8|(G[e+6|0]<<16|G[e+7|0]<<24);h=G[e|0]|G[e+1|0]<<8|(G[e+2|0]<<16|G[e+3|0]<<24);D[f|0]=h;D[f+1|0]=h>>>8;D[f+2|0]=h>>>16;D[f+3|0]=h>>>24;D[f+4|0]=g;D[f+5|0]=g>>>8;D[f+6|0]=g>>>16;D[f+7|0]=g>>>24;g=G[e+28|0]|G[e+29|0]<<8|(G[e+30|0]<<16|G[e+31|0]<<24);h=G[e+24|0]|G[e+25|0]<<8|(G[e+26|0]<<16|G[e+27|0]<<24);D[f+24|0]=h;D[f+25|0]=h>>>8;D[f+26|0]=h>>>16;D[f+27|0]=h>>>24;D[f+28|0]=g;D[f+29|0]=g>>>8;D[f+30|0]=g>>>16;D[f+31|0]=g>>>24;g=G[e+20|0]|G[e+21|0]<<8|(G[e+22|0]<<16|G[e+23|0]<<24);h=G[e+16|0]|G[e+17|0]<<8|(G[e+18|0]<<16|G[e+19|0]<<24);D[f+16|0]=h;D[f+17|0]=h>>>8;D[f+18|0]=h>>>16;D[f+19|0]=h>>>24;D[f+20|0]=g;D[f+21|0]=g>>>8;D[f+22|0]=g>>>16;D[f+23|0]=g>>>24;g=G[e+12|0]|G[e+13|0]<<8|(G[e+14|0]<<16|G[e+15|0]<<24);h=G[e+8|0]|G[e+9|0]<<8|(G[e+10|0]<<16|G[e+11|0]<<24);D[f+8|0]=h;D[f+9|0]=h>>>8;D[f+10|0]=h>>>16;D[f+11|0]=h>>>24;D[f+12|0]=g;D[f+13|0]=g>>>8;D[f+14|0]=g>>>16;D[f+15|0]=g>>>24;f=la(Ta(f+32|0,e+36|0,32),F[e+32>>2]);e=e+68|0;if((i|0)!=(e|0)){continue}break}}e=a+496|0;f=la(f,(F[a+492>>2]-e|0)/68|0);h=F[a+492>>2];if((h|0)!=(e|0)){while(1){a=G[e+4|0]|G[e+5|0]<<8|(G[e+6|0]<<16|G[e+7|0]<<24);g=G[e|0]|G[e+1|0]<<8|(G[e+2|0]<<16|G[e+3|0]<<24);D[f|0]=g;D[f+1|0]=g>>>8;D[f+2|0]=g>>>16;D[f+3|0]=g>>>24;D[f+4|0]=a;D[f+5|0]=a>>>8;D[f+6|0]=a>>>16;D[f+7|0]=a>>>24;a=G[e+28|0]|G[e+29|0]<<8|(G[e+30|0]<<16|G[e+31|0]<<24);g=G[e+24|0]|G[e+25|0]<<8|(G[e+26|0]<<16|G[e+27|0]<<24);D[f+24|0]=g;D[f+25|0]=g>>>8;D[f+26|0]=g>>>16;D[f+27|0]=g>>>24;D[f+28|0]=a;D[f+29|0]=a>>>8;D[f+30|0]=a>>>16;D[f+31|0]=a>>>24;a=G[e+20|0]|G[e+21|0]<<8|(G[e+22|0]<<16|G[e+23|0]<<24);g=G[e+16|0]|G[e+17|0]<<8|(G[e+18|0]<<16|G[e+19|0]<<24);D[f+16|0]=g;D[f+17|0]=g>>>8;D[f+18|0]=g>>>16;D[f+19|0]=g>>>24;D[f+20|0]=a;D[f+21|0]=a>>>8;D[f+22|0]=a>>>16;D[f+23|0]=a>>>24;a=G[e+12|0]|G[e+13|0]<<8|(G[e+14|0]<<16|G[e+15|0]<<24);g=G[e+8|0]|G[e+9|0]<<8|(G[e+10|0]<<16|G[e+11|0]<<24);D[f+8|0]=g;D[f+9|0]=g>>>8;D[f+10|0]=g>>>16;D[f+11|0]=g>>>24;D[f+12|0]=a;D[f+13|0]=a>>>8;D[f+14|0]=a>>>16;D[f+15|0]=a>>>24;f=la(Ta(f+32|0,e+36|0,32),F[e+32>>2]);e=e+68|0;if((h|0)!=(e|0)){continue}break}}return Ya(b,c,d,j)|0}function _c(a,b,c,d,e,f){a=a|0;b=+b;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,w=0,x=0,y=0,z=0,B=0,C=0;m=_-560|0;_=m;F[m+44>>2]=0;A(+b);g=v(1)|0;v(0)|0;a:{if((g|0)<-1?1:(g|0)<=-1){u=1;y=1226;b=-b;A(+b);g=v(1)|0;v(0)|0;break a}if(e&2048){u=1;y=1229;break a}u=e&1;y=u?1232:1227;B=!u}b:{if((g&2146435072)==2146435072){i=u+3|0;va(a,32,c,i,e&-65537);ma(a,y,u);d=f&32;ma(a,b!=b?d?1245:1440:d?1249:1513,3);break b}s=m+16|0;c:{d:{e:{b=Fb(b,m+44|0);b=b+b;if(b!=0){g=F[m+44>>2];F[m+44>>2]=g-1;r=f|32;if((r|0)!=97){break e}break c}r=f|32;if((r|0)==97){break c}j=F[m+44>>2];k=(d|0)<0?6:d;break d}j=g-29|0;F[m+44>>2]=j;b=b*268435456;k=(d|0)<0?6:d}n=(j|0)<0?m+48|0:m+336|0;h=n;while(1){d=h;if(b<4294967296&b>=0){g=~~b>>>0}else{g=0}F[d>>2]=g;h=h+4|0;b=(b-+(g>>>0))*1e9;if(b!=0){continue}break}f:{if((j|0)<1){d=j;g=h;l=n;break f}l=n;d=j;while(1){o=(d|0)<29?d:29;g=h-4|0;g:{if(l>>>0>g>>>0){break g}d=o;i=0;while(1){q=g;w=i;x=F[g>>2];p=d&31;if((d&63)>>>0>=32){i=x<>>32-p;x=x<>>0>>0?i+1|0:i;i=re(p,i,1e9);w=q;q=qe(i,$,1e9,0);F[w>>2]=p-q;g=g-4|0;if(l>>>0<=g>>>0){continue}break}if(!i){break g}l=l-4|0;F[l>>2]=i}while(1){g=h;if(l>>>0>>0){h=g-4|0;if(!F[h>>2]){continue}}break}d=F[m+44>>2]-o|0;F[m+44>>2]=d;h=g;if((d|0)>0){continue}break}}h=(k+25|0)/9|0;if((d|0)<=-1){o=h+1|0;z=(r|0)==102;while(1){d=0-d|0;i=(d|0)<9?d:9;h:{if(g>>>0>l>>>0){q=1e9>>>i|0;p=-1<>2];F[h>>2]=w+(d>>>i|0);d=L(q,d&p);h=h+4|0;if(h>>>0>>0){continue}break}h=F[l>>2];if(!d){break h}F[g>>2]=d;g=g+4|0;break h}h=F[l>>2]}d=i+F[m+44>>2]|0;F[m+44>>2]=d;l=(!h<<2)+l|0;h=z?n:l;g=(o|0)>2?h+(o<<2)|0:g;if((d|0)<0){continue}break}}h=0;i:{if(g>>>0<=l>>>0){break i}h=L(n-l>>2,9);d=10;i=F[l>>2];if(i>>>0<10){break i}while(1){h=h+1|0;d=L(d,10);if(i>>>0>=d>>>0){continue}break}}d=(k-((r|0)==102?0:h)|0)-((r|0)==103&(k|0)!=0)|0;if((d|0)<(L(g-n>>2,9)-9|0)){q=((j|0)<0?4:292)+m|0;j=d+9216|0;o=(j|0)/9|0;i=(q+(o<<2)|0)-4048|0;d=10;j=j-L(o,9)|0;if((j|0)<=7){while(1){d=L(d,10);j=j+1|0;if((j|0)!=8){continue}break}}o=F[i>>2];q=(o>>>0)/(d>>>0)|0;j=o-L(d,q)|0;p=i+4|0;j:{if(!((p|0)==(g|0)?j:1)){break j}b=(g|0)==(p|0)?1:1.5;p=d>>>1|0;t=j>>>0

    >>0?.5:(p|0)==(j|0)?b:1.5;b=q&1?9007199254740994:9007199254740992;if(!(G[y|0]!=45|B)){t=-t;b=-b}j=o-j|0;F[i>>2]=j;if(b+t==b){break j}d=d+j|0;F[i>>2]=d;if(d>>>0>=1e9){while(1){F[i>>2]=0;i=i-4|0;if(i>>>0>>0){l=l-4|0;F[l>>2]=0}d=F[i>>2]+1|0;F[i>>2]=d;if(d>>>0>999999999){continue}break}}h=L(n-l>>2,9);d=10;j=F[l>>2];if(j>>>0<10){break j}while(1){h=h+1|0;d=L(d,10);if(j>>>0>=d>>>0){continue}break}}d=i+4|0;g=d>>>0>>0?d:g}while(1){j=g;d=g>>>0<=l>>>0;if(!d){g=j-4|0;if(!F[g>>2]){continue}}break}k:{if((r|0)!=103){r=e&8;break k}g=k?k:1;i=(g|0)>(h|0)&(h|0)>-5;k=(i?h^-1:-1)+g|0;f=(i?-1:-2)+f|0;r=e&8;if(r){break k}g=-9;l:{if(d){break l}o=F[j-4>>2];if(!o){break l}d=10;g=0;if((o>>>0)%10|0){break l}while(1){i=g;g=g+1|0;d=L(d,10);if(!((o>>>0)%(d>>>0)|0)){continue}break}g=i^-1}d=L(j-n>>2,9);if((f&-33)==70){r=0;d=(d+g|0)-9|0;d=(d|0)>0?d:0;k=(d|0)>(k|0)?k:d;break k}r=0;d=((d+h|0)+g|0)-9|0;d=(d|0)>0?d:0;k=(d|0)>(k|0)?k:d}o=(k|r)!=0;w=a;d=c;q=f&-33;if((q|0)==70){f=(h|0)>0?h:0}else{g=h>>31;g=Na(g+h^g,0,s);if((s-g|0)<=1){while(1){g=g-1|0;D[g|0]=48;if((s-g|0)<2){continue}break}}z=g-2|0;D[z|0]=f;D[g-1|0]=(h|0)<0?45:43;f=s-z|0}i=(f+(o+(k+u|0)|0)|0)+1|0;va(w,32,d,i,e);ma(a,y,u);va(a,48,c,i,e^65536);m:{n:{o:{if((q|0)==70){f=m+16|0;d=f|8;f=f|9;l=l>>>0>n>>>0?n:l;h=l;while(1){g=Na(F[h>>2],0,f);p:{if((h|0)!=(l|0)){if(m+16>>>0>=g>>>0){break p}while(1){g=g-1|0;D[g|0]=48;if(m+16>>>0>>0){continue}break}break p}if((f|0)!=(g|0)){break p}D[m+24|0]=48;g=d}ma(a,g,f-g|0);h=h+4|0;if(n>>>0>=h>>>0){continue}break}g=0;if(!o){break n}ma(a,1718,1);if((k|0)<1|h>>>0>=j>>>0){break o}while(1){g=Na(F[h>>2],0,f);if(g>>>0>m+16>>>0){while(1){g=g-1|0;D[g|0]=48;if(m+16>>>0>>0){continue}break}}ma(a,g,(k|0)<9?k:9);g=k-9|0;h=h+4|0;if(j>>>0<=h>>>0){break n}d=(k|0)>9;k=g;if(d){continue}break}break n}q:{if((k|0)<0){break q}n=l>>>0>>0?j:l+4|0;d=m+16|0;f=d|9;d=d|8;h=l;while(1){g=Na(F[h>>2],0,f);if((f|0)==(g|0)){D[m+24|0]=48;g=d}r:{if((h|0)!=(l|0)){if(m+16>>>0>=g>>>0){break r}while(1){g=g-1|0;D[g|0]=48;if(m+16>>>0>>0){continue}break}break r}ma(a,g,1);g=g+1|0;if(r?0:(k|0)<=0){break r}ma(a,1718,1)}j=g;g=f-g|0;ma(a,j,(g|0)<(k|0)?g:k);k=k-g|0;h=h+4|0;if(n>>>0<=h>>>0){break q}if((k|0)>-1){continue}break}}va(a,48,k+18|0,18,0);ma(a,z,s-z|0);break m}g=k}va(a,48,g+9|0,9,0)}break b}j=(f<<26>>31&9)+y|0;s:{if(d>>>0>11){break s}g=12-d|0;if(!g){break s}t=8;while(1){t=t*16;g=g-1|0;if(g){continue}break}if(G[j|0]==45){b=-(t+(-b-t));break s}b=b+t-t}h=F[m+44>>2];g=h>>31;g=Na(g^g+h,0,s);if((s|0)==(g|0)){D[m+15|0]=48;g=m+15|0}l=u|2;k=f&32;h=F[m+44>>2];n=g-2|0;D[n|0]=f+15;D[g-1|0]=(h|0)<0?45:43;i=e&8;h=m+16|0;while(1){f=h;q=h;h=k;if(N(b)<2147483648){g=~~b}else{g=-2147483648}D[q|0]=h|G[g+36528|0];b=(b-+(g|0))*16;h=f+1|0;if(!(!(i?1:(d|0)>0|b!=0)|(h-(m+16|0)|0)!=1)){D[f+1|0]=46;h=f+2|0}if(b!=0){continue}break}g=a;f=c;if(!d|((h-m|0)-18|0)>=(d|0)){k=(s-(n+(m+16|0)|0)|0)+h|0}else{k=((d+s|0)-n|0)+2|0}d=k;i=d+l|0;va(g,32,f,i,e);ma(a,j,l);va(a,48,c,i,e^65536);g=m+16|0;f=h-g|0;ma(a,g,f);d=s-n|0;va(a,48,k-(d+f|0)|0,0,0);ma(a,n,d)}va(a,32,c,i,e^8192);_=m+560|0;return((c|0)>(i|0)?c:i)|0}function hb(a,b,c,d,e){var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;g=_-80|0;_=g;F[g+76>>2]=b;t=g+55|0;r=g+56|0;b=0;a:{b:while(1){c:{if((n|0)<0){break c}if((2147483647-n|0)<(b|0)){F[9439]=61;n=-1;break c}n=b+n|0}d:{e:{f:{j=F[g+76>>2];b=j;f=G[b|0];if(f){while(1){g:{f=f&255;h:{if(!f){f=b;break h}if((f|0)!=37){break g}f=b;while(1){if(G[b+1|0]!=37){break h}h=b+2|0;F[g+76>>2]=h;f=f+1|0;k=G[b+2|0];b=h;if((k|0)==37){continue}break}}b=f-j|0;if(a){ma(a,j,b)}if(b){continue b}p=-1;f=1;h=g;b=F[g+76>>2];if(!(D[b+1|0]-48>>>0>=10|G[b+2|0]!=36)){p=D[b+1|0]-48|0;s=1;f=3}b=f+b|0;F[h+76>>2]=b;o=0;i=D[b|0];h=i-32|0;i:{if(h>>>0>31){f=b;break i}f=b;h=1<>2]=f;o=h|o;i=D[b+1|0];h=i-32|0;if(h>>>0>=32){break i}b=f;h=1<>>0>=10){break l}b=F[g+76>>2];if(G[b+2|0]!=36){break l}F[((D[b+1|0]<<2)+e|0)-192>>2]=10;l=F[((D[b+1|0]<<3)+d|0)-384>>2];s=1;b=b+3|0;break k}if(s){break f}s=0;l=0;if(a){b=F[c>>2];F[c>>2]=b+4;l=F[b>>2]}b=F[g+76>>2]+1|0}F[h+76>>2]=b;if((l|0)>-1){break j}l=0-l|0;o=o|8192;break j}l=Hb(g+76|0);if((l|0)<0){break f}b=F[g+76>>2]}k=-1;m:{if(G[b|0]!=46){break m}if(G[b+1|0]==42){n:{if(D[b+2|0]-48>>>0>=10){break n}b=F[g+76>>2];if(G[b+3|0]!=36){break n}F[((D[b+2|0]<<2)+e|0)-192>>2]=10;k=F[((D[b+2|0]<<3)+d|0)-384>>2];b=b+4|0;F[g+76>>2]=b;break m}if(s){break f}if(a){b=F[c>>2];F[c>>2]=b+4;k=F[b>>2]}else{k=0}b=F[g+76>>2]+2|0;F[g+76>>2]=b;break m}F[g+76>>2]=b+1;k=Hb(g+76|0);b=F[g+76>>2]}f=0;while(1){q=f;m=-1;if(D[b|0]-65>>>0>57){break a}i=b+1|0;F[g+76>>2]=i;f=D[b|0];b=i;f=G[(f+L(q,58)|0)+35999|0];if(f-1>>>0<8){continue}break}o:{p:{if((f|0)!=19){if(!f){break a}if((p|0)>=0){F[(p<<2)+e>>2]=f;b=(p<<3)+d|0;f=F[b+4>>2];F[g+64>>2]=F[b>>2];F[g+68>>2]=f;break p}if(!a){break d}Gb(g- -64|0,f,c);i=F[g+76>>2];break o}if((p|0)>-1){break a}}b=0;if(!a){continue b}}h=o&-65537;f=o&8192?h:o;m=0;p=1216;o=r;q:{r:{s:{t:{u:{v:{w:{x:{y:{z:{A:{B:{C:{D:{E:{F:{b=D[i-1|0];b=q?(b&15)==3?b&-33:b:b;switch(b-88|0){case 11:break q;case 9:case 13:case 14:case 15:break r;case 27:break w;case 12:case 17:break z;case 23:break A;case 0:case 32:break B;case 24:break C;case 22:break D;case 29:break E;case 1:case 2:case 3:case 4:case 5:case 6:case 7:case 8:case 10:case 16:case 18:case 19:case 20:case 21:case 25:case 26:case 28:case 30:case 31:break e;default:break F}}G:{switch(b-65|0){case 0:case 4:case 5:case 6:break r;case 2:break u;case 1:case 3:break e;default:break G}}if((b|0)==83){break v}break e}i=F[g+64>>2];h=F[g+68>>2];p=1216;break y}b=0;H:{switch(q&255){case 0:F[F[g+64>>2]>>2]=n;continue b;case 1:F[F[g+64>>2]>>2]=n;continue b;case 2:f=F[g+64>>2];F[f>>2]=n;F[f+4>>2]=n>>31;continue b;case 3:E[F[g+64>>2]>>1]=n;continue b;case 4:D[F[g+64>>2]]=n;continue b;case 6:F[F[g+64>>2]>>2]=n;continue b;case 7:break H;default:continue b}}f=F[g+64>>2];F[f>>2]=n;F[f+4>>2]=n>>31;continue b}k=k>>>0>8?k:8;f=f|8;b=120}j=r;u=b&32;q=F[g+68>>2];h=q;i=F[g+64>>2];if(h|i){while(1){j=j-1|0;D[j|0]=u|G[(i&15)+36528|0];v=!h&i>>>0>15|(h|0)!=0;q=h;h=h>>>4|0;i=(q&15)<<28|i>>>4;if(v){continue}break}}if(!(F[g+64>>2]|F[g+68>>2])|!(f&8)){break x}p=(b>>>4|0)+1216|0;m=2;break x}b=r;j=F[g+68>>2];h=j;i=F[g+64>>2];if(h|i){while(1){b=b-1|0;D[b|0]=i&7|48;q=!h&i>>>0>7|(h|0)!=0;j=h;h=h>>>3|0;i=(j&7)<<29|i>>>3;if(q){continue}break}}j=b;if(!(f&8)){break x}b=r-j|0;k=(b|0)<(k|0)?k:b+1|0;break x}b=F[g+68>>2];h=b;i=F[g+64>>2];if((b|0)<-1?1:(b|0)<=-1){h=0-(h+((i|0)!=0)|0)|0;i=0-i|0;F[g+64>>2]=i;F[g+68>>2]=h;m=1;p=1216;break y}if(f&2048){m=1;p=1217;break y}m=f&1;p=m?1218:1216}j=Na(i,h,r)}f=(k|0)>-1?f&-65537:f;b=F[g+68>>2];h=b;i=F[g+64>>2];if(!(k|((i|0)!=0|(b|0)!=0))){k=0;j=r;break e}b=!(h|i)+(r-j|0)|0;k=(b|0)<(k|0)?k:b;break e}b=k;o=(b|0)!=0;f=F[g+64>>2];j=f?f:1720;f=j;I:{J:{K:{L:{if(!(f&3)|!b){break L}while(1){if(!G[f|0]){break K}b=b-1|0;o=(b|0)!=0;f=f+1|0;if(!(f&3)){break L}if(b){continue}break}}if(!o){break J}}M:{if(!G[f|0]|b>>>0<4){break M}while(1){i=F[f>>2];if((i^-1)&i-16843009&-2139062144){break M}f=f+4|0;b=b-4|0;if(b>>>0>3){continue}break}}if(!b){break J}while(1){i=f;if(!G[f|0]){break I}f=f+1|0;b=b-1|0;if(b){continue}break}}i=0}o=i?i:k+j|0;f=h;k=i?i-j|0:k;break e}if(k){b=F[g+64>>2];break t}b=0;va(a,32,l,0,f);break s}F[g+12>>2]=0;F[g+8>>2]=F[g+64>>2];b=g+8|0;F[g+64>>2]=b;k=-1}h=b;b=0;N:{while(1){j=F[h>>2];if(!j){break N}j=Eb(g+4|0,j);i=(j|0)<0;if(!(i|j>>>0>k-b>>>0)){h=h+4|0;b=b+j|0;if(k>>>0>b>>>0){continue}break N}break}m=-1;if(i){break a}}va(a,32,l,b,f);if(!b){b=0;break s}h=0;i=F[g+64>>2];while(1){j=F[i>>2];if(!j){break s}j=Eb(g+4|0,j);h=j+h|0;if((h|0)>(b|0)){break s}ma(a,g+4|0,j);i=i+4|0;if(b>>>0>h>>>0){continue}break}}va(a,32,l,b,f^8192);b=(b|0)<(l|0)?l:b;continue b}b=aa[7](a,K[g+64>>3],l,k,f,b)|0;continue b}D[g+55|0]=F[g+64>>2];k=1;j=t;f=h;break e}h=b+1|0;F[g+76>>2]=h;f=G[b+1|0];b=h;continue}}m=n;if(a){break a}if(!s){break d}b=1;while(1){a=F[(b<<2)+e>>2];if(a){Gb((b<<3)+d|0,a,c);m=1;b=b+1|0;if((b|0)!=10){continue}break a}break}m=1;if(b>>>0>=10){break a}while(1){if(F[(b<<2)+e>>2]){break f}b=b+1|0;if((b|0)!=10){continue}break}break a}m=-1;break a}i=o-j|0;k=(i|0)>(k|0)?i:k;h=k+m|0;b=(h|0)>(l|0)?h:l;va(a,32,b,h,f);ma(a,p,m);va(a,48,b,h,f^65536);va(a,48,k,i,0);ma(a,j,i);va(a,32,b,h,f^8192);continue}break}m=0}_=g+80|0;return m}function fa(a,b){var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,G=0,H=0,I=0,J=0,K=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,aa=0,ba=0,ca=0,da=0,ea=0;h=a;c=F[b+12>>2];d=c<<1;x=d;s=d>>31;j=c;S=c>>31;c=qe(d,s,c,S);f=$;d=c;T=F[b+16>>2];c=T;n=c;t=c>>31;l=F[b+8>>2];c=l<<1;I=c;C=c>>31;g=qe(n,t,c,C);d=d+g|0;c=$+f|0;c=d>>>0>>0?c+1|0:c;f=d;g=F[b+20>>2];d=g<<1;D=d;E=d>>31;m=F[b+4>>2];d=m<<1;u=d;o=d>>31;e=qe(D,E,d,o);f=f+e|0;d=$+c|0;d=f>>>0>>0?d+1|0:d;i=F[b+24>>2];c=i;O=c;y=c>>31;J=F[b>>2];c=J<<1;v=c;p=c>>31;e=qe(i,y,c,p);f=e+f|0;c=$+d|0;c=f>>>0>>0?c+1|0:c;k=f;d=F[b+32>>2];f=L(d,19);G=f;z=f>>31;U=d;P=d>>31;f=qe(f,z,d,P);d=k+f|0;c=$+c|0;c=d>>>0>>0?c+1|0:c;k=d;A=F[b+36>>2];d=L(A,38);w=d;q=d>>31;f=F[b+28>>2];b=f<<1;Z=b;V=b>>31;e=qe(d,q,b,V);d=k+e|0;b=$+c|0;B=d;r=d>>>0>>0?b+1|0:b;b=qe(u,o,n,t);c=$;d=qe(I,C,j,S);b=d+b|0;c=$+c|0;c=b>>>0>>0?c+1|0:c;_=g;Q=g>>31;e=qe(g,Q,v,p);b=e+b|0;d=$+c|0;d=b>>>0>>0?d+1|0:d;e=qe(G,z,Z,V);b=e+b|0;c=$+d|0;c=b>>>0>>0?c+1|0:c;d=qe(w,q,i,y);b=d+b|0;c=$+c|0;k=b;K=b>>>0>>0?c+1|0:c;b=qe(u,o,x,s);d=$;e=l;M=e>>31;l=qe(e,M,e,M);c=l+b|0;b=$+d|0;b=c>>>0>>0?b+1|0:b;l=qe(v,p,n,t);d=l+c|0;c=$+b|0;c=d>>>0>>0?c+1|0:c;b=L(f,38);R=b;N=b>>31;l=f;W=f>>31;f=qe(b,N,f,W);b=f+d|0;d=$+c|0;d=b>>>0>>0?d+1|0:d;c=b;b=i<<1;f=qe(G,z,b,b>>31);b=c+f|0;c=$+d|0;c=b>>>0>>0?c+1|0:c;d=qe(w,q,D,E);b=d+b|0;c=$+c|0;X=b;c=b>>>0>>0?c+1|0:c;ca=c;b=c;c=X+33554432|0;b=c>>>0<33554432?b+1|0:b;aa=c;da=b;c=b>>26;d=(b&67108863)<<6|aa>>>26;b=d+k|0;c=c+K|0;K=b;d=b>>>0>>0?c+1|0:c;b=b+16777216|0;d=b>>>0<16777216?d+1|0:d;ea=b;c=d>>25;d=(d&33554431)<<7|b>>>25;b=d+B|0;c=c+r|0;c=b>>>0>>0?c+1|0:c;d=b;b=c;c=d+33554432|0;b=c>>>0<33554432?b+1|0:b;k=c;f=b;b=c&-67108864;F[h+24>>2]=d-b;b=qe(v,p,e,M);c=$;h=m;H=h>>31;m=qe(u,o,h,H);b=m+b|0;d=$+c|0;d=b>>>0>>0?d+1|0:d;c=b;b=L(i,19);m=b;B=b>>31;i=qe(b,B,i,y);b=c+i|0;c=$+d|0;c=b>>>0>>0?c+1|0:c;i=qe(D,E,R,N);d=i+b|0;b=$+c|0;b=d>>>0>>0?b+1|0:b;c=n<<1;ba=c;Y=c>>31;i=qe(G,z,c,Y);d=i+d|0;c=$+b|0;c=d>>>0>>0?c+1|0:c;b=d;d=qe(w,q,x,s);b=b+d|0;c=$+c|0;r=b;i=b>>>0>>0?c+1|0:c;b=qe(D,E,m,B);c=$;h=qe(v,p,h,H);b=h+b|0;d=$+c|0;d=b>>>0>>0?d+1|0:d;h=qe(n,t,R,N);b=h+b|0;c=$+d|0;c=b>>>0>>0?c+1|0:c;h=qe(G,z,x,s);d=h+b|0;b=$+c|0;b=d>>>0>>0?b+1|0:b;h=qe(w,q,e,M);d=h+d|0;c=$+b|0;H=d;h=d>>>0>>0?c+1|0:c;b=L(g,38);b=qe(b,b>>31,g,Q);c=$;g=b;b=J;d=b>>31;d=qe(b,d,b,d);b=g+d|0;c=$+c|0;c=b>>>0>>0?c+1|0:c;g=qe(m,B,ba,Y);b=g+b|0;d=$+c|0;d=b>>>0>>0?d+1|0:d;g=qe(x,s,R,N);b=g+b|0;c=$+d|0;c=b>>>0>>0?c+1|0:c;g=qe(G,z,I,C);d=g+b|0;b=$+c|0;b=d>>>0>>0?b+1|0:b;g=qe(u,o,w,q);d=g+d|0;c=$+b|0;m=d;c=d>>>0>>0?c+1|0:c;B=c;b=d+33554432|0;c=b>>>0<33554432?c+1|0:c;J=b;T=c;b=c>>26;g=(c&67108863)<<6|J>>>26;c=g+H|0;d=b+h|0;h=c;c=c>>>0>>0?d+1|0:d;b=h+16777216|0;c=b>>>0<16777216?c+1|0:c;H=b;g=(c&33554431)<<7|b>>>25;d=g+r|0;c=(c>>25)+i|0;c=d>>>0>>0?c+1|0:c;b=d;d=b+33554432|0;c=d>>>0<33554432?c+1|0:c;i=d;g=c;c=d&-67108864;F[a+8>>2]=b-c;b=qe(I,C,_,Q);c=$;d=qe(n,t,x,s);b=d+b|0;c=$+c|0;c=b>>>0>>0?c+1|0:c;d=qe(u,o,O,y);b=d+b|0;c=$+c|0;c=b>>>0>>0?c+1|0:c;d=qe(v,p,l,W);b=d+b|0;c=$+c|0;c=b>>>0>>0?c+1|0:c;r=qe(w,q,U,P);d=r+b|0;b=$+c|0;b=d>>>0>>0?b+1|0:b;c=f>>26;k=(f&67108863)<<6|k>>>26;f=k+d|0;d=b+c|0;d=f>>>0>>0?d+1|0:d;b=f;c=d;d=b+16777216|0;c=d>>>0<16777216?c+1|0:c;k=d;f=c;c=d&-33554432;F[a+28>>2]=b-c;b=qe(v,p,j,S);d=$;e=qe(u,o,e,M);c=e+b|0;b=$+d|0;b=c>>>0>>0?b+1|0:b;e=qe(O,y,R,N);c=e+c|0;d=$+b|0;d=c>>>0>>0?d+1|0:d;e=qe(G,z,D,E);b=e+c|0;c=$+d|0;c=b>>>0>>0?c+1|0:c;d=qe(w,q,n,t);b=d+b|0;c=$+c|0;c=b>>>0>>0?c+1|0:c;d=g>>26;g=(g&67108863)<<6|i>>>26;b=g+b|0;c=c+d|0;c=b>>>0>>0?c+1|0:c;d=b;b=c;c=d+16777216|0;b=c>>>0<16777216?b+1|0:b;i=c;g=b;b=c&-33554432;F[a+12>>2]=d-b;e=a;b=qe(O,y,I,C);c=$;d=qe(n,t,n,t);b=d+b|0;c=$+c|0;c=b>>>0>>0?c+1|0:c;d=qe(x,s,D,E);b=d+b|0;c=$+c|0;c=b>>>0>>0?c+1|0:c;j=qe(u,o,Z,V);d=j+b|0;b=$+c|0;b=d>>>0>>0?b+1|0:b;j=qe(v,p,U,P);c=j+d|0;d=$+b|0;d=c>>>0>>0?d+1|0:d;j=A;r=j>>31;A=qe(w,q,j,r);b=A+c|0;c=$+d|0;c=b>>>0>>0?c+1|0:c;a=b;b=f>>25;f=(f&33554431)<<7|k>>>25;d=a+f|0;c=b+c|0;c=d>>>0>>0?c+1|0:c;b=d;d=b+33554432|0;c=d>>>0<33554432?c+1|0:c;A=d;f=c;c=d&-67108864;F[e+32>>2]=b-c;K=K-(ea&-33554432)|0;c=g>>25;g=(g&33554431)<<7|i>>>25;b=aa&-67108864;d=g+(X-b|0)|0;b=c+(ca-((b>>>0>X>>>0)+da|0)|0)|0;b=d>>>0>>0?b+1|0:b;c=b;b=d+33554432|0;c=b>>>0<33554432?c+1|0:c;g=b;b=((c&67108863)<<6|b>>>26)+K|0;F[e+20>>2]=b;b=g&-67108864;F[e+16>>2]=d-b;g=e;b=qe(x,s,O,y);d=$;e=qe(_,Q,ba,Y);c=e+b|0;b=$+d|0;b=c>>>0>>0?b+1|0:b;e=qe(I,C,l,W);d=e+c|0;c=$+b|0;c=d>>>0>>0?c+1|0:c;e=qe(u,o,U,P);b=e+d|0;d=$+c|0;d=b>>>0>>0?d+1|0:d;e=qe(v,p,j,r);b=e+b|0;c=$+d|0;d=b;b=b>>>0>>0?c+1|0:c;c=f>>26;f=(f&67108863)<<6|A>>>26;d=f+d|0;c=b+c|0;c=d>>>0>>0?c+1|0:c;f=d;b=c;c=d+16777216|0;b=c>>>0<16777216?b+1|0:b;d=c&-33554432;F[g+36>>2]=f-d;e=qe((b&33554431)<<7|c>>>25,b>>25,19,0);d=J&-67108864;b=e+(m-d|0)|0;c=$+(B-((d>>>0>m>>>0)+T|0)|0)|0;d=b;b=b>>>0>>0?c+1|0:c;c=d+33554432|0;b=c>>>0<33554432?b+1|0:b;b=(h-(H&-33554432)|0)+((b&67108863)<<6|c>>>26)|0;F[g+4>>2]=b;a=c&-67108864;F[g>>2]=d-a}function ga(a,b){var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0;p=_-160|0;_=p;c=b;z=F[c>>2];d=F[c+16>>2];q=d;r=d>>31;d=F[c+24>>2];s=d;t=d>>31;J=F[c+8>>2];d=F[c+32>>2];u=d;v=d>>31;l=F[c+40>>2];f=p;d=F[c+72>>2];i=d;I=d;n=d>>31;c=F[c+48>>2];A=c;w=c>>31;x=qe(d,n,c,w);o=$;c=F[b+64>>2];d=c>>31;m=d;e=d;d=F[b+56>>2];g=d;j=c;H=d;B=d>>31;d=qe(c,e,d,B);c=d+x|0;b=$+o|0;k=c;b=c>>>0>>0?b+1|0:b;e=b;d=b<<1|c>>>31;F[f+120>>2]=c<<1;F[f+124>>2]=d;d=f;c=l;y=c;o=c>>31;b=qe(j,m,c,o);f=$;h=qe(A,w,g,B);c=h+b|0;b=$+f|0;b=c>>>0>>0?b+1|0:b;h=qe(u,v,i,n);f=h+c|0;c=$+b|0;E=f;c=f>>>0>>0?c+1|0:c;h=c;f=d;d=E;b=c<<1|d>>>31;F[f+104>>2]=d<<1;F[f+108>>2]=b;b=qe(s,t,A,w);c=$;f=qe(u,v,y,o);b=f+b|0;d=$+c|0;d=b>>>0>>0?d+1|0:d;f=qe(q,r,g,B);b=f+b|0;c=$+d|0;c=b>>>0>>0?c+1|0:c;l=b;b=J;J=0;f=b;K=b;D=b>>31;L=qe(j,m,b,D);d=L+l|0;b=$+c|0;l=d;c=d>>>0>>0?b+1|0:b;L=0;b=z;C=b;x=b>>31;d=qe(i,n,b,x);b=d+l|0;c=$+c|0;c=b>>>0>>0?c+1|0:c;F[p+72>>2]=b<<1;F[p+76>>2]=c<<1|b>>>31;b=p;c=qe(i,n,(g&1073741823)<<2|G>>>30,g>>30);g=$;G=qe(j,m,j,m);d=G+c|0;c=$+g|0;g=d;c=d>>>0>>0?c+1|0:c;G=c;F[b+128>>2]=d;F[b+132>>2]=c;d=b;b=qe(q,r,u,v);l=$;z=qe(s,t,s,t);c=z+b|0;b=$+l|0;b=c>>>0>>0?b+1|0:b;z=c;c=b;b=f;d=b>>31;d=qe(y,o,(b&2147483647)<<1|J>>>31,d);b=d+z|0;c=$+c|0;c=b>>>0>>0?c+1|0:c;l=qe(C,x,A,w);d=l+b|0;b=$+c|0;c=d;d=(c>>>0>>0?b+1|0:b)<<1|c>>>31;l=c<<1;b=g+l|0;c=d+G|0;g=qe(g,G,18,0);d=g+b|0;b=$+(b>>>0>>0?c+1|0:c)|0;F[p+48>>2]=d;F[p+52>>2]=d>>>0>>0?b+1|0:b;b=qe(k,e,36,0);G=$;c=qe(u,v,f,D);d=$;l=b;g=k;k=qe(q,r,s,t);b=k+c|0;c=$+d|0;c=b>>>0>>0?c+1|0:c;k=qe(y,o,C,x);d=k+b|0;b=$+c|0;b=d>>>0>>0?b+1|0:b;k=d;c=g+d|0;d=b+e|0;b=c;c=(c>>>0>>0?d+1|0:d)<<1|c>>>31;d=b<<1;b=l+d|0;c=c+G|0;g=p;F[g+40>>2]=b;F[g+44>>2]=b>>>0>>0?c+1|0:c;b=qe(E,h,36,0);g=$;c=qe(s,t,C,x);d=$;e=b;k=qe(q,r,f,D);c=k+c|0;b=$+d|0;b=c>>>0>>0?b+1|0:b;d=c;c=c+E|0;b=b+h|0;b=c>>>0>>0?b+1|0:b;d=c;c=b<<1|c>>>31;h=d<<1;b=e+h|0;d=c+g|0;e=p;F[e+24>>2]=b;F[e+28>>2]=b>>>0>>0?d+1|0:d;h=qe((i&2147483647)<<1|M>>>31,i>>31,i,n);b=$;i=b;c=e;F[c+144>>2]=h;F[c+148>>2]=b;b=c;g=qe(u,v,u,v);k=$;c=qe(C,x,j,m);e=$;E=qe(q,r,A,w);d=E+c|0;c=$+e|0;c=d>>>0>>0?c+1|0:c;E=qe(f,D,H,B);M=$;e=b;z=g;l=d;g=qe(s,t,y,o);d=g+E|0;b=$+M|0;b=d>>>0>>0?b+1|0:b;b=b<<1|d>>>31;g=d<<1;d=l+g|0;c=b+c|0;c=d>>>0>>0?c+1|0:c;b=c<<1|d>>>31;g=d<<1;c=z+g|0;d=b+k|0;h=qe(h,i,19,0);b=h+c|0;c=$+(c>>>0>>0?d+1|0:d)|0;F[e+64>>2]=b;F[e+68>>2]=b>>>0>>0?c+1|0:c;i=qe(I,n,(j&2147483647)<<1|N>>>31,j>>31);b=$;c=e;F[c+136>>2]=i;F[c+140>>2]=b;e=b;b=qe(q,r,y,o);d=$;h=c;g=qe(s,t,u,v);c=g+b|0;b=$+d|0;b=c>>>0>>0?b+1|0:b;g=qe(f,D,A,w);d=g+c|0;c=$+b|0;c=d>>>0>>0?c+1|0:c;g=qe(C,x,H,B);b=g+d|0;d=$+c|0;c=b;b=(c>>>0>>0?d+1|0:d)<<1|c>>>31;g=c<<1;d=g+i|0;c=b+e|0;c=d>>>0>>0?c+1|0:c;e=qe(i,e,18,0);d=e+d|0;b=$+c|0;F[h+56>>2]=d;F[h+60>>2]=d>>>0>>0?b+1|0:b;b=h;c=qe(A,w,j,m);e=$;h=qe(H,B,H,B);d=h+c|0;c=$+e|0;e=d;d=d>>>0>>0?c+1|0:c;c=e;e=qe(I,n,(y&2147483647)<<1|O>>>31,y>>31);c=c+e|0;d=$+d|0;d=c>>>0>>0?d+1|0:d;e=c;i=d;c=d<<1|c>>>31;h=e<<1;F[b+112>>2]=h;F[b+116>>2]=c;d=b;k=c;b=qe(s,t,(f&1073741823)<<2|J>>>30,f>>30);f=$;g=qe(q,r,q,r);c=g+b|0;b=$+f|0;b=c>>>0>>0?b+1|0:b;f=d;z=h;g=(C&2147483647)<<1|L>>>31;h=C>>31;d=qe(u,v,g,h);c=d+c|0;b=$+b|0;b=c>>>0>>0?b+1|0:b;l=c;c=z+c|0;d=b+k|0;e=qe(e,i,36,0);b=e+c|0;c=$+(c>>>0>>0?d+1|0:d)|0;F[f+32>>2]=b;F[f+36>>2]=b>>>0>>0?c+1|0:c;d=f;b=qe(u,v,H,B);f=$;e=qe(y,o,A,w);c=e+b|0;b=$+f|0;b=c>>>0>>0?b+1|0:b;e=qe(s,t,j,m);f=e+c|0;c=$+b|0;c=f>>>0>>0?c+1|0:c;e=qe(q,r,I,n);f=e+f|0;b=$+c|0;c=f;b=c>>>0>>0?b+1|0:b;f=b;e=d;b=b<<1|c>>>31;d=c<<1;F[e+88>>2]=d;F[e+92>>2]=b;i=qe(K,D,g,h);h=i+d|0;d=$+b|0;f=qe(c,f,36,0);b=f+h|0;c=$+(h>>>0>>0?d+1|0:d)|0;F[e+8>>2]=b;F[e+12>>2]=b>>>0>>0?c+1|0:c;f=e;b=qe(A,w,A,w);e=$;c=qe(u,v,j,m);h=$;d=qe(s,t,I,n);i=$;l=b;g=c;b=d;d=qe(y,o,H,B);b=b+d|0;c=$+i|0;c=b>>>0>>0?c+1|0:c;d=c<<1|b>>>31;i=b<<1;c=g+i|0;b=d+h|0;d=c;c=(c>>>0>>0?b+1|0:b)<<1|c>>>31;h=d<<1;d=l+h|0;b=c+e|0;b=d>>>0>>0?b+1|0:b;h=d;F[f+96>>2]=d;F[f+100>>2]=b;c=qe(q,r,C,x);i=$;k=qe(K,D,K,D);d=k+c|0;c=$+i|0;c=d>>>0>>0?c+1|0:c;k=d<<1;i=k+h|0;d=(c<<1|d>>>31)+b|0;e=qe(h,b,18,0);c=e+i|0;b=$+(i>>>0>>0?d+1|0:d)|0;F[f+16>>2]=c;F[f+20>>2]=c>>>0>>0?b+1|0:b;b=qe(u,v,A,w);d=$;e=qe(y,o,y,o);c=e+b|0;b=$+d|0;j=qe(q,r,j,m);d=j+c|0;c=$+(c>>>0>>0?b+1|0:b)|0;b=d;d=b>>>0>>0?c+1|0:c;c=qe(K,D,I,n);j=$;e=b;m=qe(s,t,H,B);b=m+c|0;c=$+j|0;j=b;b=(b>>>0>>0?c+1|0:c)<<1|b>>>31;j=j<<1;c=e+j|0;d=b+d|0;d=c>>>0>>0?d+1|0:d;j=c;b=c;c=d<<1|c>>>31;b=b<<1;F[f+80>>2]=b;F[f+84>>2]=c;n=qe(C,x,C,x);f=n+b|0;b=$+c|0;m=qe(j,d,36,0);j=m+f|0;c=$+(f>>>0>>0?b+1|0:b)|0;d=p;F[d>>2]=j;F[d+4>>2]=j>>>0>>0?c+1|0:c;wa(d);ja(a,d,80);_=d+160|0}function ab(a,b,c){var d=0,e=0,f=0,g=0,h=0,i=0;F[a+4>>2]=0;F[a+8>>2]=0;D[a|0]=0;F[a+12>>2]=0;F[a+16>>2]=0;F[a+20>>2]=0;F[a+24>>2]=0;F[a+28>>2]=0;F[a+32>>2]=0;a:{if(!c){break a}D[a|0]=G[b|0];if((c|0)==1){break a}f=b+c|0;b=b+1|0;while(1){g=b;if(G[b|0]==10){e=g+1|0;b=e;while(1){b:{if((b|0)==(f|0)){c=f;break b}d=D[b|0];c=b+1|0;b=c;if((d|0)<0){continue}}break}c:{if((c|0)==(e|0)){d=0;break c}i=c-e|0;h=i&3;d=0;b=c;if(b+(e^-1)>>>0>=3){e=i&-4;while(1){d=(G[b-2|0]&127|(d<<14|(G[b-1|0]&127)<<7))<<14|(G[b-3|0]&127)<<7;b=b-4|0;d=d|G[b|0]&127;e=e-4|0;if(e){continue}break}}if(h){while(1){b=b-1|0;d=G[b|0]&127|d<<7;h=h-1|0;if(h){continue}break}}if(f-c>>>0>>0){break a}}F[a+24>>2]=d;F[a+20>>2]=c;b=c+d|0}if((b|0)==(f|0)){break a}if(G[b|0]==18){e=b+1|0;b=e;while(1){d:{if((b|0)==(f|0)){c=f;break d}d=D[b|0];c=b+1|0;b=c;if((d|0)<0){continue}}break}e:{if((c|0)==(e|0)){d=0;break e}i=c-e|0;h=i&3;d=0;b=c;if(b+(e^-1)>>>0>=3){e=i&-4;while(1){d=(G[b-2|0]&127|(d<<14|(G[b-1|0]&127)<<7))<<14|(G[b-3|0]&127)<<7;b=b-4|0;d=d|G[b|0]&127;e=e-4|0;if(e){continue}break}}if(h){while(1){b=b-1|0;d=G[b|0]&127|d<<7;h=h-1|0;if(h){continue}break}}if(f-c>>>0>>0){break a}}F[a+16>>2]=d;F[a+12>>2]=c;b=c+d|0}if((b|0)==(f|0)){break a}if(G[b|0]==26){e=b+1|0;b=e;while(1){f:{if((b|0)==(f|0)){c=f;break f}d=D[b|0];c=b+1|0;b=c;if((d|0)<0){continue}}break}g:{if((c|0)==(e|0)){d=0;break g}i=c-e|0;h=i&3;d=0;b=c;if(b+(e^-1)>>>0>=3){e=i&-4;while(1){d=(G[b-2|0]&127|(d<<14|(G[b-1|0]&127)<<7))<<14|(G[b-3|0]&127)<<7;b=b-4|0;d=d|G[b|0]&127;e=e-4|0;if(e){continue}break}}if(h){while(1){b=b-1|0;d=G[b|0]&127|d<<7;h=h-1|0;if(h){continue}break}}if(f-c>>>0>>0){break a}}F[a+8>>2]=d;F[a+4>>2]=c;b=c+d|0}if((b|0)==(f|0)){break a}if(G[b|0]==34){e=b+1|0;b=e;while(1){h:{if((b|0)==(f|0)){c=f;break h}d=D[b|0];c=b+1|0;b=c;if((d|0)<0){continue}}break}i:{if((c|0)==(e|0)){d=0;break i}i=c-e|0;h=i&3;d=0;b=c;if(b+(e^-1)>>>0>=3){e=i&-4;while(1){d=(G[b-2|0]&127|(d<<14|(G[b-1|0]&127)<<7))<<14|(G[b-3|0]&127)<<7;b=b-4|0;d=d|G[b|0]&127;e=e-4|0;if(e){continue}break}}if(h){while(1){b=b-1|0;d=G[b|0]&127|d<<7;h=h-1|0;if(h){continue}break}}if(f-c>>>0>>0){break a}}F[a+32>>2]=d;F[a+28>>2]=c;b=c+d|0}j:{if((b|0)==(f|0)|(b|0)!=(g|0)){break j}k:{switch(G[g|0]&7){case 0:while(1){l:{if((f|0)==(g|0)){d=f;break l}b=D[g|0];d=g+1|0;g=d;if((b|0)<0){continue}}break};while(1){if((d|0)==(f|0)){b=f;break j}c=D[d|0];b=d+1|0;d=b;if((c|0)<=-1){continue}break};break j;case 2:break k;default:break a}}while(1){m:{if((f|0)==(g|0)){b=f;break m}c=D[g|0];b=g+1|0;g=b;if((c|0)<0){continue}}break}g=b;while(1){n:{if((f|0)==(g|0)){c=f;break n}d=D[g|0];c=g+1|0;g=c;if((d|0)<0){continue}}break}if((b|0)==(c|0)){break j}e=c-b|0;h=e&3;d=0;g=c;if((b^-1)+c>>>0>=3){b=e&-4;while(1){e=(G[g-2|0]&127|(d<<14|(G[g-1|0]&127)<<7))<<14|(G[g-3|0]&127)<<7;g=g-4|0;d=e|G[g|0]&127;b=b-4|0;if(b){continue}break}}if(h){while(1){g=g-1|0;d=G[g|0]&127|d<<7;h=h-1|0;if(h){continue}break}}if(f-c>>>0>>0){break a}b=c+d|0}if((b|0)!=(f|0)){continue}break}}}function Qb(a,b,c){var d=0,e=0,f=0,g=0;a:{if(!a){break a}d=a+32|0;if(d>>>0>b>>>0){break a}f=G[a+4|0]|G[a+5|0]<<8|(G[a+6|0]<<16|G[a+7|0]<<24);g=G[a|0]|G[a+1|0]<<8|(G[a+2|0]<<16|G[a+3|0]<<24);D[c|0]=g;D[c+1|0]=g>>>8;D[c+2|0]=g>>>16;D[c+3|0]=g>>>24;D[c+4|0]=f;D[c+5|0]=f>>>8;D[c+6|0]=f>>>16;D[c+7|0]=f>>>24;f=G[a+28|0]|G[a+29|0]<<8|(G[a+30|0]<<16|G[a+31|0]<<24);g=G[a+24|0]|G[a+25|0]<<8|(G[a+26|0]<<16|G[a+27|0]<<24);D[c+24|0]=g;D[c+25|0]=g>>>8;D[c+26|0]=g>>>16;D[c+27|0]=g>>>24;D[c+28|0]=f;D[c+29|0]=f>>>8;D[c+30|0]=f>>>16;D[c+31|0]=f>>>24;f=G[a+20|0]|G[a+21|0]<<8|(G[a+22|0]<<16|G[a+23|0]<<24);g=G[a+16|0]|G[a+17|0]<<8|(G[a+18|0]<<16|G[a+19|0]<<24);D[c+16|0]=g;D[c+17|0]=g>>>8;D[c+18|0]=g>>>16;D[c+19|0]=g>>>24;D[c+20|0]=f;D[c+21|0]=f>>>8;D[c+22|0]=f>>>16;D[c+23|0]=f>>>24;f=G[a+12|0]|G[a+13|0]<<8|(G[a+14|0]<<16|G[a+15|0]<<24);g=G[a+8|0]|G[a+9|0]<<8|(G[a+10|0]<<16|G[a+11|0]<<24);D[c+8|0]=g;D[c+9|0]=g>>>8;D[c+10|0]=g>>>16;D[c+11|0]=g>>>24;D[c+12|0]=f;D[c+13|0]=f>>>8;D[c+14|0]=f>>>16;D[c+15|0]=f>>>24;f=b;b=a+96|0;if(f>>>0>>0){break a}a=d;d=G[a+4|0]|G[a+5|0]<<8|(G[a+6|0]<<16|G[a+7|0]<<24);e=G[a|0]|G[a+1|0]<<8|(G[a+2|0]<<16|G[a+3|0]<<24);D[c+32|0]=e;D[c+33|0]=e>>>8;D[c+34|0]=e>>>16;D[c+35|0]=e>>>24;D[c+36|0]=d;D[c+37|0]=d>>>8;D[c+38|0]=d>>>16;D[c+39|0]=d>>>24;d=G[a+60|0]|G[a+61|0]<<8|(G[a+62|0]<<16|G[a+63|0]<<24);e=G[a+56|0]|G[a+57|0]<<8|(G[a+58|0]<<16|G[a+59|0]<<24);D[c+88|0]=e;D[c+89|0]=e>>>8;D[c+90|0]=e>>>16;D[c+91|0]=e>>>24;D[c+92|0]=d;D[c+93|0]=d>>>8;D[c+94|0]=d>>>16;D[c+95|0]=d>>>24;d=G[a+52|0]|G[a+53|0]<<8|(G[a+54|0]<<16|G[a+55|0]<<24);e=G[a+48|0]|G[a+49|0]<<8|(G[a+50|0]<<16|G[a+51|0]<<24);D[c+80|0]=e;D[c+81|0]=e>>>8;D[c+82|0]=e>>>16;D[c+83|0]=e>>>24;D[c+84|0]=d;D[c+85|0]=d>>>8;D[c+86|0]=d>>>16;D[c+87|0]=d>>>24;d=G[a+44|0]|G[a+45|0]<<8|(G[a+46|0]<<16|G[a+47|0]<<24);e=G[a+40|0]|G[a+41|0]<<8|(G[a+42|0]<<16|G[a+43|0]<<24);D[c+72|0]=e;D[c+73|0]=e>>>8;D[c+74|0]=e>>>16;D[c+75|0]=e>>>24;D[c+76|0]=d;D[c+77|0]=d>>>8;D[c+78|0]=d>>>16;D[c+79|0]=d>>>24;e=G[a+36|0]|G[a+37|0]<<8|(G[a+38|0]<<16|G[a+39|0]<<24);d=c- -64|0;f=G[a+32|0]|G[a+33|0]<<8|(G[a+34|0]<<16|G[a+35|0]<<24);D[d|0]=f;D[d+1|0]=f>>>8;D[d+2|0]=f>>>16;D[d+3|0]=f>>>24;D[d+4|0]=e;D[d+5|0]=e>>>8;D[d+6|0]=e>>>16;D[d+7|0]=e>>>24;d=G[a+28|0]|G[a+29|0]<<8|(G[a+30|0]<<16|G[a+31|0]<<24);e=G[a+24|0]|G[a+25|0]<<8|(G[a+26|0]<<16|G[a+27|0]<<24);D[c+56|0]=e;D[c+57|0]=e>>>8;D[c+58|0]=e>>>16;D[c+59|0]=e>>>24;D[c+60|0]=d;D[c+61|0]=d>>>8;D[c+62|0]=d>>>16;D[c+63|0]=d>>>24;d=G[a+20|0]|G[a+21|0]<<8|(G[a+22|0]<<16|G[a+23|0]<<24);e=G[a+16|0]|G[a+17|0]<<8|(G[a+18|0]<<16|G[a+19|0]<<24);D[c+48|0]=e;D[c+49|0]=e>>>8;D[c+50|0]=e>>>16;D[c+51|0]=e>>>24;D[c+52|0]=d;D[c+53|0]=d>>>8;D[c+54|0]=d>>>16;D[c+55|0]=d>>>24;d=G[a+12|0]|G[a+13|0]<<8|(G[a+14|0]<<16|G[a+15|0]<<24);a=G[a+8|0]|G[a+9|0]<<8|(G[a+10|0]<<16|G[a+11|0]<<24);D[c+40|0]=a;D[c+41|0]=a>>>8;D[c+42|0]=a>>>16;D[c+43|0]=a>>>24;D[c+44|0]=d;D[c+45|0]=d>>>8;D[c+46|0]=d>>>16;D[c+47|0]=d>>>24;e=b}return e}function Xc(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0;a:{if(!a){break a}d=a-8|0;b=F[a-4>>2];a=b&-8;f=d+a|0;b:{if(b&1){break b}if(!(b&3)){break a}b=F[d>>2];d=d-b|0;if(d>>>0>>0<=255){e=F[d+8>>2];b=b>>>3|0;c=F[d+12>>2];if((c|0)==(e|0)){F[9456]=F[9456]&se(-2,b);break b}F[e+12>>2]=c;F[c+8>>2]=e;break b}h=F[d+24>>2];b=F[d+12>>2];c:{if((d|0)!=(b|0)){c=F[d+8>>2];F[c+12>>2]=b;F[b+8>>2]=c;break c}d:{e=d+20|0;c=F[e>>2];if(c){break d}e=d+16|0;c=F[e>>2];if(c){break d}b=0;break c}while(1){g=e;b=c;e=b+20|0;c=F[e>>2];if(c){continue}e=b+16|0;c=F[b+16>>2];if(c){continue}break}F[g>>2]=0}if(!h){break b}e=F[d+28>>2];c=(e<<2)+38128|0;e:{if(F[c>>2]==(d|0)){F[c>>2]=b;if(b){break e}F[9457]=F[9457]&se(-2,e);break b}F[h+(F[h+16>>2]==(d|0)?16:20)>>2]=b;if(!b){break b}}F[b+24>>2]=h;c=F[d+16>>2];if(c){F[b+16>>2]=c;F[c+24>>2]=b}c=F[d+20>>2];if(!c){break b}F[b+20>>2]=c;F[c+24>>2]=b;break b}b=F[f+4>>2];if((b&3)!=3){break b}F[9458]=a;F[f+4>>2]=b&-2;F[d+4>>2]=a|1;F[a+d>>2]=a;return}if(d>>>0>=f>>>0){break a}b=F[f+4>>2];if(!(b&1)){break a}f:{if(!(b&2)){if(F[9462]==(f|0)){F[9462]=d;a=F[9459]+a|0;F[9459]=a;F[d+4>>2]=a|1;if(F[9461]!=(d|0)){break a}F[9458]=0;F[9461]=0;return}if(F[9461]==(f|0)){F[9461]=d;a=F[9458]+a|0;F[9458]=a;F[d+4>>2]=a|1;F[a+d>>2]=a;return}a=(b&-8)+a|0;g:{if(b>>>0<=255){e=F[f+8>>2];b=b>>>3|0;c=F[f+12>>2];if((c|0)==(e|0)){F[9456]=F[9456]&se(-2,b);break g}F[e+12>>2]=c;F[c+8>>2]=e;break g}h=F[f+24>>2];b=F[f+12>>2];h:{if((f|0)!=(b|0)){c=F[f+8>>2];F[c+12>>2]=b;F[b+8>>2]=c;break h}i:{e=f+20|0;c=F[e>>2];if(c){break i}e=f+16|0;c=F[e>>2];if(c){break i}b=0;break h}while(1){g=e;b=c;e=b+20|0;c=F[e>>2];if(c){continue}e=b+16|0;c=F[b+16>>2];if(c){continue}break}F[g>>2]=0}if(!h){break g}e=F[f+28>>2];c=(e<<2)+38128|0;j:{if(F[c>>2]==(f|0)){F[c>>2]=b;if(b){break j}F[9457]=F[9457]&se(-2,e);break g}F[h+(F[h+16>>2]==(f|0)?16:20)>>2]=b;if(!b){break g}}F[b+24>>2]=h;c=F[f+16>>2];if(c){F[b+16>>2]=c;F[c+24>>2]=b}c=F[f+20>>2];if(!c){break g}F[b+20>>2]=c;F[c+24>>2]=b}F[d+4>>2]=a|1;F[a+d>>2]=a;if(F[9461]!=(d|0)){break f}F[9458]=a;return}F[f+4>>2]=b&-2;F[d+4>>2]=a|1;F[a+d>>2]=a}if(a>>>0<=255){a=a>>>3|0;b=(a<<3)+37864|0;c=F[9456];a=1<>2]}F[b+8>>2]=d;F[a+12>>2]=d;F[d+12>>2]=b;F[d+8>>2]=a;return}e=31;F[d+16>>2]=0;F[d+20>>2]=0;if(a>>>0<=16777215){b=a>>>8|0;g=b+1048320>>>16&8;b=b<>>16&4;b=b<>>16&2;b=(b<>>15|0)-(c|(e|g))|0;e=(b<<1|a>>>b+21&1)+28|0}F[d+28>>2]=e;g=(e<<2)+38128|0;l:{m:{c=F[9457];b=1<>2]=d;F[d+24>>2]=g;break n}e=a<<((e|0)==31?0:25-(e>>>1|0)|0);b=F[g>>2];while(1){c=b;if((F[b+4>>2]&-8)==(a|0)){break m}b=e>>>29|0;e=e<<1;g=c+(b&4)|0;b=F[g+16>>2];if(b){continue}break}F[g+16>>2]=d;F[d+24>>2]=c}F[d+12>>2]=d;F[d+8>>2]=d;break l}a=F[c+8>>2];F[a+12>>2]=d;F[c+8>>2]=d;F[d+24>>2]=0;F[d+12>>2]=c;F[d+8>>2]=a}a=F[9464]-1|0;F[9464]=a?a:-1}}function Sb(a,b){var c=0,d=0,e=0;c=G[b+4|0]|G[b+5|0]<<8|(G[b+6|0]<<16|G[b+7|0]<<24);d=G[b|0]|G[b+1|0]<<8|(G[b+2|0]<<16|G[b+3|0]<<24);D[a|0]=d;D[a+1|0]=d>>>8;D[a+2|0]=d>>>16;D[a+3|0]=d>>>24;D[a+4|0]=c;D[a+5|0]=c>>>8;D[a+6|0]=c>>>16;D[a+7|0]=c>>>24;c=G[b+28|0]|G[b+29|0]<<8|(G[b+30|0]<<16|G[b+31|0]<<24);d=G[b+24|0]|G[b+25|0]<<8|(G[b+26|0]<<16|G[b+27|0]<<24);D[a+24|0]=d;D[a+25|0]=d>>>8;D[a+26|0]=d>>>16;D[a+27|0]=d>>>24;D[a+28|0]=c;D[a+29|0]=c>>>8;D[a+30|0]=c>>>16;D[a+31|0]=c>>>24;c=G[b+20|0]|G[b+21|0]<<8|(G[b+22|0]<<16|G[b+23|0]<<24);d=G[b+16|0]|G[b+17|0]<<8|(G[b+18|0]<<16|G[b+19|0]<<24);D[a+16|0]=d;D[a+17|0]=d>>>8;D[a+18|0]=d>>>16;D[a+19|0]=d>>>24;D[a+20|0]=c;D[a+21|0]=c>>>8;D[a+22|0]=c>>>16;D[a+23|0]=c>>>24;c=G[b+12|0]|G[b+13|0]<<8|(G[b+14|0]<<16|G[b+15|0]<<24);d=G[b+8|0]|G[b+9|0]<<8|(G[b+10|0]<<16|G[b+11|0]<<24);D[a+8|0]=d;D[a+9|0]=d>>>8;D[a+10|0]=d>>>16;D[a+11|0]=d>>>24;D[a+12|0]=c;D[a+13|0]=c>>>8;D[a+14|0]=c>>>16;D[a+15|0]=c>>>24;c=G[b+36|0]|G[b+37|0]<<8|(G[b+38|0]<<16|G[b+39|0]<<24);d=G[b+32|0]|G[b+33|0]<<8|(G[b+34|0]<<16|G[b+35|0]<<24);D[a+32|0]=d;D[a+33|0]=d>>>8;D[a+34|0]=d>>>16;D[a+35|0]=d>>>24;D[a+36|0]=c;D[a+37|0]=c>>>8;D[a+38|0]=c>>>16;D[a+39|0]=c>>>24;c=G[b+44|0]|G[b+45|0]<<8|(G[b+46|0]<<16|G[b+47|0]<<24);d=G[b+40|0]|G[b+41|0]<<8|(G[b+42|0]<<16|G[b+43|0]<<24);D[a+40|0]=d;D[a+41|0]=d>>>8;D[a+42|0]=d>>>16;D[a+43|0]=d>>>24;D[a+44|0]=c;D[a+45|0]=c>>>8;D[a+46|0]=c>>>16;D[a+47|0]=c>>>24;c=G[b+52|0]|G[b+53|0]<<8|(G[b+54|0]<<16|G[b+55|0]<<24);d=G[b+48|0]|G[b+49|0]<<8|(G[b+50|0]<<16|G[b+51|0]<<24);D[a+48|0]=d;D[a+49|0]=d>>>8;D[a+50|0]=d>>>16;D[a+51|0]=d>>>24;D[a+52|0]=c;D[a+53|0]=c>>>8;D[a+54|0]=c>>>16;D[a+55|0]=c>>>24;c=G[b+60|0]|G[b+61|0]<<8|(G[b+62|0]<<16|G[b+63|0]<<24);d=G[b+56|0]|G[b+57|0]<<8|(G[b+58|0]<<16|G[b+59|0]<<24);D[a+56|0]=d;D[a+57|0]=d>>>8;D[a+58|0]=d>>>16;D[a+59|0]=d>>>24;D[a+60|0]=c;D[a+61|0]=c>>>8;D[a+62|0]=c>>>16;D[a+63|0]=c>>>24;d=b- -64|0;e=G[d+4|0]|G[d+5|0]<<8|(G[d+6|0]<<16|G[d+7|0]<<24);c=a- -64|0;d=G[d|0]|G[d+1|0]<<8|(G[d+2|0]<<16|G[d+3|0]<<24);D[c|0]=d;D[c+1|0]=d>>>8;D[c+2|0]=d>>>16;D[c+3|0]=d>>>24;D[c+4|0]=e;D[c+5|0]=e>>>8;D[c+6|0]=e>>>16;D[c+7|0]=e>>>24;c=G[b+76|0]|G[b+77|0]<<8|(G[b+78|0]<<16|G[b+79|0]<<24);d=G[b+72|0]|G[b+73|0]<<8|(G[b+74|0]<<16|G[b+75|0]<<24);D[a+72|0]=d;D[a+73|0]=d>>>8;D[a+74|0]=d>>>16;D[a+75|0]=d>>>24;D[a+76|0]=c;D[a+77|0]=c>>>8;D[a+78|0]=c>>>16;D[a+79|0]=c>>>24;c=G[b+84|0]|G[b+85|0]<<8|(G[b+86|0]<<16|G[b+87|0]<<24);d=G[b+80|0]|G[b+81|0]<<8|(G[b+82|0]<<16|G[b+83|0]<<24);D[a+80|0]=d;D[a+81|0]=d>>>8;D[a+82|0]=d>>>16;D[a+83|0]=d>>>24;D[a+84|0]=c;D[a+85|0]=c>>>8;D[a+86|0]=c>>>16;D[a+87|0]=c>>>24;c=G[b+92|0]|G[b+93|0]<<8|(G[b+94|0]<<16|G[b+95|0]<<24);b=G[b+88|0]|G[b+89|0]<<8|(G[b+90|0]<<16|G[b+91|0]<<24);D[a+88|0]=b;D[a+89|0]=b>>>8;D[a+90|0]=b>>>16;D[a+91|0]=b>>>24;D[a+92|0]=c;D[a+93|0]=c>>>8;D[a+94|0]=c>>>16;D[a+95|0]=c>>>24;return a+96|0}function cb(a,b){var c=0,d=0,e=0,f=0,g=0,h=0;a:{if(!a|!b){break a}c=F[a+72>>2];if(c>>>0>127){break a}F[a+72>>2]=c+1;e=F[a+4>>2]+(c>>>29|0)|0;d=c<<3;f=d+F[a>>2]|0;F[a>>2]=f;F[a+4>>2]=d>>>0>f>>>0?e+1|0:e;f=a+76|0;D[f+c|0]=128;c=F[a+72>>2];if(c>>>0>=113){if(c>>>0<=127){while(1){F[a+72>>2]=c+1;D[(a+c|0)+76|0]=0;c=F[a+72>>2];if(c>>>0<128){continue}break}}ta(a,f);c=0}while(1){F[a+72>>2]=c+1;D[(a+c|0)+76|0]=0;c=F[a+72>>2];if(c>>>0<120){continue}break}c=F[a>>2];g=c<<24|c<<8&16711680;d=c>>>8|0;e=F[a+4>>2];h=d|e<<24;c=c>>>24|0;d=(d|(e&255)<<24)&-16777216|(c|(e&16777215)<<8)&16711680|(e>>>8&65280|e>>>24);D[a+196|0]=d;D[a+197|0]=d>>>8;D[a+198|0]=d>>>16;D[a+199|0]=d>>>24;c=h&65280|(c|e<<8)&255|g;D[a+200|0]=c;D[a+201|0]=c>>>8;D[a+202|0]=c>>>16;D[a+203|0]=c>>>24;ta(a,f);D[b|0]=G[a+15|0];D[b+1|0]=H[a+14>>1];D[b+2|0]=F[a+12>>2]>>>8;D[b+3|0]=F[a+12>>2];D[b+4|0]=(F[a+12>>2]&16777215)<<8|F[a+8>>2]>>>24;D[b+5|0]=(F[a+12>>2]&65535)<<16|F[a+8>>2]>>>16;D[b+6|0]=(F[a+12>>2]&255)<<24|F[a+8>>2]>>>8;D[b+7|0]=F[a+8>>2];D[b+8|0]=G[a+23|0];D[b+9|0]=H[a+22>>1];D[b+10|0]=F[a+20>>2]>>>8;D[b+11|0]=F[a+20>>2];D[b+12|0]=(F[a+20>>2]&16777215)<<8|F[a+16>>2]>>>24;D[b+13|0]=(F[a+20>>2]&65535)<<16|F[a+16>>2]>>>16;D[b+14|0]=(F[a+20>>2]&255)<<24|F[a+16>>2]>>>8;D[b+15|0]=F[a+16>>2];D[b+16|0]=G[a+31|0];D[b+17|0]=H[a+30>>1];D[b+18|0]=F[a+28>>2]>>>8;D[b+19|0]=F[a+28>>2];D[b+20|0]=(F[a+28>>2]&16777215)<<8|F[a+24>>2]>>>24;D[b+21|0]=(F[a+28>>2]&65535)<<16|F[a+24>>2]>>>16;D[b+22|0]=(F[a+28>>2]&255)<<24|F[a+24>>2]>>>8;D[b+23|0]=F[a+24>>2];D[b+24|0]=G[a+39|0];D[b+25|0]=H[a+38>>1];D[b+26|0]=F[a+36>>2]>>>8;D[b+27|0]=F[a+36>>2];D[b+28|0]=(F[a+36>>2]&16777215)<<8|F[a+32>>2]>>>24;D[b+29|0]=(F[a+36>>2]&65535)<<16|F[a+32>>2]>>>16;D[b+30|0]=(F[a+36>>2]&255)<<24|F[a+32>>2]>>>8;D[b+31|0]=F[a+32>>2];D[b+32|0]=G[a+47|0];D[b+33|0]=H[a+46>>1];D[b+34|0]=F[a+44>>2]>>>8;D[b+35|0]=F[a+44>>2];D[b+36|0]=(F[a+44>>2]&16777215)<<8|F[a+40>>2]>>>24;D[b+37|0]=(F[a+44>>2]&65535)<<16|F[a+40>>2]>>>16;D[b+38|0]=(F[a+44>>2]&255)<<24|F[a+40>>2]>>>8;D[b+39|0]=F[a+40>>2];D[b+40|0]=G[a+55|0];D[b+41|0]=H[a+54>>1];D[b+42|0]=F[a+52>>2]>>>8;D[b+43|0]=F[a+52>>2];D[b+44|0]=(F[a+52>>2]&16777215)<<8|F[a+48>>2]>>>24;D[b+45|0]=(F[a+52>>2]&65535)<<16|F[a+48>>2]>>>16;D[b+46|0]=(F[a+52>>2]&255)<<24|F[a+48>>2]>>>8;D[b+47|0]=F[a+48>>2];D[b+48|0]=G[a+63|0];D[b+49|0]=H[a+62>>1];D[b+50|0]=F[a+60>>2]>>>8;D[b+51|0]=F[a+60>>2];D[b+52|0]=(F[a+60>>2]&16777215)<<8|F[a+56>>2]>>>24;D[b+53|0]=(F[a+60>>2]&65535)<<16|F[a+56>>2]>>>16;D[b+54|0]=(F[a+60>>2]&255)<<24|F[a+56>>2]>>>8;D[b+55|0]=F[a+56>>2];D[b+56|0]=G[a+71|0];D[b+57|0]=H[a+70>>1];c=a- -64|0;D[b+58|0]=F[c+4>>2]>>>8;D[b+59|0]=F[a+68>>2];D[b+60|0]=(F[c+4>>2]&16777215)<<8|F[c>>2]>>>24;D[b+61|0]=(F[c+4>>2]&65535)<<16|F[c>>2]>>>16;D[b+62|0]=(F[c+4>>2]&255)<<24|F[c>>2]>>>8;D[b+63|0]=F[c>>2]}}function vc(a,b,c,d,e,f,g,h,i){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0;j=_-160|0;_=j;l=-1;if(!(i>>>0<8|(e+16&-16)>>>0>g>>>0)){m=j+80|0;Aa(b,c,0,0,F[a+4>>2],F[a+8>>2],m,80);a=F[j+108>>2];F[j+24>>2]=F[j+104>>2];F[j+28>>2]=a;a=F[j+100>>2];F[j+16>>2]=F[j+96>>2];F[j+20>>2]=a;a=F[j+92>>2];F[j+8>>2]=F[j+88>>2];F[j+12>>2]=a;a=F[j+124>>2];F[j+40>>2]=F[j+120>>2];F[j+44>>2]=a;a=F[j+132>>2];F[j+48>>2]=F[j+128>>2];F[j+52>>2]=a;a=F[j+140>>2];F[j+56>>2]=F[j+136>>2];F[j+60>>2]=a;a=F[j+156>>2];F[j+72>>2]=F[j+152>>2];F[j+76>>2]=a;a=F[j+84>>2];F[j>>2]=F[j+80>>2];F[j+4>>2]=a;a=F[j+116>>2];F[j+32>>2]=F[j+112>>2];F[j+36>>2]=a;a=F[j+148>>2];F[j+64>>2]=F[j+144>>2];F[j+68>>2]=a;ia(m,80);g=_-256|0;_=g;Kb(j,g+16|0);a=j- -64|0;b=G[a+12|0]|G[a+13|0]<<8|(G[a+14|0]<<16|G[a+15|0]<<24);F[g+8>>2]=G[a+8|0]|G[a+9|0]<<8|(G[a+10|0]<<16|G[a+11|0]<<24);F[g+12>>2]=b;b=G[a+4|0]|G[a+5|0]<<8|(G[a+6|0]<<16|G[a+7|0]<<24);F[g>>2]=G[a|0]|G[a+1|0]<<8|(G[a+2|0]<<16|G[a+3|0]<<24);F[g+4>>2]=b;if(e>>>0>15){while(1){D[g|0]=G[g|0]^G[d|0];D[g+1|0]=G[g+1|0]^G[d+1|0];D[g+2|0]=G[g+2|0]^G[d+2|0];D[g+3|0]=G[g+3|0]^G[d+3|0];D[g+4|0]=G[g+4|0]^G[d+4|0];D[g+5|0]=G[g+5|0]^G[d+5|0];D[g+6|0]=G[g+6|0]^G[d+6|0];D[g+7|0]=G[g+7|0]^G[d+7|0];D[g+8|0]=G[g+8|0]^G[d+8|0];D[g+9|0]=G[g+9|0]^G[d+9|0];D[g+10|0]=G[g+10|0]^G[d+10|0];D[g+11|0]=G[g+11|0]^G[d+11|0];D[g+12|0]=G[g+12|0]^G[d+12|0];D[g+13|0]=G[g+13|0]^G[d+13|0];D[g+14|0]=G[g+14|0]^G[d+14|0];D[g+15|0]=G[g+15|0]^G[d+15|0];Lb(g,f,g+16|0);a=G[f+12|0]|G[f+13|0]<<8|(G[f+14|0]<<16|G[f+15|0]<<24);F[g+8>>2]=G[f+8|0]|G[f+9|0]<<8|(G[f+10|0]<<16|G[f+11|0]<<24);F[g+12>>2]=a;a=G[f+4|0]|G[f+5|0]<<8|(G[f+6|0]<<16|G[f+7|0]<<24);F[g>>2]=G[f|0]|G[f+1|0]<<8|(G[f+2|0]<<16|G[f+3|0]<<24);F[g+4>>2]=a;f=f+16|0;d=d+16|0;e=e-16|0;if(e>>>0>15){continue}break}}a:{b:{if(!e){e=0;a=16;break b}c=e&3;b=0;if(e-1>>>0>=3){l=e&-4;while(1){a=b+g|0;D[a|0]=G[a|0]^G[b+d|0];a=b|1;k=a+g|0;D[k|0]=G[k|0]^G[a+d|0];a=b|2;k=a+g|0;D[k|0]=G[k|0]^G[a+d|0];a=b|3;k=a+g|0;D[k|0]=G[k|0]^G[a+d|0];b=b+4|0;l=l-4|0;if(l){continue}break}}if(c){while(1){a=b+g|0;D[a|0]=G[a|0]^G[b+d|0];b=b+1|0;c=c-1|0;if(c){continue}break}}if(e>>>0>15){break a}a=16-e|0}c=15-e|0;b=0-e&3;if(b){while(1){d=e+g|0;D[d|0]=a^G[d|0];e=e+1|0;b=b-1|0;if(b){continue}break}}if(c>>>0<3){break a}while(1){b=e+g|0;D[b|0]=a^G[b|0];D[b+1|0]=a^G[b+1|0];D[b+2|0]=a^G[b+2|0];D[b+3|0]=a^G[b+3|0];e=e+4|0;if((e|0)!=16){continue}break}}a=g+16|0;Lb(g,f,a);ia(a,240);ia(g,16);_=g+256|0;ka(j+32|0,32,h,i-8|0,m);b=F[j+84>>2];a=(h+i|0)-8|0;c=F[j+80>>2];D[a|0]=c;D[a+1|0]=c>>>8;D[a+2|0]=c>>>16;D[a+3|0]=c>>>24;D[a+4|0]=b;D[a+5|0]=b>>>8;D[a+6|0]=b>>>16;D[a+7|0]=b>>>24;ia(j,80);l=i}_=j+160|0;return l|0}function wa(a){var b=0,c=0,d=0,e=0,f=0,g=0,h=0,i=0;F[a+80>>2]=0;F[a+84>>2]=0;c=a;e=F[c+4>>2];g=e;h=F[c>>2];d=h;b=e;e=b>>31>>>6|0;h=e+d|0;b=e>>>0>h>>>0?b+1|0:b;f=h;h=f&-67108864;i=d-h|0;e=g-((d>>>0>>0)+b|0)|0;h=e;F[c>>2]=i;F[c+4>>2]=e;c=b;b=b>>26;g=(c&67108863)<<6|f>>>26;c=g+F[a+8>>2]|0;b=b+F[a+12>>2]|0;b=c>>>0>>0?b+1|0:b;g=b;f=c;e=b>>31>>>7|0;c=e+c|0;b=c>>>0>>0?b+1|0:b;d=c;c=c&-33554432;F[a+8>>2]=f-c;F[a+12>>2]=g-((c>>>0>f>>>0)+b|0);c=b;b=b>>25;d=(c&33554431)<<7|d>>>25;c=d+F[a+16>>2]|0;b=b+F[a+20>>2]|0;b=c>>>0>>0?b+1|0:b;g=b;f=c;e=b>>31>>>6|0;c=e+c|0;b=c>>>0>>0?b+1|0:b;d=c;c=c&-67108864;F[a+16>>2]=f-c;F[a+20>>2]=g-((c>>>0>f>>>0)+b|0);c=b;b=b>>26;d=(c&67108863)<<6|d>>>26;c=d+F[a+24>>2]|0;b=b+F[a+28>>2]|0;b=c>>>0>>0?b+1|0:b;g=b;f=c;e=b>>31>>>7|0;c=e+c|0;b=c>>>0>>0?b+1|0:b;d=c;c=c&-33554432;F[a+24>>2]=f-c;F[a+28>>2]=g-((c>>>0>f>>>0)+b|0);c=b;b=b>>25;d=(c&33554431)<<7|d>>>25;c=d+F[a+32>>2]|0;b=b+F[a+36>>2]|0;b=c>>>0>>0?b+1|0:b;g=b;f=c;e=b>>31>>>6|0;c=e+c|0;b=c>>>0>>0?b+1|0:b;d=c;c=c&-67108864;F[a+32>>2]=f-c;F[a+36>>2]=g-((c>>>0>f>>>0)+b|0);c=b;b=b>>26;d=(c&67108863)<<6|d>>>26;c=d+F[a+40>>2]|0;b=b+F[a+44>>2]|0;b=c>>>0>>0?b+1|0:b;g=b;f=c;e=b>>31>>>7|0;c=e+c|0;b=c>>>0>>0?b+1|0:b;d=c;c=c&-33554432;F[a+40>>2]=f-c;F[a+44>>2]=g-((c>>>0>f>>>0)+b|0);c=b;b=b>>25;d=(c&33554431)<<7|d>>>25;c=d+F[a+48>>2]|0;b=b+F[a+52>>2]|0;b=c>>>0>>0?b+1|0:b;g=b;f=c;e=b>>31>>>6|0;c=e+c|0;b=c>>>0>>0?b+1|0:b;d=c;c=c&-67108864;F[a+48>>2]=f-c;F[a+52>>2]=g-((c>>>0>f>>>0)+b|0);c=b;b=b>>26;d=(c&67108863)<<6|d>>>26;c=d+F[a+56>>2]|0;b=b+F[a+60>>2]|0;b=c>>>0>>0?b+1|0:b;g=b;f=c;e=b>>31>>>7|0;c=e+c|0;b=c>>>0>>0?b+1|0:b;d=c;c=c&-33554432;F[a+56>>2]=f-c;F[a+60>>2]=g-((c>>>0>f>>>0)+b|0);c=b;b=b>>25;d=(c&33554431)<<7|d>>>25;c=d+F[a+64>>2]|0;b=b+F[a+68>>2]|0;b=c>>>0>>0?b+1|0:b;g=b;f=c;e=b>>31>>>6|0;c=e+c|0;b=c>>>0>>0?b+1|0:b;d=c;c=c&-67108864;F[a+64>>2]=f-c;F[a+68>>2]=g-((c>>>0>f>>>0)+b|0);c=b;b=b>>26;d=(c&67108863)<<6|d>>>26;c=d+F[a+72>>2]|0;b=b+F[a+76>>2]|0;b=c>>>0>>0?b+1|0:b;g=b;f=c;e=b>>31>>>7|0;c=e+c|0;b=c>>>0>>0?b+1|0:b;e=c;c=c&-33554432;F[a+72>>2]=f-c;F[a+76>>2]=g-((c>>>0>f>>>0)+b|0);g=F[a+80>>2];c=F[a+84>>2];F[a+80>>2]=0;F[a+84>>2]=0;d=c;f=g;c=b;b=b>>25;g=(c&33554431)<<7|e>>>25;c=f+g|0;b=b+d|0;b=c>>>0>>0?b+1|0:b;f=c;d=c+i|0;c=b;b=b+h|0;h=qe(f,c,18,0);c=h+d|0;b=$+(d>>>0>>0?b+1|0:b)|0;b=c>>>0>>0?b+1|0:b;d=b;g=c;f=b>>31>>>6|0;c=f+c|0;b=c>>>0>>0?b+1|0:b;h=c;c=c&-67108864;F[a>>2]=g-c;F[a+4>>2]=d-((c>>>0>g>>>0)+b|0);e=F[a+12>>2];c=a;a=b;b=b>>26;h=(a&67108863)<<6|h>>>26;a=h+F[c+8>>2]|0;b=b+e|0;F[c+8>>2]=a;F[c+12>>2]=a>>>0>>0?b+1|0:b}function ib(a,b,c,d){var e=0,f=0,g=0,h=0,i=0;F[a+16>>2]=0;F[a+20>>2]=0;F[a+12>>2]=c;F[a+8>>2]=b;F[a+4>>2]=0;E[a>>1]=0;F[a+24>>2]=0;F[a+28>>2]=0;a:{if(c>>>0<=d>>>0){break a}D[a|0]=G[b|0];c=c-d|0;if((c|0)==1){break a}h=b+c|0;e=b+1|0;while(1){d=e;if(G[e|0]==10){f=d+1|0;b=f;while(1){b:{if((b|0)==(h|0)){c=h;break b}e=D[b|0];c=b+1|0;b=c;if((e|0)<0){continue}}break}c:{if((c|0)==(f|0)){e=0;break c}i=c-f|0;g=i&3;e=0;b=c;if(b+(f^-1)>>>0>=3){f=i&-4;while(1){e=(G[b-2|0]&127|(e<<14|(G[b-1|0]&127)<<7))<<14|(G[b-3|0]&127)<<7;b=b-4|0;e=e|G[b|0]&127;f=f-4|0;if(f){continue}break}}if(g){while(1){b=b-1|0;e=G[b|0]&127|e<<7;g=g-1|0;if(g){continue}break}}if(h-c>>>0>>0){break a}}F[a+20>>2]=e;F[a+16>>2]=c;e=c+e|0}if((e|0)==(h|0)){break a}if(G[e|0]==16){f=e+1|0;b=f;while(1){d:{if((b|0)==(h|0)){e=h;break d}c=D[b|0];e=b+1|0;b=e;if((c|0)<0){continue}}break}e:{if((e|0)==(f|0)){g=0;break e}i=e-f|0;c=i&3;g=0;b=e;if(b+(f^-1)>>>0>=3){f=i&-4;while(1){g=(G[b-2|0]&127|(g<<14|(G[b-1|0]&127)<<7))<<14|(G[b-3|0]&127)<<7;b=b-4|0;g=g|G[b|0]&127;f=f-4|0;if(f){continue}break}}if(!c){break e}while(1){b=b-1|0;g=G[b|0]&127|g<<7;c=c-1|0;if(c){continue}break}}D[a+1|0]=1;F[a+4>>2]=g}if((e|0)==(h|0)){break a}if(G[e|0]==34){f=e+1|0;b=f;while(1){f:{if((b|0)==(h|0)){c=h;break f}e=D[b|0];c=b+1|0;b=c;if((e|0)<0){continue}}break}g:{if((c|0)==(f|0)){e=0;break g}i=c-f|0;g=i&3;e=0;b=c;if(b+(f^-1)>>>0>=3){f=i&-4;while(1){e=(G[b-2|0]&127|(e<<14|(G[b-1|0]&127)<<7))<<14|(G[b-3|0]&127)<<7;b=b-4|0;e=e|G[b|0]&127;f=f-4|0;if(f){continue}break}}if(g){while(1){b=b-1|0;e=G[b|0]&127|e<<7;g=g-1|0;if(g){continue}break}}if(h-c>>>0>>0){break a}}F[a+28>>2]=e;F[a+24>>2]=c;e=c+e|0}h:{if((e|0)==(h|0)|(d|0)!=(e|0)){break h}i:{switch(G[d|0]&7){case 0:while(1){j:{if((d|0)==(h|0)){b=h;break j}c=D[d|0];b=d+1|0;d=b;if((c|0)<0){continue}}break};while(1){if((b|0)==(h|0)){e=h;break h}c=D[b|0];e=b+1|0;b=e;if((c|0)<=-1){continue}break};break h;case 2:break i;default:break a}}while(1){k:{if((d|0)==(h|0)){e=h;break k}b=D[d|0];e=d+1|0;d=e;if((b|0)<0){continue}}break}b=e;while(1){l:{if((b|0)==(h|0)){c=h;break l}d=D[b|0];c=b+1|0;b=c;if((d|0)<0){continue}}break}if((c|0)==(e|0)){break h}f=c-e|0;g=f&3;d=0;b=c;if(b+(e^-1)>>>0>=3){e=f&-4;while(1){d=(G[b-2|0]&127|(d<<14|(G[b-1|0]&127)<<7))<<14|(G[b-3|0]&127)<<7;b=b-4|0;d=d|G[b|0]&127;e=e-4|0;if(e){continue}break}}if(g){while(1){b=b-1|0;d=G[b|0]&127|d<<7;g=g-1|0;if(g){continue}break}}if(h-c>>>0>>0){break a}e=c+d|0}if((e|0)!=(h|0)){continue}break}}}function ka(a,b,c,d,e){var f=0,g=0;f=_-384|0;_=f;F[f+128>>2]=0;F[f+132>>2]=0;F[f+136>>2]=0;F[f+140>>2]=0;F[f+144>>2]=0;F[f+148>>2]=0;F[f+152>>2]=0;F[f+156>>2]=0;F[f+160>>2]=0;F[f+164>>2]=0;F[f+168>>2]=0;F[f+172>>2]=0;F[f+112>>2]=0;F[f+116>>2]=0;F[f+120>>2]=0;F[f+124>>2]=0;a:{if(b>>>0>=65){g=f+176|0;F[g+80>>2]=1779033703;F[g+84>>2]=-1150833019;F[g+72>>2]=0;F[g+76>>2]=0;F[g+64>>2]=0;F[g+104>>2]=528734635;F[g+108>>2]=1541459225;F[g+96>>2]=1359893119;F[g+100>>2]=-1694144372;F[g+88>>2]=1013904242;F[g+92>>2]=-1521486534;pa(g,a,b);Ba(g,f+112|0);break a}ja(f+112|0,a,b)}a=F[f+172>>2];F[f+232>>2]=F[f+168>>2];F[f+236>>2]=a;a=F[f+164>>2];F[f+224>>2]=F[f+160>>2];F[f+228>>2]=a;a=F[f+156>>2];F[f+216>>2]=F[f+152>>2];F[f+220>>2]=a;a=F[f+148>>2];F[f+208>>2]=F[f+144>>2];F[f+212>>2]=a;a=F[f+140>>2];F[f+200>>2]=F[f+136>>2];F[f+204>>2]=a;a=F[f+132>>2];F[f+192>>2]=F[f+128>>2];F[f+196>>2]=a;a=F[f+124>>2];F[f+184>>2]=F[f+120>>2];F[f+188>>2]=a;a=F[f+116>>2];F[f+176>>2]=F[f+112>>2];F[f+180>>2]=a;b=0;while(1){a=f+176|0;g=a+b|0;D[g|0]=G[g|0]^54;g=a+(b|1)|0;D[g|0]=G[g|0]^54;g=a+(b|2)|0;D[g|0]=G[g|0]^54;a=a+(b|3)|0;D[a|0]=G[a|0]^54;b=b+4|0;if((b|0)!=64){continue}break}F[f+80>>2]=1779033703;F[f+84>>2]=-1150833019;F[f+72>>2]=0;F[f+76>>2]=0;F[f+64>>2]=0;F[f+104>>2]=528734635;F[f+108>>2]=1541459225;F[f+96>>2]=1359893119;F[f+100>>2]=-1694144372;F[f+88>>2]=1013904242;F[f+92>>2]=-1521486534;a=f+176|0;pa(f,a,64);ia(a,64);pa(f,c,d);a=F[f+172>>2];F[f+344>>2]=F[f+168>>2];F[f+348>>2]=a;a=F[f+164>>2];F[f+336>>2]=F[f+160>>2];F[f+340>>2]=a;a=F[f+156>>2];F[f+328>>2]=F[f+152>>2];F[f+332>>2]=a;a=F[f+148>>2];F[f+320>>2]=F[f+144>>2];F[f+324>>2]=a;a=F[f+140>>2];F[f+312>>2]=F[f+136>>2];F[f+316>>2]=a;a=F[f+132>>2];F[f+304>>2]=F[f+128>>2];F[f+308>>2]=a;a=F[f+124>>2];F[f+296>>2]=F[f+120>>2];F[f+300>>2]=a;a=F[f+116>>2];F[f+288>>2]=F[f+112>>2];F[f+292>>2]=a;b=0;while(1){a=f+288|0;c=a+b|0;D[c|0]=G[c|0]^92;c=a+(b|1)|0;D[c|0]=G[c|0]^92;c=a+(b|2)|0;D[c|0]=G[c|0]^92;a=a+(b|3)|0;D[a|0]=G[a|0]^92;b=b+4|0;if((b|0)!=64){continue}break}Ba(f,f+352|0);a=f+176|0;F[a+80>>2]=1779033703;F[a+84>>2]=-1150833019;F[a+72>>2]=0;F[a+76>>2]=0;F[a+64>>2]=0;F[a+104>>2]=528734635;F[a+108>>2]=1541459225;F[a+96>>2]=1359893119;F[a+100>>2]=-1694144372;F[a+88>>2]=1013904242;F[a+92>>2]=-1521486534;b=f+288|0;pa(a,b,96);Ba(a,e);ia(a,112);ia(b,96);ia(f+112|0,64);ia(f,112);_=f+384|0}function Ha(a,b,c){var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,G=0;e=F[b+44>>2];d=F[b+48>>2];g=F[b+52>>2];h=F[b+56>>2];i=F[b+60>>2];f=b- -64|0;j=F[f>>2];k=F[b+68>>2];l=F[b+72>>2];m=F[b+76>>2];n=F[b+4>>2];o=F[b+8>>2];p=F[b+12>>2];q=F[b+16>>2];r=F[b+20>>2];s=F[b+24>>2];t=F[b+28>>2];u=F[b+32>>2];v=F[b+36>>2];F[a>>2]=F[b>>2]+F[b+40>>2];F[a+36>>2]=m+v;F[a+32>>2]=l+u;F[a+28>>2]=k+t;F[a+24>>2]=j+s;F[a+20>>2]=i+r;F[a+16>>2]=h+q;F[a+12>>2]=g+p;F[a+8>>2]=d+o;F[a+4>>2]=e+n;d=F[b+44>>2];g=F[b+48>>2];h=F[b+52>>2];i=F[b+56>>2];j=F[b+60>>2];f=F[f>>2];e=F[b+68>>2];k=F[b+72>>2];l=F[b>>2];m=F[b+40>>2];n=F[b+4>>2];o=F[b+8>>2];p=F[b+12>>2];q=F[b+16>>2];r=F[b+20>>2];s=F[b+24>>2];t=F[b+28>>2];u=F[b+32>>2];F[a+76>>2]=F[b+76>>2]-F[b+36>>2];F[a+72>>2]=k-u;F[a+68>>2]=e-t;e=a- -64|0;F[e>>2]=f-s;F[a+60>>2]=j-r;F[a+56>>2]=i-q;F[a+52>>2]=h-p;F[a+48>>2]=g-o;F[a+44>>2]=d-n;F[a+40>>2]=m-l;ha(a+80|0,a,c);d=a+40|0;ha(d,d,c+40|0);ha(a+120|0,c+120|0,b+120|0);ha(a,b+80|0,c+80|0);b=F[a+44>>2];c=F[a+84>>2];d=F[a+48>>2];g=F[a+88>>2];h=F[a+52>>2];i=F[a+92>>2];f=F[a+56>>2];j=F[a+96>>2];k=F[a+60>>2];l=F[a+100>>2];m=F[e>>2];n=F[a+104>>2];o=F[a+68>>2];p=F[a+108>>2];q=F[a+72>>2];r=F[a+112>>2];u=F[a>>2];v=F[a+4>>2];y=F[a+8>>2];z=F[a+12>>2];A=F[a+16>>2];B=F[a+20>>2];C=F[a+24>>2];D=F[a+28>>2];E=F[a+32>>2];G=F[a+36>>2];s=F[a+40>>2];t=F[a+80>>2];w=F[a+76>>2];x=F[a+116>>2];F[a+76>>2]=w+x;F[a+72>>2]=q+r;F[a+68>>2]=o+p;F[e>>2]=m+n;F[a+60>>2]=k+l;F[a+56>>2]=f+j;F[a+52>>2]=h+i;F[a+48>>2]=d+g;F[a+44>>2]=b+c;F[a+40>>2]=s+t;F[a+36>>2]=x-w;F[a+32>>2]=r-q;F[a+28>>2]=p-o;F[a+24>>2]=n-m;F[a+20>>2]=l-k;F[a+16>>2]=j-f;F[a+12>>2]=i-h;F[a+8>>2]=g-d;F[a+4>>2]=c-b;F[a>>2]=t-s;b=G<<1;c=F[a+156>>2];F[a+156>>2]=b-c;e=E<<1;d=F[a+152>>2];F[a+152>>2]=e-d;g=D<<1;h=F[a+148>>2];F[a+148>>2]=g-h;i=C<<1;f=F[a+144>>2];F[a+144>>2]=i-f;j=B<<1;k=F[a+140>>2];F[a+140>>2]=j-k;l=A<<1;m=F[a+136>>2];F[a+136>>2]=l-m;n=z<<1;o=F[a+132>>2];F[a+132>>2]=n-o;p=y<<1;q=F[a+128>>2];F[a+128>>2]=p-q;r=v<<1;s=F[a+124>>2];F[a+124>>2]=r-s;t=u<<1;u=F[a+120>>2];F[a+120>>2]=t-u;F[a+112>>2]=d+e;F[a+108>>2]=g+h;F[a+104>>2]=i+f;F[a+100>>2]=j+k;F[a+96>>2]=l+m;F[a+92>>2]=n+o;F[a+88>>2]=p+q;F[a+84>>2]=r+s;F[a+80>>2]=t+u;F[a+116>>2]=b+c}function Tb(a,b){var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;c=_-480|0;_=c;while(1){e=c+288|0;g=e+(d<<1)|0;f=G[b+d|0];D[g+1|0]=f>>>4;D[g|0]=f&15;g=d|1;e=e+(g<<1)|0;g=G[b+g|0];D[e+1|0]=g>>>4;D[e|0]=g&15;d=d+2|0;if((d|0)!=32){continue}break}b=0;while(1){d=b;b=(c+288|0)+h|0;e=d+G[b|0]|0;d=(e<<24)- -134217728|0;D[b|0]=e-(d>>24&240);e=G[b+1|0]+(d>>28)|0;d=(e<<24)- -134217728|0;D[b+1|0]=e-(d>>24&240);e=G[b+2|0]+(d>>28)|0;d=(e<<24)- -134217728|0;D[b+2|0]=e-(d>>24&240);b=d>>28;h=h+3|0;if((h|0)!=63){continue}break}D[c+351|0]=G[c+351|0]+b;b=a;F[b+32>>2]=0;F[b+36>>2]=0;F[b+24>>2]=0;F[b+28>>2]=0;F[b+16>>2]=0;F[b+20>>2]=0;F[b+8>>2]=0;F[b+12>>2]=0;F[b>>2]=0;F[b+4>>2]=0;F[b+44>>2]=0;F[b+48>>2]=0;F[b+40>>2]=1;F[b+52>>2]=0;F[b+56>>2]=0;F[b+60>>2]=0;F[b+64>>2]=0;F[b+68>>2]=0;F[b+72>>2]=0;F[b+76>>2]=0;F[b+80>>2]=1;ra(b+84|0,0,76);p=b+120|0;q=b+80|0;r=b+40|0;h=c+208|0;g=c+168|0;e=c+248|0;d=1;while(1){f=c+8|0;Rb(f,d>>>1|0,D[(c+288|0)+d|0]);b=c+128|0;nb(b,a,f);ha(a,b,e);ha(r,g,h);ha(q,h,e);ha(p,b,g);b=d>>>0<62;d=d+2|0;if(b){continue}break}b=a;d=F[b>>2];f=F[b+4>>2];i=F[b+8>>2];j=F[b+12>>2];k=F[b+16>>2];l=F[b+20>>2];m=F[b+24>>2];n=F[b+28>>2];o=F[b+36>>2];F[c+392>>2]=F[b+32>>2];F[c+396>>2]=o;F[c+384>>2]=m;F[c+388>>2]=n;F[c+376>>2]=k;F[c+380>>2]=l;F[c+368>>2]=i;F[c+372>>2]=j;F[c+360>>2]=d;F[c+364>>2]=f;d=F[b+48>>2];f=F[b+52>>2];i=F[b+56>>2];j=F[b+60>>2];k=b- -64|0;l=F[k>>2];k=F[k+4>>2];m=F[b+40>>2];n=F[b+44>>2];o=F[b+76>>2];F[c+432>>2]=F[b+72>>2];F[c+436>>2]=o;F[c+424>>2]=l;F[c+428>>2]=k;F[c+416>>2]=i;F[c+420>>2]=j;F[c+408>>2]=d;F[c+412>>2]=f;F[c+400>>2]=m;F[c+404>>2]=n;d=F[b+88>>2];f=F[b+92>>2];i=F[b+96>>2];j=F[b+100>>2];k=F[b+104>>2];l=F[b+108>>2];m=F[b+80>>2];n=F[b+84>>2];o=F[b+116>>2];F[c+472>>2]=F[b+112>>2];F[c+476>>2]=o;F[c+464>>2]=k;F[c+468>>2]=l;F[c+456>>2]=i;F[c+460>>2]=j;F[c+448>>2]=d;F[c+452>>2]=f;F[c+440>>2]=m;F[c+444>>2]=n;d=c+128|0;f=c+360|0;Oa(d,f);ha(f,d,e);i=c+400|0;ha(i,g,h);j=c+440|0;ha(j,h,e);Oa(d,f);ha(f,d,e);ha(i,g,h);ha(j,h,e);Oa(d,f);ha(f,d,e);ha(i,g,h);ha(j,h,e);Oa(d,f);ha(b,d,e);ha(r,g,h);ha(q,h,e);ha(p,d,g);d=0;while(1){f=c+8|0;Rb(f,d>>>1|0,D[(c+288|0)+d|0]);b=c+128|0;nb(b,a,f);ha(a,b,e);ha(r,g,h);ha(q,h,e);ha(p,b,g);b=d>>>0<62;d=d+2|0;if(b){continue}break}_=c+480|0}function nb(a,b,c){var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,G=0;e=F[b+44>>2];d=F[b+48>>2];g=F[b+52>>2];h=F[b+56>>2];i=F[b+60>>2];f=b- -64|0;j=F[f>>2];k=F[b+68>>2];l=F[b+72>>2];m=F[b+76>>2];n=F[b+4>>2];o=F[b+8>>2];p=F[b+12>>2];q=F[b+16>>2];r=F[b+20>>2];s=F[b+24>>2];t=F[b+28>>2];u=F[b+32>>2];v=F[b+36>>2];F[a>>2]=F[b>>2]+F[b+40>>2];F[a+36>>2]=m+v;F[a+32>>2]=l+u;F[a+28>>2]=k+t;F[a+24>>2]=j+s;F[a+20>>2]=i+r;F[a+16>>2]=h+q;F[a+12>>2]=g+p;F[a+8>>2]=d+o;F[a+4>>2]=e+n;d=F[b+44>>2];g=F[b+48>>2];h=F[b+52>>2];i=F[b+56>>2];j=F[b+60>>2];f=F[f>>2];e=F[b+68>>2];k=F[b+72>>2];l=F[b>>2];m=F[b+40>>2];n=F[b+4>>2];o=F[b+8>>2];p=F[b+12>>2];q=F[b+16>>2];r=F[b+20>>2];s=F[b+24>>2];t=F[b+28>>2];u=F[b+32>>2];F[a+76>>2]=F[b+76>>2]-F[b+36>>2];F[a+72>>2]=k-u;F[a+68>>2]=e-t;e=a- -64|0;F[e>>2]=f-s;F[a+60>>2]=j-r;F[a+56>>2]=i-q;F[a+52>>2]=h-p;F[a+48>>2]=g-o;F[a+44>>2]=d-n;F[a+40>>2]=m-l;ha(a+80|0,a,c);d=a+40|0;ha(d,d,c+40|0);ha(a+120|0,c+80|0,b+120|0);u=F[b+84>>2];v=F[b+88>>2];y=F[b+92>>2];z=F[b+96>>2];A=F[b+100>>2];B=F[b+104>>2];C=F[b+108>>2];D=F[b+112>>2];E=F[b+116>>2];c=F[a+44>>2];d=F[a+84>>2];g=F[a+48>>2];h=F[a+88>>2];i=F[a+52>>2];f=F[a+92>>2];j=F[a+56>>2];k=F[a+96>>2];l=F[a+60>>2];m=F[a+100>>2];n=F[e>>2];o=F[a+104>>2];p=F[a+68>>2];q=F[a+108>>2];r=F[a+72>>2];s=F[a+112>>2];G=F[b+80>>2];b=F[a+40>>2];t=F[a+80>>2];w=F[a+76>>2];x=F[a+116>>2];F[a+76>>2]=w+x;F[a+72>>2]=r+s;F[a+68>>2]=p+q;F[e>>2]=n+o;F[a+60>>2]=l+m;F[a+56>>2]=j+k;F[a+52>>2]=i+f;F[a+48>>2]=g+h;F[a+44>>2]=c+d;F[a+40>>2]=b+t;F[a+36>>2]=x-w;F[a+32>>2]=s-r;F[a+28>>2]=q-p;F[a+24>>2]=o-n;F[a+20>>2]=m-l;F[a+16>>2]=k-j;F[a+12>>2]=f-i;F[a+8>>2]=h-g;F[a+4>>2]=d-c;F[a>>2]=t-b;b=E<<1;c=F[a+156>>2];F[a+156>>2]=b-c;e=D<<1;d=F[a+152>>2];F[a+152>>2]=e-d;g=C<<1;h=F[a+148>>2];F[a+148>>2]=g-h;i=B<<1;f=F[a+144>>2];F[a+144>>2]=i-f;j=A<<1;k=F[a+140>>2];F[a+140>>2]=j-k;l=z<<1;m=F[a+136>>2];F[a+136>>2]=l-m;n=y<<1;o=F[a+132>>2];F[a+132>>2]=n-o;p=v<<1;q=F[a+128>>2];F[a+128>>2]=p-q;r=u<<1;s=F[a+124>>2];F[a+124>>2]=r-s;t=G<<1;u=F[a+120>>2];F[a+120>>2]=t-u;F[a+112>>2]=d+e;F[a+108>>2]=g+h;F[a+104>>2]=i+f;F[a+100>>2]=j+k;F[a+96>>2]=l+m;F[a+92>>2]=n+o;F[a+88>>2]=p+q;F[a+84>>2]=r+s;F[a+80>>2]=t+u;F[a+116>>2]=b+c}function Zc(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;c=b;b=F[b>>2]+7&-8;F[c>>2]=b+16;p=a;a=b;k=F[a>>2];b=F[a+4>>2];f=F[a+12>>2];n=f;h=_-32|0;_=h;c=f&2147483647;f=c;e=c-1006698496|0;d=c-1140785152|0;c=F[a+8>>2];j=c;a:{if((e|0)==(d|0)&c>>>0>>0|e>>>0>>0){f=c;c=n<<4|c>>>28;a=b;f=f<<4|a>>>28;a=a&268435455;b=a;if((a|0)==134217728&k>>>0>=1|a>>>0>134217728){a=c+1073741824|0;b=f+1|0;a=b>>>0<1?a+1|0:a;e=b;break a}e=f;a=c+1073741824|0;if(k|b^134217728){break a}c=a;b=f&1;f=b+e|0;e=f;a=b>>>0>e>>>0?c+1|0:c;break a}if(!(!j&(f|0)==2147418112?!(b|k):f>>>0<2147418112)){f=c;c=n<<4|c>>>28;e=f<<4|b>>>28;a=c&524287|2146959360;break a}e=0;a=2146435072;if(f>>>0>1140785151){break a}a=0;o=f>>>16|0;if(o>>>0<15249){break a}e=k;a=b;d=n&65535|65536;f=d;l=c;g=c;i=o-15233|0;b:{if(i&64){d=e;c=i+-64|0;e=c&31;if((c&63)>>>0>=32){a=d<>>32-e|a<>>0>=32){c=g<>>32-m|d<>>0>=32){c=0;g=g>>>i|0}else{c=g>>>i|0;g=((1<>>i}g=q|g;d=c|d;i=j&31;if((j&63)>>>0>=32){c=e<>>32-i|a<>2]=e;F[h+20>>2]=a;F[h+24>>2]=g;F[h+28>>2]=d;c=15361-o|0;c:{if(c&64){b=l;a=c+-64|0;d=a&31;if((a&63)>>>0>=32){c=0;k=f>>>d|0}else{c=f>>>d|0;k=((1<>>d}b=c;l=0;f=0;break c}if(!c){break c}a=f;e=l;d=64-c|0;j=d&31;if((d&63)>>>0>=32){a=e<>>32-j|a<>>0>=32){c=0;b=b>>>j|0}else{c=b>>>j|0;b=((1<>>j}k=g|b;b=c|d;c=l;d=a&31;if((a&63)>>>0>=32){a=0;l=f>>>d|0}else{a=f>>>d|0;l=((1<>>d}f=a}F[h>>2]=k;F[h+4>>2]=b;F[h+8>>2]=l;F[h+12>>2]=f;d=F[h+4>>2];b=F[h+8>>2];e=b<<4|d>>>28;a=F[h+12>>2]<<4|b>>>28;d=d&268435455;f=d;b=F[h>>2]|((F[h+16>>2]|F[h+24>>2])!=0|(F[h+20>>2]|F[h+28>>2])!=0);if((d|0)==134217728&b>>>0>=1|d>>>0>134217728){b=e+1|0;a=b>>>0<1?a+1|0:a;e=b;break a}if(b|f^134217728){break a}d=a;b=e+(e&1)|0;d=b>>>0>>0?d+1|0:d;e=b;a=d}_=h+32|0;x(0,e|0);x(1,n&-2147483648|a);K[p>>3]=z()}function _b(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;o=a+3216|0;b=Xa(b,c,d,e,o);a:{b:{if((b|0)==-1){break b}g=a;n=_-16|0;_=n;q=b+d|0;f=q;b=ua(d,f,n+12|0);c:{if(!b){a=0;break c}a=0;d:{c=F[n+12>>2];if((c|0)!=1){if((c|0)!=-2147483647){break d}r=1}c=g+3220|0;if(!(!b|(b|0)==(f|0))){D[c|0]=G[b|0]!=0;l=b+1|0}if(!l){break c}b=Ra(l,f,g+3221|0);if(!b){break c}b=Ra(b,f,g+3253|0);if(!b){break c}b=Ra(b,f,g+3285|0);if(!b){break c}l=0;p=_-16|0;_=p;b=Sa(b,f,g+12|0,32);e:{if(!b){break e}h=g+44|0;j=_-16|0;_=j;c=ua(b,f,j+12|0);f:{if(!c){break f}m=h+4|0;k=h+104|0;while(1){b=F[j+12>>2];F[j+12>>2]=b-1;if(!b){a=c;break f}if((c|0)==(f|0)){a=c;break f}b=m;d=k;i=F[h>>2];if((d|0)!=(i|0)){d=i+100|0;F[h>>2]=d;b=i}d=d-100|0;if((d|0)!=(b|0)){while(1){i=d;d=d-100|0;ja(i,d,100);if((b|0)!=(d|0)){continue}break}}c=Ka(c,f,b);if(!c){break f}c=Sa(c,f,b+68|0,32);if(!c){break f}c=ua(c,f,b- -64|0);if(c){continue}break}}_=j+16|0;b=a;if(!b){break e}h=g+148|0;a=0;j=_-16|0;_=j;c=ua(b,f,j+12|0);g:{if(!c){break g}m=h+276|0;k=h+344|0;while(1){b=F[j+12>>2];F[j+12>>2]=b-1;if(!b){a=c;break g}if((c|0)==(f|0)){a=c;break g}b=m;d=k;i=F[h>>2];if((d|0)!=(i|0)){d=i+68|0;F[h>>2]=d;b=i}d=d-68|0;if((d|0)!=(b|0)){while(1){i=d;d=d-68|0;ja(i,d,68);if((b|0)!=(d|0)){continue}break}}c=Ra(c,f,b);if(!c){break g}c=Sa(c,f,b+36|0,32);if(!c){break g}c=ua(c,f,b+32|0);if(c){continue}break}}_=j+16|0;b=a;if(!b){break e}k=g+492|0;a=0;h=_-16|0;_=h;c=ua(b,f,h+12|0);h:{if(!c){break h}i=k+2656|0;m=k+2724|0;while(1){b=F[h+12>>2];F[h+12>>2]=b-1;if(!b){a=c;break h}if((c|0)==(f|0)){a=c;break h}b=i;d=m;g=F[k>>2];if((d|0)!=(g|0)){d=g+68|0;F[k>>2]=d;b=g}d=d-68|0;if((d|0)!=(b|0)){while(1){g=d;d=d-68|0;ja(g,d,68);if((b|0)!=(d|0)){continue}break}}c=Ra(c,f,b);if(!c){break h}c=Sa(c,f,b+36|0,32);if(!c){break h}c=ua(c,f,b+32|0);if(c){continue}break}}_=h+16|0;if(!a){break e}if(r){a=ua(a,f,p+12|0);if(!a){break e}}l=a}_=p+16|0;a=l;break c}F[g+3216>>2]=9}_=n+16|0;b=a;i:{if(!b){if(F[o>>2]){break b}a=10;break i}a=17;if((b|0)==(q|0)){break a}}F[o>>2]=a}e=-1}return e|0}function Ka(a,b,c){var d=0,e=0,f=0,g=0;a:{if(!a){break a}d=a+32|0;if(d>>>0>b>>>0){break a}f=G[a+4|0]|G[a+5|0]<<8|(G[a+6|0]<<16|G[a+7|0]<<24);g=G[a|0]|G[a+1|0]<<8|(G[a+2|0]<<16|G[a+3|0]<<24);D[c|0]=g;D[c+1|0]=g>>>8;D[c+2|0]=g>>>16;D[c+3|0]=g>>>24;D[c+4|0]=f;D[c+5|0]=f>>>8;D[c+6|0]=f>>>16;D[c+7|0]=f>>>24;f=G[a+28|0]|G[a+29|0]<<8|(G[a+30|0]<<16|G[a+31|0]<<24);g=G[a+24|0]|G[a+25|0]<<8|(G[a+26|0]<<16|G[a+27|0]<<24);D[c+24|0]=g;D[c+25|0]=g>>>8;D[c+26|0]=g>>>16;D[c+27|0]=g>>>24;D[c+28|0]=f;D[c+29|0]=f>>>8;D[c+30|0]=f>>>16;D[c+31|0]=f>>>24;f=G[a+20|0]|G[a+21|0]<<8|(G[a+22|0]<<16|G[a+23|0]<<24);g=G[a+16|0]|G[a+17|0]<<8|(G[a+18|0]<<16|G[a+19|0]<<24);D[c+16|0]=g;D[c+17|0]=g>>>8;D[c+18|0]=g>>>16;D[c+19|0]=g>>>24;D[c+20|0]=f;D[c+21|0]=f>>>8;D[c+22|0]=f>>>16;D[c+23|0]=f>>>24;f=G[a+12|0]|G[a+13|0]<<8|(G[a+14|0]<<16|G[a+15|0]<<24);g=G[a+8|0]|G[a+9|0]<<8|(G[a+10|0]<<16|G[a+11|0]<<24);D[c+8|0]=g;D[c+9|0]=g>>>8;D[c+10|0]=g>>>16;D[c+11|0]=g>>>24;D[c+12|0]=f;D[c+13|0]=f>>>8;D[c+14|0]=f>>>16;D[c+15|0]=f>>>24;a=a- -64|0;if(a>>>0>b>>>0){break a}e=G[d+4|0]|G[d+5|0]<<8|(G[d+6|0]<<16|G[d+7|0]<<24);b=G[d|0]|G[d+1|0]<<8|(G[d+2|0]<<16|G[d+3|0]<<24);D[c+32|0]=b;D[c+33|0]=b>>>8;D[c+34|0]=b>>>16;D[c+35|0]=b>>>24;D[c+36|0]=e;D[c+37|0]=e>>>8;D[c+38|0]=e>>>16;D[c+39|0]=e>>>24;e=G[d+28|0]|G[d+29|0]<<8|(G[d+30|0]<<16|G[d+31|0]<<24);b=G[d+24|0]|G[d+25|0]<<8|(G[d+26|0]<<16|G[d+27|0]<<24);D[c+56|0]=b;D[c+57|0]=b>>>8;D[c+58|0]=b>>>16;D[c+59|0]=b>>>24;D[c+60|0]=e;D[c+61|0]=e>>>8;D[c+62|0]=e>>>16;D[c+63|0]=e>>>24;e=G[d+20|0]|G[d+21|0]<<8|(G[d+22|0]<<16|G[d+23|0]<<24);b=G[d+16|0]|G[d+17|0]<<8|(G[d+18|0]<<16|G[d+19|0]<<24);D[c+48|0]=b;D[c+49|0]=b>>>8;D[c+50|0]=b>>>16;D[c+51|0]=b>>>24;D[c+52|0]=e;D[c+53|0]=e>>>8;D[c+54|0]=e>>>16;D[c+55|0]=e>>>24;e=G[d+12|0]|G[d+13|0]<<8|(G[d+14|0]<<16|G[d+15|0]<<24);b=G[d+8|0]|G[d+9|0]<<8|(G[d+10|0]<<16|G[d+11|0]<<24);D[c+40|0]=b;D[c+41|0]=b>>>8;D[c+42|0]=b>>>16;D[c+43|0]=b>>>24;D[c+44|0]=e;D[c+45|0]=e>>>8;D[c+46|0]=e>>>16;D[c+47|0]=e>>>24;e=a}return e}function Cb(a,b,c,d){var e=0,f=0,g=0,h=0,i=0,j=0;F[d+4>>2]=0;F[d+8>>2]=0;D[d|0]=0;F[d+12>>2]=0;F[d+16>>2]=0;c=c- -64|0;if(c>>>0>>0){D[d|0]=G[a|0];b=b-c|0;a:{if((b|0)==1){break a}g=a+b|0;a=a+1|0;while(1){c=a;if(G[a|0]==8){f=c+1|0;b=f;while(1){b:{if((b|0)==(g|0)){a=g;break b}e=D[b|0];a=b+1|0;b=a;if((e|0)<0){continue}}break}c:{if((a|0)==(f|0)){h=0;break c}i=a-f|0;e=i&3;h=0;b=a;if(b+(f^-1)>>>0>=3){f=i&-4;while(1){j=(G[b-2|0]&127|(h<<14|(G[b-1|0]&127)<<7))<<14|(G[b-3|0]&127)<<7;b=b-4|0;h=j|G[b|0]&127;f=f-4|0;if(f){continue}break}}if(!e){break c}while(1){b=b-1|0;h=G[b|0]&127|h<<7;e=e-1|0;if(e){continue}break}}F[d+4>>2]=h;i=1}if((a|0)==(g|0)){break a}if(G[a|0]==18){f=a+1|0;b=f;while(1){d:{if((b|0)==(g|0)){e=g;break d}a=D[b|0];e=b+1|0;b=e;if((a|0)<0){continue}}break}e:{if((e|0)==(f|0)){a=0;break e}j=e-f|0;h=j&3;a=0;b=e;if(b+(f^-1)>>>0>=3){f=j&-4;while(1){a=(G[b-2|0]&127|(a<<14|(G[b-1|0]&127)<<7))<<14|(G[b-3|0]&127)<<7;b=b-4|0;a=a|G[b|0]&127;f=f-4|0;if(f){continue}break}}if(h){while(1){b=b-1|0;a=G[b|0]&127|a<<7;h=h-1|0;if(h){continue}break}}if(g-e>>>0>>0){break a}}F[d+16>>2]=a;F[d+12>>2]=e;a=a+e|0}f:{if((a|0)==(g|0)|(a|0)!=(c|0)){break f}g:{switch(G[c|0]&7){case 0:while(1){h:{if((c|0)==(g|0)){b=g;break h}a=D[c|0];b=c+1|0;c=b;if((a|0)<0){continue}}break};while(1){if((b|0)==(g|0)){a=g;break f}c=D[b|0];a=b+1|0;b=a;if((c|0)<=-1){continue}break};break f;case 2:break g;default:break a}}while(1){i:{if((c|0)==(g|0)){a=g;break i}b=D[c|0];a=c+1|0;c=a;if((b|0)<0){continue}}break}b=a;while(1){j:{if((b|0)==(g|0)){e=g;break j}c=D[b|0];e=b+1|0;b=e;if((c|0)<0){continue}}break}if((a|0)==(e|0)){break f}f=e-a|0;h=f&3;c=0;b=e;if(b+(a^-1)>>>0>=3){a=f&-4;while(1){c=(G[b-2|0]&127|(c<<14|(G[b-1|0]&127)<<7))<<14|(G[b-3|0]&127)<<7;b=b-4|0;c=c|G[b|0]&127;a=a-4|0;if(a){continue}break}}if(h){while(1){b=b-1|0;c=G[b|0]&127|c<<7;h=h-1|0;if(h){continue}break}}if(g-e>>>0>>0){break a}a=c+e|0}if((a|0)!=(g|0)){continue}break}}F[d+8>>2]=i}}function Pa(a,b){var c=0,d=0;c=G[b+4|0]|G[b+5|0]<<8|(G[b+6|0]<<16|G[b+7|0]<<24);d=G[b|0]|G[b+1|0]<<8|(G[b+2|0]<<16|G[b+3|0]<<24);D[a|0]=d;D[a+1|0]=d>>>8;D[a+2|0]=d>>>16;D[a+3|0]=d>>>24;D[a+4|0]=c;D[a+5|0]=c>>>8;D[a+6|0]=c>>>16;D[a+7|0]=c>>>24;c=G[b+28|0]|G[b+29|0]<<8|(G[b+30|0]<<16|G[b+31|0]<<24);d=G[b+24|0]|G[b+25|0]<<8|(G[b+26|0]<<16|G[b+27|0]<<24);D[a+24|0]=d;D[a+25|0]=d>>>8;D[a+26|0]=d>>>16;D[a+27|0]=d>>>24;D[a+28|0]=c;D[a+29|0]=c>>>8;D[a+30|0]=c>>>16;D[a+31|0]=c>>>24;c=G[b+20|0]|G[b+21|0]<<8|(G[b+22|0]<<16|G[b+23|0]<<24);d=G[b+16|0]|G[b+17|0]<<8|(G[b+18|0]<<16|G[b+19|0]<<24);D[a+16|0]=d;D[a+17|0]=d>>>8;D[a+18|0]=d>>>16;D[a+19|0]=d>>>24;D[a+20|0]=c;D[a+21|0]=c>>>8;D[a+22|0]=c>>>16;D[a+23|0]=c>>>24;c=G[b+12|0]|G[b+13|0]<<8|(G[b+14|0]<<16|G[b+15|0]<<24);d=G[b+8|0]|G[b+9|0]<<8|(G[b+10|0]<<16|G[b+11|0]<<24);D[a+8|0]=d;D[a+9|0]=d>>>8;D[a+10|0]=d>>>16;D[a+11|0]=d>>>24;D[a+12|0]=c;D[a+13|0]=c>>>8;D[a+14|0]=c>>>16;D[a+15|0]=c>>>24;c=G[b+36|0]|G[b+37|0]<<8|(G[b+38|0]<<16|G[b+39|0]<<24);d=G[b+32|0]|G[b+33|0]<<8|(G[b+34|0]<<16|G[b+35|0]<<24);D[a+32|0]=d;D[a+33|0]=d>>>8;D[a+34|0]=d>>>16;D[a+35|0]=d>>>24;D[a+36|0]=c;D[a+37|0]=c>>>8;D[a+38|0]=c>>>16;D[a+39|0]=c>>>24;c=G[b+44|0]|G[b+45|0]<<8|(G[b+46|0]<<16|G[b+47|0]<<24);d=G[b+40|0]|G[b+41|0]<<8|(G[b+42|0]<<16|G[b+43|0]<<24);D[a+40|0]=d;D[a+41|0]=d>>>8;D[a+42|0]=d>>>16;D[a+43|0]=d>>>24;D[a+44|0]=c;D[a+45|0]=c>>>8;D[a+46|0]=c>>>16;D[a+47|0]=c>>>24;c=G[b+52|0]|G[b+53|0]<<8|(G[b+54|0]<<16|G[b+55|0]<<24);d=G[b+48|0]|G[b+49|0]<<8|(G[b+50|0]<<16|G[b+51|0]<<24);D[a+48|0]=d;D[a+49|0]=d>>>8;D[a+50|0]=d>>>16;D[a+51|0]=d>>>24;D[a+52|0]=c;D[a+53|0]=c>>>8;D[a+54|0]=c>>>16;D[a+55|0]=c>>>24;c=G[b+60|0]|G[b+61|0]<<8|(G[b+62|0]<<16|G[b+63|0]<<24);b=G[b+56|0]|G[b+57|0]<<8|(G[b+58|0]<<16|G[b+59|0]<<24);D[a+56|0]=b;D[a+57|0]=b>>>8;D[a+58|0]=b>>>16;D[a+59|0]=b>>>24;D[a+60|0]=c;D[a+61|0]=c>>>8;D[a+62|0]=c>>>16;D[a+63|0]=c>>>24;return a- -64|0}function ae(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;if(c>>>0<43){F[a+3216>>2]=2;return-1}c=_-96|0;_=c;d=a+3245|0;e=G[d+4|0]|G[d+5|0]<<8|(G[d+6|0]<<16|G[d+7|0]<<24);F[c+24>>2]=G[d|0]|G[d+1|0]<<8|(G[d+2|0]<<16|G[d+3|0]<<24);F[c+28>>2]=e;d=a+3237|0;e=G[d+4|0]|G[d+5|0]<<8|(G[d+6|0]<<16|G[d+7|0]<<24);F[c+16>>2]=G[d|0]|G[d+1|0]<<8|(G[d+2|0]<<16|G[d+3|0]<<24);F[c+20>>2]=e;d=G[a+3225|0]|G[a+3226|0]<<8|(G[a+3227|0]<<16|G[a+3228|0]<<24);F[c>>2]=G[a+3221|0]|G[a+3222|0]<<8|(G[a+3223|0]<<16|G[a+3224|0]<<24);F[c+4>>2]=d;d=a+3229|0;e=G[d+4|0]|G[d+5|0]<<8|(G[d+6|0]<<16|G[d+7|0]<<24);F[c+8>>2]=G[d|0]|G[d+1|0]<<8|(G[d+2|0]<<16|G[d+3|0]<<24);F[c+12>>2]=e;d=a+3261|0;e=G[d+4|0]|G[d+5|0]<<8|(G[d+6|0]<<16|G[d+7|0]<<24);F[c+40>>2]=G[d|0]|G[d+1|0]<<8|(G[d+2|0]<<16|G[d+3|0]<<24);F[c+44>>2]=e;d=a+3269|0;e=G[d+4|0]|G[d+5|0]<<8|(G[d+6|0]<<16|G[d+7|0]<<24);F[c+48>>2]=G[d|0]|G[d+1|0]<<8|(G[d+2|0]<<16|G[d+3|0]<<24);F[c+52>>2]=e;d=a+3277|0;e=G[d+4|0]|G[d+5|0]<<8|(G[d+6|0]<<16|G[d+7|0]<<24);F[c+56>>2]=G[d|0]|G[d+1|0]<<8|(G[d+2|0]<<16|G[d+3|0]<<24);F[c+60>>2]=e;d=G[a+3257|0]|G[a+3258|0]<<8|(G[a+3259|0]<<16|G[a+3260|0]<<24);F[c+32>>2]=G[a+3253|0]|G[a+3254|0]<<8|(G[a+3255|0]<<16|G[a+3256|0]<<24);F[c+36>>2]=d;d=a+3293|0;e=G[d+4|0]|G[d+5|0]<<8|(G[d+6|0]<<16|G[d+7|0]<<24);F[c+72>>2]=G[d|0]|G[d+1|0]<<8|(G[d+2|0]<<16|G[d+3|0]<<24);F[c+76>>2]=e;d=a+3301|0;e=G[d+4|0]|G[d+5|0]<<8|(G[d+6|0]<<16|G[d+7|0]<<24);F[c+80>>2]=G[d|0]|G[d+1|0]<<8|(G[d+2|0]<<16|G[d+3|0]<<24);F[c+84>>2]=e;d=a+3309|0;e=G[d+4|0]|G[d+5|0]<<8|(G[d+6|0]<<16|G[d+7|0]<<24);F[c+88>>2]=G[d|0]|G[d+1|0]<<8|(G[d+2|0]<<16|G[d+3|0]<<24);F[c+92>>2]=e;d=G[a+3289|0]|G[a+3290|0]<<8|(G[a+3291|0]<<16|G[a+3292|0]<<24);F[c+64>>2]=G[a+3285|0]|G[a+3286|0]<<8|(G[a+3287|0]<<16|G[a+3288|0]<<24);F[c+68>>2]=d;vb(c,96,b+11|0);_=c+96|0;na(b+11|0,32,b);return 43}function $b(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;l=a+7516|0;b=Xa(b,c,d,e,l);a:{b:{if((b|0)==-1){break b}f=a;h=_-16|0;_=h;m=b+d|0;g=m;a=ua(d,g,h+12|0);c:{if(!a){break c}d:{switch(F[h+12>>2]-1|0){case 0:F[f+7516>>2]=13;break c;default:F[f+7516>>2]=9;break c;case 1:case 2:case 3:break d}}a=Qb(a,g,f);if(!a){break c}b=Ka(a,g,f+96|0);if(!b){break c}k=f+160|0;a=0;i=_-16|0;_=i;c=ua(b,g,i+12|0);e:{if(!c){break e}o=k+7132|0;p=k+7204|0;while(1){b=F[i+12>>2];F[i+12>>2]=b-1;if(!b){a=c;break e}if((c|0)==(g|0)){a=c;break e}b=o;d=p;j=F[k>>2];if((d|0)!=(j|0)){d=j+72|0;F[k>>2]=d;b=j}d=d-72|0;if((d|0)!=(b|0)){while(1){j=d;d=d-72|0;ja(j,d,72);if((b|0)!=(d|0)){continue}break}}d=ua(c,g,b);if(!d){break e}c=0;if(!(!d|(d|0)==(g|0))){D[b+4|0]=G[d|0]!=0;c=d+1|0}if(!c){break e}c=Ka(c,g,b+5|0);if(c){continue}break}}_=i+16|0;if(!a){break c}b=F[h+12>>2];f:{if(b>>>0<=2){D[f+7364|0]=0;break f}g:{if((b|0)==3){b=ua(a,g,f+7368|0);if(!b){break c}c=f+7372|0;d=c;a=0;if(!(!b|(b|0)==(g|0))){D[d|0]=G[b|0]!=0;a=b+1|0}if(!a){break c}a=Ka(a,g,f+7373|0);if(!a){break c}a=ua(a,g,f+7440|0);if(!a){break c}d=f+7444|0;b=0;if(!(!a|(a|0)==(g|0))){D[d|0]=G[a|0]!=0;b=a+1|0}if(!b){break c}a=Ka(b,g,f+7445|0);if(!a){break c}if(G[c|0]){if(!G[f+7444|0]){break g}D[f+7364|0]=2;break f}D[f+7364|0]=0;break f}c=f+7364|0;d=c;b=0;if(!a|(a|0)==(g|0)){a=b}else{D[d|0]=G[a|0];a=a+1|0}if(!a){break c}if(!G[c|0]){break f}a=Nb(a,g,f+7368|0);if(!a){break c}if(G[c|0]<2){break f}a=Nb(a,g,f+7440|0);if(!a){break c}if(G[c|0]<3){break f}F[f+7516>>2]=10;break c}D[f+7364|0]=1}n=ua(a,g,f+7512|0)}_=h+16|0;h:{if(!n){if(F[l>>2]){break b}a=10;break h}a=17;if((n|0)==(m|0)){break a}}F[l>>2]=a}e=-1}return e|0}function pb(a,b){var c=0,d=0,e=0;c=_-192|0;_=c;e=c+144|0;fa(e,b);d=c+96|0;fa(d,e);fa(d,d);ha(d,b,d);ha(e,e,d);b=c+48|0;fa(b,e);ha(d,d,b);fa(b,d);fa(b,b);fa(b,b);fa(b,b);fa(b,b);ha(d,b,d);fa(b,d);fa(b,b);fa(b,b);fa(b,b);fa(b,b);fa(b,b);fa(b,b);fa(b,b);fa(b,b);fa(b,b);ha(b,b,d);fa(c,b);fa(c,c);fa(c,c);fa(c,c);fa(c,c);fa(c,c);fa(c,c);fa(c,c);fa(c,c);fa(c,c);fa(c,c);fa(c,c);fa(c,c);fa(c,c);fa(c,c);fa(c,c);fa(c,c);fa(c,c);fa(c,c);fa(c,c);ha(b,c,b);fa(b,b);fa(b,b);fa(b,b);fa(b,b);fa(b,b);fa(b,b);fa(b,b);fa(b,b);fa(b,b);fa(b,b);ha(d,b,d);fa(b,d);fa(b,b);fa(b,b);fa(b,b);fa(b,b);fa(b,b);fa(b,b);fa(b,b);fa(b,b);fa(b,b);fa(b,b);fa(b,b);fa(b,b);fa(b,b);fa(b,b);fa(b,b);fa(b,b);fa(b,b);fa(b,b);fa(b,b);fa(b,b);fa(b,b);fa(b,b);fa(b,b);fa(b,b);fa(b,b);fa(b,b);fa(b,b);fa(b,b);fa(b,b);fa(b,b);fa(b,b);fa(b,b);fa(b,b);fa(b,b);fa(b,b);fa(b,b);fa(b,b);fa(b,b);fa(b,b);fa(b,b);fa(b,b);fa(b,b);fa(b,b);fa(b,b);fa(b,b);fa(b,b);fa(b,b);fa(b,b);fa(b,b);ha(b,b,d);fa(c,b);b=1;while(1){fa(c,c);b=b+1|0;if((b|0)!=100){continue}break}b=c+48|0;ha(b,c,b);fa(b,b);fa(b,b);fa(b,b);fa(b,b);fa(b,b);fa(b,b);fa(b,b);fa(b,b);fa(b,b);fa(b,b);fa(b,b);fa(b,b);fa(b,b);fa(b,b);fa(b,b);fa(b,b);fa(b,b);fa(b,b);fa(b,b);fa(b,b);fa(b,b);fa(b,b);fa(b,b);fa(b,b);fa(b,b);fa(b,b);fa(b,b);fa(b,b);fa(b,b);fa(b,b);fa(b,b);fa(b,b);fa(b,b);fa(b,b);fa(b,b);fa(b,b);fa(b,b);fa(b,b);fa(b,b);fa(b,b);fa(b,b);fa(b,b);fa(b,b);fa(b,b);fa(b,b);fa(b,b);fa(b,b);fa(b,b);fa(b,b);fa(b,b);d=c+96|0;ha(d,b,d);fa(d,d);fa(d,d);fa(d,d);fa(d,d);fa(d,d);ha(a,d,c+144|0);_=c+192|0}function Kd(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=_-240|0;_=d;e=oa(c);a:{if((e|0)!=229){c=-1;if((e|0)==-1){F[a+300>>2]=7;break a}F[a+300>>2]=11;break a}Ma(b,c,d);b:{if(G[d|0]==2){c=d|5;b=G[d+1|0]|G[d+2|0]<<8|(G[d+3|0]<<16|G[d+4|0]<<24);b=b<<24|b<<8&16711680|(b>>>8&65280|b>>>24);_a(a,c,b);_a(a+132|0,c,b);b=G[d+161|0]|G[d+162|0]<<8|(G[d+163|0]<<16|G[d+164|0]<<24);c=G[d+157|0]|G[d+158|0]<<8|(G[d+159|0]<<16|G[d+160|0]<<24);D[a+288|0]=c;D[a+289|0]=c>>>8;D[a+290|0]=c>>>16;D[a+291|0]=c>>>24;D[a+292|0]=b;D[a+293|0]=b>>>8;D[a+294|0]=b>>>16;D[a+295|0]=b>>>24;b=G[d+153|0]|G[d+154|0]<<8|(G[d+155|0]<<16|G[d+156|0]<<24);c=G[d+149|0]|G[d+150|0]<<8|(G[d+151|0]<<16|G[d+152|0]<<24);D[a+280|0]=c;D[a+281|0]=c>>>8;D[a+282|0]=c>>>16;D[a+283|0]=c>>>24;D[a+284|0]=b;D[a+285|0]=b>>>8;D[a+286|0]=b>>>16;D[a+287|0]=b>>>24;b=G[d+145|0]|G[d+146|0]<<8|(G[d+147|0]<<16|G[d+148|0]<<24);c=G[d+141|0]|G[d+142|0]<<8|(G[d+143|0]<<16|G[d+144|0]<<24);D[a+272|0]=c;D[a+273|0]=c>>>8;D[a+274|0]=c>>>16;D[a+275|0]=c>>>24;D[a+276|0]=b;D[a+277|0]=b>>>8;D[a+278|0]=b>>>16;D[a+279|0]=b>>>24;b=G[d+137|0]|G[d+138|0]<<8|(G[d+139|0]<<16|G[d+140|0]<<24);c=G[d+133|0]|G[d+134|0]<<8|(G[d+135|0]<<16|G[d+136|0]<<24);D[a+264|0]=c;D[a+265|0]=c>>>8;D[a+266|0]=c>>>16;D[a+267|0]=c>>>24;D[a+268|0]=b;D[a+269|0]=b>>>8;D[a+270|0]=b>>>16;D[a+271|0]=b>>>24;if(!fb(a+264|0,d,165,d+165|0)){F[a+300>>2]=14;c=-1;break b}F[a+296>>2]=1;c=0;break b}F[a+300>>2]=11;c=-1}ia(d,229)}_=d+240|0;return c|0}function gb(a,b){var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;g=_-336|0;_=g;i=b+32|0;m=i;h=32;c=_-208|0;_=c;e=c- -64|0;F[e>>2]=327033209;F[e+4>>2]=1541459225;F[c+56>>2]=-79577749;F[c+60>>2]=528734635;F[c+48>>2]=725511199;F[c+52>>2]=-1694144372;F[c+40>>2]=-1377402159;F[c+44>>2]=1359893119;F[c+32>>2]=1595750129;F[c+36>>2]=-1521486534;F[c+24>>2]=-23791573;F[c+28>>2]=1013904242;F[c+16>>2]=-2067093701;F[c+20>>2]=-1150833019;F[c+8>>2]=-205731576;F[c+12>>2]=1779033703;F[c>>2]=0;F[c+4>>2]=0;F[c+72>>2]=0;if(a){j=c+76|0;while(1){a:{if(!(h>>>0<128|d)){ta(c,a);d=F[c+4>>2];f=F[c>>2]+1024|0;d=f>>>0<1024?d+1|0:d;F[c>>2]=f;F[c+4>>2]=d;h=h-128|0;a=a+128|0;break a}e=128-d|0;f=e>>>0>h>>>0?h:e;b:{if(!f){break b}k=f&3;e=0;if(f-1>>>0>=3){l=f&-4;while(1){D[(e+d|0)+j|0]=G[a+e|0];d=e|1;D[(d+F[c+72>>2]|0)+j|0]=G[a+d|0];d=e|2;D[(d+F[c+72>>2]|0)+j|0]=G[a+d|0];d=e|3;D[(d+F[c+72>>2]|0)+j|0]=G[a+d|0];e=e+4|0;d=F[c+72>>2];l=l-4|0;if(l){continue}break}}if(!k){break b}while(1){D[(c+(e+d|0)|0)+76|0]=G[a+e|0];e=e+1|0;d=F[c+72>>2];k=k-1|0;if(k){continue}break}}h=h-f|0;a=a+f|0;e=d+f|0;F[c+72>>2]=e;if((e|0)!=128){break a}ta(c,j);F[c+72>>2]=0;d=F[c+4>>2];f=F[c>>2]+1024|0;d=f>>>0<1024?d+1|0:d;F[c>>2]=f;F[c+4>>2]=d}if(h){d=F[c+72>>2];continue}break}cb(c,m)}_=c+208|0;D[i|0]=G[i|0]&248;D[i+31|0]=G[i+31|0]&63|64;Tb(g,i);a=g+256|0;pb(a,g+80|0);c=g+208|0;ha(c,g,a);e=g+160|0;ha(e,g+40|0,a);Fa(b,e);Fa(g+304|0,c);D[b+31|0]=G[b+31|0]^G[g+304|0]<<7;_=g+336|0}function Ad(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0;f=_-144|0;_=f;a:{if(c>>>0<220){F[a+300>>2]=2;a=-1;break a}b:{c:{if((d-F[a+260>>2]|0)>=0){c=a+132|0;bb(c,d);ja(f+8|0,c,132);break c}if((d-F[a+128>>2]|0)<0){break b}c=f+8|0;ja(c,a,132);bb(c,d)}c=b+55|0;D[c+1|0]=d>>>24;D[c|0]=1;D[c+4|0]=d;D[c+3|0]=d>>>8;D[c+2|0]=d>>>16;ja(c+5|0,f+8|0,128);d=G[a+292|0]|G[a+293|0]<<8|(G[a+294|0]<<16|G[a+295|0]<<24);e=G[a+288|0]|G[a+289|0]<<8|(G[a+290|0]<<16|G[a+291|0]<<24);D[c+157|0]=e;D[c+158|0]=e>>>8;D[c+159|0]=e>>>16;D[c+160|0]=e>>>24;D[c+161|0]=d;D[c+162|0]=d>>>8;D[c+163|0]=d>>>16;D[c+164|0]=d>>>24;d=G[a+284|0]|G[a+285|0]<<8|(G[a+286|0]<<16|G[a+287|0]<<24);e=G[a+280|0]|G[a+281|0]<<8|(G[a+282|0]<<16|G[a+283|0]<<24);D[c+149|0]=e;D[c+150|0]=e>>>8;D[c+151|0]=e>>>16;D[c+152|0]=e>>>24;D[c+153|0]=d;D[c+154|0]=d>>>8;D[c+155|0]=d>>>16;D[c+156|0]=d>>>24;d=G[a+276|0]|G[a+277|0]<<8|(G[a+278|0]<<16|G[a+279|0]<<24);e=G[a+272|0]|G[a+273|0]<<8|(G[a+274|0]<<16|G[a+275|0]<<24);D[c+141|0]=e;D[c+142|0]=e>>>8;D[c+143|0]=e>>>16;D[c+144|0]=e>>>24;D[c+145|0]=d;D[c+146|0]=d>>>8;D[c+147|0]=d>>>16;D[c+148|0]=d>>>24;d=G[a+268|0]|G[a+269|0]<<8|(G[a+270|0]<<16|G[a+271|0]<<24);a=G[a+264|0]|G[a+265|0]<<8|(G[a+266|0]<<16|G[a+267|0]<<24);D[c+133|0]=a;D[c+134|0]=a>>>8;D[c+135|0]=a>>>16;D[c+136|0]=a>>>24;D[c+137|0]=d;D[c+138|0]=d>>>8;D[c+139|0]=d>>>16;D[c+140|0]=d>>>24;a=Ca(c,165,b);break a}F[a+300>>2]=12;a=-1}_=f+144|0;return a|0}function Jd(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=_-176|0;_=d;e=oa(c);a:{if((e|0)!=165){c=-1;if((e|0)==-1){F[a+300>>2]=7;break a}F[a+300>>2]=11;break a}Ma(b,c,d);b:{if(G[d|0]==1){c=d|5;b=G[d+1|0]|G[d+2|0]<<8|(G[d+3|0]<<16|G[d+4|0]<<24);b=b<<24|b<<8&16711680|(b>>>8&65280|b>>>24);_a(a,c,b);_a(a+132|0,c,b);b=G[d+161|0]|G[d+162|0]<<8|(G[d+163|0]<<16|G[d+164|0]<<24);c=G[d+157|0]|G[d+158|0]<<8|(G[d+159|0]<<16|G[d+160|0]<<24);D[a+288|0]=c;D[a+289|0]=c>>>8;D[a+290|0]=c>>>16;D[a+291|0]=c>>>24;D[a+292|0]=b;D[a+293|0]=b>>>8;D[a+294|0]=b>>>16;D[a+295|0]=b>>>24;b=G[d+153|0]|G[d+154|0]<<8|(G[d+155|0]<<16|G[d+156|0]<<24);c=G[d+149|0]|G[d+150|0]<<8|(G[d+151|0]<<16|G[d+152|0]<<24);D[a+280|0]=c;D[a+281|0]=c>>>8;D[a+282|0]=c>>>16;D[a+283|0]=c>>>24;D[a+284|0]=b;D[a+285|0]=b>>>8;D[a+286|0]=b>>>16;D[a+287|0]=b>>>24;b=G[d+145|0]|G[d+146|0]<<8|(G[d+147|0]<<16|G[d+148|0]<<24);c=G[d+141|0]|G[d+142|0]<<8|(G[d+143|0]<<16|G[d+144|0]<<24);D[a+272|0]=c;D[a+273|0]=c>>>8;D[a+274|0]=c>>>16;D[a+275|0]=c>>>24;D[a+276|0]=b;D[a+277|0]=b>>>8;D[a+278|0]=b>>>16;D[a+279|0]=b>>>24;b=G[d+137|0]|G[d+138|0]<<8|(G[d+139|0]<<16|G[d+140|0]<<24);c=G[d+133|0]|G[d+134|0]<<8|(G[d+135|0]<<16|G[d+136|0]<<24);D[a+264|0]=c;D[a+265|0]=c>>>8;D[a+266|0]=c>>>16;D[a+267|0]=c>>>24;D[a+268|0]=b;D[a+269|0]=b>>>8;D[a+270|0]=b>>>16;D[a+271|0]=b>>>24;c=0;break b}F[a+300>>2]=11;c=-1}ia(d,165)}_=d+176|0;return c|0}function xa(a){var b=0,c=0,d=0,e=0;b=L(G[a+12|0],6);c=L(G[a+8|0],6);d=L(G[a+4|0],6);e=L(G[a|0],6);D[a+12|0]=G[b+34389|0]^(G[c+34386|0]^(G[d+34388|0]^G[e+34387|0]));D[a+8|0]=G[b+34387|0]^(G[c+34389|0]^(G[d+34386|0]^G[e+34388|0]));D[a+4|0]=G[b+34388|0]^(G[c+34387|0]^(G[d+34389|0]^G[e+34386|0]));D[a|0]=G[b+34386|0]^(G[c+34388|0]^(G[d+34387|0]^G[e+34389|0]));b=L(G[a+13|0],6);c=L(G[a+9|0],6);d=L(G[a+5|0],6);e=L(G[a+1|0],6);D[a+1|0]=G[b+34386|0]^(G[c+34388|0]^(G[d+34387|0]^G[e+34389|0]));D[a+5|0]=G[b+34388|0]^(G[c+34387|0]^(G[d+34389|0]^G[e+34386|0]));D[a+9|0]=G[b+34387|0]^(G[c+34389|0]^(G[d+34386|0]^G[e+34388|0]));D[a+13|0]=G[b+34389|0]^(G[c+34386|0]^(G[d+34388|0]^G[e+34387|0]));b=L(G[a+14|0],6);c=L(G[a+10|0],6);d=L(G[a+6|0],6);e=L(G[a+2|0],6);D[a+2|0]=G[b+34386|0]^(G[c+34388|0]^(G[d+34387|0]^G[e+34389|0]));D[a+14|0]=G[b+34389|0]^(G[c+34386|0]^(G[d+34388|0]^G[e+34387|0]));D[a+10|0]=G[b+34387|0]^(G[c+34389|0]^(G[d+34386|0]^G[e+34388|0]));D[a+6|0]=G[b+34388|0]^(G[c+34387|0]^(G[d+34389|0]^G[e+34386|0]));b=L(G[a+15|0],6);c=L(G[a+11|0],6);d=L(G[a+7|0],6);e=L(G[a+3|0],6);D[a+15|0]=G[b+34389|0]^(G[c+34386|0]^(G[d+34388|0]^G[e+34387|0]));D[a+11|0]=G[b+34387|0]^(G[c+34389|0]^(G[d+34386|0]^G[e+34388|0]));D[a+7|0]=G[b+34388|0]^(G[c+34387|0]^(G[d+34389|0]^G[e+34386|0]));D[a+3|0]=G[b+34386|0]^(G[c+34388|0]^(G[d+34387|0]^G[e+34389|0]))}function Ba(a,b){var c=0,d=0,e=0;d=F[a+64>>2];D[d+a|0]=128;c=d+1|0;a:{if(d>>>0<=55){if(c>>>0>55){break a}ra(a+c|0,0,55-d|0);break a}if(c>>>0<=63){ra(a+c|0,0,63-d|0)}jb(a,a);F[a+48>>2]=0;F[a+52>>2]=0;F[a+40>>2]=0;F[a+44>>2]=0;F[a+32>>2]=0;F[a+36>>2]=0;F[a+24>>2]=0;F[a+28>>2]=0;F[a+16>>2]=0;F[a+20>>2]=0;F[a+8>>2]=0;F[a+12>>2]=0;F[a>>2]=0;F[a+4>>2]=0}c=F[a+76>>2];e=F[a+64>>2]<<3;d=e+F[a+72>>2]|0;c=d>>>0>>0?c+1|0:c;F[a+72>>2]=d;F[a+76>>2]=c;D[a+63|0]=d;D[a+62|0]=(c&255)<<24|d>>>8;D[a+61|0]=(c&65535)<<16|d>>>16;D[a+60|0]=(c&16777215)<<8|d>>>24;D[a+59|0]=c;D[a+58|0]=c>>>8;D[a+57|0]=c>>>16;D[a+56|0]=c>>>24;jb(a,a);D[b|0]=G[a+83|0];D[b+4|0]=G[a+87|0];D[b+8|0]=G[a+91|0];D[b+12|0]=G[a+95|0];D[b+16|0]=G[a+99|0];D[b+20|0]=G[a+103|0];D[b+24|0]=G[a+107|0];D[b+28|0]=G[a+111|0];D[b+1|0]=H[a+82>>1];D[b+5|0]=H[a+86>>1];D[b+9|0]=H[a+90>>1];D[b+13|0]=H[a+94>>1];D[b+17|0]=H[a+98>>1];D[b+21|0]=H[a+102>>1];D[b+25|0]=H[a+106>>1];D[b+29|0]=H[a+110>>1];D[b+2|0]=F[a+80>>2]>>>8;D[b+6|0]=F[a+84>>2]>>>8;D[b+10|0]=F[a+88>>2]>>>8;D[b+14|0]=F[a+92>>2]>>>8;D[b+18|0]=F[a+96>>2]>>>8;D[b+22|0]=F[a+100>>2]>>>8;D[b+26|0]=F[a+104>>2]>>>8;D[b+30|0]=F[a+108>>2]>>>8;D[b+3|0]=F[a+80>>2];D[b+7|0]=F[a+84>>2];D[b+11|0]=F[a+88>>2];D[b+15|0]=F[a+92>>2];D[b+19|0]=F[a+96>>2];D[b+23|0]=F[a+100>>2];D[b+27|0]=F[a+104>>2];D[b+31|0]=F[a+108>>2]}function ad(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;if(c>>>0<306){F[a+228>>2]=2;return-1}c=b+77|0;D[c|0]=2;d=F[a+128>>2];d=d<<24|d<<8&16711680|(d>>>8&65280|d>>>24);D[c+1|0]=d;D[c+2|0]=d>>>8;D[c+3|0]=d>>>16;D[c+4|0]=d>>>24;ja(c+5|0,a,128);d=G[a+160|0]|G[a+161|0]<<8|(G[a+162|0]<<16|G[a+163|0]<<24);e=G[a+156|0]|G[a+157|0]<<8|(G[a+158|0]<<16|G[a+159|0]<<24);D[c+157|0]=e;D[c+158|0]=e>>>8;D[c+159|0]=e>>>16;D[c+160|0]=e>>>24;D[c+161|0]=d;D[c+162|0]=d>>>8;D[c+163|0]=d>>>16;D[c+164|0]=d>>>24;d=G[a+152|0]|G[a+153|0]<<8|(G[a+154|0]<<16|G[a+155|0]<<24);e=G[a+148|0]|G[a+149|0]<<8|(G[a+150|0]<<16|G[a+151|0]<<24);D[c+149|0]=e;D[c+150|0]=e>>>8;D[c+151|0]=e>>>16;D[c+152|0]=e>>>24;D[c+153|0]=d;D[c+154|0]=d>>>8;D[c+155|0]=d>>>16;D[c+156|0]=d>>>24;d=G[a+144|0]|G[a+145|0]<<8|(G[a+146|0]<<16|G[a+147|0]<<24);e=G[a+140|0]|G[a+141|0]<<8|(G[a+142|0]<<16|G[a+143|0]<<24);D[c+141|0]=e;D[c+142|0]=e>>>8;D[c+143|0]=e>>>16;D[c+144|0]=e>>>24;D[c+145|0]=d;D[c+146|0]=d>>>8;D[c+147|0]=d>>>16;D[c+148|0]=d>>>24;d=G[a+136|0]|G[a+137|0]<<8|(G[a+138|0]<<16|G[a+139|0]<<24);e=G[a+132|0]|G[a+133|0]<<8|(G[a+134|0]<<16|G[a+135|0]<<24);D[c+133|0]=e;D[c+134|0]=e>>>8;D[c+135|0]=e>>>16;D[c+136|0]=e>>>24;D[c+137|0]=d;D[c+138|0]=d>>>8;D[c+139|0]=d>>>16;D[c+140|0]=d>>>24;$a(a+132|0,c,165,c+165|0);return Ca(c,229,b)|0}function Kb(a,b){var c=0,d=0;c=G[a|0]|G[a+1|0]<<8|(G[a+2|0]<<16|G[a+3|0]<<24);F[b>>2]=c<<24|c<<8&16711680|(c>>>8&65280|c>>>24);c=G[a+4|0]|G[a+5|0]<<8|(G[a+6|0]<<16|G[a+7|0]<<24);F[b+4>>2]=c<<24|c<<8&16711680|(c>>>8&65280|c>>>24);c=G[a+8|0]|G[a+9|0]<<8|(G[a+10|0]<<16|G[a+11|0]<<24);F[b+8>>2]=c<<24|c<<8&16711680|(c>>>8&65280|c>>>24);c=G[a+12|0]|G[a+13|0]<<8|(G[a+14|0]<<16|G[a+15|0]<<24);F[b+12>>2]=c<<24|c<<8&16711680|(c>>>8&65280|c>>>24);c=G[a+16|0]|G[a+17|0]<<8|(G[a+18|0]<<16|G[a+19|0]<<24);F[b+16>>2]=c<<24|c<<8&16711680|(c>>>8&65280|c>>>24);c=G[a+20|0]|G[a+21|0]<<8|(G[a+22|0]<<16|G[a+23|0]<<24);F[b+20>>2]=c<<24|c<<8&16711680|(c>>>8&65280|c>>>24);c=G[a+24|0]|G[a+25|0]<<8|(G[a+26|0]<<16|G[a+27|0]<<24);F[b+24>>2]=c<<24|c<<8&16711680|(c>>>8&65280|c>>>24);a=G[a+28|0]|G[a+29|0]<<8|(G[a+30|0]<<16|G[a+31|0]<<24);F[b+28>>2]=a<<24|a<<8&16711680|(a>>>8&65280|a>>>24);c=F[b+28>>2];a=8;while(1){d=a&7;a:{if(!d){d=F[(a-1>>>3<<2)+34064>>2];c=se(c,8);c=d^(G[(c>>>8&255)+33808|0]<<8|G[(c&255)+33808|0]|G[(c>>>16&255)+33808|0]<<16|G[(c>>>24|0)+33808|0]<<24);break a}if((d|0)!=4){break a}c=G[(c&255)+33808|0]|G[(c>>>8&255)+33808|0]<<8|G[(c>>>16&255)+33808|0]<<16|G[(c>>>24|0)+33808|0]<<24}c=F[(a-8<<2)+b>>2]^c;F[(a<<2)+b>>2]=c;a=a+1|0;if((a|0)!=60){continue}break}}function Ga(a,b){var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;d=F[b+44>>2];e=F[b+48>>2];f=F[b+52>>2];g=F[b+56>>2];h=F[b+60>>2];c=b- -64|0;i=F[c>>2];j=F[b+68>>2];k=F[b+72>>2];l=F[b+76>>2];m=F[b+4>>2];n=F[b+8>>2];o=F[b+12>>2];p=F[b+16>>2];q=F[b+20>>2];r=F[b+24>>2];s=F[b+28>>2];t=F[b+32>>2];u=F[b+36>>2];F[a>>2]=F[b>>2]+F[b+40>>2];F[a+36>>2]=l+u;F[a+32>>2]=k+t;F[a+28>>2]=j+s;F[a+24>>2]=i+r;F[a+20>>2]=h+q;F[a+16>>2]=g+p;F[a+12>>2]=f+o;F[a+8>>2]=e+n;F[a+4>>2]=d+m;d=F[b+44>>2];e=F[b+48>>2];f=F[b+52>>2];g=F[b+56>>2];h=F[b+60>>2];c=F[c>>2];i=F[b+68>>2];j=F[b+72>>2];k=F[b>>2];l=F[b+40>>2];m=F[b+4>>2];n=F[b+8>>2];o=F[b+12>>2];p=F[b+16>>2];q=F[b+20>>2];r=F[b+24>>2];s=F[b+28>>2];t=F[b+32>>2];F[a+76>>2]=F[b+76>>2]-F[b+36>>2];F[a+72>>2]=j-t;F[a+68>>2]=i-s;F[a- -64>>2]=c-r;F[a+60>>2]=h-q;F[a+56>>2]=g-p;F[a+52>>2]=f-o;F[a+48>>2]=e-n;F[a+44>>2]=d-m;F[a+40>>2]=l-k;d=F[b+88>>2];e=F[b+92>>2];f=F[b+96>>2];g=F[b+100>>2];h=F[b+104>>2];c=F[b+108>>2];i=F[b+80>>2];j=F[b+84>>2];k=F[b+116>>2];F[a+112>>2]=F[b+112>>2];F[a+116>>2]=k;F[a+104>>2]=h;F[a+108>>2]=c;F[a+96>>2]=f;F[a+100>>2]=g;F[a+88>>2]=d;F[a+92>>2]=e;F[a+80>>2]=i;F[a+84>>2]=j;ha(a+120|0,b+120|0,2032)}function oe(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0;g=_-16|0;_=g;a:{b:{e=a+164|0;h=F[a+160>>2];if((e|0)==(h|0)){break b}i=1;d=e;while(1){if(G[d+4|0]){d=d+72|0;if((h|0)!=(d|0)){continue}d=16;if(!i){break a}break b}f=f+55|0;i=0;d=d+72|0;if((h|0)!=(d|0)){continue}break}d=16;break a}d=17}c:{if(d+f>>>0>c>>>0){F[a+7516>>2]=2;a=-1;break c}f=123;D[b|0]=123;d=G[1687]|G[1688]<<8|(G[1689]<<16|G[1690]<<24);c=G[1683]|G[1684]<<8|(G[1685]<<16|G[1686]<<24);D[b+6|0]=c;D[b+7|0]=c>>>8;D[b+8|0]=c>>>16;D[b+9|0]=c>>>24;D[b+10|0]=d;D[b+11|0]=d>>>8;D[b+12|0]=d>>>16;D[b+13|0]=d>>>24;c=G[1682]|G[1683]<<8|(G[1684]<<16|G[1685]<<24);d=G[1678]|G[1679]<<8|(G[1680]<<16|G[1681]<<24);D[b+1|0]=d;D[b+2|0]=d>>>8;D[b+3|0]=d>>>16;D[b+4|0]=d>>>24;D[b+5|0]=c;D[b+6|0]=c>>>8;D[b+7|0]=c>>>16;D[b+8|0]=c>>>24;d=b+14|0;c=F[a+160>>2];d:{if((c|0)!=(e|0)){while(1){if(!G[e+4|0]){D[d+1|0]=34;D[d|0]=f;a=g+12|0;la(a,F[e>>2]);a=na(a,4,d+2|0);D[a+2|0]=34;D[a|0]=34;D[a+1|0]=58;a=na(e+5|0,32,a+3|0);D[a|0]=34;f=44;d=a+1|0}e=e+72|0;if((c|0)!=(e|0)){continue}break}if((f&255)==44){break d}}D[d|0]=f;d=d+1|0}D[d|0]=125;D[d+1|0]=125;a=(d-b|0)+2|0}_=g+16|0;return a|0}function dd(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;l=_-16|0;_=l;f=F[9380];g=aa[F[F[f>>2]+4>>2]](f,c)|0;f=F[9380];f=aa[F[F[f>>2]>>2]](f)|0;m=Db(F[a+128>>2],g,f);f=m+2|0;g=(f>>>0)/3|0;a:{if(((f-L(g,3)|0)+(g<<2)|0)-2>>>0>e>>>0){F[a+228>>2]=2;e=-1;break a}e=F[9380];k=aa[F[F[e>>2]+4>>2]](e,c)|0;e=F[9380];n=aa[F[F[e>>2]>>2]](e)|0;g=F[a+128>>2];e=k;f=m+2|0;i=(f>>>0)/3|0;j=((((f-L(i,3)|0)+(i<<2)|0)-2|0)+d|0)-m|0;o=j;D[j+1|0]=8;D[j|0]=3;h=j+2|0;b:{if(g>>>0<128){f=g;break b}while(1){D[h|0]=g|128;h=h+1|0;i=g>>>0>16383;f=g>>>7|0;g=f;if(i){continue}break}}D[h+1|0]=18;D[h|0]=f;h=h+2|0;c:{if(e>>>0<128){f=e;break c}g=e;while(1){D[h|0]=g|128;h=h+1|0;i=g>>>0>16383;f=g>>>7|0;g=f;if(i){continue}break}}D[h|0]=f;g=h+1|0;F[l+12>>2]=g;f=F[9380];i=k;k=((e+g|0)-o|0)+n|0;e=-1;if((aa[F[F[f>>2]+8>>2]](f,a,128,b,c,F[l+12>>2],i,j,k)|0)==-1){break a}g=0;c=F[a+128>>2]+1|0;F[a+128>>2]=c;d:{if(!(c&16777215)){c=a;b=3;break d}g=c&65535?c&255?3:2:1;c=(g<<5)+a|0;b=3}while(1){ka(c,32,b+37524|0,1,(b<<5)+a|0);e=b>>>0>g>>>0;b=b-1|0;if(e){continue}break}$a(a+132|0,j,k,j+k|0);e=Ca(j,m,d)}i=e;_=l+16|0;return i|0}function Hd(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0;f=a+264|0;g=a+132|0;if(Da(301)>>>0>e>>>0){F[a+300>>2]=2;return-1}e=mb(g,mb(a,la(Za(d,301),2)));h=G[f+4|0]|G[f+5|0]<<8|(G[f+6|0]<<16|G[f+7|0]<<24);g=G[f|0]|G[f+1|0]<<8|(G[f+2|0]<<16|G[f+3|0]<<24);D[e|0]=g;D[e+1|0]=g>>>8;D[e+2|0]=g>>>16;D[e+3|0]=g>>>24;D[e+4|0]=h;D[e+5|0]=h>>>8;D[e+6|0]=h>>>16;D[e+7|0]=h>>>24;h=G[f+28|0]|G[f+29|0]<<8|(G[f+30|0]<<16|G[f+31|0]<<24);g=G[f+24|0]|G[f+25|0]<<8|(G[f+26|0]<<16|G[f+27|0]<<24);D[e+24|0]=g;D[e+25|0]=g>>>8;D[e+26|0]=g>>>16;D[e+27|0]=g>>>24;D[e+28|0]=h;D[e+29|0]=h>>>8;D[e+30|0]=h>>>16;D[e+31|0]=h>>>24;h=G[f+20|0]|G[f+21|0]<<8|(G[f+22|0]<<16|G[f+23|0]<<24);g=G[f+16|0]|G[f+17|0]<<8|(G[f+18|0]<<16|G[f+19|0]<<24);D[e+16|0]=g;D[e+17|0]=g>>>8;D[e+18|0]=g>>>16;D[e+19|0]=g>>>24;D[e+20|0]=h;D[e+21|0]=h>>>8;D[e+22|0]=h>>>16;D[e+23|0]=h>>>24;g=G[f+12|0]|G[f+13|0]<<8|(G[f+14|0]<<16|G[f+15|0]<<24);f=G[f+8|0]|G[f+9|0]<<8|(G[f+10|0]<<16|G[f+11|0]<<24);D[e+8|0]=f;D[e+9|0]=f>>>8;D[e+10|0]=f>>>16;D[e+11|0]=f>>>24;D[e+12|0]=g;D[e+13|0]=g>>>8;D[e+14|0]=g>>>16;D[e+15|0]=g>>>24;D[e+32|0]=F[a+296>>2]!=0;return Ya(b,c,d,301)|0}function ja(a,b,c){var d=0,e=0,f=0;if(c>>>0>=512){Y(a|0,b|0,c|0)|0;return a}e=a+c|0;a:{if(!((a^b)&3)){b:{if(!(a&3)){c=a;break b}if((c|0)<1){c=a;break b}c=a;while(1){D[c|0]=G[b|0];b=b+1|0;c=c+1|0;if(!(c&3)){break b}if(c>>>0>>0){continue}break}}d=e&-4;c:{if(d>>>0<64){break c}f=d+-64|0;if(f>>>0>>0){break c}while(1){F[c>>2]=F[b>>2];F[c+4>>2]=F[b+4>>2];F[c+8>>2]=F[b+8>>2];F[c+12>>2]=F[b+12>>2];F[c+16>>2]=F[b+16>>2];F[c+20>>2]=F[b+20>>2];F[c+24>>2]=F[b+24>>2];F[c+28>>2]=F[b+28>>2];F[c+32>>2]=F[b+32>>2];F[c+36>>2]=F[b+36>>2];F[c+40>>2]=F[b+40>>2];F[c+44>>2]=F[b+44>>2];F[c+48>>2]=F[b+48>>2];F[c+52>>2]=F[b+52>>2];F[c+56>>2]=F[b+56>>2];F[c+60>>2]=F[b+60>>2];b=b- -64|0;c=c- -64|0;if(f>>>0>=c>>>0){continue}break}}if(c>>>0>=d>>>0){break a}while(1){F[c>>2]=F[b>>2];b=b+4|0;c=c+4|0;if(d>>>0>c>>>0){continue}break}break a}if(e>>>0<4){c=a;break a}d=e-4|0;if(d>>>0>>0){c=a;break a}c=a;while(1){D[c|0]=G[b|0];D[c+1|0]=G[b+1|0];D[c+2|0]=G[b+2|0];D[c+3|0]=G[b+3|0];b=b+4|0;c=c+4|0;if(d>>>0>=c>>>0){continue}break}}if(c>>>0>>0){while(1){D[c|0]=G[b|0];b=b+1|0;c=c+1|0;if((e|0)!=(c|0)){continue}break}}return a}function bb(a,b){var c=0,d=0,e=0;a:{b:{c:{d:{e=F[a+128>>2];c=(b>>>24)-(e>>>24)&255;switch(c|0){case 1:break b;case 0:break d;default:break c}}c=256;if(b>>>0>=e>>>0){break a}}while(1){ka(a,32,37524,1,a);c=c-1|0;if(c>>>0>1){continue}break}}ka(a,32,37527,1,a+96|0);ka(a,32,37526,1,a- -64|0);ka(a,32,37525,1,a+32|0);ka(a,32,37524,1,a);e=b&-16777216;F[a+128>>2]=e}d=(b>>>16)-(e>>>16)&255;e:{f:{g:{if(!d){if(b>>>0>=e>>>0){break e}c=a+32|0;d=256;break g}c=a+32|0;if((d|0)==1){break f}}while(1){ka(c,32,37525,1,c);d=d-1|0;if(d>>>0>1){continue}break}}ka(c,32,37527,1,a+96|0);ka(c,32,37526,1,a- -64|0);ka(c,32,37525,1,c);e=b&-65536;F[a+128>>2]=e}d=(b>>>8)-(e>>>8)&255;h:{i:{j:{if(!d){if(b>>>0>=e>>>0){break h}c=a- -64|0;d=256;break j}c=a- -64|0;if((d|0)==1){break i}}while(1){ka(c,32,37526,1,c);d=d-1|0;if(d>>>0>1){continue}break}}ka(c,32,37527,1,a+96|0);ka(c,32,37526,1,c);e=b&-256;F[a+128>>2]=e}d=b-e&255;k:{l:{m:{if(!d){if(b>>>0>=e>>>0){break k}c=a+96|0;d=256;break m}c=a+96|0;if((d|0)==1){break l}}while(1){ka(c,32,37527,1,c);d=d-1|0;if(d>>>0>1){continue}break}}ka(c,32,37527,1,c);F[a+128>>2]=b}}function Fa(a,b){var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;c=F[b>>2];e=c;g=F[b+36>>2];h=F[b+32>>2];i=F[b+28>>2];j=F[b+24>>2];k=F[b+20>>2];l=F[b+16>>2];f=F[b+12>>2];d=F[b+8>>2];m=(L(g,19)+16777216>>25)+c>>26;c=F[b+4>>2];b=e+L(g+(h+(i+(j+(k+(l+(f+(d+(m+c>>25)>>26)>>25)>>26)>>25)>>26)>>25)>>26)>>25,19)|0;D[a|0]=b;D[a+2|0]=b>>>16;D[a+1|0]=b>>>8;c=c+(b>>26)|0;D[a+5|0]=c>>>14;D[a+4|0]=c>>>6;d=d+(c>>25)|0;D[a+8|0]=d>>>13;D[a+7|0]=d>>>5;e=b>>>24&3;b=c&33554431;D[a+3|0]=e|b<<2;c=(d>>26)+f|0;D[a+11|0]=c>>>11;D[a+10|0]=c>>>3;d=d&67108863;D[a+6|0]=d<<3|b>>>22;b=l+(c>>25)|0;D[a+15|0]=b>>>18;D[a+14|0]=b>>>10;D[a+13|0]=b>>>2;f=c&33554431;D[a+9|0]=f<<5|d>>>21;c=(b>>26)+k|0;D[a+16|0]=c;D[a+12|0]=b<<6|f>>>19;D[a+18|0]=c>>>16;D[a+17|0]=c>>>8;b=(c>>25)+j|0;D[a+21|0]=b>>>15;D[a+20|0]=b>>>7;d=(b>>26)+i|0;D[a+24|0]=d>>>13;D[a+23|0]=d>>>5;e=c>>>24&1;c=b&67108863;D[a+19|0]=e|c<<1;b=(d>>25)+h|0;D[a+27|0]=b>>>12;D[a+26|0]=b>>>4;d=d&33554431;D[a+22|0]=d<<3|c>>>23;c=(b>>26)+g|0;D[a+30|0]=c>>>10;D[a+29|0]=c>>>2;b=b&67108863;D[a+25|0]=b<<4|d>>>21;c=c&33554431;D[a+31|0]=c>>>18;D[a+28|0]=c<<6|b>>>20}function ya(a){var b=0,c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;e=G[a+12|0];c=L(e,6);g=G[a|0];f=L(g,6);d=G[a+8|0];b=G[a+4|0];D[a+12|0]=G[c+34384|0]^(G[f+34385|0]^(d^b));h=L(d,6);D[a+8|0]=G[c+34385|0]^(G[h+34384|0]^(b^g));i=L(b,6);D[a|0]=G[i+34385|0]^(G[f+34384|0]^(d^e));d=G[a+5|0];j=L(d,6);b=G[a+1|0];k=L(b,6);c=G[a+13|0];f=G[a+9|0];D[a+1|0]=G[j+34385|0]^(G[k+34384|0]^(c^f));l=L(c,6);D[a+13|0]=G[l+34384|0]^(G[k+34385|0]^(d^f));D[a+4|0]=G[h+34385|0]^(e^(g^G[i+34384|0]));e=L(f,6);D[a+9|0]=G[l+34385|0]^(G[e+34384|0]^(b^d));D[a+5|0]=G[e+34385|0]^(c^(b^G[j+34384|0]));e=G[a+6|0];c=L(e,6);g=G[a+2|0];f=L(g,6);d=G[a+14|0];b=G[a+10|0];D[a+2|0]=G[c+34385|0]^(G[f+34384|0]^(d^b));h=L(d,6);D[a+14|0]=G[h+34384|0]^(G[f+34385|0]^(b^e));b=L(b,6);D[a+10|0]=G[h+34385|0]^(G[b+34384|0]^(e^g));D[a+6|0]=G[b+34385|0]^(d^(g^G[c+34384|0]));e=G[a+15|0];c=L(e,6);g=G[a+3|0];f=L(g,6);d=G[a+11|0];b=G[a+7|0];D[a+15|0]=G[c+34384|0]^(G[f+34385|0]^(d^b));h=G[c+34385|0];c=L(d,6);D[a+11|0]=h^(G[c+34384|0]^(b^g));b=L(b,6);D[a+3|0]=G[b+34385|0]^(G[f+34384|0]^(d^e));D[a+7|0]=G[c+34385|0]^(e^(g^G[b+34384|0]))}function Ec(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;if(c>>>0<=31){F[a>>2]=2;return-1}c=G[a+64|0]|G[a+65|0]<<8|(G[a+66|0]<<16|G[a+67|0]<<24);d=G[a+60|0]|G[a+61|0]<<8|(G[a+62|0]<<16|G[a+63|0]<<24);D[b+24|0]=d;D[b+25|0]=d>>>8;D[b+26|0]=d>>>16;D[b+27|0]=d>>>24;D[b+28|0]=c;D[b+29|0]=c>>>8;D[b+30|0]=c>>>16;D[b+31|0]=c>>>24;c=G[a+56|0]|G[a+57|0]<<8|(G[a+58|0]<<16|G[a+59|0]<<24);d=G[a+52|0]|G[a+53|0]<<8|(G[a+54|0]<<16|G[a+55|0]<<24);D[b+16|0]=d;D[b+17|0]=d>>>8;D[b+18|0]=d>>>16;D[b+19|0]=d>>>24;D[b+20|0]=c;D[b+21|0]=c>>>8;D[b+22|0]=c>>>16;D[b+23|0]=c>>>24;c=G[a+48|0]|G[a+49|0]<<8|(G[a+50|0]<<16|G[a+51|0]<<24);d=G[a+44|0]|G[a+45|0]<<8|(G[a+46|0]<<16|G[a+47|0]<<24);D[b+8|0]=d;D[b+9|0]=d>>>8;D[b+10|0]=d>>>16;D[b+11|0]=d>>>24;D[b+12|0]=c;D[b+13|0]=c>>>8;D[b+14|0]=c>>>16;D[b+15|0]=c>>>24;c=G[a+40|0]|G[a+41|0]<<8|(G[a+42|0]<<16|G[a+43|0]<<24);a=G[a+36|0]|G[a+37|0]<<8|(G[a+38|0]<<16|G[a+39|0]<<24);D[b|0]=a;D[b+1|0]=a>>>8;D[b+2|0]=a>>>16;D[b+3|0]=a>>>24;D[b+4|0]=c;D[b+5|0]=c>>>8;D[b+6|0]=c>>>16;D[b+7|0]=c>>>24;return 32}function Ra(a,b,c){var d=0,e=0;a:{if(!a){break a}e=b;b=a+32|0;if(e>>>0>>0){break a}d=G[a+4|0]|G[a+5|0]<<8|(G[a+6|0]<<16|G[a+7|0]<<24);e=G[a|0]|G[a+1|0]<<8|(G[a+2|0]<<16|G[a+3|0]<<24);D[c|0]=e;D[c+1|0]=e>>>8;D[c+2|0]=e>>>16;D[c+3|0]=e>>>24;D[c+4|0]=d;D[c+5|0]=d>>>8;D[c+6|0]=d>>>16;D[c+7|0]=d>>>24;d=G[a+28|0]|G[a+29|0]<<8|(G[a+30|0]<<16|G[a+31|0]<<24);e=G[a+24|0]|G[a+25|0]<<8|(G[a+26|0]<<16|G[a+27|0]<<24);D[c+24|0]=e;D[c+25|0]=e>>>8;D[c+26|0]=e>>>16;D[c+27|0]=e>>>24;D[c+28|0]=d;D[c+29|0]=d>>>8;D[c+30|0]=d>>>16;D[c+31|0]=d>>>24;d=G[a+20|0]|G[a+21|0]<<8|(G[a+22|0]<<16|G[a+23|0]<<24);e=G[a+16|0]|G[a+17|0]<<8|(G[a+18|0]<<16|G[a+19|0]<<24);D[c+16|0]=e;D[c+17|0]=e>>>8;D[c+18|0]=e>>>16;D[c+19|0]=e>>>24;D[c+20|0]=d;D[c+21|0]=d>>>8;D[c+22|0]=d>>>16;D[c+23|0]=d>>>24;d=G[a+12|0]|G[a+13|0]<<8|(G[a+14|0]<<16|G[a+15|0]<<24);a=G[a+8|0]|G[a+9|0]<<8|(G[a+10|0]<<16|G[a+11|0]<<24);D[c+8|0]=a;D[c+9|0]=a>>>8;D[c+10|0]=a>>>16;D[c+11|0]=a>>>24;D[c+12|0]=d;D[c+13|0]=d>>>8;D[c+14|0]=d>>>16;D[c+15|0]=d>>>24;d=b}return d}function Ea(a,b){var c=0,d=0;c=G[a+4|0]|G[a+5|0]<<8|(G[a+6|0]<<16|G[a+7|0]<<24);d=G[a|0]|G[a+1|0]<<8|(G[a+2|0]<<16|G[a+3|0]<<24);D[b+32|0]=d;D[b+33|0]=d>>>8;D[b+34|0]=d>>>16;D[b+35|0]=d>>>24;D[b+36|0]=c;D[b+37|0]=c>>>8;D[b+38|0]=c>>>16;D[b+39|0]=c>>>24;c=G[a+28|0]|G[a+29|0]<<8|(G[a+30|0]<<16|G[a+31|0]<<24);d=G[a+24|0]|G[a+25|0]<<8|(G[a+26|0]<<16|G[a+27|0]<<24);D[b+56|0]=d;D[b+57|0]=d>>>8;D[b+58|0]=d>>>16;D[b+59|0]=d>>>24;D[b+60|0]=c;D[b+61|0]=c>>>8;D[b+62|0]=c>>>16;D[b+63|0]=c>>>24;c=G[a+20|0]|G[a+21|0]<<8|(G[a+22|0]<<16|G[a+23|0]<<24);d=G[a+16|0]|G[a+17|0]<<8|(G[a+18|0]<<16|G[a+19|0]<<24);D[b+48|0]=d;D[b+49|0]=d>>>8;D[b+50|0]=d>>>16;D[b+51|0]=d>>>24;D[b+52|0]=c;D[b+53|0]=c>>>8;D[b+54|0]=c>>>16;D[b+55|0]=c>>>24;c=G[a+12|0]|G[a+13|0]<<8|(G[a+14|0]<<16|G[a+15|0]<<24);a=G[a+8|0]|G[a+9|0]<<8|(G[a+10|0]<<16|G[a+11|0]<<24);D[b+40|0]=a;D[b+41|0]=a>>>8;D[b+42|0]=a>>>16;D[b+43|0]=a>>>24;D[b+44|0]=c;D[b+45|0]=c>>>8;D[b+46|0]=c>>>16;D[b+47|0]=c>>>24;Jb(b,b+32|0,1856)}function jb(a,b){var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;f=_-256|0;_=f;while(1){F[(d<<2)+f>>2]=G[(c|3)+b|0]|(G[(c|1)+b|0]<<16|G[b+c|0]<<24|G[(c|2)+b|0]<<8);c=c+4|0;d=d+1|0;if((d|0)!=16){continue}break}b=16;c=F[f>>2];while(1){e=c;c=(b<<2)+f|0;d=F[c-8>>2];d=e+(F[c-28>>2]+(se(d,15)^se(d,13)^d>>>10)|0)|0;e=c;c=F[c-60>>2];F[e>>2]=(se(c,25)^se(c,14)^c>>>3)+d;b=b+1|0;if((b|0)!=64){continue}break}n=F[a+80>>2];i=n;o=F[a+84>>2];b=o;p=F[a+108>>2];g=p;q=F[a+104>>2];c=q;r=F[a+100>>2];e=r;s=F[a+96>>2];j=s;t=F[a+92>>2];k=t;u=F[a+88>>2];d=u;while(1){l=d;d=b;b=m<<2;h=j;g=(F[b+33552>>2]+((((se(h,26)^se(h,21)^se(h,7))+(h&e)|0)+g|0)+((h^-1)&c)|0)|0)+F[b+f>>2]|0;b=i;i=g+((se(b,30)^se(b,19)^se(b,10))+((d^l)&b^d&l)|0)|0;j=g+k|0;g=c;c=e;e=h;k=l;m=m+1|0;if((m|0)!=64){continue}break}F[a+108>>2]=g+p;F[a+104>>2]=c+q;F[a+100>>2]=e+r;F[a+96>>2]=j+s;F[a+92>>2]=k+t;F[a+88>>2]=d+u;F[a+84>>2]=b+o;F[a+80>>2]=i+n;_=f+256|0}function $d(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0;g=_-48|0;_=g;a:{if((c|0)<1){break a}D[b|0]=0;if((c|0)<23){break a}F[g+32>>2]=F[a+112>>2];d=Wa(b,c,1727,g+32|0);h=b+c|0;b:{if((d|0)>(c|0)){break b}if((d|0)<1){break a}f=b+d|0;e=c-d|0;d=Wa(f,e,1654,0);h=b+c|0;if((d|0)>(e|0)){break b}if((d|0)<1){break a}b=e-d|0;c=d+f|0;c:{e=a+152|0;if((e|0)!=F[a+148>>2]){d=0;while(1){F[g+16>>2]=F[(L(d,68)+a|0)+184>>2];f=Wa(c,b,1260,g+16|0);if((f|0)>(b|0)){break c}if((f|0)<1){break a}b=b-f|0;c=c+f|0;d=d+1|0;if(d>>>0<(F[a+148>>2]-e|0)/68>>>0){continue}break}}d=Wa(c,b,1631,0);if((d|0)>(b|0)){break c}if((d|0)<1){break a}f=a+496|0;if((f|0)==F[a+492>>2]){break a}c=c+d|0;b=b-d|0;d=0;while(1){F[g>>2]=F[(L(d,68)+a|0)+528>>2];e=Wa(c,b,1260,g);h=b+c|0;if((e|0)>(b|0)){break b}if((e|0)<1){break a}b=b-e|0;c=c+e|0;d=d+1|0;if(d>>>0<(F[a+492>>2]-f|0)/68>>>0){continue}break}break a}h=b+c|0}a=h-4|0;D[a|0]=46;D[a+1|0]=46;D[a+2|0]=46;D[a+3|0]=0}_=g+48|0}function Wa(a,b,c,d){var e=0,f=0,g=0,h=0,i=0,j=0;h=_-16|0;_=h;F[h+12>>2]=d;e=_-160|0;_=e;ja(e+8|0,35920,144);a:{b:{if((b|0)<=0){if(b){break b}b=1;a=e+159|0}F[e+52>>2]=a;F[e+28>>2]=a;f=-2-a|0;f=b>>>0>f>>>0?f:b;F[e+56>>2]=f;a=a+f|0;F[e+36>>2]=a;F[e+24>>2]=a;a=e+8|0;b=_-208|0;_=b;F[b+204>>2]=d;d=b+160|0;ra(d,0,40);F[b+200>>2]=F[b+204>>2];c:{if((hb(0,c,b+200|0,b+80|0,d)|0)<0){a=-1;break c}i=F[a+76>>2]>=0;d=F[a>>2];if(D[a+74|0]<=0){F[a>>2]=d&-33}j=d&32;d:{if(F[a+48>>2]){c=hb(a,c,b+200|0,b+80|0,b+160|0);break d}F[a+48>>2]=80;g=b+80|0;F[a+16>>2]=g;F[a+28>>2]=b;F[a+20>>2]=b;d=F[a+44>>2];F[a+44>>2]=b;g=hb(a,c,b+200|0,g,b+160|0);c=g;if(!d){break d}aa[F[a+36>>2]](a,0,0)|0;F[a+48>>2]=0;F[a+44>>2]=d;F[a+28>>2]=0;F[a+16>>2]=0;c=F[a+20>>2];F[a+20>>2]=0;c=c?g:-1}d=a;a=F[a>>2];F[d>>2]=a|j;a=a&32?-1:c;if(!i){break c}}_=b+208|0;if(!f){break a}b=F[e+28>>2];D[b-((b|0)==F[e+24>>2])|0]=0;break a}F[9439]=61;a=-1}_=e+160|0;_=h+16|0;return a}function Xb(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;a:{if(c>>>0<116){F[a+7516>>2]=2;a=-1;break a}D[b|0]=123;c=G[1682]|G[1683]<<8|(G[1684]<<16|G[1685]<<24);d=G[1678]|G[1679]<<8|(G[1680]<<16|G[1681]<<24);D[b+1|0]=d;D[b+2|0]=d>>>8;D[b+3|0]=d>>>16;D[b+4|0]=d>>>24;D[b+5|0]=c;D[b+6|0]=c>>>8;D[b+7|0]=c>>>16;D[b+8|0]=c>>>24;c=G[1687]|G[1688]<<8|(G[1689]<<16|G[1690]<<24);d=G[1683]|G[1684]<<8|(G[1685]<<16|G[1686]<<24);D[b+6|0]=d;D[b+7|0]=d>>>8;D[b+8|0]=d>>>16;D[b+9|0]=d>>>24;D[b+10|0]=c;D[b+11|0]=c>>>8;D[b+12|0]=c>>>16;D[b+13|0]=c>>>24;D[b+14|0]=34;c=na(a+96|0,32,b+15|0);D[c|0]=34;D[c+1|0]=44;D[c+12|0]=34;d=G[1696]|G[1697]<<8|(G[1698]<<16|G[1699]<<24);e=G[1692]|G[1693]<<8|(G[1694]<<16|G[1695]<<24);D[c+2|0]=e;D[c+3|0]=e>>>8;D[c+4|0]=e>>>16;D[c+5|0]=e>>>24;D[c+6|0]=d;D[c+7|0]=d>>>8;D[c+8|0]=d>>>16;D[c+9|0]=d>>>24;d=G[1700]|G[1701]<<8;D[c+10|0]=d;D[c+11|0]=d>>>8;a=na(a,32,c+13|0);D[a|0]=34;D[a+1|0]=125;a=(a-b|0)+2|0}return a|0}function re(a,b,c){var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;a:{b:{c:{d:{e:{f:{g:{h:{i:{j:{e=b;if(b){d=c;if(!d){break j}break i}a=(a>>>0)/(c>>>0)|0;$=0;break a}if(!a){break h}break g}if(!(d-1&d)){break f}h=(O(d)+33|0)-O(e)|0;i=0-h|0;break d}a=(e>>>0)/0|0;$=0;break a}d=32-O(e)|0;if(d>>>0<31){break e}break c}if((d|0)==1){break b}d=d?31-O(d-1^d)|0:32;c=d&31;if((d&63)>>>0>=32){e=0;a=b>>>c|0}else{e=b>>>c|0;a=((1<>>c}$=e;break a}h=d+1|0;i=63-d|0}d=b;e=h&63;f=e&31;if(e>>>0>=32){e=0;f=d>>>f|0}else{e=d>>>f|0;f=((1<>>f}i=i&63;d=i&31;if(i>>>0>=32){b=a<>>32-d|b<>>31;j=g;e=e<<1|f>>>31;g=i-(e+(d>>>0>>0)|0)>>31;k=c&g;f=j-k|0;e=e-(j>>>0>>0)|0;b=b<<1|a>>>31;a=l|a<<1;g=g&1;l=g;h=h-1|0;if(h){continue}break}}$=b<<1|a>>>31;a=g|a<<1;break a}a=0;b=0}$=b}return a}function fe(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;e=_-16|0;_=e;d=17;a:{if((G[a+7372|0]|!G[a+7364|0]?d:71)>>>0>c>>>0){F[a+7516>>2]=2;a=-1;break a}D[b|0]=123;c=G[1682]|G[1683]<<8|(G[1684]<<16|G[1685]<<24);d=G[1678]|G[1679]<<8|(G[1680]<<16|G[1681]<<24);D[b+1|0]=d;D[b+2|0]=d>>>8;D[b+3|0]=d>>>16;D[b+4|0]=d>>>24;D[b+5|0]=c;D[b+6|0]=c>>>8;D[b+7|0]=c>>>16;D[b+8|0]=c>>>24;c=G[1687]|G[1688]<<8|(G[1689]<<16|G[1690]<<24);d=G[1683]|G[1684]<<8|(G[1685]<<16|G[1686]<<24);D[b+6|0]=d;D[b+7|0]=d>>>8;D[b+8|0]=d>>>16;D[b+9|0]=d>>>24;D[b+10|0]=c;D[b+11|0]=c>>>8;D[b+12|0]=c>>>16;D[b+13|0]=c>>>24;D[b+14|0]=123;d=b+15|0;if(!(G[a+7372|0]|!G[a+7364|0])){D[b+15|0]=34;c=e+12|0;la(c,F[a+7368>>2]);c=na(c,4,b+16|0);D[c+2|0]=34;D[c|0]=34;D[c+1|0]=58;a=na(a+7373|0,32,c+3|0);D[a|0]=34;d=a+1|0}D[d|0]=125;D[d+1|0]=125;a=(d-b|0)+2|0}_=e+16|0;return a|0}function Ed(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0;g=_-160|0;_=g;h=-1;c=Ma(b,c,b);a:{if((c|0)==-1){F[a+300>>2]=7;break a}h=F[9380];Cb(b,c,aa[F[F[h>>2]>>2]](h)|0,g+136|0);if(G[g+136|0]!=3){F[a+300>>2]=3;h=-1;break a}if(!(F[g+148>>2]?F[g+144>>2]:0)){F[a+300>>2]=4;h=-1;break a}if(f){F[f>>2]=F[g+140>>2]}f=c+-64|0;if(!fb(a+264|0,b,f,b+f|0)){F[a+300>>2]=14;h=-1;break a}c=F[9380];if(aa[F[F[c>>2]+12>>2]](c,F[g+152>>2])>>>0>e>>>0){F[a+300>>2]=2;h=-1;break a}b:{c=F[g+140>>2];c:{if((c-F[a+260>>2]|0)>=0){h=a+132|0;bb(h,c);ja(g,h,132);break c}if((c-F[a+128>>2]|0)<0){break b}bb(ja(g,a,132),c)}c=F[9380];b=aa[F[F[c>>2]+16>>2]](c,g,128,b,f,F[g+148>>2],F[g+152>>2],d,e)|0;ia(g,132);h=-1;if((b|0)==-1){F[a+300>>2]=5;break a}F[a+296>>2]=1;h=b;break a}F[a+300>>2]=12;h=-1}_=g+160|0;return h|0}function he(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;e=_-16|0;_=e;a:{if((G[a+7364|0]?71:17)>>>0>c>>>0){F[a+7516>>2]=2;a=-1;break a}D[b|0]=123;c=G[1682]|G[1683]<<8|(G[1684]<<16|G[1685]<<24);d=G[1678]|G[1679]<<8|(G[1680]<<16|G[1681]<<24);D[b+1|0]=d;D[b+2|0]=d>>>8;D[b+3|0]=d>>>16;D[b+4|0]=d>>>24;D[b+5|0]=c;D[b+6|0]=c>>>8;D[b+7|0]=c>>>16;D[b+8|0]=c>>>24;c=G[1687]|G[1688]<<8|(G[1689]<<16|G[1690]<<24);d=G[1683]|G[1684]<<8|(G[1685]<<16|G[1686]<<24);D[b+6|0]=d;D[b+7|0]=d>>>8;D[b+8|0]=d>>>16;D[b+9|0]=d>>>24;D[b+10|0]=c;D[b+11|0]=c>>>8;D[b+12|0]=c>>>16;D[b+13|0]=c>>>24;D[b+14|0]=123;if(G[a+7364|0]){D[b+15|0]=34;c=e+12|0;la(c,F[a+7368>>2]);c=na(c,4,b+16|0);D[c+2|0]=34;D[c|0]=34;D[c+1|0]=58;a=na(a+7373|0,32,c+3|0);D[a|0]=34;a=a+1|0}else{a=b+15|0}D[a|0]=125;D[a+1|0]=125;a=(a-b|0)+2|0}_=e+16|0;return a|0}function ra(a,b,c){var d=0,e=0,f=0;a:{if(!c){break a}f=a+c|0;D[f-1|0]=b;D[a|0]=b;if(c>>>0<3){break a}D[f-2|0]=b;D[a+1|0]=b;D[f-3|0]=b;D[a+2|0]=b;if(c>>>0<7){break a}D[f-4|0]=b;D[a+3|0]=b;if(c>>>0<9){break a}f=0-a&3;e=f+a|0;d=L(b&255,16843009);F[e>>2]=d;b=c-f&-4;c=b+e|0;F[c-4>>2]=d;if(b>>>0<9){break a}F[e+8>>2]=d;F[e+4>>2]=d;F[c-8>>2]=d;F[c-12>>2]=d;if(b>>>0<25){break a}F[e+24>>2]=d;F[e+20>>2]=d;F[e+16>>2]=d;F[e+12>>2]=d;F[c-16>>2]=d;F[c-20>>2]=d;F[c-24>>2]=d;F[c-28>>2]=d;c=b;b=e&4|24;c=c-b|0;if(c>>>0<32){break a}d=qe(d,0,1,1);f=$;b=b+e|0;while(1){F[b+24>>2]=d;e=f;F[b+28>>2]=e;F[b+16>>2]=d;F[b+20>>2]=e;F[b+8>>2]=d;F[b+12>>2]=e;F[b>>2]=d;F[b+4>>2]=e;b=b+32|0;c=c-32|0;if(c>>>0>31){continue}break}}return a}function Gb(a,b,c){a:{if(b>>>0>20){break a}b:{switch(b-9|0){case 0:b=F[c>>2];F[c>>2]=b+4;F[a>>2]=F[b>>2];return;case 1:b=F[c>>2];F[c>>2]=b+4;b=F[b>>2];F[a>>2]=b;F[a+4>>2]=b>>31;return;case 2:b=F[c>>2];F[c>>2]=b+4;F[a>>2]=F[b>>2];F[a+4>>2]=0;return;case 3:b=F[c>>2]+7&-8;F[c>>2]=b+8;c=F[b+4>>2];F[a>>2]=F[b>>2];F[a+4>>2]=c;return;case 4:b=F[c>>2];F[c>>2]=b+4;b=E[b>>1];F[a>>2]=b;F[a+4>>2]=b>>31;return;case 5:b=F[c>>2];F[c>>2]=b+4;F[a>>2]=H[b>>1];F[a+4>>2]=0;return;case 6:b=F[c>>2];F[c>>2]=b+4;b=D[b|0];F[a>>2]=b;F[a+4>>2]=b>>31;return;case 7:b=F[c>>2];F[c>>2]=b+4;F[a>>2]=G[b|0];F[a+4>>2]=0;return;case 8:b=F[c>>2]+7&-8;F[c>>2]=b+8;K[a>>3]=K[b>>3];return;case 9:break b;default:break a}}aa[8](a,c)}}function sb(a,b,c,d,e){var f=0,g=0,h=0,i=0;f=_-80|0;_=f;g=-1;i=F[c+4>>2];h=F[b>>2];if(!(i>>>0>>0|i-h>>>0>2e3)){F[f+72>>2]=F[b+32>>2];h=F[b+28>>2];g=f- -64|0;F[g>>2]=F[b+24>>2];F[g+4>>2]=h;g=F[b+20>>2];F[f+56>>2]=F[b+16>>2];F[f+60>>2]=g;g=F[b+12>>2];F[f+48>>2]=F[b+8>>2];F[f+52>>2]=g;g=F[b+4>>2];h=F[b>>2];F[f+40>>2]=h;F[f+44>>2]=g;b=f+40|4;if(h>>>0>>0){while(1){ka(b,32,1921,1,b);g=F[f+40>>2]+1|0;F[f+40>>2]=g;if(g>>>0>2]){continue}break}}g=b;b=f|4;ka(g,32,1920,1,b);F[f>>2]=F[f+40>>2];a=F[a+4>>2];g=aa[F[F[a>>2]+16>>2]](a,b,32,F[c+8>>2],F[c+12>>2],F[c+24>>2],F[c+28>>2],d,e)|0;ia(f+40|0,36)}_=f+80|0;return g}function bc(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0;g=Ob(a);if(Da(g)>>>0>e>>>0){F[a+7516>>2]=2;return-1}e=a+164|0;f=la(Pa(Sb(la(Za(d,g),4),a),a+96|0),(F[a+160>>2]-e|0)/72|0);h=F[a+160>>2];if((h|0)!=(e|0)){while(1){f=la(f,F[e>>2]);D[f|0]=G[e+4|0];f=Pa(f+1|0,e+5|0);e=e+72|0;if((h|0)!=(e|0)){continue}break}}D[f|0]=G[a+7364|0];e=f+1|0;a:{if(!G[a+7364|0]){break a}e=la(e,F[a+7368>>2]);D[e|0]=G[a+7372|0];e=Pa(e+1|0,a+7373|0);if(G[a+7364|0]<2){break a}e=la(e,F[a+7440>>2]);D[e|0]=G[a+7444|0];e=Pa(e+1|0,a+7445|0)}la(e,F[a+7512>>2]);return Ya(b,c,d,g)|0}function Nc(a,b,c,d,e,f,g,h,i,j,k){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;var l=0,m=0,n=0;l=_-112|0;_=l;m=(aa[F[476]](F[9136],c)|0)+2|0;n=(m>>>0)/3|0;a:{b:{c:{if(((m-L(n,3)|0)+(n<<2)|0)-2>>>0>e>>>0){break c}if(aa[F[475]](F[9136])>>>0>g>>>0){break c}if(i>>>0>=43){break b}}F[a>>2]=2;c=-1;break a}if(k>>>0<=31){F[a>>2]=1;c=-1;break a}g=l+48|0;Ea(j,g);na(g,32,h);h=g;g=l+16|0;za(h,a+4|0,g);a=aa[F[476]](F[9136],c)|0;e=(d+e|0)-a|0;c=aa[F[477]](F[9136],g,32,b,c,e,a,l+8|0,8)|0;if((c|0)==-1){break a}na(l+8|0,8,f);na(e,a,d)}_=l+112|0;return c|0}function qa(a,b,c){var d=0,e=0,f=0,g=0,h=0,i=0;d=-1;a:{if((b&3)==1){break a}d=b+2|0;g=((d&3)+L(d>>>2|0,3)|0)-2|0;d=-1;if((g|0)==-1){break a}e=b&-4;b:{if(!e){e=a;break b}e=a+e|0;d=a;while(1){i=G[d|0];f=G[d+1|0];h=G[(G[d+2|0]&127)+1088|0];D[c+2|0]=G[(G[d+3|0]&127)+1088|0]|h<<6;f=G[(f&127)+1088|0]<<6;D[c+1|0]=(f|h)>>>2;D[c|0]=(f|G[(i&127)+1088|0]<<12)>>>10;c=c+3|0;d=d+4|0;if((d|0)!=(e|0)){continue}break}}b=(a+b|0)-e|0;if(b){a=G[(G[e+1|0]&127)+1088|0]|G[(G[e|0]&127)+1088|0]<<6;if((b|0)==3){D[c+1|0]=(G[(G[e+2|0]&127)+1088|0]|a<<6)>>>2}D[c|0]=a>>>4}d=g}return d}function ma(a,b,c){var d=0,e=0,f=0;if(!(G[a|0]&32)){a:{e=b;d=c;b=a;a=F[b+16>>2];b:{if(!a){a=G[b+74|0];D[b+74|0]=a-1|a;a=F[b>>2];c:{if(a&8){F[b>>2]=a|32;a=-1;break c}F[b+4>>2]=0;F[b+8>>2]=0;a=F[b+44>>2];F[b+28>>2]=a;F[b+20>>2]=a;F[b+16>>2]=a+F[b+48>>2];a=0}if(a){break b}a=F[b+16>>2]}f=F[b+20>>2];if(a-f>>>0>>0){aa[F[b+36>>2]](b,e,c)|0;break a}d:{if(D[b+75|0]<0){break d}a=c;while(1){d=a;if(!a){break d}a=d-1|0;if(G[e+a|0]!=10){continue}break}if(aa[F[b+36>>2]](b,e,d)>>>0>>0){break b}e=d+e|0;c=c-d|0;f=F[b+20>>2]}ja(f,e,c);F[b+20>>2]=F[b+20>>2]+c}}}}function na(a,b,c){var d=0,e=0,f=0,g=0,h=0;d=b-((b>>>0)%3|0)|0;a:{if(!d){e=a;break a}e=a+d|0;d=a;while(1){f=G[d+1|0];g=G[d|0];h=G[d+2|0];D[c+3|0]=G[(h&63)+1024|0];D[c|0]=G[(g>>>2|0)+1024|0];f=f<<8;D[c+2|0]=G[((f|h)>>>6&63)+1024|0];D[c+1|0]=G[((f|g<<16)>>>12&63)+1024|0];c=c+4|0;d=d+3|0;if((e|0)!=(d|0)){continue}break}}d=(a+b|0)-e|0;if(d){a=2;b=G[e|0];b:{if((d|0)==2){a=G[e+1|0]<<2;D[c+2|0]=G[(a&60)+1024|0];d=(a|b<<10)>>>6|0;a=3;break b}d=b<<4}D[c|0]=G[(d>>>6|0)+1024|0];D[c+1|0]=G[(d&63)+1024|0];c=a+c|0}return c}function Ca(a,b,c){var d=0,e=0,f=0,g=0,h=0,i=0;f=a;e=c;d=b-((b>>>0)%3|0)|0;if(d){f=a+d|0;d=a;while(1){g=G[d+1|0];h=G[d|0];i=G[d+2|0];D[e+3|0]=G[(i&63)+1024|0];D[e|0]=G[(h>>>2|0)+1024|0];g=g<<8;D[e+2|0]=G[((g|i)>>>6&63)+1024|0];D[e+1|0]=G[((g|h<<16)>>>12&63)+1024|0];e=e+4|0;d=d+3|0;if((f|0)!=(d|0)){continue}break}}d=(a+b|0)-f|0;if(d){a=2;b=G[f|0];a:{if((d|0)==2){a=G[f+1|0]<<2;D[e+2|0]=G[(a&60)+1024|0];d=(a|b<<10)>>>6|0;a=3;break a}d=b<<4}D[e|0]=G[(d>>>6|0)+1024|0];D[e+1|0]=G[(d&63)+1024|0];e=a+e|0}return e-c|0}function Gd(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0;f=_-16|0;_=f;b=Xa(b,c,d,e,a+300|0);a:{if((b|0)!=-1){b=b+d|0;c=kb(d,b,f+12|0);b:{if(!c){d=10;break b}d=9;if(F[f+12>>2]-1>>>0>1){break b}c=lb(a,c,b);if(!c){d=10;break b}c=lb(a+132|0,c,b);if(!c){d=10;break b}c=Ra(c,b,a+264|0);if(!c){d=10;break b}g=a+296|0;c:{if(F[f+12>>2]==1){F[g>>2]=1;break c}d=10;if(!c|(b|0)==(c|0)){c=h}else{D[g|0]=G[c|0]!=0;c=c+1|0}if(!c){break b}}d=17;if((b|0)==(c|0)){break a}}F[a+300>>2]=d}e=-1}_=f+16|0;return e|0}function Yd(a,b){a=a|0;b=b|0;var c=0,d=0;c=b+3285|0;b=a+164|0;a:{b:{if((b|0)!=F[a+160>>2]){while(1){if(La(b+5|0,c,32)){d=F[b>>2];c=F[a+160>>2]-72|0;F[a+160>>2]=c;if((b|0)==(c|0)){break b}while(1){c=b;b=b+72|0;ja(c,b,72);if(F[a+160>>2]!=(b|0)){continue}break}break b}b=b+72|0;if((b|0)!=F[a+160>>2]){continue}break}}d=-1;if(!G[a+7364|0]){break b}if(La(a+7373|0,c,32)){b=F[a+7368>>2];break a}if(G[a+7364|0]<2){break b}if(!La(a+7445|0,c,32)){break b}d=F[a+7440>>2]}b=d}if((b|0)==-1){F[a+7516>>2]=6}return b|0}function ke(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0;g=c;e=b;a:{b:{if(b<<5>>>0<=d>>>0){if(e){break b}e=0;break a}F[a+7516>>2]=1;e=-1;break a}j=a+7364|0;h=a+164|0;k=a+169|0;while(1){b=j;f=F[a+160>>2];if((b|0)!=(f|0)){b=f+72|0;F[a+160>>2]=b}b=b-72|0;if((h|0)!=(b|0)){while(1){f=b;b=b-72|0;ja(f,b,72);if((b|0)!=(h|0)){continue}break}}D[a+168|0]=0;b=F[a+7512>>2]+1|0;F[h>>2]=b;F[a+7512>>2]=b;Ea(g,k);g=g+32|0;i=i+1|0;if((i|0)!=(e|0)){continue}break}}ia(c,d);return e|0}function Eb(a,b){if(!a){return 0}a:{b:{if(a){if(b>>>0<=127){break b}c:{if(!F[F[9424]>>2]){if((b&-128)==57216){break b}break c}if(b>>>0<=2047){D[a+1|0]=b&63|128;D[a|0]=b>>>6|192;a=2;break a}if(!((b&-8192)!=57344?b>>>0>=55296:0)){D[a+2|0]=b&63|128;D[a|0]=b>>>12|224;D[a+1|0]=b>>>6&63|128;a=3;break a}if(b-65536>>>0<=1048575){D[a+3|0]=b&63|128;D[a|0]=b>>>18|240;D[a+2|0]=b>>>6&63|128;D[a+1|0]=b>>>12&63|128;a=4;break a}}F[9439]=25;a=-1}else{a=1}break a}D[a|0]=b;a=1}return a}function zb(a,b,c,d){var e=0,f=0,g=0;e=_-48|0;_=e;ab(e+8|0,c,d);d=0;c=F[e+12>>2];f=(c|b)!=0;a:{b:{if(c){if(!f){break a}if(F[e+16>>2]==32){break b}break a}if(!f){break a}}if(!F[e+36>>2]){break a}f=F[e+20>>2];if(!f|F[e+24>>2]!=32){break a}g=F[e+28>>2];if(!g|F[e+32>>2]!=32){break a}c:{d:{if(c){c=Ja(c,a+3221|0);if(b){if(c){break a}break d}if(!c){break c}break a}if(!b){break c}}if(Ja(b,a+3221|0)){break a}}if(Ja(f,a+3253|0)){break a}d=!Ja(g,a+3285|0)}_=e+48|0;return d}function Ud(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0;e=oa(d);if((e|0)==-1){F[a+3216>>2]=7;return-1}qa(c,d,c);d=_-48|0;_=d;a:{b:{if((b|0)!=1){ab(d+8|0,c,e);c=F[d+36>>2];if(!c){F[a+3216>>2]=4;break b}e=F[d+40>>2]}b=_-32|0;_=b;f=c;c=F[a+4>>2];ib(b,f,e,aa[F[F[c>>2]>>2]](c)|0);c:{if(!F[b+24>>2]){F[a+8>>2]=4;c=-1;break c}c=F[a+4>>2];c=aa[F[F[c>>2]+12>>2]](c,F[b+28>>2])|0}_=b+32|0;if((c|0)!=-1){break a}F[a+3216>>2]=F[a+8>>2];F[a+8>>2]=0}c=-1}_=d+48|0;return c|0}function La(a,b,c){var d=0,e=0,f=0;d=_-16|0;D[d+15|0]=0;a:{if(!c){break a}f=c-1|0;e=c&3;if(e){while(1){D[d+15|0]=G[d+15|0]|G[b|0]^G[a|0];b=b+1|0;a=a+1|0;c=c-1|0;e=e-1|0;if(e){continue}break}}if(f>>>0<3){break a}while(1){D[d+15|0]=G[d+15|0]|G[a|0]^G[b|0];D[d+15|0]=G[d+15|0]|G[a+1|0]^G[b+1|0];D[d+15|0]=G[d+15|0]|G[a+2|0]^G[b+2|0];D[d+15|0]=G[d+15|0]|G[a+3|0]^G[b+3|0];b=b+4|0;a=a+4|0;c=c-4|0;if(c){continue}break}}return!G[d+15|0]}function Fc(a,b,c,d,e,f,g,h,i){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0;j=_-80|0;_=j;k=F[478];a:{if(aa[k|0](F[9136],oa(g))>>>0>i>>>0){F[a>>2]=2;g=-1;break a}k=oa(g);if((k|0)!=-1?(c|0)!=43|(e|0)!=11:1){F[a>>2]=7;g=-1;break a}c=b;b=j+48|0;qa(c,43,b);c=b;b=j+16|0;za(a+4|0,c,b);c=j+8|0;qa(d,11,c);qa(f,g,f);g=aa[F[479]](F[9136],b,32,c,8,f,k,h,i)|0;if((g|0)!=-1){break a}F[a>>2]=5}_=j+80|0;return g|0}function Hc(a,b,c,d,e,f,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0;h=_-16|0;_=h;a:{if(!(!f|g>>>0>=43)){F[a>>2]=2;g=-1;break a}g=-1;b=Xa(b,c,d,e,a);if((b|0)==-1){break a}b:{b=b+d|0;c=ua(d,b,h+12|0);c:{if(!c){break c}if(F[h+12>>2]!=1){F[a>>2]=9;break c}c=Ka(c,b,a+4|0);if(c){break b}}if(F[a>>2]){break a}F[a>>2]=10;break a}if((b|0)!=(c|0)){F[a>>2]=17;break a}if(f){na(a+4|0,32,f)}g=e}_=h+16|0;return g|0}function wb(a){var b=0,c=0,d=0,e=0,f=0;b=a+48|0;d=F[a+44>>2];if((b|0)==(d|0)){d=36}else{c=4;while(1){c=c+100|0;b=b+100|0;if((d|0)!=(b|0)){continue}break}d=c+32|0}e=4;c=4;b=a+152|0;f=F[a+148>>2];if((b|0)!=(f|0)){while(1){c=c+68|0;b=b+68|0;if((f|0)!=(b|0)){continue}break}}b=a+496|0;a=F[a+492>>2];if((b|0)!=(a|0)){while(1){e=e+68|0;b=b+68|0;if((a|0)!=(b|0)){continue}break}}return((c+d|0)+e|0)+101|0}function te(a,b,c){var d=0,e=0,f=0,g=0;g=c&63;f=g;e=f&31;if(f>>>0>=32){f=-1>>>e|0}else{f=-1>>>e|0;d=f;f=d|(1<>>0>=32){d=f<>>32-e|d<>>0>=32){d=-1<>>32-d}a=c&a;b=b&d;d=e&31;if(e>>>0>=32){c=0;a=b>>>d|0}else{c=b>>>d|0;a=((1<>>d}a=a|g;$=c|f;return a} +function hd(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0;f=_-16|0;_=f;b=Xa(b,c,d,e,a+228|0);a:{if((b|0)!=-1){b=b+d|0;c=kb(d,b,f+12|0);b:{if(!c){d=10;break b}d=9;if(F[f+12>>2]!=1){break b}c=lb(a,c,b);if(!c){d=10;break b}d=10;c=Qb(c,b,a+132|0);if(!c){break b}d=17;if((b|0)==(c|0)){break a}}F[a+228>>2]=d}e=-1}_=f+16|0;return e|0}function Fd(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0;d=_-32|0;_=d;e=-1;c=Ma(b,c,b);a:{if((c|0)==-1){F[a+300>>2]=7;break a}f=b;b=F[9380];Cb(f,c,aa[F[F[b>>2]>>2]](b)|0,d+8|0);if(G[d+8|0]!=3){F[a+300>>2]=3;break a}if(!F[d+20>>2]){F[a+300>>2]=4;break a}a=F[9380];e=aa[F[F[a>>2]+12>>2]](a,F[d+24>>2])|0}_=d+32|0;return e|0}function vb(a,b,c){var d=0;d=_-112|0;_=d;F[d+80>>2]=1779033703;F[d+84>>2]=-1150833019;F[d+72>>2]=0;F[d+76>>2]=0;F[d+64>>2]=0;F[d+104>>2]=528734635;F[d+108>>2]=1541459225;F[d+96>>2]=1359893119;F[d+100>>2]=-1694144372;F[d+88>>2]=1013904242;F[d+92>>2]=-1521486534;pa(d,a,b);Ba(d,c);ia(d,112);_=d+112|0}function Ja(a,b){var c=0,d=0,e=0;c=32;a:{b:{if((a|b)&3){break b}while(1){if(F[a>>2]!=F[b>>2]){break b}b=b+4|0;a=a+4|0;c=c-4|0;if(c>>>0>3){continue}break}if(!c){break a}}while(1){d=G[a|0];e=G[b|0];if((d|0)==(e|0)){b=b+1|0;a=a+1|0;c=c-1|0;if(c){continue}break a}break}return d-e|0}return 0}function ia(a,b){var c=0,d=0;a:{if(!b){break a}c=a;d=b&7;if(d){while(1){D[c|0]=0;c=c+1|0;d=d-1|0;if(d){continue}break}}if(b-1>>>0<7){break a}a=a+b|0;while(1){D[c|0]=0;D[c+1|0]=0;D[c+2|0]=0;D[c+3|0]=0;D[c+4|0]=0;D[c+5|0]=0;D[c+6|0]=0;D[c+7|0]=0;c=c+8|0;if((a|0)!=(c|0)){continue}break}}}function Rd(a,b,c,d,e,f,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0;h=_-32|0;_=h;a:{if((oa(c)|0)!=32){F[a>>2]=7;c=-1;break a}qa(b,c,h);c=-1;b=oa(g);if((b|0)==-1){F[a>>2]=7;break a}qa(f,g,f);b:{if(b>>>0>=64){c=0;if(fb(h,d,e,f)){break b}}F[a>>2]=5;c=-1}}_=h+32|0;return c|0}function Na(a,b,c){var d=0,e=0,f=0;a:{if(b>>>0<1){d=a;break a}while(1){d=re(a,b,10);e=$;f=e;e=qe(d,e,10,0);c=c-1|0;D[c|0]=a-e|48;e=b>>>0>9;a=d;b=f;if(e){continue}break}}if(d){while(1){c=c-1|0;a=(d>>>0)/10|0;D[c|0]=d-L(a,10)|48;b=d>>>0>9;d=a;if(b){continue}break}}return c}function pa(a,b,c){var d=0,e=0,f=0;if(c){d=F[a+64>>2];while(1){D[a+d|0]=G[b+e|0];d=F[a+64>>2]+1|0;F[a+64>>2]=d;if((d|0)==64){jb(a,a);F[a+64>>2]=0;d=F[a+76>>2];f=F[a+72>>2]+512|0;d=f>>>0<512?d+1|0:d;F[a+72>>2]=f;F[a+76>>2]=d;d=0}e=e+1|0;if((e|0)!=(c|0)){continue}break}}}function rd(a,b,c,d,e,f,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0;h=_+-64|0;_=h;a:{if(g>>>0<43){F[a>>2]=2;a=-1;break a}if(!F[a+100>>2]){F[a>>2]=16;a=-1;break a}g=a+68|0;a=h+32|0;Aa(g,32,0,0,d,e,a,32);ka(a,32,b,c,h);Ca(h,32,f);a=0}_=h- -64|0;return a|0}function je(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;a:{if(c>>>0<=31){F[a+7516>>2]=1;a=-1;break a}d=G[a+7364|0];if(d>>>0<=1){D[a+7364|0]=d+1}ja(a+7440|0,a+7368|0,72);D[a+7372|0]=0;d=F[a+7512>>2]+1|0;F[a+7368>>2]=d;F[a+7512>>2]=d;Ea(b,a+7373|0);a=1}ia(b,c);return a|0}function Fb(a,b){var c=0,d=0,e=0;A(+a);c=v(1)|0;d=v(0)|0;e=c;c=c>>>20&2047;if((c|0)!=2047){if(!c){c=b;if(a==0){b=0}else{a=Fb(a*0x10000000000000000,b);b=F[b>>2]+-64|0}F[c>>2]=b;return a}F[b>>2]=c-1022;x(0,d|0);x(1,e&-2146435073|1071644672);a=+z()}return a}function pd(a,b,c,d,e,f,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0;h=_-256|0;_=h;a:{if(g>>>0<43){F[a>>2]=2;a=-1;break a}if(!F[a+100>>2]){F[a>>2]=16;a=-1;break a}Aa(a+68|0,32,0,0,d,e,h,256);ka(h,256,b,c,f);Ca(f,32,f);a=0}_=h+256|0;return a|0}function qd(a,b,c,d,e,f,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0;h=_-32|0;_=h;a:{if(g>>>0<43){F[a>>2]=2;a=-1;break a}if(!F[a+100>>2]){F[a>>2]=16;a=-1;break a}Aa(a+68|0,32,0,0,d,e,h,32);ka(h,32,b,c,f);Ca(f,32,f);a=0}_=h+32|0;return a|0}function Xa(a,b,c,d,e){var f=0,g=0;f=-1;g=oa(d);a:{b:{if((g|0)==-1){c=7;if(e){break b}break a}Ma(c,d,c);d=a;a=g-(aa[F[475]](33528)|0)|0;f=aa[F[479]](33528,d,b,c,g,c,a,c,a)|0;if((f|0)!=-1){return f}c=8;if(!e){break a}}F[e>>2]=c;f=-1}return f}function Ob(a){var b=0,c=0,d=0;d=4;b=a+164|0;c=F[a+160>>2];if((b|0)!=(c|0)){while(1){d=d+69|0;b=b+72|0;if((c|0)!=(b|0)){continue}break}}b=d+165|0;c=b;a:{if(!G[a+7364|0]){break a}b=b+69|0;c=b;if(G[a+7364|0]<2){break a}c=b+69|0}return c+4|0}function be(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0;g=_-32|0;_=g;a:{if((oa(d)|0)!=32){F[a+3216>>2]=7;d=-1;break a}qa(c,d,g);d=-1;c=oa(f);if((c|0)==-1){F[a+3216>>2]=7;break a}qa(e,f,e);d=Ab(a,b,g,e,c)}_=g+32|0;return d|0}function Mb(a,b,c){var d=0,e=0,f=0;e=1;if(a>>>0>=128){while(1){e=e+1|0;d=a>>>0>16383;a=a>>>7|0;if(d){continue}break}}d=1;if(b>>>0>=128){a=b;while(1){d=d+1|0;f=a>>>0>16383;a=a>>>7|0;if(f){continue}break}}return(((b+c|0)+e|0)+d|0)+37|0}function Db(a,b,c){var d=0,e=0,f=0;d=1;e=1;if(a>>>0>=128){while(1){e=e+1|0;f=a>>>0>16383;a=a>>>7|0;if(f){continue}break}}if(b>>>0>=128){a=b;while(1){d=d+1|0;f=a>>>0>16383;a=a>>>7|0;if(f){continue}break}}return(((b+c|0)+e|0)+d|0)+67|0}function Ya(a,b,c,d){var e=0,f=0,g=0,h=0,i=0,j=0;f=aa[F[476]](33528,d)|0;e=f+(aa[F[475]](33528)|0)|0;g=e+2|0;h=(g>>>0)/3|0;i=a;j=b;b=((g-L(h,3)|0)+(h<<2)|0)-2|0;a=(b+c|0)-e|0;aa[F[477]](33528,i,j,a,d,a,f,a,e)|0;Ca(a,e,c);return b}function Zd(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0;f=_-32|0;_=f;a:{if((oa(c)|0)!=32){F[a+3216>>2]=7;c=-1;break a}qa(b,c,f);c=-1;b=oa(e);if((b|0)==-1){F[a+3216>>2]=7;break a}qa(d,e,d);c=zb(a,f,d,b)}_=f+32|0;return c|0}function qe(a,b,c,d){var e=0,f=0,g=0,h=0,i=0,j=0;e=c>>>16|0;f=a>>>16|0;j=L(e,f);g=c&65535;h=a&65535;i=L(g,h);f=(i>>>16|0)+L(f,g)|0;e=(f&65535)+L(e,h)|0;$=(L(b,c)+j|0)+L(a,d)+(f>>>16)+(e>>>16)|0;return i&65535|e<<16}function kb(a,b,c){var d=0,e=0;F[c>>2]=0;a:{if(!a){break a}e=b;b=a+4|0;if(e>>>0>>0){break a}F[c>>2]=0;d=G[a|0]<<8;F[c>>2]=d;d=(d|G[a+1|0])<<8;F[c>>2]=d;d=(d|G[a+2|0])<<8;F[c>>2]=d;F[c>>2]=d|G[a+3|0];d=b}return d}function va(a,b,c,d,e){var f=0;f=_-256|0;_=f;if(!(e&73728|(c|0)<=(d|0))){c=c-d|0;d=c>>>0<256;ra(f,b&255,d?c:256);if(!d){while(1){ma(a,f,256);c=c-256|0;if(c>>>0>255){continue}break}}ma(a,f,c)}_=f+256|0}function pe(a){a=a|0;var b=0,c=0,d=0;b=a+164|0;c=F[a+160>>2];a:{if((b|0)!=(c|0)){a=1;while(1){if(!G[b+4|0]){d=d+55|0;a=0}b=b+72|0;if((c|0)!=(b|0)){continue}break}b=16;if(!a){break a}}b=17}return b+d|0}function ne(a){a=a|0;var b=0,c=0,d=0;b=a+164|0;c=F[a+160>>2];if((b|0)!=(c|0)){while(1){if(!G[b+4|0]){D[b+4|0]=1;d=d+1|0}b=b+72|0;if((c|0)!=(b|0)){continue}break}}D[a+7372|0]=1;return d|0}function ua(a,b,c){var d=0;F[c>>2]=0;if(!(!a|a+4>>>0>b>>>0)){F[c>>2]=0;b=G[a|0]<<8;F[c>>2]=b;b=(b|G[a+1|0])<<8;F[c>>2]=b;b=(b|G[a+2|0])<<8;F[c>>2]=b;F[c>>2]=b|G[a+3|0];d=a+4|0}return d}function ed(a,b){a=a|0;b=b|0;var c=0;c=F[9380];b=aa[F[F[c>>2]+4>>2]](c,b)|0;c=F[9380];c=aa[F[F[c>>2]>>2]](c)|0;b=Db(F[a+128>>2],b,c)+2|0;a=(b>>>0)/3|0;return((b-L(a,3)|0)+(a<<2)|0)-2|0}function Ia(a){var b=0,c=0;b=F[9438];c=a+3&-4;a=b+c|0;a:{if(a>>>0<=b>>>0?c:0){break a}if(a>>>0>ba()<<16>>>0){if(!(Z(a|0)|0)){break a}}F[9438]=a;return b}F[9439]=48;return-1}function id(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0;f=a+132|0;if(Da(232)>>>0>e>>>0){F[a+228>>2]=2;return-1}Sb(mb(a,la(Za(d,232),1)),f);return Ya(b,c,d,232)|0}function Hb(a){var b=0,c=0,d=0;if(D[F[a>>2]]-48>>>0<10){while(1){b=F[a>>2];d=D[b|0];F[a>>2]=b+1;c=(L(c,10)+d|0)-48|0;if(D[b+1|0]-48>>>0<10){continue}break}}return c}function db(a,b){var c=0,d=0;d=F[a+44>>2]==(a+48|0)?0:F[a+112>>2];c=F[a+4>>2];b=aa[F[F[c>>2]+4>>2]](c,b)|0;a=F[a+4>>2];return Mb(d,b,aa[F[F[a>>2]>>2]](a)|0)}function tb(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;if(c>>>0<43){F[a>>2]=2;return-1}if(e>>>0<=31){F[a>>2]=15;return-1}a=a+4|0;Ea(d,a);na(a,32,b);return 0}function Ac(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;if(c>>>0<43){F[a>>2]=2;return-1}if(e>>>0<=31){F[a>>2]=15;return-1}a=a+4|0;gb(d,a);na(a,32,b);return 0}function ud(a,b,c){a=a|0;b=b|0;c=c|0;if(c>>>0<43){F[a>>2]=15;return-1}if((Ma(b,c,b)|0)==-1){F[a>>2]=7;return-1}za(a+4|0,b,a+68|0);F[a+100>>2]=1;return 0}function Rc(a){a=a|0;ia(a,36);F[a+32>>2]=0;F[a+24>>2]=0;F[a+28>>2]=0;F[a+16>>2]=0;F[a+20>>2]=0;F[a+8>>2]=0;F[a+12>>2]=0;F[a>>2]=0;F[a+4>>2]=0;return 36}function Ic(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0;f=a+4|0;if(Da(68)>>>0>e>>>0){F[a>>2]=2;return-1}Pa(la(Za(d,68),1),f);return Ya(b,c,d,68)|0}function Nb(a,b,c){var d=0,e=0;a=ua(a,b,c);a:{if(!a){break a}if(!(!a|(a|0)==(b|0))){D[c+4|0]=G[a|0]!=0;d=a+1|0}if(!d){break a}e=Ka(d,b,c+5|0)}return e}function $c(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;e=F[a+20>>2];d=F[a+16>>2]-e|0;d=c>>>0>>0?c:d;ja(e,b,d);F[a+20>>2]=d+F[a+20>>2];return c|0}function Za(a,b){var c=0,d=0;c=aa[F[476]](33528,b)+aa[F[475]](33528)|0;d=c+2|0;b=(d>>>0)/3|0;return((((d-L(b,3)|0)+(b<<2)|0)-2|0)+a|0)-c|0}function Ib(a){var b=0,c=0,d=0;b=1;if(a>>>0>=128){c=a;while(1){b=b+1|0;d=c>>>0>16383;c=c>>>7|0;if(d){continue}break}}return(a+b|0)+104|0} +function Vb(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;if(e>>>0<86){F[a+7516>>2]=2;return-1}e=a;a=d+22|0;$a(e,b,c,a);na(a,64,d);return 86}function Bb(a){F[a+8>>2]=0;F[a+4>>2]=1768;F[a>>2]=1752;F[a+492>>2]=a+496;F[a+148>>2]=a+152;F[a+44>>2]=a+48;D[a+3220|0]=0;F[a+3216>>2]=0}function yc(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;if(e>>>0<86){F[a>>2]=2;return-1}e=a+4|0;a=d+22|0;$a(e,b,c,a);na(a,64,d);return 86}function ce(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0;e=oa(d);if((e|0)==-1){F[a+3216>>2]=7;return-1}qa(c,d,c);return Ab(a,b,0,c,e)|0}function Zb(a,b,c){a=a|0;b=b|0;c=c|0;a:{if(c>>>0<=63){F[a+7516>>2]=1;a=-1;break a}gb(b,a);Ea(b+32|0,a+96|0);a=0}ia(b,c);return a|0}function la(a,b){b=b<<8&16711680|b<<24|(b>>>8&65280|b>>>24);D[a|0]=b;D[a+1|0]=b>>>8;D[a+2|0]=b>>>16;D[a+3|0]=b>>>24;return a+4|0}function Sd(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;if(e>>>0<43){F[a>>2]=2;return-1}vb(b,c,d+11|0);na(d+11|0,32,d);return 43}function sd(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;if(!F[a+100>>2]){F[a>>2]=16;return-1}Aa(a+68|0,32,0,0,b,c,d,e);return 0}function fd(a,b,c){a=a|0;b=b|0;c=c|0;if(c>>>0<=159){F[a+228>>2]=1;return-1}_a(a,b,0);gb(b+128|0,a+132|0);ia(b,c);return 0}function _d(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;d=oa(c);if((d|0)==-1){F[a+3216>>2]=7;return-1}qa(b,c,b);return zb(a,0,b,d)|0}function Da(a){var b=0;b=(aa[F[476]](33528,a)+aa[F[475]](33528)|0)+2|0;a=(b>>>0)/3|0;return((b-L(a,3)|0)+(a<<2)|0)-2|0}function Sa(a,b,c,d){var e=0,f=0;a:{if(!a){break a}e=b;b=a+d|0;if(e>>>0>>0){break a}ja(c,a,d);f=b}return f}function Pc(a,b){a=a|0;b=b|0;b=(aa[F[476]](F[9136],b)|0)+2|0;a=(b>>>0)/3|0;return((b-L(a,3)|0)+(a<<2)|0)-2|0}function Oc(a){a=a|0;var b=0;b=(aa[F[475]](F[9136])|0)+2|0;a=(b>>>0)/3|0;return((b-L(a,3)|0)+(a<<2)|0)-2|0}function gc(a){a=a|0;ia(a,7520);F[a+7512>>2]=0;F[a+7516>>2]=0;D[a+7364|0]=0;F[a+160>>2]=a+164;return 7520}function wd(a,b,c){a=a|0;b=b|0;c=c|0;if(c>>>0<=31){F[a>>2]=1;return-1}Ea(b,a+4|0);F[a+100>>2]=0;return 0}function jc(a){a=a|0;ia(a,7520);F[a+7512>>2]=0;F[a+7516>>2]=0;D[a+7364|0]=0;F[a+160>>2]=a+164;return a|0}function cd(a,b,c){a=a|0;b=b|0;c=c|0;if(c>>>0<43){F[a+228>>2]=2;return-1}return Ca(a+132|0,32,b)|0}function Dd(a,b,c){a=a|0;b=b|0;c=c|0;if(c>>>0<43){F[a+300>>2]=2;return-1}return Ca(a+264|0,32,b)|0}function qc(a){a=a|0;a=F[a+7516>>2];if(a>>>0<=17){a=F[(a<<2)+33456>>2]}else{a=1383}return a|0}function oc(a){a=a|0;a=F[a+3216>>2];if(a>>>0<=17){a=F[(a<<2)+33456>>2]}else{a=1383}return a|0}function Qc(a,b,c){a=a|0;b=b|0;c=c|0;if(c>>>0<43){F[a>>2]=15;return-1}qa(b,43,a+4|0);return 0}function vd(a,b,c){a=a|0;b=b|0;c=c|0;if(c>>>0<43){F[a>>2]=2;return-1}Ca(a+4|0,32,b);return 0}function ld(a){a=a|0;a=F[a+228>>2];if(a>>>0<=17){a=F[(a<<2)+33456>>2]}else{a=1383}return a|0}function Md(a){a=a|0;a=F[a+300>>2];if(a>>>0<=17){a=F[(a<<2)+33456>>2]}else{a=1383}return a|0}function Wd(a,b){a=a|0;b=b|0;b=xb(a,b)+2|0;a=(b>>>0)/3|0;return((b-L(a,3)|0)+(a<<2)|0)-2|0}function Va(a){a=a|0;a=F[a>>2];if(a>>>0<=17){a=F[(a<<2)+33456>>2]}else{a=1383}return a|0}function se(a,b){var c=0,d=0;c=b&31;d=(-1>>>c&a)<>>a}function oa(a){if((a&3)!=1){a=a+2|0;a=((a&3)+L(a>>>2|0,3)|0)-2|0}else{a=-1}return a}function sc(a,b,c){a=a|0;b=b|0;c=c|0;if(a){D[a|0]=3}if(b){D[b|0]=2}if(c){D[c|0]=8}}function lb(a,b,c){b=Sa(b,c,a,128);if(!b){return 0}return kb(b,c,a+128|0)}function ee(a){a=a|0;if(G[a+7364|0]>=2){D[a+7364|0]=1;ia(a+7440|0,72)}}function Gc(a,b){a=a|0;b=b|0;a=F[478];return aa[a|0](F[9136],oa(b))|0}function Qd(a){a=a|0;return(a>>>0<=17?F[(a<<2)+33456>>2]:1383)|0}function ge(a){a=a|0;return(G[a+7372|0]|!G[a+7364|0]?17:71)|0}function xb(a,b){b=db(a,b);if(!G[a+3220|0]){b=Ib(b)}return b}function Bc(a){a=a|0;ia(a,100);ra(a,0,100);return 100}function Xd(a){a=a|0;return(F[a+44>>2]==(a+48|0))<<5}function mb(a,b){return la(Ta(b,a,128),F[a+128>>2])}function Kc(a){a=a|0;ia(a,68);ra(a,0,68);return 68}function hc(a){a=a|0;ia(a,4);F[a>>2]=0;return a|0}function fc(a){a=a|0;ia(a,3320);Bb(a);return 3320}function ie(a){a=a|0;return(G[a+7364|0]?71:17)|0}function ic(a){a=a|0;ia(a,3320);Bb(a);return a|0}function ec(a){a=a|0;ia(a,4);F[a>>2]=0;return 4}function Uc(a){a=a|0;a=_-a&-16;_=a;return a|0}function wc(a,b){a=a|0;b=b|0;return b+16&-16}function _a(a,b,c){F[a+128>>2]=c;ja(a,b,128)}function yd(a){a=a|0;ia(a,104);return a|0}function xd(a){a=a|0;ia(a,104);return 104}function nd(a){a=a|0;ia(a,232);return a|0}function md(a){a=a|0;ia(a,232);return 232}function Od(a){a=a|0;ia(a,304);return a|0}function Nd(a){a=a|0;ia(a,304);return 304}function Cc(a){a=a|0;ia(a,100);return a|0}function pc(a){a=a|0;return F[a+7516>>2]}function nc(a){a=a|0;return F[a+3216>>2]}function le(a,b){a=a|0;b=b|0;return b<<5}function Sc(a){a=a|0;ia(a,36);return a|0}function Lc(a){a=a|0;ia(a,68);return a|0}function yb(a){a=a|0;return G[a+3220|0]}function uc(a,b){a=a|0;b=b|0;return b|0}function td(a){a=a|0;return F[a+100>>2]}function kd(a){a=a|0;return F[a+228>>2]}function dc(a){a=a|0;return Da(Ob(a))|0}function cc(a){a=a|0;return Da(wb(a))|0}function Ta(a,b,c){return ja(a,b,c)+c|0}function Pb(a){a=a|0;return F[a+128>>2]}function Ld(a){a=a|0;return F[a+300>>2]}function Cd(a){a=a|0;return F[a+296>>2]}function jd(a){a=a|0;return Da(232)|0}function Id(a){a=a|0;return Da(301)|0}function Jc(a){a=a|0;return Da(68)|0}function Ua(a){a=a|0;return F[a>>2]}function Ma(a,b,c){return qa(a,b,c)}function za(a,b,c){Jb(c,a+32|0,b)}function me(a){a=a|0;return 100}function gd(a){a=a|0;return 160}function bd(a){a=a|0;return 306}function Yb(a){a=a|0;return 116}function Bd(a){a=a|0;return 220}function rb(a){a=a|0;return 64}function qb(a){a=a|0;return 32}function Wb(a){a=a|0;return 86}function Qa(a){a=a|0;return 43}function xc(a){a=a|0;return 8}function mc(){return 7520}function lc(){return 3320}function zd(){return 104}function od(){return 232}function Wc(){return _|0}function Vc(a){a=a|0;_=a}function Pd(){return 304}function Dc(){return 100}function zc(){return 86}function ub(){return 43}function eb(){return 32}function Tc(){return 36}function Mc(){return 68}function rc(){return-1}function kc(){return 4}function Ub(){} +// EMSCRIPTEN_END_FUNCS +e=G;p(da);var aa=c([null,xc,wc,vc,uc,tc,$c,_c,Zc]);function ba(){return C.byteLength/65536|0}return{"d":Ub,"e":aa,"f":Va,"g":Qd,"h":Ua,"i":Tc,"j":Sc,"k":Rc,"l":Qc,"m":ub,"n":Pc,"o":Oc,"p":qb,"q":Nc,"r":Va,"s":Ua,"t":Mc,"u":Lc,"v":Kc,"w":eb,"x":eb,"y":tb,"z":tb,"A":Jc,"B":Ic,"C":Hc,"D":Gc,"E":Fc,"F":Ec,"G":Dc,"H":Cc,"I":Va,"J":Ua,"K":Bc,"L":eb,"M":ub,"N":Ac,"O":zc,"P":yc,"Q":sc,"R":rc,"S":qc,"T":pc,"U":oc,"V":nc,"W":Va,"X":Ua,"Y":mc,"Z":lc,"_":kc,"$":jc,"aa":ic,"ba":hc,"ca":gc,"da":fc,"ea":ec,"fa":dc,"ga":cc,"ha":bc,"ia":ac,"ja":$b,"ka":_b,"la":rb,"ma":Zb,"na":Yb,"oa":Xb,"pa":Wb,"qa":Vb,"ra":pe,"sa":oe,"ta":ne,"ua":me,"va":le,"wa":ke,"xa":qb,"ya":je,"za":ie,"Aa":he,"Ba":ge,"Ca":fe,"Da":ee,"Ea":rb,"Fa":de,"Ga":ce,"Ha":be,"Ia":Qa,"Ja":ae,"Ka":yb,"La":$d,"Ma":_d,"Na":Zd,"Oa":Yd,"Pa":yb,"Qa":Xd,"Ra":Wd,"Sa":Vd,"Ta":Ud,"Ua":Td,"Va":Qa,"Wa":Sd,"Xa":Rd,"Ya":Pd,"Za":Od,"_a":Nd,"$a":Md,"ab":Ld,"bb":Kd,"cb":Jd,"db":Id,"eb":Hd,"fb":Gd,"gb":Fd,"hb":Ed,"ib":Qa,"jb":Dd,"kb":Pb,"lb":Cd,"mb":Bd,"nb":Ad,"ob":Va,"pb":Ua,"qb":zd,"rb":yd,"sb":xd,"tb":qb,"ub":wd,"vb":Qa,"wb":vd,"xb":ud,"yb":td,"zb":sd,"Ab":Qa,"Bb":rd,"Cb":qd,"Db":pd,"Eb":od,"Fb":nd,"Gb":md,"Hb":ld,"Ib":kd,"Jb":jd,"Kb":id,"Lb":hd,"Mb":gd,"Nb":fd,"Ob":ed,"Pb":dd,"Qb":Qa,"Rb":cd,"Sb":Pb,"Tb":bd,"Ub":ad,"Vb":Yc,"Wb":Xc,"Xb":Wc,"Yb":Vc,"Zb":Uc}}return ca(ea)} +// EMSCRIPTEN_END_ASM + + + + +)(sa)} +function ta(){return{then:function(b){b({instance:new ra})}}}var ua=Error,WebAssembly={};u=[];"object"!==typeof WebAssembly&&t("no native wasm support detected"); +function w(b){var c="i8";"*"===c.charAt(c.length-1)&&(c="i32");switch(c){case "i1":x[b>>0]=0;break;case "i8":x[b>>0]=0;break;case "i16":va[b>>1]=0;break;case "i32":y[b>>2]=0;break;case "i64":wa=[0,(xa=0,1<=+Math.abs(xa)?0>>0:~~+Math.ceil((xa-+(~~xa>>>0))/4294967296)>>>0:0)];y[b>>2]=wa[0];y[b+4>>2]=wa[1];break;case "float":ya[b>>2]=0;break;case "double":za[b>>3]=0;break;default:t("invalid type for setValue: "+c)}} +function Aa(b,c){c=c||"i8";"*"===c.charAt(c.length-1)&&(c="i32");switch(c){case "i1":return x[b>>0];case "i8":return x[b>>0];case "i16":return va[b>>1];case "i32":return y[b>>2];case "i64":return y[b>>2];case "float":return ya[b>>2];case "double":return za[b>>3];default:t("invalid type for getValue: "+c)}return null}var Ba,Ca=!1,Da="undefined"!==typeof TextDecoder?new TextDecoder("utf8"):void 0; +function z(b,c){if(b){var d=A,e=b+c;for(c=b;d[c]&&!(c>=e);)++c;if(16f?e+=String.fromCharCode(f):(f-=65536,e+=String.fromCharCode(55296|f>>10,56320|f&1023))}}else e+=String.fromCharCode(f)}b=e}}else b="";return b} +function Ea(b,c,d,e){if(!(0=p){var v=b.charCodeAt(++k);p=65536+((p&1023)<<10)|v&1023}if(127>=p){if(d>=e)break;c[d++]=p}else{if(2047>=p){if(d+1>=e)break;c[d++]=192|p>>6}else{if(65535>=p){if(d+2>=e)break;c[d++]=224|p>>12}else{if(d+3>=e)break;c[d++]=240|p>>18;c[d++]=128|p>>12&63}c[d++]=128|p>>6&63}c[d++]=128|p&63}}c[d]=0;return d-f} +function Fa(b){for(var c=0,d=0;d=e&&(e=65536+((e&1023)<<10)|b.charCodeAt(++d)&1023);127>=e?++c:c=2047>=e?c+2:65535>=e?c+3:c+4}return c}function Ga(b,c){for(var d=0;d>0]=b.charCodeAt(d)}var Ia,x,A,va,y,ya,za,qa=a.INITIAL_MEMORY||16777216;a.wasmMemory?Ba=a.wasmMemory:Ba=new pa;Ba&&(Ia=Ba.buffer);qa=Ia.byteLength;var B=Ia;Ia=B;a.HEAP8=x=new Int8Array(B);a.HEAP16=va=new Int16Array(B);a.HEAP32=y=new Int32Array(B);a.HEAPU8=A=new Uint8Array(B); +a.HEAPU16=new Uint16Array(B);a.HEAPU32=new Uint32Array(B);a.HEAPF32=ya=new Float32Array(B);a.HEAPF64=za=new Float64Array(B);var Ja,Ka=[],La=[],Ma=[];function Na(){var b=a.preRun.shift();Ka.unshift(b)}var C=0,Oa=null,Pa=null;a.preloadedImages={};a.preloadedAudios={};function t(b){if(a.onAbort)a.onAbort(b);oa(b);Ca=!0;b=new ua("abort("+b+"). Build with -s ASSERTIONS=1 for more info.");ba(b);throw b;}var Qa="data:application/octet-stream;base64,",D;D="olm_legacy.wasm"; +if(!D.startsWith(Qa)){var Ra=D;D=a.locateFile?a.locateFile(Ra,m):m+Ra}function Sa(){var b=D;try{if(b==D&&u)return new Uint8Array(u);var c=r(b);if(c)return c;if(ma)return ma(b);throw"both async and sync fetching of the wasm failed";}catch(d){t(d)}} +function Ta(){if(!u&&(fa||ha)){if("function"===typeof fetch&&!D.startsWith("file://"))return fetch(D,{credentials:"same-origin"}).then(function(b){if(!b.ok)throw"failed to load wasm binary file at '"+D+"'";return b.arrayBuffer()}).catch(function(){return Sa()});if(la)return new Promise(function(b,c){la(D,function(d){b(new Uint8Array(d))},c)})}return Promise.resolve().then(function(){return Sa()})}var xa,wa; +function Ua(b){for(;0>4;f=(f&15)<<4|k>>2;var v=(k&3)<<6|p;c+=String.fromCharCode(e);64!==k&&(c+=String.fromCharCode(f));64!==p&&(c+=String.fromCharCode(v))}while(d + + diff --git a/assets/paperclip-3961996319.da562307.svg b/assets/paperclip-3961996319.da562307.svg new file mode 100644 index 00000000..5538dd7a --- /dev/null +++ b/assets/paperclip-3961996319.da562307.svg @@ -0,0 +1,3 @@ + + + diff --git a/assets/paperclip.ec29fd9d.svg b/assets/paperclip.ec29fd9d.svg new file mode 100644 index 00000000..c18661ec --- /dev/null +++ b/assets/paperclip.ec29fd9d.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/assets/plus-3937109722.5c243914.svg b/assets/plus-3937109722.5c243914.svg new file mode 100644 index 00000000..6f60a21d --- /dev/null +++ b/assets/plus-3937109722.5c243914.svg @@ -0,0 +1,3 @@ + + + diff --git a/assets/plus-4190356069.084c5e3d.svg b/assets/plus-4190356069.084c5e3d.svg new file mode 100644 index 00000000..04b67dea --- /dev/null +++ b/assets/plus-4190356069.084c5e3d.svg @@ -0,0 +1,3 @@ + + + diff --git a/assets/plus.49560f96.svg b/assets/plus.49560f96.svg new file mode 100644 index 00000000..54e5d066 --- /dev/null +++ b/assets/plus.49560f96.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/assets/room-members-3084360280.6f64aaef.svg b/assets/room-members-3084360280.6f64aaef.svg new file mode 100644 index 00000000..c2e87efb --- /dev/null +++ b/assets/room-members-3084360280.6f64aaef.svg @@ -0,0 +1,7 @@ + + + + + + + diff --git a/assets/room-members-3847743605.9fcf4567.svg b/assets/room-members-3847743605.9fcf4567.svg new file mode 100644 index 00000000..85c244c6 --- /dev/null +++ b/assets/room-members-3847743605.9fcf4567.svg @@ -0,0 +1,7 @@ + + + + + + + diff --git a/assets/room-members.35ed0bf9.svg b/assets/room-members.35ed0bf9.svg new file mode 100644 index 00000000..61cdf29c --- /dev/null +++ b/assets/room-members.35ed0bf9.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/assets/search-261439583.1bffaca1.svg b/assets/search-261439583.1bffaca1.svg new file mode 100644 index 00000000..3700c3ed --- /dev/null +++ b/assets/search-261439583.1bffaca1.svg @@ -0,0 +1,3 @@ + + + diff --git a/assets/search-3263540198.1511780c.svg b/assets/search-3263540198.1511780c.svg new file mode 100644 index 00000000..b923e680 --- /dev/null +++ b/assets/search-3263540198.1511780c.svg @@ -0,0 +1,3 @@ + + + diff --git a/assets/search.21e0fd39.svg b/assets/search.21e0fd39.svg new file mode 100644 index 00000000..584b8651 --- /dev/null +++ b/assets/search.21e0fd39.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/assets/send-1171052351.caa5c494.svg b/assets/send-1171052351.caa5c494.svg new file mode 100644 index 00000000..a21a5787 --- /dev/null +++ b/assets/send-1171052351.caa5c494.svg @@ -0,0 +1,3 @@ + + + diff --git a/assets/send-3413346515.b0fb8626.svg b/assets/send-3413346515.b0fb8626.svg new file mode 100644 index 00000000..1742eefe --- /dev/null +++ b/assets/send-3413346515.b0fb8626.svg @@ -0,0 +1,3 @@ + + + diff --git a/assets/send.7a090949.svg b/assets/send.7a090949.svg new file mode 100644 index 00000000..b64d0741 --- /dev/null +++ b/assets/send.7a090949.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/assets/settings-2175246113.00804666.svg b/assets/settings-2175246113.00804666.svg new file mode 100644 index 00000000..85d1de17 --- /dev/null +++ b/assets/settings-2175246113.00804666.svg @@ -0,0 +1,3 @@ + + + diff --git a/assets/settings-878939771.57cf3680.svg b/assets/settings-878939771.57cf3680.svg new file mode 100644 index 00000000..4e3aee30 --- /dev/null +++ b/assets/settings-878939771.57cf3680.svg @@ -0,0 +1,3 @@ + + + diff --git a/assets/settings.45b8e09f.svg b/assets/settings.45b8e09f.svg new file mode 100644 index 00000000..fb8809ae --- /dev/null +++ b/assets/settings.45b8e09f.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/assets/theme-element-dark.4718033a.css b/assets/theme-element-dark.4718033a.css new file mode 100644 index 00000000..b55d7804 --- /dev/null +++ b/assets/theme-element-dark.4718033a.css @@ -0,0 +1 @@ +@font-face{font-family:"emoji";src:local("Apple Color Emoji"),local("Segoe UI Emoji"),local("Segoe UI Symbol"),local("Noto Color Emoji"),local("Twemoji"),local("Twemoji Mozilla"),local("Android Emoji"),local("EmojiSymbols"),local("Symbola");unicode-range:U+1F300-1F5FF,U+1F600-1F64F,U+1F680-1F6FF,U+2600-26FF}html{height:100%}main{display:block}@media screen and (min-width: 600px){.PreSessionScreen{width:600px;box-sizing:border-box;margin:50px auto 0}}.room-placeholder{display:flex;flex-direction:row}.SessionView{position:fixed;height:100%;width:100%;display:grid;grid-template:"status status" auto "left middle" 1fr / 320px 1fr;min-height:0;min-width:0}.right-shown{grid-template:"status status status" auto "left middle right" 1fr / 320px 1fr 300px}.hydrogen.ios .SessionView{height:var(--ios-viewport-height, 100%);top:var(--ios-viewport-top, 0)}.middle .close-middle{display:none}@media screen and (max-width: 800px){.SessionView:not(.middle-shown):not(.right-shown){grid-template:"status" auto "left" 1fr / 1fr}.SessionView.middle-shown{grid-template:"status" auto "middle" 1fr / 1fr}.SessionView.right-shown{grid-template:"status" auto "right" 1fr / 1fr}.SessionView:not(.middle-shown):not(.right-shown) .room-placeholder{display:none}.SessionView.middle-shown .LeftPanel,.SessionView.right-shown .middle,.SessionView.right-shown .LeftPanel{display:none}.middle .close-middle{display:block!important}.LeftPanel .grid{display:none!important}}.LeftPanel{grid-area:left;min-width:0;min-height:0}.room-placeholder,.middle{min-width:0;grid-area:middle;width:100%;min-height:0}.middle{display:flex;flex-direction:column}.SessionStatusView{grid-area:status}.lightbox{position:absolute;top:0;bottom:0;left:0;right:0;z-index:1;box-sizing:border-box;height:100%}.RoomView_body{flex:1 1;min-height:0;min-width:0;display:flex;flex-direction:column;height:100%}.RoomView_body .Timeline,.RoomView_body .TimelineLoadingView{flex:1 0}.middle-header{display:flex}.RoomGridView{display:grid}.RoomGridView.layout3x2{grid-template:"t0 t1 t2" 1fr "t3 t4 t5" 1fr / 1fr 1fr 1fr}.RoomGridView>.tile0{grid-area:t0}.RoomGridView>.tile1{grid-area:t1}.RoomGridView>.tile2{grid-area:t2}.RoomGridView>.tile3{grid-area:t3}.RoomGridView>.tile4{grid-area:t4}.RoomGridView>.tile5{grid-area:t5}.RoomGridView>div{display:flex;min-width:0;min-height:0}.RoomGridView>div.focus-ring{z-index:1;pointer-events:none}.menu{position:absolute;z-index:2}.menu .menu-item{box-sizing:border-box;width:100%}.Settings{display:flex;flex-direction:column}.SettingsBody{min-height:0;overflow-y:auto}.LazyListParent{flex:1 1}.LoadingView{display:flex;justify-content:center;align-items:center}.vertical-layout{display:flex;flex-direction:row;align-items:center;gap:12px}.vertical-layout>.stretch{flex:1 0}.popupContainer{position:absolute;white-space:nowrap}.SessionPickerView{padding:.4em}.SessionPickerView ul{list-style:none;padding:0}.SessionPickerView li{margin:.4em 0}.SessionPickerView .session-info{cursor:pointer;display:flex;align-items:center}.SessionPickerView .session-info>:not(:first-child){margin-left:8px}.SessionPickerView li .user-id{flex:1 1;overflow:hidden;text-overflow:ellipsis}.SessionPickerView li .error{margin:0 20px}.PasswordLoginView{padding:0 .4em .4em}.SessionLoadStatusView>.status,.LoginView_query-spinner{display:flex;gap:12px}.SessionLoadStatusView>.status p,.LoginView_query-spinner p{flex:1 1;margin:0}.SessionLoadStatusView .spinner{--size: 20px}.StartSSOLoginView{display:flex;flex-direction:column;padding:0 .4em}.StartSSOLoginView_button{flex:1 1;margin-top:12px}.LoginView_separator{justify-content:center;display:flex;margin:8px}.CompleteSSOView_title{display:flex;justify-content:center}.LoginView_sso{padding:.4em .4em 0}.LeftPanel{display:flex;flex-direction:column}.LeftPanel .utilities{display:flex}.LeftPanel .utilities .FilterField{flex:1 1;min-width:0}.LeftPanel ul{list-style:none;padding:0;margin:0}.RoomList{flex:1 0;overflow-y:auto;overscroll-behavior:contain}.RoomList>li>a{display:flex;align-items:center}.RoomList .description{margin:0;flex:1 1;min-width:0;display:flex}.RoomList .description>.name{overflow:hidden;white-space:nowrap;text-overflow:ellipsis;flex:1 1}.RightPanelView{grid-area:right;min-height:0;min-width:0;display:flex;flex-direction:column}.RoomDetailsView,.MemberDetailsView{flex-direction:column;flex:1 1}.RoomDetailsView_avatar{display:flex}.RoomDetailsView_name h2,.MemberDetailsView_name h2{text-align:center}.RoomDetailsView_label,.RoomDetailsView_row,.RoomDetailsView,.MemberDetailsView,.EncryptionIconView{display:flex;align-items:center;color:var(--text-color)}.RoomDetailsView_value{display:flex;justify-content:flex-end}.EncryptionIconView{justify-content:center}.RightPanelView_buttons{display:flex;justify-content:space-between;width:100%;box-sizing:border-box;padding:16px}.RightPanelView_buttons .hide{visibility:hidden}.MemberTileView a{display:flex;align-items:center}.middle-header{align-items:center}.middle-header h2{flex:1 1}.middle-header button{display:block}.middle-header .room-description{flex:1 1;min-width:0}.RoomHeader .topic{overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.RoomHeader .description{flex:1 1 auto;min-width:0}.middle-header h2{overflow:hidden;white-space:nowrap;text-overflow:ellipsis;margin:0}.MessageComposer_replyPreview{display:grid;grid-template-columns:1fr auto}.MessageComposer_replyPreview .Timeline_message{grid-column:1/-1}.MessageComposer_input{display:flex;align-items:center}.MessageComposer_input>input{display:block;flex:1 1;min-width:0;box-sizing:border-box}.TimelineLoadingView{display:flex;align-items:center;justify-content:center}.TimelineLoadingView>:not(:first-child){margin-left:12px}.Timeline{display:flex;flex-direction:column;position:relative;min-height:0}.Timeline_jumpDown{position:absolute}.Timeline_scroller{overflow-y:scroll;overscroll-behavior-y:contain;overflow-anchor:none;padding:0;margin:0;position:relative;min-height:0;flex:1 0}.Timeline_scroller>ul{list-style:none;padding:1px 0;margin:0}.AnnouncementView{display:flex;align-items:center}.GapView{display:flex}.GapView>:nth-child(2){flex:1 1}.Timeline_messageBody img{max-width:400px;max-height:300px}.hydrogen{--avatar-size: 32px}.hydrogen .avatar{width:var(--avatar-size);height:var(--avatar-size);line-height:var(--avatar-size);font-size:calc(var(--avatar-size) * .6);overflow:hidden;flex-shrink:0;user-select:none;text-align:center;speak:none}.hydrogen .avatar img{width:100%;height:100%;object-fit:cover}.hydrogen .avatar.size-128{--avatar-size: 128px;width:var(--avatar-size);height:var(--avatar-size);line-height:var(--avatar-size);font-size:calc(var(--avatar-size) * .6)}.hydrogen .avatar.size-64{--avatar-size: 64px;width:var(--avatar-size);height:var(--avatar-size);line-height:var(--avatar-size);font-size:calc(var(--avatar-size) * .6)}.hydrogen .avatar.size-52{--avatar-size: 52px;width:var(--avatar-size);height:var(--avatar-size);line-height:var(--avatar-size);font-size:calc(var(--avatar-size) * .6)}.hydrogen .avatar.size-30{--avatar-size: 30px;width:var(--avatar-size);height:var(--avatar-size);line-height:var(--avatar-size);font-size:calc(var(--avatar-size) * .6)}.hydrogen .avatar.size-24{--avatar-size: 24px;width:var(--avatar-size);height:var(--avatar-size);line-height:var(--avatar-size);font-size:calc(var(--avatar-size) * .6)}.hydrogen .avatar.size-12{--avatar-size: 12px;width:var(--avatar-size);height:var(--avatar-size);line-height:var(--avatar-size);font-size:calc(var(--avatar-size) * .6)}@keyframes spinner{0%{transform:rotate(0);stroke-dasharray:0 0 10 90}45%{stroke-dasharray:0 0 90 10}75%{stroke-dasharray:0 50 50 0}to{transform:rotate(360deg);stroke-dasharray:10 90 0 0}}.hydrogen:not(.legacy) .spinner circle{transform-origin:50% 50%;animation-name:spinner;animation-duration:2s;animation-iteration-count:infinite;animation-timing-function:linear;stroke-dasharray:0 0 85 85;fill:none;stroke:currentcolor;stroke-width:12;stroke-linecap:butt}.hydrogen.legacy .spinner{display:inline-block;position:relative}.hydrogen.legacy .spinner div{box-sizing:border-box;display:block;position:absolute;padding:2px;border:2px solid currentcolor;border-radius:50%;animation:legacy-spinner 1.2s cubic-bezier(.5,0,.5,1) infinite;border-color:currentcolor transparent transparent transparent;width:var(--size);height:var(--size)}.hydrogen.legacy .spinner div:nth-child(1){animation-delay:-.45s}.hydrogen.legacy .spinner div:nth-child(2){animation-delay:-.3s}.hydrogen.legacy .spinner div:nth-child(3){animation-delay:-.15s}@keyframes legacy-spinner{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.spinner{--size: 20px;width:var(--size);height:var(--size)}.form-row.text>input,.form-row.text>textarea{display:block;width:100%;min-width:0;box-sizing:border-box}.FilterField{display:flex}.FilterField input{display:block;flex:1 1;min-width:0}.SessionStatusView{display:flex}.SessionStatusView p{margin:0 10px;word-break:break-all;word-break:break-word}body.hydrogen{overscroll-behavior:none;overflow:hidden}.hydrogen{margin:0}.hiddenWithLayout{visibility:hidden}.hidden{display:none!important}input::-ms-clear{display:none}@font-face{font-family:Inter;font-style:normal;font-weight:100;font-display:swap;src:url(./Inter-Thin.5d8e2ac4.woff2?v=3.13) format("woff2"),url(./Inter-Thin.5565b01e.woff?v=3.13) format("woff")}@font-face{font-family:Inter;font-style:italic;font-weight:100;font-display:swap;src:url(./Inter-ThinItalic.6b3ded18.woff2?v=3.13) format("woff2"),url(./Inter-ThinItalic.c413497b.woff?v=3.13) format("woff")}@font-face{font-family:Inter;font-style:normal;font-weight:200;font-display:swap;src:url(./Inter-ExtraLight.da47c335.woff2?v=3.13) format("woff2"),url(./Inter-ExtraLight.d7be68a4.woff?v=3.13) format("woff")}@font-face{font-family:Inter;font-style:italic;font-weight:200;font-display:swap;src:url(./Inter-ExtraLightItalic.b3f94cfe.woff2?v=3.13) format("woff2"),url(./Inter-ExtraLightItalic.762fa4d2.woff?v=3.13) format("woff")}@font-face{font-family:Inter;font-style:normal;font-weight:300;font-display:swap;src:url(./Inter-Light.0f7dfe72.woff2?v=3.13) format("woff2"),url(./Inter-Light.38326098.woff?v=3.13) format("woff")}@font-face{font-family:Inter;font-style:italic;font-weight:300;font-display:swap;src:url(./Inter-LightItalic.125c7e6a.woff2?v=3.13) format("woff2"),url(./Inter-LightItalic.ec6c76a8.woff?v=3.13) format("woff")}@font-face{font-family:Inter;font-style:normal;font-weight:400;font-display:swap;src:url(./Inter-Regular.89d406b0.woff2?v=3.13) format("woff2"),url(./Inter-Regular.5b3a854b.woff?v=3.13) format("woff")}@font-face{font-family:Inter;font-style:italic;font-weight:400;font-display:swap;src:url(./Inter-Italic.bab4e808.woff2?v=3.13) format("woff2"),url(./Inter-Italic.7b187d57.woff?v=3.13) format("woff")}@font-face{font-family:Inter;font-style:normal;font-weight:500;font-display:swap;src:url(./Inter-Medium.5d308f3d.woff2?v=3.13) format("woff2"),url(./Inter-Medium.0fc5d904.woff?v=3.13) format("woff")}@font-face{font-family:Inter;font-style:italic;font-weight:500;font-display:swap;src:url(./Inter-MediumItalic.76551c20.woff2?v=3.13) format("woff2"),url(./Inter-MediumItalic.1458af9d.woff?v=3.13) format("woff")}@font-face{font-family:Inter;font-style:normal;font-weight:600;font-display:swap;src:url(./Inter-SemiBold.c7c3befe.woff2?v=3.13) format("woff2"),url(./Inter-SemiBold.04cd699f.woff?v=3.13) format("woff")}@font-face{font-family:Inter;font-style:italic;font-weight:600;font-display:swap;src:url(./Inter-SemiBoldItalic.d376ade4.woff2?v=3.13) format("woff2"),url(./Inter-SemiBoldItalic.420db54a.woff?v=3.13) format("woff")}@font-face{font-family:Inter;font-style:normal;font-weight:700;font-display:swap;src:url(./Inter-Bold.6f5e9a23.woff2?v=3.13) format("woff2"),url(./Inter-Bold.20d46cff.woff?v=3.13) format("woff")}@font-face{font-family:Inter;font-style:italic;font-weight:700;font-display:swap;src:url(./Inter-BoldItalic.e09dcbe1.woff2?v=3.13) format("woff2"),url(./Inter-BoldItalic.31a185fa.woff?v=3.13) format("woff")}@font-face{font-family:Inter;font-style:normal;font-weight:800;font-display:swap;src:url(./Inter-ExtraBold.0ef4267e.woff2?v=3.13) format("woff2"),url(./Inter-ExtraBold.45bae435.woff?v=3.13) format("woff")}@font-face{font-family:Inter;font-style:italic;font-weight:800;font-display:swap;src:url(./Inter-ExtraBoldItalic.d1e1f6a0.woff2?v=3.13) format("woff2"),url(./Inter-ExtraBoldItalic.30a1af87.woff?v=3.13) format("woff")}@font-face{font-family:Inter;font-style:normal;font-weight:900;font-display:swap;src:url(./Inter-Black.7f1f5616.woff2?v=3.13) format("woff2"),url(./Inter-Black.067c82f7.woff?v=3.13) format("woff")}@font-face{font-family:Inter;font-style:italic;font-weight:900;font-display:swap;src:url(./Inter-BlackItalic.72d5983b.woff2?v=3.13) format("woff2"),url(./Inter-BlackItalic.c628a2cf.woff?v=3.13) format("woff")}.Timeline_jumpDown{width:40px;height:40px;bottom:16px;right:32px;border-radius:100%;border:1px solid var(--background-color-secondary--darker-7);background-image:var(--icon-url-0);background-position:center;background-color:var(--background-color-primary--darker-10);background-repeat:no-repeat;cursor:pointer}.Timeline_message{display:grid;grid-template:"avatar sender" auto "avatar body" auto "time body" 1fr "time reactions" auto / 30px 1fr;column-gap:8px;padding:4px;margin:0 12px;box-sizing:border-box}.Timeline_message:not(.continuation){margin-top:4px}.ReplyPreviewView .Timeline_message{display:grid;grid-template:"body" auto;margin-left:0;padding:0}.ReplyPreviewView .Timeline_message:not(.continuation){margin-top:0}@media screen and (max-width: 800px){.Timeline_message{grid-template:"avatar sender" auto "body body" 1fr "time time" auto "reactions reactions" auto / 30px 1fr}.Timeline_messageSender{margin-top:0!important;align-self:center}}.Timeline_message:hover:not(.disabled),.Timeline_message.selected,.Timeline_message.menuOpen{background-color:#8d97a51a;border-radius:4px}.Timeline_message:hover>.Timeline_messageOptions,.Timeline_message.menuOpen>.Timeline_messageOptions{display:block;user-select:none}.Timeline_messageAvatar{grid-area:avatar;text-decoration:none}.Timeline_messageSender{grid-area:sender;font-weight:700;line-height:1.7rem}.Timeline_messageSender,.Timeline_messageBody{margin:0;word-break:break-all;word-break:break-word}.Timeline_message:not(.continuation) .Timeline_messageSender,.Timeline_message:not(.continuation) .Timeline_messageBody{margin-top:4px}.Timeline_messageOptions{display:none;grid-area:body;align-self:start;justify-self:end;margin-top:-12px;margin-right:4px;border:var(--background-color-primary--darker-10) 1px solid;height:24px;width:24px;background-color:var(--background-color-primary);color:inherit;border-radius:4px;padding:0;text-align:center;line-height:22px;cursor:pointer}.Timeline_messageTime{grid-area:time}.Timeline_messageBody time{padding:2px 0 0 10px;user-select:none}.Timeline_messageBody time,.Timeline_messageTime{font-size:.8em;line-height:normal;color:var(--timeline-time-text-color)}.Timeline_messageBody.statusMessage{font-style:italic;color:var(--light-text-color)}.Timeline_messageBody{grid-area:body;line-height:2.2rem;width:100%;min-width:0}.hydrogen .Timeline_messageSender.usercolor1{color:var(--usercolor1)}.hydrogen .Timeline_messageSender.usercolor2{color:var(--usercolor2)}.hydrogen .Timeline_messageSender.usercolor3{color:var(--usercolor3)}.hydrogen .Timeline_messageSender.usercolor4{color:var(--usercolor4)}.hydrogen .Timeline_messageSender.usercolor5{color:var(--usercolor5)}.hydrogen .Timeline_messageSender.usercolor6{color:var(--usercolor6)}.hydrogen .Timeline_messageSender.usercolor7{color:var(--usercolor7)}.hydrogen .Timeline_messageSender.usercolor8{color:var(--usercolor8)}.Timeline_messageBody h1,.Timeline_messageBody h2,.Timeline_messageBody h3,.Timeline_messageBody h4,.Timeline_messageBody h5,.Timeline_messageBody h6{font-weight:700;margin:.7em 0}.Timeline_messageBody h1{font-size:1.6em}.Timeline_messageBody h2{font-size:1.5em}.Timeline_messageBody h3{font-size:1.4em}.Timeline_messageBody h4{font-size:1.3em}.Timeline_messageBody h5{font-size:1.2em}.Timeline_messageBody h6{font-size:1.1em}.Timeline_messageBody a{word-break:break-all}.Timeline_messageBody a.link{color:var(--link-color);text-decoration:none}.Timeline_messageBody .media{display:grid;margin-top:4px;width:100%}.Timeline_messageBody .media>a{text-decoration:none;width:100%;display:block}.Timeline_messageBody .media>*{grid-row:1;grid-column:1}.Timeline_messageBody .media img,.Timeline_messageBody .media video{width:100%;height:auto;align-self:start;border-radius:4px;display:block}.hydrogen:not(.legacy) .Timeline_messageBody .media img,.hydrogen:not(.legacy) .Timeline_messageBody .media video{align-self:stretch}.Timeline_messageBody .media>.status{align-self:end;justify-self:start;font-size:.8em}.Timeline_messageBody .media>progress{align-self:center;justify-self:center;width:75%}.Timeline_messageBody .media>time{align-self:end;justify-self:end}.Timeline_messageBody .media>time,.Timeline_messageBody .media>.status{color:var(--text-color);display:block;padding:2px;margin:4px;background-color:#ffffffbf;border-radius:4px}.Timeline_messageBody .media>.spacer{width:100%;align-self:start}.Timeline_messageBody code,.Timeline_messageBody pre{background-color:var(--background-color-secondary);font-family:monospace;font-size:.9em}.Timeline_messageBody code{border-radius:3px;padding:.2em .3em;margin:0}.Timeline_messageBody pre{border:1px solid var(--light-border);padding:.5em;max-height:30em;overflow:auto}.Timeline_messageBody pre>code{background-color:unset;border-radius:unset;display:block;font-size:unset}.Timeline_messageBody blockquote{margin-left:0;padding-left:20px;border-left:4px solid var(--light-border)}.Timeline_messageBody table{border:1px solid var(--background-color-secondary--darker-15);border-radius:2px;border-spacing:0}.Timeline_messageBody thead th{border-bottom:1px solid var(--background-color-secondary--darker-15)}.Timeline_messageBody td,.Timeline_messageBody th{padding:2px 5px}.Timeline_messageBody tbody tr:nth-child(2n){background-color:var(--background-color-secondary)}.Timeline_messageBody .pill{padding:0 5px;border-radius:15px;background-color:var(--background-color-secondary);border:1px solid var(--background-color-secondary--darker-10);text-decoration:none;display:inline-flex;align-items:center;line-height:2rem;vertical-align:top;margin:1px}.Timeline_messageBody .pill div.avatar{display:inline-block;margin-right:3px}.Timeline_message.unsent .Timeline_messageBody{color:var(--light-text-color)}.Timeline_message.unverified .Timeline_messageBody{color:var(--error-color)}.Timeline_messageReactions{grid-area:reactions;margin-top:6px}.Timeline_messageReactions button{display:inline-flex;line-height:2rem;margin-right:6px;padding:1px 6px;border:1px solid var(--light-border);border-radius:10px;background-color:var(--background-color-secondary);color:inherit;cursor:pointer;user-select:none;vertical-align:middle}.Timeline_messageReactions button.active{background-color:var(--background-color-secondary);border-color:var(--accent-color)}@keyframes glow-reaction-border{0%{border-color:var(--background-color-secondary)}to{border-color:var(--accent-color)}}.Timeline_messageReactions button.active.pending{animation-name:glow-reaction-border;animation-duration:.5s;animation-direction:alternate;animation-iteration-count:infinite;animation-timing-function:linear}.Timeline_locationLink{padding:0 8px;border-radius:16px;border:1px solid var(--light-border);background-color:var(--background-color-secondary);text-decoration:none;display:inline-block;line-height:2rem;vertical-align:top;margin:1px 4px}.AnnouncementView{margin:5px 0;padding:5px 10%}.AnnouncementView>div{margin:0 auto;padding:10px 20px;background-color:var(--background-color-secondary);text-align:center;border-radius:10px}.GapView>:not(:first-child){margin-left:12px}.GapView{padding:52px 20px}.GapView.isAtTop{padding:52px 20px 12px}:root{font-size:10px;--icon-color: var(--background-color-secondary--darker-40);--light-border: var(--background-color-secondary--darker-5);--light-text-color: var(--background-color-secondary--darker-55);--timeline-time-text-color: var(--background-color-secondary--darker-35);--icon-background: var(--background-color-secondary--darker-7);--right-panel-text-color: var(--background-color-secondary--darker-35)}.hydrogen{font-family:Inter,sans-serif,"emoji";background-color:var(--background-color-primary);color:var(--text-color);font-size:1.4rem;--usercolor1: #368BD6;--usercolor2: #AC3BA8;--usercolor3: #03B381;--usercolor4: #E64F7A;--usercolor5: #FF812D;--usercolor6: #2DC2C5;--usercolor7: #5C56F5;--usercolor8: #74D12C}.hydrogen button{font-family:inherit}.avatar{border-radius:100%;background:var(--background-color-primary);color:var(--fixed-white)}.hydrogen .avatar.usercolor1{background-color:var(--usercolor1)}.hydrogen .avatar.usercolor2{background-color:var(--usercolor2)}.hydrogen .avatar.usercolor3{background-color:var(--usercolor3)}.hydrogen .avatar.usercolor4{background-color:var(--usercolor4)}.hydrogen .avatar.usercolor5{background-color:var(--usercolor5)}.hydrogen .avatar.usercolor6{background-color:var(--usercolor6)}.hydrogen .avatar.usercolor7{background-color:var(--usercolor7)}.hydrogen .avatar.usercolor8{background-color:var(--usercolor8)}.logo{height:48px;min-width:48px;background-image:var(--icon-url-1);background-repeat:no-repeat;background-position:center}.button-row{display:flex}.button-row>*{margin-right:10px}.button-row>*:last-child{margin-right:0}.button-row .button-action{margin:10px 0;flex:1 0 auto}.form-row.text textarea{font-family:Inter,sans-serif;background-color:var(--background-color-secondary);color:inherit}.form-group{margin:24px 0}.form-row{margin:12px 0}.form-row.text>input,.form-row.text>textarea{padding:12px;border:1px solid var(--light-border);border-radius:8px;margin-top:5px;font-size:1em;resize:vertical;background-color:var(--background-color-secondary);color:inherit}.form-row.check{display:flex;align-items:baseline;gap:4px}.form-row.text>label,.form-row.text>input{display:block}.form-row .form-row-description{font-size:1rem;color:var(--light-text-color);margin:8px 0 0}.button-action{cursor:pointer}a.button-action{text-decoration:none;text-align:center;display:block}.button-action.secondary{color:var(--accent-color)}.button-action.primary{background-color:var(--accent-color);border-radius:8px;color:var(--fixed-white);font-weight:700}.button-action.primary:disabled{color:var(--fixed-white--darker-10)}.button-action.primary.destructive{background-color:var(--error-color)}.button-action.secondary.destructive{color:var(--error-color)}.button-action{border:none;padding:10px;background:none;font-weight:500}.button-utility{cursor:pointer;width:32px;height:32px;background-position:center;background-color:var(--icon-background);background-repeat:no-repeat;border:none;border-radius:100%;display:block}.button-utility.grid{background-image:var(--icon-url-2)}.button-utility.settings{background-image:var(--icon-url-3)}.button-utility.create{background-image:var(--icon-url-4)}.button-utility.grid.on{background-image:var(--icon-url-5)}.FilterField{background-image:var(--icon-url-6);background-repeat:no-repeat;background-position:8px center;background-color:var(--icon-background);border:1px solid transparent;border-radius:16px;height:32px;align-items:center;padding-left:30px;box-sizing:border-box}.FilterField:focus-within{border:1px var(--icon-background) solid;background-color:var(--background-color-primary)}.FilterField:focus-within button{border-color:var(--background-color-primary)}.FilterField input{font-family:Inter;font-size:1.3rem;font-weight:500;line-height:1.573rem;outline:none;border:none;background-color:transparent;height:100%;color:var(--text-color)}.FilterField button{width:30px;height:30px;background-position:center;background-color:var(--icon-background);background-repeat:no-repeat;background-image:var(--icon-url-7);border:7px solid transparent;border-radius:100%;box-sizing:border-box}.PreSessionScreen{padding:30px}.PreSessionScreen h1{font-size:16px;text-align:center}.SessionLoadView{padding-top:16px}.StartSSOLoginView_button{border:1px solid var(--accent-color);border-radius:8px}.LoginView_back{background-image:var(--icon-url-8);background-color:transparent}.LoginView_separator{font-weight:500;font-size:1.5rem}.LoginView_forwardInfo{font-size:.9em;margin-left:1em;color:var(--light-text-color)}.CompleteSSOView_title{font-weight:500}@media screen and (min-width: 600px){.PreSessionScreen{box-shadow:0 6px 32px #0000001a;border-radius:8px}}.PreSessionScreen .logo{height:48px;min-width:48px}.LeftPanel{background:var(--background-color-secondary);font-size:1.5rem;padding:12px 8px 0}.LeftPanel>:not(:first-child){margin-top:12px}.LeftPanel .utilities>:not(:first-child){margin-left:8px}.LeftPanel .filter{border-bottom:1px solid var(--background-color-secondary)}.LeftPanel .filter input{padding:.8em;border:none}.LeftPanel .RoomList{padding:0 8px 0 0;margin-right:-8px}.RoomList>li{margin:0;padding:4px 8px 4px 0;align-items:center}.RoomList>li>a{text-decoration:none;align-items:center}.RoomList li:not(:first-child){margin-top:4px}.RoomList li.active{background:var(--background-color-secondary--darker-7);border-radius:5px}.RoomList li>a>*{margin-right:8px}.RoomList .description{align-items:center}.RoomList .name.unread{font-weight:600}.RoomList .badge{min-width:1.6rem;height:1.6rem;border-radius:1.6rem;box-sizing:border-box;padding:.1rem .3rem;background-color:var(--room-badge);color:var(--fixed-white);font-weight:700;font-size:1rem;line-height:1.4rem;text-align:center}.RoomList .badge.highlighted{background-color:var(--error-color)}a{color:inherit}.SessionStatusView{padding:4px;min-height:22px;background-color:var(--accent-color);color:var(--fixed-white);align-items:center}.SessionStatusView button.link{color:currentcolor;text-align:left}.SessionStatusView>.end{flex:1 1;display:flex;justify-content:flex-end;align-self:stretch;align-items:stretch}.SessionStatusView .dismiss{border:none;background:none;background-image:var(--icon-url-9);background-position:center;background-repeat:no-repeat;width:32px;cursor:pointer}.room-placeholder{align-items:center;justify-content:center;text-align:center;padding:20px}.SessionPickerView li{font-size:1.2em}.SessionPickerView .session-info{text-decoration:none;padding:12px;border:1px solid var(--light-border);border-radius:8px;background-image:var(--icon-url-10);background-position:center right 30px;background-repeat:no-repeat;font-weight:500}.SessionPickerView .session-actions{margin:10px 0 20px;display:flex}.SessionPickerView .session-actions>*{margin-right:10px}.SessionPickerView .session-actions>*:last-child{margin-right:0}.SessionPickerView .session-actions button{border:none;background:none;color:inherit}.SessionPickerView button.destructive{color:var(--error-color)}.RoomGridView>div.container{border-right:1px solid var(--background-color-secondary);border-bottom:1px solid var(--background-color-secondary)}.RoomGridView>.focused>.room-placeholder .unfocused{display:none}.RoomGridView>:not(.focused)>.room-placeholder .focused{display:none}.room-placeholder .unfocused{color:var(--right-panel-text-color)}.RoomGridView>div.focus-ring{border:2px solid var(--accent-color--darker-5);border-radius:12px}.middle-header{box-sizing:border-box;flex:0 0 56px;background:var(--background-color-primary);padding:0 16px;border-bottom:1px solid var(--background-color-secondary)}.middle-header h2{font-size:1.8rem;font-weight:600}.middle-header>:not(:last-child){margin-right:8px}.close-middle,.close-session{background-image:var(--icon-url-11);background-position-x:10px}.RoomHeader .topic{font-size:14rem}.RoomHeader .room-options{background-image:var(--icon-url-12)}.RoomView_error{color:var(--error-color);background:#efefef;height:0px;font-weight:700;transition:.25s all ease-out;padding-right:20px;padding-left:20px}.RoomView_error div{overflow:hidden;height:100%;width:100%;position:relative;display:flex;align-items:center}.RoomView_error:not(:empty){height:auto;padding-top:20px;padding-bottom:20px}.RoomView_error p{position:relative;display:block;width:100%;height:auto;margin:0}.RoomView_error button{width:40px;padding-top:20px;padding-bottom:20px;background:none;border:none;position:relative;border-radius:5px;transition:.1s all ease-out;cursor:pointer}.RoomView_error button:hover{background:#cfcfcf}.RoomView_error button:before{content:"\274c";position:absolute;top:15px;left:9px;width:20px;height:10px;font-size:10px;align-self:middle}.MessageComposer_replyPreview .Timeline_message{margin:5px 0 0;max-height:30vh;overflow:auto}.MessageComposer_replyPreview{background:var(--background-color-secondary);margin:0 10px 10px;box-shadow:0 0 5px var(--background-color-secondary--darker-15);border-radius:5px}.MessageComposer_input,.MessageComposer_replyPreview{padding:8px}.MessageComposer_replyPreview>.replying{display:inline-flex;flex-direction:row;align-items:center;font-weight:700}.MessageComposer_replyPreview>button.cancel{width:32px;height:32px;display:block;border:none;text-indent:200%;white-space:nowrap;overflow:hidden;background-color:transparent;background-image:var(--icon-url-13);background-repeat:no-repeat;background-position:center;background-size:18px;cursor:pointer}.MessageComposer_input:first-child{border-top:1px solid var(--background-color-secondary)}.MessageComposer_input>:not(:first-child){margin-left:12px}.MessageComposer_input>textarea{border:none;border-radius:24px;background:var(--background-color-secondary);color:inherit;font-size:14px;font-family:Inter,sans-serif;resize:none;flex:1 1;padding:14px;box-sizing:border-box;overflow:hidden;max-height:113px;overflow-y:auto;overflow-y:overlay}.MessageComposer_input>button.send{width:32px;height:32px;display:block;border-radius:100%;border:none;text-indent:200%;overflow:hidden;background-color:var(--accent-color);background-image:var(--icon-url-14);background-repeat:no-repeat;background-position:center;align-self:end;margin-bottom:8px}.MessageComposer_input>button.sendFile{width:32px;height:32px;display:block;border:none;text-indent:200%;white-space:nowrap;overflow:hidden;background-color:transparent;background-image:var(--icon-url-15);background-repeat:no-repeat;background-position:center}.MessageComposer.MessageComposer_canSend button.sendFile{display:none}.MessageComposer:not(.MessageComposer_canSend) button.send{display:none}.SettingsBody{padding:0 16px}.Settings h3{margin:16px 0 8px}.Settings p{max-width:700px}.Settings .row .label{font-weight:600}.Settings .row .label,.Settings .row .content{margin-top:4px;margin-bottom:4px}.Settings .row .content{margin-left:4px;flex:1 1}.Settings .row.code .content{font-family:monospace}.Settings .row .content button{display:inline-block;margin:0 8px}.Settings .row .content input[type=range]{width:100%;max-width:300px;min-width:160px}.Settings .row{margin:4px 0;display:flex;flex-wrap:wrap;align-items:center}.Settings .row .label{flex:0 0 200px;align-self:flex-start}.Settings .row .content p{margin:8px 0}.Settings .row .content p:first-child{margin-top:0}.Settings .row .content p:last-child{margin-bottom:0}.error{color:var(--error-color);font-weight:600}button.link{font-size:1em;border:none;text-decoration:underline;background:none;cursor:pointer;margin:-12px;padding:12px;color:inherit}.Settings a,.Settings .link{color:var(--accent-color);font-weight:600}.lightbox{background-color:#000000bf;display:grid;grid-template:"content close" auto "content details" 1fr / 1fr auto;color:var(--background-color-primary);padding:4px}@media (max-aspect-ratio: 1/1){.lightbox{grid-template:"close" auto "content" 1fr "details" auto / 1fr}.lightbox .details{width:100%!important}}.lightbox .picture{grid-area:content;background-size:contain;background-position:center;background-repeat:no-repeat;width:100%;height:100%;align-self:center;justify-self:center}.lightbox .loading{grid-area:content;align-self:center;justify-self:center;display:flex}.lightbox .loading>:not(:first-child){margin-left:8px}.lightbox .close{display:block;grid-area:close;justify-self:end;background-image:var(--icon-url-16);background-position:center;background-size:16px;background-repeat:no-repeat;width:16px;height:16px;padding:12px}.lightbox .details{grid-area:details;padding:12px;font-size:1.5rem;width:200px}.menu{border-radius:8px;box-shadow:2px 2px 10px #00000080;padding:4px;background-color:var(--background-color-primary);list-style:none;margin:0}.menu li{margin-bottom:10px}.menu .menu-item{color:var(--text-color)}.menu button{border-radius:4px;border:none;background-color:transparent;text-align:left;padding:8px 32px 8px 8px;font-size:1.5rem;height:24px;cursor:pointer}.menu .destructive button{color:var(--error-color)}.menu .quick-reactions{display:flex;padding:8px 32px 8px 8px}.menu .quick-reactions button{padding:2px 4px;text-align:center}.InviteView_body{display:flex;justify-content:space-around;align-items:center;flex:1 1;overflow:auto}.InviteView_invite{display:flex;width:100%;max-width:400px;flex-direction:column;padding:0 24px}.InviteView_roomProfile{display:grid;gap:4px;grid-template:"avatar name" auto "avatar description" 1fr / 72px 1fr;align-self:center;margin-bottom:24px}.InviteView_roomProfile h3{grid-area:name;margin:0}.InviteView_roomDescription{grid-area:description;font-size:1.2rem;margin:0;color:var(--light-text-color)}.InviteView_roomAvatar{grid-area:avatar}.InviteView_dmAvatar{align-self:center}.InviteView_inviter{text-align:center;margin:24px 0}.InviteView_inviter .avatar{display:inline-block;vertical-align:middle;margin-right:4px}.InviteView_buttonRow{margin:10px auto;max-width:200px;width:100%}.InviteView_buttonRow button{display:block;width:100%}.DisabledComposerView{padding:12px;background-color:var(--background-color-secondary)}.DisabledComposerView h3{margin:0}.UnknownRoomView{align-items:center;justify-content:center;text-align:center;padding:16px;box-sizing:border-box}.UnknownRoomView h2{word-break:break-all;word-break:break-word}.UnknownRoomView button{max-width:200px;width:100%}.LoadingView{height:100%;width:100%}.LoadingView .spinner{margin-right:5px}.RightPanelView{background:var(--background-color-secondary)}.RoomDetailsView{padding:0 16px 16px}.RoomDetailsView_id,.MemberDetailsView_id{color:var(--right-panel-text-color);font-size:12px}.RoomDetailsView_rows{margin-top:36px;width:100%}.RoomDetailsView_name h2,.MemberDetailsView_name h2{margin-bottom:4px;font-size:1.8rem}.RoomDetailsView_row{margin-bottom:20px;font-weight:500;font-size:15px;width:100%;background:none;border:none;padding:0}button.RoomDetailsView_row{cursor:pointer}button.RoomDetailsView_row:after{content:var(--icon-url-17);margin-left:12px}.RoomDetailsView_row:not(button):after{content:" ";width:19px}.RoomDetailsView_label:before{padding-right:16px;height:24px;width:20px}.RoomDetailsView_label{width:200px}.RoomDetailsView_value{color:var(--right-panel-text-color);flex:1 1}.MemberCount:before{content:var(--icon-url-18)}.EncryptionStatus:before{content:var(--icon-url-19)}.EncryptionIconView{width:52px;height:52px;border-radius:100%;background:var(--right-panel-text-color);border:3px solid var(--background-color-secondary);margin-left:-16px}.EncryptionIconView_encrypted,.EncryptionIconView_unencrypted{height:24px;width:24px}.EncryptionIconView_encrypted{content:var(--icon-url-20)}.EncryptionIconView_unencrypted{content:var(--icon-url-21)}.RightPanelView_buttons .button-utility{width:24px;height:24px}.RightPanelView_buttons .close{background-image:var(--icon-url-22)}.RightPanelView_buttons .back{background-image:var(--icon-url-23)}.MemberListView{padding-left:16px;padding-right:16px;margin:0}.MemberTileView{margin-bottom:8px;list-style:none}.MemberTileView a{text-decoration:none}.MemberTileView .avatar{margin-right:8px}.MemberTileView_name{text-overflow:ellipsis;overflow:hidden;white-space:nowrap;flex:1 1}.MemberDetailsView_section{box-sizing:border-box;padding:16px;width:100%}.MemberDetailsView_label{font-size:12px;font-weight:600;color:var(--right-panel-text-color);text-transform:uppercase}.MemberDetailsView_value,.MemberDetailsView_options{margin-left:8px;margin-top:5px;font-size:12px}.MemberDetailsView_options{display:inline-flex;flex-direction:column}.MemberDetailsView_options a,.MemberDetailsView_options button{color:var(--accent-color);text-decoration:none;margin:0 0 3px;padding:0;border:none;background:none;cursor:pointer}.LazyListParent{overflow-y:auto}.LogoutScreen{height:100vh}.LogoutScreen .content{height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center}.LogoutScreen .status{display:flex;gap:12px}.CreateRoomView,.RoomBeingCreated_error{max-width:400px}.RoomBeingCreated_error{margin-top:48px}.centered-column{padding:0 12px;align-self:center;width:100%;box-sizing:border-box}.CreateRoomView_selectAvatar{border:none;background:none;cursor:pointer}.CreateRoomView_selectAvatarPlaceholder{width:64px;height:64px;border-radius:100%;background-color:var(--icon-background);background-image:var(--icon-url-24);background-repeat:no-repeat;background-position:center;background-size:36px}:root{--background-color-primary: #21262b;--background-color-secondary: #2D3239;--text-color: #fff;--accent-color: #03B381;--error-color: #FF4B55;--fixed-white: #fff;--room-badge: #61708b;--link-color: #238cf5}:root{--background-color-secondary--darker-7: #3d444d;--background-color-primary--darker-10: #374048;--background-color-secondary--darker-15: #4f5764;--background-color-secondary--darker-10: #444b56;--background-color-secondary--darker-40: #8d97a5;--background-color-secondary--darker-5: #383f47;--background-color-secondary--darker-55: #b8bec7;--background-color-secondary--darker-35: #7f8a9a;--fixed-white--darker-10: #ffffff;--accent-color--darker-5: #03cc93}:root{--icon-url-0: url(./chevron-down-1956489915.3389f17f.svg);--icon-url-1: url(./element-logo-1551909733.1d59f06a.svg);--icon-url-2: url(./enable-grid-2288309723.f83895c8.svg);--icon-url-3: url(./settings-878939771.57cf3680.svg);--icon-url-4: url(./plus-3937109722.5c243914.svg);--icon-url-5: url(./disable-grid-4240599831.c8dc25a1.svg);--icon-url-6: url(./search-261439583.1bffaca1.svg);--icon-url-7: url(./clear-4137897294.7b90e8df.svg);--icon-url-8: url(./chevron-left-2611498805.b5555a61.svg);--icon-url-9: url(./dismiss-2476348673.d0f98560.svg);--icon-url-10: url(./chevron-right-2390431650.ec9bf561.svg);--icon-url-11: url(./chevron-left-2611498805.b5555a61.svg);--icon-url-12: url(./vertical-ellipsis-487061581.e7709afd.svg);--icon-url-13: url(./clear-4137897294.7b90e8df.svg);--icon-url-14: url(./send-3413346515.b0fb8626.svg);--icon-url-15: url(./paperclip-3961996319.da562307.svg);--icon-url-16: url(./dismiss-2743697487.2f1a17f1.svg);--icon-url-17: url(./chevron-small-4098047679.489e66cc.svg);--icon-url-18: url(./room-members-3084360280.6f64aaef.svg);--icon-url-19: url(./encryption-status-3449529405.c200a9bb.svg);--icon-url-20: url(./e2ee-normal-1448349558.af8f5484.svg);--icon-url-21: url(./e2ee-disabled-1470792300.6863c16d.svg);--icon-url-22: url(./clear-4137897294.7b90e8df.svg);--icon-url-23: url(./chevron-thin-left-3078630092.d0d143e3.svg);--icon-url-24: url(./plus-3937109722.5c243914.svg)} diff --git a/assets/theme-element-light.0779c91e.css b/assets/theme-element-light.0779c91e.css new file mode 100644 index 00000000..19ad9ca1 --- /dev/null +++ b/assets/theme-element-light.0779c91e.css @@ -0,0 +1 @@ +@font-face{font-family:"emoji";src:local("Apple Color Emoji"),local("Segoe UI Emoji"),local("Segoe UI Symbol"),local("Noto Color Emoji"),local("Twemoji"),local("Twemoji Mozilla"),local("Android Emoji"),local("EmojiSymbols"),local("Symbola");unicode-range:U+1F300-1F5FF,U+1F600-1F64F,U+1F680-1F6FF,U+2600-26FF}html{height:100%}main{display:block}@media screen and (min-width: 600px){.PreSessionScreen{width:600px;box-sizing:border-box;margin:50px auto 0}}.room-placeholder{display:flex;flex-direction:row}.SessionView{position:fixed;height:100%;width:100%;display:grid;grid-template:"status status" auto "left middle" 1fr / 320px 1fr;min-height:0;min-width:0}.right-shown{grid-template:"status status status" auto "left middle right" 1fr / 320px 1fr 300px}.hydrogen.ios .SessionView{height:var(--ios-viewport-height, 100%);top:var(--ios-viewport-top, 0)}.middle .close-middle{display:none}@media screen and (max-width: 800px){.SessionView:not(.middle-shown):not(.right-shown){grid-template:"status" auto "left" 1fr / 1fr}.SessionView.middle-shown{grid-template:"status" auto "middle" 1fr / 1fr}.SessionView.right-shown{grid-template:"status" auto "right" 1fr / 1fr}.SessionView:not(.middle-shown):not(.right-shown) .room-placeholder{display:none}.SessionView.middle-shown .LeftPanel,.SessionView.right-shown .middle,.SessionView.right-shown .LeftPanel{display:none}.middle .close-middle{display:block!important}.LeftPanel .grid{display:none!important}}.LeftPanel{grid-area:left;min-width:0;min-height:0}.room-placeholder,.middle{min-width:0;grid-area:middle;width:100%;min-height:0}.middle{display:flex;flex-direction:column}.SessionStatusView{grid-area:status}.lightbox{position:absolute;top:0;bottom:0;left:0;right:0;z-index:1;box-sizing:border-box;height:100%}.RoomView_body{flex:1 1;min-height:0;min-width:0;display:flex;flex-direction:column;height:100%}.RoomView_body .Timeline,.RoomView_body .TimelineLoadingView{flex:1 0}.middle-header{display:flex}.RoomGridView{display:grid}.RoomGridView.layout3x2{grid-template:"t0 t1 t2" 1fr "t3 t4 t5" 1fr / 1fr 1fr 1fr}.RoomGridView>.tile0{grid-area:t0}.RoomGridView>.tile1{grid-area:t1}.RoomGridView>.tile2{grid-area:t2}.RoomGridView>.tile3{grid-area:t3}.RoomGridView>.tile4{grid-area:t4}.RoomGridView>.tile5{grid-area:t5}.RoomGridView>div{display:flex;min-width:0;min-height:0}.RoomGridView>div.focus-ring{z-index:1;pointer-events:none}.menu{position:absolute;z-index:2}.menu .menu-item{box-sizing:border-box;width:100%}.Settings{display:flex;flex-direction:column}.SettingsBody{min-height:0;overflow-y:auto}.LazyListParent{flex:1 1}.LoadingView{display:flex;justify-content:center;align-items:center}.vertical-layout{display:flex;flex-direction:row;align-items:center;gap:12px}.vertical-layout>.stretch{flex:1 0}.popupContainer{position:absolute;white-space:nowrap}.SessionPickerView{padding:.4em}.SessionPickerView ul{list-style:none;padding:0}.SessionPickerView li{margin:.4em 0}.SessionPickerView .session-info{cursor:pointer;display:flex;align-items:center}.SessionPickerView .session-info>:not(:first-child){margin-left:8px}.SessionPickerView li .user-id{flex:1 1;overflow:hidden;text-overflow:ellipsis}.SessionPickerView li .error{margin:0 20px}.PasswordLoginView{padding:0 .4em .4em}.SessionLoadStatusView>.status,.LoginView_query-spinner{display:flex;gap:12px}.SessionLoadStatusView>.status p,.LoginView_query-spinner p{flex:1 1;margin:0}.SessionLoadStatusView .spinner{--size: 20px}.StartSSOLoginView{display:flex;flex-direction:column;padding:0 .4em}.StartSSOLoginView_button{flex:1 1;margin-top:12px}.LoginView_separator{justify-content:center;display:flex;margin:8px}.CompleteSSOView_title{display:flex;justify-content:center}.LoginView_sso{padding:.4em .4em 0}.LeftPanel{display:flex;flex-direction:column}.LeftPanel .utilities{display:flex}.LeftPanel .utilities .FilterField{flex:1 1;min-width:0}.LeftPanel ul{list-style:none;padding:0;margin:0}.RoomList{flex:1 0;overflow-y:auto;overscroll-behavior:contain}.RoomList>li>a{display:flex;align-items:center}.RoomList .description{margin:0;flex:1 1;min-width:0;display:flex}.RoomList .description>.name{overflow:hidden;white-space:nowrap;text-overflow:ellipsis;flex:1 1}.RightPanelView{grid-area:right;min-height:0;min-width:0;display:flex;flex-direction:column}.RoomDetailsView,.MemberDetailsView{flex-direction:column;flex:1 1}.RoomDetailsView_avatar{display:flex}.RoomDetailsView_name h2,.MemberDetailsView_name h2{text-align:center}.RoomDetailsView_label,.RoomDetailsView_row,.RoomDetailsView,.MemberDetailsView,.EncryptionIconView{display:flex;align-items:center;color:var(--text-color)}.RoomDetailsView_value{display:flex;justify-content:flex-end}.EncryptionIconView{justify-content:center}.RightPanelView_buttons{display:flex;justify-content:space-between;width:100%;box-sizing:border-box;padding:16px}.RightPanelView_buttons .hide{visibility:hidden}.MemberTileView a{display:flex;align-items:center}.middle-header{align-items:center}.middle-header h2{flex:1 1}.middle-header button{display:block}.middle-header .room-description{flex:1 1;min-width:0}.RoomHeader .topic{overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.RoomHeader .description{flex:1 1 auto;min-width:0}.middle-header h2{overflow:hidden;white-space:nowrap;text-overflow:ellipsis;margin:0}.MessageComposer_replyPreview{display:grid;grid-template-columns:1fr auto}.MessageComposer_replyPreview .Timeline_message{grid-column:1/-1}.MessageComposer_input{display:flex;align-items:center}.MessageComposer_input>input{display:block;flex:1 1;min-width:0;box-sizing:border-box}.TimelineLoadingView{display:flex;align-items:center;justify-content:center}.TimelineLoadingView>:not(:first-child){margin-left:12px}.Timeline{display:flex;flex-direction:column;position:relative;min-height:0}.Timeline_jumpDown{position:absolute}.Timeline_scroller{overflow-y:scroll;overscroll-behavior-y:contain;overflow-anchor:none;padding:0;margin:0;position:relative;min-height:0;flex:1 0}.Timeline_scroller>ul{list-style:none;padding:1px 0;margin:0}.AnnouncementView{display:flex;align-items:center}.GapView{display:flex}.GapView>:nth-child(2){flex:1 1}.Timeline_messageBody img{max-width:400px;max-height:300px}.hydrogen{--avatar-size: 32px}.hydrogen .avatar{width:var(--avatar-size);height:var(--avatar-size);line-height:var(--avatar-size);font-size:calc(var(--avatar-size) * .6);overflow:hidden;flex-shrink:0;user-select:none;text-align:center;speak:none}.hydrogen .avatar img{width:100%;height:100%;object-fit:cover}.hydrogen .avatar.size-128{--avatar-size: 128px;width:var(--avatar-size);height:var(--avatar-size);line-height:var(--avatar-size);font-size:calc(var(--avatar-size) * .6)}.hydrogen .avatar.size-64{--avatar-size: 64px;width:var(--avatar-size);height:var(--avatar-size);line-height:var(--avatar-size);font-size:calc(var(--avatar-size) * .6)}.hydrogen .avatar.size-52{--avatar-size: 52px;width:var(--avatar-size);height:var(--avatar-size);line-height:var(--avatar-size);font-size:calc(var(--avatar-size) * .6)}.hydrogen .avatar.size-30{--avatar-size: 30px;width:var(--avatar-size);height:var(--avatar-size);line-height:var(--avatar-size);font-size:calc(var(--avatar-size) * .6)}.hydrogen .avatar.size-24{--avatar-size: 24px;width:var(--avatar-size);height:var(--avatar-size);line-height:var(--avatar-size);font-size:calc(var(--avatar-size) * .6)}.hydrogen .avatar.size-12{--avatar-size: 12px;width:var(--avatar-size);height:var(--avatar-size);line-height:var(--avatar-size);font-size:calc(var(--avatar-size) * .6)}@keyframes spinner{0%{transform:rotate(0);stroke-dasharray:0 0 10 90}45%{stroke-dasharray:0 0 90 10}75%{stroke-dasharray:0 50 50 0}to{transform:rotate(360deg);stroke-dasharray:10 90 0 0}}.hydrogen:not(.legacy) .spinner circle{transform-origin:50% 50%;animation-name:spinner;animation-duration:2s;animation-iteration-count:infinite;animation-timing-function:linear;stroke-dasharray:0 0 85 85;fill:none;stroke:currentcolor;stroke-width:12;stroke-linecap:butt}.hydrogen.legacy .spinner{display:inline-block;position:relative}.hydrogen.legacy .spinner div{box-sizing:border-box;display:block;position:absolute;padding:2px;border:2px solid currentcolor;border-radius:50%;animation:legacy-spinner 1.2s cubic-bezier(.5,0,.5,1) infinite;border-color:currentcolor transparent transparent transparent;width:var(--size);height:var(--size)}.hydrogen.legacy .spinner div:nth-child(1){animation-delay:-.45s}.hydrogen.legacy .spinner div:nth-child(2){animation-delay:-.3s}.hydrogen.legacy .spinner div:nth-child(3){animation-delay:-.15s}@keyframes legacy-spinner{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.spinner{--size: 20px;width:var(--size);height:var(--size)}.form-row.text>input,.form-row.text>textarea{display:block;width:100%;min-width:0;box-sizing:border-box}.FilterField{display:flex}.FilterField input{display:block;flex:1 1;min-width:0}.SessionStatusView{display:flex}.SessionStatusView p{margin:0 10px;word-break:break-all;word-break:break-word}body.hydrogen{overscroll-behavior:none;overflow:hidden}.hydrogen{margin:0}.hiddenWithLayout{visibility:hidden}.hidden{display:none!important}input::-ms-clear{display:none}@font-face{font-family:Inter;font-style:normal;font-weight:100;font-display:swap;src:url(./Inter-Thin.5d8e2ac4.woff2?v=3.13) format("woff2"),url(./Inter-Thin.5565b01e.woff?v=3.13) format("woff")}@font-face{font-family:Inter;font-style:italic;font-weight:100;font-display:swap;src:url(./Inter-ThinItalic.6b3ded18.woff2?v=3.13) format("woff2"),url(./Inter-ThinItalic.c413497b.woff?v=3.13) format("woff")}@font-face{font-family:Inter;font-style:normal;font-weight:200;font-display:swap;src:url(./Inter-ExtraLight.da47c335.woff2?v=3.13) format("woff2"),url(./Inter-ExtraLight.d7be68a4.woff?v=3.13) format("woff")}@font-face{font-family:Inter;font-style:italic;font-weight:200;font-display:swap;src:url(./Inter-ExtraLightItalic.b3f94cfe.woff2?v=3.13) format("woff2"),url(./Inter-ExtraLightItalic.762fa4d2.woff?v=3.13) format("woff")}@font-face{font-family:Inter;font-style:normal;font-weight:300;font-display:swap;src:url(./Inter-Light.0f7dfe72.woff2?v=3.13) format("woff2"),url(./Inter-Light.38326098.woff?v=3.13) format("woff")}@font-face{font-family:Inter;font-style:italic;font-weight:300;font-display:swap;src:url(./Inter-LightItalic.125c7e6a.woff2?v=3.13) format("woff2"),url(./Inter-LightItalic.ec6c76a8.woff?v=3.13) format("woff")}@font-face{font-family:Inter;font-style:normal;font-weight:400;font-display:swap;src:url(./Inter-Regular.89d406b0.woff2?v=3.13) format("woff2"),url(./Inter-Regular.5b3a854b.woff?v=3.13) format("woff")}@font-face{font-family:Inter;font-style:italic;font-weight:400;font-display:swap;src:url(./Inter-Italic.bab4e808.woff2?v=3.13) format("woff2"),url(./Inter-Italic.7b187d57.woff?v=3.13) format("woff")}@font-face{font-family:Inter;font-style:normal;font-weight:500;font-display:swap;src:url(./Inter-Medium.5d308f3d.woff2?v=3.13) format("woff2"),url(./Inter-Medium.0fc5d904.woff?v=3.13) format("woff")}@font-face{font-family:Inter;font-style:italic;font-weight:500;font-display:swap;src:url(./Inter-MediumItalic.76551c20.woff2?v=3.13) format("woff2"),url(./Inter-MediumItalic.1458af9d.woff?v=3.13) format("woff")}@font-face{font-family:Inter;font-style:normal;font-weight:600;font-display:swap;src:url(./Inter-SemiBold.c7c3befe.woff2?v=3.13) format("woff2"),url(./Inter-SemiBold.04cd699f.woff?v=3.13) format("woff")}@font-face{font-family:Inter;font-style:italic;font-weight:600;font-display:swap;src:url(./Inter-SemiBoldItalic.d376ade4.woff2?v=3.13) format("woff2"),url(./Inter-SemiBoldItalic.420db54a.woff?v=3.13) format("woff")}@font-face{font-family:Inter;font-style:normal;font-weight:700;font-display:swap;src:url(./Inter-Bold.6f5e9a23.woff2?v=3.13) format("woff2"),url(./Inter-Bold.20d46cff.woff?v=3.13) format("woff")}@font-face{font-family:Inter;font-style:italic;font-weight:700;font-display:swap;src:url(./Inter-BoldItalic.e09dcbe1.woff2?v=3.13) format("woff2"),url(./Inter-BoldItalic.31a185fa.woff?v=3.13) format("woff")}@font-face{font-family:Inter;font-style:normal;font-weight:800;font-display:swap;src:url(./Inter-ExtraBold.0ef4267e.woff2?v=3.13) format("woff2"),url(./Inter-ExtraBold.45bae435.woff?v=3.13) format("woff")}@font-face{font-family:Inter;font-style:italic;font-weight:800;font-display:swap;src:url(./Inter-ExtraBoldItalic.d1e1f6a0.woff2?v=3.13) format("woff2"),url(./Inter-ExtraBoldItalic.30a1af87.woff?v=3.13) format("woff")}@font-face{font-family:Inter;font-style:normal;font-weight:900;font-display:swap;src:url(./Inter-Black.7f1f5616.woff2?v=3.13) format("woff2"),url(./Inter-Black.067c82f7.woff?v=3.13) format("woff")}@font-face{font-family:Inter;font-style:italic;font-weight:900;font-display:swap;src:url(./Inter-BlackItalic.72d5983b.woff2?v=3.13) format("woff2"),url(./Inter-BlackItalic.c628a2cf.woff?v=3.13) format("woff")}.Timeline_jumpDown{width:40px;height:40px;bottom:16px;right:32px;border-radius:100%;border:1px solid var(--background-color-secondary--darker-7);background-image:var(--icon-url-0);background-position:center;background-color:var(--background-color-primary--darker-10);background-repeat:no-repeat;cursor:pointer}.Timeline_message{display:grid;grid-template:"avatar sender" auto "avatar body" auto "time body" 1fr "time reactions" auto / 30px 1fr;column-gap:8px;padding:4px;margin:0 12px;box-sizing:border-box}.Timeline_message:not(.continuation){margin-top:4px}.ReplyPreviewView .Timeline_message{display:grid;grid-template:"body" auto;margin-left:0;padding:0}.ReplyPreviewView .Timeline_message:not(.continuation){margin-top:0}@media screen and (max-width: 800px){.Timeline_message{grid-template:"avatar sender" auto "body body" 1fr "time time" auto "reactions reactions" auto / 30px 1fr}.Timeline_messageSender{margin-top:0!important;align-self:center}}.Timeline_message:hover:not(.disabled),.Timeline_message.selected,.Timeline_message.menuOpen{background-color:#8d97a51a;border-radius:4px}.Timeline_message:hover>.Timeline_messageOptions,.Timeline_message.menuOpen>.Timeline_messageOptions{display:block;user-select:none}.Timeline_messageAvatar{grid-area:avatar;text-decoration:none}.Timeline_messageSender{grid-area:sender;font-weight:700;line-height:1.7rem}.Timeline_messageSender,.Timeline_messageBody{margin:0;word-break:break-all;word-break:break-word}.Timeline_message:not(.continuation) .Timeline_messageSender,.Timeline_message:not(.continuation) .Timeline_messageBody{margin-top:4px}.Timeline_messageOptions{display:none;grid-area:body;align-self:start;justify-self:end;margin-top:-12px;margin-right:4px;border:var(--background-color-primary--darker-10) 1px solid;height:24px;width:24px;background-color:var(--background-color-primary);color:inherit;border-radius:4px;padding:0;text-align:center;line-height:22px;cursor:pointer}.Timeline_messageTime{grid-area:time}.Timeline_messageBody time{padding:2px 0 0 10px;user-select:none}.Timeline_messageBody time,.Timeline_messageTime{font-size:.8em;line-height:normal;color:var(--timeline-time-text-color)}.Timeline_messageBody.statusMessage{font-style:italic;color:var(--light-text-color)}.Timeline_messageBody{grid-area:body;line-height:2.2rem;width:100%;min-width:0}.hydrogen .Timeline_messageSender.usercolor1{color:var(--usercolor1)}.hydrogen .Timeline_messageSender.usercolor2{color:var(--usercolor2)}.hydrogen .Timeline_messageSender.usercolor3{color:var(--usercolor3)}.hydrogen .Timeline_messageSender.usercolor4{color:var(--usercolor4)}.hydrogen .Timeline_messageSender.usercolor5{color:var(--usercolor5)}.hydrogen .Timeline_messageSender.usercolor6{color:var(--usercolor6)}.hydrogen .Timeline_messageSender.usercolor7{color:var(--usercolor7)}.hydrogen .Timeline_messageSender.usercolor8{color:var(--usercolor8)}.Timeline_messageBody h1,.Timeline_messageBody h2,.Timeline_messageBody h3,.Timeline_messageBody h4,.Timeline_messageBody h5,.Timeline_messageBody h6{font-weight:700;margin:.7em 0}.Timeline_messageBody h1{font-size:1.6em}.Timeline_messageBody h2{font-size:1.5em}.Timeline_messageBody h3{font-size:1.4em}.Timeline_messageBody h4{font-size:1.3em}.Timeline_messageBody h5{font-size:1.2em}.Timeline_messageBody h6{font-size:1.1em}.Timeline_messageBody a{word-break:break-all}.Timeline_messageBody a.link{color:var(--link-color);text-decoration:none}.Timeline_messageBody .media{display:grid;margin-top:4px;width:100%}.Timeline_messageBody .media>a{text-decoration:none;width:100%;display:block}.Timeline_messageBody .media>*{grid-row:1;grid-column:1}.Timeline_messageBody .media img,.Timeline_messageBody .media video{width:100%;height:auto;align-self:start;border-radius:4px;display:block}.hydrogen:not(.legacy) .Timeline_messageBody .media img,.hydrogen:not(.legacy) .Timeline_messageBody .media video{align-self:stretch}.Timeline_messageBody .media>.status{align-self:end;justify-self:start;font-size:.8em}.Timeline_messageBody .media>progress{align-self:center;justify-self:center;width:75%}.Timeline_messageBody .media>time{align-self:end;justify-self:end}.Timeline_messageBody .media>time,.Timeline_messageBody .media>.status{color:var(--text-color);display:block;padding:2px;margin:4px;background-color:#ffffffbf;border-radius:4px}.Timeline_messageBody .media>.spacer{width:100%;align-self:start}.Timeline_messageBody code,.Timeline_messageBody pre{background-color:var(--background-color-secondary);font-family:monospace;font-size:.9em}.Timeline_messageBody code{border-radius:3px;padding:.2em .3em;margin:0}.Timeline_messageBody pre{border:1px solid var(--light-border);padding:.5em;max-height:30em;overflow:auto}.Timeline_messageBody pre>code{background-color:unset;border-radius:unset;display:block;font-size:unset}.Timeline_messageBody blockquote{margin-left:0;padding-left:20px;border-left:4px solid var(--light-border)}.Timeline_messageBody table{border:1px solid var(--background-color-secondary--darker-15);border-radius:2px;border-spacing:0}.Timeline_messageBody thead th{border-bottom:1px solid var(--background-color-secondary--darker-15)}.Timeline_messageBody td,.Timeline_messageBody th{padding:2px 5px}.Timeline_messageBody tbody tr:nth-child(2n){background-color:var(--background-color-secondary)}.Timeline_messageBody .pill{padding:0 5px;border-radius:15px;background-color:var(--background-color-secondary);border:1px solid var(--background-color-secondary--darker-10);text-decoration:none;display:inline-flex;align-items:center;line-height:2rem;vertical-align:top;margin:1px}.Timeline_messageBody .pill div.avatar{display:inline-block;margin-right:3px}.Timeline_message.unsent .Timeline_messageBody{color:var(--light-text-color)}.Timeline_message.unverified .Timeline_messageBody{color:var(--error-color)}.Timeline_messageReactions{grid-area:reactions;margin-top:6px}.Timeline_messageReactions button{display:inline-flex;line-height:2rem;margin-right:6px;padding:1px 6px;border:1px solid var(--light-border);border-radius:10px;background-color:var(--background-color-secondary);color:inherit;cursor:pointer;user-select:none;vertical-align:middle}.Timeline_messageReactions button.active{background-color:var(--background-color-secondary);border-color:var(--accent-color)}@keyframes glow-reaction-border{0%{border-color:var(--background-color-secondary)}to{border-color:var(--accent-color)}}.Timeline_messageReactions button.active.pending{animation-name:glow-reaction-border;animation-duration:.5s;animation-direction:alternate;animation-iteration-count:infinite;animation-timing-function:linear}.Timeline_locationLink{padding:0 8px;border-radius:16px;border:1px solid var(--light-border);background-color:var(--background-color-secondary);text-decoration:none;display:inline-block;line-height:2rem;vertical-align:top;margin:1px 4px}.AnnouncementView{margin:5px 0;padding:5px 10%}.AnnouncementView>div{margin:0 auto;padding:10px 20px;background-color:var(--background-color-secondary);text-align:center;border-radius:10px}.GapView>:not(:first-child){margin-left:12px}.GapView{padding:52px 20px}.GapView.isAtTop{padding:52px 20px 12px}:root{font-size:10px;--icon-color: var(--background-color-secondary--darker-40);--light-border: var(--background-color-secondary--darker-5);--light-text-color: var(--background-color-secondary--darker-55);--timeline-time-text-color: var(--background-color-secondary--darker-35);--icon-background: var(--background-color-secondary--darker-7);--right-panel-text-color: var(--background-color-secondary--darker-35)}.hydrogen{font-family:Inter,sans-serif,"emoji";background-color:var(--background-color-primary);color:var(--text-color);font-size:1.4rem;--usercolor1: #368BD6;--usercolor2: #AC3BA8;--usercolor3: #03B381;--usercolor4: #E64F7A;--usercolor5: #FF812D;--usercolor6: #2DC2C5;--usercolor7: #5C56F5;--usercolor8: #74D12C}.hydrogen button{font-family:inherit}.avatar{border-radius:100%;background:var(--background-color-primary);color:var(--fixed-white)}.hydrogen .avatar.usercolor1{background-color:var(--usercolor1)}.hydrogen .avatar.usercolor2{background-color:var(--usercolor2)}.hydrogen .avatar.usercolor3{background-color:var(--usercolor3)}.hydrogen .avatar.usercolor4{background-color:var(--usercolor4)}.hydrogen .avatar.usercolor5{background-color:var(--usercolor5)}.hydrogen .avatar.usercolor6{background-color:var(--usercolor6)}.hydrogen .avatar.usercolor7{background-color:var(--usercolor7)}.hydrogen .avatar.usercolor8{background-color:var(--usercolor8)}.logo{height:48px;min-width:48px;background-image:var(--icon-url-1);background-repeat:no-repeat;background-position:center}.button-row{display:flex}.button-row>*{margin-right:10px}.button-row>*:last-child{margin-right:0}.button-row .button-action{margin:10px 0;flex:1 0 auto}.form-row.text textarea{font-family:Inter,sans-serif;background-color:var(--background-color-secondary);color:inherit}.form-group{margin:24px 0}.form-row{margin:12px 0}.form-row.text>input,.form-row.text>textarea{padding:12px;border:1px solid var(--light-border);border-radius:8px;margin-top:5px;font-size:1em;resize:vertical;background-color:var(--background-color-secondary);color:inherit}.form-row.check{display:flex;align-items:baseline;gap:4px}.form-row.text>label,.form-row.text>input{display:block}.form-row .form-row-description{font-size:1rem;color:var(--light-text-color);margin:8px 0 0}.button-action{cursor:pointer}a.button-action{text-decoration:none;text-align:center;display:block}.button-action.secondary{color:var(--accent-color)}.button-action.primary{background-color:var(--accent-color);border-radius:8px;color:var(--fixed-white);font-weight:700}.button-action.primary:disabled{color:var(--fixed-white--darker-10)}.button-action.primary.destructive{background-color:var(--error-color)}.button-action.secondary.destructive{color:var(--error-color)}.button-action{border:none;padding:10px;background:none;font-weight:500}.button-utility{cursor:pointer;width:32px;height:32px;background-position:center;background-color:var(--icon-background);background-repeat:no-repeat;border:none;border-radius:100%;display:block}.button-utility.grid{background-image:var(--icon-url-2)}.button-utility.settings{background-image:var(--icon-url-3)}.button-utility.create{background-image:var(--icon-url-4)}.button-utility.grid.on{background-image:var(--icon-url-5)}.FilterField{background-image:var(--icon-url-6);background-repeat:no-repeat;background-position:8px center;background-color:var(--icon-background);border:1px solid transparent;border-radius:16px;height:32px;align-items:center;padding-left:30px;box-sizing:border-box}.FilterField:focus-within{border:1px var(--icon-background) solid;background-color:var(--background-color-primary)}.FilterField:focus-within button{border-color:var(--background-color-primary)}.FilterField input{font-family:Inter;font-size:1.3rem;font-weight:500;line-height:1.573rem;outline:none;border:none;background-color:transparent;height:100%;color:var(--text-color)}.FilterField button{width:30px;height:30px;background-position:center;background-color:var(--icon-background);background-repeat:no-repeat;background-image:var(--icon-url-7);border:7px solid transparent;border-radius:100%;box-sizing:border-box}.PreSessionScreen{padding:30px}.PreSessionScreen h1{font-size:16px;text-align:center}.SessionLoadView{padding-top:16px}.StartSSOLoginView_button{border:1px solid var(--accent-color);border-radius:8px}.LoginView_back{background-image:var(--icon-url-8);background-color:transparent}.LoginView_separator{font-weight:500;font-size:1.5rem}.LoginView_forwardInfo{font-size:.9em;margin-left:1em;color:var(--light-text-color)}.CompleteSSOView_title{font-weight:500}@media screen and (min-width: 600px){.PreSessionScreen{box-shadow:0 6px 32px #0000001a;border-radius:8px}}.PreSessionScreen .logo{height:48px;min-width:48px}.LeftPanel{background:var(--background-color-secondary);font-size:1.5rem;padding:12px 8px 0}.LeftPanel>:not(:first-child){margin-top:12px}.LeftPanel .utilities>:not(:first-child){margin-left:8px}.LeftPanel .filter{border-bottom:1px solid var(--background-color-secondary)}.LeftPanel .filter input{padding:.8em;border:none}.LeftPanel .RoomList{padding:0 8px 0 0;margin-right:-8px}.RoomList>li{margin:0;padding:4px 8px 4px 0;align-items:center}.RoomList>li>a{text-decoration:none;align-items:center}.RoomList li:not(:first-child){margin-top:4px}.RoomList li.active{background:var(--background-color-secondary--darker-7);border-radius:5px}.RoomList li>a>*{margin-right:8px}.RoomList .description{align-items:center}.RoomList .name.unread{font-weight:600}.RoomList .badge{min-width:1.6rem;height:1.6rem;border-radius:1.6rem;box-sizing:border-box;padding:.1rem .3rem;background-color:var(--room-badge);color:var(--fixed-white);font-weight:700;font-size:1rem;line-height:1.4rem;text-align:center}.RoomList .badge.highlighted{background-color:var(--error-color)}a{color:inherit}.SessionStatusView{padding:4px;min-height:22px;background-color:var(--accent-color);color:var(--fixed-white);align-items:center}.SessionStatusView button.link{color:currentcolor;text-align:left}.SessionStatusView>.end{flex:1 1;display:flex;justify-content:flex-end;align-self:stretch;align-items:stretch}.SessionStatusView .dismiss{border:none;background:none;background-image:var(--icon-url-9);background-position:center;background-repeat:no-repeat;width:32px;cursor:pointer}.room-placeholder{align-items:center;justify-content:center;text-align:center;padding:20px}.SessionPickerView li{font-size:1.2em}.SessionPickerView .session-info{text-decoration:none;padding:12px;border:1px solid var(--light-border);border-radius:8px;background-image:var(--icon-url-10);background-position:center right 30px;background-repeat:no-repeat;font-weight:500}.SessionPickerView .session-actions{margin:10px 0 20px;display:flex}.SessionPickerView .session-actions>*{margin-right:10px}.SessionPickerView .session-actions>*:last-child{margin-right:0}.SessionPickerView .session-actions button{border:none;background:none;color:inherit}.SessionPickerView button.destructive{color:var(--error-color)}.RoomGridView>div.container{border-right:1px solid var(--background-color-secondary);border-bottom:1px solid var(--background-color-secondary)}.RoomGridView>.focused>.room-placeholder .unfocused{display:none}.RoomGridView>:not(.focused)>.room-placeholder .focused{display:none}.room-placeholder .unfocused{color:var(--right-panel-text-color)}.RoomGridView>div.focus-ring{border:2px solid var(--accent-color--darker-5);border-radius:12px}.middle-header{box-sizing:border-box;flex:0 0 56px;background:var(--background-color-primary);padding:0 16px;border-bottom:1px solid var(--background-color-secondary)}.middle-header h2{font-size:1.8rem;font-weight:600}.middle-header>:not(:last-child){margin-right:8px}.close-middle,.close-session{background-image:var(--icon-url-11);background-position-x:10px}.RoomHeader .topic{font-size:14rem}.RoomHeader .room-options{background-image:var(--icon-url-12)}.RoomView_error{color:var(--error-color);background:#efefef;height:0px;font-weight:700;transition:.25s all ease-out;padding-right:20px;padding-left:20px}.RoomView_error div{overflow:hidden;height:100%;width:100%;position:relative;display:flex;align-items:center}.RoomView_error:not(:empty){height:auto;padding-top:20px;padding-bottom:20px}.RoomView_error p{position:relative;display:block;width:100%;height:auto;margin:0}.RoomView_error button{width:40px;padding-top:20px;padding-bottom:20px;background:none;border:none;position:relative;border-radius:5px;transition:.1s all ease-out;cursor:pointer}.RoomView_error button:hover{background:#cfcfcf}.RoomView_error button:before{content:"\274c";position:absolute;top:15px;left:9px;width:20px;height:10px;font-size:10px;align-self:middle}.MessageComposer_replyPreview .Timeline_message{margin:5px 0 0;max-height:30vh;overflow:auto}.MessageComposer_replyPreview{background:var(--background-color-secondary);margin:0 10px 10px;box-shadow:0 0 5px var(--background-color-secondary--darker-15);border-radius:5px}.MessageComposer_input,.MessageComposer_replyPreview{padding:8px}.MessageComposer_replyPreview>.replying{display:inline-flex;flex-direction:row;align-items:center;font-weight:700}.MessageComposer_replyPreview>button.cancel{width:32px;height:32px;display:block;border:none;text-indent:200%;white-space:nowrap;overflow:hidden;background-color:transparent;background-image:var(--icon-url-13);background-repeat:no-repeat;background-position:center;background-size:18px;cursor:pointer}.MessageComposer_input:first-child{border-top:1px solid var(--background-color-secondary)}.MessageComposer_input>:not(:first-child){margin-left:12px}.MessageComposer_input>textarea{border:none;border-radius:24px;background:var(--background-color-secondary);color:inherit;font-size:14px;font-family:Inter,sans-serif;resize:none;flex:1 1;padding:14px;box-sizing:border-box;overflow:hidden;max-height:113px;overflow-y:auto;overflow-y:overlay}.MessageComposer_input>button.send{width:32px;height:32px;display:block;border-radius:100%;border:none;text-indent:200%;overflow:hidden;background-color:var(--accent-color);background-image:var(--icon-url-14);background-repeat:no-repeat;background-position:center;align-self:end;margin-bottom:8px}.MessageComposer_input>button.sendFile{width:32px;height:32px;display:block;border:none;text-indent:200%;white-space:nowrap;overflow:hidden;background-color:transparent;background-image:var(--icon-url-15);background-repeat:no-repeat;background-position:center}.MessageComposer.MessageComposer_canSend button.sendFile{display:none}.MessageComposer:not(.MessageComposer_canSend) button.send{display:none}.SettingsBody{padding:0 16px}.Settings h3{margin:16px 0 8px}.Settings p{max-width:700px}.Settings .row .label{font-weight:600}.Settings .row .label,.Settings .row .content{margin-top:4px;margin-bottom:4px}.Settings .row .content{margin-left:4px;flex:1 1}.Settings .row.code .content{font-family:monospace}.Settings .row .content button{display:inline-block;margin:0 8px}.Settings .row .content input[type=range]{width:100%;max-width:300px;min-width:160px}.Settings .row{margin:4px 0;display:flex;flex-wrap:wrap;align-items:center}.Settings .row .label{flex:0 0 200px;align-self:flex-start}.Settings .row .content p{margin:8px 0}.Settings .row .content p:first-child{margin-top:0}.Settings .row .content p:last-child{margin-bottom:0}.error{color:var(--error-color);font-weight:600}button.link{font-size:1em;border:none;text-decoration:underline;background:none;cursor:pointer;margin:-12px;padding:12px;color:inherit}.Settings a,.Settings .link{color:var(--accent-color);font-weight:600}.lightbox{background-color:#000000bf;display:grid;grid-template:"content close" auto "content details" 1fr / 1fr auto;color:var(--background-color-primary);padding:4px}@media (max-aspect-ratio: 1/1){.lightbox{grid-template:"close" auto "content" 1fr "details" auto / 1fr}.lightbox .details{width:100%!important}}.lightbox .picture{grid-area:content;background-size:contain;background-position:center;background-repeat:no-repeat;width:100%;height:100%;align-self:center;justify-self:center}.lightbox .loading{grid-area:content;align-self:center;justify-self:center;display:flex}.lightbox .loading>:not(:first-child){margin-left:8px}.lightbox .close{display:block;grid-area:close;justify-self:end;background-image:var(--icon-url-16);background-position:center;background-size:16px;background-repeat:no-repeat;width:16px;height:16px;padding:12px}.lightbox .details{grid-area:details;padding:12px;font-size:1.5rem;width:200px}.menu{border-radius:8px;box-shadow:2px 2px 10px #00000080;padding:4px;background-color:var(--background-color-primary);list-style:none;margin:0}.menu li{margin-bottom:10px}.menu .menu-item{color:var(--text-color)}.menu button{border-radius:4px;border:none;background-color:transparent;text-align:left;padding:8px 32px 8px 8px;font-size:1.5rem;height:24px;cursor:pointer}.menu .destructive button{color:var(--error-color)}.menu .quick-reactions{display:flex;padding:8px 32px 8px 8px}.menu .quick-reactions button{padding:2px 4px;text-align:center}.InviteView_body{display:flex;justify-content:space-around;align-items:center;flex:1 1;overflow:auto}.InviteView_invite{display:flex;width:100%;max-width:400px;flex-direction:column;padding:0 24px}.InviteView_roomProfile{display:grid;gap:4px;grid-template:"avatar name" auto "avatar description" 1fr / 72px 1fr;align-self:center;margin-bottom:24px}.InviteView_roomProfile h3{grid-area:name;margin:0}.InviteView_roomDescription{grid-area:description;font-size:1.2rem;margin:0;color:var(--light-text-color)}.InviteView_roomAvatar{grid-area:avatar}.InviteView_dmAvatar{align-self:center}.InviteView_inviter{text-align:center;margin:24px 0}.InviteView_inviter .avatar{display:inline-block;vertical-align:middle;margin-right:4px}.InviteView_buttonRow{margin:10px auto;max-width:200px;width:100%}.InviteView_buttonRow button{display:block;width:100%}.DisabledComposerView{padding:12px;background-color:var(--background-color-secondary)}.DisabledComposerView h3{margin:0}.UnknownRoomView{align-items:center;justify-content:center;text-align:center;padding:16px;box-sizing:border-box}.UnknownRoomView h2{word-break:break-all;word-break:break-word}.UnknownRoomView button{max-width:200px;width:100%}.LoadingView{height:100%;width:100%}.LoadingView .spinner{margin-right:5px}.RightPanelView{background:var(--background-color-secondary)}.RoomDetailsView{padding:0 16px 16px}.RoomDetailsView_id,.MemberDetailsView_id{color:var(--right-panel-text-color);font-size:12px}.RoomDetailsView_rows{margin-top:36px;width:100%}.RoomDetailsView_name h2,.MemberDetailsView_name h2{margin-bottom:4px;font-size:1.8rem}.RoomDetailsView_row{margin-bottom:20px;font-weight:500;font-size:15px;width:100%;background:none;border:none;padding:0}button.RoomDetailsView_row{cursor:pointer}button.RoomDetailsView_row:after{content:var(--icon-url-17);margin-left:12px}.RoomDetailsView_row:not(button):after{content:" ";width:19px}.RoomDetailsView_label:before{padding-right:16px;height:24px;width:20px}.RoomDetailsView_label{width:200px}.RoomDetailsView_value{color:var(--right-panel-text-color);flex:1 1}.MemberCount:before{content:var(--icon-url-18)}.EncryptionStatus:before{content:var(--icon-url-19)}.EncryptionIconView{width:52px;height:52px;border-radius:100%;background:var(--right-panel-text-color);border:3px solid var(--background-color-secondary);margin-left:-16px}.EncryptionIconView_encrypted,.EncryptionIconView_unencrypted{height:24px;width:24px}.EncryptionIconView_encrypted{content:var(--icon-url-20)}.EncryptionIconView_unencrypted{content:var(--icon-url-21)}.RightPanelView_buttons .button-utility{width:24px;height:24px}.RightPanelView_buttons .close{background-image:var(--icon-url-22)}.RightPanelView_buttons .back{background-image:var(--icon-url-23)}.MemberListView{padding-left:16px;padding-right:16px;margin:0}.MemberTileView{margin-bottom:8px;list-style:none}.MemberTileView a{text-decoration:none}.MemberTileView .avatar{margin-right:8px}.MemberTileView_name{text-overflow:ellipsis;overflow:hidden;white-space:nowrap;flex:1 1}.MemberDetailsView_section{box-sizing:border-box;padding:16px;width:100%}.MemberDetailsView_label{font-size:12px;font-weight:600;color:var(--right-panel-text-color);text-transform:uppercase}.MemberDetailsView_value,.MemberDetailsView_options{margin-left:8px;margin-top:5px;font-size:12px}.MemberDetailsView_options{display:inline-flex;flex-direction:column}.MemberDetailsView_options a,.MemberDetailsView_options button{color:var(--accent-color);text-decoration:none;margin:0 0 3px;padding:0;border:none;background:none;cursor:pointer}.LazyListParent{overflow-y:auto}.LogoutScreen{height:100vh}.LogoutScreen .content{height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center}.LogoutScreen .status{display:flex;gap:12px}.CreateRoomView,.RoomBeingCreated_error{max-width:400px}.RoomBeingCreated_error{margin-top:48px}.centered-column{padding:0 12px;align-self:center;width:100%;box-sizing:border-box}.CreateRoomView_selectAvatar{border:none;background:none;cursor:pointer}.CreateRoomView_selectAvatarPlaceholder{width:64px;height:64px;border-radius:100%;background-color:var(--icon-background);background-image:var(--icon-url-24);background-repeat:no-repeat;background-position:center;background-size:36px}:root{--background-color-primary: #fff;--background-color-secondary: #f6f6f6;--text-color: #2E2F32;--accent-color: #03b381;--error-color: #FF4B55;--fixed-white: #fff;--room-badge: #61708b;--link-color: #238cf5}:root{--background-color-secondary--darker-7: #e4e4e4;--background-color-primary--darker-10: #e6e6e6;--background-color-secondary--darker-15: #d0d0d0;--background-color-secondary--darker-10: #dddddd;--background-color-secondary--darker-40: #909090;--background-color-secondary--darker-5: #e9e9e9;--background-color-secondary--darker-55: #6a6a6a;--background-color-secondary--darker-35: #9d9d9d;--fixed-white--darker-10: #e6e6e6;--accent-color--darker-5: #039a6f}:root{--icon-url-0: url(./chevron-down-3300400168.d1a083a1.svg);--icon-url-1: url(./element-logo-703176763.fc54fc8d.svg);--icon-url-2: url(./enable-grid-2071838379.ab4f40c5.svg);--icon-url-3: url(./settings-2175246113.00804666.svg);--icon-url-4: url(./plus-4190356069.084c5e3d.svg);--icon-url-5: url(./disable-grid-3304422220.8a79cfcb.svg);--icon-url-6: url(./search-3263540198.1511780c.svg);--icon-url-7: url(./clear-426756705.361f7a30.svg);--icon-url-8: url(./chevron-left-3506338632.4e437777.svg);--icon-url-9: url(./dismiss-2743697487.2f1a17f1.svg);--icon-url-10: url(./chevron-right-847198822.23380c56.svg);--icon-url-11: url(./chevron-left-3506338632.4e437777.svg);--icon-url-12: url(./vertical-ellipsis-3416547705.f619a721.svg);--icon-url-13: url(./clear-426756705.361f7a30.svg);--icon-url-14: url(./send-1171052351.caa5c494.svg);--icon-url-15: url(./paperclip-2441131778.1f5e29f3.svg);--icon-url-16: url(./dismiss-2743697487.2f1a17f1.svg);--icon-url-17: url(./chevron-small-781914114.936b4943.svg);--icon-url-18: url(./room-members-3847743605.9fcf4567.svg);--icon-url-19: url(./encryption-status-475927392.2fedc0bd.svg);--icon-url-20: url(./e2ee-normal-1448349558.af8f5484.svg);--icon-url-21: url(./e2ee-disabled-1470792300.6863c16d.svg);--icon-url-22: url(./clear-426756705.361f7a30.svg);--icon-url-23: url(./chevron-thin-left-3831175135.13f60c05.svg);--icon-url-24: url(./plus-4190356069.084c5e3d.svg)} diff --git a/assets/theme-element-runtime.8f0a458e.css b/assets/theme-element-runtime.8f0a458e.css new file mode 100644 index 00000000..b1009dcc --- /dev/null +++ b/assets/theme-element-runtime.8f0a458e.css @@ -0,0 +1 @@ +@font-face{font-family:"emoji";src:local("Apple Color Emoji"),local("Segoe UI Emoji"),local("Segoe UI Symbol"),local("Noto Color Emoji"),local("Twemoji"),local("Twemoji Mozilla"),local("Android Emoji"),local("EmojiSymbols"),local("Symbola");unicode-range:U+1F300-1F5FF,U+1F600-1F64F,U+1F680-1F6FF,U+2600-26FF}html{height:100%}main{display:block}@media screen and (min-width: 600px){.PreSessionScreen{width:600px;box-sizing:border-box;margin:50px auto 0}}.room-placeholder{display:flex;flex-direction:row}.SessionView{position:fixed;height:100%;width:100%;display:grid;grid-template:"status status" auto "left middle" 1fr / 320px 1fr;min-height:0;min-width:0}.right-shown{grid-template:"status status status" auto "left middle right" 1fr / 320px 1fr 300px}.hydrogen.ios .SessionView{height:var(--ios-viewport-height, 100%);top:var(--ios-viewport-top, 0)}.middle .close-middle{display:none}@media screen and (max-width: 800px){.SessionView:not(.middle-shown):not(.right-shown){grid-template:"status" auto "left" 1fr / 1fr}.SessionView.middle-shown{grid-template:"status" auto "middle" 1fr / 1fr}.SessionView.right-shown{grid-template:"status" auto "right" 1fr / 1fr}.SessionView:not(.middle-shown):not(.right-shown) .room-placeholder{display:none}.SessionView.middle-shown .LeftPanel,.SessionView.right-shown .middle,.SessionView.right-shown .LeftPanel{display:none}.middle .close-middle{display:block!important}.LeftPanel .grid{display:none!important}}.LeftPanel{grid-area:left;min-width:0;min-height:0}.room-placeholder,.middle{min-width:0;grid-area:middle;width:100%;min-height:0}.middle{display:flex;flex-direction:column}.SessionStatusView{grid-area:status}.lightbox{position:absolute;top:0;bottom:0;left:0;right:0;z-index:1;box-sizing:border-box;height:100%}.RoomView_body{flex:1 1;min-height:0;min-width:0;display:flex;flex-direction:column;height:100%}.RoomView_body .Timeline,.RoomView_body .TimelineLoadingView{flex:1 0}.middle-header{display:flex}.RoomGridView{display:grid}.RoomGridView.layout3x2{grid-template:"t0 t1 t2" 1fr "t3 t4 t5" 1fr / 1fr 1fr 1fr}.RoomGridView>.tile0{grid-area:t0}.RoomGridView>.tile1{grid-area:t1}.RoomGridView>.tile2{grid-area:t2}.RoomGridView>.tile3{grid-area:t3}.RoomGridView>.tile4{grid-area:t4}.RoomGridView>.tile5{grid-area:t5}.RoomGridView>div{display:flex;min-width:0;min-height:0}.RoomGridView>div.focus-ring{z-index:1;pointer-events:none}.menu{position:absolute;z-index:2}.menu .menu-item{box-sizing:border-box;width:100%}.Settings{display:flex;flex-direction:column}.SettingsBody{min-height:0;overflow-y:auto}.LazyListParent{flex:1 1}.LoadingView{display:flex;justify-content:center;align-items:center}.vertical-layout{display:flex;flex-direction:row;align-items:center;gap:12px}.vertical-layout>.stretch{flex:1 0}.popupContainer{position:absolute;white-space:nowrap}.SessionPickerView{padding:.4em}.SessionPickerView ul{list-style:none;padding:0}.SessionPickerView li{margin:.4em 0}.SessionPickerView .session-info{cursor:pointer;display:flex;align-items:center}.SessionPickerView .session-info>:not(:first-child){margin-left:8px}.SessionPickerView li .user-id{flex:1 1;overflow:hidden;text-overflow:ellipsis}.SessionPickerView li .error{margin:0 20px}.PasswordLoginView{padding:0 .4em .4em}.SessionLoadStatusView>.status,.LoginView_query-spinner{display:flex;gap:12px}.SessionLoadStatusView>.status p,.LoginView_query-spinner p{flex:1 1;margin:0}.SessionLoadStatusView .spinner{--size: 20px}.StartSSOLoginView{display:flex;flex-direction:column;padding:0 .4em}.StartSSOLoginView_button{flex:1 1;margin-top:12px}.LoginView_separator{justify-content:center;display:flex;margin:8px}.CompleteSSOView_title{display:flex;justify-content:center}.LoginView_sso{padding:.4em .4em 0}.LeftPanel{display:flex;flex-direction:column}.LeftPanel .utilities{display:flex}.LeftPanel .utilities .FilterField{flex:1 1;min-width:0}.LeftPanel ul{list-style:none;padding:0;margin:0}.RoomList{flex:1 0;overflow-y:auto;overscroll-behavior:contain}.RoomList>li>a{display:flex;align-items:center}.RoomList .description{margin:0;flex:1 1;min-width:0;display:flex}.RoomList .description>.name{overflow:hidden;white-space:nowrap;text-overflow:ellipsis;flex:1 1}.RightPanelView{grid-area:right;min-height:0;min-width:0;display:flex;flex-direction:column}.RoomDetailsView,.MemberDetailsView{flex-direction:column;flex:1 1}.RoomDetailsView_avatar{display:flex}.RoomDetailsView_name h2,.MemberDetailsView_name h2{text-align:center}.RoomDetailsView_label,.RoomDetailsView_row,.RoomDetailsView,.MemberDetailsView,.EncryptionIconView{display:flex;align-items:center;color:var(--text-color)}.RoomDetailsView_value{display:flex;justify-content:flex-end}.EncryptionIconView{justify-content:center}.RightPanelView_buttons{display:flex;justify-content:space-between;width:100%;box-sizing:border-box;padding:16px}.RightPanelView_buttons .hide{visibility:hidden}.MemberTileView a{display:flex;align-items:center}.middle-header{align-items:center}.middle-header h2{flex:1 1}.middle-header button{display:block}.middle-header .room-description{flex:1 1;min-width:0}.RoomHeader .topic{overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.RoomHeader .description{flex:1 1 auto;min-width:0}.middle-header h2{overflow:hidden;white-space:nowrap;text-overflow:ellipsis;margin:0}.MessageComposer_replyPreview{display:grid;grid-template-columns:1fr auto}.MessageComposer_replyPreview .Timeline_message{grid-column:1/-1}.MessageComposer_input{display:flex;align-items:center}.MessageComposer_input>input{display:block;flex:1 1;min-width:0;box-sizing:border-box}.TimelineLoadingView{display:flex;align-items:center;justify-content:center}.TimelineLoadingView>:not(:first-child){margin-left:12px}.Timeline{display:flex;flex-direction:column;position:relative;min-height:0}.Timeline_jumpDown{position:absolute}.Timeline_scroller{overflow-y:scroll;overscroll-behavior-y:contain;overflow-anchor:none;padding:0;margin:0;position:relative;min-height:0;flex:1 0}.Timeline_scroller>ul{list-style:none;padding:1px 0;margin:0}.AnnouncementView{display:flex;align-items:center}.GapView{display:flex}.GapView>:nth-child(2){flex:1 1}.Timeline_messageBody img{max-width:400px;max-height:300px}.hydrogen{--avatar-size: 32px}.hydrogen .avatar{width:var(--avatar-size);height:var(--avatar-size);line-height:var(--avatar-size);font-size:calc(var(--avatar-size) * .6);overflow:hidden;flex-shrink:0;user-select:none;text-align:center;speak:none}.hydrogen .avatar img{width:100%;height:100%;object-fit:cover}.hydrogen .avatar.size-128{--avatar-size: 128px;width:var(--avatar-size);height:var(--avatar-size);line-height:var(--avatar-size);font-size:calc(var(--avatar-size) * .6)}.hydrogen .avatar.size-64{--avatar-size: 64px;width:var(--avatar-size);height:var(--avatar-size);line-height:var(--avatar-size);font-size:calc(var(--avatar-size) * .6)}.hydrogen .avatar.size-52{--avatar-size: 52px;width:var(--avatar-size);height:var(--avatar-size);line-height:var(--avatar-size);font-size:calc(var(--avatar-size) * .6)}.hydrogen .avatar.size-30{--avatar-size: 30px;width:var(--avatar-size);height:var(--avatar-size);line-height:var(--avatar-size);font-size:calc(var(--avatar-size) * .6)}.hydrogen .avatar.size-24{--avatar-size: 24px;width:var(--avatar-size);height:var(--avatar-size);line-height:var(--avatar-size);font-size:calc(var(--avatar-size) * .6)}.hydrogen .avatar.size-12{--avatar-size: 12px;width:var(--avatar-size);height:var(--avatar-size);line-height:var(--avatar-size);font-size:calc(var(--avatar-size) * .6)}@keyframes spinner{0%{transform:rotate(0);stroke-dasharray:0 0 10 90}45%{stroke-dasharray:0 0 90 10}75%{stroke-dasharray:0 50 50 0}to{transform:rotate(360deg);stroke-dasharray:10 90 0 0}}.hydrogen:not(.legacy) .spinner circle{transform-origin:50% 50%;animation-name:spinner;animation-duration:2s;animation-iteration-count:infinite;animation-timing-function:linear;stroke-dasharray:0 0 85 85;fill:none;stroke:currentcolor;stroke-width:12;stroke-linecap:butt}.hydrogen.legacy .spinner{display:inline-block;position:relative}.hydrogen.legacy .spinner div{box-sizing:border-box;display:block;position:absolute;padding:2px;border:2px solid currentcolor;border-radius:50%;animation:legacy-spinner 1.2s cubic-bezier(.5,0,.5,1) infinite;border-color:currentcolor transparent transparent transparent;width:var(--size);height:var(--size)}.hydrogen.legacy .spinner div:nth-child(1){animation-delay:-.45s}.hydrogen.legacy .spinner div:nth-child(2){animation-delay:-.3s}.hydrogen.legacy .spinner div:nth-child(3){animation-delay:-.15s}@keyframes legacy-spinner{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.spinner{--size: 20px;width:var(--size);height:var(--size)}.form-row.text>input,.form-row.text>textarea{display:block;width:100%;min-width:0;box-sizing:border-box}.FilterField{display:flex}.FilterField input{display:block;flex:1 1;min-width:0}.SessionStatusView{display:flex}.SessionStatusView p{margin:0 10px;word-break:break-all;word-break:break-word}body.hydrogen{overscroll-behavior:none;overflow:hidden}.hydrogen{margin:0}.hiddenWithLayout{visibility:hidden}.hidden{display:none!important}input::-ms-clear{display:none}@font-face{font-family:Inter;font-style:normal;font-weight:100;font-display:swap;src:url(./Inter-Thin.5d8e2ac4.woff2?v=3.13) format("woff2"),url(./Inter-Thin.5565b01e.woff?v=3.13) format("woff")}@font-face{font-family:Inter;font-style:italic;font-weight:100;font-display:swap;src:url(./Inter-ThinItalic.6b3ded18.woff2?v=3.13) format("woff2"),url(./Inter-ThinItalic.c413497b.woff?v=3.13) format("woff")}@font-face{font-family:Inter;font-style:normal;font-weight:200;font-display:swap;src:url(./Inter-ExtraLight.da47c335.woff2?v=3.13) format("woff2"),url(./Inter-ExtraLight.d7be68a4.woff?v=3.13) format("woff")}@font-face{font-family:Inter;font-style:italic;font-weight:200;font-display:swap;src:url(./Inter-ExtraLightItalic.b3f94cfe.woff2?v=3.13) format("woff2"),url(./Inter-ExtraLightItalic.762fa4d2.woff?v=3.13) format("woff")}@font-face{font-family:Inter;font-style:normal;font-weight:300;font-display:swap;src:url(./Inter-Light.0f7dfe72.woff2?v=3.13) format("woff2"),url(./Inter-Light.38326098.woff?v=3.13) format("woff")}@font-face{font-family:Inter;font-style:italic;font-weight:300;font-display:swap;src:url(./Inter-LightItalic.125c7e6a.woff2?v=3.13) format("woff2"),url(./Inter-LightItalic.ec6c76a8.woff?v=3.13) format("woff")}@font-face{font-family:Inter;font-style:normal;font-weight:400;font-display:swap;src:url(./Inter-Regular.89d406b0.woff2?v=3.13) format("woff2"),url(./Inter-Regular.5b3a854b.woff?v=3.13) format("woff")}@font-face{font-family:Inter;font-style:italic;font-weight:400;font-display:swap;src:url(./Inter-Italic.bab4e808.woff2?v=3.13) format("woff2"),url(./Inter-Italic.7b187d57.woff?v=3.13) format("woff")}@font-face{font-family:Inter;font-style:normal;font-weight:500;font-display:swap;src:url(./Inter-Medium.5d308f3d.woff2?v=3.13) format("woff2"),url(./Inter-Medium.0fc5d904.woff?v=3.13) format("woff")}@font-face{font-family:Inter;font-style:italic;font-weight:500;font-display:swap;src:url(./Inter-MediumItalic.76551c20.woff2?v=3.13) format("woff2"),url(./Inter-MediumItalic.1458af9d.woff?v=3.13) format("woff")}@font-face{font-family:Inter;font-style:normal;font-weight:600;font-display:swap;src:url(./Inter-SemiBold.c7c3befe.woff2?v=3.13) format("woff2"),url(./Inter-SemiBold.04cd699f.woff?v=3.13) format("woff")}@font-face{font-family:Inter;font-style:italic;font-weight:600;font-display:swap;src:url(./Inter-SemiBoldItalic.d376ade4.woff2?v=3.13) format("woff2"),url(./Inter-SemiBoldItalic.420db54a.woff?v=3.13) format("woff")}@font-face{font-family:Inter;font-style:normal;font-weight:700;font-display:swap;src:url(./Inter-Bold.6f5e9a23.woff2?v=3.13) format("woff2"),url(./Inter-Bold.20d46cff.woff?v=3.13) format("woff")}@font-face{font-family:Inter;font-style:italic;font-weight:700;font-display:swap;src:url(./Inter-BoldItalic.e09dcbe1.woff2?v=3.13) format("woff2"),url(./Inter-BoldItalic.31a185fa.woff?v=3.13) format("woff")}@font-face{font-family:Inter;font-style:normal;font-weight:800;font-display:swap;src:url(./Inter-ExtraBold.0ef4267e.woff2?v=3.13) format("woff2"),url(./Inter-ExtraBold.45bae435.woff?v=3.13) format("woff")}@font-face{font-family:Inter;font-style:italic;font-weight:800;font-display:swap;src:url(./Inter-ExtraBoldItalic.d1e1f6a0.woff2?v=3.13) format("woff2"),url(./Inter-ExtraBoldItalic.30a1af87.woff?v=3.13) format("woff")}@font-face{font-family:Inter;font-style:normal;font-weight:900;font-display:swap;src:url(./Inter-Black.7f1f5616.woff2?v=3.13) format("woff2"),url(./Inter-Black.067c82f7.woff?v=3.13) format("woff")}@font-face{font-family:Inter;font-style:italic;font-weight:900;font-display:swap;src:url(./Inter-BlackItalic.72d5983b.woff2?v=3.13) format("woff2"),url(./Inter-BlackItalic.c628a2cf.woff?v=3.13) format("woff")}.Timeline_jumpDown{width:40px;height:40px;bottom:16px;right:32px;border-radius:100%;border:1px solid var(--background-color-secondary--darker-7);background-image:var(--icon-url-0);background-position:center;background-color:var(--background-color-primary--darker-10);background-repeat:no-repeat;cursor:pointer}.Timeline_message{display:grid;grid-template:"avatar sender" auto "avatar body" auto "time body" 1fr "time reactions" auto / 30px 1fr;column-gap:8px;padding:4px;margin:0 12px;box-sizing:border-box}.Timeline_message:not(.continuation){margin-top:4px}.ReplyPreviewView .Timeline_message{display:grid;grid-template:"body" auto;margin-left:0;padding:0}.ReplyPreviewView .Timeline_message:not(.continuation){margin-top:0}@media screen and (max-width: 800px){.Timeline_message{grid-template:"avatar sender" auto "body body" 1fr "time time" auto "reactions reactions" auto / 30px 1fr}.Timeline_messageSender{margin-top:0!important;align-self:center}}.Timeline_message:hover:not(.disabled),.Timeline_message.selected,.Timeline_message.menuOpen{background-color:#8d97a51a;border-radius:4px}.Timeline_message:hover>.Timeline_messageOptions,.Timeline_message.menuOpen>.Timeline_messageOptions{display:block;user-select:none}.Timeline_messageAvatar{grid-area:avatar;text-decoration:none}.Timeline_messageSender{grid-area:sender;font-weight:700;line-height:1.7rem}.Timeline_messageSender,.Timeline_messageBody{margin:0;word-break:break-all;word-break:break-word}.Timeline_message:not(.continuation) .Timeline_messageSender,.Timeline_message:not(.continuation) .Timeline_messageBody{margin-top:4px}.Timeline_messageOptions{display:none;grid-area:body;align-self:start;justify-self:end;margin-top:-12px;margin-right:4px;border:var(--background-color-primary--darker-10) 1px solid;height:24px;width:24px;background-color:var(--background-color-primary);color:inherit;border-radius:4px;padding:0;text-align:center;line-height:22px;cursor:pointer}.Timeline_messageTime{grid-area:time}.Timeline_messageBody time{padding:2px 0 0 10px;user-select:none}.Timeline_messageBody time,.Timeline_messageTime{font-size:.8em;line-height:normal;color:var(--timeline-time-text-color)}.Timeline_messageBody.statusMessage{font-style:italic;color:var(--light-text-color)}.Timeline_messageBody{grid-area:body;line-height:2.2rem;width:100%;min-width:0}.hydrogen .Timeline_messageSender.usercolor1{color:var(--usercolor1)}.hydrogen .Timeline_messageSender.usercolor2{color:var(--usercolor2)}.hydrogen .Timeline_messageSender.usercolor3{color:var(--usercolor3)}.hydrogen .Timeline_messageSender.usercolor4{color:var(--usercolor4)}.hydrogen .Timeline_messageSender.usercolor5{color:var(--usercolor5)}.hydrogen .Timeline_messageSender.usercolor6{color:var(--usercolor6)}.hydrogen .Timeline_messageSender.usercolor7{color:var(--usercolor7)}.hydrogen .Timeline_messageSender.usercolor8{color:var(--usercolor8)}.Timeline_messageBody h1,.Timeline_messageBody h2,.Timeline_messageBody h3,.Timeline_messageBody h4,.Timeline_messageBody h5,.Timeline_messageBody h6{font-weight:700;margin:.7em 0}.Timeline_messageBody h1{font-size:1.6em}.Timeline_messageBody h2{font-size:1.5em}.Timeline_messageBody h3{font-size:1.4em}.Timeline_messageBody h4{font-size:1.3em}.Timeline_messageBody h5{font-size:1.2em}.Timeline_messageBody h6{font-size:1.1em}.Timeline_messageBody a{word-break:break-all}.Timeline_messageBody a.link{color:var(--link-color);text-decoration:none}.Timeline_messageBody .media{display:grid;margin-top:4px;width:100%}.Timeline_messageBody .media>a{text-decoration:none;width:100%;display:block}.Timeline_messageBody .media>*{grid-row:1;grid-column:1}.Timeline_messageBody .media img,.Timeline_messageBody .media video{width:100%;height:auto;align-self:start;border-radius:4px;display:block}.hydrogen:not(.legacy) .Timeline_messageBody .media img,.hydrogen:not(.legacy) .Timeline_messageBody .media video{align-self:stretch}.Timeline_messageBody .media>.status{align-self:end;justify-self:start;font-size:.8em}.Timeline_messageBody .media>progress{align-self:center;justify-self:center;width:75%}.Timeline_messageBody .media>time{align-self:end;justify-self:end}.Timeline_messageBody .media>time,.Timeline_messageBody .media>.status{color:var(--text-color);display:block;padding:2px;margin:4px;background-color:#ffffffbf;border-radius:4px}.Timeline_messageBody .media>.spacer{width:100%;align-self:start}.Timeline_messageBody code,.Timeline_messageBody pre{background-color:var(--background-color-secondary);font-family:monospace;font-size:.9em}.Timeline_messageBody code{border-radius:3px;padding:.2em .3em;margin:0}.Timeline_messageBody pre{border:1px solid var(--light-border);padding:.5em;max-height:30em;overflow:auto}.Timeline_messageBody pre>code{background-color:unset;border-radius:unset;display:block;font-size:unset}.Timeline_messageBody blockquote{margin-left:0;padding-left:20px;border-left:4px solid var(--light-border)}.Timeline_messageBody table{border:1px solid var(--background-color-secondary--darker-15);border-radius:2px;border-spacing:0}.Timeline_messageBody thead th{border-bottom:1px solid var(--background-color-secondary--darker-15)}.Timeline_messageBody td,.Timeline_messageBody th{padding:2px 5px}.Timeline_messageBody tbody tr:nth-child(2n){background-color:var(--background-color-secondary)}.Timeline_messageBody .pill{padding:0 5px;border-radius:15px;background-color:var(--background-color-secondary);border:1px solid var(--background-color-secondary--darker-10);text-decoration:none;display:inline-flex;align-items:center;line-height:2rem;vertical-align:top;margin:1px}.Timeline_messageBody .pill div.avatar{display:inline-block;margin-right:3px}.Timeline_message.unsent .Timeline_messageBody{color:var(--light-text-color)}.Timeline_message.unverified .Timeline_messageBody{color:var(--error-color)}.Timeline_messageReactions{grid-area:reactions;margin-top:6px}.Timeline_messageReactions button{display:inline-flex;line-height:2rem;margin-right:6px;padding:1px 6px;border:1px solid var(--light-border);border-radius:10px;background-color:var(--background-color-secondary);color:inherit;cursor:pointer;user-select:none;vertical-align:middle}.Timeline_messageReactions button.active{background-color:var(--background-color-secondary);border-color:var(--accent-color)}@keyframes glow-reaction-border{0%{border-color:var(--background-color-secondary)}to{border-color:var(--accent-color)}}.Timeline_messageReactions button.active.pending{animation-name:glow-reaction-border;animation-duration:.5s;animation-direction:alternate;animation-iteration-count:infinite;animation-timing-function:linear}.Timeline_locationLink{padding:0 8px;border-radius:16px;border:1px solid var(--light-border);background-color:var(--background-color-secondary);text-decoration:none;display:inline-block;line-height:2rem;vertical-align:top;margin:1px 4px}.AnnouncementView{margin:5px 0;padding:5px 10%}.AnnouncementView>div{margin:0 auto;padding:10px 20px;background-color:var(--background-color-secondary);text-align:center;border-radius:10px}.GapView>:not(:first-child){margin-left:12px}.GapView{padding:52px 20px}.GapView.isAtTop{padding:52px 20px 12px}:root{font-size:10px;--icon-color: var(--background-color-secondary--darker-40);--light-border: var(--background-color-secondary--darker-5);--light-text-color: var(--background-color-secondary--darker-55);--timeline-time-text-color: var(--background-color-secondary--darker-35);--icon-background: var(--background-color-secondary--darker-7);--right-panel-text-color: var(--background-color-secondary--darker-35)}.hydrogen{font-family:Inter,sans-serif,"emoji";background-color:var(--background-color-primary);color:var(--text-color);font-size:1.4rem;--usercolor1: #368BD6;--usercolor2: #AC3BA8;--usercolor3: #03B381;--usercolor4: #E64F7A;--usercolor5: #FF812D;--usercolor6: #2DC2C5;--usercolor7: #5C56F5;--usercolor8: #74D12C}.hydrogen button{font-family:inherit}.avatar{border-radius:100%;background:var(--background-color-primary);color:var(--fixed-white)}.hydrogen .avatar.usercolor1{background-color:var(--usercolor1)}.hydrogen .avatar.usercolor2{background-color:var(--usercolor2)}.hydrogen .avatar.usercolor3{background-color:var(--usercolor3)}.hydrogen .avatar.usercolor4{background-color:var(--usercolor4)}.hydrogen .avatar.usercolor5{background-color:var(--usercolor5)}.hydrogen .avatar.usercolor6{background-color:var(--usercolor6)}.hydrogen .avatar.usercolor7{background-color:var(--usercolor7)}.hydrogen .avatar.usercolor8{background-color:var(--usercolor8)}.logo{height:48px;min-width:48px;background-image:var(--icon-url-1);background-repeat:no-repeat;background-position:center}.button-row{display:flex}.button-row>*{margin-right:10px}.button-row>*:last-child{margin-right:0}.button-row .button-action{margin:10px 0;flex:1 0 auto}.form-row.text textarea{font-family:Inter,sans-serif;background-color:var(--background-color-secondary);color:inherit}.form-group{margin:24px 0}.form-row{margin:12px 0}.form-row.text>input,.form-row.text>textarea{padding:12px;border:1px solid var(--light-border);border-radius:8px;margin-top:5px;font-size:1em;resize:vertical;background-color:var(--background-color-secondary);color:inherit}.form-row.check{display:flex;align-items:baseline;gap:4px}.form-row.text>label,.form-row.text>input{display:block}.form-row .form-row-description{font-size:1rem;color:var(--light-text-color);margin:8px 0 0}.button-action{cursor:pointer}a.button-action{text-decoration:none;text-align:center;display:block}.button-action.secondary{color:var(--accent-color)}.button-action.primary{background-color:var(--accent-color);border-radius:8px;color:var(--fixed-white);font-weight:700}.button-action.primary:disabled{color:var(--fixed-white--darker-10)}.button-action.primary.destructive{background-color:var(--error-color)}.button-action.secondary.destructive{color:var(--error-color)}.button-action{border:none;padding:10px;background:none;font-weight:500}.button-utility{cursor:pointer;width:32px;height:32px;background-position:center;background-color:var(--icon-background);background-repeat:no-repeat;border:none;border-radius:100%;display:block}.button-utility.grid{background-image:var(--icon-url-2)}.button-utility.settings{background-image:var(--icon-url-3)}.button-utility.create{background-image:var(--icon-url-4)}.button-utility.grid.on{background-image:var(--icon-url-5)}.FilterField{background-image:var(--icon-url-6);background-repeat:no-repeat;background-position:8px center;background-color:var(--icon-background);border:1px solid transparent;border-radius:16px;height:32px;align-items:center;padding-left:30px;box-sizing:border-box}.FilterField:focus-within{border:1px var(--icon-background) solid;background-color:var(--background-color-primary)}.FilterField:focus-within button{border-color:var(--background-color-primary)}.FilterField input{font-family:Inter;font-size:1.3rem;font-weight:500;line-height:1.573rem;outline:none;border:none;background-color:transparent;height:100%;color:var(--text-color)}.FilterField button{width:30px;height:30px;background-position:center;background-color:var(--icon-background);background-repeat:no-repeat;background-image:var(--icon-url-7);border:7px solid transparent;border-radius:100%;box-sizing:border-box}.PreSessionScreen{padding:30px}.PreSessionScreen h1{font-size:16px;text-align:center}.SessionLoadView{padding-top:16px}.StartSSOLoginView_button{border:1px solid var(--accent-color);border-radius:8px}.LoginView_back{background-image:var(--icon-url-8);background-color:transparent}.LoginView_separator{font-weight:500;font-size:1.5rem}.LoginView_forwardInfo{font-size:.9em;margin-left:1em;color:var(--light-text-color)}.CompleteSSOView_title{font-weight:500}@media screen and (min-width: 600px){.PreSessionScreen{box-shadow:0 6px 32px #0000001a;border-radius:8px}}.PreSessionScreen .logo{height:48px;min-width:48px}.LeftPanel{background:var(--background-color-secondary);font-size:1.5rem;padding:12px 8px 0}.LeftPanel>:not(:first-child){margin-top:12px}.LeftPanel .utilities>:not(:first-child){margin-left:8px}.LeftPanel .filter{border-bottom:1px solid var(--background-color-secondary)}.LeftPanel .filter input{padding:.8em;border:none}.LeftPanel .RoomList{padding:0 8px 0 0;margin-right:-8px}.RoomList>li{margin:0;padding:4px 8px 4px 0;align-items:center}.RoomList>li>a{text-decoration:none;align-items:center}.RoomList li:not(:first-child){margin-top:4px}.RoomList li.active{background:var(--background-color-secondary--darker-7);border-radius:5px}.RoomList li>a>*{margin-right:8px}.RoomList .description{align-items:center}.RoomList .name.unread{font-weight:600}.RoomList .badge{min-width:1.6rem;height:1.6rem;border-radius:1.6rem;box-sizing:border-box;padding:.1rem .3rem;background-color:var(--room-badge);color:var(--fixed-white);font-weight:700;font-size:1rem;line-height:1.4rem;text-align:center}.RoomList .badge.highlighted{background-color:var(--error-color)}a{color:inherit}.SessionStatusView{padding:4px;min-height:22px;background-color:var(--accent-color);color:var(--fixed-white);align-items:center}.SessionStatusView button.link{color:currentcolor;text-align:left}.SessionStatusView>.end{flex:1 1;display:flex;justify-content:flex-end;align-self:stretch;align-items:stretch}.SessionStatusView .dismiss{border:none;background:none;background-image:var(--icon-url-9);background-position:center;background-repeat:no-repeat;width:32px;cursor:pointer}.room-placeholder{align-items:center;justify-content:center;text-align:center;padding:20px}.SessionPickerView li{font-size:1.2em}.SessionPickerView .session-info{text-decoration:none;padding:12px;border:1px solid var(--light-border);border-radius:8px;background-image:var(--icon-url-10);background-position:center right 30px;background-repeat:no-repeat;font-weight:500}.SessionPickerView .session-actions{margin:10px 0 20px;display:flex}.SessionPickerView .session-actions>*{margin-right:10px}.SessionPickerView .session-actions>*:last-child{margin-right:0}.SessionPickerView .session-actions button{border:none;background:none;color:inherit}.SessionPickerView button.destructive{color:var(--error-color)}.RoomGridView>div.container{border-right:1px solid var(--background-color-secondary);border-bottom:1px solid var(--background-color-secondary)}.RoomGridView>.focused>.room-placeholder .unfocused{display:none}.RoomGridView>:not(.focused)>.room-placeholder .focused{display:none}.room-placeholder .unfocused{color:var(--right-panel-text-color)}.RoomGridView>div.focus-ring{border:2px solid var(--accent-color--darker-5);border-radius:12px}.middle-header{box-sizing:border-box;flex:0 0 56px;background:var(--background-color-primary);padding:0 16px;border-bottom:1px solid var(--background-color-secondary)}.middle-header h2{font-size:1.8rem;font-weight:600}.middle-header>:not(:last-child){margin-right:8px}.close-middle,.close-session{background-image:var(--icon-url-11);background-position-x:10px}.RoomHeader .topic{font-size:14rem}.RoomHeader .room-options{background-image:var(--icon-url-12)}.RoomView_error{color:var(--error-color);background:#efefef;height:0px;font-weight:700;transition:.25s all ease-out;padding-right:20px;padding-left:20px}.RoomView_error div{overflow:hidden;height:100%;width:100%;position:relative;display:flex;align-items:center}.RoomView_error:not(:empty){height:auto;padding-top:20px;padding-bottom:20px}.RoomView_error p{position:relative;display:block;width:100%;height:auto;margin:0}.RoomView_error button{width:40px;padding-top:20px;padding-bottom:20px;background:none;border:none;position:relative;border-radius:5px;transition:.1s all ease-out;cursor:pointer}.RoomView_error button:hover{background:#cfcfcf}.RoomView_error button:before{content:"\274c";position:absolute;top:15px;left:9px;width:20px;height:10px;font-size:10px;align-self:middle}.MessageComposer_replyPreview .Timeline_message{margin:5px 0 0;max-height:30vh;overflow:auto}.MessageComposer_replyPreview{background:var(--background-color-secondary);margin:0 10px 10px;box-shadow:0 0 5px var(--background-color-secondary--darker-15);border-radius:5px}.MessageComposer_input,.MessageComposer_replyPreview{padding:8px}.MessageComposer_replyPreview>.replying{display:inline-flex;flex-direction:row;align-items:center;font-weight:700}.MessageComposer_replyPreview>button.cancel{width:32px;height:32px;display:block;border:none;text-indent:200%;white-space:nowrap;overflow:hidden;background-color:transparent;background-image:var(--icon-url-13);background-repeat:no-repeat;background-position:center;background-size:18px;cursor:pointer}.MessageComposer_input:first-child{border-top:1px solid var(--background-color-secondary)}.MessageComposer_input>:not(:first-child){margin-left:12px}.MessageComposer_input>textarea{border:none;border-radius:24px;background:var(--background-color-secondary);color:inherit;font-size:14px;font-family:Inter,sans-serif;resize:none;flex:1 1;padding:14px;box-sizing:border-box;overflow:hidden;max-height:113px;overflow-y:auto;overflow-y:overlay}.MessageComposer_input>button.send{width:32px;height:32px;display:block;border-radius:100%;border:none;text-indent:200%;overflow:hidden;background-color:var(--accent-color);background-image:var(--icon-url-14);background-repeat:no-repeat;background-position:center;align-self:end;margin-bottom:8px}.MessageComposer_input>button.sendFile{width:32px;height:32px;display:block;border:none;text-indent:200%;white-space:nowrap;overflow:hidden;background-color:transparent;background-image:var(--icon-url-15);background-repeat:no-repeat;background-position:center}.MessageComposer.MessageComposer_canSend button.sendFile{display:none}.MessageComposer:not(.MessageComposer_canSend) button.send{display:none}.SettingsBody{padding:0 16px}.Settings h3{margin:16px 0 8px}.Settings p{max-width:700px}.Settings .row .label{font-weight:600}.Settings .row .label,.Settings .row .content{margin-top:4px;margin-bottom:4px}.Settings .row .content{margin-left:4px;flex:1 1}.Settings .row.code .content{font-family:monospace}.Settings .row .content button{display:inline-block;margin:0 8px}.Settings .row .content input[type=range]{width:100%;max-width:300px;min-width:160px}.Settings .row{margin:4px 0;display:flex;flex-wrap:wrap;align-items:center}.Settings .row .label{flex:0 0 200px;align-self:flex-start}.Settings .row .content p{margin:8px 0}.Settings .row .content p:first-child{margin-top:0}.Settings .row .content p:last-child{margin-bottom:0}.error{color:var(--error-color);font-weight:600}button.link{font-size:1em;border:none;text-decoration:underline;background:none;cursor:pointer;margin:-12px;padding:12px;color:inherit}.Settings a,.Settings .link{color:var(--accent-color);font-weight:600}.lightbox{background-color:#000000bf;display:grid;grid-template:"content close" auto "content details" 1fr / 1fr auto;color:var(--background-color-primary);padding:4px}@media (max-aspect-ratio: 1/1){.lightbox{grid-template:"close" auto "content" 1fr "details" auto / 1fr}.lightbox .details{width:100%!important}}.lightbox .picture{grid-area:content;background-size:contain;background-position:center;background-repeat:no-repeat;width:100%;height:100%;align-self:center;justify-self:center}.lightbox .loading{grid-area:content;align-self:center;justify-self:center;display:flex}.lightbox .loading>:not(:first-child){margin-left:8px}.lightbox .close{display:block;grid-area:close;justify-self:end;background-image:var(--icon-url-16);background-position:center;background-size:16px;background-repeat:no-repeat;width:16px;height:16px;padding:12px}.lightbox .details{grid-area:details;padding:12px;font-size:1.5rem;width:200px}.menu{border-radius:8px;box-shadow:2px 2px 10px #00000080;padding:4px;background-color:var(--background-color-primary);list-style:none;margin:0}.menu li{margin-bottom:10px}.menu .menu-item{color:var(--text-color)}.menu button{border-radius:4px;border:none;background-color:transparent;text-align:left;padding:8px 32px 8px 8px;font-size:1.5rem;height:24px;cursor:pointer}.menu .destructive button{color:var(--error-color)}.menu .quick-reactions{display:flex;padding:8px 32px 8px 8px}.menu .quick-reactions button{padding:2px 4px;text-align:center}.InviteView_body{display:flex;justify-content:space-around;align-items:center;flex:1 1;overflow:auto}.InviteView_invite{display:flex;width:100%;max-width:400px;flex-direction:column;padding:0 24px}.InviteView_roomProfile{display:grid;gap:4px;grid-template:"avatar name" auto "avatar description" 1fr / 72px 1fr;align-self:center;margin-bottom:24px}.InviteView_roomProfile h3{grid-area:name;margin:0}.InviteView_roomDescription{grid-area:description;font-size:1.2rem;margin:0;color:var(--light-text-color)}.InviteView_roomAvatar{grid-area:avatar}.InviteView_dmAvatar{align-self:center}.InviteView_inviter{text-align:center;margin:24px 0}.InviteView_inviter .avatar{display:inline-block;vertical-align:middle;margin-right:4px}.InviteView_buttonRow{margin:10px auto;max-width:200px;width:100%}.InviteView_buttonRow button{display:block;width:100%}.DisabledComposerView{padding:12px;background-color:var(--background-color-secondary)}.DisabledComposerView h3{margin:0}.UnknownRoomView{align-items:center;justify-content:center;text-align:center;padding:16px;box-sizing:border-box}.UnknownRoomView h2{word-break:break-all;word-break:break-word}.UnknownRoomView button{max-width:200px;width:100%}.LoadingView{height:100%;width:100%}.LoadingView .spinner{margin-right:5px}.RightPanelView{background:var(--background-color-secondary)}.RoomDetailsView{padding:0 16px 16px}.RoomDetailsView_id,.MemberDetailsView_id{color:var(--right-panel-text-color);font-size:12px}.RoomDetailsView_rows{margin-top:36px;width:100%}.RoomDetailsView_name h2,.MemberDetailsView_name h2{margin-bottom:4px;font-size:1.8rem}.RoomDetailsView_row{margin-bottom:20px;font-weight:500;font-size:15px;width:100%;background:none;border:none;padding:0}button.RoomDetailsView_row{cursor:pointer}button.RoomDetailsView_row:after{content:var(--icon-url-17);margin-left:12px}.RoomDetailsView_row:not(button):after{content:" ";width:19px}.RoomDetailsView_label:before{padding-right:16px;height:24px;width:20px}.RoomDetailsView_label{width:200px}.RoomDetailsView_value{color:var(--right-panel-text-color);flex:1 1}.MemberCount:before{content:var(--icon-url-18)}.EncryptionStatus:before{content:var(--icon-url-19)}.EncryptionIconView{width:52px;height:52px;border-radius:100%;background:var(--right-panel-text-color);border:3px solid var(--background-color-secondary);margin-left:-16px}.EncryptionIconView_encrypted,.EncryptionIconView_unencrypted{height:24px;width:24px}.EncryptionIconView_encrypted{content:var(--icon-url-20)}.EncryptionIconView_unencrypted{content:var(--icon-url-21)}.RightPanelView_buttons .button-utility{width:24px;height:24px}.RightPanelView_buttons .close{background-image:var(--icon-url-22)}.RightPanelView_buttons .back{background-image:var(--icon-url-23)}.MemberListView{padding-left:16px;padding-right:16px;margin:0}.MemberTileView{margin-bottom:8px;list-style:none}.MemberTileView a{text-decoration:none}.MemberTileView .avatar{margin-right:8px}.MemberTileView_name{text-overflow:ellipsis;overflow:hidden;white-space:nowrap;flex:1 1}.MemberDetailsView_section{box-sizing:border-box;padding:16px;width:100%}.MemberDetailsView_label{font-size:12px;font-weight:600;color:var(--right-panel-text-color);text-transform:uppercase}.MemberDetailsView_value,.MemberDetailsView_options{margin-left:8px;margin-top:5px;font-size:12px}.MemberDetailsView_options{display:inline-flex;flex-direction:column}.MemberDetailsView_options a,.MemberDetailsView_options button{color:var(--accent-color);text-decoration:none;margin:0 0 3px;padding:0;border:none;background:none;cursor:pointer}.LazyListParent{overflow-y:auto}.LogoutScreen{height:100vh}.LogoutScreen .content{height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center}.LogoutScreen .status{display:flex;gap:12px}.CreateRoomView,.RoomBeingCreated_error{max-width:400px}.RoomBeingCreated_error{margin-top:48px}.centered-column{padding:0 12px;align-self:center;width:100%;box-sizing:border-box}.CreateRoomView_selectAvatar{border:none;background:none;cursor:pointer}.CreateRoomView_selectAvatarPlaceholder{width:64px;height:64px;border-radius:100%;background-color:var(--icon-background);background-image:var(--icon-url-24);background-repeat:no-repeat;background-position:center;background-size:36px} diff --git a/assets/theme-element.json b/assets/theme-element.json new file mode 100644 index 00000000..24c0d793 --- /dev/null +++ b/assets/theme-element.json @@ -0,0 +1 @@ +{"version":1,"name":"Element","id":"element","values":{"variants":{"light":{"base":true,"default":true,"name":"Light","variables":{"background-color-primary":"#fff","background-color-secondary":"#f6f6f6","text-color":"#2E2F32","accent-color":"#03b381","error-color":"#FF4B55","fixed-white":"#fff","room-badge":"#61708b","link-color":"#238cf5"}},"dark":{"dark":true,"default":true,"name":"Dark","variables":{"background-color-primary":"#21262b","background-color-secondary":"#2D3239","text-color":"#fff","accent-color":"#03B381","error-color":"#FF4B55","fixed-white":"#fff","room-badge":"#61708b","link-color":"#238cf5"}}}},"source":{"built-assets":{"element-light":"theme-element-light.0779c91e.css","element-dark":"theme-element-dark.4718033a.css"},"runtime-asset":"theme-element-runtime.8f0a458e.css","derived-variables":["background-color-secondary--darker-7","background-color-primary--darker-10","background-color-secondary--darker-15","background-color-secondary--darker-10","background-color-secondary--darker-40","background-color-secondary--darker-5","background-color-secondary--darker-55","background-color-secondary--darker-35","fixed-white--darker-10","accent-color--darker-5","icon-color=background-color-secondary--darker-40","light-border=background-color-secondary--darker-5","light-text-color=background-color-secondary--darker-55","timeline-time-text-color=background-color-secondary--darker-35","icon-background=background-color-secondary--darker-7","right-panel-text-color=background-color-secondary--darker-35"],"icon":{"icon-url-0":"chevron-down.9a7440b9.svg?primary=icon-color","icon-url-1":"element-logo.86bc8565.svg?primary=accent-color","icon-url-2":"enable-grid.eef43c65.svg?primary=icon-color","icon-url-3":"settings.45b8e09f.svg?primary=icon-color","icon-url-4":"plus.49560f96.svg?primary=icon-color","icon-url-5":"disable-grid.371ceaaa.svg?primary=icon-color","icon-url-6":"search.21e0fd39.svg?primary=icon-color","icon-url-7":"clear.0d180c33.svg?primary=icon-color","icon-url-8":"chevron-left.b8b2c5fc.svg?primary=icon-color","icon-url-9":"clear.0d180c33.svg?primary=background-color-primary","icon-url-10":"chevron-right.885731d1.svg?primary=icon-color","icon-url-11":"chevron-left.b8b2c5fc.svg?primary=icon-color","icon-url-12":"vertical-ellipsis.70ab5d25.svg?primary=icon-color","icon-url-13":"clear.0d180c33.svg?primary=icon-color","icon-url-14":"send.7a090949.svg?primary=background-color-primary","icon-url-15":"paperclip.ec29fd9d.svg?primary=icon-color","icon-url-16":"clear.0d180c33.svg?primary=fixed-white","icon-url-17":"chevron-small.dfd7e618.svg?primary=icon-color","icon-url-18":"room-members.35ed0bf9.svg?primary=icon-color","icon-url-19":"encryption-status.8054183e.svg?primary=icon-color","icon-url-20":"e2ee-normal.bef76bd4.svg?primary=fixed-white","icon-url-21":"e2ee-disabled.8507165d.svg?primary=fixed-white","icon-url-22":"clear.0d180c33.svg?primary=icon-color","icon-url-23":"chevron-thin-left.d111869b.svg?primary=icon-color","icon-url-24":"plus.49560f96.svg?primary=icon-color"}}} \ No newline at end of file diff --git a/assets/vertical-ellipsis-3416547705.f619a721.svg b/assets/vertical-ellipsis-3416547705.f619a721.svg new file mode 100644 index 00000000..44c362b1 --- /dev/null +++ b/assets/vertical-ellipsis-3416547705.f619a721.svg @@ -0,0 +1,3 @@ + + + diff --git a/assets/vertical-ellipsis-487061581.e7709afd.svg b/assets/vertical-ellipsis-487061581.e7709afd.svg new file mode 100644 index 00000000..eb1641d9 --- /dev/null +++ b/assets/vertical-ellipsis-487061581.e7709afd.svg @@ -0,0 +1,3 @@ + + + diff --git a/assets/vertical-ellipsis.70ab5d25.svg b/assets/vertical-ellipsis.70ab5d25.svg new file mode 100644 index 00000000..1d5dd9ea --- /dev/null +++ b/assets/vertical-ellipsis.70ab5d25.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/config.json b/config.json new file mode 100644 index 00000000..c4ef1ccc --- /dev/null +++ b/config.json @@ -0,0 +1,16 @@ +{ + "push": { + "appId": "io.element.hydrogen.web", + "gatewayUrl": "https://matrix.org", + "applicationServerKey": "BC-gpSdVHEXhvHSHS0AzzWrQoukv2BE7KzpoPO_FfPacqOo3l1pdqz7rSgmB04pZCWaHPz7XRe6fjLaC-WPDopM" + }, + "defaultHomeServer": "matrix.org", + "bugReportEndpointUrl": "https://element.io/bugreports/submit", + "themeManifests": [ + "assets/theme-element.json" + ], + "defaultTheme": { + "light": "element-light", + "dark": "element-dark" + } +} \ No newline at end of file diff --git a/index.html b/index.html new file mode 100644 index 00000000..bed565dd --- /dev/null +++ b/index.html @@ -0,0 +1,24 @@ + + + + + + + + Hydrogen Chat + + + + + + + + + + + + + + + + diff --git a/sw.js b/sw.js new file mode 100644 index 00000000..f644828d --- /dev/null +++ b/sw.js @@ -0,0 +1,2 @@ +var T="./assets/icon.2a39c64c.png";const A=["config.json","assets/theme-element.json","index.html"],R=["assets/icon.2a39c64c.png","assets/icon-maskable.965d12c4.png","assets/download-sandbox.48a866e9.html","assets/olm.92f1ccd0.js","assets/olm.b3e0f9b4.wasm","assets/chevron-down-1956489915.3389f17f.svg","assets/element-logo-1551909733.1d59f06a.svg","assets/settings-878939771.57cf3680.svg","assets/plus-3937109722.5c243914.svg","assets/disable-grid-4240599831.c8dc25a1.svg","assets/enable-grid-2288309723.f83895c8.svg","assets/clear-4137897294.7b90e8df.svg","assets/search-261439583.1bffaca1.svg","assets/chevron-right-2390431650.ec9bf561.svg","assets/chevron-left-2611498805.b5555a61.svg","assets/send-3413346515.b0fb8626.svg","assets/dismiss-2743697487.2f1a17f1.svg","assets/chevron-small-4098047679.489e66cc.svg","assets/paperclip-3961996319.da562307.svg","assets/encryption-status-3449529405.c200a9bb.svg","assets/room-members-3084360280.6f64aaef.svg","assets/e2ee-normal-1448349558.af8f5484.svg","assets/vertical-ellipsis-487061581.e7709afd.svg","assets/e2ee-disabled-1470792300.6863c16d.svg","assets/chevron-thin-left-3078630092.d0d143e3.svg","assets/dismiss-2476348673.d0f98560.svg","assets/chevron-down-3300400168.d1a083a1.svg","assets/element-logo-703176763.fc54fc8d.svg","assets/enable-grid-2071838379.ab4f40c5.svg","assets/settings-2175246113.00804666.svg","assets/plus-4190356069.084c5e3d.svg","assets/disable-grid-3304422220.8a79cfcb.svg","assets/search-3263540198.1511780c.svg","assets/clear-426756705.361f7a30.svg","assets/chevron-left-3506338632.4e437777.svg","assets/chevron-right-847198822.23380c56.svg","assets/vertical-ellipsis-3416547705.f619a721.svg","assets/send-1171052351.caa5c494.svg","assets/paperclip-2441131778.1f5e29f3.svg","assets/chevron-small-781914114.936b4943.svg","assets/room-members-3847743605.9fcf4567.svg","assets/encryption-status-475927392.2fedc0bd.svg","assets/chevron-thin-left-3831175135.13f60c05.svg","assets/index.ca5690cf.js","assets/theme-element-light.0779c91e.css","assets/theme-element-runtime.8f0a458e.css","assets/theme-element-dark.4718033a.css","assets/chevron-down.9a7440b9.svg","assets/element-logo.86bc8565.svg","assets/enable-grid.eef43c65.svg","assets/settings.45b8e09f.svg","assets/plus.49560f96.svg","assets/disable-grid.371ceaaa.svg","assets/search.21e0fd39.svg","assets/clear.0d180c33.svg","assets/chevron-left.b8b2c5fc.svg","assets/chevron-right.885731d1.svg","assets/vertical-ellipsis.70ab5d25.svg","assets/send.7a090949.svg","assets/paperclip.ec29fd9d.svg","assets/chevron-small.dfd7e618.svg","assets/room-members.35ed0bf9.svg","assets/encryption-status.8054183e.svg","assets/e2ee-normal.bef76bd4.svg","assets/e2ee-disabled.8507165d.svg","assets/chevron-thin-left.d111869b.svg"],_=["assets/main.bdb9a925.js","assets/olm_legacy.9dc48f49.js","assets/Inter-Thin.5d8e2ac4.woff2","assets/Inter-ExtraLight.da47c335.woff2","assets/Inter-ThinItalic.6b3ded18.woff2","assets/Inter-ExtraLightItalic.b3f94cfe.woff2","assets/Inter-LightItalic.125c7e6a.woff2","assets/Inter-Light.0f7dfe72.woff2","assets/Inter-Italic.bab4e808.woff2","assets/Inter-Medium.5d308f3d.woff2","assets/Inter-Regular.89d406b0.woff2","assets/Inter-MediumItalic.76551c20.woff2","assets/Inter-SemiBold.c7c3befe.woff2","assets/Inter-SemiBoldItalic.d376ade4.woff2","assets/Inter-ExtraBold.0ef4267e.woff2","assets/Inter-Bold.6f5e9a23.woff2","assets/Inter-BoldItalic.e09dcbe1.woff2","assets/Inter-Black.7f1f5616.woff2","assets/Inter-ExtraBoldItalic.d1e1f6a0.woff2","assets/Inter-BlackItalic.72d5983b.woff2","assets/Inter-Thin.5565b01e.woff","assets/Inter-ExtraLight.d7be68a4.woff","assets/Inter-ThinItalic.c413497b.woff","assets/Inter-Light.38326098.woff","assets/Inter-LightItalic.ec6c76a8.woff","assets/Inter-ExtraLightItalic.762fa4d2.woff","assets/Inter-Medium.0fc5d904.woff","assets/Inter-Italic.7b187d57.woff","assets/Inter-Regular.5b3a854b.woff","assets/Inter-MediumItalic.1458af9d.woff","assets/Inter-ExtraBold.45bae435.woff","assets/Inter-SemiBoldItalic.420db54a.woff","assets/Inter-SemiBold.04cd699f.woff","assets/Inter-Bold.20d46cff.woff","assets/Inter-Black.067c82f7.woff","assets/Inter-ExtraBoldItalic.30a1af87.woff","assets/Inter-BlackItalic.c628a2cf.woff","assets/Inter-BoldItalic.31a185fa.woff","assets/manifest.56e72e88.json"],m=`hydrogen-assets-${"2832467534"}`,l="hydrogen-assets",y="hydrogen-media-thumbnails-v2";self.addEventListener("install",function(e){e.waitUntil((async()=>{await(await caches.open(m)).addAll(A);const a=await caches.open(l);await Promise.all(R.map(async n=>{await a.match(n)||await a.add(n)}))})())});self.addEventListener("activate",e=>{self.clients.claim(),e.waitUntil(k())});async function k(){const e=await caches.keys();for(const s of e)s!==m&&s!==l&&s!==y&&await caches.delete(s);const t=await caches.open(l),a=await t.keys(),n=R.concat(_).map(s=>new URL(s,self.registration.scope).href);for(const s of a)n.some(o=>o===s.url)||t.delete(s)}self.addEventListener("fetch",e=>{e.request.method==="GET"&&e.respondWith(I(e.request))});function E(e){if(e.pathname.startsWith("/_matrix/media/r0/thumbnail/")){const t=parseInt(e.searchParams.get("width"),10),a=parseInt(e.searchParams.get("height"),10);if(t<=50&&a<=50)return!0}return!1}const f=new URL(self.registration.scope);let d=new AbortController;async function I(e){try{if(e.url.includes("config.json")||/theme-.+\.json/.test(e.url))return D(e);const t=new URL(e.url);t.origin===f.origin&&t.pathname===f.pathname&&(e=new Request(new URL("index.html",f.href)));let a=await N(e);return a||(E(t)?a=await fetch(e,{signal:d.signal,mode:"cors",credentials:"omit"}):a=await fetch(e,{signal:d.signal}),await H(e,a)),a}catch(t){throw t.name!=="TypeError"&&t.name!=="AbortError"&&console.error("error in service worker",t),t}}async function D(e){let t=await N(e);const a=O(e);return t||await a}async function O(e){const t=await fetch(e,{signal:d.signal,headers:{"Cache-Control":"no-cache"}});return H(e,t.clone()),t}async function H(e,t){if(t.status>=400)return;const a=new URL(e.url),n=self.registration.scope;if(E(a))(await caches.open(y)).put(e,t.clone());else if(e.url.startsWith(n)){let s=e.url.substr(n.length),o;_.includes(s)?o=l:A.includes(s)&&(o=m),o&&await(await caches.open(o)).put(e,t.clone())}}async function N(e){let a=await(await caches.open(m)).match(e);if(a||(a=await(await caches.open(l)).match(e),a))return a;const s=new URL(e.url);if(E(s)){const o=await caches.open(y);a=await o.match(e),(a==null?void 0:a.status)>=400&&(await o.delete(e),a=null)}return a}self.addEventListener("message",e=>{var n;const t=s=>e.source.postMessage({replyTo:e.data.id,payload:s}),{replyTo:a}=e.data;if(a){const s=g.get(a);s&&(g.delete(a),s(e.data.payload))}else switch((n=e.data)==null?void 0:n.type){case"version":t({version:"0.3.1",buildHash:"2832467534"});break;case"skipWaiting":self.skipWaiting();break;case"haltRequests":e.waitUntil(M().finally(()=>t()));break;case"closeSession":e.waitUntil(W(e.data.payload.sessionId,e.source.id).finally(()=>t()));break}});const p="new_message";async function F(e){if(e.notification.tag!==p){console.log("clicked notif with tag",e.notification.tag);return}const{sessionId:t,roomId:a}=e.notification.data,s=`${`#/session/${t}`}/room/${a}`,o=await b(async i=>await w(i,"hasSessionOpen",{sessionId:t}));if(o){if(console.log("notificationclick: client has session open, showing room there"),o.postMessage({type:"openRoom",payload:{roomId:a}}),"focus"in o)try{await o.focus()}catch(i){console.error(i)}}else if(self.clients.openWindow){console.log("notificationclick: no client found with session open, opening new window");const i=new URL(`./${s}`,f).href;await self.clients.openWindow(i)}}self.addEventListener("notificationclick",e=>{e.notification.close(),e.waitUntil(F(e))});async function P(e){var n;console.log("got a push message",e);const t=e.session_id;let a=e.sender_display_name||e.sender;if(a&&e.event_id){const s=e.room_id;if(!!await b(async c=>{if(c.visibilityState==="visible"&&c.focused)return await w(c,"hasRoomOpen",{sessionId:t,roomId:s})})){console.log("client is focused, room is open, don't show notif");return}const i=Array.from(await self.registration.getNotifications({tag:p})),L=i.filter(c=>c.data.roomId===s).some(c=>c.data.multi),U=i.some(c=>!c.data.multi),r=e.room_name||e.room_alias;let C=!1,h,u;if(L){console.log("already have a multi message, don't do anything");return}else U?(console.log("showing multi message notification"),C=!0,h=r||a,u="New messages"):(console.log("showing new message notification"),r&&r!==a?h=`${a} in ${r}`:h=a,u=((n=e.content)==null?void 0:n.body)||"New message");await self.registration.showNotification(h,{body:u,data:{sessionId:t,roomId:s,multi:C},tag:p,badge:T})}}self.addEventListener("push",e=>{e.waitUntil(P(e.data.json()))});async function W(e,t){const a=await self.clients.matchAll();await Promise.all(a.map(async n=>{n.id!==t&&await w(n,"closeSession",{sessionId:e})}))}async function M(){const e=await self.clients.matchAll({type:"window"});await Promise.all(e.map(t=>w(t,"haltRequests"))),d.abort()}const g=new Map;let S=0;function w(e,t,a){S+=1;const n=S,s=new Promise(o=>{g.set(n,o)});return e.postMessage({type:t,id:n,payload:a}),s}async function b(e){const t=await self.clients.matchAll({type:"window"});for(const a of t)if(await e(a))return a} +//# sourceMappingURL=sw.js.map diff --git a/sw.js.map b/sw.js.map new file mode 100644 index 00000000..26916db8 --- /dev/null +++ b/sw.js.map @@ -0,0 +1 @@ +{"version":3,"file":"sw.js","sources":["../src/platform/web/assets/icon.png?url","../src/platform/web/sw.js"],"sourcesContent":["export default \"__VITE_ASSET__2a39c64c__\"","/*\nCopyright 2020 Bruno Windels \nCopyright 2020 The Matrix.org Foundation C.I.C.\n\nLicensed under the Apache License, Version 2.0 (the \"License\");\nyou may not use this file except in compliance with the License.\nYou may obtain a copy of the License at\n\n http://www.apache.org/licenses/LICENSE-2.0\n\nUnless required by applicable law or agreed to in writing, software\ndistributed under the License is distributed on an \"AS IS\" BASIS,\nWITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\nSee the License for the specific language governing permissions and\nlimitations under the License.\n*/\n\nimport NOTIFICATION_BADGE_ICON from \"./assets/icon.png?url\";\n// replaced by the service worker build plugin\nconst UNHASHED_PRECACHED_ASSETS = DEFINE_UNHASHED_PRECACHED_ASSETS;\nconst HASHED_PRECACHED_ASSETS = DEFINE_HASHED_PRECACHED_ASSETS;\nconst HASHED_CACHED_ON_REQUEST_ASSETS = DEFINE_HASHED_CACHED_ON_REQUEST_ASSETS;\n\nconst unhashedCacheName = `hydrogen-assets-${DEFINE_GLOBAL_HASH}`;\nconst hashedCacheName = `hydrogen-assets`;\nconst mediaThumbnailCacheName = `hydrogen-media-thumbnails-v2`;\n\nself.addEventListener('install', function(e) {\n e.waitUntil((async () => {\n const unhashedCache = await caches.open(unhashedCacheName);\n await unhashedCache.addAll(UNHASHED_PRECACHED_ASSETS);\n const hashedCache = await caches.open(hashedCacheName);\n await Promise.all(HASHED_PRECACHED_ASSETS.map(async asset => {\n if (!await hashedCache.match(asset)) {\n await hashedCache.add(asset);\n }\n }));\n })());\n});\n\nself.addEventListener('activate', (event) => {\n // on a first page load/sw install,\n // start using the service worker on all pages straight away\n self.clients.claim();\n event.waitUntil(purgeOldCaches());\n});\n\nasync function purgeOldCaches() {\n // remove any caches we don't know about\n const keyList = await caches.keys();\n for (const key of keyList) {\n if (key !== unhashedCacheName && key !== hashedCacheName && key !== mediaThumbnailCacheName) {\n await caches.delete(key);\n }\n }\n // remove the cache for any old hashed resource\n const hashedCache = await caches.open(hashedCacheName);\n const keys = await hashedCache.keys();\n const hashedAssetURLs =\n HASHED_PRECACHED_ASSETS\n .concat(HASHED_CACHED_ON_REQUEST_ASSETS)\n .map(a => new URL(a, self.registration.scope).href);\n\n for (const request of keys) {\n if (!hashedAssetURLs.some(url => url === request.url)) {\n hashedCache.delete(request);\n }\n }\n}\n\nself.addEventListener('fetch', (event) => {\n /*\n service worker shouldn't handle xhr uploads because otherwise\n the progress events won't fire.\n This has to do with xhr not being supported in service workers.\n */\n if (event.request.method === \"GET\") {\n event.respondWith(handleRequest(event.request));\n }\n});\n\nfunction isCacheableThumbnail(url) {\n if (url.pathname.startsWith(\"/_matrix/media/r0/thumbnail/\")) {\n const width = parseInt(url.searchParams.get(\"width\"), 10);\n const height = parseInt(url.searchParams.get(\"height\"), 10);\n if (width <= 50 && height <= 50) {\n return true;\n }\n }\n return false;\n}\n\nconst baseURL = new URL(self.registration.scope);\nlet pendingFetchAbortController = new AbortController();\n\nasync function handleRequest(request) {\n try {\n if (request.url.includes(\"config.json\") || /theme-.+\\.json/.test(request.url)) {\n return handleStaleWhileRevalidateRequest(request);\n }\n const url = new URL(request.url);\n // rewrite / to /index.html so it hits the cache\n if (url.origin === baseURL.origin && url.pathname === baseURL.pathname) {\n request = new Request(new URL(\"index.html\", baseURL.href));\n }\n let response = await readCache(request);\n if (!response) {\n // use cors so the resource in the cache isn't opaque and uses up to 7mb\n // https://developers.google.com/web/tools/chrome-devtools/progressive-web-apps?utm_source=devtools#opaque-responses\n if (isCacheableThumbnail(url)) {\n response = await fetch(request, {signal: pendingFetchAbortController.signal, mode: \"cors\", credentials: \"omit\"});\n } else {\n response = await fetch(request, {signal: pendingFetchAbortController.signal});\n }\n await updateCache(request, response);\n }\n return response;\n } catch (err) {\n if (err.name !== \"TypeError\" && err.name !== \"AbortError\") {\n console.error(\"error in service worker\", err);\n }\n throw err;\n }\n}\n\n/**\n * Stale-while-revalidate caching for certain files\n * see https://developer.chrome.com/docs/workbox/caching-strategies-overview/#stale-while-revalidate\n */\nasync function handleStaleWhileRevalidateRequest(request) {\n let response = await readCache(request);\n const networkResponsePromise = fetchAndUpdateCache(request);\n if (response) {\n return response;\n } else {\n return await networkResponsePromise;\n }\n}\n\nasync function fetchAndUpdateCache(request) {\n const response = await fetch(request, {\n signal: pendingFetchAbortController.signal,\n headers: {\n \"Cache-Control\": \"no-cache\",\n },\n });\n updateCache(request, response.clone());\n return response;\n}\n\nasync function updateCache(request, response) {\n // don't write error responses to the cache\n if (response.status >= 400) {\n return;\n }\n const url = new URL(request.url);\n const baseURL = self.registration.scope;\n if (isCacheableThumbnail(url)) {\n const cache = await caches.open(mediaThumbnailCacheName);\n cache.put(request, response.clone());\n } else if (request.url.startsWith(baseURL)) {\n let assetName = request.url.substr(baseURL.length);\n let cacheName;\n if (HASHED_CACHED_ON_REQUEST_ASSETS.includes(assetName)) {\n cacheName = hashedCacheName;\n } else if (UNHASHED_PRECACHED_ASSETS.includes(assetName)) {\n cacheName = unhashedCacheName;\n }\n if (cacheName) {\n const cache = await caches.open(cacheName);\n await cache.put(request, response.clone());\n }\n }\n}\n\nasync function readCache(request) {\n const unhashedCache = await caches.open(unhashedCacheName);\n let response = await unhashedCache.match(request);\n if (response) {\n return response;\n }\n const hashedCache = await caches.open(hashedCacheName);\n response = await hashedCache.match(request);\n if (response) {\n return response;\n }\n \n const url = new URL(request.url);\n if (isCacheableThumbnail(url)) {\n const mediaThumbnailCache = await caches.open(mediaThumbnailCacheName);\n response = await mediaThumbnailCache.match(request);\n // added in 0.1.26, remove previously cached error responses, remove this in some time\n if (response?.status >= 400) {\n await mediaThumbnailCache.delete(request);\n response = null;\n }\n }\n return response;\n}\n\nself.addEventListener('message', (event) => {\n const reply = payload => event.source.postMessage({replyTo: event.data.id, payload});\n const {replyTo} = event.data;\n if (replyTo) {\n const resolve = pendingReplies.get(replyTo);\n if (resolve) {\n pendingReplies.delete(replyTo);\n resolve(event.data.payload);\n }\n } else {\n switch (event.data?.type) {\n case \"version\":\n reply({version: DEFINE_VERSION, buildHash: DEFINE_GLOBAL_HASH});\n break;\n case \"skipWaiting\":\n self.skipWaiting();\n break;\n case \"haltRequests\":\n event.waitUntil(haltRequests().finally(() => reply()));\n break;\n case \"closeSession\":\n event.waitUntil(\n closeSession(event.data.payload.sessionId, event.source.id)\n .finally(() => reply())\n );\n break;\n }\n }\n});\n\nconst NOTIF_TAG_NEW_MESSAGE = \"new_message\";\n\nasync function openClientFromNotif(event) {\n if (event.notification.tag !== NOTIF_TAG_NEW_MESSAGE) {\n console.log(\"clicked notif with tag\", event.notification.tag);\n return;\n }\n const {sessionId, roomId} = event.notification.data;\n const sessionHash = `#/session/${sessionId}`;\n const roomHash = `${sessionHash}/room/${roomId}`;\n const clientWithSession = await findClient(async client => {\n return await sendAndWaitForReply(client, \"hasSessionOpen\", {sessionId});\n });\n if (clientWithSession) {\n console.log(\"notificationclick: client has session open, showing room there\");\n // use a message rather than clientWithSession.navigate here as this refreshes the page on chrome\n clientWithSession.postMessage({type: \"openRoom\", payload: {roomId}});\n if ('focus' in clientWithSession) {\n try {\n await clientWithSession.focus();\n } catch (err) { console.error(err); } // I've had this throw on me on Android\n }\n } else if (self.clients.openWindow) {\n console.log(\"notificationclick: no client found with session open, opening new window\");\n const roomURL = new URL(`./${roomHash}`, baseURL).href;\n await self.clients.openWindow(roomURL);\n }\n}\n\nself.addEventListener('notificationclick', event => {\n event.notification.close();\n event.waitUntil(openClientFromNotif(event));\n});\n\nasync function handlePushNotification(n) {\n console.log(\"got a push message\", n);\n const sessionId = n.session_id;\n let sender = n.sender_display_name || n.sender;\n if (sender && n.event_id) {\n const roomId = n.room_id;\n const hasFocusedClientOnRoom = !!await findClient(async client => {\n if (client.visibilityState === \"visible\" && client.focused) {\n return await sendAndWaitForReply(client, \"hasRoomOpen\", {sessionId, roomId});\n }\n });\n if (hasFocusedClientOnRoom) {\n console.log(\"client is focused, room is open, don't show notif\");\n return;\n }\n const newMessageNotifs = Array.from(await self.registration.getNotifications({tag: NOTIF_TAG_NEW_MESSAGE}));\n const notifsForRoom = newMessageNotifs.filter(n => n.data.roomId === roomId);\n const hasMultiNotification = notifsForRoom.some(n => n.data.multi);\n const hasSingleNotifsForRoom = newMessageNotifs.some(n => !n.data.multi);\n const roomName = n.room_name || n.room_alias;\n let multi = false;\n let label;\n let body;\n if (hasMultiNotification) {\n console.log(\"already have a multi message, don't do anything\");\n return;\n } else if (hasSingleNotifsForRoom) {\n console.log(\"showing multi message notification\");\n multi = true;\n label = roomName || sender;\n body = \"New messages\";\n } else {\n console.log(\"showing new message notification\");\n if (roomName && roomName !== sender) {\n label = `${sender} in ${roomName}`;\n } else {\n label = sender;\n }\n body = n.content?.body || \"New message\";\n }\n await self.registration.showNotification(label, {\n body,\n data: {sessionId, roomId, multi},\n tag: NOTIF_TAG_NEW_MESSAGE,\n badge: NOTIFICATION_BADGE_ICON\n });\n }\n // we could consider hiding previous notifications here based on the unread count\n // (although we can't really figure out which notifications to hide) and also hiding\n // notifications makes it hard to ensure we always show a notification after a push message\n // when no client is visible, see https://goo.gl/yqv4Q4\n}\n\nself.addEventListener('push', event => {\n event.waitUntil(handlePushNotification(event.data.json()));\n});\n\nasync function closeSession(sessionId, requestingClientId) {\n const clients = await self.clients.matchAll();\n await Promise.all(clients.map(async client => {\n if (client.id !== requestingClientId) {\n await sendAndWaitForReply(client, \"closeSession\", {sessionId});\n }\n }));\n}\n\nasync function haltRequests() {\n // first ask all clients to block sending any more requests\n const clients = await self.clients.matchAll({type: \"window\"});\n await Promise.all(clients.map(client => {\n return sendAndWaitForReply(client, \"haltRequests\");\n }));\n // and only then abort the current requests\n pendingFetchAbortController.abort();\n}\n\nconst pendingReplies = new Map();\nlet messageIdCounter = 0;\nfunction sendAndWaitForReply(client, type, payload) {\n messageIdCounter += 1;\n const id = messageIdCounter;\n const promise = new Promise(resolve => {\n pendingReplies.set(id, resolve);\n });\n client.postMessage({type, id, payload});\n return promise;\n}\n\nasync function findClient(predicate) {\n const clientList = await self.clients.matchAll({type: \"window\"});\n for (const client of clientList) {\n if (await predicate(client)) {\n return client;\n }\n }\n}\n"],"names":[],"mappings":"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"} \ No newline at end of file

    @>BHuLps|Rm;1xjhYQT za6gJ9CID#F=1D#vMDDnt0)flse^{2Q19T_Yp4jQR1zP|+2?oER@XML;%QTFo3v;B# zW+#uS=hefrtam(nv0=k(Z z0LTU87@|_Q{p8HPJ7|0F_n`8bgY*cpJf$SfPH#_kaW8TKR(7{PimEc-2#{}e}nsQiD-@Jl|P zzX#m}NLhrm=kJQ@Lr#mzAKmhWe+39t?eAZJOHBbp_m@=NQ1s{%@u(KGnhl3$RNH5@ zG-wZpNK`*WfM6T%96v>G2j(p3KN9WT zCQ1%{-vEgjlP(ZItmj!n%`_=$=?O%Tc&=N7^bYZUOkgh$xmOm0kL_H~JKpsbuOref zYE88F%wQ4Ey#fADQHY0UzwBPTD_9j4$0IYTbQhA#*}yRwoCX1Ofwio@ z5wCLe7OjDu;NIS5p9OEMeysyFuwEN8th>E@zeIUPxgXvkj$yqKJ+Nzz%k(LNV)b8zPf0R-q% zU_`mK<(+NCNQVGH1tW<68=1kc1SmrcPrX!|;(znbKb?d8z5mG#Nlim4f@Nwr2DsWi zDH5s?IyJ38Lbfph)=h7wE8JA@WttAD9&Gl0W4H}X@Syxel-pr-6c>%1#!HD*^~6he z?H(nv)S(5Zj2AR1XoqYQWpO2^CQz%0Avz*Nq-zzxp(;?bY_fL^h9>3m9R-3v0VpQ^ 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

    )zWBYd7YpBya~Iy>z?px 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 a@^42|4N?9!{>qy_P}_gK{)YN+&H7&wkfFH% literal 0 HcmV?d00001 diff --git a/assets/Inter-Italic.7b187d57.woff b/assets/Inter-Italic.7b187d57.woff new file mode 100644 index 0000000000000000000000000000000000000000..e7da6663fe5e471d7e102099deb33ac6328f3e6f GIT binary patch literal 143476 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%0A|!KM#T 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