From 50e57574484f6f603d60f88afc9fd5775e64b9e1 Mon Sep 17 00:00:00 2001 From: AsmitaMishra24 <146121869+AsmitaMishra24@users.noreply.github.com> Date: Sun, 23 Jun 2024 00:13:06 +0530 Subject: [PATCH] Added Othello Game --- 131 - Othello Game/index.html | 95 +++++ 131 - Othello Game/script.js | 331 ++++++++++++++++++ 131 - Othello Game/style.css | 201 +++++++++++ .../{Taash Game.png => 121 - Taash Game.png} | Bin 30DaysOfJavaScript/assets/131 - Othello.png | Bin 0 -> 121224 bytes 30DaysOfJavaScript/script.js | 4 +- README.md | 3 +- index.html | 61 ++-- 8 files changed, 670 insertions(+), 25 deletions(-) create mode 100644 131 - Othello Game/index.html create mode 100644 131 - Othello Game/script.js create mode 100644 131 - Othello Game/style.css rename 30DaysOfJavaScript/assets/{Taash Game.png => 121 - Taash Game.png} (100%) create mode 100644 30DaysOfJavaScript/assets/131 - Othello.png diff --git a/131 - Othello Game/index.html b/131 - Othello Game/index.html new file mode 100644 index 00000000..aa2692be --- /dev/null +++ b/131 - Othello Game/index.html @@ -0,0 +1,95 @@ + + + + + + Othello + + + + +
+
Black Score: 2
+
+ +
+
+
+
+
+
+
+
+ +
+
+
+
+
+
+
+
+ +
+
+
+
+
+
+
+
+ +
+
+
+
+
+
+
+
+ +
+
+
+
+
+
+
+
+ +
+
+
+
+
+
+
+
+ +
+
+
+
+
+
+
+
+ +
+
+
+
+
+
+
+
+
+
White Score: 2
+
+
+ +
+
+ + + \ No newline at end of file diff --git a/131 - Othello Game/script.js b/131 - Othello Game/script.js new file mode 100644 index 00000000..a44e058e --- /dev/null +++ b/131 - Othello Game/script.js @@ -0,0 +1,331 @@ +const whiteScore = document.getElementById("whiteScore"); +const blackScore = document.getElementById("blackScore"); +const othelloBoard = document.getElementById("othelloBoard"); +const restartButton = document.getElementById("restartButton"); +restartButton.addEventListener("click", restartGame); +let squares = document.getElementsByClassName("square"); +let squaresToFlip = []; +let isWhiteTurn = true; +let whiteCount = 2; +let blackCount = 2; +let noLegalMove = false; + +setupBoard(); + +function setupBoard() { + for (let i = 0; i < squares.length; i++) { + let row = 8 - Math.floor(i / 8); + let col = (i % 8) + 1; + let id = row * 10 + col; + squares[i].setAttribute("id", id); + squares[i].addEventListener("click", onSquareClick); + } + + placeInitialPieces(); + + let legalSquares = getLegalSquares("white"); + highlightLegalSquares(legalSquares); + whiteScore.classList.add("active"); +} + +function placeInitialPieces() { + const initialPieces = [ + { id: "44", color: "white" }, + { id: "55", color: "white" }, + { id: "45", color: "black" }, + { id: "54", color: "black" } + ]; + + initialPieces.forEach(piece => { + let square = document.getElementById(piece.id); + let pieceElement = createPiece(piece.color); + square.appendChild(pieceElement); + }); +} + +function createPiece(color) { + let piece = document.createElement("div"); + piece.setAttribute("class", "piece " + color); + piece.setAttribute("color", color); + return piece; +} + + +function getLegalSquares(pieceColor) { + let legalSquares = []; + for (let i = 0; i < squares.length; i++) { + let row = 8 - Math.floor(i / 8); + let col = (i % 8) + 1; + let id = (row * 10 + col).toString(); + let square = document.getElementById(id); + if (isSquareOccupied(square) != "blank") continue; + + let directions = [ + moveToEighthRow, + moveToFirstRow, + moveToEighthColumn, + moveToFirstColumn, + moveToEighthRowEighthColumn, + moveToEighthRowFirstColumn, + moveToFirstRowEighthColumn, + moveToFirstRowFirstColumn + ]; + + for (let direction of directions) { + let stopSquareContent = direction(id, pieceColor); + if (stopSquareContent != "blank" && squaresToFlip.length > 0) { + legalSquares.push(id); + break; + } + squaresToFlip.length = 0; + } + } + return legalSquares; +} + +function isSquareOccupied(square) { + if (square.querySelector(".piece")) { + return square.querySelector(".piece").getAttribute("color"); + } else { + return "blank"; + } +} + +function moveToDirection(startingSquareId, pieceColor, rowChange, colChange) { + const row = parseInt(startingSquareId.charAt(0)); + const column = parseInt(startingSquareId.charAt(1)); + let currentRow = row + rowChange; + let currentCol = column + colChange; + let squaresToFlipTemp = []; + + while (currentRow >= 1 && currentRow <= 8 && currentCol >= 1 && currentCol <= 8) { + let currentSquareId = currentRow + "" + currentCol; + let currentSquare = document.getElementById(currentSquareId); + let squareContent = isSquareOccupied(currentSquare); + if (squareContent == pieceColor) { + squaresToFlip.push(...squaresToFlipTemp); + return squareContent; + } + if (squareContent == "blank") return squareContent; + squaresToFlipTemp.push(currentSquareId); + currentRow += rowChange; + currentCol += colChange; + } + return "blank"; +} + +function moveToEighthRow(startingSquareId, pieceColor) { + return moveToDirection(startingSquareId, pieceColor, 1, 0); + } +function moveToFirstRow(startingSquareId, pieceColor) { + return moveToDirection(startingSquareId, pieceColor, -1, 0); + } +function moveToEighthColumn(startingSquareId, pieceColor) { + return moveToDirection(startingSquareId, pieceColor, 0, 1); + } +function moveToFirstColumn(startingSquareId, pieceColor) { + return moveToDirection(startingSquareId, pieceColor, 0, -1); + } +function moveToEighthRowEighthColumn(startingSquareId, pieceColor) { + return moveToDirection(startingSquareId, pieceColor, 1, 1); + } +function moveToEighthRowFirstColumn(startingSquareId, pieceColor) { + return moveToDirection(startingSquareId, pieceColor, 1, -1); + } +function moveToFirstRowEighthColumn(startingSquareId, pieceColor) { + return moveToDirection(startingSquareId, pieceColor, -1, 1); + } +function moveToFirstRowFirstColumn(startingSquareId, pieceColor) { + return moveToDirection(startingSquareId, pieceColor, -1, -1); + } + +function onSquareClick(e) { + let clickedSquare = e.target; + let pieceColor = isWhiteTurn ? "white" : "black"; + let availableSquares = getLegalSquares(pieceColor); + + if (!availableSquares.includes(clickedSquare.id)) return; + + let piece = createPiece(pieceColor); + clickedSquare.appendChild(piece); + pieceColor == "white" ? whiteCount++ : blackCount++; + checkAndFlip(clickedSquare.id, pieceColor); + switchTurn(); + checkEndGame(); +} + +function checkAndFlip(clickedSquareId, pieceColor) { + let directions = [ + moveToEighthColumn, + moveToEighthRow, + moveToEighthRowEighthColumn, + moveToEighthRowFirstColumn, + moveToFirstColumn, + moveToFirstRow, + moveToFirstRowEighthColumn, + moveToFirstRowFirstColumn + ]; + directions.forEach(direction => direction(clickedSquareId, pieceColor)); + reversePieces(pieceColor); + squaresToFlip.length = 0; +} + +function reversePieces(color) { + squaresToFlip.forEach((squareId) => { + let square = document.getElementById(squareId); + while (square.firstChild) { + square.firstChild.remove(); + } + let piece = createPiece(color); + square.appendChild(piece); + piece.classList.add("flip"); + color == "white" ? whiteCount++ && blackCount-- : whiteCount-- && blackCount++; + whiteScore.innerHTML = "White Score: " + whiteCount; + blackScore.innerHTML = "Black Score: " + blackCount; + }); + squaresToFlip.length = 0; +} + +function switchTurn() { + isWhiteTurn = !isWhiteTurn; + whiteScore.classList.toggle("active", isWhiteTurn); + blackScore.classList.toggle("active", !isWhiteTurn); + let pieceColor = isWhiteTurn ? "white" : "black"; + let availableSquares = getLegalSquares(pieceColor); + highlightLegalSquares(availableSquares); + if (availableSquares.length == 0) { + isWhiteTurn = !isWhiteTurn; + whiteScore.classList.toggle("active", isWhiteTurn); + blackScore.classList.toggle("active", !isWhiteTurn); + pieceColor = isWhiteTurn ? "white" : "black"; + availableSquares = getLegalSquares(pieceColor); + highlightLegalSquares(availableSquares); + if (availableSquares.length === 0) noLegalMove = true; + } else { + noLegalMove = false; + } +} + +function highlightLegalSquares(legalSquares) { + clearLegalSquares(); + legalSquares.forEach((square) => { + const squareElement = document.getElementById(square); + squareElement.classList.add("legal-square"); + }); +} + +function clearLegalSquares() { + const legalSquares = document.querySelectorAll(".legal-square"); + for (const square of legalSquares) { + square.classList.remove("legal-square"); + } +} + +function checkAndFlip(clickedSquareId, pieceColor) { + let directions = [ + moveToEighthColumn, + moveToEighthRow, + moveToEighthRowEighthColumn, + moveToEighthRowFirstColumn, + moveToFirstColumn, + moveToFirstRow, + moveToFirstRowEighthColumn, + moveToFirstRowFirstColumn + ]; + directions.forEach(direction => direction(clickedSquareId, pieceColor)); + reversePieces(pieceColor); + squaresToFlip.length = 0; +} + + +function reversePieces(color) { + squaresToFlip.forEach(squareId => { + let square = document.getElementById(squareId); + while (square.firstChild) { + square.removeChild(square.firstChild); + } + let piece = createPiece(color); + square.appendChild(piece); + piece.classList.add("flip"); + if (color === "white") { + whiteCount++; + blackCount--; + } else { + whiteCount--; + blackCount++; + } + }); + whiteScore.innerHTML = "White Score: " + whiteCount; + blackScore.innerHTML = "Black Score: " + blackCount; +} + +function switchTurn() { + isWhiteTurn = !isWhiteTurn; + whiteScore.classList.toggle("active",isWhiteTurn); + blackScore.classList.toggle("active",!isWhiteTurn); + pieceColor = isWhiteTurn ? "white" : "black"; + availableSquares = getLegalSquares(pieceColor); + highlightLegalSquares(availableSquares); + if(availableSquares.length == 0) { + isWhiteTurn = !isWhiteTurn; + whiteScore.classList.toggle("active",isWhiteTurn); + blackScore.classList.toggle("active",!isWhiteTurn); + pieceColor = isWhiteTurn ? "white" : "black"; + availableSquares = getLegalSquares(pieceColor); + highlightLegalSquares(availableSquares); + if(availableSquares.length===0) noLegalMove = true; + } +} + +function checkEndGame() { + let message = ""; + if( + !( + whiteCount+blackCount ==64 || + whiteCount ==0 || + blackCount ==0 || + noLegalMove + ) + ) + return; + if(whiteCount>blackCount)message = "White Wins!"; + if(whiteCountZ`9t|GsL)hOfT*=KNP*4W04raPTkFoGYxrmm&Te?3aC&S*q6pz8U7Vbj{MQ zzPcSXQn=$A@coGWtG4=o_0lW5V7LMAt%Gdnmo0rZ$?{EJ5_Ud}?4c0U0 z<8NJ=x@Ue~-pQV?3ob{v{7SS85BzcIsDce279QWcdYHqU{S8s9t+Xl&FD3?u$>hCj z3+(kJMDr$j9I|61=Qi?F!s?T3akLJ9g9G&7CeiNsg%dqWo}{2eWhm3Apr_L}|UweO#D#p*Y_&V z3wDKG*xB2Kvwz&X?N7o9?i7#8-X}^IJrsaKty%;g_t1~RW22kV%_fXl{Xb08lWATG z)%*K%n8rnc|I`CK&7pm$+L3SF9XjH>_MNZts^q$S4Xq6IFs7iv9d~wb#Qeg!VLcN9 zI`>^}ABR@hqf6`_<}-c(A4)=xQTxy%Zf|M2=g-V9OsGHV z7UWUTiSuZ$#@(L)mb=!xzGg;N6xaHPdzC*3R!HCErxwpgwrEG!h^H}T(am+hdmzr_ zQu`Jaw`a8pObKt=}!l3_plG zU3P8hqsm@UQ5z0C-f6kgS`w{7oD{VSZe#YF6hl@Ffy6ts_y^&Hto`njJzm(mNx^et6Pn(=B=r)7};{E zTC}~l^o4l-d6N9xLgRA4cB6848ch$r0Q?$PR23mxLw_m%w6&7`O4p>{S}E>Q-LCad zBCg5%x$s%&UGZg4nLE>N%qkmAx;ucmCU{7n^xjiF`~lhsrQKC8iah%HE);gty}g~V zrFc#TuI{RM8k%i>Xh2JrzIo|ekQx=R1Eqhr(UY2=r$b5C1nw)a-PBB8_6|XefZarY zcm435q126IxO^yBB!rvvjhwhz^o-PpE>A|xPw8XSO-R0O8oXhcB(M%KX`8+E<{e{! zgF`N-$y=$#9eHe%xwk7F$VW|$Auo>Ki3E}X>_cH>a$lil{8sKiLDYQ9X#1A_fmC=D8oLA%)I`R^S-Bt`av7JmTZjOuPh{7?I1sgpX<{uo_rs^o+R zj1$^lLy0tKTlo~APy8)9mM(r~Wz;{)s%!@BAzOhH_tJ42muIKN$?miJf;J7NJRb`C0mz%*yotveA%9B{J!11J(+j9MzF7>KT4AM z{Q&?0@}g3n!Olw0Qtu4exJhb)8UR#3kE8tN`fq>&x`8w-9T6SND^-G0s=qr}=d*aS zbRm!kiqcS;O-V*FEONc+VW9{C2@fS&U^Cl~;bFi#^$_@uEYp$b_*@vog% zgpRNu_oc8@<}P|WI8Z35+Gh~-{xCb$9NV%~fARk995g_z0Luj%N8x&|P(2K~6Kqjk zPsdR`3gE0v8MP5PNAiCP;)$RJ@ob$qnUXpxyHRggLrGtSNs^VpFM4aV`L)}DL?{%O_;h6xvHMs<*iCla+zJ!u*5(&RbR9Laxs(*r zn$A2I7241m`{L2iQS&(4J-T%C`v)5u0i*{B$seL5eNj|fZmpBJ!BM=Ea|(XW`Q4q@ z>}{_n9je}qL3R9Dsxxx>YTM=nK|#^C{eTYS9^VHcK-|;*8exSvO45bmPlb{rfPVLs zhZj3ys>_a}5=X`8=sMg%FtR!lBB0KJtibvSOGIbg6df4v82VuxwcdbxKhH60;|oq9 z1Aat3RHZH^YRqerth~mRH;7guG6NC*{dM{3WQZ8!ybY_&Ge^LA- zgk!&LMeERdi_*ncY+8PI+$Mc55ru}LSB9|+iHO0#Jkm=?eOSiR>5I`B2||yCU_4*C z0TcA!ms+#tqD8IF&Sg_ump6FXbtf`k0h?+433@{lJ^VtMCg|A&aZg%QP(tYA5k@gs zLGR70SHjuvrz_!BwG8sj$0iB+705N`>DqKY8moKGgcJQ7cLGYICVKpKjb+p(psW&c zt@3+P&2L`iykGjY|E!%0QkJ&tTz1^*MAkCm!zJSul-RH9*uLyI?^}xg>gV%l-_v>? zWLQjnViQ(f1^v{*IC))Cn){Oyo3Pi#M^_hu@4>I>92gEe(2*9L;o=ylwOvtJ^I&Vs zTE}pH!;K%yGz`up{LvQt+hXuZuZw@QNJ#Wrw>?B<&K1#-TNN*ZfR0WW2Ri8vmBwF^LRCO8t--#w!PH^c_W31A^5F$ zoF8`a`W>av-R$vdgKqcY!DRfN-RX-_a?W~;%VT(#EPK4I*haCnnG)`L7p#SSD5oL^W{{6MF;@8}fpZe+hYs%tg!ZY-`P--KVr z>k-d_TNjoMeeP|nGxctnbXC!yRJeg%y?R%8EuWV4*;O-Y1b>Cq21Gj~ES z)#5RD_c3d)CKRae>dnmo&cG0)&cJYKZWu6=>BfQcHp#3NEMoA)Fvm+byT^vStAIXu zYDx?IN5R9hvmj#x7r3<8G4HsxhnHIE5kDQN^SO?|TKK-Z=M5+P;?nfl?m@##2fGz| zfbIUaNfTJSG<+Zt?z(_L!q zTUEp?oY+0D34#@^8Bc7QtY}-YyCSOWD&qnf!Mm+63j?h7U$p78Cx95zM~p!W6Q@x3 z1!lVIx`w>F$-Ew)0&1V^)$W?9oH>+=Rk=? zkX3`I*r7)MztWzwt&^={9Wk zq?*2AwVF}GBLp1HjRfv8>q-)4cdpoozQruKu(hRj0?RB%RDOZ_k<1t0!L#aWt(cGF z(Ob;;De-aSo{t$ichH!NwOGLgs<)VK%A`-;{Wh?}Dz!E^B$pr0*kHCKEB{VISVLHi zVQo{Uj=L-UKurdP$EoXGA96OdPM5JQlPpZ~^AqLqINTU6iEBAVOm8<~@Gp;~d}Dt9 zViJ};XN!Tc0RMr9JDXIu(m6iRHE^Ysq`X4UYJaDs5ZC-(at6D7A&v4oGs0IC$=0Wd z8vS|`9p^-)n`4<#6c$}n!^{yA(I(_B0lL}&P|~LZbk8^8UY;GoJ#r{2pkD?iV>j*J zL8*}ERNKE~n z)v%16QN%@Nf}bb33R0}8skFs?&(;T>C9x9Nj)n8W0>O7`M(#&MeWJvga_0~S-Ipnr|%m>co8#a>b zHI#SZ;;7p(PUgnM(04O4cASmQ&lSd63WIo;Sd9Qs86|g_GKs>MQSp^{u4Vk%@`+g< z?=P(^{BIsr9(cJ3LsghC={`3Nf2o~}Ul@aBlAK*{@%eR>nare$@Y;MKPZXY?&_MU= zjv}SiaM$)gJtZ=XExg)x5Bme{5O$!R@iBJ(Grpun%I zDzWIXQLGoPQa7$rRN?zDf!>y9P#dO0Od|#a~JuUY1X0%V??@ViP zZwB==LEK!CRQHP6g72zevPh2z4vQMMtmOST1p=Z^Eu@I?;-PzR5dFjG$EMj3Qhl8` zwiH5U3!aVggaVsZkQ=NE#p;A_)|1=3BCN)P{d|XO9(l8G4({HgC$R$Rg#7z_Ht=K| z^8SUv38B7Kl7~(x{^QmD{<-Yel`%D&%YNbNi$xNlh$+f2xBQUHaL#Ybb#xtlq4O!* z)LfL$Hq9uWnB~%Am%JIfqIrAix+T9I9n)yql})c|oxV(`dpu`#8~l|y>c^%v(2ppI zW1o#FDRGIhn7+)u5dNa$|9#URti7DEm%^-;w@e(nB*9`&A-wsQmb3ViJR*m<@82EV zo0vhQ9%i>l_ETHi<_ah?QGJbmZIWPn-g962)((I*G>!y;a+Fu0mgD6Q1GA7sTJ> zVHwVueG?3AVnpxPFt1P5>x=>OxdX`@!@I^VSIhB$Z-PFTe#ya=z*Z$O8M!>GzIuSR{ueFN# z*zkUSEx*^KC%hOHxGR`Rdl%4b_`R@tD6@l0zUj)%L9Z{xies6LdA|}a;2Uo4k~BFl zXEtO}XQD#AbL$!I=**xL((fQtbC~aRXrxx*P^PoE*qh=|YMVo9h_#I2;v2U!EzIUR z*Y5YuZJ|sT^t$ol*!cwVJ=a6H*#dlHXKoE^HuJ7mg+FT!OOW<4jNVPnpbIc~1Ths*N(DP=_6X^f^DN+0CAtgF zTS}HD{e&P@Sz-j>@yT)27W0tiwB1}=)@8pc2G&296NcJkhAq4l9-(6=xa3#Q2yx=Q zq{lR1=v&-#x%;~gvtQvk|M=C1w>7O|nF@SE_VE(=+wb^Q=fpW=+Vn7Yn9Z#ecjGsj z1#g~hD4Gx-PsO+2yF(V2)M0w#FQ74)TyM_wF>7&j6Y3N+uDQ+3%Wbo}=yDeIBo}|T zHngIfN_EG0U<)v^^Q>MFX(dkT6-`tM# ze!Z1;+vvTb`1m%TcVuo$H3k*xAN&#Htowjk%sfIC7y1>`D@|H+$^JX4xYsb$j}k_F zY$fAhUu_#%@Dua6Zl$9GVM}jbLu;5Qs07m)S(y*QVlJ@?^EUKEQB0FCn)(ONnP^Px zyUmS%$i{q&*GnIYV&sQ{~Q_}g5U-wnX{@NUtwQ%~d{0HoxaNj>qO7yScGX$ahClvL)11Ow*Xq_6gLssJ9XrBY1J5UL|iS z&F{PJ$61cs`8=Frgu`zN-5*}Y5+wRDU08Dh^XjviyCg*5lbY5OZS%hRa{w+bq<#@81lm*VPvs*7&OiLDHkv{7q(@@|qo{^QIxY&+L@ihX@T zhjrg+@<`{c5{;2)SZ$DbkBl?Gq-ZI{9+QDm)#39tjBB*{IIW3PRE;uv4 z=qugOyS068oT<}*M`r4}In#SHMa+&ouSlaf>;yMAAO4Hwy1#J@YhQL6b}Z?+#d(y+ z%qX+3!H0!}rlE(oQ%h?f0`1Fe_sMg|9C}33)X0`wv`u z+Vjv`a|O;(!q`~Mn2tW-atS81CXn3HNfco+jTyX%T@m)GoHl(pD-;`CoKvBbPc*i? z(XpfnlR2l7EPBU`lrWFn;h)Sq>_Dl?z&Ef)5)64;@24iYv_fS7JHptZ#a{jnXlJK7VqHowK@O?wGLU_ zmGJIRk`>96!t0!5C|pVu_qa3G9iOUoH=zSQLmNlRgyrpt1i5zBjUKOJ!bnCLRxS^{Wme-(kOfN?Q?B zI!Raj_xGiE-s3t(nUf>FnYLy8{pJX#G1xBa9I#&Kv?iLc-elHWf&CEk*=Y=amtc{J zuYus)`1cNmv$?{$*0!Y`5}M&`^fv6ih${V7!Fq@pI^iYdjFx`f3loqrYmG~tVB*nY zdJ;rC?mRW=(ZXV)+9)O|0wMd3bAEd5+|ao_Jt#q52654QZ^G;xSAUmW3~R!EzufmMQmU)q za-QVQROgrrKA4f%#h6NKceH!2rO#YLZ0GKdlgva0uBx>yu8f+9-^EFNRBUu3{~F4X zpO|5u)|ZQ+Vl&LCL%FeMP&BNccxsQZ9KXNoy5G_&G7r_exY##dSAqhI8#yF@9gg*c zoX4-8nB}lK54G>usP4GFZ3ylUb_l&0c#nVLWdUiWZ5i^_YUs1zahJk^Py2bUxINUO zdpxt`#LIJC@RtI;r@61KU6gW;QK?sq;ACe=XR_6!e1Dy&1%-O{!k#p$*JkwQwN?Rq z!dVxpE-95%Z;0MpYQ;NzN0R2g-o2OW(;^8v+1S*X(syGdC1W$%k$u@RK9Cg9y7c2I zT~a!!5$}d&^PXl=Q!C$X%$&%pd{t`mP?*~1e|UOe{!LPyC>;NEMes&Z;`8wPqHbL= zgrU`EB`64E^myQ=SvKH;UqlZsgl^e#1mh4K?Os4{-K{m6e(? zs(1nJe3}n-KbcqMoEaqGFkc&C@78u=oqfbnwwZPHC<%+2M!qw7QG-dKM8M7>=S~K7 zA{}~krvF7!pj+T^t54*N@|wf|47Z&4^!yhWp4qe>2+B@07OmdcAt(_zqi4IW%Otly z_S+`<<)f|P9N!1OiwcH;WFTlb|9&@>EABg%G4&1sHis9p%CDLcL+I_4CRO zGjbQb#4+7AE$L8eD|Ou3xfysAYhKhg-dI31N?gKGYaX(gmGKwc^-&}8h_1bkl3ls& zC5|y@UQ30;QC+ug2$AdBR@-(>ijQmaedt*qUMz4wxGDE~cX}gMkaC|NJ`Cg~m^U`f zxJm)lsMEoE2RgUm!39c2soRV9H>i{gj6++ixasKGx^~~;+RWobivuA@kKfJ-cwc~@ z%My#26BrM;8zKqfb-8V)!}DteSpKmL>ddankT)}#d^~QYRZ}1?wf0s>%hEC8oD6YY zHuE~`cbuPSX>Y8FxXPNci6K7bSECDIilG_t(>Y#7lGg={hZXln5X6?KtzwSv-p=V} z`Ql^jDdf&*=9|XlO@#^XrsrFJ{Ll3RS$LlVL*HScm1lU@z&gL`r8 zr)6fQ0&(>PssLA4oyWUJ2*OlJczNc!e!z+9_?iX^+13;noRIG)a$&5ebG=z6m86Cq zKdv=M5ZzNF-#3&|t1`^nXqbFnEYUoNX!kCJon>wUu)(Q2uTW$z*g_e&I(=sA>B=PB zs|seCJFarg`+hW9G41DpHd9{UQaMmRl;GwwBnnYrD*vnvgS*?G(+hI2;{Z6Wh= z8r{uDaIV++O$uN+yHJjz6Oj%e`C1nkamnX!w$L~cx-S5AjXLgIzBS5F4TQknH6$E_}DyN zg!1>Vl00>w%ruXBaKn|O%h*5{`DU6mG02kl_oj!Y3#(li8|i!&-cho%D;`G-eeX3U zg%^MyUzOlylyA8!)AMR0AcQI^N?ey2`LAnoAD@_ebS=aWSsl~<1>%m{^w2}&jzxW| zf88XpdHQvm42LF`qqzdQ4glCJnul+=hq}#6S zhzeS}=)*f^FCiGvJ85J1I-60skmFxz9(*9T=X`wJNW!rqk`5)0_3)DLjNyaSr?lxT z41E*R$R~7@75*pe`zO98MA5k^RDk(vMoL-)6c_i`Hv4V&U(~yXvgiZbCk`KQk<=3~ z!9e`9`|v|U{_OGzZcaY$1UyOxZ|drgcZsf@r!pwnz7PIwuMrfrv_4^x(eB+`AN;&5 z*65tLK+z+sZ&2BN;;7mUKEfh^|2kare$BmHd$6d2dBl^TgY&{yN!kQdbIIns9cbR0 z(`Z+BA<3VzTgN=;eW?qjP0|_=Em>823}Q~iY=48$v*Pc^)Vk2|B8D+hRB4an3m#YI zT@hX(t6a zjz1yC>vRO;0Sfmq2D!j<>sI0wT(zJTu;TjSmeSEW9p;97G)VNUKG?^)y3nyrsk(L~ zvLLxBF5WF`@`EHNcTR6kTt*7_y=39R#rK~qWNdZsJ{#V1!T1kPFY-(SWfi;I{MLDncz&5P+Vn}epuV|g7?7OC1C_Ii z-Z7$HDhN8#qqDnnE^rAYnO!e+LVw^KW=&w31mgGLgJ~`}Pxj&ZpM1$zTt%c}`%5pD zgNy{Qf7oCqdhx>~SHljd7$nNKjIU&gu3#p_c}qSz#ySuJ{j8+#Hc* zHrrX!nE~nz)OOrCiTtoySO5nk%8NRU&UXVzUjGvM zk@_9vaiu^WfxkroQidmEgonRF$Pf05SZt(Y-Rpc?lz z3o`_R4!uh^w1AX<{gmE?X6;S*y|jtlx2}qJ)Er5KP!$l?LzU4@A24s|m>O8bA*1A# z^B+Vcv0AMP-cJA`ttr^Tpnh_vzD*-2+*%?P>@7=!qo|N{0ueSKC1VxZPXR&v1=|pD ziZ*owBKaFl32Xr(i7_7#l}t(ID~zv8@_(w)%VI3_siTAzph{P?kn?a4NB7r8hYc)A z7^*L<;^0JBD*;x{!qN#fop%xlnX0)(4kWY>cT1C8xvJ;@*x8E1Ppg{f@9HGEg~({0 z%<@7i`-!L1xp#pm2iC~Q-Hg1{eH8z2?{ z{F=)%gjfagm(R{@k?W>sLHd_S@2mM?Zy>RYmJ5BF$dgKtG>R2KX>EzX3%btk*1)IL zsM>iJknmAF3DWsT%=esfLolhhW<@YwuYZ5Z0U+LoHXis>Lr>F$L`Zq_-|`h!{1{OStzI<3rV1Z z$~4CbD%1=%--+%z}8Z7K7xdD;~L~ZVx+Lej<-8T!QN&7@+o?@ zCsH)hUO*N>R%{=;FVueTQMb3gt&od>E|)d>18o)k7`F)Y1NQInyO#|MSgo$B7&TxV z{1IC_^b^z8RJ(vsA=QI4SaQlxJC6p}xAiu4>fesYIYrz7=@Nl+;s9rX?DzILt(a;h zSMGzRstYo84ruhNns0#q1cE2_KXD$qD|Cv0W=7(-r}KJ7nR=~$ki1L(howJ(Oxa?E zD07o&s1YoF+aTac-$O#`VqQZulS{4n`{P)yyfp*r2Z8&h%Bu*V@;~Y@YU2Wxt)>)I zd$0S&+4jy-Mh-0kg>;zw$yXi zyTH6{K)`2pqWj0T(s_`k^Z1%lcpp!+n2^W4hm=!oo;|QAf#a-{hwWcK`?RA4GE*8@ z({-(ZNv($COX3@V*jwgo=B^YWQI-Tc;52s1K7!uIx>iF2TQ4Q#q7rRiZSESR;#C7M zRC&u`uO~4f2I{-~p|M@EPlep@f)shwwV1#W{WV}*)wu9lkty6e^@k|ZNwqS$c(OF~ zmaN30C5_$05Py#%d1uLq8OZAua2E(m= zvL>)}0TcvmN(v0;Oj6SVw-+OkU?#*2rd+Drr2iQzVP(f9wN^x3>jd}q=ni2V{!?`$ zz(Sw($VQnv0x-JW1Ilrc_c)NKT>-h~ZGt<#_4$;E9-bG)bsNY|&-9)KPk}lY)7V{6 z_)t!4;WJcly-WsfK*68`D_Tv?SkP>oaCp*F!7f?ju;x~wb9qoElTbgUSLbD^aB0sx z1}g{Gma`eXyIiN3%-11oTQiF~lEA)U%VpIy_Hp+c2nCBH@w!D_tU8-M?g2fCLFsZ4 zwzgrZ-|>AUltBRumDKvSKoh!|@QP`KRcSgts3%Dly{5|05P~kOHm{@CFOdJELIKtjHzy0_D_wLQ*GCjUJ6w#JyBKz1zy=un=Sy1GGa@OQ*P-&j$yT0_- z19YI_qF+v$w7&gO?E?tIM$CT*u6YAoQ|U(~q?J|{(+=)b`2t!bGJ8rl8$#->m`Eil z7yON)z5_38;d-)nxuV-bvFgaab6XkgIPwe2x9aPQSm!9_!&Oi>gL=2e0I5Bswv%dW zmL1T58JCu2s95~K)o281#kW4C9y0CwQ(yHNHTy6vidO^|gFY^q4ZYWE{^qAk%1I}oTAh^zxDsjCoO)os?TaaaXA(42mv%&3 zAQvuqR*rGiDpph#;e)((;9d&iaZ&+7yZupMPxX%~o_D+$u&ewnyWit+r;W zKa+MQXvkweaUaLi$ACJcXHg=5%sQG{?v8+n3rWZu_B6XnFZ<%eK`V1H-m}%(#unOW z;1yk5?2ByP2;)QBJ?VF3PkawV+a=0B0lRwak_FJ_27ef~*g3>215oH7H#W)3s;~#j z%u%Tx3I!+f4gCjnTk=iBJJ9YzE^2N`d0IzIxK~Z17Gut z6eqxCL5x)70!rXPNE#HjgnQ?C$;^WbfKM)&4S(s`iKKcPq=j=(1W#IK1eL^9znu6} z#}n4rURoX?)ez0o3Fz3B7K(WG!ylCQ?MkcYSg^qUG3)cMJdrUF>WxTJTr!#-4{%9d zCPaS@m@@T?GeDdu-vsg&vW*aExUyOlxrQcho*8#a&S}anA#JYO-I;$d*{eBV6Abk= zHu7n5$6E46BGlXiE-r9O3K$~`GxA%MMO7&VOf3)~7%;gX>i80Xv9Sxh>EXM{4p+2` z9Nkc|aFE2*LC~As3NUKo!xFpZhXbYuED2Vt&zgZS=BxDT5T559}{6!?%6@{QyNAUUoO8roCxb)n%C(|i=B{w zuxhrt*O$5n=nM3~ON<$@JCxE(sD)LjZ4zN{{BK+&746d65i8wDpNzlKUP%b+tkz*Z zTp;h79ia&k1NsY?b%Mt?Oj|Q4B@1`c*=cxnDqC5LJAo*9*`*iBYXkif%d^GzrD*FE zJ0NEL7?KviS}f~^3N7mM^s_#b~g9|UVJ zV|~ypq4JHAMCx?NRj5TGn7R=(N4$7qz4C0qdA#2;-YHjukLSC9XF(K@+ z$O`UX9;|;;(!D{jU5egM`^}<&*M5NZfc5yUyj-9jtU+02$CN;LuT6x? zDu0=f3bl}`D%^xRcG84nEa2-qiXwkkgly$fpsd+z-=5s}udfvb=-Kx1dOEN-h~M|q4;o~-a``d!6TAsX$)0iAq@ z$J#skke2@cKN{~vX&5VH9>J-3Cvg6Wn!Zc|dL(EYIvnBt+eS)_zo{1J6>(zl5gtkh z(m^TjLb48nvwa{Rfb_8=tFLEb%sK$PrKU*Rj}JknUwXzqd{FSsweGyu)AH>_gbk?hrC5WfjvhfsM^+1PT6&%Al^{b5i(y;U4X%s3T=M!TO2E4XB zhXoM!!ZXl9`AR!vm+O+HILB>iu&%Y7A{#6>Mw*%b1`##WFQ=$t3qYH__;8KE`Adx+ z>@Opi-2vdxsET)|UiDIWAxd#x<8}rPh6UojXVbd;k&hwc(D+*llTf+^K;tR?9Wp0n zJSyGS8e+XVOG^TyL@p#R=b4RwBGo54W97v-CH6&|wP>4NBCBjkM?FAwMtgncLj&z` zU&^Ijbw|i9PnXqsUdbx10isn&rBXue(vtk)b4Nmc9ZL6|)G1gEPGvzX$Q}L5*XOqt zeEPkXyxM^PpsTC%Ah543N&Czq@s8`D0QzFRSF82JSMt1FBM3k^@5g%jh!@&RfvG>) zz?VV1a)_8$DhxU)0mrLLKmxB90CY8D2UD5(f8-x603T)?qWXRyW2S!J{ zXfJ22>-iK!fKvetB}(NarBFBJ5O=}hMmoU@ zVy~}KAF!6)l{0?I$+CvAMN-D~^?Pi~657kQ>wxsutniT`t51a`s7d?TY6!hnvlh&g zBYGA7UYI5bt>9479iA_P^Px_+>WQ|Fe4uTY;1o>tF7y(R6xvT05=u>H& z%Gk9|?Opaq71Gd+WYtnsr%ibJX;dZef`g3)FjxM=J_hQ)(cZ$;ugU%ME57}BE#=Uc z2RT81D9B$7op1y~ewvdXc&?O!Kk%1wd3q){Fpf1LO5@uG;WV_PE&%onhZ{3CC8)p$ z4UhnsOTSVr4XGGFDXDvtlwMfpR=h$6HJ-12aX~GJXzNF=3!~(i->^q{srdDF+4eCRa6WJfxjet-SIi4PApA<+B=GnjY%qTY!bMSK;rP_Sy^!4{( zn5dES?lY(H>_X5=1&1P=7;b*Y^$O?7j@VWwXY@WDrl@OCfzqK1iV4m#vDM8QFksGZ z_#?^l5_O@S(tO7L%Q)W`$zm3zv+P~!7E0mPfXgN?1`H%K4L%j%m0&m(KP{MB92)*} zDNs>n%Z{yBUgaC@I78BE7`kU+;#~7kN>*-{9PeO49k}aHrC#XPq zt~Q7w9j8)h1+ggvr=Ngze;u@k)?Xs1`3)$1qbgV!=*d4VYf=35Q{D49U!_!A3^wCfY#nIDBY4eXz9<+>;!<@>(}5tx?05`G9RR=+e3wLRwLRp<*1Mj zQA?PIM7^`>fn5b4rmxB3Vfwuqo7<+rsR>N z&E%l?4tJub%Lb3A6kw&SisFkuLd{qmD-FopDg1dWFd>?3WcXl{&&g(1v_3IXBmBs}tdgf$uY0bV+#;)v$9D}6!i*^Ckq?`j9ytTj#PyZxm zUWNRIK6eC8V>2>s-P7qRr0|xF;#8>%LWKcUb&tw6(`0?{9qA;7JT?F{@)vj_3)y`& z{sl_S5TEqfY>b7X5coU@nsfvBy$`M}$u|u^1BdL^kaDJ6m^1)_mM1FxWdLf!**`1S zgkce6Jx~eW@L#+2z6B-ysMSv-&axrw)A!cP>?<|jaNn`Y&#Vb3WaBDB`q$&mhMwiG z$os}(0HGP2mZ~9QczUWT4{btjwP5J(kVh)jqCK=1)QCTb4TkF@_bLP?$Lz1X7J_3OOnne%=~9M}y~5+H@ef*8;y~0)dmPtr*t6{-?ia(Z8r|Jq<{$+@k26(fN7}eoGVZ zR?%R54s)(lKpm(JkhYGd7f4tYDLvt2AQo0rH;hV&MFzRF*fbniwN{Pf=eBrV^E&il zsUNE)=!@MI)TuHPiHRkzKwD4y=T*P7;w{Lpd96;aI;m5fmsVdPD@%Mj*;jkB{s(31 zOQ-&_tHJI)<;o=#l@nTP(;a7or5n*G6F1qj!m z#)I2&p2{Xz9O)IMPfOY{_#(WPbn$W&T%gIQTSdS?W&`_Tr#O~BcBfl)gPP5W9c10y9YGN7Sf_Q?|*WP`RY$w8#wMI=OxQ}eG%8lqX;rcqwcCj?CJqB(F zh31rl(Ts|;V0S3KI^XLB)C8;|9~lT2LTC+^Eg{^P!r6iS@RwW2SyIRBgP`6s@Gkw7 zLCIyNSjQR#EAYkOO_p~(ZwHvEUninGVN)?7RZ>OnI#i+4XWE$zwyI|l28p6^#WMA? zCOQiNai6MysnNs#5zxs(hCvnP>?qKAks32nEzwMKb+I1_n{p{7_&J;azEnv7VS7~JxWM)0EWavV zLt?SU976RM2M_F|hYzvO0^k|om|o*5n*6vVbQot$P%3Wp4o_%v4!a5q1pfjYUf5#a zWvt9rD8gH<@7N3eg?7@<3v?fau8pyVD);`EYd4XP&$Ey%;L2cH4Jd6B#xXPb3y&u9 zl8gg63tly?$aN^*_<=N{ZAoSDO8CF>9$t2i0exH@*T)=A2aQ*+A7+H8er^@`9K)Gl z+)J9QW-(aJxyp-^Dl{~VECLm+{=!0~QuBZ!a)lQQSSyKWK!hrvaX5k8smKDNrV&p4 zPKc5-MjGZZNKeC5!Ee9~v z`{HT8;WDzlMBc9c86D0+o#TqtN@#hkegTfb`|{N zYoqh$G%7+h&5@DsW(8>@PjEaVRc}wakCh5M%0#Qo@&_}FW;}0&-wODoOU>TkQwO3# z;+Z!A(%Fq`;3<*vLw4n3xKwaGyqKz@PkBiJ9JQ)w5Ja**@pJw!xoLmUG|eYLrauFb zW2QflLqj+tBN3GApt;blFJNio^$d8DG(a?S7p#^7t!JRzxB2ZFx$#a6B21yq8NzDU{FWZ(j> z&?7!TzD1=tU+c_AEqt`BZqm;|AY%(-^BiY5hrlCcG*AQT>9xWWYN8@R0?6O`bi@4_0*_(@j*+I%-NkO@SF%(x~@#5 zt82mJ_NsA~gmjN>TEt&*N8zmocY>W_(viwZ7F*T&0pU?Ppto0pFT6Cp9y%pY_9e{f zgnue>HinAI8~WxN8@OzX_oMt}r;7BKT=vJfFGa@Uw*TH|LJ=hXnjVMlIylUKA4X4Eyxw3RedNE3iktky(Sgxj4P^~N^UNBbut zE^z<`RXSl%wuElmqq%8q^m=F*BoNEZev_>2Q0+m*E?Mm~ny{+F7Mt0R%TlfE*~3Rj zEwotZ3s)0icc?mNzx0h%m+{S8%$qk&nrF^@flq{L==L2V@(||iUo^B6{amU(O$Q#= zsZB)v1=IM?wC{33bFFzCn(&`P$?o`~OJg}3Brl$yMoAwkB zXu8!CCtdQl{>IadJNFO* z1g3|%Q>1d%>;~K<=+xS{YL-7iP`l@K&>M$*Z;sTJ=`x+jLWd0EFKd^y%;1UGi?(B) zVh>@-GrR8$;SYp!&bcf^(3j9G+L;tJIBHf991J;!G0Blw=trd>vVhr9)(No12cZJ z+TeTlm?HQnirD$%d{{y$JEHp&x_&KryoH8jK-r7I5gwwtrTo+&84deu`WQeEI<=%I zLxjN>{FFSnLaHvCUH+My3`9vyY2~FuHh1jS7;H*yQXXGX8UPLMo-3z3a zS{|^_BK~FigMShons-9v_%!e>m<%Ty{k9iO1v@BhUPFGQO{btB4m5D_$`j94*n&HZ zyuQ;`t*iJm8IAwH5v-i|v{gRGz|7SFi*)_uUce62qNDwlGGuq>f{`KviU0>7r!;hB zadhy%EkGm(GCoPeh@5`2la%ugh;383JvD}MP+BGB;Q*>+*=yRW%pRy8Qf?IkoCKyi zu1;O3pfr>NU;W)AFqTD;<;o=!M>Wjm>32ABf2}+BF4y9`i7m)!J`Iz!z;##@+6!3M zhu?}rmlWXFP69_1=!#3w@EG|2Mq0`6?AjoTQwm$RH~*h={G$)t&vt=uQY6qHQR96Q zJB{ue;Z~yyj!~&RFW6GcPL&&rT6=_xnSA4-Y#9eSP+} zSCd42Wt3pYYG?OOa9A%oh+-LgnsCS`xXLorfk(HXnVX}U@w|wpnA0izcD67~A`%)U zZ%yGHEu*v;*wi#3jQU#=~2ZPSnti_bn zQwgY#iOf@8He^y=6+WHRaX}o;u1pc{V_G{(3fWC5eRtV+i|lSE39pSCDLxodKHXre z0sgTEB~b^B;=ae@U$xMdBuIMM%XMgZT}fou%sy5MxzgFt45&7&7Qq9Cl{*ZO(!!E2 zdf(Ug_MB|6O4)9>rvI5K5Mo%=+ii3{=QOJ87ifWZ)R3cSA&;FX=+IWnc$QsvE|Z4h zwX=Jo*P1#8m7mOzJeb58_reihn~ouDwByG38mA@q9c5P#@i&Ea1Yy^l0|&b#rf^V3 z`eKs8`GTOksB@$<+@k492tYYPzjy|v1b@TRxD`3*Kzl;ljsi1r?W6f$@dTxO7L~y- zoDeqw#k@duT5A)`K{qlZ!t$~un`pvFKVE?#zvX=%U;-jh@HCSDR&@Y{7N~~@-!RKD z?Erl0-e>7-q}mN7wHaV-BZsHiH2%weohHg4RSk~me2@A0-S4qP zn;_pjNqHCsL;@?^;0GP6LbN9J_-HE) z9B9Q}i~U6+xg&f=#HWU~lW|vth6G*^uZbY8VC&j-IWQ&Nw`(XFC^nIrA%0?tac|;> zh*%4qyE%IG#X78;Tr_Tf6e^HndBc5S;Y9x%Ssk|f+WzDG4k;VuD2{00$K(!AFhAK3 zpR5tD4VyOZ1!j)+w`RUowSnK zDg3w5R0~7=HePiB%27fvFBN!m`faJje0Y#~4hNTeOwpwVW|`mi7Sy>v>aBi*i*n^H ze{{Y?S@{5gB5CitqG<3*{Rvp_Ul!MmjhbtYt8JMBhey1-ZNV0 z4N}Jy@_p`Cyi#*vdz>J`eL1y7Naf?r?u^D6;vJzx1Oyws#zp zg%!GC2s6ZfO+_1arem{ndMhzkgW9JXWaltuI$8&EPJuMbZAQM=N7;!6$_+2tipOe2 zJrx#$?osbJ!yZmo6g{(pD<-Su)6jGIcTH-Fb0`fe-4kL=7CfWHmp8#~m_NzPMl^+r##LKov|JMMn{a8uW;aP@t*D4gbgvo%p2jy1 ze+rKm!i- zWAr=!NTrZ7h@J>IqOJ}AXkn+;UUbb7xmCmY6i}gOHM1)!WOeYX-Ha`zi@O>sOv2N3 zeSIHtEjO3lDYw09FbnnZw&Pp|FUBi2+K}@Wd7ABme;O72Nq>Qflm2o*BCB)8GSY0& z2{Bw)yUNyg6c_r5qkC^&eIjHK1j)(4Cq}i}1rVR}(%Mb%;=5VS(4Lu@5aM{@e=;FA z80x})lUBTS(^cv0W+?%z#QZ9bJ03X6k#^!kS$CNSqdsM$`+mN~=CU0fqSts+l)zfx zT;{W$dtI51~r$#Zp7y8bPH@we6#WHa3 zvodyDrVA=;r!#P^TbZ+U@NQt2-*c3nlk#7~3J8HkD)&EFk*-YBAr}!s6Ez#_UgRXP zM`I-G+#2#E%+d#udjlgJ!a}B`%6q6_vsr2!&qCT(~~L!VyMsSq2g>7>VpV!cA?nSx(G=^jwWmOQ;r<6dCZ^fT#8E z`P?C^1K095ZWWwtXdbu*=<>l^dTxVhYvLPq)rOqU0zPq4>Ef2>hNAskyx>WNbJ2Jw zOr_yFFdWcR02z&M%dQMaiR_7-4AK99h=DsARSt--yG)TK_u5q_gOeOUgO#qZy$rem z;}g!Kp~b@143E?4c?6p-XvMQ!{-^VngawW>ydF(z1c}NZ^;Vjn0_*`7P>GIpGQ>87 zy`hPUCpe?^T~>d@wt5(lVONuRr^D71ZctnYaXf?6JFC=*q`S~wNeuW&fUaeK{IK9A z@E(t+Q>Rl-8rkewsNZ-REubJPZ76s?9ghX^=+J2m$02@Zbd^3pgVA}6BOwD8Z@{Nh z3?e1y=hVSGJ@~FGsf4&9n-51T4xZqrJ-^NODy9=oXAlcUWLRE$rFCU@HfM`x``-|6b>j9C&I6mqKsK%2 z?i(?Yf%ZXTJBz9j1ozeVBF8Y6HTngg-$vr$e(_=EQ z&-nH1vpJh@Kd;V?-8ntWY|VuSn1APAU#QoXxZYvk-NcsN-q{C!doka%Y(e%PZ%m`F z&&b}hk0Fwf2eXN!=-u zVduw$mputfjRvsmSK9bL-hBXgPWQ;q&8Pe;%`BsQZiR-f@BZu1t3w@G&b~O@((i{A zY`;w^gw8W~nRRSK4s_PO}Yz2BpBRC z&TV=PPWt6;Z#mjidk7pW@WXP!iaUpN<3M9@!cbcm42CUzX}-_*ZYDak+x-27(RY&tB`Zkh^oA{+ zw|6dax6*HR6u>iaFM5qk^?^Z?x3qd_z4}0_OX3}rX+fzK; zqA}n%Y>Ms-f9;QgenkCea?6;K692j0dybBYYP#z-^2pB#ksk51MNvNcYhDMuxKg#U zCO68>uFU4UBR_vTd}WRI8LLuGL-dFN_-&3=h4-R=o5L_`s^j^JSFp1qgKO(F4w z%A0~;MC!QL{ujWa6ufR3`v!UsJ6}&KDY5Ozn)U4w9`&4qCHY(^mogf;cU?4z$NL6Y ziG@Rr_qJKd1tqn>wtn}5U--^tpr|kxu78HyTL-^h>599D?b3zT`K32vfZXjLOCWU! zWG>K6EO)W*8dn_R^YD0Lu8sqcuo*!2q16VpSP!r^e_hdy5l6O*{W@Q#H@+I(fyO!@ z);)BB)VfPHgzPg(aR5W4vzv=+aQUF^d z9vsI4?B49y+D0pA>4Cj3k1zdqLaBkz)hVHW)w=<^Sy~f}w(*~#pBRGpmvfa@;GHD> zv$%zB;P5nP)BI~a&#@_J)RytUtheY#4WT~v26q2zKYX{q1DeQdpG2EoH97$ikB6uxY~it9CD{N{hZyr6Sm;?&^Cem zbxU5di{ClE<8SZ&>+Wvrw9walUV76{!WCrWA?w{?FWSdV1K`cfPDdCz*eW}@4(?gaImQB z0z2V6aO@e+H>HYS5c8s7wsvavdXTt6%{bo^C~JM zSQJD?lp%zW_DM|!e;bJU znv4AO#)1GSCu~fN1_=QfU3u)}&RIdV=7-;1 z>DO@`P*zAh5>o($FrBH?@i&lhRfT$Kb_`3&NrNuej(bKdYr>$o!SLiWLT_ja$KEnV ze3YyMj>87cU}v**)K`HK1}q>%lVyNlC=P;SH(hcpQ7_C1V^BQ&4m8Z))h;J2FZ@TJ zYTCYrMHmK-+RM0&#SV%5*nhrN5OG@fE)?QxGY#a|^JUKk*{hj3e2biMc~O!mdkY@< zE{9{ZIufE?tY}VzDji<}_B7ot(f=9J&_)lRZYH&5@tPwW5};4&_$#C7yMVHaD~tD; z7gSU2eg9V@J1_CBli%;v{5bJS(ANP+n2FcMp?ZZ%FrpgsL5%K7VI2niq|^ZdDIJmjo)M>x3IW$Z{2QCZ|uttn>u(%;61# zV(CZ0w2d+ft-tErB>WzaD@^;da})iA&a6A(@Uz*aqqo4PC7rwkKN6JR+Um4%)jj;s zPGRXtUp1L;Wv>C^ZoSp6d}wjV?6P9v?^hm`rVFzLzMuMRlQ^SbwG_zXS)Mc&Dec}_ z->B?c+ccW6m7Ha5D)KfUCYUGY+e&Fd>>hDTi4Enq!jb-gdTsH&m?0fu$%sxk&K{o9 ze;4W#-nb#7>Xz&a6bEGXH%{QmE3PjsnY5`4_HRK0=ivD6uJR_R9GpqWOFbRx)Jmr;nBt1$h7HU#y-93(10yd-go< z{hkww4SnO``A_2R)gXqut0vOGs+FY!*@8E?KsQrk;?vG+qi3u_CY|`GKD_q#bXDO; z7xTVhG#qctKwl4TG#Fs2ueeaTR|kgk)@*APM8L9%Oqk)(SAEf6sE26s3$Wdq7pv_$ zYmyo@Y?=Aahfg)3luA}Kt3lrfj9(`5KrQ`H( zB`}WUA0cN43VEeplGeUm8IEJ2@%~BJKc2!P#~xb_U40M({j!1(Q(ifl<$kZwyX{{8 zOZ97y2Hg&%>&Ae|fo(2aH=;oFNf`7ef~$Q5coXtt^KU ziyQR9i;iVJZS6%rzy4W(&mFthy|*q&z8hs5H453#yuTR=w{!WT5%p{n-&0LaWd$0y{FWjy2+@pR+RF zAr;@sV#0E{>l`RO`J^;V5T73+BsZl#gMvf7E7E?Yyt8?apgJ#-P1S5rWB$~JXSEm?fQ8_Xv z`WsTMcXGa}yDr@AX-?iv4oCk#bJ}h)b7Wt)DfxFiV#8y>z|GZ6^T2_B8OUPZQ-oo@ zHfCq2J_9XaC5%;xnl2t%Kbx=+7%c zzuC;+)Z8q1n)!I=t=@0R-+AT+&jx+oc*&a+?&iUi&beK2)4?F%ZVoji0l`p{4!V~$ zyj?e1N^(JG4odaUF7Nv?-^TLMrWkqC@%~WL-AlaA7#Zl5eW2`P1JL_#%H4ysIcfX0 zYzjW< z*4OflksLIHj^e@)k*rIVKgqo7v<$-ehPjB>vS8C$KS_4zK_%*F9ea2CjSmKp6k+ye zM5FxrwBP(0Y582<+%5F9-y5h)t=xLT6$){&?1vWVjs`ve^bBv#P0stz5eTDMFZ&I^ zXcTBp8IVEE18R=`6T}+mKdT~3XgLG`{VR9S0V@5h%?jA(j^o~T1^Tl-xkS<7&aLO= zxRK%~1vi7<_t&oK01a6cGL5WFA({YZm_d~1_Qpym9|X-p|2Y*#%W|%;YIgPkZ)mxd zo^pvZ51{emptqcO;ZhwSM?Gg@;4@`$sk025gi51%0M!hPt++_n)>na^YWc80hg48G z&;Fhl&883nLe2vG3-A;^XPJ`v=X9mzPj2a=?GKvuroA% zP5E+pJ!ZZ=1tS`=<=#mqkw*_9F*iW+U>ZlP4ANxu$FfUxv>>AdDjML$!en+&LKZ z*-FjOw^g@m5Uawz8;=jVm;AA%DyaYEHJe*gb{tWl?x~*`BrI-#Z$nW7_!f?px|ad%x~x=#elssp%>go^Ky2y+ zJwJ5pT>o{GZREvPdcUr?#*qyLyTDkeplo{vG>nm9BA%%WqSbT$>ZI?O0eYL__tAeE zhsKp4f=ol!Qy=@(K;#|s70^jRA90m;)#xT@&x(BNwZzb2Ii)#Y+baaI&8xMXe17f- z$1KCsDTic;jGrgzL7+piMH!TvN<|Qx1s8BYvn`y|W=aof) zyMjA9=og*oKPG<3KSjBS`-Z_=pon)hPU95QT)cLu<0m_r)Y547x$K8^ZmB`z7VJ|} z2oCx2K}>uNEW4HlvlHAnf;$}V(U>*pkrTk8+|aAj`sdeCQCXixuFv{(XCmLQ#6576 zW9g14pW{hSjeYFg25H7VVIF^DzqV92$qDx*>UNd05(D^G?OEf2gH+u+$8s8WI%M@l zs`2S|xU{mE96gtVI{HorRgU0OD7C!jgEf>$o0v>y%;v-T8s?Ou)wl^ELA~3mWgWjj zz1IpeVu1JEq3+dkcO!vTLnZpga1$c9&3|EXFDds{&(dIEj*anM@#(L{#|7GjX*NQo zn0T#SP@wP1Ou57CAfke}&kj_?I@yTA&RO1nt*Phq_G$j52N%%+*7oMtgu&wH35JCn z*OXT4tdGN~y{|J^lg)P;U_#f|j|?##x<}jNo|bkcK1DFvQB>qVR`qB;PpyvWA{wCI zHkMOS2$BKOLzwP);)#Fd?lF9AypW%*HPn@kYZV_3=`MDl5bBar@r@QE9zW0YW4y}P zii^1%_-EaL`mXtrLNwYbtk0rdB|`RJGKA&SS{c$&qup5g>XM4)%@Ge4a*MO&9#w$D zd=s++!ax9Sg;#|@t5+ity;Xme{(6%9Rp)-eAOH5Lqh$@-(z12yS~44K9kN$PI%NK| zGHJZ%`~dS&@oiE~qf2=cbz~=#`qGw3c^#QUt+dUdNLK2g@PE@-A65|)ZxfT{m0yvV zM=aB^AF^(88pe&}I#M2K1Z7|0cQy-)M(qrqp}xYKNqRq4&4P7GT|*edK}HVcOcct+ z9*!Cz@DkK;_Ao7r7f$J>-Q>qJ&`v8^Cl1`_*vKNeOxBbdbqP*d$9BSAYHuv&o&sI! zRO7i0bgPP*V&^)rL}}NE>K|jP1~v6G9B*hICvG2hD*k%-c;VMw#XqCD@sd`wGP$5s0T+O1KexlU9vMiLAN`}b)*R$)-=4|~Jx>8!!ef=izK6aKcl-Wl-b)Yf3(Yx_evV>% z5z`&-$q}q;_**c+?a5VKjpY!2AEVkaDep*(Plb-Sza^Zi-{prbLp^y~B1@MR-si2KmB=|&MkxxTe|G@d{uzgYoYiR^eDvrb!%fQz> zFzY9rk6NTDo;?_tgPSjsU~V_p>cov4F>>Xcu3jJ}*r+ihVcS#_CmtWQG(fA?P%iUg z?afj6Z!wHXbIKoAB(TG;ITh;pN4%f8@N?Tcg_)zRmkS}3$)vn2dk{oC(UpL{a%;OJ zl7JW>?q&54oINkDZ!;`JAvj6mD1;M!{VtbIQD$@==XLHKTBej+gZWw<2A@nQa_h;4 z{&Y>*YL*%Y<#>{C`cMe_?X3XJfXl^wqU6@q7qkW;0N76}TpZD>=b}a4cA?Vjz;I}* z8hFp#P))6EIPSGc!PTlz3kHOqp%B|__p!ev``DGrl#vTet{0tx%ucJ{Rm55x@7DU) zU~(-gxaOBJ7Om7O4KvoFLT&${FaNKtf$ZaxFKf{N+AXIf#aQ4aZ(dPZs;Uz2!>}Cv z%^}%A!|F9I17}>!P=*@iepb%-No&EA&}+q!Nm=2v&cqhI6SyPJ#G6N8x4p_LV%CL6 zXVx(!`^qM%9{)^9^UjOjaFiJb=LLyHf+E+30mG6wsfX*WI@CmTZU>bid;-gs@;=r& z68W?y^-ji>w85|-_QBHJ6G`LgX0dD1Z%fry%u5j<9h<=Gsqr68cDW9&* zdvfu@YoRuyb`?Ec+Z6+k?obmq)0puoxUxQ+`$WAqY`bJ%F)q0*oa0n(DV}U8%?Y~O z*5c&JyiHZ1;5UaDi`h6%7D5w6;75+Gak6MeRr5!Ciw%>-Xq}k86p`KDICS^K9SCGT zsG^TM)Z^yH^V;PLuhi=*@wP8JKYY$C^ma#n#G3)DBSYrb^{_&rXLnz+@QSzdUgS`4 zibY^Hf2H7QOB4FaK?nZZ!t$VOlGK(IXEjz*YT|GpwbX}T)K!St-;NzP-Hy7)Ce$cL zokF}xTzO_Bt;XQcVzZrNA&l5vG8{??ftV=;7iBQb$63H&o&GH*nGUCqM+cC9VUdo! z8ib(rS8e*4Skb5nl@F^()U$W;!gSlT91agSloJ38Pdn7O!(+424wnv^@b4=}+8#f~ z-S)3bWuV4Q9In>b1a+oL==zwyi#sj(#t!Z(qqY+giN54885+n|4N_R0`)}IeiJeEY9irR?x9p2OA4Ot6GprJWN}~K zqb-?5=5tBsB7f5jBkd;rU<=394RY6#Q3L#0avI5kJ?A2iL(#+T+YLw7wEM7yn~Zu>xo!*08rjMv3xSY6d7hd`9uK;(H;Q9uEU&T za$@crO005+w*+%e4ot4Cx9Lr46?g0MbL=A>3>|#mX2heYOqa>~0ix%E{^ze^iG8d5 z)<>nCXw)O0+Tes9Xbb48%}Mq2J>ORYZMZZ9foK2>#ZK1C<6ZNTOS9!f0 z9{(VMq~bMyg6Mm>Iw(gK(fQKOB$(CtGB#x0#%IaB-kXqXMx9pFHhaJit_w$4)j55O zqc!6#8FmIWQg#;y#_7C>GHB4H7Y3px?{Gp81`sg_+$6LYP2TYfF|7wIe*^`9r{8Ufg_4~CO z{d-NH`NuL1Kie^`b=U!qE==y<;ebbC29TQG*=)fJXLAZXwFglo88>I7S_Ly*rJvfY z{ltG|oecI+8aTXH@iKFoNB)|N*yc#ja-ZTh03>^wgYlm8TGP+^w{lL9h+{i-F<4Fv zbufu+M1Aw6N4&wgUcxi~O`p(QIur8n>U91A)ysowdgB-Y-EL%1)hf<7*QwdgKOTZM zKttF$vHda_?u1jk9Kk!7qW63t8y|!oFskg|P8UV@g4z8YM+4{2)9WwQXYJYx{RW`< z3(uHl7@4O66{C4*CZDW*vu>9<{06;vyx+tb8#3_iBs-$3!LaPv#=g6okVi&4-Tx|J zzq+H}(5Zem<8kqArYTZ%+90ronCg3oH2JE!!LU?N9IknYkDycR0Fs#oMp#B*1g3y~ zWteY=TpF-A1#Q;I3b2@u$OzB$tQV%~j(ZUpn|tphkenL3S+n!$( zx=9cjj`z`wvhwjrU~VJ(>>!M{(*wlyZ!kZX+wLHz+0!m^JhRyo6KK`U4q7fEo6t~V zG)N&cP*~__o^N--0~GZCD#HS>E|d$X!ZPCfEGDsF{;YQv;5wT$XC%AFD=ICWqR(sb zY3+Cyb8JQO0WH%zX(y=TfH?m%xdGL91}Y&f2BPsD7ZBXDn71#H6_mop3$ zN*NjXc_AG78gy@Z1!zH8(W#MN+(W|d)AVw394q~Un_@xjzS=SpgF+EAD>=T8K1V5~ zUjQTqlM}XIEl-X#w}hOE<&b>f=4x;FMQ-X{G7d+?-}5m?b@&fmj>x#ryklKJ@(MpZD~9 z?VNh{s^H1koh|^#nU3L`N1sHddSVI#Uau0>MFH*6wqWP>Cxb`3n)_#R)FNR(F1~q} z{KZdeLMLua(cZt~tjH9Tvw=f-qCC2`UJa1#yftOFWHob38@XfTKO@%>x9Y*mTP#xG zc6N;~;PHUaYYN^`BrT`xPQwi4{lhvog>=!5oekRtOFAVNzbw?P-Ky>Z>?26G^Q*@# zxkhs#`bLKKP5m^&#oNe$u!NN!9O+Qy@Q@F=aOL{DHU z1C^=q$tA4{y<)%wYBPp<#{aPko0`-1TD1tJpJt=v9DY#iPEY;k_ccrKfUcj?1R=q| z!50%B*b|okUts#fJY=KSP@iL6(~|3@*`WWlC6KSb$pwkVRNk5# zEezgj3hre&y6fdO#1(vvS}Jic4F&kh{@VUuN7^|kDK+N?dnMlJ0=i2Osavrl0o*q$ zRPzX+EES$L7fK>?Qf#{RmU!+5spe%L7sGyb3%r=_wrZ7B8_*k3GvM)wF6A=nlq_@2 ztsoW3&3RlHg`BieP6RCfn^}&(?Ew@-zhOBw3D2#pD{ow|TwPqMKJSr*X&;2pR%-1X zwG`IsW4capnl9zV$?mFt?xv_{S;1X3k()}ryd8?o1+F8%8DeaM@W-(O4=V#C&->g{ zw9*Ixd&IpD=`t)%Q=C%FYd|0C`;How>k(~8U9H)5J_sDF7Z=@;zN4ExJ`(&AKGIQYL=}CD2;Y5e1gge12ETKE)!dRAQlt&@A$0$&t#nG4Z!2)>TI(v?yKs5 z`G$J&m<*hVyAtFL14C#NYNxyRa7xkJ#*Wn6=8{laB&&Fx0e5U`##4H{4y8w*oNv-7 zZ*&W0RICaesXwn+?k#|f4pa~)>z2cggtQEkCp%I+tz+xuoMP~4F7px1{v>HHey~|v zzrGP(9)}4z2L}>a4X@H{)jZOj3mnL*D(v9^_wAp2Zr`b3D9?RT9_FTKGf`cn^ZGJ<~&^un> z_ru9xPPF>~&Kfh$3YZv5c27y&Y~gPver*6VItr+L$qPUivym-?o=`c(ygd-Y{(sI@VnHEUX9sM#cv(k}V z5aI+`(==Vy)IsFY=o+w739#;|1c-Y&MRI*{T#~of-?y7_GvxEQ$_w5O zA%s3P4$-4)cHhP_%y-}j^ze9vN1`cN>ymLPR@8%{$`9-I{pDrX;-1|80P?8Gc1#z zN6H}V{pK{R&9U*<*!!5iXDf;KRpWo)AWt8_e%+-V%Pf3D1e3}tZT-vAk)X<0$=PVp zKg|T&FH3n5HK{-e@G!hWv*C)@(t73hE1JBb5UmBT?-TLIwDq56T{C^b)pliWdWtjz z#2PvM`%QOf4h-)*S5%7-!I%)MJc)mvb7dXtd2jLU#xYMIrR^V3--SzI5PebY6#;=} z=SNPPSzpK!)YcauYoGHR5LnpcSO=Zn;ppGrp2fSepPX3}Gkh+u=|_JpwO!6}Ph0LD z29&w%K^bjMtEUuUYiq@;G^8^fPBwK`8zkvvi*t@-nbQz5s3}^+`7*uW6(- zoO$T)gzl{pyZMUT;F0eBA58*ACLh>B)XiVGUDsw4;}jYK2NDxi7qpGZK2;Xo`Jw$J z6kq{!kF%5vOj z0yox575pKFHGMcW(7Cgwu=ozD3?un2#iCDm|Mbmk41zccwuMocOQ2{ucUD{Kz%tQC z%K{rx0%(&gso4gj%F4kjJchI_iE0ABE&NaDEYcVef6(RL=|kM#)ysm>7V$tlxnVW| zRHh{4j)eB48v6_oV|RT@0EkO~Oc>M|Hh(&?6!<^WO>KLuM0pC=OFtyk#~pTC`IItT zM>BFjxC4xs==q}*_dn(bQW*+1#pr2++abiX1v3pumnmxU%Cj%h%v0(CzG?4iA z5{gPuC0R!ya;4h>9r)+TwLL6BbvR`ptB%r9a!sOBA+4su#_8WnB)G1I1WCj!;;A)a zTTkHEfXshc4jE1X_A_#-cgWV~JuAeBkX@cXG0wHC2=_|=Q7Y$bdd!rbg>1*Dz5*U&hI&w@s?P&+h?VQ#tRiWw7|FR6)5U~k>bPLHqnQ(T z(AWXO_cZ>uqE9R}Y_YWh0g zHx@UjTD4IB*lr6Lb=88MNmMB(0x=%&#?A!)ZH)56=~1)hvViLU+!xaJug1%Q&8Aq0 z`v5^q!O^`?nL0%x&u%nn`Q`^>ePBGXv`N=eMTN|gY2Vt4FOWUQFt@s-qV{#H7*)&o zXeTS0=y9~DtC`F=C1VO%OD5|KfIEm?fotC{MZFnXhi$D!3JojKUjBiGZ_rw!`eG+e zs53FbV%_F%(0@md*J0BnY%P)G85%JfbdeM%X~c?%bU|6jIsmaeygX*)GuLiz+8Sm4 z6l?|rT8wy`w~_JSg4>9BT$_2<+f#p4DDbBr9H59*w*Or4SQ=1*+t*dirR8NNHEM!S z-7@ZoGvVg?sF<9w$Rrc%;lv~|38!fd3do-Q*0$DGgwj&JoxxH5g;45KI_p`yR-CI1^x|90y}VouGh~y z2k-X{Xd)nLu1a&r3bZQOxjfCqDrlGZO)s6--h}hWb3WVy4n+G8fe7|6;rws>?2#l@ zYkcMTH_3GMmV2~cZ`KMQxVBM>-bVX)ib@P*bXS%K4ElzUDvsnZAXVGIdO#K-G`)jGxZts6l!EftXJP&>1^-A$TUcf6} zZPDr1kBWSTd8AeM5<#;ThvA3AGO-ijyTXclI5}ZCFeB^ajk6>T$At$*zpAimoDt_u z1rmiqZz^cE3wDvb$tzKptAl?_nJ*21Bp(@(+$Z`S>bpkjLI)rob@hW7TE2_zI^mj% zTjFraw=zAimBza z3KM8L6{b)!Hz*&jOlvoz$F-AbBLO+-7a45_vg@1yzLwEt1Lga|-iX_QhsOzepfU|> zLHEmfOr5ztbaE39NFw>-3!i-0oS}o97d+6rO-+yS#Es`h{YSHB)ZxF0swQqrRgd&-zQ{^ zxv*?q4$RKT(1WI#EdL`E0DXr*x(QtcT%R`WM>CaC6>Ufaw`-NT zg9DQVc~8iI0T5Ug5%JG_@ybVgmPIl|%2am95QDk6SI6cl58-)Mb<-Ts`9W&twJ1Dr zpA2hj6NXGD*G258(pj(uh zC%3zvc`ynGRDbr?F~CrQe6HWcz?kx&p3Ov__YD7+Mt#n#Lcx^)uF&rps>m;CkQK&E zOi^|j=@>kUw)apFT<3dVe@L(bo*7&Dg>N~7!zY^Gh%IPEJ|7>NlJ9T$iRaZK z=O8ac4_e;Xai;l`AMLz7#8?Y(o%J)ikmXK2XHzYJQt3c4%jNqOAf|EG&7y z_LBY_bLXS}4VO_IVyRfi;J=#>NN)W{useb)m?r}2eS}7i)bd>pspUD@ z*EHhoZOAx#;gR%%mX|%~ke_832*IbLSC8e{x!uVw^0nX8QQ&)c5Sshhcf5)q;b&yTQ-Fov z06A;l&q%a|ogC>^pkYd;UGxe)#J18;a~!{cyg(FjaW;6m?=Mqr7gUY!X7}9tA(9%- zsnoFyp+)m9nX`{@+A*k;W#@n79<_GR*+Bv8UK1-x%x2zWHspI(aRXvLi30jJK8Hsh zB@5cUgp|jUFwgFXufNtf?CEz;a7t^}W>}A-@1dR!U;Cbp((xkKmyi0x4Q7|xM8vlI zXrIF< za2xv@n%Ns61UHyJ>?vZKQzvv&Q|=hl{4N#ml14>JcQk0lY#L$yESGop6aZN|=#BJd zdcBb}oyH)8DOG-r!uAqFR>L1;{~NM|bAqv+OLB|;iP&R$PHD%k>HGc@ zaURos*eq!Hu-OGcXo&bZA)uGi7VwI4yGZ(|HehlfYll&AH~ERefd*q8yXwH}u?x}D zEnp>7flNX2X&iT%$xVpxA}|DgG5+|fpni|LnAe%cK3Ql5&9VfCu$xJKR>M}s21I^a=zoCPiX5X2TZDU?7k+nfh4OWQH7F(m$uWN4N6 z)WpXdLs=ar5ek3>YBtOpsV#mA>;O=-E}XAp$qroyyct`Cbv>^%pP)_V-=-&5{Bp)A$+!|nO}`NJub=l6G7R#=0|F!cZ(Jx+qbuMobnX zx&7$)n#-;sQzDNK84=8>JRmFaM!I_KX!O1D_iqRlb=(wNyzC9Azk_R9hFQ|FJEQ~& z%$gtR`J{V$L-Wg@o8z*GT(Py)SSl;Fqr}L;Mn!NYBuOGNXFca*((>Sy6ekVcJUF4< zoRO7}-D$tss@+M$$M?j&zl*bcI0v!*H5sfhFp7v=&y$Q)UlEy{v6lLLjY6M22hBIN zJwCtu%3V%FSRBV*+C*)dOfTP*0v?o4Ix)ZGEGisYfd^Cu=TwRGRGNfGdY%vfN>nL9w&=jD+uk4 z5QmK12!WB3bCd0{YE(5<>v+klS5!;!NEJQ{SOn}qzkYikGVp#;XMvt{ZO6(6r$)KQ zAAF;$0dF$wx;8`vT*x9HL3_a1?W z|BA&SN{?>|b3>@*B*f&yNs{|SPkE==KgVWcy6s}@e#4xVIRh?eS(o+Dd3-F(f#McK z8nOMuePvKCqZMU<a}iOLaYIDhXkVu z-#z}6ugw@g&q*4vuW9p20_-~McCip`ZBHUeYk9rEb0LA7p96NpWch>PfEP_C6`Wg{ zOF)7V+lboZMSdaESDU;0lJH*Piw?TOthR3wl@~aJ;{-j>Jh} zXgb6+kMoGbxM-=yEezbbTBRWd0-G8*dZlxVM@3)tKF|FqQ0V@uMMnwKSq56dEU0Gk z&8yb~+I8t2ytI#3*}*xNw+a^l{Db;9qVv6#s%_6fX~7x|!rs`iM$?vCou(-YB`%urfU3=ZtAGZ(Gc?&`LF%tQj&QK;-It-sMaxT916_5 z*9lHW!?3+fD)56!-5KUKS`QS^DzI^2B#@fidSBmJAOS#d5eM6~cil7f`y@<92NgK} zlL({7c2LH6TH_!)rh1UBS0ab{Ksj@;bm&V|EzSp$FpjwUt*savyN!tg+Zbj$m@eSz zCtroMD47bRq?tWV*Srvd@BJie{Fk+oVF}*#sWq3i-;QD@Uf59cEho+cwL3<9%Z9?h z@R%zk%-79Y5<_PcE5SXb>lydKWJXSk=Qq!2CqhSoPYD^}D@{@d4!~(v!g_pW{$^wz zVK4WY%e|bTuB&N3HCnXP=>KWeWy1H8$-iOOCoMGap0@v-uVbGtFj9&$w@O2|m}0{T zy)t=0c#V9&6F?>u?!2=EXiKZJaYsPUrzwf&V|I(xVlY6}vI09;ZB0YDgmn)bC1*n( zLD*20wMc!Hp4Jhf;tc(4Y|$W@8e2CEH`x;}GY`16+LWt*B;E3}e!zgV zw_SQ4)w1!!X&XzAJK5ss)2h_K-o~kn^bT{sndWsCvJDhF!NI~@Na`-lAi~!h)2^Gu zX@OCNLBr!dMnA)oQ zT|}1P=l3E97F@^pA)+Ois6Mf2Lbc17wL>H5yzJrJbC(LC&k8i*bcNKK6#zr z(jSONUss_Me)!zfwj;F`y4g{u%dVA|m0V~S@uyelRFyX>EG)U6LUHZbA4|W#_o4L% zC};p1^-_XrSMgSHR!~Jb5WdTbcdbex4$xPjO0=1|LU>^CSHh&o*7Ij+m3sEQk~_S^v2%LA&$K`Re8$HGQ9%A(n(IQ9E8fX(^#5`LemF?nDFD<~Cu@|RGin6L z15U6{6y6?dpsA5H?Mc=j!9Dh9_!*mK9Kc0d?$!^ zoKb>e_mmE&j^c8@^9zH9avHF_DGAMb!WkA`;GPZeG|#Y5LxMP0@kQOtins*~c@_y5 zvV}|woaHE1RPTZ}_-p+GqB>th=Z!KACw7j4ks!*(KliS}lq0ll2&(vi9Y zmhKBw@VzVpRyz)yT?23Dk{v{^u5tIWDp2&Mj>9dQ?J^?Mer)_B7AWd+c7sh3*B;}e9BOLiG6fa2U>1eqdYN$-r`7WmwBoUH!OzzpcL7pu?|=$ z#q_JJL#Z0ZxL+;JZ%b*>J=tQ1IDcyN+$81JOQB0I>-zoY$-vm6)_>*YS1Vd*MY8pL zN}ikl3%*YSOB_lnRyxlyr~eRpWspU$X{eiI)wsV^dl9uotF6!ga@utN!(()!*03=^k+nCLg6;8};6=n5)q;)#F8GdoMpa9vB*m6i0#)kqZBMW&+PP|5i< zQSKVx11~87cO*F_+d}kzl^MZ7y7v^)o-39HPHD}i_M%OdLhqcQL3dPb2_*8p%+PNu zDH%K6M|Wx-NUn`Xpu>uGmXuV~PCjbeIxW`(0$aJG(|d<&*#v5#+;^rtx*3%UQ#2d-weV$9V+P012HJn#ow7PG~e%hOnlOUb?!84V=x zs-r*qgx=-*`Opgi->m;f6+1ga)&7kQkrKU)wks*!g(DypXGPpmIy*o0j(s(?%W?yb^-`2Psr|)Sk`#aW9 zQf~Hj^&8I(22)U~^6KU#ztoc;vr@mr9A+tH{A zwW-#xi2=~sXt_jt!zca;CA94A;Ac-0LEgi5Zvp$Z#<&n*V^Xo?_q4c*1zK4R4oWeg z+7y91*=&x@1LhI=K@$~fkhDJqzU%lN0|poMN1yo>T0=MIZ@!R83xE!O5e3BM@8pwR5ODEbSX5d7@#qrA86VE(V+BdbDDy-7kM!tYu|3N$U=6P)~M9|uJ8T=%7@|nNSUFnQ0np0%kSHX>K z$N0G-%=}qD1Iw&NI3W#ZR*;`Ou#t4;=*fcMAHn~*e%Fb#r--gjyRLgo(FkxwZ@_Pm zKD=6EZ}9*z@dYWqq$==*Ip?mN8x!ZSu#*c7BV)j!8wxxf1+qRNF#H_tyO0C;FFAeNZsR@yi z9tLo}V?t%b!U)yUnn*bU1c?x!H(EJ1kOu#Z4 zvs$Fbn^mta2D?LdrHK_}74dsT6Zm%0#qQuquCqQsUUpS*#|=v^j-$g7*4J`Rq_3wJ z5|iDpeyj$|(SgxLV_Wg`}wX zmMc&B$xbu;-kHZ5p_TVgWAq*7H63rk4*>8BB52J{e3-2R4f*9&qz6 zi7r=Z;agLIuXvN4$;9w5$5%5-&&T5i5Y7WJY3Xn9`-v_czbs%3a#*>vUj zL++LflhTc-2`_3PyRR+KZy?&Tq78)nU=(-yPKT+b^NvagnCATcI-)B-6O!)(TZ&#j zb~J-GyixSzG9Wr-|9~jZ2heb&<^vNT2hB}(*FH!>(Qg;KNnXiZ?UnuXCRS@Zw0{t>+w({lU$IJwfmBTWt;KkY2n1SOVaH4%+fDx%#W*x-{v6UhFx*_Ka5I0DezR*c%Gju?mgOlh=Zp^hN0Ozka zjXwZPk7Z!D&Eb5XC&|}8Xq+LtmRb7v0gqfW;Rt45C7V-u`CeE7|UKA9q{Y7|S#&LAv>$ zIxm_4(ybgDX#e#VM5m{DR-3YwfFCe; zW81ueHiJXU!;_KG(DtN<*G-(HZ9$sA^R&uZFm4h;_WH*&^}I+1HyWt*cVYNj_oKr^ zUN$ava8ruJeN^AKQeT{8Zk-57B!5f^;a^-$6TosBfd$t_q~)JkQ)>#Rv6k-^ofa-* zBNMx?0VZF>)b`zNN621iSxICrwIm!EaB6=hVXcb+^NK9>ZCGCYQI-~#sg5Sy98UUy zgSO!$aT-4DMeYiL33Gf@p7f5@^0M}mv-7pkx53<*UJ_zEIkX>a7`RaPs&e4F@i@yf z9Ai)|^heyj4;%vyxWr8R%Kh(eyTZ#3C{>j3tc4EmETYi-I!jKZg7(o!-;7w>GlIb^ zvApdOFg8lCk~ZY$pmkt|4l8O}2Y&J#5z-UD`l1%6>BM&jyx ztf|O!-J_M zL16pNiznz#|IuKWgHtg(V8JXPt?PSCQ`UOch90UP~g2RR)^gQa`s zMOy*kq$PMpXirge8SG!=#|$zpN5bjzub}`NG0Go5*ix=O*_nc`NZ9VSk_wi#Q^QT@ z>6#q@urmLFUFtdaY-`lAMnLdPyE)0JkGQR;EwwE39`I04x_dBa7vnmeaM5v6;K-JF zD^P24oXRr&&1CDGYj1f_O=5_h=59%k@v?>OGn?Aazvf{X0sE};V^pSg%1 z3@`^Tf6DLlCpU374C`!?FV0dBai{+5zI4vROCN*hrC5p9LKN)9BfYtevZYGU^Xfx~ zLOeW9C{K+751nvsNO;-DupT=-sih^Q@|vo|KyuF-1w3!lL_MsuHegurQd)NXit12k zkC$nQw{ISgYzIigq#<^py*VY^q$@r#M)zFan%YZ$^@7!@RjG;Zz*3bz#6<_^5MFl@6XFV= zM8PLwSWjpd+&oGi4VcB@vH>mI-NfM9lV z*YS$qgDSJErN?y;TU0+n_KY()QqM_deyEP+h0vg~_8R??cfDJ#DVX`G%yN~imfT1Ck z&mTIHqwj3zNV{w6m86Tn>EZ?CULaX+y4X3BBr@Qdc&wN%*a+rYjmz@LCvLmNi-B<&+ir0f3 z$=u$vk~%t42D_vMNZFP_{RcxtV@Xu}=FlCG8N^Xkx);WbI}-`QB+l|!om$HuA(k?dC6B5(cBGLP z=9H4+K|uG92_2YF#f-=Ev~VGN#b+5fz&l&jt$9SY8LeQaGx~L3fOzN?{pRKmpxgg$ za+3^mI>gL#KBS|EhvmaflcJr>Qr9?{C5*$rNj?H6He~`;GC`&nzAkKi60}VHVxzRhj~Z1dKpFlLZ1j^k z(+odhQXJsHzS@j13$W3TbdA$~C*R%^2DTykgY|Im+l6o09n^`gpzIMxVmh(qP_O^*AltG^-)miFtiB#tGSkVu_PFZjBv#C`Zi3$N1Q zL{V_4g>yy7cIO9vMjGZ=V+~7`@vwQ|mSHPNNPFPWS&r}~-0Wher@BSPc_2=~+X2Q{ zPVKs*n1O&43$(E_>HL?@*4RB+UJlf;JG6hMl*Oz})I;vy>5yIc)6tW%&73A#W1ikU zli5CRLDHVtzgIX2+oswxRv13#1IfTB2i^3`h~Q0f}&Oa9M{QfIarYXeBog-^c@{ux@!GMmdX3xJ>Q+7{{nzY2tw_W-(p zY|iAqQf_d$$c~~#$guMvAq&Udz($A@mo%^Ucqbw@J7$CKQg&%SJ{e6(Jmj%^5!vLD zNs0HF7tr#_H&oq^0vdy?pgNgU@x7;UvljbI39<_cD%^ADZ8fOc{N}`0xnIau1!&wP7gl7CDLnw_@hai$OIzZ}=Lb3vg~5vU zrgvSf+|(Ojl}q$ii=w9qCsT}Pw80-VACn1jnVUWqLRdd!{{NxtfB~u~)2nCv zvVg@kXzPPo&0Vb1CA|P{mnP}co(CuN>WpS?% zY$@!2dHyU4eHVQlT1Gszt5s&z1?6IKsQ)Dsg{SHgGmK^RO03@u6ak>@JHS;?-d??M zBw1t;;*1?CS?wxVuWsK#`tpU9-2#g$A&aOIE{_}0i_qw5w!4&6W6T*sc2-Lk_xWHa z&Z*j=wBZWOVAM7|*NHPqw7fYT1s91^i;89-J5u=zaQ-siW}59ie+|)c|6(h~hWMZ! z+rJ*3HH1;vIw)zS-@PCu>X_`q0PZ7^z#=Ud_&?nNY)V;kQ z&`y@#rKL)Lo{B#>{wvLnpNE#)rTzcbzC5m}Yis-MwJo%$IJBZgK*XUI0TmUQTPG-p zwB=SnCKZ%Y1XPeIgj`2dL_`!sgwz43RX`afKq7)5GDH&vnGzX8WC##Q2${Zp&PhlD z3F^IHfBsX2bN1PL?KM2>S!+p^Lws!2npg&tTE$lEn}?uT1gL!P?12N<8T8#G%~Vb? z<%t-eFkQFN+fW}n=52#GRW;SRK>2%k=kEMyIhmE0wTiN(P?E+Gh0}W~8$W!suj-P9 z1Ka7&dg%^HJ}p9t&5&1m55~P4e$75|_&ssNG$FvcP|qc$V69uq zWrE<)_9msORFS*> zBjhSqctlD3-r;C0C&;kL2^U0vUTUGwk(vx&!9m7?US!sNQQ4U3!fxsr&bv4f6Dy~I z0GN#%IM`a$6Bm<$9S4JEq2#zb#4@EFRpmm3=N0G&-cIZzP2;ym-`#K_TNw@PB80V+ z(;WlQ-@s);LfoSm6(D>dltn+nsQIqhdW zJ?XV?Z0XHo)rT^YRtrp~cSt?bt}cA)YjSpY;_Wt>jxdsuL$QGcTSCRy|1+{9sk8Or{Agf@A*WatJt^k1I=T*P?o!Zt8J6&}6H* z?Rrwk`GeWN?L;Lyv2wgVH)odzfzH+Ys+GeBqe$+}U)ZMW+Mv#F`%5n#m3Wo4fCw4} zL;9ns8W8^|jgGwf6fJ9b#%#@%H+A;?&n=&hGGo_+W|17zkjRH2pil^OEn4@mr02|! zF00u3YX(-Psx)2)?kPBYa7wNZ54D%olDL<= z!V)bA?bnl37sw5Bvv+}U(fiIb_Q7?Rkhrg6w6nT>$=PFg;dmK^{axaJF;|-~2MkV~ zGw_@;qVeLsnt|==^oHjl--rCnJ1#Xp+?Sve_Kmxip`@#YRO7}ka!*lKU+K0iS&B^h zoT-)1q?0tgBu<=j0t&LMzr)S9FoRIQH>a1YgYwQi=4<*ax<|jje*%nwcbm|1=aE5e zqHqOTSm6uL)}Y@{B)zFVzbYwQH1qn}rkp({ccZnv<3Ou);Bg#UfHXe&=v;;@s%LiH znKA<46TbRq{VL7%hF{Z|<1(7;{bhdVLICAi4F4PICUK7IMBLR{t{PCX8g2zpaF8s_ zDFzv?^?YJB+JMh_i47N2O=E+J|Jm9j{dVwofhFIwY(0 zGKA8Vs^P-whZ|uv2Wh+K=+VgKVG$7#UG7@;Y@B($^BQf?POgAvyQ)mMpAe-s>C3hIt-W~N#*S$r4-vABs`Shti zJ&^vN9hF(rknZug8=rTtyKik|(6NAtR$ENMB@bh&>k>0)D0Tg9XfR{9G5G1x=n~B_ z>uliG0|v>?-YL`QK4PZNI@iiB4Yb}Z2*m#|<5b};m}o&uzcl=XC*3nSBt1nJ;I014 z0O!CyJ2E5bZ0yanfjTeaVza16_h?`=_)ArU06X>IKWThznl1OhRH+m5=8!}t8&d3Hm_f!g@JqwWQIp^=wLp->VhB2Cw zx<%!G8OUs^%ty<5$uQeYmJELCReHSriay`8{0?}+Mc<89#UpcIj>bW|n3r;girPS} z)4n7YH~QPNvzuE1H;i9uxjWm#qETwJ3N&uO7NQKxOly;g<7Z+lu4^8(h+F%br~ZGX zhj1`$O`dc1aRQAj_n$MiRT)|?#2a_)2fx|zsa`ehL!$P+&s-g zojGC#ns{F@8DMBHy9u9N&oYE8%#7VeMS-;3!S>Ldfribj3#Aksvc-9K*AezHWTps% zn#U(9?uqXkGx#O$Z`}N*Spw0ulP@7*>xz?D3#&H?E1!T~CsI7nS>|B+&UX+aTb8OQ zWqlwRU`izxWIxIRh5sZ|5A&<<@ge5}%;$~+WsIBrpz6%OK6g*tP1Ce-1Gi{qV)9fk zTC~ujDPyPqi}};PLfh%I$6)V`L676Mpa9ym%EM2yPP4gwEzvI36CA!$iGE6bppEk| zXe#C{a}zGftd zL+OLXOM$aaLvRr_rAe=q1UP9XD$jFcg<$(a`FRNGweUq(>LRq6=?i@5<4=Q{(`IjzI zMfYiWl;M5;m(CJ-}rtYVr{yfP3xg=!zXtuq(76|Gaa$^f}3(c#5h-S&mQ2Wqz zhK7#>}buE-vRTx zpAhtqq`qR=!vkS+T!7GdJDL1BwZv%#u9{L{GDyWtP`|q>7&s}ayqQWclvB(tAM1w> zc4yR^=!8wN{zDVpfszWZ&rg72a#x93ld+WuuqG6?ptSy|`Df%s$gf`{e5SHPWyLMc zKb9<1S^CwV9rB*;W{jIUq%H;GVw=3H>wq3b6{=-nTuwCG zs;YF_f4<>4`lWr%zp#FJ4!=Rdhm4Z9%dw>~s6oUNj5sa@VDl(a8KWw8GgywFQ*rDnUQ< zc2oXfKluOHcLQr7<2~Oj<#GxaK%bgr@h(ICWxyybGDEEc38*iK5I!t= zv*@3cgY7a+A-ejrc00x?FJgc;c=+7@{#y+x&~l#Cqigqq(J5eIB`Il8YVl;o!kj=X zpl`$Lvxinr_sUsP3qBXbCg(%J*Mg^=NI5fa>)M2F;leeU_DX_~qXNtGtgLon`S;ki zREl89nR&~%4p26O7te=&9}L=jm>ab>Bp94*;k%|&;C*_btbLPTt67$H5B~b1EhWzU zOI_MP+btvJuidcitCZTGQhlAh&Mq)XN(^n7y(Vab!SI76prL|$hqK|`m(?W|x#>F! zW*IUU5N|BHRo*ualqzL8P^w{B2T#x2y42*7*#Woku2-dPd9ggqf=rKcVbre{#pb1a zu#cbLVF>be^bVO=fZ@x9VE8h4SCd5m82$?0^+%jLc3cDRo3q5G^L_9 zqJ0^K#XgqyTaImG`wYAaVc{+B%-dRfn<0Q`b@TggAiHNZ6r2FrVes1L^=Mf7ytg|+ z#};3GXq_Rv*{eFXuG<4f8c2Q)Wb?qkobGpZkDfe0b7T>6rA8!BXS7Yg7LIc~sF8nj z^RRa6sV~ucQKKoP4C42v=jHYmSApi+B7vox^oG&^Ru6suY-@t(|79)CCeRHCHPJR@ z0}xfTLn>uXXq_g>zd#=c-wEWSX4uOUDN~lb|J+>d)AJ%V-v$nCYp9FG{3g3`nu!X< zEbQ|DZ#sM{!KSpX2Fo4_+6j#6nSBpx2uIKT;J{qKxIuCO`f+9IrpqZbL?H5>2k$!s z8}iC5AR$g`N+j z{zSi7?8`D&I{rpgJ+}37Wbes$1$e<$y^j8XiXiFA9DHT*lPElZQrZ7n=4?ynRkjbQDRwQs+}2c6?Ow7j87?C^{pK=tWe z6=$|wUCWE{GG#0JkPq7wa8)YX3FvOhsHK+KxbL#ai7r|iq^<49I#@mIs}aW9T1tFvWQ?_b#Vs#4+Bb{< za~o;T?2{BDV#idpPcM!VPCRL&>(u1%o-EvLo!v6x*|t$*Bx$5+Er)nnxE9E*vKjla zyrZ79@Fxp%gCMIo6tp#X5Lm-Aix)PY@`|PvE`zL({2%*BIV}Qrdw6^(QTPM@jnQ1e zg=j6~!LFapch!4Wd*^iJ(kxE_5AEv@`iYbBsdix39)gbX)`3DD#D0rhGFjCvv6YZN zco^^-VE=WRB3A=8L=(fV%T5#W(g-%fzPPAjU2e6iKXr7LaHDzm(W)TFMfMa^>@9}& zF^fP8l)w<&vfD$gogeQ%xt?3^%(>Ln9AJ8RiH)>FC`Vxd9jce3aUIg0z}~u7c|XY+ z0v6Z!d7xek4Kmk|aE?@G^W7%isWEJd3CzsF7m<-iI=`Z4x)5zFC%PPPy3sm}BzC>` z!>-&OLt3ti_I4FkYF;qo24t~86So>x7%Zr{U*<5)wknBrrL6i^S-(ox!>^r_sT5zg z4~haH9RT~*Qf|47bFAo^0uOu_HnvsRNKe2#)-}pd3o3%fmLs!EJK(egHWPkZW z-2JFaB~}z&u<(K|!yd43uxwpcYJPA)G8~Ugcl#%uho;$wAm41)^X;zZ*5r;XYht>n z0;dykCcU<<>VW@ool-FCm%e()*_5%jVpA?1qPT)HZhl83@Eqx}gd^S)BdGyFj&r@} z)fsndQu!A~4TUX%WCtz6qhgb#MTQ|X^AUG+S8g|0_t)ALx1I#X)=a*|?4+9m@>XR^ zJ;}Do7j}5SEt6aywF56s14A#0W|quvP!!9|V5}gy@Qvan1VsLVVjF4pW-YC?G;UWS zx9moRO*m39JNJfHvz*0 zx$)3G3x2i_Ck1p-!@Dr$33%%X7WR1RJ#4`2ApBLgkNWz`koDzkB9HkzpxJr59hEg zO!?9An4mPBko6WLKsC z0o5H9+6G%YNaFG`DVZv&ElOWX2s zDPKU?-54pj6vVWQFyZqHgF}QB_L2WFBW~*|aikbBQiw;s*94NYJ)JQv45$VQ9HDjFqkvi2Rzt<~_0f9>LM?h*h;Rpvu7b4* zvE0bz#=BIvg~h@P)jK^e>Ixo~?pag73&qQHPQ>Ue_&xo`58Blz0ek3vle993RJ&gu7Aa8ehL4%-pql@NKRrn zH6DW`i_ye^{9A$K?c z<>zmDzo#wS`WpD#O(1qwPOU!&KusWG|BZ>;YydC^a9fsFv+tw<&IW>qDTpK`?#P+Y zwPdbFb8vz`8jBwRn6ac45_&ITSoSj4$Uy~ReE zu;YKA#W{nvQI9S2 z-OwPYmKf}>pcN>u-~8A>qeJjI zcnr*fm4zIojIelRXSUp2G8*Hx?!L(J{TR4Po*yB3cRo9V*_z#)Wg$UFr@KUA{BT~B zAsnmNXvsi?Q#`^&O>=9ZNM`Tpx!IkD`ceB=>-m(}37sP;r*QIb;`36aH z#*?`5WHbVtH1Ohc`6p?x0h+Wj5cKH&!W~BPfUt$>P5OU}wk}1~%u`|f6=8W2hFl&I z2h-qtILqBS&BVYIPjD z=oC#5x(jl3EVMOS9$-lEsiW#~!eueTT5E%|*4KNA_16LD4f%gF%|~BuYg?^FH0w)i zTMh4-_S~*O%*1N&mwk=d42uEJuh~^AWt|HP?TYcGSB$P?2s}P_Fx7&pi#<~fI-*w` z6FXaHw@}RjR$#hnuzjoMckftj7Wiz;@TQg`eTg5w{wKL?IAf6TwVn?IscgfG`i*Bi}FNL~`=3-#jMp)QyFE(mywZ zIz@dPUM%kdf`o>wAjkwIQerE1jkccSIHPsKBq;gx0BEn5={n*u5!h66iTIy`?NID> znYI@R^`+3(4T%0*dm+N|YgoAgglk5Ny|tG3ULE*A+h^WYi8#wgsv*DXY%j9u2fiQS ze-Gz&z%vp3ssLP7(LP%>wsXVBWjkb#S+XG5ON6f8t=?iw2w9i$Iumn{z)KdzKQphq zGhC-mvM@k)SE& z^npm#eTiV=Gl1VP*aWgYfxw&gbQ8qH0AEtdrTticL;CYFjw3pwav3!?0nl?K=OI7U z;tGHbFvZLJPbk9?z6OP0*`FR4BM>(@?pg#QR%lrf-JySaacp%-++j%)5w-}Q;Aus_ z1wjZTUSTqx)pT2mByP^k>s$yfentVbFlnmHCh@gtZU(TB@Ye$Or5pX{H^l|S z8N#1=2f`ne#NG7a%ppFw1i96c45^IPlfAjqZV`wL!7UYiZt{r5rVDO;Q0>A@mUCC^ z&!usPy+6Ss$f^ZHiKCQ46THqEgOc-d+(S4$sJ3;NTBCY(?uN9&nQ~d)p(emH5&^Fw zH#zaGZ+?CgoD!pKN-MNRMCnl(+K0-&S9&NHjYMWyYvA;i*dvD15{E%U;;rZCIaz@h zXoWk);pcyISK*``fEIxmANc1js-d~m4@xO3FmkTSkAjbyTeAcWe~qSV$jp;ysv(AQPHVouofojhOH zF8Z)ikF&_eMm3r*=@XgSMM-!lSea%|0iFn5Qx&3lA4qXeH{MY4N%GDEigWrBvmy3-M|nikV2@K2^mBh30~6-C9BUm|Jrd`&s_38*XP2GC(x1YJo*_oD31bdrW* z5JBRTNPwfsM5CAr2e1tT6^u@kh{iMtX?&QwB11J2xm)V3iF1!){w$t=$!yYc1_E%9 z#knqWd{hwznIv^xFpIfXlnyNKOT9QI$_hsBqC#vNIVg|lLIPkYk0E$1$hDXbHG!bL zwgy+fCYAc<`bmIAWHqMk!_0a~Vj}m-(bdk%+Gi`rpv;^e@Pp)0>l7(QNEH}JYvQ9w z7?gg2mbxe>P)=$Cke2>f#RSw|`HaPxUL-AVB2?jCM^VNZY3`LMpA3#_%fBC(S!eNs zbpcBIDX=X<1(-&cf@7XXLzLVEaqQAt8c_B z;Y0>a$B=-sSad%C>XIqT^!mixq%->!vUwH1ba8)`f1%RP_QiO8>SdCU97WKm#3_O? zBs`Lz-k>cZfKP{_c_>DL zI9>~9R!Q>IqO>r72mu23&FMbC2M%Am_kpCA0wh-&QrasDUuTc-|5)SdDZLJn|9CFn zh7khrC75Zdh}s9KGKk_FM^6^9Q{}=ctA0Slz4A7Lk~bym3WQ?s!7%S5_?9|$V}kfa~=0+u0TchH7Ml9 ze&hv0a7j2)@N6&g){r1AQg5kLz)BKD8shvsPauQ54JwIp2=*ob&AVfx*X1pa3Umm_AUjj59*3ytTZI&XS1Hh%% zdn~34@~A%|>n_)Q6MJdQ1@@x5xFe2XHJOTq-FR>k+bt32;A1N>BpV1>>HiaTVFY0{Gt2i~XQiV6s3yMX69NT5q-2buFhBBy?8oy|=7+fRG^BYok{ ztn^(}5o7n0i(aIlhdqcqUED$CuUXgtQGp?}0^Xwry$+*bF=&Dm^+?lU12%n*rRd?cIf#l>mAsuf zQ!7mrAzum+B_9cDliVNy`jn6Up-hN7{Hds(#PynVvVWC@5fCaixCj-u+RxP`8yN^g z1_Z*KIzpMtD2CI+f5=#?wJ;@n4*VzPUWzLBq#34L*Mq)F%Yd75A7_so=+fs()S&(B zYAd`^N;ChFIq^E6^(a5W0-IW9CQQ4y3F=)b3iM?4Kf=;c90S7sF?bd@!vny;z5YHp zvr3H0E{+1vuj0+|pb9p5tcYXo;zxKQ9K1)1>Wzr%)moep8t&)qVXwX-x*p}vrb%c? zEw6}27LNwPM5X7JRr#!)Ica89Ya#aWTmbtOdF@Fbomv&f1sN--tPA1n0K^5V=#mod zscbMrxk2Cw8sJmdF%DD!2L7`1VOF4xAk(7`R`dTWTN>J!%y&f)v5qn5a|@tE6{J~i08jwL=$FAol`&E? z%N&B|NtN-)S@;9HFT-?}$bYP?luz|?z|98X9)y*Moe?PT7t6I%^4brEcOL?UCQU0l zwE(Il05;Vr`2jwzb$L*z2KKX>rx3~yN+l0trxs_()<{kvKxv<;2dSZbd-fp5xc-TG z-!F(%`^JOI_`gdu$X3mMwFY(zkWd?R{4@oN4?Wx-K5efR_!%=$)!Kgv0#&fUVP0>* ziG&IyVco6ia&cs5&NFG#FwH~)R-%~EAupKO76k8z@_GP6Tt%`oAXDN6s0RD(l5U7f z`=q&ou-77+8=daiOIOKAN6&j-!1*8O4QtGTzr2-(0J<{710Z`_%s`sW_@tX*U*T0G12`Q~ zQA`pD)XHsG2LqW1;Yl2cUjG-)^4qP-P+2P!;p#$_z0(sA(r=PfD8N~askPBlAAB9a zQ8f<=`{9zNk7UD&9CK;cY8M@`@fXhz+5>GBdZaYYtWOUISGj&diIprWA%bV`1c{_$ zJ39ls#SBm&H$cypcnea|+YFX+GBlD<)Dd6-TKaX9ET!sP%57bU0wd1^h;+3y+9FL@ zlt9{#kw_anwBmJAt9tc}1uP#z7)1m<_+idrm;1wfvp%652;sxj!<;yfN4VJy)vsIJ zeQ8`X46uDze*)Y00fNnM8Vw?6SYF^O!Qvl0^kMMoo06o||SnMt9)NP#?bcYv$5BUhg=$I&7E)4TMnIHH}oAU)o2_kxGAmU5cGC()24SwD2jFVh5B5|?6rQjM3QzTT{F63xJjN7 zDZN^X)be`K`rUeXNWQmGZ&FgkGp6 zhu$nS@OklV%SnCe5&jY3pP!@rbD<7z24 zbTz~^mES$D7f~hTR>OmyAV7BlUSfpxt-u7-h6Wdya~zN!kZM(cP&lARAJBW4#hmp$ z^+s~Hm=rSIsgeS*#rT-whABvx1+Dy1LofRB;WgCT$=y>+vZQ!uHPf2{OhrB?&qT_` z>@A1Vy$Kr71)E_rXJELrRy}~@ckYms8 zpK@q=CJ@%8m~joG(y+HOT~mmAsp!mLxu%82;&PN}Y3`~0Fr>EDGv;T-L9z4$rPJAB za0jwpqCi+Ix+VaV{Me{WR?h~&?AlU@s0S)la$Do)Pj2XS=&7*Ylqjpoie0H(h)4?p z;C0e(oyz3i@=eO*W9LOzLi}}EnUd18QY0M7RgiT8q>eXh$!!PGE~uun3qczS z(etmHhz*(?*3d^_`J!DxF0agUbs^fgZ16Q*wTtPBGS0!2A`t}!O<`~#-Fr$_*CLDu zQP>D=z^;@cV9us=Sdxn#fZ`1Rl>y;=L;+crumqGL8kD_9HI^nVlD3WjPSDvmhpCv~ zDVC?{TOo;ay|+8bSQ{jeJCy`gqyL*6 zE@|VT(jATn4XhZ#BxU)xlf4OMqGeCIzcNcco}%?1w5@-GOVFpsw9|UvNLGy)v81s@ z(&k)&#rddqW}^G`sNo2pWS1O-Vwq`LdwOg$*`8@qOGp*?OkUY}4hOq`I!1K~oQmB} z=@zEYGXNzFMuu0xB;~FqcLb$|o_&2e;8$}gH=-3M?qn`IY!{|#S){Yn6ysGJA>9KD z>5e5LjzA3;KECkby0=tVb32K%Gv_#DX~q3U01g1UZ$U1k{7_5OlWmqMd%f?RK=?OB zl@!be5}V_+QEbVkHe8X521sT5B<*0N{0bR6{wDx4Yvsqa(@|%b0wAReCmp1))7wO7 zBkX|vacRqN#X^E9OZ{k=khks(XL%X^KPkSo%pDPN+v^R-m@y~n8!PvkQ3u-SqgDhyi1sJSxbsm@iI%tgGPM4p<@4O>1ww$u9T{YKIkTo!=>yNJjafqd_#vv44 zWOI8!o|3t&assLQR-XkWl?=WVmr(u+x_?f(@9Fh`A>m14FH0XQtG(PCu^ygVDD{~S z7ZEd*swXe!EP=J!Q^&ixm7KT&OX#{y#_m>cw^iHCYrCr9QhtpZk zl92=c&JFu$(qf2w@pCRc#%t33+NA-Sl`?;S#epkuH%V%IOM0b$Dn)1amiE)nEY3Lh z{9<-)$pR@E5trF&s?f;l(x(p!>pDME+Nb*CyXcBQ%|7wZ!HrMg_8=PnFvm*cBHrK2 z2*x7r;Nr8yh#o_@@^^VXjwh^9-DxB01|!Y3n~n-7jz}PV{Pb4uH-gZanfX13?psT`S+9Oz5$Xu6N6RJ+E842A? z9In!$q7jGnz~VuIPykm_&-ZqVd>98))Wn#8ybQ;bcBAq^kT5r~Hw=M~kDt#zjYUk7%dr$yHg!(1Gk+=E+#K0FJ2(+{-$lfUru&xiN?p9hllh7^wN3v97W6ZO!Dvkpfl_9Tl)UgvTx>)g>NR)45q< z?iSeMM$al9v?(n0MTLO=oA46Owx3(Ld&@1(nw^pJu2BE+#9L3b^T3WA-IB^EQ_||U z7@)m&upa;()}ks_P@RS;iB##IXZG08ZTKXUoKGhOG2L2734(f1c-#cZI3$b|P zz!vsuGJSQxF7*aRaRCinwxeu+5VM7?Z#e3*)D4#}9II?~|MfW@%N=lgTVpeZmTe*y6F$s%HmiwQq)yJ} zynK-X#47f1OT;tp>5vMAp&Sft(5-02>Fdhjmw}gf z`wLKDoT{YlxdGV~Dfa+s0pfX)3AqyKRitkV(|z3w!l*w|2HRMu!Zcft97cO~pWeH8 z1N%Zjbrb!(R`K%EcloQFOMW#2oKypvYl?qpcm3#}#X{|_i#7hcg{+%;KIM)f>G$=w zSeA0L2DSbZPu#60q!JS9(G4%K?y6UGO1fSI^)XVCHYcj~Vkd5nj^uiz)`#{8tZG#C zg(!WYuf^Ns>eUz{jj?1Dc|8%eF_S_0kHxvtHRdD3cSuH&Xb#45>__KwKmP@Lse7IH zm%OCIBp9M-{M33h*tu959xNENB4w4fU8deJ&)^<@JgiZehQbkjI){B~s@rJJH;Y&L z?N+^OPuWOmd8$_Orw?a#bl1tCGG~rn|J7jh(3MkK%e@CnSGpAp+zyJ?-27$J&ES&Z z9rSUOaIG85!8?s9sQaBh!KPmE=dcsgjCikANb3H$)dTb^>R4fOUgx#8moI8G?W#%` zE%djv_^9Ve-5Azm8phO|gGP}%-5cDHVAwYSP4n|e75{q7&I#gX3@iIPn2bH}Yx6EIW&CVv*@E8fLJD-R(t71SUheYS#M2adGdo0W zQJrnpuI%tZ0pozXa<;P#af=BiblrepIZBJg3VMa|w^t2{A3EZ{*MzP@pB2FE4nh;R zjkg#?Zkyv+hd<>t?SE+5pq=WgAeYuhOpASoEIdc0VA{ z--O?vSIUi8#!joTh@k!HU&GYjW!pwO)f87B$~qfF%@BS+(4V#TDo^7@VoK4w!Z_Q_ z=?)%wDGUs`K8RgLW$7FmzLB}6EzA$sb*C+2UX4(|dn;h{M|Pa|4#xI$burQzMg68e z+r?2lYu+c)=F%Q2DbG#Ta3gv5(evQrB5PtRM}<5rmArW%4Z zN==RI7;E#cthT%v$vOj$ucvTrT4o=^7K__|y6X9AY>GaHcE*SP*x!8xhQDtjoPD&D zX|RhR#H842uJT9@Mt>IDz2llCxV95xM#1H?1^Yvu=5n$z!$h1t^U+`(iu_7XsA=LK zVA4}J@x?#Tr+{LG?wBs9>oq(hYqEvCqAV7`Vbc1M27NLO$N@I8;VbR*+G4U6W~oQs zLv26)BNZG`DW`K~Ms|ddVX--bOf)U#y5<=BVJHn(2l@ZT9qnnkqm;|>*0(p}C7P1l zLfZ0gn+is6bn|hTKaBlca6>QDNq#~-^5n#i(`u5(IXyFf0)-bDKTK4Z0v`@%aM!?vR?IF6essVSFo#XM|{ zAExF_jqtmOtS%92{*4hw9LL+6fzR^DeBCDdd z6(90LVUjaoA@)?dSmsWol&Ys5--&z3Ex~H|(394*u^*+}FR~*>hMDxLU$c*N+Z(>e zh8@BCf!(CX9{D(rU@-M?GT&O>EP$apbj*SPJR3 zq%kcQ0a>GPr5?Zb8U3uf!EWy$XDw6mN+E58@+`VieFWQift}$(MICM4sVUf7fEU~d zY8g|@NW_NPhcmMA;oZD!{P;u=tz4a)POb;$sJ)I(I;EKxu)77rXb5UMNK2=!#df=8 zTl$8zIn#O6qLpZEKN}bKJaadJR)C$O=Fng4{vf(mTY|;#318ABX1%oww%PnNraF!O zJ~~0TiB5UZc7(LVr-jJimhj?j)u^G{aJ>ACj5bX04iiQcE5(mC66@bdP9zl(3V4BN zTcZ6StuQUkj%(o`F0fzAFk5SzfxWs1Uq60=c-PXG<3GsMvWv|XQf@@u(Xz8jp^8uW z0-Owx6wCHb@AE7L>`k_+7q=sjaBS_Of&QSStKKEP`)c@AMus7!6+P(0$6df+Y6Pw6 z4&)?S5Y{w-^7v}OT@-0GwG*W?`Zm+(Zei(=3f(Q+T-Tg!g-uT7Zp+^7h`!A|d9pKs zR8tceF?u10Vj1RdGSI;y{O!-=G~TTtw%lMvcoi}86Vucgd-0)-G4!0q)Wocbw|Ksh zMPF-PXU;oRt`>epX@_IBU5Mt9Cv$w5Orl+)JH`sfd7__j5U$f9&(JJSsW&J))X z1;@hKQEW7uk(I3PV&TFLY<~#xoH!Nc_22Kk_)PS9NfgYF88& z1rC?b8u)}EsemhylS6F3>L8N<1WSc^bz~56PvRwikNu55QiQU zyoutMKfGGtSEu@%eb-Hkm-%nbg4r+T69xWzsc8SsV)}FM5G|3FJ0Oa9#nU3>^ls-~ z&xe9nII*Gt(gtXJ52(a)=t&qX>$E7a5O#Fj*LabA|M7bCJMw+|D`e9B7ujV_HZ7^8 zCGT@h$*92r{omgX4MmaqJOnk*D8;1WY)aBPKY<{y*!~NnHf(T+7R}QoypP~&qs|_* z(F*5|-A4^{;)4e4u&(HLNz@MW-ps!5wD8MQ*d2};H580}_(N2A_?aeay=qjv@u{qh?`_6?N{6*zsaQkNzxsy=74{<#K(?@L*8q9LDZM*CUa* zf?_k}?4o5UM~~T{EZ8T4o|)DboqS;G|JWlkOTDug2cOP%Lx8heJ-KmC!nzRCFIOp^ zl_00b1H|3ZcT-;P7fczw$5;Iwn}5|k%E;TElDeDd;X6!Mcf@CPB=ils)^&qZLSN-Q z#oAexlpJcT%HE{v?Hwqj;!)i(4YS638_7CtRY6?>hNYypm44Q-FdSXNUnP>m?jZnZH9t+foB!5;sG_hhLB`}+1%v9 zU}_p_q>0`Dq|fx1mIUGGyYoJsY;X_Sv--$8EXPg;HC*x~*BgA}ky=ulPV=`<6mn>Bt9@rtV)`vZ-EoU)N>M&{q+O}Wai{CGL09w3UD$cCkPKXnCC#lkEX^BVk|?MxxftN8J7-@>h<*f5S*?K z9KhYjO!zA~#o@%=E!aZi0nX?E{Q_FJZ{B8253}n_&l%cBbl_F7grh=_3L^&tYnreO zAF9Ge4_ycn*yA_2jVhUvXFX$f#Tb|wxw)4tDdALeHD6b5*`&eXeSL--!oZkLytR8p z7#yt4yVpWXO`eF{v(sSlc%N>#6DOpL+Ap#+v8}EpU8JBfg1Zgf(=pA+ zHR5IARw9ubYaRPQkoliEW)EALfn@lDp*Y^r>7f{sr;K%}QNu=+@d83;*Hk+5|wpny?!!j!Psv#IW z=;j@*tLj_Gr_7ww4Z zHXhY@*VfU3VZ+88?=Ig^l~LDKlH6#S#RVHG_>KLlj_*T!A3OL=2`wBxaoE<8z9}%kd36hUQ=*@373Teg(f5rLg!q=K`E(a8SFGkhI!8>*y!Z^DY($s94|bVUNGuhR zcJx6Z#E~}x#S1i72AKJGUIdoYz>Pc1_c-;)hn${A%Pq_Z31MC>>ds{!$KdPewS}(X zLmr_@yYcHv-$yy%XgGh?kp^GVv)T5opfgeavWm>y}|P&As(uzRd;n zvOGpgM<2PKm@UvvNF9FK6rhqFnQ0Z-D=g+(Ocbpgc*-`zMjXP8=OkGc<#A%NZHUeo z;z;$}&p6s6T7%XZmPb5se+)%E*I+m$YEJNY!WLF9tuZ5t`f3iG9XU`3x8|DGphlME zA`_#D{%Mjf1oqp@F?4p4}7F z5|fybOJJl1@m*-4t>L63I#p18jo!LM)z(N@dyRhFpf!)@V~?Zp9n)&|2p5ze94uY# zHdcn(Lo8^gduP-Hl<2kbD7wIVJ&5bEq$F4zeFGvc3P5(EhZlz>B}eL(vOU|#!Wdin z7^5xnaK>#zx)~Wt!J7pKIw?9NBh296qwi=up?V=Z&?-Hf-#U?3$ZPyJVi1iR zv;u3_6V|g_0s*Vw$r;Y|DQR_NWcvuVjm11qJdWL(eGBWsWR-`BkM*-8r#*%-kO}&(Z#c=9JZxIu+ zFAdsRj=aDmL@vWbmoF^1n<#v0aMxp8%`)NA_)tK)QR`@-?)f(1*c~4>TNt``Lg2|B z$o1c5!a~{qY&mqw@^Zn=AXk%#S4yM-;oxz)o>nDZGt!LTPcYe}QOKh|U+w?1cgcG- zlBIB%oXEXoXN7&(%GWWlBaGiy%g_+=!sz2;C=yx=|3m2@MrdC>I8-R?*6|_w7=U%< z-C?H;{C$UfbhV$eMN2{+XH88b{+Kt8)kw4#5~&X=OoKB_g=CL3Pr)k{5}k?)YCb}W zy_+cL9j2EN@a6+JjIT+j8b+^_W@nkYo7X(jY%4ezPRqa@)IGc##7uhpR%aK|BhH)X z<5d~nyw24b*^!&G+Y;Xr2S;ClhijR6uJH@&ctQVdBGr?8K7;qfXpm6W!1pHix zK~pW=yIUJGG%|Xy^&6;6>xmB2Y}tufXbB`lv9%?!|^##(f~3hG*zz(~Sj{++|N?IUkv zSo~l<+S4s8&Bgd@S9}k`l%IrOtO9!Bv2n+EXKc2`?{w7Ael*+=8=3$zIV7WSBqku@ z4jA3$U~it!1^D|STlx#j(hYt*q5I|fjDYVvE@yEAER%x?1JCGl7!3Wo4mgQ&nEqus zEnrthX+R*HFQFzHEFQ7MgxMHT^Yz9yKj1NKar=`J`>h*Gx?A&tNN2CI%&rHwjTVgR z1{8Py#UQtZQ__5@iY$|MTZVZyUlx*zOHrg#?7>||cxEB#Tdj+c+`%+@k0ts5u48q! zHLBjklwV=&eK$=jbf<}rLt~1wMa?XB%9EUgOK)yp5r| z1rV0EZD7VU*3tWo2CcKrz1R4yVYM;ephzh~PAutLLS$*!V;o3ERb9$^&D~~CPfgx! zoBjB)`rLiKCTydSyI6ikMuuM105|Q&v52-1bpt;e`iWTgxO(mm23sAQlEpJf%rL|@ z$IR6nf4&mLY^wv@h&4V`yT0A_AX;W{sTEe1=AILHwd_u+H zNuGq>xc=amV0093r(5LWrxCm4oF3p`EWIEn_YF17`B4d?%1t%F3cAqBTeA#16l#t0 z1?cSwaw#%Z^fNzyO3q2^?irE!XM1iZkp}WwiZv~y4u{|VYccVMn4uROgaMVs zx1mNgB`2z&0vQGOXGXVEJfO5O({!A0fiRXCa9qSF`ooHy2we9Un)8Orl?GA>BOObKK$pM& z`wmVQECu|2#W<^wkTQtp`tuK>z+c^XrCx2~@vWrY1mN;L=ir$sj8TE*rdri_d$Zx~ zrAY{@@M)J(9AW&K!Fz2$96a|E)KYHOgl0)Cb6L+X&>*JiiRAyJ^u<|eI*0w$Y9+vT z-HEj@F&7NSdi+ZDc)1$htGNLqvpRX#e4IJLXDu+vb2<3?JkTmX$$b1jvrG*jZlPq9 zM6**D=UAf=fm8RBsYLCZ{ZULWl--YfW)~sU0Q2nGZ6ea<1A1kda%tS`L+1at1|1h# z?}?VsOwR(Q>0(+$hZs zzCElV&aHVkvMj0X$?o=@d!%11R}{p&-`M()bz(v-G>;8l!=pbCd6E?am}`Ar%)dbh z*HgkXFi-~G#AcwJW=TBJBMDV;IXnjC_+r!l1ONTJWB2x~t@}>?KQgi; Ax&QzG literal 0 HcmV?d00001 diff --git a/30DaysOfJavaScript/script.js b/30DaysOfJavaScript/script.js index 3671f93b..13d1a5b8 100644 --- a/30DaysOfJavaScript/script.js +++ b/30DaysOfJavaScript/script.js @@ -191,7 +191,9 @@ function search_project() { { name: "Guess the Country", url: "./115 - Guess The Country/index.html"}, { name: "2048 Game", url: "./124 - 2048 Game/index.html"}, { name: "Flappy Bird Game", url: "./125 - Flappy Bird/index.html"}, - { name: "Largest EigenValue and EigenVector Calculator", url: "./128 - Eigen Value and Vector Calculator/index.html"} + { name: "Largest EigenValue and EigenVector Calculator", url: "./128 - Eigen Value and Vector Calculator/index.html"}, + { name: "Othello Game", url: "./131 - Othello Game/index.html"}, + ]; // Filter suggestions based on input diff --git a/README.md b/README.md index a8bb40d8..23f348a1 100644 --- a/README.md +++ b/README.md @@ -169,9 +169,10 @@ Repo containing all the projects made in 30 Days while completing the 30 Days | 114 | [Movie Guessing Game](https://30daysofjs.netlify.app/114%20-%20Movie%20-%20Guessing%20Game/) | | 116 | [Shell Game](https://30daysofjs.netlify.app/116%20-%20Shell%20-%20Game/) | | 124 | [2048 Game](https://30daysofjs.netlify.app/124%20-%202048%20Game/) | -| 125 | [Flappy Bird Game](https://30daysofjs.netlify.app/125%20-%20Flappy%20-%20Bird%20Game/) | +| 125 | [Flappy Bird Game](https://30daysofjs.netlify.app/125%20-%20flappy%20bird/) | | 126 | [Arcade Game](https://30daysofjs.netlify.app/124%20-%Arcade48%20Game/) | | 128 | [Largest EigenValue and EigenVector Calculator](https://30daysofjs.netlify.app/128%20-%20Eigen%20Value%20and%20Vector%20Calculator/) | +| 131 | [Othello Game]() | diff --git a/index.html b/index.html index d7bd00fd..992719f4 100644 --- a/index.html +++ b/index.html @@ -1883,21 +1883,19 @@

2048 Game

-
-
- Project Image -
-
-

Catch The Ball

+ +
+ Project Image +

Catch The Ball

+
+ + + +

Catch the ball on the rolling pad and beat your own highscore!

- - +
-
-
-
- Taash Game -
Flappy Bird Game @@ -1924,7 +1922,6 @@

Taash Game

Play a classic game of Taash (cards) against the computer.

-
@@ -1951,6 +1948,7 @@

Lights Out

+
Largest EigenValue and EigenVector Calculator

Largest EigenValue and EigenVector Calculator

@@ -1964,13 +1962,12 @@

Largest EigenValue and EigenVector Calculator

-
Arcade Game

Arcade Game

+ href="https://github.com/swapnilsparsh/30DaysOfJavaScript/tree/master/125-%20Arcade%20Game"> @@ -1979,20 +1976,38 @@

Arcade Game

A pure CSS game where the user controls a stack of blocks by clicking and dragging the mouse.

+ -
-
- Reverse Memory Game +
+ Othello Game +

Othello Game

+ + + + +
+

+ Othello is a strategic board game where players aim to flip their opponent's discs to their color. +

-
+
+ +
+ Reverse Memory Game

Reverse Memory Game

+ + + + +

A fun and challenging memory game where you must recall a sequence of colors in reverse order.

- -
+
@@ -2007,7 +2022,7 @@

Reverse Memory Game

- +