From 6006ea7cd10c421d8d4d48ea048dd35920dc5b11 Mon Sep 17 00:00:00 2001 From: Foster Hangdaan Date: Sun, 23 Jul 2023 16:04:28 -0400 Subject: [PATCH] Initial commit --- .editorconfig | 8 ++ .gitattributes | 207 +++++++++++++++++++++++++++++++++++++++++++++++++ .gitignore | 133 +++++++++++++++++++++++++++++++ _config.ts | 16 ++++ deno.json | 15 ++++ deno.lock | Bin 0 -> 45064 bytes 6 files changed, 379 insertions(+) create mode 100644 .editorconfig create mode 100644 .gitattributes create mode 100644 .gitignore create mode 100644 _config.ts create mode 100644 deno.json create mode 100644 deno.lock diff --git a/.editorconfig b/.editorconfig new file mode 100644 index 0000000..dd7255e --- /dev/null +++ b/.editorconfig @@ -0,0 +1,8 @@ +root = true + +[*] +indent_style = space +indent_size = 2 +end_of_line = lf +insert_final_newline = true +trim_trailing_whitespace = true diff --git a/.gitattributes b/.gitattributes new file mode 100644 index 0000000..5d244b1 --- /dev/null +++ b/.gitattributes @@ -0,0 +1,207 @@ +## GITATTRIBUTES FOR WEB PROJECTS +# +# These settings are for any web project. +# +# Details per file setting: +# text These files should be normalized (i.e. convert CRLF to LF). +# binary These files are binary and should be left untouched. +# +# Note that binary is a macro for -text -diff. +###################################################################### + +# Auto detect +## Handle line endings automatically for files detected as +## text and leave all files detected as binary untouched. +## This will handle all files NOT defined below. +* text=auto + +# Source code +*.bash text eol=lf +*.bat text eol=crlf +*.cmd text eol=crlf +*.coffee text +*.css text diff=css +*.htm text diff=html +*.html text diff=html +*.inc text +*.ini text +*.js text +*.json text +*.jsx text +*.less text +*.ls text +*.map text -diff +*.od text +*.onlydata text +*.php text diff=php +*.pl text +*.ps1 text eol=crlf +*.py text diff=python +*.rb text diff=ruby +*.sass text +*.scm text +*.scss text diff=css +*.sh text eol=lf +.husky/* text eol=lf +*.sql text +*.styl text +*.tag text +*.ts text +*.tsx text +*.xml text +*.xhtml text diff=html + +# Docker +Dockerfile text + +# Documentation +*.ipynb text eol=lf +*.markdown text diff=markdown +*.md text diff=markdown +*.mdwn text diff=markdown +*.mdown text diff=markdown +*.mkd text diff=markdown +*.mkdn text diff=markdown +*.mdtxt text +*.mdtext text +*.txt text +AUTHORS text +CHANGELOG text +CHANGES text +CONTRIBUTING text +COPYING text +copyright text +*COPYRIGHT* text +INSTALL text +license text +LICENSE text +NEWS text +readme text +*README* text +TODO text + +# Templates +*.dot text +*.ejs text +*.erb text +*.haml text +*.handlebars text +*.hbs text +*.hbt text +*.jade text +*.latte text +*.mustache text +*.njk text +*.phtml text +*.svelte text +*.tmpl text +*.tpl text +*.twig text +*.vue text + +# Configs +*.cnf text +*.conf text +*.config text +.editorconfig text +.env text +.gitattributes text +.gitconfig text +.htaccess text +*.lock text -diff +package.json text eol=lf +package-lock.json text eol=lf -diff +pnpm-lock.yaml text eol=lf -diff +.prettierrc text +yarn.lock text -diff +*.toml text +*.yaml text +*.yml text +browserslist text +Makefile text +makefile text + +# Heroku +Procfile text + +# Graphics +*.ai filter=lfs diff=lfs merge=lfs -text +*.bmp filter=lfs diff=lfs merge=lfs -text +*.eps filter=lfs diff=lfs merge=lfs -text +*.gif filter=lfs diff=lfs merge=lfs -text +*.gifv filter=lfs diff=lfs merge=lfs -text +*.ico filter=lfs diff=lfs merge=lfs -text +*.jng filter=lfs diff=lfs merge=lfs -text +*.jp2 filter=lfs diff=lfs merge=lfs -text +*.jpg filter=lfs diff=lfs merge=lfs -text +*.jpeg filter=lfs diff=lfs merge=lfs -text +*.jpx filter=lfs diff=lfs merge=lfs -text +*.jxr filter=lfs diff=lfs merge=lfs -text +*.pdf filter=lfs diff=lfs merge=lfs -text +*.png filter=lfs diff=lfs merge=lfs -text +*.psb filter=lfs diff=lfs merge=lfs -text +*.psd filter=lfs diff=lfs merge=lfs -text +# SVG treated as an asset (binary) by default. +*.svg text +# If you want to treat it as binary, +# use the following line instead. +# *.svg filter=lfs diff=lfs merge=lfs -text +*.svgz filter=lfs diff=lfs merge=lfs -text +*.tif filter=lfs diff=lfs merge=lfs -text +*.tiff filter=lfs diff=lfs merge=lfs -text +*.wbmp filter=lfs diff=lfs merge=lfs -text +*.webp filter=lfs diff=lfs merge=lfs -text + +# Audio +*.kar filter=lfs diff=lfs merge=lfs -text +*.m4a filter=lfs diff=lfs merge=lfs -text +*.mid filter=lfs diff=lfs merge=lfs -text +*.midi filter=lfs diff=lfs merge=lfs -text +*.mp3 filter=lfs diff=lfs merge=lfs -text +*.ogg filter=lfs diff=lfs merge=lfs -text +*.ra filter=lfs diff=lfs merge=lfs -text + +# Video +*.3gpp filter=lfs diff=lfs merge=lfs -text +*.3gp filter=lfs diff=lfs merge=lfs -text +*.as filter=lfs diff=lfs merge=lfs -text +*.asf filter=lfs diff=lfs merge=lfs -text +*.asx filter=lfs diff=lfs merge=lfs -text +*.avi filter=lfs diff=lfs merge=lfs -text +*.fla filter=lfs diff=lfs merge=lfs -text +*.flv filter=lfs diff=lfs merge=lfs -text +*.m4v filter=lfs diff=lfs merge=lfs -text +*.mng filter=lfs diff=lfs merge=lfs -text +*.mov filter=lfs diff=lfs merge=lfs -text +*.mp4 filter=lfs diff=lfs merge=lfs -text +*.mpeg filter=lfs diff=lfs merge=lfs -text +*.mpg filter=lfs diff=lfs merge=lfs -text +*.ogv filter=lfs diff=lfs merge=lfs -text +*.swc filter=lfs diff=lfs merge=lfs -text +*.swf filter=lfs diff=lfs merge=lfs -text +*.webm filter=lfs diff=lfs merge=lfs -text + +# Archives +*.7z filter=lfs diff=lfs merge=lfs -text +*.gz filter=lfs diff=lfs merge=lfs -text +*.jar filter=lfs diff=lfs merge=lfs -text +*.rar filter=lfs diff=lfs merge=lfs -text +*.tar filter=lfs diff=lfs merge=lfs -text +*.zip filter=lfs diff=lfs merge=lfs -text + +# Fonts +*.ttf filter=lfs diff=lfs merge=lfs -text +*.eot filter=lfs diff=lfs merge=lfs -text +*.otf filter=lfs diff=lfs merge=lfs -text +*.woff filter=lfs diff=lfs merge=lfs -text +*.woff2 filter=lfs diff=lfs merge=lfs -text + +# Executables +*.exe filter=lfs diff=lfs merge=lfs -text +*.pyc filter=lfs diff=lfs merge=lfs -text + +# RC files (like .babelrc or .eslintrc) +*.*rc text + +# Ignore files (like .npmignore or .gitignore) +*.*ignore text diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..8d308e1 --- /dev/null +++ b/.gitignore @@ -0,0 +1,133 @@ +# Logs +logs +*.log +npm-debug.log* +yarn-debug.log* +yarn-error.log* +lerna-debug.log* +.pnpm-debug.log* + +# Diagnostic reports (https://nodejs.org/api/report.html) +report.[0-9]*.[0-9]*.[0-9]*.[0-9]*.json + +# Runtime data +pids +*.pid +*.seed +*.pid.lock + +# Directory for instrumented libs generated by jscoverage/JSCover +lib-cov + +# Coverage directory used by tools like istanbul +coverage +*.lcov + +# nyc test coverage +.nyc_output + +# Grunt intermediate storage (https://gruntjs.com/creating-plugins#storing-task-files) +.grunt + +# Bower dependency directory (https://bower.io/) +bower_components + +# node-waf configuration +.lock-wscript + +# Compiled binary addons (https://nodejs.org/api/addons.html) +build/Release + +# Dependency directories +node_modules/ +jspm_packages/ + +# Snowpack dependency directory (https://snowpack.dev/) +web_modules/ + +# TypeScript cache +*.tsbuildinfo + +# Optional npm cache directory +.npm + +# Optional eslint cache +.eslintcache + +# Optional stylelint cache +.stylelintcache + +# Microbundle cache +.rpt2_cache/ +.rts2_cache_cjs/ +.rts2_cache_es/ +.rts2_cache_umd/ + +# Optional REPL history +.node_repl_history + +# Output of 'npm pack' +*.tgz + +# Yarn Integrity file +.yarn-integrity + +# dotenv environment variable files +.env +.env.development.local +.env.test.local +.env.production.local +.env.local + +# parcel-bundler cache (https://parceljs.org/) +.cache +.parcel-cache + +# Next.js build output +.next +out + +# Nuxt.js build / generate output +.nuxt +dist + +# Gatsby files +.cache/ +# Comment in the public line in if your project uses Gatsby and not Next.js +# https://nextjs.org/blog/next-9-1#public-directory-support +# public + +# vuepress build output +.vuepress/dist + +# vuepress v2.x temp and cache directory +.temp +.cache + +# Docusaurus cache and generated files +.docusaurus + +# Serverless directories +.serverless/ + +# FuseBox cache +.fusebox/ + +# DynamoDB Local files +.dynamodb/ + +# TernJS port file +.tern-port + +# Stores VSCode versions used for testing VSCode extensions +.vscode-test + +# yarn v2 +.yarn/cache +.yarn/unplugged +.yarn/build-state.yml +.yarn/install-state.gz +.pnp.* + +# Lume +_site/ diff --git a/_config.ts b/_config.ts new file mode 100644 index 0000000..69bae63 --- /dev/null +++ b/_config.ts @@ -0,0 +1,16 @@ +import lume from "lume/mod.ts"; +import jsx from "lume/plugins/jsx.ts"; +import nav from "lume/plugins/nav.ts"; +import sass from "lume/plugins/sass.ts"; + +const site = lume({ + server: { + port: 8080, + }, +}); + +site.use(jsx()); +site.use(nav()); +site.use(sass()); + +export default site; diff --git a/deno.json b/deno.json new file mode 100644 index 0000000..b1fa282 --- /dev/null +++ b/deno.json @@ -0,0 +1,15 @@ +{ + "compilerOptions": { + "jsx": "react-jsx", + "jsxImportSource": "react" + }, + "tasks": { + "lume": "echo \"import 'lume/cli.ts'\" | deno run --unstable --allow-write='.' --allow-read='.' --allow-net='deno.land,cdn.deno.land,esm.sh,0.0.0.0:8080' --allow-sys=networkInterfaces --allow-env='LUME_ENV' -", + "build": "deno task lume", + "serve": "deno task lume -s" + }, + "imports": { + "react/jsx-runtime": "https://esm.sh/react@18.2.0/jsx-runtime", + "lume/": "https://deno.land/x/lume@v1.18.2/" + } +} diff --git a/deno.lock b/deno.lock new file mode 100644 index 0000000000000000000000000000000000000000..5db1b66bf302e994544697e649706ff962bfbd05 GIT binary patch literal 45064 zcmb`QS#u&;l7-*H2?NxaBnxdDiMlYp`Q@AG+xK#)=bku}p( zRg#j_jk~!YKYrZffB*IGfB*HSM&nk$_t$^_`!D0K|B|1KRJT7-{NR82j_;e3$zc57 zg+i=){hytn7Z=8p_;2l}?rJ}^!pn5h>J)xeqi{TtHru+`lgjme&?X77xm*-uTcntv2v{C zggr;Im8N^j@(o>QDz4)?9&=3`rfs;fo7hQg8@j7Irt&>K_F~63b?k(a&NyK&eA6>c zrJJ^=u^geJd1hqpH|3A9TfK=IB|)T?%dM2j+;leF2|X=JET&`Wy5@86{E!{>+}Ku( zpID5a@Q>qh+B{!Hi5F{rp0VY4XUAH1LS+QHqjZDgrZu(G}u znvrL@x{3@))Rhb;u##H#N=RU znrZV;h7$z7lSE$PC@V+;J;!Xj{dhTOlrR^@iFBQPw7f8MoFMT6#UQ$=9LM(U$Z-9L z1I8Fem_(Y(9q@flRp@#-1|9Urty#9hp6xrH#U{p{rs5>Fq9E1+&oEsb+Z4&QHMu>p zt?OJWCywG!*}hmAFEq6%$FO5H2u8uAKUxl*DBa_Pgsx);azBD3WFr%utBoaO){$pN zVdR>Akl0QfL>QOYH)9vesU#E zapG9mWXlXgovqM9!;*cmw8YsxtZ%QJ!^%YS+=fiT(v^iDa5Uy&I~u;iz(+WoCNGY} zh}nU!1&L+aI0vq6l<2N&tKA1V9rVK&EnU)bx_;ohalpp;USyaa7D>6brMY5249Bvx zAoe0X(y^r$`x#h~#pasI_IN&5shu1Ab!43CiyDnq8*Rl}D9*@qtvCrIOmV=YB(}wh zxS{K6hLwbl8?)HhtH863*pcgHYq2G(w(ld%dr=_>`=dz^b~1yR#2CON!26mQ1sDd)J~-7poG9O&74CgY_`hmn1zkfblpfy zCva^LPaNVToY*vdmoH3*M|Hs^cpI{MfM_V&&2_Z9)7eWfX18BjfPytc>SCrj zKMLS!IgakIlA7gWMjbs0B8`D{9jB34k!>3)2wcUJVB4)I3@xxro~aM|{R|W&dg#UA z91DyWo7m|DFC6(ePeXa3r+ii!Q_Z0Yeapa!U|=|iv1@x4UM$zu8mY-B+i3%58~Txn zk#n6@mwok>N-*Vk7u)dz&5rz7d7h!~xwl~Jj*2E2?(s)h zli_Uf`au|J23S`mF6hqPziqB2nCp1Hnu!)xC9(K5b}OwC!L@% zE_@mljBv!cNgUfVEzL>{IlU&cCU#`z4ptmf4Z64Rs2cFz)$k-SAs54fEA||fm?}MP z85{$N0B@A$^7N()#7{uC%wJD52i#)w4581@O(TvIPcBx%|HnXKMQF1-l1mNumq-q4 zL~J6zCf0%4ap)158YbA%B#a0h#i(Kvr5(n z|J-K6B@4*StRqXuQE`_nK&kEl@;Smh4rt8ReIGE2B?&y7Mx+HeZ3DPuX?t$-@0e*svTQNbEvK1Ok3R1{hS^)UAXl!`~y!_*m`@8x~p# zaLxl#5%Gt_{*mVegmX#aSug_{lQIMo1b{IW;Wb>mm+fnu0JeHLRmq0y@J;0!vt4BHZb~$p=S|Q%Z zgp)BGR|^vkm5uvwBH}rK7S=inF`6tY_nR#N7b`5LNz4()8V1}p<2^lwtoFyGLA>qd z;R5N}p^<37ECz%134IQjiXsk@GFW5-l;&Et8w3(b`2<&XYgt%sDz_OXm4n+BakvC&dJhUz@cS$)}A<9)_T?&uLvj% zwc&(pDnJTe!gB$gF0Kyh5u1qVN-$b*dnFNW%mhBUG5W^}sO(-$Xmq^R<{QWO+xBr%54lEX%<+uV` z*;hcb3673D72@zT<>{txSU7s$^iB;afBX}$-Y?DF7vA{$1_0J{)0 z;!}fICz=6xz(j>w1T*27#OOL4FOzf#v2@tZM6*HE-kx4xDD8rp1dUbL1eu};%oWDZ z2hG5s+RTJFIgEkpp27aX9m6)kzQhg?0sH~L$Dkxeu2IECy+D@3yDtX^SmAp)L&`H@ zlYqF6Y#JVyHHH9!Gzmc?(8+=Au?Ys;kAoYOOC6Zbp6D{2vi$1>8h0|ype=Vc#1WW8 zNRaiu4-W!cj<56Jm0f&7EWtYP4y(vh!p#uaxL|PXO2U)vx5w$=8D9v$ZH6nO;hs(+ehNNOxQ59nu zAyq@e4=gB%2$TWOM;MOtBNE5oJ3^epZ31=on{8Lct>9%c9}pdE0Yk{ zB17=lB5g`T9YPKWGCrNCQ z5-u)-jV3-$puuz};ArCrxzZ#vpp8QOrRft)MzPWf>jDg);YCC_N&bV-P?MLaDQ9uA zda74D4KlOS@>u=#W9<3f5B zzAgqR7~?`7h(HljYKzMzTsDlz#ON6oxuO)2lE930H?$$;xt|zC(x-gv4{n8=iI;Hx zqGlWsN%1b1B*qL7>0t4679C#=8-=S8%mlf>4}lTHMz}#c#EZj;LzNN`v7L$y+tcE& zFUgzg#r;vC+v=(xT-7)Ir)~VymXG83Br1V%zzJwt*C56Q2ov{^sIzhE29D5+Vsd?+ zrEtQo=DMy4i|i_&IC#&6`96n9x|WnBSy~HND#ws)o`S>!1CXV4Odd!aGh`lk)#Xe` zN>zuB&`lk;wWqoGK8Hy}1Rn`-Ve%XY5?mbA2tS9TBZCZXjRms9Q<8$xYzrt0umnPC zIDL4&{cgv{*lRY5WU~ac8Z5m=0uvky)qoemQE&r6ACS^qPl1}S8&EG`3{uMhOAd&R z^GtaohY7l3H-ixJF(!$qOqQ4MU3?uupw5NlXJl*10712o4uBnwaZ|WIkHl1-ao2!4 zy9Sjbgoy*7^sSiG7QUY~h#8CB2R{S2WK5GN5o=|UaKnmQhDKDlXE2m5@~7j4D6%zv zs|)-V;)$L>)um%2br+F`>lG`Ce??(8fU?2HI8fcFvBNcSVDNFb=?zAG{d-|iL0gHrP zk6h8Nko}I*Er!)m2ti2l=^;Q9Vjd6%XBJ^Qk`VNfaQ1XE6r7CxCO_$SJB63jxn!_1 z3Vd)BfFq1-;%&~Z&haJ4$B>i2)-e=3_M zs7jkyL4pQ=1q6Z#XBr5Y0%;jUD}W9-0jPP*2dNlem?t;cmknOZl9p=>N+DyGn8MEy z&Kq1&;k~g7$PHi)S$GGN90KcL-2?C(2`z*#=xyLUj6Dz7Jdibxr`-Yc=*NGSp zpJkg+bdpqpZpR4YlZ0}P@E1f8WG`c3wGaq|*l|D(T&}^cBL>-TkG~l|4c0Pf$KnyX zfNO~X2`FI2CACH3)-j2lB9d#+4n$Ne3G^1R4(taxC&}aUeX?hu`0*6$nd^|m3jWq% z?E}bYom3jk6}B4utaF3ebIe#sj!!}UyRt`MiU6esa-_i9lhFDYx6=<|R{!Ha%hhL0 z6dr~s#7q_w@*577Kok!eat?{gA!{|j9O(zp1Lz4jK^}%k7Ac9^)3SXt{>JK)rG=Cx zOmYDBzCrviIn4yl3#k*V45St*BGM1GVoe0p8ywLjQZe{}5FpPP=mw*V5CJp7aFG-i zErLQMfcH>7G=)M|WEu?&F@g>|@adsusdlFIZ(aV=_5J0Wk)S z>&sM8d11ym^6>H@BkN%m_vba8s2_i-WX@Cw84q;XAAOYEIwBHo1BfYBh88Kw9>hchN&cyKgTZoWj2g5!IbK||iBWanUeKkG z?8DQM-_|7ghd&d>Q{xnH{eVuSyHS&hwlw#uucvm&7o%f?QwEd4lpD~+J~5$)-_WBF za>W5TNmmk+*i|ffr29HLIdHUZl6K5L_)2c4IT}oj83P$XzdjNm7m}Bg3{g*jg{2ew z|OjNk;BFflPa5mQ9C z2{j1$O+YUBoCF;anb_PbJ_uT$qFrJGycTp5H=I}xpad)CvAOsyf`3v%Bv)YtTx@EP zV8*cn&{z=a7>7SFFC*0;g|R&8I;ap>3$fIA#uz!_tu z3C$205RmebeRTwD%RW}a<1JY25HTrj?lrdEz^sJAynArXwhdVZ zQA&yu1tfoQPvT)?=*+ah(PO^Jcag+MNWX!S00%JY1c<2O;DjMJ;DP`XplR@Ogw_=O zFsH*o=J5wZPcoDq5R;kURSN3=5!{g9S7tRKeVZ7+GR_@+Vwq^5GH`dz?1x4WA~4k`x<` zg^GY2<9-JJlITrEwdAGX8E{OTEJ;^o_t5D!V@t56W5Wgye$`Un-t=MgjIo-_i}B$#$G zs{(KA65T>w2BPW28nQ^^+XDsfBcloW$~7) zk6|WBstB6CoF-90XG>WutQK!{uPjX({gY; z7SSg`Si&$ukRnP%^B%xuEwXzlQ>mtA*r_XchH5>^fE&3bo`li`7c+%N}RyuoNj0af*@#2Yz-?cnPki_kHwa6LCCX0)M+Kj{O>pIr(yqe zm(t5ZjMgLg6mui}q?Cz>ga8l195Nn#DG31t)g-$R)N=<}3~nRQCxBLH31QF!9Is?} zen0Im4-k+pK^`}5E$0pvheCD952eQqluR@zI!7=g;$aF?42?lJ@0>bxs>I-ECScd0 z0&pyO=Dr&GMUA6?bS}VI}u=CiCC?o_S28Vi3q1Y6Wy+FEXMBMmH5`4slEE4fLvqvd|yH z+U4E$XgV7AM=wIGuSLZ~_y{E7mPB?;x}2b#%kKi0m5A2R3P{SzB{K4n60#ex>-=2u zNkkLo7Wex7^2chB?L09D^*gF(-l;7Vy;6>m zB}pYEtskX2*`ia=M;R2L0_RG|AfTxsh~nr7T> z{yXTXrTU)g+9oBZtDn3yRBxl&Ln2o^l9aw$XgE0UNWnl?;2N}^a#{$as4FA?fQ}l? zDJf6XFl2pT4RMBla75M~r|^=rc08cu+^6d{0TS+&P3_|MUSDJDv{>Ff11UMRZpQZj$g^lC< zI?7UQBS^Mgz17K=bG2L-+@2@$DAZdXmAIlyB+!AbK)VFoi#hOQvE`58%OFIFoUut1 z{@@!xOL^=sYmi#O^&|f22w3lgtd58K^AQg~QNWc^X+-TcS!UR9FA3N=s;H<1u@LOz ze#oWs10X26_J6oRoa77ziErWRh*}LPB*umu2pl}%o-zcC0CHktJ_!2&VFzhobQSmz zQP*Jw^es%nZ}$dIJmNr3Rxwu?Lh)npP&P9?;v7^=075J@n9L>nM=BEBK}?cBIiY5y z5}V=$a&a+Xkhw))we1-)$7HxflDI}@OpL`H!CJtRBl6?-!)6eCf(AgNWc^|tGKEVE zCV&J%=}m3#A8bWabq0kO`S%wi3_(al9TCqXd6ohgY%JwDSPL?ANJUBc(~bbO6Ot?J zFWi?z5J4P*(a=}?i4jhp=JRM$@{ej4L<)Inpt6^mUg2NJf>96#f#g%Y6N$K%01VOr zg@TRVgkmDj54CWAupXa-Lj_X>#PS1kIe54vR>IPu7s$*}Osx0cm{c!xr*)R}H53L5!@!<#YJ&6BMi<1JE1fB@Ez!GFq`GBYq z@&rVgd63bwlSoNE<|sm30n5cN$337q1e#Ds0fS7114}^mNKeCo5aB7>G7lCckn;Lm zQNhOWg&<8=y>ti5IXTcRuUu& zz#(CoCpg-Cl#ryM3RZCvB};fH;ftkGix>!wm8x2b0X&W%1epeeqf>$+x50BF-GF)o z+mXnjE6AVR&2&QwQM1*F1ucmUU#^K{#RIbCNG>Fui5Q9NNSHvJLW&kf0=N!2hVBQ} zj3|bSnhp^K3w22ffHClB|76Js!zY=WZUf;v5`WjHG*>6mfq17r27f`O8Q>$T z=(JG|8fESle5rI`@c#UWvK!&*DL_rsIFLiP&?_K4#z#n;rIF|{l%~W@a503%#dLe5 zBq=pS@`J&q;Rg=pj}Ha9EvU5Ru^1_^-&$yGmdiovCnSg$g)h8`guf&y$i*QT7bAiJ zlTbmbr_gZ|FTgTM85D9=tO-!?4>sl3CrLX@y-0_t?B)V*3Fa^!6jCe7tw}z^KhaW( z<|yQ?V!SOvZOjGYLn*8eI6BDxN%oPza{lDFetD)wYto!%^#!Ev;I>RyJ{)QU!SAL= z1164K9SD$$Yj9^wn+N;~;S>1@xxefqjtLpn|HmTr$nLE#5=Rk{C*mw}W^j-!2xmid z1XM~ToD^wxz-0$<(Wr<-Hbogo#%N7}DiK=oPfSa;NX!5J;(EXq)EIz)u&D^OMA3~z z2M0`Cf_O|6EO02q45DfQ3Bsx(GeKX?YO%|C;+Bt^@lEaq&j;&`)6)o(xY?-4aliO| z3SZ$2Y|^e8VFN({S!IvxmxCDq5fZ@w<-I)CWjXvhb3+acI2uu_O*BR{gt%IoAz(g< z5^47lK~4hN0JrH- z*aW0`xEmCqpbe-r$;-iD@lok~!u}wy7Xik$f`>2W^Oz`QkPIYM zL-dLj74;m9HHJ@P@V2QMs7=Wr803qGhA{*}y zq(BdfE)^P?A`5mN(G;S7=msGekz9mE{?oq>%4O?BfQuKS?@kCW2&zD&N|1(}hRj?D z_@Q_LWKND4O(n(>l`{7b)B`xnefmB?#wHGCv87Q4OO3OFpo2akE~ItrkdU%`G~5)X zAtaDWct|hYZjNVYt2w<9Re}HF5#o$c1IAEmgwBC3at5kNpFkC3NEVw?JpcyT1l$2i zUP>XQxf+e1xIa80RSF!`Jge~Q6J)Wf$mwuNF(TnGmAyn{$S8Xyfxw9a=0Fia6rlnm zx#|(Ii984TFF_+Mq#1g3aCd%<>DiP%@dhtTeFUn=#NU{O1us(5hFxyS6D+hT6Ufu0{97> z0a7MHAJorMU4gtur&Aw6kVH)R_XOEe)DHVu%SR|Vii3cDFf`Ps5b{eOxHRqoE}?H# z)OZjcQ!Ru15T=cKEz)r$Thac)#s9$r^m|Ebl(7;J<)YC5AW;A)`DJvFq|S%~fer*= z1fi5iQ_sT@Ah{r#2f{J(5JDZm`Q{&gEvbxh!J{5W9)J*rttD`xmIJ~xG-x&?t(MTL zz+Llv6ogYsf(9MHh-wi8>*m1;%gs+(4SK_@4j)zi04^z#Vt!aAMMi~wAtJMdrX(l; zw@F2?Fa!wOg`7ZiErkxm4}Kn-xEz1oD$yg(wpn55TN2CoA3}PmU_h`SEvwjc5F9sO zm^wN{!hmq*C^?YEqtv$j!R*(J5g-KHPjNh)6S&tRHjxr#kpUtYqM(X|%&;cRb009BZaWQ0&m>?QN;uEkhLK>2jA{oRjz+^%m zLW2-5czHn4a@jZV5Y!hLbl74vQv~YLIWDFVs4$Q$0nQO+4=D{QKM5G9%)}r`Z3#w* z<)E%4|I|O8VrlV!ds0>k0+bRO`1uN1u7%Qki-LyJ|F+hRKdZ770>%iq8 z&4|9r1Fvl>;`-g}C;dia)sKl9K|nVxJ*DX?GekGZQiDE-(jnfsf}|4=%mM$Xp&@>j zL1|4CfZ`>ekYn}}X?$9s1L`Na#TtV`1E!6hoV1t}Mt-pJgoPk)(gJiHBU*qNkorc- zyGSUaY@;Iwm^F{H`xre^ovcA576mSZ@+jC}SWTp26v>K4Qfi&?wZvWo0BH7*%VA_t zY@$boI>67MtPS&cx{tBf?7U6oI9+2f?Zh^?H>ywRG)5K#-USMr1%@4ASICxvkcb9M zP6!p9F8x4G7tPV4LE2NM8X;!DijZ#2pLo2VAw)(`XC^v0mxse zY2u$?4z2}B5>#Ml zxPwBfGhsjwloLw@Nd#TPF`&2(>d@Y5aK1c@{NM*qmp;mJE7)b9C4g-u;6sK4>qH+I zm|-el05#GGPwFID2WdJ&b7&%R>6b>-3pC%JApP0#WE; zM>07;-G-g+(>|JZyoBojpYJ|RCb3C||11U7;? zDtSCnqyY}4Wsyjp<=oJ00TC85%m4;$+v`)dJX!icpDl>96AK!W0$;qBbO02jOfM(m z6X|$>;~*F+N$Azs88}FA&>wBe=kxU5$2`lA^}GXw z1(Ko&L`7RSirkP-VqVadQbi9MF(^W!u9g}CqFRx4QcxgeeuR1mgs6A@e|e&nkuOXtq3edX2FqxL_we^3avD4D-GgcACL?}f{_D)V4%?;QvQGVEUR@|9v(6*)CeIe zK)NkCCQ(rm1)~|4&|efLpnqZk>1Ryq8uCQKR&#~0JEYeC>;|nKqA+eP79F**St3&8 ztWdWEA|s(LHT1+pBxrd_fJwwak{fjp&2v+IHJJ-(Kn4p$kVZmrD>wXG+xzPiEjNq) zH;k-tP3S%-o#Hvtq$8;5lGbActRioul^tC+=|zfPB77l=AYnoea-ho}ZB~j|H| zXk>zI#m-~eB?_ls6*dMZiQb>D$l_B+N~(Z@FZz?Fl4R)yvpq@j?VfCSW0F$hWw2x< z<(VIiL!?nP{F{_BAeEwT5NiQ(Prnz19xET zpdJnrX>yPd6eK(xZie_19UKRbVgrd0pe(31;1<)A6B{h=HjvkeusmA>v|oq(h!vIt z6a0faQOCh1)8LwRUpP3*%ouC2?W}(pc{I&r ziIg8p2@>QA!MAkF)ulX`1V_XrCq^J6#A)KqFCmFh=pVR0TEfwFoMtz8)vesemtmKR zkmZb}#(|a!>5HqtE!Y$ci=Y^c9&Kkq+F0bY&l_q?C=xWeU>-cHG}FPA?my$tqF|ap z(>qbT58XRxD!>b}D2S0ta_CGd2xwzKdACrV((4YeKopGP4*e{13WtsV4y2%0>XJkPVRTk+uxnxO|I{ z_KM1=eQcEQyrc}|rBMJ_EGF<&bhp?o=?VtbPdvec(0-8zqwIvU&JIDjVQ6y>O>fCn zM{p#a5PLW=ww6LHNNeB_#1l(QNI{DMq8VOb0Lx0ALufEUV1v?WVM<7TYz?ozuDYl@ z$MZ25etFsjPSAUtD@L>+eZE0EfHF$M#c0!vmRQ0gmqpJqLMs-5BnuK#^ia~)S>-%= zA6-|oRVP13gBWSu1I;a%U zrz>)uyF+hb4nO6WBFzL_;!{W!0wahIrKc?Y?|G#IMivn=hYx%%Ae0s-;LNQU^XtLS z9$`W^g3QpP>*K9mlE9M6S84J~hj`Jyqy3=04v270c5?g*LCpOHmHiiR=bB;x&frreuA zHho29APGg<1sbB{kUb{Y!pe}yNRvzS52L=1B4u>`6uIH;#0tQLQ$|MmWosw%S>fyA zlUa(?m=fje3WA9+APAQQo713|uo&)uc8eSe8~|z$UhBf_DTl!d@!|`5K9f|!C`t>M z?E;^#!;fg?t46E2qn07XfE<=8N8v2+b3`;~KFHL|OTb`+k?@f0B)u(QR+7lPHU{2J z-bxhZynJKc2(?NflP4ntpxOi}r??baBZ}ORfR|U90kP0d5Y$kOgPA8*CKRXgfrdUD zL1{6c)7p-sQERYrG*WZJOY*R(ASn z!1n5DtRINo8W=2xn=dONAyvDPCUyQl;EWN;=3VBJBjn z@rTj`VtcjKH$(G+x8?PQFy-x6Tr7IHz=+DrVI)@xTMBX$`UAd+HVimF;4?}QpbVw9 zRN3+}O@gJZA?r5-_ot)PO9bg?Kqni@w#eY|iaxQP@IhEN%8Y3xf(0cq;W3C40JJ2t zh+)Z^!@8goN9mexuh(Njd>DOX$b2JzfZvffG6xM ztQ#U6)Af+!?lEG0(^8!L5-aMaA3%(zt5!dO#R zB`@vZma_vnhhBe+H0KFz5%NcXtH>{rY*Xr-Vgz0;2#!PrLb}1E=SAb!%(MW*VK(W$ehB_eb zonV>mnbL0t?tcPx0)Lcc#9)Md^3p5r6@dfWEN|%GJ+}zqvDFlvQ{D()Kv0TE1I}N3 zo1OE7t?SYWim-{|ppYDp8k1}=x@S6Nai-{O52s7#S_ImJ59B*U=|$^N(&A7v#Ao~a z%XF#N-?)}tuC%@gjvR~zIE1`G_spf{^@Y6o1n!5B1^GeB?}I7$5POY?9oI<%t?jD6 zuS>p)6G&`A9Fp##7C_`g02YXGB4X|~qD%}NxIt3&($HFJ&j?y6kN}=xR3Rkuoo;#S z%W}R*SSVQs?}*ydptm0>IKUtdQG64?gq%1bAZLo}E&5P-k2SeRj2=}p+xf+>^G#od zvK$%S3}j7Cl`sQpL+BNfCB$a*MTf>@2>P%|&JCo(%NXe04*d!$r>==Yp=5uTm2R~( z437KnJzk2M?X)n>C^n@URrm)gk)>uF4v5S=Y$6w&CJ(&VhUo{a68sRUCVH%ZUZpdA zz9sKXd#}@|oqn6E^zK2@&gH|m;VpUbi(r4c5W)d*@wWA@ z{U!cL587JHCH1Nl3xP_cuOZTT+L~a{sBET|3gtOmVuGj;izDGN+%jf`-p!acVr158 z?-_Snaokbw0s2uIgRh5PoLWL1XftYskuf6Hqx6d?i`pL07fV4Bl0Bis1U3Nk0=H6)aGI~(o;=^&k5w0Cq9B2wM8X_HDRGgPZeVAy>1;XmJV0W} z8$$_Th(!2;&W;{t6biCb+mkmNLk>FAMvIpdudz>LED+hjywK&8_D}Gt#NuQs*mSBp zr3jR$1Su_fHp&utAv&2A^z)cU5~KXpy|2LM*qMSJ`Unq4!cuaWqwmzHs2j`aAUD^SXMJ~0W+L^cb? zL^w>%Hf0);Naa*Q%8^Y0=<(JuS%~~YZ@PCl3|?R&G#`l+6g+TV{BCp+couTRNUPGO zFW3WKa1>EM4+a2L@dspL=!24b{6WCE{|p>>^Ao~Y%!@R?$A%((!SqvyPHqL-6?GL+ z6v|z&6(?O@L_>=>)Dkh$8Bt*79)Hc{ zMA4;1Ulx1-?`px$6GC!N@{gW!A-pqs)sT?hnsDw2C(#a|_~E^EJOu4FrJ*@a7(p57 z7U_)#DFsCX7~>WoJRwd-7;EO={OKrTd8rPh-J1-^p~rqpr9H7C$1kQVM6^-(8wv}E z>qN;xP(gwPH4X)zn1}5(JKtKIHMGOofm~)+^^3YH*s5$YgBsFnru$u77^xz{x zM72dkL0XkV$l4GDM1TG3-~ay4fAO!sdV}s?|NZa(<3h~$gp?{{o^5i|A*f_PWHPupCtR~>ThJR!{6pljovPgpsI4I|x!Y*YDbX)_kMuDMKd+(brV{CF>g_TaH=J(l7V=jxrT_B?DCo!Q~jv}CqM@$uP>-qvoChw|v6H0j{zgdOy^TX}gS^U@$u{_S{C7J=zMUS_r}s(W;qdlkd{rD=zia-vK255#{njjE-wBPrX`vR|Eq8mVT8Pwus&-hux(gittH z44(Yk^1)-^+|qh!eBN)U^7SG*ogALu#DnXzv-x3z!U*KGm6O^Li!?k<3U^QM`tj>w z{a|Pm!sDZcS$dm}F3lb1`kSXls+c~p*uxz+@u+h4*eF#FTbE;7>lZz-a&U**KdZ3!6`a+s@6=@bo5nf4aE5=r=6m z*gh-WRp0L)D)DRaEN(SlU$s)F*Hrgz*a;t;`0O@FZVp=&uiwAF%>Vc!D8zAk@QmF{ z9(vR6!IfTKT$_)j%HplrbsFajeV#moM-%7yp%Wcn9=?sc!(zRD@@_c`s)akXSN~O? zAKyKi=9ztV&^fvv)UWUKw%0juy|X~u@yx3;&ILll(fKh7dJQGF;qyDJw;b}-N53Ad zsM&ARc4fp&?R`u|X=IL*%krJme~4Zau1!xa zs>Q>KcY8Fi$F;+GE%atjHw*Lh_4T3g>bI{R$MuKdvD40BDuShHlX+%eFU{PBc?i?} zlTUqowcN>#&m?1&%5Ks%TYjAykW2{p;T`^x7jcU0pWs|Ry7ukgHU{>WPq)TDmS;aR zW}81@1VJGiPr@hUx5{r{ehK)|*pH1*Z5l=S@a9j_IsWpS!3S~N8V%&r+1Gr|;R&{# zijU@ZYLre;aNCYcd#4rW-EOFrw+VQC1_gJ(&hEA*Y1@|_ltws^#19-P;YGaAYTvjSGc+3v6Ei) z>g{$g>lN)ntzq62TaT(!8eg@lR5O>~5AVi>gRA7>>gG*NPKuM_!_C3`excjNLNc}v z-=Flde`%jyO|FujcmH^R-ya8uIZpE?){;Hi{7HtswrmxLk`C`nQ?&;|d2G#(hW&nb z^nM+moYJSNJ$yT?JSV+QsC5S3wcWQ*-i_Onq29cy&t}n0+dFS-PhIzFwm51|TXC;` zRH#mlhP7g&x-i>Ew|BOl+n;?gQ9DoA@V4)t9K_evZqc|RTs;bFZ@tTl*~8syv3pQ1 z50up?O;1OQ_LbW`u5}9W>vLsl+{X9D9VDi4WA%saO2coBoY&y$@xrK9YJ(lmy;^om z?4{nce&eH)V&Z&CJcx#O$2$tTnv8FI%%ib@nhl@~4m8gXE+fo!>StkFHy{ zM|TJ6sWpFaU&oDFaj1vw+PpE*wEkhG|9<2i$CJVBSrFVcE+>?u-l0)GD3$U%!mrkD z=Yt>Ko;ND@MKx$$Jip(WhvnYs?7*(|9;U|G(Q~{APwyxUyL#8(M&{zke5+rnIeM3I z(Qo#`=r-~TmC^P5+AiPSkJ_gTE2#MOevVu9TWh-7&#$JV)$LBxN>B{1AjqAQ?7aF> zuX|Kz*DBim+4!ROd|A?`eY0=+y-|2M8!uja!-{`0a&C^?u)cV-?5guvIX$|&d@5ZP zif^UMVd>`X&>ESge(ByjeVFx)9WMWy$KG%@OV_gV+3VNG8 zDW5*&*q|@iP%Ph#U5)A4R!-|Wj;w|!Bvnn!WT zoHV_Mr0u^w2ji>jgYMJgZM}KYZq$=m^QzJty_ZK8zpt{xxvo|n)5m>UF0<^@=Xc9R zUw!o3iGFm>NP*}cIKtA4t)$%`-}Nx>R0i?nVW6&R*Tc8U(Q$3@Fqxda9hXa#fgcQd zb?@-z4fUUOUB0r+`^&ph=hBZ(-);uZP5rT6J?ey~PtUViZ^u->KKASQ$E4p@@K&-z zdpveIzNjXEd^4&pE?d{b`^LC9)tr;Nsb7uHFK)F^J%@MAvm2}J1cS!Kq?JVd;^cu| zL9^Sz^U-8bGTOy!rxGq2Rxy~49}9PvxsO$+)ob&9C1Jzlx%apZMQZq4dbQr|zj_CE z_cOzInyaVc^r+Ks_verIS5P{YyMyC%r?)82JM)KTe;UVAQUsBHQ#z0C{I*SH@Qt5b z4G!Jf%|&wF8s;zr)97cn6^;6GuClLFs>RuM?K}Pcm|D}`85FK1d3fGEDlMk%XZP7YDa`L%H*ve~93kmD6TV=Ypm#Z)aOn+a_ioeF6*5e z4_<0sdeY4cUYUDO<;VMIbbd8m7<0=UJQ}A#BYGd4pC5PHhsdy1`#_D(l3De(^YnN( zemzl--MSYw_1UC+^*Gq!vQ|@L4c6u&tFZQM#-*-4y?r5m<#TtSeDiiX?3b&Z%Iu;w zy?>r+(c{C_*-f)KG-i{2F-_sx}6(P7+-eoFN#OcwP*i$H1?ar#btkLojEnT`WO|iZU5oSh~L_i1J7zr zlHSmrp4?tv4Q^Yv6>IwXc6Mi}NvB8C^zQlW&@S6ar=#UQI^Tx*JD=TA^|5_5HXkR& z*7)pk;8%>(>fDQm?ZIiwI;vG*VuE4o*innA2m_7d%3|_VeXkxlMd$o7yl+1ncfGLC zEm@Dx{nujoJ$k>|aoxY(+h1}ZJD=Kcp2{`nsM&5@YPH*05?1Z#{`}y)cv78QU$tg$ zdaqya>66o{>9z0A>_fZP?S}2bt!2;R`BAf^t8v?MdzYhUt@{S0cHS(%<~j1eF#mG6 zev=K@IE(=dZTi_yrgr1cmo4?xNItasX34Lt?%db)`<2?>xquf{b3(*;^V&T&YQ@u& z#q`-bep(buwfE!U5y{46eE#+xR3>N5!^ewbRg3k$eqZvmV%0gQ$Hz}km8-Bao?g9Q zyta!+kHhkPwU&F^)4bGLifc2SwQ~~A`Sru7RqeiwU(c$qHY=b)+zjEiw70mP3 zYf5LX{QK|-Lh2D&$DL8=4c@Phf~wy=D^`lt#Z9ND)r-%FEFQ+E;lstKT4SzoE&tlVm$zn*sHn$nd^igM>{o3|Cs^ZPxo98ZUF z*nGRU>!y3C9amn*!-X^KmFe3$zOGWJW1mbP;$fwG;D*f$!@qbtza1Zyj*ojm&n^Mf zC+0)nua!I3iyeo3_4u5V)$Nq2uD-!V?#M!IOH1yYbo*I9tk*_HIXIXc3|h6|!fMQd zlc22XwKGdQyu9hV)gn;kAU=LS>KBZD{bDgprZ@WVYN+?GEI2+Vx(gnjj<4QF4^8i6 z&}i(q9ACF;J*m9&k-P5m$r%%P&;cLaV7Q^@URdjdL>sGB>b>U2^qsL}x$CSUG^lypY zozL#rcW!IpJlXT(ksiHAjko(*7@oho)wbEVo!jwwJgHlw(wn*(Hb?Qr-N99>a5i%$ z^GogKI6N>;i}Ri;USG6Mhoi$%u>uo6&S8k*X+F4@^eAWFEQy$v4f{IVUy$_9d3w*T zJ$QR~ZeLwI8qLT1v!_{qSZ>tZVdx(n_-`l2lU96vb>O!9XVsHn(5qb>)}82bd~pA| qun*tOp#FGvU38|}`^B+&I63H5PTzN!;MG&7^N{cU^RNH>>;C|6M%ID= literal 0 HcmV?d00001