From 83d914dca0cb8dc738c9315f66ee34cdcf06025c Mon Sep 17 00:00:00 2001 From: Riku Kuisma <130903460+Swifterhtmler@users.noreply.github.com> Date: Fri, 31 Jan 2025 21:00:47 +0200 Subject: [PATCH] Added ChemistrySearchExtension project by Swifterhtmler --- .../Swifterhtmler/README.md | 42 ++++ ChemistrySearchExtension/Swifterhtmler/app.js | 180 ++++++++++++++++++ .../Swifterhtmler/background.js | 11 ++ .../Swifterhtmler/image.png | Bin 0 -> 30239 bytes .../Swifterhtmler/manifest.json | 29 +++ .../Swifterhtmler/popup.html | 27 +++ .../Swifterhtmler/styles.css | 10 + 7 files changed, 299 insertions(+) create mode 100644 ChemistrySearchExtension/Swifterhtmler/README.md create mode 100644 ChemistrySearchExtension/Swifterhtmler/app.js create mode 100644 ChemistrySearchExtension/Swifterhtmler/background.js create mode 100644 ChemistrySearchExtension/Swifterhtmler/image.png create mode 100644 ChemistrySearchExtension/Swifterhtmler/manifest.json create mode 100644 ChemistrySearchExtension/Swifterhtmler/popup.html create mode 100644 ChemistrySearchExtension/Swifterhtmler/styles.css diff --git a/ChemistrySearchExtension/Swifterhtmler/README.md b/ChemistrySearchExtension/Swifterhtmler/README.md new file mode 100644 index 000000000..f26dbcd9a --- /dev/null +++ b/ChemistrySearchExtension/Swifterhtmler/README.md @@ -0,0 +1,42 @@ + +# Chemistry molecular mass calculator + +This is chrome extension that helps users check the molacular mass of inputed element from periodic table. + +The extension is activated via: + +```bash +Alt + U +``` + +or + +```bash +command + U +``` + + + +## Installation + +```bash + +git clone https://github.com/thinkswell/javascript-mini-projects.git +cd ChemistrySearchExtension/Swifterhtmler/ +``` + +## Demo + +![alt text](image.png) + + + +## Authors + +- [@Swifterhtmler](https://github.com/Swifterhtmler) + +## Notes + + +!! important, the extension currently only works in finnish, but you can modify and translate as you wish !! + diff --git a/ChemistrySearchExtension/Swifterhtmler/app.js b/ChemistrySearchExtension/Swifterhtmler/app.js new file mode 100644 index 000000000..99b583117 --- /dev/null +++ b/ChemistrySearchExtension/Swifterhtmler/app.js @@ -0,0 +1,180 @@ +const result = document.getElementById('result'); + + +document.addEventListener('DOMContentLoaded', function () { + // Set a small delay to ensure focus is applied after the DOM is fully rendered + setTimeout(function() { + document.getElementById('searchField').focus(); + }, 110); +}); + + +if (searchField.value === '') { + result.innerHTML = ''; +} + +searchField.addEventListener('input', function () { + const inputValue = searchField.value.trim(); + + + if (inputValue === '') { + result.innerHTML = ''; + return result; + } + + +let matchedElement = null; + + + +// Check if the input matches the beginning of any element in the periodic table +for (const element in periodicTable) { + if (element.startsWith(inputValue)) { + matchedElement = element; + break; + } +} + +if (matchedElement) { + const molarMass = periodicTable[matchedElement]; + result.innerHTML = `${matchedElement} moolimassa on: ${molarMass} g /mol`; + + navigator.clipboard.writeText(molarMass.toString() + " \\frac{g}{mol} ").then(function () { + // console.log('Molar mass copied to clipboard:', molarMass); + }).catch(function (error) { + console.error('Clipboard write failed:', error); + }); + + + +} else { + result.innerHTML = `Alkuainetta "${inputValue}" ei löytynyt`; + } + +}); + + + + +const periodicTable = { + vety: 1.008, + helium: 4.0026, + lithium: 6.94, + beryllium: 9.0122, + boori: 10.81, + hiili: 12.011, + typpi: 14.007, + happi: 16.00, + fluori: 18.998, + neon: 20.180, + natrium: 22.990, + magnesium: 24.305, + alumiini: 26.982, + pii: 28.085, + fosfori: 30.974, + rikki: 32.06, + kloori: 35.45, + argon: 39.948, + kalium: 39.098, + kalsium: 40.078, + skandium: 44.956, + titaani: 47.867, + vanadiini: 50.942, + kromi: 51.996, + mangaani: 54.938, + rauta: 55.85, + koboltti: 58.933, + nikkeli: 58.693, + kupari: 63.546, + sinkki: 65.38, + gallium: 69.723, + germanium: 72.630, + arseeni: 74.922, + seleeni: 78.971, + bromi: 79.904, + krypton: 83.798, + rubidium: 85.468, + strontium: 87.62, + yttrium: 88.906, + zirkonium: 91.224, + niobi: 92.906, + molybdeeni: 95.95, + teknetium: 98, + ruthenium: 101.07, + rodium: 102.91, + palladium: 106.42, + hopea: 107.87, + kadmium: 112.41, + indium: 114.82, + tina: 118.71, + antimonio: 121.76, + telluuri: 127.60, + jodi: 126.90, + ksenon: 131.29, + seesium: 132.91, + baarium: 137.33, + lantaani: 138.91, + cerium: 140.12, + praseodyymi: 140.91, + neodyymi: 144.24, + prometium: 145, + samarium: 150.36, + europium: 151.96, + gadolinium: 157.25, + terbium: 158.93, + dysprosium: 162.50, + holmium: 164.93, + erbium: 167.26, + tulium: 168.93, + ytterbium: 173.04, + luteettium: 174.97, + hafnium: 178.49, + tantaali: 180.95, + volframi: 183.84, + renium: 186.21, + osmium: 190.23, + iridium: 192.22, + platina: 195.08, + kulta: 196.97, + elohopea: 200.59, + tallium: 204.38, + lyijy: 207.2, + vismutti: 208.98, + polonium: 209, + astatine: 210, + radon: 222, + francium: 223, + radium: 226, + aktinium: 227, + torium: 232.04, + protaktinium: 231.04, + uraani: 238.03, + neptunium: 237, + plutonium: 244, + amerikium: 243, + kurium: 247, + berkelium: 247, + kalifornium: 251, + einsteinium: 252, + fermium: 257, + mendelevium: 258, + nobelium: 259, + lawrencium: 262, + rutherfordium: 267, + dubnium: 270, + seaborgium: 271, + bohrium: 270, + hassium: 277, + meitnerium: 276, + darmstadtium: 281, + roentgenium: 280, + copernicium: 285, + nihonium: 284, + flerovium: 289, + moscovium: 288, + livermorium: 293, + tennessine: 294, + oganessoni: 294, + }; + + diff --git a/ChemistrySearchExtension/Swifterhtmler/background.js b/ChemistrySearchExtension/Swifterhtmler/background.js new file mode 100644 index 000000000..bdad43869 --- /dev/null +++ b/ChemistrySearchExtension/Swifterhtmler/background.js @@ -0,0 +1,11 @@ +chrome.commands.onCommand.addListener(function (command) { + if (command === "openPopup") { + const popupURL = chrome.extension.getURL('popup.html'); + chrome.windows.create({ + url: popupURL, + type: 'popup', // This should open it as a browser popup + width: 500, + height: 180, + }); + } + }); \ No newline at end of file diff --git a/ChemistrySearchExtension/Swifterhtmler/image.png b/ChemistrySearchExtension/Swifterhtmler/image.png new file mode 100644 index 0000000000000000000000000000000000000000..1ecb658fbc4d19f9dd39b7c5a2894526e3943945 GIT binary patch literal 30239 zcmeFZbyU>B_dg5>Qqqm2w8YX#EiGN5fYKmc(hbre5(1La5`qZQQY$S80wUeru=LW; ztbV?6p5On^Ilprr&aV63_s-0F=FXiv_w~AWjMman#KWP+K|w*mQ&y6Hf`Wp21>QAS zcfp<*~*yVp|2&(ZF8FGgT8&a%hY@Tccu%-08H#Jjugv3;)h?|EM> zH$W#^E;RN&z;>|$<{UASUe$KlhDRxz@p?d0Ls!l00Ckd^>W#mXOI-&Ad9j%P=;>!W zzC&)G&L5k$ha{6ZTf^0ohClYHOsGB|e^GOB4EIVFk3e67o8wmxd3Wf)l)Am_a16TF zL^u)IiC^`jZADM}A)3$2A4lx%(kOwhgh?||qeuHUjZ?#Sc(2t;JZe|P7cRnvAx#<1 zZ?sFLTX@_*-PYLIi}g+CnMN8BQ~K*{jox|W{5s|7R!iyA7+QQmM9gnC16K2$dkT!A zK+tb2^_8vE)lnXTYb+FWRB99qaD@uqP}KYXef=1f9p%p7`)DXAk+vx4|0$yZK9PS3 z;Ek;F@AFP#1PUhj24)b&I~VQ0N~2!o-udtA8t@y6jEXK_O>BzEPE*FvCInW42HA-SySg#4Ma0dCXoqn_KdDJHA4;gCgNA1}+^f z-OU)h9UYw9#JnXR{4F5{u93GP4;cOyakrOzps%jQAm{9A$so+b%ftHsio?LbAmRGb zO6-aJc${6WA$+2uq7Ytw2tPkJD8cRK5acfq zJ|14kf42>)N+9owY1w*PIy{%Rbp$d4&wvUF2uu7e|9|}QKTrH$HTD0erV#I=|6TKc z{qp~=`OMAIRnFNFJklNdKhyP}%K!Vv|5TKKAV>bcB=JwofA0c0LvbV^|2=0=9Ae@2 zQ!tG*w(^=!!6#6%zkgHUUv}_DeuB4fV7M1l0(`0{%ga3VM%~H6OePz>?g_$e`ur3( zDxbabb=%!xbc3a6jFS?~oeaeIM7~TYYg!tLXKa)W%2#`Hy|?W7`k@#Kr1#m?wcmt1 zc=9pTl430g)-iL?>Z4q{EsVWwbWiuz9r^`({GB+JG2@T$wbCeiLq2`Jdf4};SMih6}YZ?-b8MuNQRJ{&a7U(Rs~|9l+V z_cAht>?^DNOoL0^gy;U8QHHQ%hR(z!&P^L8J=gjNx45Uex)j(vX4w7Rw@xY_C0oU~`ufF1(z^y5atQAfK7DdZ_GO~kKHJ=gHwlm^IA#5gcqWD;}FLrg3qPuCmEAV%|t;J-K^0I!SsPmje6E5xSq*0@LuV}v-223sz-*whw z{M$kE(J%4C35$4TN5^tU%;EjR;$#NsrL!?+w+Oq(+38 zq`FfHV<$+5GNA-Vrt@7Fr{p;eWLliw(w>w|_l=j|1e{)f`-uy|=(5Qub-7yOi(S^t z5_`7RpU$*9T|Zc+Dz4K;FXmpd)36*TJhnMf{Ik-m!=LDO&kL4R5D%SdJ^QT+=@l51 zSl-q!=w?K48`LF(X*I@t&ZejXCu;k)p3MoQV(j4Ja!*P)`Cb&dQm#Ih^q(Bvkn&hB z{_MIlI*)C-)1n2xS)Ymn+1!CmyJi^FF2&rrmI?j) zO@<&$W-hC4gJ4cLHHM29)^)^=RneHWYS8;#&ee!*>-K8>stru0!)as8nqglv8tMbo zNY0G?c7=iwdrkYT9Lwuw_pbIVA0XJW+!K#CM|w`4>c;XOj)c|9aY(Az;E^UY`xxx4&Qw37WJ_{YG-fx#dJRUC5ri ziXGIh#!TRA=sR4AuBrm zcLlc#7o`i8wXvVXbr_ zh>lh&gNio1qWMteYy_st^Q|*bbSMN*m-OmNZ?0fre6=FZEC~ghlooaWB^1`{J16hg z1tpQ11!+FL=B`;^Iq@hq&3Aq$*PIm-#Q48yr+BSci7A37P)ZHtL$eGTp7OqiL#j)%q$eO z+D|HJtZ}j(;@Jin9Xzb`hqRU}5-6yv#~KEnuU2{PPJQo-vh?_RXyoBh+cIUGE9b$4 z-v;Tl_VGxwBbeXCvTm9Bw>uz-{q#F3|IA7qzvj3;!@v@eyzNIE>V&G+V&lb6oCsCG=jVV9!GC9^>-*lBv`~(3}zyJ=n3T| zjIS^HeK{cIF{7su1oV4>Xbq-qXy0ycE?0rBSHJVznb7_vw#~IU^Q}4{w)Pm(iZE|_ zPv0$p-?sj{(Jag-9%(<{B)rb?&Xjd#rJB9={bcAy153kzC5sHA`Z>G}Rq*cLzhT_r z-Pjwy%ej+hAZ7PnvLRj${>>+jb&v^Z2a~Z-b>NH}Yq||G&tHpEwlo^^#V@B`oHi`H z#c--b#Ldf!5C+vCoWHH64Dkhq6{ypM4DPxJsnaRH1|~!vD{b~XP&p#4V}tfMWCp?A zwY^@K;OX*fXnb?*=Qh|LW{qn#rmfxjU)mbM;FaRD*?xN*;``0jlJ5w_Hv+Ct#sf9v zb`Qy}WVy@kpUH|Fvwx^rXKA+wiYyOAJk z-mme>H!d`=!YT6lCyw#=i)CUifcYd=dogWa(c+5J_y+?70+_^?90@lfuZehN1(sRPW#=>G%wb3g68J>S;w8OpOE{%as;NoFH9y$^TT@4 zLJ!p!{1~H)4D@)gsYkQrS}$8O9UHT|ge~F;#BDcj{2Jf9SO_IR&-r2Ib{`h)K4moY zH5mh@HG6Jq%~O28lb_xXClGqPkqX585i9pSz6DQdlImT;UvD>aREBt^dCb)sxQUFE*{q{+_@?9c-bzc9*0tkj<4Jt&JGaI2fNx^FvO z=cwz$ZPi11WzIue6pPe6eg>4UksITM&ueVnsbvT%5A^|)6vTsg%B^#B&_lmo+rqu{ zDSp@GYx0-5a>z(Cd9^rBAYUr}$YZ3RLxjF$C@%HjVfrJNeA8Gze~S4$xk&bPmH-%` z{W=9TAqH%ylZyV|R-Mb!v)9sV*y{hS`Ft(2&ZFLG_T{u={fU@zzmTzAWvEHwJq#)3 z!ro>uUxMst0}t=3Ry*?Vzlgts&zc-?zM6`34JN(j1D3I>Hrl_lLP2Gt;X=-NbZz(% zi_-01aS)*Q-A~1Sadu+X9ZwJ8)caDyR^zet=Mywh%i1OXS^QW4F&>6gbYY(aSjo)U z(u_@qExZF?uKiPHP9hBMjVtf;jT>?x{!KWu)&umV88ne`uE8vEy&|=AbHAROW5=nQ zUZIlwgZd79aith??l-KGE^J{T^dj03ib$DwDCI)CcSEZLEV}QVUmXqZP8&6Ol3`hW zqE?euJ7ktm#>Id=wPzbqM`IpZz!H4cv?vtsBhu{8Xs*y8>b5q~mTad=fB%jd=iJBp zIDx-a)6SWIAw&;0C-uV{BfWldf5e&HJiaP_VVnBr-_=jb5p2HIO(6TybKgRA>PcG5 zJYnO(z+wJErl7Y5vPTM!b17LjEZ=l~_z}5(JUj&%b2<2^IdsG+fYVA(_RpqCl6?0% z<^JO>8CUoc-b-h-zbqa=>Ax0ny;A+$55{v8v%kZ5s%)SDA+aL8Qez*+LryAbf;5Nw zqT=EZ=V2SI@Jukg-hN!8YW9W5!)%8=HV=#zH7YH*0E>dx-?`~QuO!0nZ2j}%L`HvT zDo4mZrDYL+MjFA_8t;6H`wf?NseMRR&S5muQb((;p6ln^%yncvX|y*ebwF{S8?PJ8 zj8Ql^l*gQ$rSceUvC0g_^<y{y0{hi2Q zYz;gasp-@-s94HLZ}@Gem_@lSN@NY|9MVnA=g;PYAhor%U)*Y%8T$!sq6Ff|$jD9` zg6iZ@7T#co>ho1pRsD`-8Yj_#4;&eGlyL?b)H!@jcbckE7Iv6mAUyZj9_!s2Eh}tn zoQkXag>Dkl1l>~et*Dhm+6?9dceGgQ_mkxa*45aLPdw&Dp5AeJQE3`{1@9p6EDHke zv`^mmFzIH7g)YTHW42(coHZYn zL|u3@28|>1zApAdTT&Sr3${+q7ITZpt54zB3FNQjWVJXPl4Kdk6sh;qcooK>V@|XE z-Sl|pFLs4zaFWCprFGB z@EvC$cX*jv-(Bb!O*o0boDL}5BFxGBXB)>uObnWy+lh?#^*!TcM|2tDrV0OjRIoJY z-frEjae(e8VS$J97s?FiCiRD^g$7d2ZD*eAp_GjW!|fGq+SlbTs^5gr>%aF7{VRgp zG;C>jz2moXL0v!8rzKJ~@UIXQH4cyM9#%vhysY11XO7&j)+U7fN@#mb3%*<07W7Zh zg^y7}=Bs>E_24JwQu-Em%l&8DA*W8)X&5E}1q}+dJN85E70-I8Cu=@E9&QPd*!dj5PIC#Z(M6jXc|vct!bpJ+VrZApXoun_w4OPtD;m8 zyWv-5<2vy34#s~Ip$tY^^nPHc_TuOJA-!b135#=I8kkHSTszU%^M;k>RLE|euI5lg z3$9v~C@}o5w+~*xhu@pz3Fq79%bQdf5kOg(5N_*(1NPhjlC}hjFR4S~Coc%EUN{8i zHlBJpj6`tz-`F8lUv&?811X^W+7KDmr-+`yBFX^IxV^7_hXMNLye% z!F-oEqeT<>pLh}*;L?YOkVBzA%i12bZvCErTCFUs>uib(YqjTEX8T+AM>J?Ov#+Ss za=vr#cZJsc(sH##4cyFqo36)P_^Za0+++2&`KLyXn!q`xa3eFF`q!CuESt8Tmo2RC z-`oAB!DcwlaTJDZ|rx?UpX=tR9FuEP|}FqLl0RO!eFPpr1-)R>m5oY*mXkJnOJ#t8JG(gij7bau>ucRoVtyTnp~s=4kf+ltj4zo-;!*CAQ&7 z(6gPnvqj}LuUsv7fSqE5?%dclRpc&L=&#R-W91L|?*;!t%7Q@z?Wf-Oj|H~%-XJzE z&pW1^^9t`=W!t=7X~A{26m%(`S*xq1=blYoM{4aaJ8!gQ~tJwfgIZ(AyjB&KDG{=_A%+zMj!D?h*S*& ze+`&Ic2eXo%Kx|j@*s(Rs?lTn<@w?2ljqMl#CL0wX#XU#sICB5o|KV6eLh+d$kMb^ zrK&<|Klb?@*vL#;FZaZeNMi?fd-FSAA%;|BE`~l3A%mnKOae~co5n0>dCg6pj(;%{ zuh1E`ZI7MxnxAcr7YsZeR;=u9xe{@nn~AMgPGbEco(<+GjO53P zC@G!n;XbPZTmjqD*a~n9Da2T1b#-GmWnaG3B{S%A>Xp}}a6PvRsJD41Nc6(Ad=3v#IJn!eXfDj4WgjX80B+oz-7^_^K@PL$y%oK z1%|Wa?bVU)vuDpT=xI+CD2!f4I{FHa)HqD?Z>L$r9h}?(_8@(3<|xaO zE~mZ(>66O-$?r`!att=K53!!;G(8u7rdMVW>+pGw;Tdh2YaG)jIsu>Rz^j9v)t&0W zIwCL*y2I5}lZ&NCrxO+m*dHaXk4IY1T%6lNFsf!fr@x&!H|+|4TYAGeW8X08SU>v` zkb@z{XpV7GH{L!6T@)vUX|}TVfq*94liZIc4iG(?ant#Hds+|ch25M~kcz`_KU$w` zjqa6`aq21o=Nes-W~wBWY_i5S$^UYc~x(yk7z5>TB>IX55(zUS9tWYq&B!9f#gXf z$w^g$>;BQ8RQ*2ZaNSNTD9 zzoPeEKpmfx0HD{v5LOz#KgWM<-e9^rRl6toA@?VpY=wy+?@TVHKHr8F6VDGnh0?FH+t>`Nb1m6U$JR?*k}w`OSfK0*3tM{F(7F6>$`1n)>`8T zo5;+oP(#1n+SAo$pQDe!02~5d3ule`dr5D|?_y2*%b81pQCu9CnQ&k9g$6oK5W<- zU9Yiyl;ZW^e9GFzBN7kjuP@K)c?YHAk96Sb`4ViwrfBIBks$#hZ^cRdi$6@Z54N;h zAIg<+w&@w&e({#2dFItHyCmXfp^+OpVMp?wwc&`wAFGOdOOZa{DQ2o?XDXI)TaUz@ zT?)m1R4t?PQ?E)fls^i)5g`?y;7VwV$QcihOt@+St-s{}igyYWPkSlD9(Ueh)`CAP zhmWFxO2{sGoB5&os|_{;qDB*!pM3j3;Anl&Yc`GBzd6AMwsCkSV0Vo&jz>iNE`(eQ?*X!#l-7Z22p6`qMQ;ljsrs z*&o+$DH$jm-S#-prSZ)J5`TXjn+t^-8?fW&W4}D4d4ta~$pie6^Cxh(ijDNEq5MuE zy|$i5E#yOh)E<$2#7h{&6?fTy(; zjFA14;#U1i*lo{YN)nr9orcu)aq_Fhod0tvVo066$?hfKRxxxVyCQ%h7}OcmgL_1E zhekZDvpiD%>k-Ry6JIT6UwI%dY)&Q8LgIa`T0h#Htr6`FU<9=ymT=`2k#p3|i?3*mKl@qHU0RsYbjhh&4ZN@o!> zm%biNU_cgW3(HXQ;cv&kRcCc2!>G#xj(Inf{pO;*?6?EAtA6shjaU?20$xDxz5&-) zz*6kb!A`~uh{ynaHW?b@|eoG980J~?6 zhPNx4jLVMGDyM$3Zt9tQjmha0pXuXa7bR5#+>q&64ZYnTY1?_S{}3(&3zI`xtpyFntUe|98f z(&v9%%KWX*(N&*3WBe|wFA3g_mDl|;_u@u&6%au3rsrGKn=ZqCP8;fd_j{Xr2s|o$ zs@|hu%zwfry_yLk?!n7=FtT$dcx^Zu;)Jw7TK;NZJ{ z1P*>)OZnB6Y=JWp{rreUF*s|RVMpKtO6e6#@5(O`DTjm@=Ua(FdnuA2_rF0)7oyh_ z^GEBFg&i8|%Q*bni(2rkrH>0eIu*k$x9yjzt1%ecPgoDTNW|ojXfOCFT3YV7{Rt3bCEUwBWMgZLu9>35WLUb7I#(PkevAK<4I23(#_DSz(aXPMB2G6G1Irw9Ym z1+Oj*&`3pTX;rm5ybbdwiKfJ2rexGL@OO9se^b3Lw?iLrtUc)ryY`>$F;i}f4}H+_ zmtr7R;tFoSnAhAg;{UiX&S8A_FD=KcwS~S!>M!+`9>jIr!BYOkrw!kx z;bZz&m)#Q01smFV0|`2hX$ICrIBu-m0Qbcyh+}eK(cuKj@Cp$BqZgjA5JmzXB@o00 z>$+M&c(YYM0-yF_j{jlw0`yml6>xc6+b}35#*ilQcyD$(o8Yx_5U-v|fX5UeD#rZd zj{ndG%nO@9n>QW9_2Hkix)({KLaa4DY3(A-6x6;*~&HQK#{MPk^5LiZ>}{ zfvFi9aPi|Ul>mD6O|e?~17L)l1WElVFf{+GW|s7qka+S(VMg(j+X*f$>)C!=s`D1$ zo+v8t(F=)`toZcrpFB~T5uy$iGQ>OL$EvAIS!P31R1w+B+3E7aN0It_qW8UG<&k` zap`Zq<_>}#WH*=41TelkZaA&6!MFeE>h~Nl$aqUndVjc#pIX3Nvk%e)iX@tKMD#|p zWp5Z~vYlhyd{j~qLf#uwV%rKvS8X%2EhX#BRt7X{L;ZJkVS*ephI{Y?63?dOC z^Zq(wo;w@H+ez$gCV;A>dG#H&&P`I)oa^)q1Jfl1^X%;4{sg;1cNs)#JQDl#{X!*6@U&MxZ{hfe*}m$8Y=n{xxc&xj_?=0 zPlGh`Jt{uF#Vyu30b^M{1oiiY9SA>v5%Ji1YIuPI-5HcPQcIWc;n#5N;0aIC;I3Zn2i+!t2;d~gcP_vFy2v(be-Qb|at8?w0Kc*jNWi64L|`Uh z{`z@eskdQbQ2(bLECwyT5Ln=~uOHsk`O*3`pG6*>+7?KM`06mzpdI&U2@4q}cP`~U zjVC)X4MC@0%rw}00uRvso%olSdyQU43}k$A@0>Soq*ybRMB`DL2mh-D>2L6M++F+6 zsqxQ_i~~-dok2AKu6WeeAkn&d3tVUi5nl0Zx)_2HTB}tr&+Gdry}y|j{gNniJudtas0CuFG-MIUs)HOA|+1ioe0c-cjXDe z-7cjzP5A&T)_*B$FEC71hKA%N;*Mg)^$oSO25$?b(6m6$ub^=7fw zA_n$IUIsLzQk z@ZL;8Dh6^#@&|!`WV{*40s{9%{o%uh{H21K!j6fP)z&}j=L0#Xonb9IjoV*NO=x10 zK0mL13>YZP=O6-ng;nC(bW>`u*y#uH=XY;9^cmm1_Iqd6aNmNnbHJyl!Q z^7{qNd1-k$SyugxA+Rg{p#@Uxs2d8o?UB0CF4D-_GN?*>M1nDZXWm2q8)W-FQvH8pcd)Gl}&onz80c)UHXnGgps2hTuIS{K+jR)LR@ zNMYXB0vq6gH3X)hjXKFti zmu$Q92DObry3{+cb?UASWEPi?#Ffy4Ou5Dnu6-Ox5cP3ZgnO*Q1Oh0AnuV_4gEK%) zs^$YPC(no=tTO?C>b2Eq!*wwN=|ipy!I(v$_?Mn_aUAI# zO{g$%gg{g(kNEBG4Lu?7SH&*8)-y74{6zk-)^*g*zBjRO%qxccIWk_ui9b^P;%xef z!op=Sdgl~ig$wEGK;Ga@@~dgv(Z!(CN$atj%l({p^B_ZNdqh)e)L1UQ^qJN5^?uMG zyP-4nyLrGIheyzNp<5QP+F8=Te0wXO;_?e>1RRxBv{s#h49T}0tpF{T1NwXWogy9f zNkPY%_?VEUfX0d@wwcX~7R#avP4Qhp)f1ldw!#l(bRk2p-t!uip7lI|sOIgt`#&;v z8xSH743)WSY2PR^2>gtG2Im^K;JfN5)OWc?UDBP#C_F8S~L8 zcUAS!!|aZ}Uy9jjwV-bQN2rfOuML8(nY9V%da2^8^m9d8?aV(L3_5YzAyU4_8y~jt z1MkR0gwV@JoH7%tf#p`oQAFOlr7`eg0{%+ZsADWIk}f03WE9Wo>=oh}Su@5SV3tM0 z?cYQ|gLZ4jukydPqf6x=DjK&Q&Ld2}z3feF?u6IFt{vGaU{SbTBrb9vh0grry?sCw zTINMcJ}6v;Tgpj#Rb!rufh~`;Kv8d$;cfxE1!O5@CI}siMCZ9Qz#O6NUwd?@{T;QIKw+l`)0@^ZV~%!fZ{6V86S;VMkA?z=h?+}MdtA2 zI_Z@la}7hV5*i>HwE1wLbe$mgw4Q-D&D{fFB&%cTZaHM$XYFPUOa#>A5GMb zk21XGeAxcvycq45r74o}9h5wq(F!7@tmu`8^Ub&b*YY{Y#;q|3O!IrqbIG3fMBrD; zu%#d>A-CFz&}*Z+B}{3}MOLpByNgGbV`~y53Vexq(|=9-K28mID*8RgmY>YOnG|}y zl9X~G@h3Z3%yCMPQ>{U$18^SWZ+}4vj(U{+Y#VH3(1elpp6HD_JYH;z{W5Q(ym(8X zN$D#HSYABs+a3)>9U{<%F-4#^TTN7&1s}-#3BA|-spG{(+WD@KwruF}CvNSQxt;A2 z3hFR$!;K{&(Ai!$G7rj)yJB87x_9z5L85~-(7ehlp-qp@imrLxdy!wAHKYQ{sP4xn zPl=dSz$-I!=_0doKNZE0!o%iPVn~#Jf)2YU`i!9H177pC6ncnr)##(@KYyH3)JI3R z^qKCLi6}kmDgCg_D|xyxEcX<*r$$AzC!bvgx5a&LM)dgp7RYVEnn9#9#Y;Sa?|LU3 zn0J~>?YCZjsc<_nXQUN#hqqw<6!`T>E<5nTcK))oHkI6olw@?8vBme~5Kj|3^19rM zQm0{fy3`!vvC}|q^~X9acs@5YDWj4iO^Vhj;P47$V#%M}+x+;EMpN?S>7-Srzk_k%of%#Y+hKdvjaE5()~x0nCm* zV?S9u+;rW&Z+44+(Z2Cf7`l=vCu(41MfMNgu0QRHBCcto0MOqtFbyns7vQQ%c{+@F zlkRjRxjzpJGL_hvJIN>^Z>_(a+(x?n_-_e(grx>`V(x}Fc1_*Ywp#6bpJ&GK>ydh$ z#8I@kgF4#2e^d$i4M@16Pbc+fA$|%O7GDr@SoDjAX8>-sGQ1+2pBLx-W#smS!{XWQ zv>w<^=$JdkXS|nV^T}BcTGq#@`Dvkuh0y#)E%mZww^u(pO`p{wlSGklLdF?A#p)TF z4WuH*Qs;o84#%X9+yC>cGl1^HS-BrND>1$J!V8dJ!iS)n^WeqBR_ZFO<_hPq-Jkd( zC%rnw!xH(acUpw!{f}a=BMTk1olHYh#QN~Y134ErUsX9S7POZ7kWV%36O}zEHKUsM z)7L%(NxEv^B1c&!+cjm{afzdtzmvBfJ$b4Io?Am<)y`_6psw!=cA`55PfF{;6zn0t zLdn*683~<^&VSa0$B#KCxAosv3Z`>kfh@ML#%E|GWLW`HpX&=-eKM%NFNy1a;BYWj zpcFqc219{C`1@-XB^)pm>fkLk-s))Ih?G=tr3^puo65D#KU@ebsqBXs%l1bGwysa& z1pZMa{7pNm?hLMo+sgDRPUYTNQJgF#tjRnleZ#h-dmrVwcFY}1gOo{}Rxe!`J&FHs zs$_hSE5$eU4&<={77Zj$!4@p)0%*8>_dA+fG3f1U{YG9ITVS-Ry`9=%5u|aZ3}5-= zc~PC;D$jfLVN(=i-k`LZHTX9J@BsUwL-rvEGmt6K;gIJvDl{*v9p9MaNew z9wzMB6X;AMc*$3NZ2fT|``pif>9j?{vsL*vO$vYiP`cBF9?2-2##%m&7#DMgxdLc) zm6sU~N&N-6e{GAi&D zu+(TesnyYEK5QOl?1H}KMz4Z>ir#S%`y(;3j;6MP{^#d-PKx+OM z3DU}cap~WIV}p!lIc{hX_ zd{}{hE-uAj`fZxr)%Jthl;WNax(2^8{K0@fhsQe~d<~8rH~qO(Ik+rHfYX{vQ=yzI z2taa{YyLtpF0`@cL=L(UWvO%0SpgU(eeLQok4Ie$2>ntKJ5iIYIm7rh3ozJ0(e)2Q zRUMR)gMhoSnSIrPr#o?2XLZAYu=;fP0bL~$DMU`B5G{tuk7VfAefY4TZ|Jzs z9v!XX{q!d#O>=xty84d`%qIXM?XAaelhiz z+y@SpU^Re-XrGY!2eo0+)iz~F_G;kD{y8Wqh^zX8@2krPX_z^(>}XOM>Vu44b5CiWk!|VjnPjfh>yR#O#j9NxQ<~M%XOg#bz6`CJ+Fz zQrzRRx>md+yI49&u_4HBl9xjY{s1?G2l~ZfzgjD`vs3-^y&+C?Ev=^H&@ALTd{mlH zXJUE!Qth7buQn$iQ;ad+ClAP{P%%eL?*{3AC^9%|CY12-x0^P=-MqKG)U)!FO2Enn zl1GB5tjf2o;i>=Uf$#-CT%SFAt56q2SGnyrEwm*` zJ!$tr%14RwX(8bEcmtYcK-S?sw4>H+w&|zB@82Ba*yaZwk*&rSHa8nmi#R!0SAPDi zc5K48o)%)#U#RoZ7MH|+blMbGH1M9xJKMXnb^DSBog~3$K7SL@aFl_14ULui z&1!!q4`eJeyY4KE&{zS;4)?8LKq^m1BthyO0*Rr(?NR*k&(AHU%O$ZsSwq0uhCGSs;O-ri3D0@BO8E|5uH!4t>_d?dY^*w$4> zFR}U=^WvUjw*O)8#P70{QZk`!$vQYCA(AHU{M#4^ZD?ny2;57)9?FwLA}t?F>3|e= zkXI2;17MU-xZEI;VAG;NPkey5B|t&By{)#^)3?H|-@%h`=`G z<)e&h3(JinC(=TRPGFEmXJlZIw?R!uL6aq7i85BlPP4)iN=C^~!I##oc-N{3_@=`DfE%iQ5JF@ zLw0hm9pa<)futS`^Sx$K^JBY$%puu|^0(jFa{M3gG%TR;nYE)IfW#gJMUUlJ5ps*3 zI5I$26mM*7M4k3vMxzihpjkfPb?g@WI#JoBV69k8DdvzSfv>#%8SJ$mhbaYZ60~6a z%kTBZ8HfXoe;}H1Q3X#y`tt(-bGZO;eh73g>n6p}wYP@o5lGtzo(IOLGsVD(Ls#Dn zLr=?{4Nd+vR?R&$<|{7Fr~7n@Sbhj9UI{|f2h!+K(gqCD?SobC!sf|W)1w)XB?(b6 zLD74Z#H|HkL+RivC^v#!V4CTtjYp8$yr`rmT+=t`hd z%>Ihlc>@2Mufafe_`Wj2Q9C;w3-ke$dxh-mYsN)!6|AgstbULN-VB)fCE(qVmVK^z zqYsV|b@F}_5ei54dZ-lHn-7eO^>###E#57Nr5N*6BTpir)7#NAARU9l>Dwy#SCI2^ z+Her|w}uL`#tg$^{gba;5FTXeeJ2Pg+dqqnUp4fa^=R2co~~Fz#$3{b>~$ethM$`c z`<4bo=1Jj-jL5;&P$N67sDvoj75o`J2vUI{2dS{Du21(?WmCoX8sw1Hq*15h2$RlR z+M(rStYyaguLNu`fB>HJB)|>w9;MJnHircPCM23E?om6{uqveGDKdrZ*JbnHvL!fR zG9o0fVWkiB%jcTI=(iT<0q8Z)bgcU%to=s=DXB`Nq@)=a4OA5IJ{%H5*WvbB>}m23 zhKi6we9N*}Z;MU9%n4a!Y5)f=pjkb)8wK&cvdGw112A@-U@^}xcatE+F3rgZ+HwsI zn^)IWp_y_0fImO#8<1g&FhbJego;_V3%z?}WUOEOdZdj%~ zfBd=Tx5}n7e4$PIMvfo=fcmB7cqwvZ80|a0JJaL0gn&#V{Rx3Jv#UhXMLsyGrC#*% z@F;xL3Zh0!k@SItfR!OC`_gD97>6XVyus9Ufgl@;F2GVXpBd;g$U3*H2cabFktY5J z3K@ey%UJnJ+zXS)=$bd!F{P~QifE|RJwuXa`rP=0iH&ApH z3Nc(15#HACQji2ESM8rCpXfHwoStEAH9}xlPeA&OKo{yh``mcW^^P?M{xvOIvi%>0 z5`hE?_T_@dv2S>muW4bP_%I_ZlOM7($v;9;f2eRjZ+K;Pk@Q~r0j|~IiO4)_wN*g2 zzl56=zsJR&BKM8#GeG0L?7$PLx%tw1v30E7sqhPz?Y=`LDtYMHc^j;TdOUPj)C8~z zt{`XY(RH7?d7{g5H%lU=@70Q^&+2=m8YXj`ya^tX)|-@wYoh{MNrdNVJ{# z)WMF803$Pp$RtXK2KZJ1p3C3}Z?B4YcNN3ZCP`iRD>VKpX#{Qa2oP9~t~clFY>DU> zotTt&dN_27j&Tf(l=zkL#Wr%~r-+UZVw$C!SMJK%e$x#!k7ExaVbf3pTt{0RZg(jo3bY0eAXw z*OOg;`x>+$CVKdTDeFA%cc>Q}B=Boy`)+aAKT;5T00GgzHu*h5s!q!D>rN6)<`NPM z<{}=sM@Vj=3XK2JNx=t@8CA>o@LVkv>vhL>%LTz#_qW(yWi3fIvwc0EGbP125MICv z%JLXoTx%v{E|8a#DJjA2Xo@821eobQ(i#|*LONQ80(|c9O+y89VO9xG$ z1KTLH=1arU8&kyEo$GQ4Wbvn?M~ly4_kHJM6|^4{k+Fu|sXwj}B;SN8&P2)XMrl(J zR+YcY%^r`p5&SV%v^VQ>0~RA|D}QOEeKtJ^l4C1LJVpljHW1ss2_Uz!RkYL1|_cbKm}qbJXHoV73my3!q)3aJ2N@V3PV zU{;XD)qdRYW`W`**I770D=uJXtSh}<`UQK49Mc_lM{C+rU1(`<90&{!Ajs4a8$Rph zZ~37@noHkmxQrmyGo3Ph9DWOUMxT+Sb=Ig;07jg|t^s>=Cj8mog9?J^A_r&;IzQ?|uqMVLBz!ajgf z#vKX%gg&mtrqoE}?+_^M4sH z+u~!mxgyy17JsXRIdfj|ISrih(gj_)*mJbuk`_n}3T*f^d{hf~MiNNZe{7vOU_YJE zB)DSNK$O>`F4a@n#PK_!9Dc}*_gGyBPhE1;MPzUvB>X_d7Am{Q4M;Px@8CcBUdk5F zv}4te5b=w(rOQNM!JcPrbf&oip4V@LwH_wi0vD45T|gbi51ZflDFn_!LLqm3m%bk5 zxT;Q~yS@8b?t3pZ<4Ij>unJ;e?F3I`##A<^^SE*N&Md$nPYMJl(8HEc`FSzAqoF}* z;@v}B4%$PRp=Nd^_sr?^QUUYcR(9utDBe2Thc(MDQf3m+*jp!emQ{7k6^VEiB0n_( zbs8v>TQs--p4MnIUWpxTOZWg{=Js0jXkvYsU9eCJ`xdNL!BLh&12W@#AYl9*8n`hO z3p@x;>~bYU2{WDVMxH#6oGND_Kxz{PL(eROnSM|N4kv}yy7Uu@t{JKOfE=b!v4fCJ zGSteq=|PIi-;=9OYH=1r@2%hmZra_|-z!KhUN7FKDPsY7pp$?00hOIW&3B&NBe@~a zHLjz;^s7z<<*^Z?(V8I_bqbFZgWvSV9qJHh6S*MNT_&`<@XlV5OX1=DEy+HXFI&UM zly=N*>?0pq+Y}}#N5COd*RS%(OD?XKc0cp^N-1D>QGEL zBM$pSAk=nI`Ndyw*Fdt0f5+s0^HJOgy>D3~LJ2h%Clv)VZ1v6jpHD5RYZugvtt?jG zJHZecdLE-65KM-fHq5i+HFqk-a4@zjwk+A1hKoJGnkE%=3Yai+kNl5H+l9sZXr$)0 zACh^`zpycZ;G1oQ=)yD!j9-4HKa0Lf{w#8@b{(ai-GJU*R~=C@q;={LlJ}hcrewk> z&@6iY$o@1ckAC})Hfkmeq-1VHH#3v`b}qO4Bo&#v z_~}lgS&Q7bhYL`9ya^f^Sq6Y>;_$fULU}TR*_j==rK0+y*!o{ z8}Cix2mT9d#2dKhB7BPaU+&VLhU7L70jFdlS1S+x2@mVSZ<*GF(FAM@v!bl~rud`J z%%*%deN86_J69?88gu!NBx5RNiC?f{shYD`Zimj5V$*jVKo3rY2aFr3;ws)wV$C1Z z`$^i5aXE|fVN1P~j1$ZOL7+{V*7B>c0v%rYk;poWcAhP&=JhX+gjEpw zUl(vl_5jk+SK9MF*aqt+VO9JiG@-?1o)NL}PDBA5Oe zlM$6Lf&$WbK1WNN`Y+*5%^YA8~w8%3_+^T!n4|Pl^D}}V4)Im4OGvIRD5dj_Z zykbYu6=syG2uhCcuejEdze4FHIp0pbt}%m$BhGzGfA}TAkMt9m9FA4;DDMBrbs=KP z8z!n&YiA&^zaXmLB>xGg%-W)Ir{O)0??&&Vczj=4$-9D&EtV)QfylfdEdK7tbm8kM z5ut)5dVcw^tWX|kyW%;Pa*2j3Q6RhF+l*Q2O0k zqQZntqbI|07tek9FKixzQ%3crK#U)N&hvTA%K5qYHyL7a%ukAf_2Kk9Mn zAkST4Oa-C1rxMgG{%@a_@b(wXHSA?=2UPeM2p6q3$HV2aC~P8Pqp0+*Gs5OYf~Y+h z7p;H1gI^LuJ;#5WNF2>P8_ozH7O8p5`#!mxz*iZ8bInW}B7D>kWq*HBjx&X@dv9_f z2DAMY-pR7TU8t(BNyD1tbQJkxstl@fUXPOP$Jp~C&rA(GFJUwL0c-aQzl%WK85g&0 zYEDJ5rGC;A2b#3QHu7TtiV&aK+~&)#(nYEZ%c55SL`rXKz+OQ-m^AJXM~&$W0BKj}5drxqC?1vCdnWA!z&L zB3!{CJ0ySq=! zXjjv==xUtNPGueK&x=ZT!pCluv9I|)4%QWFw_{Rq&emDZW1B$C$^$go z2M;5|=2PKvV~u?8iJ{MJ%e<5CM_m3#*0URzzO9s1r&K@M-k7Ww?}AlRN>jpgYWbRx z##7_yUBU0kC^|uu%FqSm{~UoH@%ACtxHjYnaagb|+F-HL&SHagxz_6;`GwbEkHNy^ zgE_BjK(t19*?v~=qXhW>)81D`Mb*81E8Q`G3^@!#2}lTn(j_5+a3diCLx_TONe$_c zQX-|2B8`-Y(ntsrQqtwnAu#kv`RvjA|E}lx_p|zT$V_nyz-7Zz^hWf zm9}H<(o?gO#a#=8Tul~K ztt|?_>yqBZqqE*NdM9VqIw4b|wv{S|zlPIyqVn9iRwv_q0Y7ac9;ORnp`wCoQu=pNN*r9Hw{>c==q z%h0*@%6-zs;e4WFHIt?Q6Z`m5RHg%TwrIss>2cIrF|~mP0~%ZYRU?<8|Fw*pu*l&C0W`6nnW^I%Jn(ZIpFmQ zZI7#vE%S+iN$6KNUx&6vcxVOQx$K67?Z0he4q_Z28p53O&7F>$Mum zE01P-tSK<#qx-wg#?DXWm&4*X6$WvJor|={f{pE)gUjD~?Zilsrk99DXC)IrnqFfs z>i3GhEw38b&XHbwU2??$M&5ivj1BNJ>aSP-rqkM4;Y-i9wd(dcBK0<2fJ?zE56xaD zAZ#Dkr;#rcU*Y=jkO;vHpNdZNDSTvk|EbInpDja^!*yiG$TWY;rIot6=K!(c$DEME zn8?C6Mzlv(>GzJ8SFSmUBJUk*;(n_t?k7tcXGS#LegsjFY>jRb81fFdNJC8-!&5t- z(K&Oo1()QU>H7UWf4Xbv*q4sH?VwsFg*Lz6X?fv-x@Cx(p#vwE`%;()^~j3tiyd+J zy(kR5&5trfiN&zU59^z3&yYP8m=<67!&|o4vk&Ej07FQ27r9`yrmQ9fg&q zfFFI^iLWyQ>dUMsjZ*Q&9lipsY(}!+eC&-NI(Z^k(N5lA4QXQ;+ukOw3Mp()zyL)F z<|@bwkKNF`K=QaUm%>MJCle32lyUjj+Bn11OPb(;RL^W)z<8UE9)TiN>y;{T;}__SF$}>C#*d`R>u0mODm;D$bRHDJItB02R8d4j7a3 z2TO3Epf)uDZG)&icfDe-jnV-;1)>^Gby@Ca)!-E#c>a=> z6d#&B@si@%+8yHQRAiuUC2;dmOq4K#%)!T?PCxuXn~tU|1Rf=GCCi;hi3+A5clNIN z{MZ^e)EqQP=Z`@Rrh@Iz^psm0&qs`r=3Ry~)_~uq4!if3zx|H$_UkXS+ofh1318^f zI%MmIZV8dMdjp};&En0}iU&5PUCAseQr+#~w14?+U#JPd%1&+?*AvP7cbr$S$L3Kd z-5~hvDIn%X%9Dq0x4JA%TTTCkPP5(dnBb+t*+y0YOWNk$s;_^+*hr-i0OCoAY2k=d z1W9iG1yHX>!?Tm{UU`LNcTdtT16}FiVOTjQ0;EuubBdH#xlpNDt}>H zJuW=ndm9oMk{7K^fAJ6I*MrCWs?g{;ciR{A+<$Rf0{mgwG7(EDY)BRT_YS5scwCs5 z=QKs=bqw8K;1&qgKnn8$jkGMX*86*h0e3v=C=8%jvxx`jf1geXziOrNoDyg=J^l9% zDfs-_V>Yvxj|1_creT+#Zbn7p<#AB%Bro2yJ9TG0{{D90(5xXk&nE& z<)4o1fA6q_haB&zw7S%S(Ea;h|5u^A$Mi=gWj*v(i}<0vw;s@kRgHTN>rj#(fhob{ z(y*g0hDYfmIi8FwdwO~jWnG!SxHti{R98S*DXE=rvfGiMu-G$N#nTG@RlINw_#+J+ z!3?to)Atg-9F+eSlN&(*kRJuT3W5clR^kBkGX!hp1VAj14>Pq3mXvbWj9WjGq;VCx zrRNM1VE7Kex}E{09=TZ%fFtI?YNUO@{aYgj3J*NnKo;1~+2zLG>PdYwG>*iej@Jt2 zL5-?vlIBiM|F^c|elOzYLCOok(+~j7ta>9Jc#5m;z3(zq=}t5mh7Bt{eGR!6{GzO^ z4DWee130MfSJ3|i)LGxhuci00_+kC&FK=fke7MXZ)qez}mE79Om}VerAI}&0I0XcD zuQlhR7XLC-I1Bx5pkptgzAe7Q>>wfJ5uuElb zt-3otzU&VO`6mG4;*rO;WA?ZxFA)g2;a~xC*)4SFc@(fc4Gu=*DfS|Q`goa`=@6fV(6Nh(ebNjc}_Uwc8;pI<2)9b9Mv)2Ilk;rO^UM}9JL{id^XlD+LxbNMM zGw%VTQ^nB9&5Cv+O-tc|G?9F{Ajb>K(?TTf7Spo)&yGD1V? z^oDNh(ZcY$w-)Xmjp0ok7`)Q=yW&D?a$|jv^H5?+2$k~6VAP|NXIS75p8yzPM*z@f z=|)tmh+eL+djOSx8wB_O@*>@cDY||=li2CzyvTNEVcz?$K?dkv$LbkOQ)or=rt% z6pikZ_;HrcJbC#!IRl^CMz{{4I*s-IJPRF6U1XhSsAVv!AH?)NzW^&(9h>3fre6%| z>CU;h1cfTYiDyS>Lo^qN;nXbcp<(9M=MBEQpOkttq%~qJ-d)#rSesS z;1=3eaIU0D#D?)~j(7UYlWKdLq)KxqVmrE?BiMG<_dR;WJ0stJlj-qA&LpUQD7q;p zJPZgEe|YTsc2L4D-&r=k;>qte*tun+D79%jt3&CaO@NEPCZs@#9bdz-a@5oz3Mir? z!9V7BedavC96$K3xwRFCM=|gpnr-j{11B?{2Dq~A<-KR7OBsbf@)vn2Y~@T_8+PCo zy*s@U{b}(>b-rOuYD0lYNUy=mgQauttB zylC^T(Pt+sm{R;xypD0H`pP%TNgD1}0?|?#z5bOu9q%*w=Kl%lNeh$L8>186$3$da z@#B>81%n-W{+v|gdCzRa+Rb>@M)lM#l87pvvZO)iAQox~;?C);hbaQmsh;^AKMGoHY`- zR_wTsZgw#xO{>BWB5Yr~dln89T@tp*06fI*cY`~;CW!(X0f~55>2ri;?R;c}7OocV zaG4ft1+pM^^?v0h=Y}=t(djwh$+YLq5!9Rlux=-Ny-vKl2mOaA4#9txI-ew|*5;?~ z`{9xN<7aR)B1qLm@Un`Q)>++s^sL0atvC!y&Vu}craz$?-FuVn2r6}re##w;Tnamm z>;-DM#7R!e>h{yGI?t>PNwZX^8J{fEL)UgevUU*lEShbIufS=j6Hmu20{QU!@MqO; zVm_r<>H<^kXS-KD3bsJ;s9Uk3iU>W@(;ed}qY1mEnDWU2h{gv&od8_yqWT67Kmfk_ z#F*T$cNTJckq6thJ@gvvm>60?SfuDTP1Qm4_I;J)PBHpl8&idy*Q!NUe!O@}Bhz*4 z4-~_>Rhr)hW!;D$M!wd;(W4$WE!GmJHO4ycx&RQ~HLdRPv?&TSbL2ro|3>X;I^&!;Z zjL%bba7~;PM%NeVktUk&r&*=%xDNJP@3*wyHP4M$g8XF2&V0{do(u8wxrxq+Sdr2A zq@6HI>!&_7D3(B@#Z8I8!sz*qwbb)FVcICJU5iuq@ z!39B)GK9K}*y%O|(nR?(1cOiWizr%;SZvoE-tG{bFTj3l>V39}WY{YclLRa73El}yp4Gart^qD`c+pT)GwmcA~AQfxS9=5dl9V% zn^X}ElR){MeojC8lvZKY0OsWaYC_CPzS@y02aK_?3wtg%{Z4{e?2qp@y3}E0u z)6lI$uW@Tmu5X@6-JO1QV{(7lt4$z9h(_u@-CX?|MFExfRCH2q zoJ{viDS2HnsdhVxp_2OgZ+KO(g4he}iPF_?LRFQRZ(KnELMllxNi#3y1&bLE4toC8L1F`)9Q}(85_STA5E!V> z3K;HwFx=JI=A!oRx43o_EYC;tNIjC4#l%~MUSoj)WIZM~T2_!xIJYWFG`720#yaY* z#aC6__#(+(#Y0}!5{B4MLS>)0i+A1(y@e?|Lf1wAK}lU2h*gg+aq|EiE$QARD@J%z z`9Ib~9ZAsEj}wYq@u)*FK}E5v4=D1PY9=2GiSpr7BvF?pPi5x$`QxiR>S-!9WDi-j zaE(7;uFRm1J)n=Z93@9fM#)cQ!Yy-Z!o0=x4QfE;O(yM3;`!`8kqR%*dU-}n|%ZHyUF>F)JIvJ$KwJIX-B zX9b10E%iKVRwzd&?IbS?Hmt zBTZ&VQ{0ypS$?o+8WCeUp|Uyd!I(?)q#@6lg#)a197^asrL**>$obQM>~Bjf7l&d8 z{l|t!kSoxC`hZuA7=QSLZZ}*iRL*ZnbvY z=V9q2LMm}!#sBfmSBnlplJGt! zng!d$(ko>CzA4Ox^a}HvQ{)4NIYQnELJIB+h&xmtSCY${js<5@*@=Q-tOny>m>;aR z-RqzvK}p>wZznwYaguL-7m6?cNWdLzA<5rfN0}zVoB8AOZn0?sN;&F_+1;>b%Z_-3YPdT z2;h%P`d~|m&kq*sMP}N16`G-#&^M5)_t~7wYCkf~6_X)5mcX%n&q%k1g3@RW`XP8H zakI&t(kV1|K4B&Dmml(6>7xVN5_F1qu|Qi)j-5f>abf5?gDK6WNgJgw=Ev6yS6Jn( z$;_83eH%c5n$piSM6I*|uz8TcRp4UODO(DrZdY&2$w@ih>93$9c^h-|*Yltk-=Ay)}|0-f!hN z0t+o-F-Q%JB?-Bl<7L)tLj>THu6%W_(r z{`f(hte1~41gk2fhmze}v!~JNTb+yH!fbR=H{g-eM}#l2@xbN!C@kuizPS?mVc2BW z*eda1Dp$W)XRJDz-($Oq?6Id#%5MEh10+&X4o(s=>gD1;x7t|Rj_NF{KOZ$rBn+Ru zS`k-|uQ4C#b?x2IW8c}yf|9>ej3;k9ig9SXF-sf}Xi96tMW>MOg0g*Zireu^OkYVG z#fIfJ<%V3)#OXpw+o?fkbZi+En)G95%QvOvS4{2aDz0p;4e6rG3xt-Z$A&w)A}*)h z4+2bfsbV8U@@%3E=!$$?@}gY|Hz2Gco!UmCcKQ z{u*NZXXnj_%k?=MEM#a!kLBBsCKHyyk`3?6`68em_1|Z_BiOG53e(NQ%^r%kJ>)2( z=sO&W5DY|utjM7zf|h+?@5$MIcUQZ5^B2uv(Q}++;bn!Vnm@>{Mlm662zOL`2YB}f z*~X^dbA|`TUGWZB8(XpW3ToOLSn;<>x$(uZbn%($YNiVXg#kolr!lLgk}2j;?=ZkO z+VHaYyo2k@VI7`RsM`G_77!6>TZX`{R;kh8pMV|TZQ2K9`NQ%d=>amu>L~K%T^pW# ztsx)|%f2H9cRVO3JKQO~k!?+bah{Y(7ci#63GSs`+Y+Qm6Tyas`2*cjn4jEnDt@~X)dzY$os+rZ?$>2&si-cl1Ks$ak$grz>CPy!;$3Ydq01%p}TGTX4}ldpw0 z54?ID(_$GABtX43)7{$BpllpP2Dpj zcDKC3lf%issN{OY&@-{hl$q0A4nc#M`F7Opj+8rZ1F{iiVA( z)JO?IEWbfFC=hgA3Q=}SdCi@K0%NmH${{p$L;Yzl$(5Ab)*3ofdv&jCs}s?4x9v-3 zMFHyeRFF(jGCjZ9XPlLBuSHxnyE`kMiuHuiAwsOrzsX@t>YeyWFT#wfzBtw! zXg$-p=5}(}=cY?Jv%raS6fJkmO3h|Ws5>^;>+AU-hP1LdOxvaKxr81WOe=2fdbXqW zf}qKwO>Rb-cU#RK5BZ$H1Hzw)0ADjR`il2d&m{n$T%!U< z%(^*n-=t@H=>fm!>LN(eOFq*Vo2goLPRIW$esfJ#vU5OzP<#g~pIg-JwJsqj2lPjc zR@6ML5g!7nLQce_wsR`&ByLkBe@(OJ6U8=6l;g2VpAv3V@67Th{VUM|-&m_&x%z{p z%T|4mK)aIh`!0Bigoj`& zGxJ=ddb8IBYw`fT$$~L&T5V=?AGA~+izb?uN@d3j^TXYnUYdN)c;56kCm5OBVlvpe zcudBl!r6nwRt^kW*yHu(6#RX0gSJ1yuG>V`6wXRXt$szM6$>QpD|>?cHZoepj?xh6 z>pIi+J;Gi9%EZ#In#08O&@7nWh#%dwwxz$;xWvY!g80S{C-`s>Xy^mICox=%Wd4xa zG*l2L{zTqS&T$2L8G9{U6GyQb;>&}1^vj4BgP^EbrrEsg?62(g(LnbG@7X7vpi3PO z$>+vwIy5!xSPAA}*B4?W8kmaXqI}~loPKJU-)6VMq2E326Wg<}5xO@V+5O$t;%T;Z z>6xmVvMM1FTkFJkn1Ae-hpPw;E~e7-7H<|Vle(2>-lfiaH{On15?Ow)dXkPL>SsgX)~f zr1Pr=ha+-apg+N|!c*?ez$yxA5cy(O{E`3hmx3={uavk+plvk%J|%&L$cb@!n9Dab6i&Sye6j zRfYX-j8h5nZNOSyYR&90N6=CI9Qg!vIK%H-NXBWJLBH3}s8hSd1R=iC_#Sz#c7Qe6 zH;y^Sx!37+k%T88)Kqk}^SsE0B4voSiPjU+7uyyVY3>U|s0UXzul&P(bZv35p*g{0Q&-Gwd+zu7$GxVF zF918`1tt#YhLa>o;O~>U``d%h$*LvraJ;wSwgoj~wF+%>1|{e4C?{E05jFhC$dylh z(w6L(4ngIhI@VOYe5+QHScy?oW6iL<<&l-h1TQ~mvL%b0$+>Yi=F;UTMtMH`YTh!W`6j*c) zlW!ZySvfet>x11nk>0oZ^ZK48JRu60UQ;4k55{vOwva%MXxZU$7#Z5{SM0i@=PJkE zNLp@9l%yVmJHHCR=;%Xg@bVg4aq{NP9vO!5J7k(Au5iVF5Q{R{R!L1E54f?BB;zcA zO8C!lorO|2{8IWfP55GRIRNH*{Ld zwVywd=~22+VzyZ3q7v9BdM&Yy^CIp_?PB8E`6aR9HWz?IuKD>w514pOyyLE|p#tC@y!%KGyNYgZ~Y;z%<&}E zjXSO78$vCf41b#89SA*-Ac67}at2y>QmIe~ALA7e;{f6`=ReKl@$vd~yR}>+WCAou~rN0wzJ{!7$N;nG*OT;a?1gf7>F46Cum`_N!+g(stRHXRZb-Ivsy49`M zJpV3%@-PFdw zPX$Md9$KMUJpNw~ufHOMyXO9Vz6uumGxpKNWE?FZh%y+o2Th35R{ zvV~+Jj&>H0VUl*PGKzE0A@x5u7XS{h|%8r=ukX;Zl;Gchc-p6yu8sE z9S?uJMB8bUszMHnGHgWkE-kRD;@0#b&F&lP>zv>2eEupnPZwCi%=9H5KO6&@WcvwT zQZHg0=mIDG!GYax|9ZC-YKdgM^@iH>K)=D(APP9@?VatS1$LgS#Adnet+gJ98!oic z)zOQ;zsJW>YaunBuHctpaIraXv4H%-*9}WyJOOmamNy!*4i9&fLd``CEOBLlM!wl2C@q2pT^ zKQFMi(^&pvow^w3F!B^xUFbi})5aKoG_5U)i}-h9DQS@jKqBg@MFr!Zl6t>T*veas z%RLS0B;lSwIE6tJ2)=8<#xC#lVB+`FW+LjjgVGKD(*MAXML|$}F&I%-z~wWZeff=s zoZB7wF~J?0j$GH)2$dK6{^r^VbrHKKWsS5qQ;z + + + + Chemistry extension + + + + + +
+ + + +
+ +

+
+ + + + + + + + + \ No newline at end of file diff --git a/ChemistrySearchExtension/Swifterhtmler/styles.css b/ChemistrySearchExtension/Swifterhtmler/styles.css new file mode 100644 index 000000000..f59d847b8 --- /dev/null +++ b/ChemistrySearchExtension/Swifterhtmler/styles.css @@ -0,0 +1,10 @@ +body { + background-color: rgb(rgb(198, 214, 205), green, blue); + width: 200px; + max-width: 500px; +} + +#content { + display: grid; + place-items: center; +} \ No newline at end of file