From 45c49b9e8102ac273d63304e6fe0de2849b15f65 Mon Sep 17 00:00:00 2001 From: Abi Franklin Date: Mon, 2 Oct 2023 15:25:29 -0500 Subject: [PATCH 1/4] Dice Rolling App - Initial d6 set up --- contributors/contributorsList.js | 4 ++-- projects/Dice Roller/index.html | 16 ++++++++++++++++ projects/Dice Roller/main.css | 21 +++++++++++++++++++++ projects/Dice Roller/main.js | 32 ++++++++++++++++++++++++++++++++ 4 files changed, 71 insertions(+), 2 deletions(-) create mode 100644 projects/Dice Roller/index.html create mode 100644 projects/Dice Roller/main.css create mode 100644 projects/Dice Roller/main.js diff --git a/contributors/contributorsList.js b/contributors/contributorsList.js index 2146cd3..af11480 100644 --- a/contributors/contributorsList.js +++ b/contributors/contributorsList.js @@ -1,8 +1,8 @@ contributors = [ { id: 1, - fullname: "sample 1", - username: "https://github.com/TechHack3", + fullname: "Abi Franklin", + username: "https://github.com/AbiFranklin", }, { id: 2, diff --git a/projects/Dice Roller/index.html b/projects/Dice Roller/index.html new file mode 100644 index 0000000..804f4a5 --- /dev/null +++ b/projects/Dice Roller/index.html @@ -0,0 +1,16 @@ + + + + + + + Dice Roller + + + + + +
+ + + \ No newline at end of file diff --git a/projects/Dice Roller/main.css b/projects/Dice Roller/main.css new file mode 100644 index 0000000..5cdea12 --- /dev/null +++ b/projects/Dice Roller/main.css @@ -0,0 +1,21 @@ +.dice-container { + display: flex; +} + +.die { + width: 80px; + height: 80px; + position: relative; + margin: 5px; + border-radius: 10px; + box-shadow: 0 0 10px rgba(0, 0, 0, .25); + font-size: 56px; + font-weight: bold; + font-family: 'Franklin Gothic Medium', 'Arial Narrow', Arial, sans-serif; + text-align: center; + line-height: 80px; +} + +.btn-roll-dice { + margin-top: 10px; +} \ No newline at end of file diff --git a/projects/Dice Roller/main.js b/projects/Dice Roller/main.js new file mode 100644 index 0000000..83f2b39 --- /dev/null +++ b/projects/Dice Roller/main.js @@ -0,0 +1,32 @@ +const NUMBER_OF_DICE = 5; +const diceContainer = document.querySelector(".dice-container"); +const btnRollDice = document.querySelector(".btn-roll-dice"); + +//Initial set of all 0 dice +for (let i=0; i < NUMBER_OF_DICE; i++) { + const dice = createDice(0); + diceContainer.appendChild(dice); +} + + +function createDice(number) { + const die = document.createElement("div"); + die.classList.add("die") + die.innerText = number; + + return die; +} + +function randomizeDice(diceContainer, numberOfDice){ + diceContainer.innerHTML = ""; + for (let i=0; i < numberOfDice; i++) { + const random = Math.floor((Math.random() * 6) + 1); + const dice = createDice(random); + + diceContainer.appendChild(dice); + } +} + +btnRollDice.addEventListener("click", ()=>{ + randomizeDice(diceContainer, NUMBER_OF_DICE); +}) From 99c70b8f52d601d3885c80d253bedc2441ccc556 Mon Sep 17 00:00:00 2001 From: Abi Franklin Date: Mon, 2 Oct 2023 15:45:06 -0500 Subject: [PATCH 2/4] Dice Rolling App - User number of dice complete --- projects/Dice Roller/index.html | 4 ++++ projects/Dice Roller/main.css | 17 ++++++++++++++++- projects/Dice Roller/main.js | 8 +++++++- 3 files changed, 27 insertions(+), 2 deletions(-) diff --git a/projects/Dice Roller/index.html b/projects/Dice Roller/index.html index 804f4a5..0c4b56f 100644 --- a/projects/Dice Roller/index.html +++ b/projects/Dice Roller/index.html @@ -11,6 +11,10 @@
+
+ + +
\ No newline at end of file diff --git a/projects/Dice Roller/main.css b/projects/Dice Roller/main.css index 5cdea12..66619ba 100644 --- a/projects/Dice Roller/main.css +++ b/projects/Dice Roller/main.css @@ -1,3 +1,8 @@ +body { + font-family: 'Franklin Gothic Medium', 'Arial Narrow', Arial, sans-serif; +} + + .dice-container { display: flex; } @@ -11,11 +16,21 @@ box-shadow: 0 0 10px rgba(0, 0, 0, .25); font-size: 56px; font-weight: bold; - font-family: 'Franklin Gothic Medium', 'Arial Narrow', Arial, sans-serif; text-align: center; line-height: 80px; } +.dice-inputs { + margin-top: 10px; + +} + +.numberOfDice { + width: 80px; +} + .btn-roll-dice { margin-top: 10px; + font-family: 'Franklin Gothic Medium', 'Arial Narrow', Arial, sans-serif; + } \ No newline at end of file diff --git a/projects/Dice Roller/main.js b/projects/Dice Roller/main.js index 83f2b39..ea6d460 100644 --- a/projects/Dice Roller/main.js +++ b/projects/Dice Roller/main.js @@ -2,6 +2,7 @@ const NUMBER_OF_DICE = 5; const diceContainer = document.querySelector(".dice-container"); const btnRollDice = document.querySelector(".btn-roll-dice"); + //Initial set of all 0 dice for (let i=0; i < NUMBER_OF_DICE; i++) { const dice = createDice(0); @@ -28,5 +29,10 @@ function randomizeDice(diceContainer, numberOfDice){ } btnRollDice.addEventListener("click", ()=>{ - randomizeDice(diceContainer, NUMBER_OF_DICE); + if (document.querySelector(".numberOfDice").value){ + let numberOfDice = document.querySelector(".numberOfDice").value + randomizeDice(diceContainer, numberOfDice); + } else { + alert("Please enter the number of dice you wish to roll.") + } }) From 23e3afb117e083ec2567b6be300feda0cc26e853 Mon Sep 17 00:00:00 2001 From: Abi Franklin Date: Mon, 2 Oct 2023 19:21:57 -0500 Subject: [PATCH 3/4] Dice Rolling App - User can select dice size --- projects/Dice Roller/index.html | 48 +++++++++++++++++---------- projects/Dice Roller/main.css | 40 +++++++++++++++++++++-- projects/Dice Roller/main.js | 54 +++++++++++++++++++++++-------- projects/Dice Roller/src/D10.png | Bin 0 -> 16082 bytes projects/Dice Roller/src/D12.png | Bin 0 -> 16228 bytes projects/Dice Roller/src/D20.png | Bin 0 -> 18788 bytes projects/Dice Roller/src/D4.png | Bin 0 -> 14274 bytes projects/Dice Roller/src/D6.png | Bin 0 -> 13924 bytes projects/Dice Roller/src/D8.png | Bin 0 -> 14734 bytes 9 files changed, 109 insertions(+), 33 deletions(-) create mode 100644 projects/Dice Roller/src/D10.png create mode 100644 projects/Dice Roller/src/D12.png create mode 100644 projects/Dice Roller/src/D20.png create mode 100644 projects/Dice Roller/src/D4.png create mode 100644 projects/Dice Roller/src/D6.png create mode 100644 projects/Dice Roller/src/D8.png diff --git a/projects/Dice Roller/index.html b/projects/Dice Roller/index.html index 0c4b56f..349175d 100644 --- a/projects/Dice Roller/index.html +++ b/projects/Dice Roller/index.html @@ -1,20 +1,34 @@ - - - - - Dice Roller - - - - - -
-
- - -
- - + + + + + + Dice Roller + + + + + + +
+
+ + + + + + +
+ + + \ No newline at end of file diff --git a/projects/Dice Roller/main.css b/projects/Dice Roller/main.css index 66619ba..0becc22 100644 --- a/projects/Dice Roller/main.css +++ b/projects/Dice Roller/main.css @@ -11,15 +11,49 @@ body { width: 80px; height: 80px; position: relative; - margin: 5px; - border-radius: 10px; - box-shadow: 0 0 10px rgba(0, 0, 0, .25); + margin: 10px; font-size: 56px; + color: black; font-weight: bold; text-align: center; line-height: 80px; + background-size: contain; + background-repeat: no-repeat; + background-position: center; + text-shadow: 4px 4px 10px grey; } + +.d4 { + opacity: .7; + background-image: url("./src/D4.png"); + } + + .d6 { + opacity: .7; + background-image: url("./src/D6.png"); + } + + .d8 { + opacity: .7; + background-image: url("./src/D8.png"); + } + + .d10 { + opacity: .7; + background-image: url("./src/D10.png"); + } + + .d12 { + opacity: .7; + background-image: url("./src/D12.png"); + } + + .d20 { + opacity: .7; + background-image: url("./src/D20.png"); + } + .dice-inputs { margin-top: 10px; diff --git a/projects/Dice Roller/main.js b/projects/Dice Roller/main.js index ea6d460..180b08f 100644 --- a/projects/Dice Roller/main.js +++ b/projects/Dice Roller/main.js @@ -4,10 +4,26 @@ const btnRollDice = document.querySelector(".btn-roll-dice"); //Initial set of all 0 dice -for (let i=0; i < NUMBER_OF_DICE; i++) { - const dice = createDice(0); - diceContainer.appendChild(dice); -} + +const dice4 = createDice('R'); +dice4.classList.add("d4") +diceContainer.appendChild(dice4); +const dice6 = createDice('O'); +dice6.classList.add("d6") +diceContainer.appendChild(dice6); +const dice8 = createDice("L"); +dice8.classList.add("d8") +diceContainer.appendChild(dice8); +const dice10 = createDice("L"); +dice10.classList.add("d10") +diceContainer.appendChild(dice10); +const dice12 = createDice("E"); +dice12.classList.add("d12") +diceContainer.appendChild(dice12); +const dice20 = createDice("M"); +dice20.classList.add("d20") +diceContainer.appendChild(dice20); + function createDice(number) { @@ -18,20 +34,32 @@ function createDice(number) { return die; } -function randomizeDice(diceContainer, numberOfDice){ +function randomizeDice(diceContainer, numberOfDice, size) { diceContainer.innerHTML = ""; - for (let i=0; i < numberOfDice; i++) { - const random = Math.floor((Math.random() * 6) + 1); - const dice = createDice(random); + for (let i = 0; i < numberOfDice; i++) { + let faces = size.split("d")[1] + console.log(faces) + if (faces == 100) { + let random = Math.round((Math.random()*(100-10)+10)/10)*10; + let dice = createDice(random); + faces = 10; + dice.classList.add(`d${faces}`) + diceContainer.appendChild(dice); + } else { + let random = Math.floor((Math.random() * faces) + 1); + let dice = createDice(random); + dice.classList.add(`d${faces}`) + diceContainer.appendChild(dice); + } - diceContainer.appendChild(dice); } } -btnRollDice.addEventListener("click", ()=>{ - if (document.querySelector(".numberOfDice").value){ - let numberOfDice = document.querySelector(".numberOfDice").value - randomizeDice(diceContainer, numberOfDice); +btnRollDice.addEventListener("click", () => { + if (document.querySelector(".numberOfDice").value) { + let numberOfDice = document.querySelector(".numberOfDice").value + let dieSize = document.getElementById("dieSize").value; + randomizeDice(diceContainer, numberOfDice, dieSize); } else { alert("Please enter the number of dice you wish to roll.") } diff --git a/projects/Dice Roller/src/D10.png b/projects/Dice Roller/src/D10.png new file mode 100644 index 0000000000000000000000000000000000000000..0cd1c244c0b2a6bad4d4586364df9c524c3ff91e GIT binary patch literal 16082 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 G#Qy?^jGeFm literal 0 HcmV?d00001 diff --git a/projects/Dice Roller/src/D12.png b/projects/Dice Roller/src/D12.png new file mode 100644 index 0000000000000000000000000000000000000000..4d51da7f3e27e6b5225cc00ec1e3b8ab556cb91e GIT binary patch literal 16228 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∋5l5Ta6nha|{q> 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 literal 0 HcmV?d00001 diff --git a/projects/Dice Roller/src/D20.png b/projects/Dice Roller/src/D20.png new file mode 100644 index 0000000000000000000000000000000000000000..aebd5f89a50558512dc5ac2442133cd66235e879 GIT binary patch literal 18788 zcmeIZXHZnl7B;$P7+}Z)lH(8rku>BCLq>9vjO3hih9M{jD4>X-WI?i^fRb|($x#sy zP@;fD2?E}Y?|V|+ujGi(_rs@s zj<+Af)^62}85 z7m>qdYr~l)hZ%VO5t^IQPktqhc&C<_8Fh`m;W^K(S8Rx+i{!d3{eJe%1o5TTOcn=M zpVB+?z`pHYV)J(KW1e3Lw3~Bf=BQk6w4TzWwUxB(oRFCs+fBp;PcX*(rcP{n=N|AZ z^xZ)A)2}ZUy!nf}e{WbG6kCd^R4!(PW9PoHGWToSUnK9%%MD9Psz1PYX@o@lzBp3} zCbC0u4!EQ$TlM+gPo0xhMR*ioF=G`!xA63Ct zBIw6dz+~56^o=U!kUv(#qim+~RL%SNg-q}rk!IqI)cfQD42JJ@I86B2H;cQ~h>pnh zG&olb^fY;n=zRt`*UaCbUq96;;4J;7r^ZuxNb6Ejx@ziDS^0C-3=q=)P+2=``aL@| z;MLq|z#3KyiEL*)Yi6nnjeqSJ$BN)r4Z#tC?`}1GZJkhA!#nmGR>*W%+)o;b$kJCNz#ZmF6h$G+kwZl6ThyB#L6lP&o*H|eHtKbk-@?Ai zrN6oc!$&@Ao0t{k2Mhl6%a3-!n(uRLtUAXv3Xc@Byt8gw={K%A8_WQc8IwBgLEv<=T34Gt<5tR`wf-><>_Sg-4_9;CvS65F0Mb0LrH>Bs*MoI#Q*A*pQ8NU`d25S zSi9VJ!+ZMH=c9#_Xl1nUitsk~c7>Pu7h(O5r5jIpRNlSF)Ts3_Gke?lO?y*)Voo}D zQ~#!73F={C2)%If+jAL?VanCC!#wh5uJcJx=KH)3W4*sD8F*my@&<17$Ukr^iZ;h&{{elomNlb6b|u_c(0d-q*A ztdBY{EawO1nk0qCkYRAd=}+_DVUouKL}vN4c)d7}jfl949iGIBP)RGl$`U_R&0?NZ zn7mP)t!pHt?cw0MmsVS@ zHtL5T`UEjjVsz3I_A^KL;~YtSm!KsnZb8ONR~8m+Hs|&anI9f>tg+mVrpj$7TUN+$tYooNjpHdTj9NaleI>Z&DxEIP1RM6NT=V4Wtz#Mxs0xK|iLYu1DtZ z2`nU6-8aoMl^~VM>~yu6u~*Jp|X52=*k{+2!%Goc9#?Ls7mSz13zhM}uza zTThE6qtfTx8v-9IaNQD+U}X?VXLWhC9Y8B4)Xw^p#h!0drWY%M#`@7ChA^)RhR<16 zbv5mID@!2`Ot zN;F(PpOc9h>vZ|tMQK@eaBHQcbwA(mcg(ro|Im}t$?gk^p_DWHa1X`ZAjy z^+DQ^-Yd_cbx!FJ{Y8^X;uxF!O^>mjGZ*ACZc}B6Jx#txN(7%Wf5OTB8UM-(`%T>& z+B~|%hs%Wt+La12@hQULGbt>%k;A8I0uOG#bhj(f+HK`gPNm_6a(H6$kj*MD;F$n2 zkMtgmxyY`fBB?H6v1jUS3E?>jHz&!}@2u8}Fv^elSkVl%*v04GN4pk7tvvXTGREyO z0keJOZ&ymxRVF&>8$_FZW~8`=XOW5?De=Kc|riyukkM-qHEEblft*^kn>d`gsA7!i4*2??+GMbw2A!aH;7U zKuQ`hXM=>W$4-cznohnt`#5E+m!*%{@HpW&CpVE*S_q-lB61*lV_vdCAnPQ5vM+VCb zUtWK2AWY!4@ioG6D1qdnyWji$6lyodWyn9ppI*h0JyAO<@yFpr*1EReYth+HPybjF zvQBJI9B|6KhN1E9RkBH5^C~mur(|Q2wts3HO><1yz~%Ctm`+L4iAKSMSMSLAzKD(* z4*p^As?y|*^M}su8A6MMYEQ#ck1ymbSWoEoy{yR)&^?VBFV4FOL!FWXY?y#N6Ds;> z*&F93oCWdNnB!8tmsww}?8dK06vS)6*fq+C&s-FG3!?!8 zXn^FIEB51#2sCdn-Zw%T>|2DX(Jj=-wxp@oG(O~x`t9=`4zjo zwc-eTf{(LICYc$JIPwF?#M#)YO+DomaFEY8L`E4}F}R_hGVw_XN|)r{nDL`|$*&pB zUKe|YpfKDtCF&s$=i_BgdBrFo9<)~ESd5>oT@YWtzmBq75|AW24@^e%zAgp9`6%h_%`t-FWpFzcx@8YV)Eu$z>7pS7KAw^pgA=o53ymv{)+oq zZ23}ia479>8td3bJ#NVorM=ag{iuO_mX1GK57#6;{+MkRWqCg0)XreJb;nig@Hax; zaF-$mm&o^87D195rxkDP9bEhnm_y@aGzrej!kx#xavO{9ocg!+n$V_YrZfdNNSWB8 zf+^>M6&P3^&`sUC{$d7!+wzP_o=W<`XqX}v>kY}b@yJs%qjhUsJ=<3gi^-`D^Eb;& z>0py?;qfbSZMBF!a-fM(U(N5TEVZo}8yl=pi86SI z`(z^Ng+77JZ7X%nCVA_{;jrhbU%Q*D#iu$STC!;E6&bhOW7u20@pg5OAaid`j)Pnv z@WpMIT7qfc9Yn&Nv0`-|Ja;@@If^eue93lI!a>-paNn2albOA56UvNhhp$To*+XSI_4R!<~p_tFZr7k2I<=&tb$~ z8r{!mN1o%}IV1ZVrQ0I6GP4y!cp{+38m@ZT6yxK&56Q=`((QxhJedE*QdG~Fnj5+r z`&(n6M2fsKjPQB}LVHq_;(C~oQoaCIa937mn_ezD?;BP0M_z7q!-86tSx>*d>DG9| zbW*7n%S9MzK{Kmz!PjmbgL-AcF7dR%?GS2J;%m<<_4={*asBFa1D_L+Ywe1)SL?=w z1%7%-G26p{k{ZN&YxzxarX@iA)x*`t^NJrN6q*7Jsw$1R^I}&!bCap@1sFH+RDVo7 zQMnt8{5m_of6!iyb*~NwwXWPXgGu=aWx)!y+3>z$S)NDqfS@bhbFx>Cz&w`lBa`}j z+v)9B-2NVqh~8G^Q*mxw&+Fy33Qu`(>f#p5@C@MN?kxOz!*867O;*B+{L-6mwW~KQ z)a_Nz;_Id~=H|s^Y(_PPPm|7A-}GFa#7*&{Tr&4z~N*>94|;o57$1FSUV-8ca{qTK0S;4$*Pf(uW>pUK(q3i5-l&0M#_lIxJjEt=k ziC?SBO780Jv}uOOR6e8Yy~{O5>$JI|X3OJ}F5Z&@aI>;T-f%}dimG)|9bS+kKk&X+ z2$*`6f8EeoZiwQ>Y}TCrz;)*cateO}xRz{#Y=aWMU{ZC)b*n9BNBULgxShC8SM1>S zCmQZe56BCa*CWIxUmWYG^>eGQWcgW$wvxCqJy$YJfynilDx23#dm3N9OYULjGMtj1 z5tm!nI+Mek#-zS7yQ{}(G-`@@Gg>cgUZYk&T4H3O&f}irK||ljgwxHmKWPye z&r6>y>$ae_;k)M(PJ*bO;WfYGen(+S-c(UAop(Xxc2Cu9f@BXSo$bQ1`zSpQGW)z; zCnW(hwSnHQ%x{ZjzEr zL~$GMwjVi>7sk|RX9sIgyMK06>wRi^mr7{dxVTT(I;+lg21SbFSa#oe)3h-G?uBls zkJnPxX%K_by2QJ7qUzTDFKLdWm-g#^xpMuTF}~#*?DT^B>CzL*@n0Xxz55&(iYuJ@ zW50NZY-6mv`b)0B7g@^7U9yql!7rA}r)j6Z)TMF-A|vmw;jjMS+iP~byd)b5U7b}Qy_3o8P*9K;g|28)LEDxbj7?~n3QNsW1XjAx} z6oPp-V3GdQBX23?qWN0#)NIk*w&5>3KNSJ#jb=ho2eJD2OAi{jwQKkzN+oJ{9(6g~ z#whNg%o)j#uAAs||0KhYtKwK6KBxoh7!Nj7j79?GT&-B(&0Sb8EAw=}l`zZUfGj;j zjrpjqo|$XYGOu;C^rP`5UK=3znlHUCHj9_M*w!Pf-?25lxyETK3LX@_=`kIW1l6@i z-nEL491{v~c8K2OCp~AIz`0q=^-#6Ei7IjGo?*Slv;O3DL!o%eX7Wj#BBzEM3$PbWj;6wlcrdiXS=!=M6UVDa#4LvnLo+yGmnIhbXe1(^jN@>wOUa27* zKHIqTc5tNZj(;oGo!pVp<`%PQ(}x1LLJQPGaTGmOBPJeDG>;9Difi2exO7`+L`Sq0 z>Zd=72+zc?${=6tbjo!Rq8y?3w?i-nXG+aU{AuuHKG`Q;Oo5 z`>YjsWUNOwKq+#AY>43gtXU#ZPKCR6|AAA~SfB#?dYDSU*+zI0dqaNF$j1z~I;UaP z8hV3x74>TpC@VWQQy|>0b#>1@`e1PDY-=o;VF)95L56|sTVWLB2g8(p`q<}1LkUZqCZ?Kb3}O`TyQa!_BMrS zp6zwxR$)n_D%0vrE6CG_dd6%rVnYqSzSBB*PQl<`RnS8oEr~k3?aIm+Nvw^X%KGdr z3GCH(YO8px5wZ^M`_k}z4|qei(jDWkZ*_7yjtG95tfkhXiZ6bfPNaQhT5l?CtR4yI ziAdKUtg$y`Kg5vPFDNBOlqLiLYfWZ5QmJ3i*ULVGtN!GR>)j7l#_s6$anZQnw`ojJ zIC!Z{su4eUJG;B%BUaO>(a{G@4NBTE@$Lq09^sgKRdvdQq$2O_GQ0z*gTLtGUKl6H zI8oWhHc5OVw(~JRW*D9c$$t^{I(3rbl^~b?Y^-1v1r_vpS-{BaW>;578e6lP;eigh zuhJ?7MpKWgB{gvWPi#Godo3N0ct(*5Yg4J!^r%m`p4Z_%$vIT zT)g&YfyMHYpYPn7b+t%KGx+$xKuE*y;9I@R%x%YxQlQ_4G@&s2>m7eYB(#F?$=J8M z;RTAed7|_>5EB>6MLCXJy=o=SPxVs!ccZi3Mo|=nl}7Fh`3t1;jtiUhy>afT+Nc-n zM|-c7Fl=miHu*e#!C(1ciKbBw$8abPkV1W@r2BD6r4T4DO_ot zD)BWsXLSvPwm+0{VJLSZ9d=gWy?5)_k@Qy8nwSa2I?D|o?MCq}^`vo)B z%+>I+IVH(qnon|!{sKvzM)30C)pvYm2E^xMp9Ce@VYiqMv=o+AZrixYah3a5vZT}b zT+T7}<}PfYx4dU*uB}s`@|=zzrLeF}`mtT3SF{-w)8Uh6@q6_6N3EZsd|yT;u7g~3 z@!RZP~5c;Q6qCsEEu@|fOBv~&>0(snc zk}ypJT{Z=5MK#gS6!R=kw}Pbeo>P$@$<2WKXtqtf+S;Pr`RQlxeEFJ)QB2!3{@LY> za-YXLZIP|^3`H@K{JC0jmX(NmBRbw^Q%vsS5B#X!>N36D0EniYQ>o7A)Sg5>sywUd zYFs1@Tjt8qU;D_n>NYw0zMnODY0IMQj($<67o{Pt%I>Rpf@-R&R|j8} zf}E@viz6oQR1h;EokCjjVdwsH{`|K~6*~e)9~RL$eLd%9aS3c3D-@(IEHgaVpi3*` z2%!e>@3vabrQKTnzJPn_g0bVN4SkvZ_D5XC1Mg#1Bh)xj{XD9KIoGVH4BKfy3z2Kz zvbc~JgLVX%KjM2!W+H3v;6^_SOTbgbI&>wQ$|pE1Ckzx#a#)_e#mn?i?#Cv#>3f)T zoYAS?&08H(Wc&`w@7cEeetK_t`Rk7G{mf?{`(aG<`2?jFvhZb7EkE*F|7si8`WIQ^ zDg`pbzNi-+P^}bdb7gk7P`{s^QXF?HzD;qaFm_MVIv5pQANt%hRb?&ICSYpFr8>Vp zLsBhFe9uItbm^RrC~li9Y&~$=%HpDNKJkHN3wsXkd);UEBsf(PN0c0w5U@oQ1>s9T zB`1ex^p#d;fi|4OgpR`83_S8#7rHK||!nmXUL#vHrL3$xyOqR##H# zgGemXp-8cmNo(*76cX#KprCV0LE#@~py0`8R(PtkY8RTm$5Ove?(|G(&p9x^Y3j#kFI})QPT5)(rdd?bzeT*f=cm6(FZ$q8hm2oW@L`kH%r}NDjI2N3 zZ*S*8nEQviZht+5^y?X^i?(+#qf867gp&i01AhMek!ctyYcTKge62W+0X(Y?a0bt$ zjWsnSY(3q1t?fK*?0JLSy}&bT0FaUm^0Kydwf95X*gHCVNVEKCYGXk<+exz+32UM> zy%g-7oK-`7?Da#m3~WPOZN=?aWM%NBf+Ro!cY8l;WRSa?hp$ACG|L}e3Gn-snU4ke z2jb@{&0?&ngH-VJu}2E=3h|fyO*ZsKj}Su|IPxK556F4FFt-=6ra00-@kkK`Y8o~B!3I~KYI8Y zfJgg$diK7a{yw($N&)sBeysmaVQ2eKe=mO@w?E<7+49-D*}H>KU$9sH|L9WXmZr`> zJ+4yV=(P{#GkL$);1`9F);@o5kY=_9wC&VIFGfEfEbUUu#JPAh@G8-jlIaf zQQh+J^|SV{wZEbQ$$6bY9+aTHkf@E25RZ_ks2GosfQ>MZwSWzZM_9xfBoMb1v$GNS zHwtYZXK++nyZyVWD=IsX%0|rE#v0_}v9}RI@d(+7qIhgXK|YkVwYaE=s1Qm_!2S=F zovnnjr;oceSWahmYe#!NFAv8*4Oa=5kkh#(%_6{y`jOFtyfK zBNZh0;{iq^q2Ob0?dR!Z;OXfm&2l9QdFA=fW=(KH*;)HpD_Z;6gQO?{K?#181WLew zUra(!R05nCC}9cIzu`UYoE?JyztC6H2PySe(N&#&!Ty8)nEskm`u5&`UHx_G=KN3Um^Hf2iV*F(Ft<>)nw~r?crz-t{;C7*nila{||$~8if+DaS*fNL5Ycp zgM&dpoX18)M36_+&e}$tpI;mtR)0nHPj+8V2fsjTAA31RFpprazybOvSI8TGmx}X0 z)dV`(U)2Fj84o{-=U*ukVd48bSiY+j;~&vV@%_K@A@v9FZ%Yj5_m>S^y1*T-6@Bh;EzjXaq8ThZj{~KNZOV@vuf&U8pztQ#oTe|T7 z^)hAe0X_i*g0D&mI!F!hH4Dc^T}2V70PX`Z(;brGpasuM)x;M72(DfIL4apj)Swa9 z@0O+#?ixOn>N+jgG82TZ^0JJI6fg)d(sFSdVQN{y_fVMb8g7$#g2IT!+svF%VmKwyYP<6VRz z0D*~7O2J6c0OTR|e>5Yc#u1938TOa;^2!PH`U|^yg$23(V#uHZtq3&m7cWBU-~9eY z{O#89^~Z-_O|l=ffB(h?9WYTHUyEfY%6>mYLZNWfji3r*WHcO!!7T1=*f&dH;4Byb z8r}Cc*Z(-u@~U?yYN-Nf{1q4(L{9)>LGYqCHwZ*xfb_N3082dRL3k&<80!xTq^a`eQ`~3Ec_!^cNP+Nc7a~39$SMjJe~*m_RutdX51OzBdXP z-?@zy-vooeV9A{y%0d9|cUKa1y~O?TkUO+6M0FBA&kGMo_k0WhP1pWfvw3-Xm5%l| zr07W;IMS-Y&y-gm8gB{)ztR;;EG`7rHM2{BK8(HthS)WoE$-L?fx_>VFWtnfQv}8V z(bg^*_{enz1R5npiavbQqzHB@#Ep$Oqy#&C2uFqt&9h*vsA=!@?99xsOM|#`v5U`0lZ{MDze{#q*P>X2b>1xD$)s;I+aBvov`1n;IDY|{vC$cl%)GHE>q&D=h30Tx& z4WR=iz4!95gx;U^wgm0UJNQS1$E0Xf7$H-X0#es;2M!{7=kqQHabO5SsxGBPgz99G zq#VGnL3k}6tIj0=%tBB-E{sfgixET+bjdHG-JkP-T*SkS)`~5Xp&&s!3L!R%>p%jH zU(7$nCWevK^z&Xrk8Tau&)P^G1=pO@pY^)Q19H9u3>|@iXTFXX4Tq0R?gA`9P7YDF z6WR9SF>12qjDk%FG>l}3%jl@ zb>M);uX^(iOE3ER6EM5XG!U?WVd~bJNGahXhYc*ASHh9cx~v#QVzpq=oXm>z&+9-# z$D*(s3{lfD$4>{+z3|=pWl_J&9J@|)po$UR|n>%qtRR&!}7(Kr;vaz*K2_9{oPNg;{{9(>A?Q^|vgci^PTgX%}z7@?ao+OicD zaa(Q4MkK2WeKZnvulR^e%0Cj4-)ytqrR+WzG@JTa59rm^6B0J^1Tc4-3;9kR#{+tm z8Rx`Q5Je(9R)@VjJ8w9> z@i+PS+3)-_;5Az~Kb*m!SpQ2?=3TjEN_HGj@koM%}eL2^vulgAC`N-Or?-+iRPf5W}LdJmFyLWk!uG@7)(x z8T@YLlMma{6I%pqtIY8gtx>ksT6oAaoL?`MznJ68ky zd#HWB(T7;LjEf^v4(CFj5}+n`zy07wBk%82eUPKGF|Hqm#ip(^hKd_t5n!Z4ZO3=c zH=o|F8o9*9Cf+Ul;kFpY5csLI>V2FYHN?y3hu=co?+{iWO#()F+??I)RF@a7;YPD< zRXa>`)sVd9*3Gw1BO_UT{C}lDadWn^pVY{2uYH-S;$>2FUViU9?07^X$KNs{d5C_m zOewZ&AlSr_MN{zu57M32K03-YOgxMGD6K7;pB%87XB?td9dCw^O6!FRG5*W2HQsc-G+unL+ySRwa zinZK1lfZPwGH~%GxaNotjpxA8Io_e13@-qnv{R2m*dr*g8sMO=Dqz_;inIBmq{9r+ zum61k0{}~JaS_@CL2B{A0vtOPL&Ae~;C%-`15tL`cncBT2b8dTFvJ7=&bXR5aS}sk zDBMYJ67XWfI2mv=YA=2|xlNc=?&ygIFkVnNeUSX_PgW97IV&_URtSt9FWqzpAVizn zD#{DdXekIRfk$GF2#(AlqgLE5P}XU>iv`zk*V6uYdU~5shy+PX4xC9@g-c?B1Y%l- zO8YiSJ=z-HG*ZUYiX7=n}n<>Uz*#hEHx^qA73r5I3k%u}r#Xl7U) z6Fu5c$h2JY{ET_p9bwo9C9S)8i9^(8bF@W`T`?bibCh^JEpAG(1VBX zn~sKOGf;c?0bxLYQ)(p;Y|QJ`NgQqJ4a1|5IxV2g(+0-Uf@lHZ`xpjBv=E!cceQ#4 z70rxbjn75z^6>%1xFg9;l4xRWsLQkLx+Na?yvv!VUL@XaK`45Jp-~zWWK*clT4vAU z(j7x(;c^-Tj3qfKPvU>fUV*~luS-nUIlvsSE)1zdRqX_h$=io#5h?Gb7KdadwwIb*SfPM_ zpwIgsm>_&B6-{`r0rlZ3lZ8v?QymCK9MV0(o;ltYQaHYKKp9KiRKG=sAc{vNJ?p|U zp0`*xLOIFk{6cYozKe%|VT?geq&)n|n&k#Kfk^-oYheZwWDZ(I@H0kByMVE~WPN8GleeJrSf_Zwv>B3mx#l&KCpzb!-1L)+ zT3I-oLsLTb2|hC%Nr?s25;kr_Et3=Gi zH8uut9&zoUzH=Xf>qH41+OXJ7yK21k4B{!*FHB%Gt@l|JNlOegar3oB=UdbS|B5O$ zCb0));kn>UinzQq1X52Ny)EjlFSO}vqP9mB(>q;S8{bnz8_ZVY!jb{iPUNBq-rz2E#rdE49whG58Tsw%M z00))=B|rdM?2uSFqSbBOt?xu6PH^ONI?cyJ4Aprm>p#5=j}}@W`HC@+kSBKra1gg5 zr_sJ&5Hnoz@fJ5Qs;9t5C7x3X!j0!2K9j`%pdoQi!$*!`yYfSjPSe48bChUyne3Y5 zu)7*!Gm;L447C%L?}7H6YiKr|wVUSh&#v1m&q_n#I2?IT5ojUmN7C!gTg_wOGI1oK z9!0j#!|gjh48Gm~kV5^=wXm|ldqPwOCZkCY9Yer9Uk(LG!T#oMBjUsvuQnW zt*$5mcvJschypNSoNkmU3C8MtodRZKGQ#+v{T^V`(7=S|Yh;3SUu&&_48pP=0MUvh z>$hMC&Fe#04p=pT8DQma9!kZ^uQzQCYOFD1jDvuW7SMRuclubljMs;t&5Ii&<_923 zI8kn3qL3U88D&|uZz%q7BiyUTH9oAs(9wbK>1_N98 z5XCoHV~WFcgBk>%KpUGGumy+2E@*z+#tpjpF5}b?*l0v^D?1XdJ3EG5`UYdMybslb z3{vLuWdWVzIQxaLoKYTU7($&4kh}%#z05myB-?5)5RxTDbE^YeED*)z?F$o_L^Wzi z8-@UHEgM@TWd@ zrU|*}b1fHu;ZU@*=e0p?2-}oAZu=k=+WcW}>Oxd|rj_R)f%yW)xNH~?MVF;724M@9 z&-y6{T`kGg1yVJH-+m*G9gZI+SRkZ8v)KZJL6BH{P1Xi1-I~qo?~kNs!wbnyKW$i(WO(f<==X6hW*OMg#Uj9X3Z@^g5N0l>+C1E9LF5${{VYgD(; z(Rkzl9kqg;LD>eO7ti<;J^Uw&zjsZ;%hGqekL88Q4EdmCdOp)U{dOI3;pwE z>7dMVz!(a!GJ+#bwpG6`L;#Pe{HGfRmVog+G9FieeLFt8X^t+XfNEnK*UEbBc{v;j zXTq4o0tF_9kH#TBLyB^0fb*9d5l7IV>JQ>(e^RVyYT5Idq}_a8l6B}dq)@o(3>dV7 z#FE{gxv~yXu@Bw`>p0DZK|G3}Jh%(kcn=Y90S@dVY_m3MbTL1^wVT8@w%OrrM z2rHulj;wGe#$zZc*|+?l1aOYA(Zcc;uyW!g!TINeXa~PZK@=YYR;#R-wB1no;8V#H2X0DzyYSNrY5&kem(oMDOb!+ih8Tia z^)iE{f+O9@8ac4qlZ0)tQ+^-ZWqJUyTAiv5jSIzs0^meVDE8HcV#HmC@sU^S)DJ)2 zCs?Z$;#{C>*rUjV7F6U1IHs%_@~OXE5)h;ZpMXlh*?|VE>>YM-*xoAvRsq^97`N5L z0>D8O8V|*3C!|7?^8yWy4Z*w^I1`ZZ9STn%Zx2%ebhChr189Fmv_Tpm4~NFf!`fqt z0hTbpiUf(dApvZ~#N2t9r}FyLF$N-dvNd8y9Qi;LX~|t(amxsb8%rYl94J_aP>aQd ziwo-l8(yT6vRwm40SSx>3J^j0Ft=-I28 zk)lMWlMlWs2+mnM)9)YvK}%l+eLsO_HOgOs(0gsY*a#|_g4HSn3#O2m37>Is>wK0$ ze$XDm=6|wVPK{v{{Af;z9*8AjhM^wYMjo-m!jYAoeF=QRc+8m0Fpqm@K4rk0?d8CG z$w|L?m|+N+;mdb}E1s|vtw_lipPy<%23K0b#QiVC=M$tNqe2Lvqpp$$={8Gy@Aa>GH;a#$-xV73h| zD%W>!#QZ;$Af0M`&l?oOrfy>|A!DvF?c41f~HQ+b#R?9UR%I@}N`14X9~cT^kW< zn}8vf6yT7}y>cpMHa5(b1o_ovED49HWNg@xW2-h*RoljRRW)R(OJks|PfJ#Dfg!<& z|Cm}H)5;N0oPF-IIbRucH~GX@APEp``YE2B@pb7>(3r;aO(i%d4f?9`2$?}Q=5O2J zXW+bx(6y*)%;d|zc_#)Jg|%K&tlkXKZ3Zr=sA~dNw~?R1cka<-To*gmgD5WHGo!iNLioG- za1nR8Vu4QF@E^?cPjx6NJ7DYHK410{LbZ=@6vv>4W*Q$~mtw{5@)vs%Nv_k$4Eit^ z8UVW0;FwZIeb4bQib6mIPZ#1snV8U5JDeuU@^EAriZ!ed51CGiG5Jt|d%@+pr#6|B zhdEzT_<{fYOJ$7YLH@0c2JrPG1EM8&a`LLY6IcJ6Z^E2K%$*{`-4hQU^J_9}ICSf} z(wh%`w^v+eaoHpHnk*4A>urf2E{QF#QTw3J-KL*M_m$Ds)5GN9>$jvigA~8~Ua>;$ zqWLzJI#|zksQp)Jc1%JW}WI)z_#;D^MTHkEWS+~KvvqN~mm-9^xEPZhy))*8ZYQB*G? zq+IIB?{)4L;tD!s=9DzpHZFWFQYF8SfQCRw-a+G|I~K8}t&(foYSbZ|NG$3}nV-tF zp#!+#Ico{6#+Hm&gG9&3u=987)|}kh(WAa1rNO`C09_}XXav+{UdBrW+W)Cjkebjz z=WA!*p|4RP{wM~gZhLMh9HJ;k<}Eu+ztola`~Y0BZ)e>T-ZasCz72)zy#bv+nKXer zu1hvvFYZlMpYmXC*eSVTVrGSF=E2=P%_b7Zq}?cS(Cmfnk)hB%r&F`~1}IphXa-&V zN4Wzoq49|5j)%1VuU4yo0#c!92#L!?vl1{yJ-m=vz@A;|tGylolTJ8NT!$Rm9|q$y zg^PW>hvgK~6|}6#BcZa!gUO2`jF`-$S2GFG{IxEXrO-}`N~`R^`qB(P1BD~ z?*av>!mkn0v}7_M+bAX6rPy&hLm!UB$-{Z4sw22c#yS5m@8w$XtM%T4yOOaa(kUx$ zT7&3mpJ3X^bNx6DQ>{ajr>6Xo;KnaJ7BLwg90PP_bs%G@(?ZlvP`2Q4fS=7+9{V5# zxD%UH>geFLnag`*^$^^m#TZMFZ_`}lIU>-623?A9Iid_IaF3Ro60x%o1|A%w2s?4J zgy$~|VS%pMjBBvYSj9dL^{i~9!7m&!Oo z7$P=hsq3>&K=Bz3xcSUWpzdC7;;)(anRGYPnoL?pE0!@f`C+c^36krs{8@gscU~|- zLAv0Vd>JL6W7k7!F&1(3e0%5cI`|IJfUrp+VCuvLrG-(_O8-#X%`1D#YBhyQppOM7 zjGXGK5>HTjE+_i{NiU(om|2R6aPZl~SQ2pG9eFp!`Y34M19o+Rx(lw~Oi@5Ik|h=y zRw90Lk1v1RrzHD?3Yp0eA~{*TE63K;8{eaIn)~P-`S6VKH--~`0&tVP7Tk+;VUU@m zfWj&7B5X_uWqduseReeBHDXHlqX_|{#;T?Kb?o2IZc;oAF3L5^e*7T1n*|RXj?t54 znc0q8m7sPwi#=8HUA-S}*dz!vLeZ3)`GeAl4jmjhii(FbcgF1!LgBTv>*X?i-|QcY zhrt=a0-YAp?=D1tYy4di`2CU;?2uIc*}|`~nuBSuBC#m~F_!SsNQdY@?ANKH5G-N! zmf*=pp&H+tVS=0bC%acTr`O14?E5VvKXOtR!IOnrGirI&g&I;RaG!}xP7zKjb9JDi zX4uVH|i2a{KgEWuXTXQK`18hny-P+u*mpWUdtscupc;{W#io3v7PcRaY`^pBM@BIbHpaYG65GNoa&k=rAQV5K+19ZdW$SIzH z7YO-3erMQ!Sx1rJvoI8np#00+86Cd}fg{mQ2vQjk3@2cY#syX9U-`;>j})3QxsRXj Rk_&*JTS{7rujH+w{~w^s)iVViSO!hTn4JD%xWs6ZLWiOH_B1wr9 zr6jaTvZYABd-Qpp=kuK3_nhB(&iQ@+dpgIN_kCa2{kpE}bzRr}e&6>g)85vC8zG8- zAc%V(!ITI=OpHHgc2+P`W6Hi0g7{IfPR`*(QWTOB8shC2NJfUoP{>Gfw4XNwMNib7 zKNu;~#&7n!0iguLA>9k$ai=58XFs#nzA$++U(k>CwmF0xRO^r2F#2t{aCEbpcYKeM z#*JbFqnauqy`!~>n=2by>*2p&OJy4xe(xOr+HA;c8p&}uM!fn*1GmaX*{+U2llK=o z+Z{?C!{2>LDv*5X{ATjQ4`c)XIN#W^`Ing8nK|&cF)3Sx1&`|ro;wO}G$gqFW`|4p zB+~USeGfhR{dXB+`0#*j<}oY2$47J5g{dzrio^A~j_PH?tY&Z3f2nv{x*LTo>;3qg z_kEkEiA`DQimal~uZa!s-w(CE8y-d*+T}(W58Y`kTZl3?dOX1W>x$gvpPNE&zJ#C* z%~zCvuIczZ3wuAfH+CRZ*GO(vHGd;}ne|4a#lgNOjVkeZhx0aGuGcxO$^<;LGg>c6 zk~^C(Ky z8xIY-hH&d8H1(b@b1Es#~7>IpM<@@GK#u)cQE}Ru8wxb?Nc$&=@5wvzsT~8bFxpz;J{YO6~o}kgKU9f_$v+f-hW%N^^f~#9YY8S zf_Zyh?(gEz`}o!8>MOfCi;>!QGtLq7dwqD1e$U%k6ne6tW1=dp$mEjH%~LZ!>uEgX zYDo|EqVuhqJX+`Ka$OD>Dt_HRak}M8QReaCk>&$;0$k*Cq;Fq6%YI``+b5#<@cS3^ z2Ypqjn&Hn!11HN|%Qbg(Du3h@q2Wgy6n|KsUTi5OR`tB_wj;l)AJX=hj9bxczLvM- z^|WE;!H|EZa|y@eF*e5n;UmnpyZHA{+H;RoaaQZ#uN7OcS}h&RJ6oP@S$B%Q^FfpB z>IL4NMDvDGK$h~)0p}lMQK#XuR&|OE?uLgZbXM|Jz9-#MZs+02%zm-|T+(9i=0W~R z(%!T%d8s7%S(>?v;6{0qb%)Ev;|&pa^xkT{s+UfB&EOzuK zzd>BBlwg3$%iMG4-J}H;v|*IXb)kyym;Q9^zo@kS>C?I?{nRaPi~kp_4W5#a$+Wr zRl)5%{KoYd;7|thJj|rcvHK zdk3vTpE;6iPOE)*tp6#!+c(&|@Y8F zF8k&F`FOOnBVUI1s>XepIgujTh{AEWW)k~NH`ykC$=;iCH#=bo>#6il`X?RcboM}l zp$Zb`IiIT7`p4$AdfXukj8#6DmnK_MUd*{3md zUN8-2`i5c@b)y)ivaB0-qUqyz%=xONAZZPLU%hkhtG}7%Lir;1AAgv#6#ncrl|LRU z7EnNO=U3pnG=0d-^^iuhqhEix#~7UBam0Q3P-M`kI<}&Cm!PQdRB*Vpa0w#&;#e_m zBQ~=BnlNYWf{tYAImcP$%XgXKUQ9~2A13@Vu)j00Be4FH^CjFJ!fM?ZjL%)+B3w9o zNd_5p*G4|W^*k5zzK>sIKIgT-Mf@ICwbiV&ee@T->KqEWCI(MczYAhFi+dLHVd{bq zYTEM37q=Vx9_1=F-p9kxZx-TATEjPOK70;;YW%tCOBws4sf8~k7w67bAJ{ta6cO`6 ztHg2Vjwd;0i+173m+$=CTQ$4SSoXtZN0(s*-e;_KGnTm}YW*|aM{!q7hKVxyl&3Ob z&p5WeX55v|EcGQdu~#i!wHaw9BnFy|<^?4i2RlSV_p&NVg!czKAnyk|aJhaNA78Mj z`$Y=y=Dk`-nZCB-Q^eEmN3)L0Md=hLy%&w@ki3`{i=61s@w%;Wvo#HQG*hR*3uB>H zWk4`$cVHh@Ca5_co2L%67I!>aRxA3^Ul^Zmr;;#l=r@z&_xoAzSJ;p7zVL=7%}dah z-^`5)n?vz_0sW=%IMDzb-QtGQ^U6veB%}FvSF>J7UV{I;D5BKXbop@aw;ehWrv$Hk z;6KZyB+U@)F;>!F;RY!%6F|(|M>IVjcYO`skr<(eW{i84=Rlg%70ZIbrVwjzGp7p*_rA%`fBENRwNe{&WCs> z&u6)uub^4a;Hs2+?3UFywu}Q? zj4ny-KC{tr?xT3O*qAI@udO>bOLiV@V{Nr+~l$7BRG zn|&Ry)d@6q8Nb^%UaF66Pm;X%P$@RpFs&$H0@*J1ws(CGy!v1k++z2*hYdBS{!a5~ zgw7B2M5NCCTluE-IGvMD)~z$j%u%DPXZ%fFW=+^U#KNW&yu*$addj>$;$x*UarH>h zTIK%|!D8j-o7Nq;-g9uqE}qqlfD`73(YS zald@A>xporquk_4L+Pp~E+++g$yW|>%U3@a6tY?5pr#YhU0o~vAuLQ>FHeEhW3$@kNDHsPt)=bP^ILEk3|e{r+cXG^g^Dak&}4YY0*$TBjGq9!JK+C2Iriknpx%J zv&@Pz-U_lBBa@y`cj<{#q7U5JXW4L$oi8Q)lWf$_9wGf*KeZ~6waj0=Ee;?$pPRqz zN(q8lKk4YRd={C$9`x|gL8GLDEsyI@m8AE{z}rT`3Y0cpDCRoP8)C}K)?V{Zj$OAD zH9AnZ5SRHQEbU|Gxx&C(QVEo@@prk0T_m%)1|tJ9DrIqVXyu>#RyJL?R8JwIZ0?4y zs7hO?&iSeM3C~2F-D4kq`NFBYPR%Sz+0LJjwTiQzu6$m|Az4mOxj(t4dy(up%ohl| zWY4Xc`uaU#u|O%%PtVUHeCFg;NySWOn1fE{Athaj^Bp=$i?ty5+8W0Sx1pA`j7UiLpFOoR=dap)D-o@ z?@g8KSgN~iCxw~>O35#-+&*wY?Q!wFl>;|gr<7`*+Hz+PL% z4=ejAd9Ef2^TAak>fsSq@0>pT5J6pF?%`Ii73p|fm(fjTUK)`|IY}@47=$ixKoHNu;Iof-)idv_DT6E99aK=!JWI)9y~l}m7X+nN%!n!#mGxn8oa%- zZ|(kSeLCPUAZhf6J$3z;CSv^YYdMuDi-`oCw_IvmRlJHY^HnL*vRyh55-Iko<${x`Qu^+R zIR0t5HDZ}a9(lyiBXX5Vw%k>oKgPItMD( zzorWM-s-KC8{XP?ue_WP;E0W@bTm!;AoOth1$10)%kC324zkSKx zj4W--ohRKdHt#$XfoWUeJg+W;Rz95^(A}NWTbpvS=^D?qWaK(*`qMQ1gY=#)6?AjP zx2c;_Ul$A(Uc>N}cb%F7nCvwk5_&y7G;b)dy78w{VW+y}u#R^0U22QsN53zATU8!t z>UjK1CpN$10aQlN?+d>t{Tf+1-W)!((L*|LMsPZ8`dErGVY5GCd{%47>;y}xh^A^y z%rvIKdEUJ(#pQv0=H<-YS+x$GvmoU5vg#nOl%f@SL0 zsZKQ8${VI`jT<+{3~i;TToEntaB*=aPqP8H@6l0qJ|VwL{Z_xj)x$$ivs?a%1eaQo ze&F)T*~VJeGbBiv+AJ2GR#L zY%n$y6SA)#AvTok7;Ed~85`iK<0Wlmh|rJL1pqVwVuHg-(MrK#yBQFFFigo|o}qq}aKDgXBmN>%_0HFUk?3`E5e+> z9iR%492OE0>Pa?>BnOA@{yT)1=Rem|B0>YV!}0P|AqSF!fNB`9iv2f}7W-`M|G9!e zfsbDhWqTDM``25!IW4+WpG_=)~)Um3bO6sZ_SS1~@m$njFm87Mn~P^sC~g< z;iOLEBgT)9Zdj1B9WCaUKmv+bxjRVB@Yr=1AuvYdugfZkhHL*zd_iA`hlt> z1^(SD29y_o!m4WNsB39@DyfpRfj3xnbtP>rRg4mbtmTbW)lpMd_14*j^77O*4+#w- zfpq!>k$lK1lwhB20fTT|WBYvu(yGdsf6dqjlES^g0?-3~!CoOzVgC|2`2~?3!$}N2 zv6?!Xs@gglSRE`@6|1iCFQo(I&@fPo3{)&eSxt3Y!bprR2nSG0VpJ*s*q#T`=$eF* zN#P-(P9Y(I2GR_tkc^f86x)D?@*;(kOiAHn0E$sn)5T(RF{(~jZCy32u7-{hMnf0# zH~kPVKku0Tmo}q)kotd;PVfr@_G7lE{`8b1`PiS)pJAZib~7Q7+ijss^86D*7%7tM zwe2Us`Xlo6B?bGC!T#}A!Tw|3?|&!;EsUlbM#n=(Nk>ZqqonQ)lBeUThE?+P^z`-s z0yVP7pQ!$c9v0#q9z_Zz8~Xqr0au_vx4A;f|CK8Azk3tqOJ?K&P^N?hmGLjiq*eY3 zR)w)+{3BX@mH&$m{cVN6Z82copEwITXcyl;Q)8#- zi7%6`*Iu>?Q5{b9FRH#8yq-{#R6#f^?lQA=`12~$jZCxP<7c?u$HHWm-u30&Ilg)) z@%PrRB{a-Mn1CzF*x^W}F|8vjdIXVl$S^}5%fgPP@=9A;!$kHoaImX1J8T65GE7Hp>^ckLmVR4V zgIPjQU(|*8qab$Np|ho<(F_leWas(#(3zc50HxKoP=OUQ3s1q+{kUi>^eoak*=#b6Inwge4RXIRoTp|ixqyjv4LkiKyMc{vwq`j@oRI*Q1(Xe!p%{+vgT37Fj+>jxB~TD3 z7WFLoBYHqjD@Js-2^7ew>3p|eg-Z;x_SzK`B^a>#`htG;z_;;CG_W|uwHJYZ$&^9yX43g<}u(1v~hPc?rN~53R2Eqb};nB5xV8wK0eAu zZ&SuYyb1#vlkm}z>g7!tCU$gJ(&@*Nd_?<`a(vDL494Ii0=dy{-;!ud=~7cSg{ZXT zmCezlLfsZ~z=kv;fCcyyrk@=e1csH-RdSaq#<-AloGIxGU_d=F3=7;}c&!pxv+U4Oj#p`syh;B1QUb3Q&ItyGT9`S5n0hR&Wc+zv?4Ao`dMAmHPV z)lgg4!wk2RGMEB*QU$f2#H(Z#2JF4W$o)VI$f5O2CNzcwiCc%3Q#~ZFuQMcw=aQ*{ zQykEk43b_xnlziqyd90H;1~#ZYEa@%%30Tdy9}nD=vH(cVgX!V0$fk`Oz=4(>0QQ| z8bGglu*6_YnSqR4q9#LzXqooF*A4~;bhyk4vwzSI* zUT-&uNV@xcH_Mm|JDTvgMDv9rl8#(=r@Xg2zz97V%eK?G5=aB{OmytK%_ny%hMHA~g@V!F)e0d6fiyKMjq;QVS=VZUDcRGnnSFd_>{J z?x;mt+IE&_dBp2mjX~fGwC+;iWH)?LLT?f@G9K|%3gcdvvRyy0o@+67RRB%D0*d2L z6=Z%>l+wbBN0?8-^ay;83@`Dfur*nBw6<2YL3Z-{@5zODKsbD!14kG>spndM5ZG9B zk9^O)@jZQ8#5B(ja&e(dmwKMTHy&}`RM4Fln48iItoH$BU#;iD#?-SQ!LVzu4(y7i z3bF<-N@!Tm%7LX*5H!DskGS&w^v?NXd_+Ed_etY>O&!xFgrp?i7oaFV^hqeZSO&C3 zm$!SS-`D7;~pSw5D=vNdAtGv4qsI$4L6?KHidMEIME3`|J8D%E1pbu+e zaZqI4c#fjB`Pyu7X>12|1L=uAUb|qyvJ!~9zyl5 zXD|(d9ucN?N8Ria=~PLhC8xth>Z6Paxutr9E^7uMU11iSEit_(XvwT_;resiBJ-|O z3=uVqjq`RiLzE2PReysaI;z5EyKs!bM}|Dq#D+>UF8FM_v;Wa|Fhh&3XIj%|M?Vdd zV=pvgN3%;FS+FL_USH=UA}b&@(8mj#P!mV0Ael8^&tdAL3-S{1t(aN_;j@B4@z|rl z)`lkxYgRymdjZkJMG3hlXTMsZz}5is2K(TvVVJit9&wkAre}@x_s&2AC299aDy;$$ zMWGh4;>S|T|hWfdKOR<3#zwTPd$aF zn$NM+5=AHMa)7)6jVUtgw)|70SNR>;(G%R7kQy642w`j zQfU=Cj3S_nnuI2PR9XfTW;dYd7Y|>THJ*U|Wc#p-=`XuntdN=j%B(eM%1@A1RA!1J zU_EfK!u<@cELhyrrRnUF(840sl2IYUp-5PvD-bO^vO&jpz))%2yzZ^i^ujnfHunM) zT{xo8YZ3DBe{;%=FsxkxVFLJxnvshoVmMibwpooa-2Fa?=Wz)?b^IhvI(qjlN4V@_ z7B9-|Q#X_Q+_s31>T(K*-nFa2Wx>mH+j}@a(e%|1VI*{XRUEYk09W!8i(i(Pn#1Oc zGCeE_BzLGV8%h63IRSU~-c4tJOG-#PB7|~Vh!9bRYvV=CaB@Hl47(cNEZ1NCj-#psg`>?Je z&{{W0`q@kw?>2~dgqSeYB#hdhqQ?Uj^Mmr>p5|dk@?Kw06*SS>3wf*I6%3+;A#F8~ zTCuwlyf`d#G?WLm}geR!9(1)=J_Ee!I>1~ijyg~2}bDH@{88nRibA~`h6 z$957BC3Y+h&|xYFX{V$L#w^%Fm}P!qdB*twk^Uam(~RVDV7qDj|5&Jn$#8sP5CkS;*@}jvG`iCJ8nE(&0tHjB;4LB z15sEJHLRTdBl3{#w*)kbYz(J1SrGPDb%7+w)020d(qn=uqCtlDx`T)~Y7_*uAno00 zPK!*(*dUw`0Iq4^6oQIvK#l-1wNN+C8-eC$fre~RWR#ae0`#KydsV8_Mj8h+v=^0M zdWIG9si7e{7Y8J%{vFc-#4ke9koG;`vfD=x>V5*tQQtkhxCjRF5+^TI?Dq#5ihJDZ zXIFJUHSen#jH-4J=-JyG8$$vYUwsI4LalL26%y6&e-XZ+%TC?x%O zXaL)?mzhDu6Jylu^M|nVgVy^K6!t6A<5dt)Y;E-YoP?J5exP<7EztLg}7t#JJ;`$G_7af{8imBJc4{3=?i{IUZ?xlcbB|B!_RD!%;) zKLE;=S{U2N@rNa7=S2DH6$21Pmy5mvz2hky!nQQ=Poy)9;i?WeOBgX?M4r25lv#g7 z9_kWt)!x=pXubDo#W-4&1!{|k>%DPA80so=#n3lLVPF^KQgZkcLG^3F*`r@#fY#8W z18O#35?Y*bkz9596unJTxZkP$t12Hrd@J@pt$Z_^%aO3{HUS!R~py= zsHF;>(}x|6+<}i}hTGPqi+ySPXH~!^3=P_U-1+AGS`rg9w6(I$A(e}}ez|6}fVOm7 z9zvdV4Qf>VZEOH=#v2ol`rE97mp!)SUgfqswDFO;M%AruUZ5H#^I zm$qcd3suk5M7p?aAziElp#I%26+54OOMyW>qa0FcdEgBSDfEqAR%)u)x(7ib@lVx1 zuOw0qIxs;^UhAEspO#<{APF@PAiT*de}2(L3B|&^3_tsTw1{@(Ae)2vYdz%2_ACKMSI# zJgxa^RcD#V4^geT8#@oVLD0zNQL(y`Z7HAMcYyPjmj|LX>>K-P$q7-*ZakgfcK~k! zsAxX6_Xc1F2B~Td{0wo)l!tKEzb0;#6oBr5UY)F&^@O0C?_Z9P*J8mZ95mDPPU%(c z5*rKDKPLMo@^_L!2@}-LGP*|F;RNBHQ)3TLZs8$nhVJT{c4_Ip5%g5%MV|u50k&Fd zd~h`J6(2J=&|u5A3=$8_;Fj6}x1tW$pBr6YQ|-ytv%;`H;zowyeg!TZ8UIbCCi%KS zE*mog>uj3h-R|m&RD?|^`B#eA8F%gT{J1rqw)Rak@EKCbefieAPd|6T!4a)I@^N0o zCnKjHDJ+ob=;I?JTX%6~-F`e&9ll9{=PSGrIGR!01IQcj{cRA`HJ=fCTQXky*_Ra9 z60c*NB(u}X;LUh@aIR!_x=YL2oZ@l@hnx8fUF_~_LsI3&oOndxE_=E6_h#WN;7HM- zvV)i_ReupoQ|{kjui4jvU`N-Vi!1$nju#xEs9_xxf|(n8iZIZf59TM1ToK~(*briN zs!K?0!?CJ?!`6>id+A3on8GiP6iJ^q?-e)FmUB>WYR15)P}Jlq{@LxIkmRs~gtmHj zXHGO_NN958$~4OwAkNf@^&F?+=VX)134v0{%T5Fr$ejvQjw5Q?IPYTEP%J}(MH_34 zn7urFMEA!!a%p*K;8;jeM%3_d_E8z~yIXN9jnuu;K%S`c8@!jmM;YZcN6j_P!6yv4 zHi~@FB@mo|+Pqb4dC{DVgGXPnCw>6WjAB_k9j4f|#NVUB^;=jKlCG7NN@qckzhC&3 z{A)UX2T|xM%gF>;dRL4S*!cGCqCHQ5GO9P@aYCwjlZV$>*V4l*2re&#G}rQIOz%(8 z8lNbIf-mque&WplkkTQ6)I4r*dMuV&%b_)*0$Jz90;B@o6rt#WTo*u|$2!9B1X3l) z(|hoOes{mY4=mnWZvj?$36K(<-xU5{J3+gf&V)*f2zt$l4#a>MJC|c`Z&vn_Ha+_x zX-m^*?^AAkE1#FFPsjFs0iR{r87(Sw%#FHV6&({+J)aH1El!31F>Ii{SYG4j$=Kd_ za{}p}M+ql-(DU;V!f+7$Wd}PNlLEfh8XujaF@@~{5ZM|*HXcLLbopDuL7~9S%JD2( z}W0s{Fbq!2Y8t8L8!DMzexm|i}fC`t>I%UO~=RsCzZjkcD;EWcF=go za*h!1l#~gpXv7wnuzsFv z${61q_^M9nM>ejd3eE|E#|QR+tOF=|m#ZWmvHT#`1bq9U=$M?r-Km0bw!*jM1ee`~ z#=t+-dt9irHpYpM8rIT6GjQ5SVOdqdBDNx4N}82O>oT+*m5#? z)=qK#67?Azdsz442UeT!@DuGLr$k%vi0y;f^|y-jBPJU!M8P@Rcz%Kty)o8eK`Om$f8-v$nW69pD{J?ouAeTG=3i-4vJT)%|5;w&Uw6BgcZUWBImWo_1Q}Pmw zya>>}%=spE1Q#oCe}Z6hzidK@CAffyAhrrxqZ_yh(ctYLIPtEB)@Tj}4|oP@Pt4M3 zjmlua1HQr}K*PmK(f9KVFQ8^8fOlDv)jN5fT|>>rf`NEF$Ppk#o6;nC(-l0Y#(-wx z>o-c@n`I_A>J3j$S+D&Wb$!!kmp#Me@(bDy`>xNk&m`&ZBFbLubg(~R!@)DZ2){KT zfQEsqIX{U^lNG*@N_FU)3OeB8$hyk#m0Eh-IMw3PwzaG~$*Sya;_x(Dr`#$$M@B2REB*o5B z0KE|nL6Cs8m6-zs!ND`!355hbT#2m(5F}h2<>(aRKnuqO1o?Y<`*`3&A_F{d9ueN2 z5ESwL<`w5KN&S0ft9MTwf{)Vl#a?~dRQ+*Y+w7dV!-aj5mX|cnslz{ydX6S(EUvB` zZ?64e-F-}CS3%`RpPwgHbOwGpOnvK|zE$=m=JC|GlA7$ftBx)_Mvveu3lCs_6=$A6VrJDc+Cu3&vl{5+kA@0g#Or&k zP)*^1QLEmk#}DU!={dj6!((c`CcEs%g6Ct;tqX4yhjyfXTb%1zZoD~N7DQehdVcru zSB>%9Yw{s{K@ zLKVZQ!SJe4BWHcps*hEMegjh>=VdHvQ`Dlr#4H4acT=LjY2r`V*M9!7Zl9BTXJTZh zRO|`q%mee{nv2#BuuJ<&ksJt5>oQ1)SN=)?Y+#E2SQAto=HOZOqweCnxv0 znt8>KJ`hv8f-hn4Z!ve?+<}^m@KZmxn8^FYHe|4&VNOwWZ}$W;F3C~>IRY2Q9aWW2 z&r<0Z9YeWqHqBx!VwQ1Ss+()YZk&~I5872D)w20%->&0dCv_$ho14tg`q-dOl7h4P zmYH3y2(ocJcGq_Oi;lZ?7$-^wztB%tc9`6J;qZ2)$_oxVw$>zUJbJtG(!Qg2YJP6O zwR8n-Eqc%$HFi16FueG4X4~S7+-bdY;*l5ZEhUb_v&FrxL|$_Cx_bQQ`VC8Wzbf4+ zey|WGfuDNV+4^X*s^>FLeiqfv=+lQ?cE(e)^M#dr-^DC1n|AkZJ-Xt#UE$Jv;oXW0 z75nwttsPpe#FU1cBJ9!7{k^R|q3Tf{cKT%k3w+Ntn{H&P+&Z1cewelMSZ4S70hirUVwq$0)$b9E0 zd)ITZq6>%Kf0^Kx4km=YK6u6O?zCN;$X%Cq^Tx*9xxn1FpL(c!)B{gV1qK|-ef$Tt zxS=>(tDwAQLa}HpaAV|4`;c`bhrGzkr{yZOj`V0J` zOzqQLa5{efQTlr1HTmL<12*SYYkRM_2vOEua~eBc-PJep!U#vWerlnasgQhdm#iL- zo;1n-n+ES}OKM_pi^$gXhj_h!b>oYZ?jGd=67wcAq> z{lkmJa`*ZsH(vOdf6Y*R?+@hAMY+peU*LN#c<3`Ug9ksEg=HuE+_N8c_7l;)U0vxg z>SXBIwtL6UpDnxWp6rZ#{*1T&{q|g+V#gCVQAv7o&Td7SBX|+s!^hrhuq75n6tA3& zB#dnoeEo2PMeBShrrW_Hv&9|0Pl!z3RJA69M zMgebaqKrJXY%F)1rtpL)gqWn1?Uh5}ckI9}E8Yq_=)&Q@4DN`o1-Jm766 zr@szW&mQ>sc27lCCs9`-H1Bq6^ZEm?h~L+3pd#udPg{O5LXe|)*|-Jco-pci#FoJ3 zE*;Mh=y9)J`So`*k;DV7*gdV>84Bfn4eGFnRA2Q230kiNbMB#4g#Dj(9qE(0o~Wob zb#JBkfdi9ft-4#nszpouP_V}QTYd+n>-?eT--=tXLiUM_a3>60ixMrEg*)n>>Y91} z@Q8ZxsOBi8m^PQGYdxYr;aE%GvJ{Hc?mHTI>wy>Lp3@ymq~~?H+R4G;U((WK<(dNds@%VE6HHqWrOqz-%NLy*AY-xv{@78nHn>LN?!d2%Ye z3-7?^?%SOyN_*?|?R0C5_;>E1FK@qM4%Me*y<7;#SRUe)I-jRnde7%|7hTeLpY@NX z9R=I2S-g3Ly7l&s+daokT|$S~xEusPkz3!R?zrQ_A5Eji3oJe40~iY#rD%3%~7+~I!lkK%P!5<`m=3LO$$LO~s2K|8(=!nR~qZ;I)UP3}sNkz!4s^tyf43r_h%s-|z)&hbppsnXm)qADQFkUReRbILS>3$#!s*l^IOPm-d*#@iQCqyYXL&#lt@7T*bC$a1Ye! zA1ThiWv#0@kx@pw z-oW99BU(x6HxUNIndS8(U%H6jVMA`|Ze|Ocr3AgqU0$!ZzHWqncLu7^>rx$F@{lZ9 zWJ|@L$=hM9dkN{&GUENN0wwTdk4OBqYdn-WJyvWg-ymh`{u_pa2-hyT^Hq*d(>Ijp zdaWCmeLSI>ssF~j>U>wnWWIckb}u9uYTXl$_BdPx#T7U4}d z#oxcp9os$ts^-dSb!W7oDplR%EvU7WA`WBsNHtYaRy26a=6EJu1$Q1H0ArP zWk^8>A($dQdQ+$Jc27vou0CCFcF`f*O=`{cOj{L$r*=6SyKb$<2AwgWy7x*Pc^_#h zvhOa9XYQ$Ghs~wf6Ok`e_-z!WKE!?eP^v;~l2S@MPo-hGeGT(kyl8AUw{iT`WR?Ye zw7^4r(B|$#uf80?N2==%GDOmLDnD( z_~w?x=UCU=In&jqJRhRCzeMwp%VWQ>5@qDpDi<13jd8&f+aa1<6D;QXRru&MW%2yE zj1pU+kGldB)!8=Y2Lxiz#SEH%yql=Gry%tY3(+&xO7S))nBuRM#5OtEWDvqjZVu#W zK0)g6Ki5`s{#x)-wsPA-W84jT-6hx680(Q9-AjQNdmY=EF?f4Uz^%+U+1}f!&{Sp_Pi!DZ%DpVR$ksl;-dFxFl zDiZE}P&47F)whUb9iK08R`c&L|D@JwZ-fnO^%tr=v-0$z&2o)pk0EZicW0%Ki&Fom zoUhy5?_IpVCArAP*L7Tdo#()z5ckthJEvvlHXQW-e%E2puK#eW*_CW_jcYu8C&tHh ztaSYg*3kV@+OR1;t#Gq}7TLcn zWJT1Ui=H!`GLek*5}P`q_dz3R&t|Cv^(mpm)n?_gpN=rK1)F65&)b8^(uB$*oBk*} z6O8oj^p*U;y|S`Q)m-brir+SS zUk*hWo{dpEJ5gm?eSpO1Rc+7L7%)iMk!5vyAms3e@O(qT;EA{}7bUGGr0dJhcpJ^# z1vVS|hetHLqr>W{PfJ#g_`qWrbN(VaUw z9w(J$OWo_0T4yK8FH(|x_10&jFt$XA2TyN#f6|k)xyH%EHp`24W=!zGEs9B;0qo==wggS}0@ic)^Bg!}9!aR&Ee z=856dFLKEyp*2g#1SZd&nV;2qeJAQ&<6yf|H9yxtZMCtw$uWhUvRJDAlA{wKwa(n8=Zn3e{(;K0eIi&K~3E zfiy~B>_a}GQzL>maUTwDE}nN2xa<;j*3T|qLoups)T@|fU?x;%ww1nZc4(~8_E~;$ zxMfYWY3H6DS}!5;3e;+S?CRHQU4ig}_4AJk+mT}XZJgTcFZJLrk{e~?KG&=dY&E;O zz`l2Rb@Y>?=%~pN`F(EJyiA`$5G>A{Or}_q$$#G5fcu)v<7viL^+d_1F1ySX*Yj|l z(sR$Z+hArcdGnNcDdj!7$ROju0>XCVIjpE9yL@o)nd@uzQ|G-rdrdJ*P+(}FLrB`X z)pYE>hKPXPv*Ghn;nNVyo_6K6HtcYfZ{D!F;??~ZqYeo(>84f~4^Q!vv#!X;BNI}v z$NlD!msTrHEVHjvh+$Hb#xiK{8zdSuuRdT$W;?lWcHX>AK}z=%v*GN4y+$!32SS_& zFJHfG-6E3Q;BYtgqM+yIU2@m9oXNjp_mkA^cJbQ=uObJxqGMl06TU5MzcQg^iFvke zot1+n`UpN3E@8hf)Is^iVUy7j>9A$%AjJ<#v1x9w-G@^Tn*5Mn`rNH#V;f~XB-XY( ztS6mIe5Kk}XxKV`cSLI^eNZ#tX2tSrBw^7ys;0>N41L9SaJZ^S@mSqQLBgziQ{Lou z(<>wvRGrfOY)>CaP>Qv;esD>2Yfy`US7 zJe@>v!xrWZZql4=Z4BJ}eN}1h{;nRX5xxQ7rVWCOOdqqK>-hyUUtvLmNdH003W)5E?GR*T*l|Ai`L7 z4c7oXbGp@Jacd$WM~!8jY$-Uhe~<@GOI1sipkf~39i}0>4UIDja`!ZFFthj#0b0hg zheJXF4Aj)Z!^2g>HC6qCywue7_4U;V8fqFEDnLRdIMOeK7NO!7EXRTPg<<9q>=xu5 z5aR9chvQ(V2sjAdoPIPOn=z5%wjf5H0&|Mmj#hgt+JKuukhpyunV_IHio5c4nq z@|)0qs}bx7E+o|)Jc9j0gWNpK!#w;#%&PuR zQ(9WvQvTB5xWLQXH(*T*IQyR@L%coz;jDk+#u-^N=kG*-`d_&JB>kuDYr;Uv*4Dtx z-z}6w&)UpbmNUPByT6;ayTRI{o`)O3U02stMW3djuA-%`p{+vGcBQEhv}kVbo-}n& zf}88#psf9ZLuh_(9vmnDuIdeNwAA%H+_g1zRA@Tt8Y)`)9soj9S4Tx#ho zuDb^1?q*=&ALL5|%jxY)^YTy&@bg+5;5gjClwxfxtD#ExM-Rn^7UBsMz#j1SbN3Gq z{>PA`x39;p5E{py>N@&58hZNLIyxFUI(i!V{}9^a5flt!k%OvEP}S5}8{sUB0Wb%+ zmd1%x0I=2%tT7-5dC)@qgB<<+eT-!}q;MR~zlLqWhH|Hc(9CEd9srb}p=qE_Fd%3+ zs_PkOY8Yr~sSvac2!E6JclY*;{GX&b+XrX#YtgN|gTeffYhAzg)Gm*}U#(wFAMdrz zgu|_E3j>S%&s z&~gRA;HIUmqOGSxQ>VG=6Ld9y1;bzH!Tz2h;j|zRQ!n60;42WIYrewae=n8dKeGux z?7>+F;4&3;g33Q!rX#EN+gLTuiSehkMr!|uKaAD{{&vIwyL@?)sNJ@GlAfC%XP^?n3{gnDX!g z8BjPVmD;y090g?-(shTW8B_?JgkrndhQ~n~v>&htr#Bg$ zu=d>>owxSg9Nh?%jCkI5)xR7QAi*S^1XZ$)QHTI5{TtDuIBXsJ1LbQCV9Apf+ceJ& z1dIfw2QE+Z$H4_95>uwz!cinxha^EzbU*=U<>*nOYk?MQ81v=eVzDrKur1*5kI%>F zao7Ngo_rzK1h8BXnHZ~0v!zq&XoG~hjW8CJVA9QxLNw{j2ppSuwqS~J|x9QdhR zViW6uMlmb7oR0(}cc(tx_u!H+TC6ZZsk=Nhg;Iypwz=C_6c`6jxHWWA+rLE)i;JLc zyyUcs!xC@;R+Bu7FczJ081L%;RssN;k}=1g9x}yKXT+nZ13+e+-=Op?1})~3An|q= z3PEVDlOp4Z4`7}VwAy$6Ktq{}Z_)%%xFCa=lLZu>Q{cx$0BLs=FJaJc2X*u_Hhc1t*m(~M*gop} zF=(B;w)`2|D1^kDJVf)RIA+R`GPoy(#2&q`57Xpj5oZ$ai^IP0vZ!3|>Ga5WO6ib~ zLER(?|JGecoO($H>!W-X{Oa1Q&7#V^v!d&Jwelh)o{hqqjWl=Ssb!F7jyN9M^uW|d zu+B(JD4r=m+XZ>%zQbdE;8!8S)|Txo>d^jKdZo7?8o}2`;vrbZGvj>&xiSh!Y}W@F zux2Mf0sbHY_N}{mJ$geSf{(faB)eo0gyeXpxwkz$qlLsK-ABQiy#bVS1T;GLqq0U> zD_Nk9U$;J<`4mCTyZVVF)5Bbcf<_-vO6g{By0aQqd1ErNZZcbYF+JWj4btPuH5h0}vo<*`Pd5K*~n+qX+Xd{8FiRy;?bZOrJv zHVojC_^UZzctGTYH)!)DaE2*rV*UD-d*fYf>H7oxmr_nKm{Fh5H|p*n8M?DBqla9(1h(M%Zh2ltb{?qyMK zC~fBPN0UB&2rlD+2mhYdB#tT|nGzskG4WwfGyxh^j`s90&g@f#aF{r7suFSX4{jfr z=R-o=Pk!o1;~~AyYtHM1s1&{o26fTCJcRpv)vM&slKZ<0({29Vkw_|-rbJA zEM*C`(H?lkG|x2Md@nlTa*I3X2+nb-`oV3N`+z{cM(x(sw8(;`o5#R}g}SJNtw}}o zvNJ1i=(1->`8;OjLx;C%1Q;79j?X#!Z4ylaTBAs&)!R2WCtSa*!08g)jG4-!#bM5~ z)p*$B%ugB~GJrl2_s}$=Psf)Ao^xVwNpar}Y*Ez!#2=bsPy=PQheG;YfCHRg@v>5t z#jbC7Oof{C75bJ|CWhsHgqlW3!U*$7w(^RJE?Q_q630SWj)lGWrJLYakqgi=7yH&~ zrbPS=zNSUKx*J5`%S!tQ8fWU96#?eug^jvsHC1IWVON%SKRF^xB3@{F*CHPj3I~c( zx@d&xwRutcDF$xck)YhtPWbE!oOn%wyDZSe4;ywM6|hUnw(TdsO_zv|MRzaq(TM@E zZ48NcPd?Bfx&w=1dhwa10bo%%Che}Y*YlPEZp82!kKU%_9Q+C1v>{iv!iNq>8FQ;} z!bBGZXTf#R48Hym6jA=ewe*MfR>J(k5^Ym(iVP-t;Y%-Go-ZK@Hkbfw(vdbJN%>*d zH8KIole#ERik%QN5M+cr3qgY`p;2tPpovUG_tJ z{02T?gVF#lWAk^=665EzK6^~dpb$uG@mHEE*_6E@5RPJ+qjxrw892Lrh|W=B6sc|xbo=)uiM6+fRu z_Tu@`2}z9MFjy3lx$}geE}9%GV%dv)sYhLsxL01Lz=e3?=0&O90?e9cnts>_0|M9#n%$4* zF&OlPMZWqGR2~8xW9}c@xdx=IX&q_ z*197I=FaT!hxR$WgCJ&ibD7Fh(j*XJ;>3Oz`TrPZ~>5L^;>6_6Z?eYwcT@kG~03&t+w<#|yI@A0|yWnlW*+UVa} zoBXh1n&Uw0d#L=nq(KWtn-ehH55o3GU~CTvqI+`t}6pjiN75v?ik zo36lzj;s!&&=|Bu zKdi_>ICc6m?9>lF_)*Y5!l1Adnro-VZjsoOjuUtn*oEr7mpKL z8p}a2CAc~3&n*q6Y?`l3;{NeG1#YB=tF9$XBiUX;XDjXL3Oot(qN7Wn`^ogNUVNSI z%9Gg@(g3ma#n7u>JaL%o=HenB7+V5k$vnyPqJQ**XaoBn5iyeUWrb8T0Ad)2r8cSXCXsLqLk%_N5Acm7eq23;|S0#P3d=;k%FTTxQ{OP+o#ncgkTF_#$kfn z9&Rx@Gm`;Z2+D;NB;B*tfNB7_^Q&K{zGlbHCBZxcav`!{RZYJ%0B9bzfWd{Tx33|1 z0wp$^GPI1CmZ>}7hs9YF%p{vmJUTd&1OrOEu|qz!wc&%t+=E~l#m(jnKtwN`}fdy-*_qymArfdhrV;s-cT?gU)%~(8zmDw6tME{nEnD!*dqw~ z4j-D~j8Swkc633V}g=EBX8r$yfrP<+n z=NDi6AcLxNvR%^a%ZoYkMl(>-tuzO(6f2p7Qma($l}Yg4kJ3_{O81Ph+umC)pg6^0 z=K5aV=}_~sVt|@9;In?!?d5X`>p3;?*wldbmvm(Pc08S^r-;37!W|1rx}>;~xrwg~ zI@=?gLDW;h%9=>Vg0j*^ATD=q{40%N>gmGJRFendMr46FxZW6=lQXiQIfs^DU)!G) z0euX5P z^b>H%9AkJZ3(gu$hO?m7O{~;~9hz8m{wdx`UN2h)Wo9#z0(m7=k`{&b#H=)~;*)wK%dN6C^ zkn@Iwc*c--id%{yk3~G`gRHuZFq%5Yhe&RunB(crCax~Z$xZMll=5rp15=4#SUGy2 z%-jU381^unMgM*@fiM1ja!V4J7tfSP)eyPPGGzOpp?_WgpFuK@;g@xJpHl~HtA6B1|1SCxJwcgSyl08D0S~O zbwPdQKO~1O9c>0xn#fyj6rxbO%pQ-aQS?E@!ADu4N?0F332qi${BQ~yarLPuU^(i1 z71WM*12O1~;L%Jm-0HgKOq^>JKp^5^NF6qRY5rem*|FcWw&_#=m)>Y`W>ttg#%{%H#$=o<(0yq}0`E zl*Ym5BuKFOmyihhts9tAv)%?z-6?~`MLiVvA+f`$(lToo39P}g3V(2y5QWU9%v|o- z3PerG6#S3EDG>8!Lgrld__soj6~JY}4VWUf@Wg-+K<%i*qPwf7ku3U11=U+nGo^DR25sOfM?HD5JWn%bw zg(}8Db;|*h-!?AGDU`vpvb@O;SrS`iO~hP~tw}b;0b7_tPxlHnl#$qOoXa;h*VkXF z^c#sE!v&jjfA_~y-x{u==Nu*&8CcEpBhHG0_ihW5c6Mzhy64>hlfx#wzq+}YtaThC zxVbo-aU0D3=}ivaAs{6H+ODSZ9HCeuc*Air0SM%1b~z~k literal 0 HcmV?d00001 diff --git a/projects/Dice Roller/src/D8.png b/projects/Dice Roller/src/D8.png new file mode 100644 index 0000000000000000000000000000000000000000..600bd8821e9d0b20008e62f363602ffa10d7f1f3 GIT binary patch literal 14734 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 ZLBg&ibqrq@*8{*mBfZlnAM4=b{txPEToeER literal 0 HcmV?d00001 From 43456a441e7b83bd922e1dfc53251ce17e0655a2 Mon Sep 17 00:00:00 2001 From: Abi Franklin Date: Tue, 3 Oct 2023 09:25:03 -0500 Subject: [PATCH 4/4] Dice ROlling App - Added modifier and caluculating total --- projects/Dice Roller/index.html | 5 ++- projects/Dice Roller/main.css | 5 ++- projects/Dice Roller/main.js | 74 ++++++++++++++++++++++----------- 3 files changed, 58 insertions(+), 26 deletions(-) diff --git a/projects/Dice Roller/index.html b/projects/Dice Roller/index.html index 349175d..025436f 100644 --- a/projects/Dice Roller/index.html +++ b/projects/Dice Roller/index.html @@ -13,6 +13,7 @@
+

Total: 

@@ -27,8 +28,10 @@ + +
- +
 
\ No newline at end of file diff --git a/projects/Dice Roller/main.css b/projects/Dice Roller/main.css index 0becc22..bb91b5d 100644 --- a/projects/Dice Roller/main.css +++ b/projects/Dice Roller/main.css @@ -2,6 +2,9 @@ body { font-family: 'Franklin Gothic Medium', 'Arial Narrow', Arial, sans-serif; } +.row { + display: flex; +} .dice-container { display: flex; @@ -63,7 +66,7 @@ body { width: 80px; } -.btn-roll-dice { +.btn-roll-dice, .reset { margin-top: 10px; font-family: 'Franklin Gothic Medium', 'Arial Narrow', Arial, sans-serif; diff --git a/projects/Dice Roller/main.js b/projects/Dice Roller/main.js index 180b08f..62dfc75 100644 --- a/projects/Dice Roller/main.js +++ b/projects/Dice Roller/main.js @@ -1,28 +1,34 @@ -const NUMBER_OF_DICE = 5; const diceContainer = document.querySelector(".dice-container"); const btnRollDice = document.querySelector(".btn-roll-dice"); +const reset = document.querySelector(".reset"); +const total = document.querySelector(".total"); //Initial set of all 0 dice +function initialize() { + diceContainer.innerHTML = ""; + const dice4 = createDice('R'); + dice4.classList.add("d4") + diceContainer.appendChild(dice4); + const dice6 = createDice('O'); + dice6.classList.add("d6") + diceContainer.appendChild(dice6); + const dice8 = createDice("L"); + dice8.classList.add("d8") + diceContainer.appendChild(dice8); + const dice10 = createDice("L"); + dice10.classList.add("d10") + diceContainer.appendChild(dice10); + const dice12 = createDice("E"); + dice12.classList.add("d12") + diceContainer.appendChild(dice12); + const dice20 = createDice("M"); + dice20.classList.add("d20") + diceContainer.appendChild(dice20); + total.innerText = 0 +} -const dice4 = createDice('R'); -dice4.classList.add("d4") -diceContainer.appendChild(dice4); -const dice6 = createDice('O'); -dice6.classList.add("d6") -diceContainer.appendChild(dice6); -const dice8 = createDice("L"); -dice8.classList.add("d8") -diceContainer.appendChild(dice8); -const dice10 = createDice("L"); -dice10.classList.add("d10") -diceContainer.appendChild(dice10); -const dice12 = createDice("E"); -dice12.classList.add("d12") -diceContainer.appendChild(dice12); -const dice20 = createDice("M"); -dice20.classList.add("d20") -diceContainer.appendChild(dice20); +initialize() @@ -36,23 +42,36 @@ function createDice(number) { function randomizeDice(diceContainer, numberOfDice, size) { diceContainer.innerHTML = ""; + total.innerText = null; + let diceTotal = 0 + const modifier = parseInt(document.querySelector(".modifier").value); for (let i = 0; i < numberOfDice; i++) { let faces = size.split("d")[1] - console.log(faces) if (faces == 100) { - let random = Math.round((Math.random()*(100-10)+10)/10)*10; + let random = Math.round((Math.random() * (100 - 10) + 10) / 10) * 10; let dice = createDice(random); faces = 10; dice.classList.add(`d${faces}`) diceContainer.appendChild(dice); - } else { - let random = Math.floor((Math.random() * faces) + 1); + diceTotal += random; + } else { + let random = Math.floor((Math.random() * faces) + 1); let dice = createDice(random); dice.classList.add(`d${faces}`) diceContainer.appendChild(dice); + diceTotal += random; } - } + if (modifier > -1) { + const die = document.createElement("div"); + die.classList.add("die") + die.innerText = `+${modifier}`; + diceContainer.appendChild(die); + } else { + diceContainer.appendChild(createDice(modifier)) + } + diceTotal += modifier + total.innerText = diceTotal } btnRollDice.addEventListener("click", () => { @@ -64,3 +83,10 @@ btnRollDice.addEventListener("click", () => { alert("Please enter the number of dice you wish to roll.") } }) + +reset.addEventListener("click", () => { + initialize() + document.querySelector(".numberOfDice").value = null; + document.getElementById("dieSize").value = "d4"; + document.querySelector(".modifier").value = null; +}) \ No newline at end of file