From c27046698a457fa8c7430a35f0798807de4c63f3 Mon Sep 17 00:00:00 2001 From: MiroslavDionisiev Date: Fri, 1 Nov 2024 13:10:04 +0200 Subject: [PATCH] feat: [UEPR-90] Added new section to the ideas page --- src/_colors.scss | 1 + src/views/ideas/ideas.jsx | 467 +++++++++--------- src/views/ideas/ideas.scss | 252 +++++----- src/views/ideas/l10n-static.json | 2 + src/views/ideas/l10n.json | 9 + static/images/ideas/make-board.svg | 1 + static/images/ideas/micro-bit.png | Bin 0 -> 11498 bytes static/images/ideas/see-tutorials-library.png | Bin 0 -> 28598 bytes 8 files changed, 351 insertions(+), 381 deletions(-) create mode 100644 static/images/ideas/make-board.svg create mode 100644 static/images/ideas/micro-bit.png create mode 100644 static/images/ideas/see-tutorials-library.png diff --git a/src/_colors.scss b/src/_colors.scss index ad8b3a9165e..60fdddfaecb 100644 --- a/src/_colors.scss +++ b/src/_colors.scss @@ -59,6 +59,7 @@ $active-dark-gray: hsla(0, 0%, 0%, .2); $box-shadow-gray: hsla(0, 0%, 0%, .25); $box-shadow-light-gray: hsla(0, 0%, 0%, .15); $overlay-gray: hsla(0, 0%, 0%, .75); +$gray-50: hsla(226, 15%, 97%, 1); $transparent-light-blue: rgba(229, 240, 254, 0); /* Typography Colors */ diff --git a/src/views/ideas/ideas.jsx b/src/views/ideas/ideas.jsx index a93579351e5..f1057061d84 100644 --- a/src/views/ideas/ideas.jsx +++ b/src/views/ideas/ideas.jsx @@ -1,284 +1,261 @@ -const bindAll = require('lodash.bindall'); const FormattedMessage = require('react-intl').FormattedMessage; -const injectIntl = require('react-intl').injectIntl; const React = require('react'); const Button = require('../../components/forms/button.jsx'); const FlexRow = require('../../components/flex-row/flex-row.jsx'); -const MasonryGrid = require('../../components/masonrygrid/masonrygrid.jsx'); const TitleBanner = require('../../components/title-banner/title-banner.jsx'); -const TTTModal = require('../../components/modal/ttt/modal.jsx'); -const TTTTile = require('../../components/ttt-tile/ttt-tile.jsx'); const Page = require('../../components/page/www/page.jsx'); -const intlShape = require('../../lib/intl-shape'); const render = require('../../lib/render.jsx'); -const Tiles = require('./ttt.json'); +const {useIntl} = require('react-intl'); require('./ideas.scss'); -class Ideas extends React.Component { - constructor (props) { - super(props); - bindAll(this, [ - 'handleShowTTTModal', - 'handleHideTTTModal', - 'renderTiles' - ]); - this.state = { - currentTile: Tiles[0], - TTTModalOpen: false - }; +const tipsSectionData = [ + { + tipImage: { + altTextId: 'ideas.gettingStartedImageDescription', + imageSrc: '/images/ideas/getting-started-illustration.svg' + }, + button: { + href: '/projects/editor/?tutorial=getStarted', + buttonTextId: 'ideas.gettingStartedButtonText' + } + }, + { + tipImage: { + altTextId: 'ideas.seeTutorialsLibraryImageDescription', + imageSrc: '/images/ideas/see-tutorials-library.png' + }, + button: { + href: '/projects/editor/?tutorial=all', + buttonTextId: 'ideas.seeTutorialsLibraryButtonText' + } + }, + { + tipImage: { + altTextId: 'ideas.starterProjectsImageDescription', + imageSrc: '/images/ideas/starter-projects-illustration.svg' + }, + button: { + href: '/starter_projects', + buttonTextId: 'ideas.starterProjectsButton' + } + }, + { + tipImage: { + altTextId: 'ideas.cardsIllustrationDescription', + imageSrc: '/images/ideas/cards-illustration.svg' + }, + button: { + hrefId: 'cards.scratch-cards-allLink', + buttonImageSrc: '/images/ideas/download-icon.svg', + buttonTextId: 'ideas.codingCards' + } } - handleShowTTTModal (tile) { - // expects translated tile - this.setState({ - currentTile: tile, - TTTModalOpen: true - }); - } - handleHideTTTModal () { - this.setState({ - TTTModalOpen: false - }); - } - renderTiles () { - return Tiles.map((tile, key) => { - const translatedTile = { - tutorialUrl: `/projects/editor/?tutorial=${tile.tutorialUrl}`, - modalImage: tile.modalImage, - modalImageDescription: this.props.intl.formatMessage({id: tile.modalImageDescription}), - description: this.props.intl.formatMessage({id: tile.description}), - guideUrl: this.props.intl.formatMessage({id: tile.guideUrl}), - thumbImage: tile.thumbImage, - thumbImageDescription: this.props.intl.formatMessage({id: tile.thumbImageDescription}), - title: this.props.intl.formatMessage({id: tile.title}), - cardsUrl: this.props.intl.formatMessage({id: tile.cardsUrl}) - }; - return ( - { // eslint-disable-line react/jsx-no-bind - this.handleShowTTTModal(translatedTile); - }} - {...translatedTile} - /> - ); - }); +]; + +const physicalIdeasData = [ + { + physicalIdeasImage: { + imageSrc: '/images/ideas/micro-bit.png', + imageClass: 'micro-bit' + }, + physicalIdeasDescription: { + headerId: 'ideas.microBitHeader', + bodyId: 'ideas.microBitBody', + hrefId: 'cards.microbit-cardsLink', + buttonImageSrc: '/images/ideas/download-icon.svg', + buttonTextId: 'ideas.codingCards' + } + }, + { + physicalIdeasImage: { + imageSrc: '/images/ideas/make-board.svg', + imageClass: 'makey-makey-img' + }, + physicalIdeasDescription: { + headerId: 'ideas.makeyMakeyHeader', + bodyId: 'ideas.makeyMakeyBody', + hrefId: 'cards.makeymakey-cardsLink', + buttonImageSrc: '/images/ideas/download-icon.svg', + buttonTextId: 'ideas.codingCards' + } } - render () { - return ( -
-
- -
- {this.props.intl.formatMessage({id: -

- -

- - - -
-
-
-
-
- -
+]; + +const Ideas = () => { + const intl = useIntl(); + + return ( +
+ -
-
-
-
-
-

- -

-

- -

-
- - {this.renderTiles()} - - - - - -
+ +
+
+
+
+
-
- +
-
-
-
-
- -
+
+ +
+ + {physicalIdeasData.map((physicalIdea, index) => ( +
{this.props.intl.formatMessage({id: -
-
-
-
+ ))} +
-
-
- -
- +
+
+ +
+ +

+ +

+

+ {chunks}}} /> -

- -

-

- {chunks}}} - /> -

-
-
- +
+
+ +

+ +

+

+ {chunks}, + forum: chunks => {chunks} + }} /> -

- -

-

- {chunks}, - forum: chunks => {chunks} - }} - /> -

-
-
-
+

+
+
- ); - } -} - -Ideas.propTypes = { - intl: intlShape +
+ ); }; -const WrappedIdeas = injectIntl(Ideas); - render( - , document.getElementById('app')); + + + , + document.getElementById('app') +); diff --git a/src/views/ideas/ideas.scss b/src/views/ideas/ideas.scss index 317c23d0a62..6486ec1b3cc 100644 --- a/src/views/ideas/ideas.scss +++ b/src/views/ideas/ideas.scss @@ -17,127 +17,133 @@ $base-bg: $ui-white; background: bottom left url("/images/ideas/left-juice.png") no-repeat; } -.ttt-section { - display: flex; - margin: 0 auto; - text-align: center; - justify-content: center; - flex-wrap: wrap; - align-items: center; -} - -.tips-divider { - border-top: 1px solid $ui-gray; - width: 100%; -} - -.tips-banner-image { - max-width: calc(100% - 2rem); -} - -.banner-button { - background-color: $ui-white; - color: $ui-aqua; - font-size: 1rem; - - img { - margin-right: 1rem; - height: 1.5rem; - vertical-align: middle; - } - - a { - color: $ui-white; - } - - span { - vertical-align: middle; +.tips { + .inner { + display: flex; + flex-direction: column; + gap: 0.75rem; + + .tips-section { + display: flex; + justify-content: space-between; + + .tip { + display: flex; + flex-direction: column; + + .tips-img { + width: $cols3; + height: 10rem; + } + } + } } } -.ideas-button { - margin-right: .75rem; - background-color: $ui-purple-dark; - color: $ui-white; - font-size: 1rem; +.physical-ideas { + .inner { + display: flex; + flex-direction: column; + gap: 1.5rem; - img { - margin-right: 1rem; - height: 1.5rem; - vertical-align: middle; - } + .physical-ideas-section { + justify-content: space-between; + align-items: flex-start; + gap: 1.5rem; + + .physical-idea { + display: flex; + flex-direction: row; + gap: 1.5rem; + text-align: start; + + .makey-makey-img { + height: 6.5rem; + } + + .micro-bit { + height: 8.5rem; + } + + .physical-idea-description { + display: flex; + flex-direction: column; + justify-content: space-between; + align-items: flex-start; + + p { + margin: 0; + font-size: 1rem; + font-weight: 400; + line-height: 1.5rem; + } + + .tips-button { + width: auto; + padding: 0.75rem; + } + } + } - a { - color: $ui-white; - } + .physical-idea:first-child { + flex: 1.5; + } - span { - vertical-align: middle; + .physical-idea:last-child { + flex: 2; + } + } } } -.wide-button { - width: 100%; -} - -.ideas-all-cards { - padding: 5rem 0 !important; -} - -.ideas-starter { - padding: 5rem 0 !important; -} - -.tips-getting-started { - background-color: $ui-light-gray; - padding-top: 2.5rem; +.tips, .physical-ideas { + display: flex; + justify-content: center; + padding: 3rem 0; + background-color: $gray-50; } -.tips-left { - justify-content: flex-start; -} +.gray-area { + background-color: $ui-gray; -.ideas-image { - margin-right: 2rem; -} + .tips-info-section { + padding: 2.5rem 0; + width: 100%; + flex-wrap: nowrap; -.tips-activity-guides { - background-color: $ui-light-gray; - padding-bottom: 2rem; -} + .tips-info-body { + text-align: left; + } + } -.purchase-button { - img { - margin-right: 0; - margin-left: .75rem; - width: 1rem; - vertical-align: baseline; + img.tips-icon { + height: 1.75rem; } } -.tips-info-section { - padding: 2.5rem 0; - width: 100%; - flex-wrap: nowrap; +.section-header { + font-size: 2rem; + font-family: "Helvetica Neue", "Helvetica", Arial, sans-serif; + font-weight: 700; } -.tips-info-body { - text-align: left; -} +.tips-button { + display: flex; + flex-direction: row; + justify-content: center; + align-items: center; + gap: 0.5rem; + + font-family: "Helvetica Neue", "Helvetica", Arial, sans-serif; + font-weight: 700; + line-height: 1.25rem; -.tips-cards-buttons { - a { - white-space: normal; - } -} + width: 100%; + padding: 0.5rem 0; -.gray-area { - background-color: $ui-gray; + border-radius: 4px; } -img.tips-icon { - height: 1.75rem; -} //4 columns @media #{$small} { @@ -151,14 +157,7 @@ img.tips-icon { } } - .ttt-head { - - p { - max-width: $cols4; - } - } - - //put the image first if in 4-column + // put the image first if in 4-column .tips-info-body { max-width: $cols4; text-align: center; @@ -187,19 +186,6 @@ img.tips-icon { } } - .ttt-head { - p { - max-width: $cols6; - } - } - - .tips-info-body.tips-illustration { - order: -1; - img { - width: $cols4; - } - } - .tips-info-body { max-width: $cols4; text-align: center; @@ -219,21 +205,21 @@ img.tips-icon { } } - .ttt-head { - p { - max-width: $cols6; - } + .tips-info-body { + max-width: $cols4; } +} - .tips-info-section { - &.mod-align-top { - align-items: flex-start; +@media #{$intermediate-and-smaller}{ + .physical-ideas { + .inner { + .physical-ideas-section { + .physical-idea:first-child { + flex: 2; + } + } } } - - .tips-info-body { - max-width: $cols4; - } } // 12 columns @@ -248,12 +234,6 @@ img.tips-icon { } } - .ttt-head { - p { - max-width: $cols8; - } - } - .tips-info-section { &.mod-align-top { align-items: flex-start; diff --git a/src/views/ideas/l10n-static.json b/src/views/ideas/l10n-static.json index afbec418ad4..2073ceeffd0 100644 --- a/src/views/ideas/l10n-static.json +++ b/src/views/ideas/l10n-static.json @@ -2,6 +2,8 @@ "cards.scratch-cards-allLink": "https://resources.scratch.mit.edu/www/cards/en/scratch-cards-all.pdf", "cards.name-cardsLink": "https://resources.scratch.mit.edu/www/cards/en/name-cards.pdf", "cards.animation-cardsLink": "https://resources.scratch.mit.edu/www/cards/en/animation-cards.pdf", + "cards.microbit-cardsLink": "https://resources.scratch.mit.edu/www/cards/en/microbit-cards.pdf", + "cards.makeymakey-cardsLink": "https://resources.scratch.mit.edu/www/cards/en/makeymakey-cards.pdf", "cards.music-cardsLink": "https://resources.scratch.mit.edu/www/cards/en/music-cards.pdf", "cards.story-cardsLink": "https://resources.scratch.mit.edu/www/cards/en/story-cards.pdf", "cards.chase-cardsLink": "https://resources.scratch.mit.edu/www/cards/en/chase-cards.pdf", diff --git a/src/views/ideas/l10n.json b/src/views/ideas/l10n.json index e105c1dfbaa..af9a4588993 100644 --- a/src/views/ideas/l10n.json +++ b/src/views/ideas/l10n.json @@ -4,7 +4,11 @@ "ideas.headerButtonMessage": "Choose a tutorial", "ideas.gettingStartedTitle": "Getting Started", "ideas.gettingStartedText": "New to Scratch? Try the Getting Started tutorial.", + "ideas.startHereText": "New to Scratch? Stay here!", + "ideas.gettingStartedButtonText": "Try Getting Started Tutorial", + "ideas.seeTutorialsLibraryButtonText": "See Tutorials Library", "ideas.gettingStartedImageDescription": "An illustrated boy plants his flag on top of a freshly painted mountaintop.", + "ideas.seeTutorialsLibraryImageDescription": "An illustration of three tutorial thumbnails.", "ideas.tryIt": "Try it!", "ideas.activityGuidesTitle": "Activity Guides", "ideas.activityGuidesText": "What do you want to make with Scratch? For each activity, you can try the Tutorial, download a set of Coding Cards, or view the Educator Guide.", @@ -37,6 +41,11 @@ "ideas.tryTheTutorial": "Try the tutorial", "ideas.codingCards": "Coding Cards", "ideas.educatorGuide": "Educator Guide", + "ideas.physicalPlayIdeas": "Physical Play Ideas", + "ideas.microBitHeader": "Have a micro:bit?", + "ideas.microBitBody": "Connect your Scratch project to the real world.", + "ideas.makeyMakeyHeader": "Have a MakeyMakey?", + "ideas.makeyMakeyBody": "Turn anything into a key that connects with your Scratch project!", "ideas.desktopEditorHeader": "Scratch App Download", "ideas.desktopEditorBody": "To create projects without an Internet connection, you can download the Scratch app.", "ideas.desktopEditorBodyHTML": "To create projects without an Internet connection, you can download the Scratch app.", diff --git a/static/images/ideas/make-board.svg b/static/images/ideas/make-board.svg new file mode 100644 index 00000000000..e68defc2540 --- /dev/null +++ b/static/images/ideas/make-board.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/static/images/ideas/micro-bit.png b/static/images/ideas/micro-bit.png new file mode 100644 index 0000000000000000000000000000000000000000..2c9fd4ec55db97041b813664222315ba253c5013 GIT binary patch literal 11498 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 aUNUj@Fzj*+m4VC4AbDvOaHXVi@c#ii7Ivrr literal 0 HcmV?d00001 diff --git a/static/images/ideas/see-tutorials-library.png b/static/images/ideas/see-tutorials-library.png new file mode 100644 index 0000000000000000000000000000000000000000..5628415aeafdc64323d4a47b93a62c18d5515547 GIT binary patch literal 28598 zcmV)7K*zs{P)f>d+(x1bTHK*Fkn0Gj(eOqaqRp_l;(VK9Jjc{4vuZy0AZ@B z1|$m*0`=avNZb4La@+r&b7%X^&g^O>1ndJ>J9Fpud!F;w^B!OllbFOLCNYUgOkxs~ zn8YL|F^Ne`ViJ>>#3Uv$iAhWX0w!@uplItiOB1?un;@EN4b!|y6a>LE@iqU|UwHtN zcvoSPbZ-YtQz(4>2W46;zRDDEy(r>xNfhSOUx=arNlLyJ0h%NzOU|zP{1HszT>}}D zxF{&!{S#NLH++RI;uh&o-&rR}=5&Ws^fIE6P@^T~ZnB|kH`Cuq(!Gl?NxBOGl4Qj% zf3G+pCg#ADFDI4pu0$lX(B_0FNn(;5|w?jr#lBzFBTUUP6y$yY=6Y(~q{a!ZRNFFw*%SfF z#U$Gxh=O_T*;Rk}5+?DE$9qb>WYX-vUixnFie=Vu+y?X>^uL3Sj}uji8*7E=hO{hCHIltC7muA8*5btcR#_GLs@WRkEp>E))?e{l^a z@s7v4igeVFh3Z{Dt}zk6!Zd`dLt*VIYS?8M=Y2ZtmO42e5XqryfHsI^=K~5s=y_gG zLG6l9`!R`kG~V%~n{x0+d1get9+G(_4BSBSV=8Oku^2_rbetEMlyN$wtkp^;#Tdyn z&5~*p4VxDDNI~nNKS)kFc;xOa2~6T0iFX|7DtA1PFG!)4Bsp#*!{%-S*>EyhyCVG^?Ex`zGbK??n3mdTq(AONK+&Qvl?UJazICC7 zDw&ATY2y^Sh#+Q*gl$4^sXr&Y;UiNMn}yAj;e|^SmpthJ0o+OVFHY~{pB$dk4Z93H@JPs&N+l^X8%7)2m?=aEF%fV z0C&9Yn}v~MuVEr!7%Iv6kR+-BO%S>x(fq*a`)7tQshVC;ye*`g`o?#r>Vj|+L~|86 z99dprH8oyGHv2MLP16i6-An^xR_$2qi`#4buXX!OU1Zjq(eK)~JdXmM%pi|Qg`grz zAx*_l;S)5v*f3^^VW>n%muR5XaA3QdgL81Q6L2+_{pC^g^CsU=DQYt!&zJe%`VlSw z48b&HLkOFK?oY&p?vg}t+qRGXB8Ev!C@whZm>a+H&2Lr+qJ0CM>}vXc8Lgg?etYX5 zD<~}VuVeO_I%cn+Ig*t_?70ES#m;1>?^lZ5xJNjLsX_#0LINJBoRl)TMoqdXqUOkl zM!y?Guw4ls9*&maw+V_;*dz!nIg=ZT0Op4>QSa2NMV&2$CtJF9e?`e6*RY%6&K~QN z^^dRj@F$f}TN^Gm3{izm=#g}_)uFrF-?)2A6z?)@dSsKWmYN?NF?G)^%VQTp)jogH zCF^~tiO5{Rl-4@z@>QZ@Tq*V^Fs0h1Z!x*I(I8dP7=JtO2fLX{#IQ!}#XV9BR+$}8 zkiKKSknWGKw^reSXeklT2Ek>AXeaW?5+D8}$wEKT#sgcd^GBYJ1JC1ahG?2y8;eRbo9}v~7S%k}XF6HK~p0 zFgi)%$z1AXYwHb%U}%lGEjvCxTDDf*?}gk}%?InN&-`UI4M+GA_17dnx};?})hOqNrgJIZ5*9H?jiN0F2NHsK@@D z4yq10#&&%X9+dB(eVzQfVQT1zx8Qj6I7~Y^T39x>D%(yx69d_%5^au>X5 ztv9XD41X(~#TSgjBUm(iz>alQY`Ba>=h5kK%+B(1@<8*$)FRe~k{$LXKY-|-hU{+F zKy25CV8(`yG2N@qzz>9bAh|t*h-ISIe-!oc1_&Nz>)Dd}IK~7e*8Nj&$G$({9RTJ9 zCG99^le9C7JFD7$`stslc$=~0=eOs=t*$pjVO*9q_v~uY;r;hMQI9c#kEhFh`CH#j z=+Q4Q3L`n>L>NOW=<~!$gNmhEBul@2>Tl`KnNBjX(=1JNSR5R3SQ%2m8b~=LtaFzV zqZ4$EiY1}g(b#9!7fT*%dp(T!o{z(fllrIRQ>)HNvR1d`^PqQQY9TsaEZI2_f&Kev zzoAJY?5AGU29-Re(y;rj@y$V~(~r(@FF6EBk}~h+7~j32xY_u+cLeEJ`_u*aqNcR; zjr?=kyhmf{iL*Ji3WV0{+wj~Tl3sCosYa`V#wvWPJ z;j`BMj&iO>GASmIda2C$szp*#Clg1$4kO$^zv-O3JW8)eh8-7ppl2O+x;H}bc}A#^ z(L@ltJGMjfC_J{6TEWk0p&+ASA#xYF{c zZgFXG{VG!sC#2CDrqor{lGyXy7qiQ4m1S8dA+;_`!dWpRS+O$lr3orCcRtXm!6#A- zfM+&X@>Bmho_W$A^P>O4^>lzJ^x$zAo!k2f$6&;oAw-+`?zVY%_Dg=fcNaDHV*`gZ zQa|UIVM9&sO58ku5gZ;j{{6%WbSDNnL#NG)sh(Ll6+J=1QnWHy#?Wz5Br->J7E}=F zPU0O1rq+q7QKtH%WlJ8uwObI>llzXY?z$L`7c(Z5o1!>jEmsuug60x&-J%CS^wz-- z|0-iADE63vH%L}SG9OrgO%~yHiE!9NPP(_7a15k0B9OxLG}^b4bK@J(+Mb8j`~(uG zzYneUhyA}Z5+%<30P+1_fOh7GM5IGQ_U{vpg1wN`Q&yjdNJ<1%PyJw2`->;k&;~~m zH>09(7RtOHlsTRF)U=WIVWoE(@+BXPNP=7r8nREfv25J9k~3x}z@-R7GV*m%TC;TN z-piK%>iV+H=H>}4j4>PuQOm^y!;}P%;p|<%@HhA6W!hH6#?2b(U~i_~fDhyp;BpDD zJH&oTaVg;$sVwDsz2gHmh_{3Nud$4FA`>;GM;x)-B?5lAk*5u(Iu6_G;M zyBAPL4?(e~^Hlpn{J5t8Pe;R$ZB~b{z~{x)#YIE6C5O%|vNzqPgCr{vPt`G6mVlKG zXCfLk5sv5x>h5<{$#q>dNO~(Pe*gHM%a{ND`Z8P~@`mLd^@6O9ef<;mVGXe21JP3|LpcR?^rpJv#WFL`p`8nV9% zF~KlRDMymt$b-*l!I{0bhtOfSQHJRqx&bz0>Mr1X4?FGryA7b0|-_529;|W&Z__ku5MX z-LX05#_yVD;irvDaLb@bg(DVW|VXj^B#BJ-AKXOeD zCJ5w-zOZ(qXedU)v26L{w@**`GyBITI8TshY_<21O}RKsvto1uRkE1sq-qBLY?Y_8 z#;_Trb+Ke<_B$gSBc7^R>+;1oZY}A=)pOf$cBTh0lFTE9xebP)LaYBJNv;+va^RT( zW#*Sh5KnNFK`Oo)-1^gEQ0sp&;-D;R=;uuf@Ni@;UXs@nNo(MnQUSZq2azONP*V}n zHN@zCo@r^N?-~~8=HQNsiV>GJHD?}jjRJ&wqlkwSOx4ON$vfsKeAmzF!^o!z&dcXN zcJtyJpS{tJ^MoXr7d%m$hw(Ih?vmf#K6UtSTs4XO^4Ub*r*B$Ll5OFIP$TQ zEb{b8EKal}+4_q5a6+k8GBo>}s_EG%7Vx3!7JPZmNvtn!#}p4aIouQ*E3)y}7ZZ9S z^XM~CGyI;kAk0WTq@pY7Cz*oaHGH+LDXipG`9S z3I~?7XGk*G#9z!hgAY{K!KVz(wKT|N>X@RSet{cJi)TWec^7$1MwC>6(X$uYxku=5 zIuE4F756~OU(J6L?L{QzHYCFYbiHSOJmRV}G7J9gfQa2aC(#h7MIh0Os5){sE0rEd zUnF3AM+cs4ZsDE4{Zpo(+BLM8v`w~QdC5{ZRS7nVF4*ZDqQ=HO8J4YQjLZ@@1i3V> z_(tB~yA_6^sIoNg$%SuSw&=k-ieX~xQo{6Jv|&*!8O!SwmJD_Z^&8=ZpS&)tL-+#5 zfj)9slF8uhgAY1Q7|F447(ZxdJN5VrygIHdYR7C(1WR*6xTUfYvN-a<9$^lOg=lVEk~_YWY_j7cuRCxMQr=1;Ss|BrEOW)^-U+GfeI(_UTHCb01ikgep?v|J z_Ew&4d+Cq+lAfT zJy6Yogf*v)LJXc#RJp1!%~g$3B_AF*5sn9->WO43oG>801;H*E`ay@*-GcWJh-(f( zHY>^x&2r9Ja9>ybwryG4Y3+|4ikEGgRYumqd8?|~fL&{0ZBMl0cSm^=K))-kc2)3n z)my$++92!1W~MSSvN4r#Fb2MlUscUhRLt@Eu_)J%<#{0rB&W|9lHfwQun7giI#N4} z_<5O9O8!1{nSVm#lwGI@De(A*X6gten$_d~0&(e2Ng8^Idesp7 zjm+t!@1NP}h3<7&DO}Vkn2H2lmiT#vfvi#F*=$@r_9{y9nHl(TZ7u#~-aO25yK#F( zIevTg+>qlt6;J7#<^ZfQGBvOZiOB1i@*6Ucc<(lMg6$Kv>plPAe`GbxNvf^`M?$b_pT!M^bG&VrCN-%0HkR^N<7_h=GQ3CA3!AQC=4vA%FGum$}`i zO#94`c%hOB;Krw3-=P>;mm3sBed-A_T0G~mJN6%c|KnYwZw%A^yf_o-NHG?3Y#DkoNqmcyWus3i2d6SSjj5Aq1r_}u5#3fc&cn2(D%5mT!LAN; zJeNr;aW=OJTNXWqkVCbSe8uEoPC~w-;dA65aY`dgEVzU!qR|}Q1iP@E$TpDk*g6nq z~EY`$!ybWN=mSysE}fI zc7*9zjA#`^yiZK4!8eW_N5Zg{E@-sq~xVQqWeu zJYNlrNOI_dS92@*5wG2)yA@a5X7g!on@v*`hi13i4OzBn4tt^_Av+T?kwB!zFWDts zl8G~9GYYb-%Xa9ZoKsqBo3`c=C8zkbT_)vDVObb3$Uke^1zu>)aImo(vS2#-ZN#09 zaBsC#_oq$hsau8_*Z&Wy+((CM1g1!ugNF8V)kCg%V~2KSpgQ!AhgDzpBhdx899m+{ zq9<=Xy{5IacC=wcuiy4maLMDhA2T(5K{kU}&lj357cT$Fr<5V2(*;MZBt%XScNUD; zK{L}6j@EfpJC>fCi)Hn5QQ%LVenu}2)4HnhkzF6auNOUpU`_&}gX|$bC6s`xN_yZJ zL^w9^p;EXHUSR=|u9|Exg-fCWV;#PfaP!Na>=2lc{z!Uw#bAE}o4 zHaF%wW@5Ocb4r#f<;JOc&w=zJIJ}>AR_+5yt$ZWb7HM454+pD=sAh_ z%#^99qIJJ&Yd}*l0(*j5G-(;r0+pEGt-~w1D9CPykH{w*0?I>+@2v>F?=m8alMS_% zOwlfwqD;cqPR~*16MdPG`I9C|B3Mo|3RwxF7SW_gcbH;>I?~(WCTcc3h{{#JhvEpQ zjDwoV{zi-W5N@wV_n8&wIwht1eYe`Oy()U=z&RJ>7WC^kW7bC>1RKh9l&g zzFcW28WZVYB~w#xH*053OWua9AKAZcWBM|J`wu*EcIlj(bC_+23k;@W#_~?uhmfv$ z#it{cZ+-7iblF2l$75=7Gv)hm&`Y1wHWjz*+W;kzUG;{NP!T?K>@NIv>BERSG;&-} zY>S#fiF>H(SA>o90^ZNnI+b3C%wL88pSTz`=4Z%W`yn)p92F8YkMQ*h3Teqh0t1@H z)Y2$ER5u+@SDl~+KU7CHNQYE=+ev~@2uHU=Q>&qddmwZ)A>Z_3)sm~x)@>rR`whI+ zUWXXF9FjKq?tD5^5yjq)qahN3M$$gexf{M+Eyl%HHipdz_s1(PJI8rO&rbe)O5i67E;_P(kk zs9N(VWF<0!aE7iR7A%6lei6D(uSV~=`SjfKxC9%Ha90&_DvyjXzI-8llHVUr1yeiZkVVFvYvhixa5jtB*< z@uAN*h?8hHpCJ+*r{x%Og{7zwKhG~FS6GQ^@#8pW{DMf;J!C%}QAErJ+GaU?!hCd^ z16tRjvM8Q7Rf-2fW%#_Wseiq{ZYG*uy&n1lXQ)Bea{`*$pRsO}NYsOmeDfoCvi?cx zKu2mT&B-Mdeu5XVHUC-sf9wB0EG%Bg*Ikfo+ibz?%WwkGp21`r9kL^YxwrqPMYtrG z(yS+3hzIl0wEI?comx#KDMO~T#?}MZp?vYsLS}L5xVQI~;fo*pBVMZNLf51BQRG@d zq^F#TaWZB$LUmu{3 z>|<pJ_=As3M{@-!ew_TxbiLq(-uiM^y<);Tu2hHA*T*u zTa?>(-KrBC3)?`(1pi$_faKLaqR=@~5Tjh3EE2CGrPIb;^G;GZT|xzVjosv|(1u-s zKsFsK9!zXJncBVfyhc!a0L+U zEk)CtccO0lpP_c^#}R0n%T-EbV;0dSm8+jXUu{wL@AF4iA?Pf?wU-@5byYil`TSDM z)pHQ*s>C^$v14ChcN5MBJcU>&F1mY;qy6D~JMd2yy5&N!gn0@#A z+TY{nCx1S+%F-E7AF9Vgr+){NJzH{GFo_fGj&TC&>cmzn=dskFMYc#+1bTezGi1u- zFj;c{-@sE)4|iT8W?lOu*u6vuo$+9N&OX+`bsW2#4|QTs_S-Mrh5PP&i<6C?litsY zmB-MO^iC_9ZNf;$q3Oll9bM}-Y~7Hy;`shMo~YLiW0yHxeVPDBl3}DAizVNGomCsiTwupwL}O$gs~R~Nxl{L}dd-&p z@1mrVN0PjeJ>?iT=$^VyuR?e23Y;b{vOdLzD_5Qx{4>0s7Q0#a+W~V*%?bzW4v(LLsDvaHuN|3e4WSe^0A7458yCP8UIcMY#_qT!c6h+$-;A!Dtd;bUN3BB0eK9ok=Lfd z6C7!uY4l7Vto{t{(xNX$SfQR9zv;X zr1wJ6b#;Q(%fX;Px?&`jF8o9Kx+e7>eWF*f3vW<3^SmpTk=7A46jwO?Bp;&i@Tf;1 znfuD@H*var^qx;wt)QtlSHOw4bZmc2r$8uh#ho&$=M5!Z8M*PVJ$ofgUZ^LzBdJ+C zx`vL}kHZSNc!YU_)^*^xv6);gM`05RFjxEr&&y=t1l9x#63bE2l)7@4YN~jl=~?V( zCsmbMfx?7o6DhH?eJ93JSCkL-WwRHN3d&T*2oaD;GNz6)=LnN*YDDE4MJi}9HzrkIay`(ZV8#z4&oKQUWO)BR3TDbuV>bzKZ5?8HF-LEsXx@=k#&LRf8W*dK; zE(_3ma2hfHs1k3_txrd6ouzNchTM$vfFKLqNABK|kkelbc4T_E%-8YjWzS$;-a@Qs zSV$sUgeUIinJ0Y`Fc!A5SXiu1A}#UA4vokrU^>}(t8bLhd`9QC9|Jqz(zYcyQg9R} zrAC;{u92A?G%S8c!EaW0kBul`BMkJU^k)I_Q^q$jOZ;0t#Al}Xb?!{@h_jH_>rUw@ z6nyjGuD%wY{J%z`+fQmL1&p(><*r{h4}Wq0ReXZV_U-^W{b6+UgwWm-M0-~dU4byV zd&B4rMi30gkRS==bvrO;S}F2$v_f8WGE`k@4oUnx#%!2gL`D--AP;1GI{~oe3Y@WsL~r#^9TAjQ`G5 zMn)#4GCG9vevc*ti|y4J|3ifPTX>0hE@3K{6eh*WMzj^4YxxO?&bcVh`3XLC#i!6w z|1$LMv?+}Jxa*pwxO~Z=5*Yo*wmz_PioBMk#1ak=CCS~;+Jjk@medaVLkP`z4S}~7 zB6_Ae!`YHCEyGeJnd&(vP-htP7sHj;42Q1`?t*g&w9L+G*M`^cp_prstCfv!-T{BZ zqOAF5&@?4jjP-{RNe;#_Lo*>?ywp<~~j%UW^oQ|Y}jf$P8ABP-%w zaTFICpAJi+2$@}mGsgjYkrR53Fytzk4aYO}S>QBzwrI%2iw~;gWHGUvNVoK=VR_f& zR9$*@IhLJWgc+?yq~SxYSQYuuX(;3&{p_+oN0Flt9n~9$lu#dxxzh$p{jFUzZRn5v z#fGfEy(IB^NaC3k3SeXCY_f!3JoQHZ<_b%DWksN-HD*-TIN4$vS1FmJMY36TQ1QY) zAzNLqr*4IHndA(~pRo(+W*Qof-r8l@OL4g)zyEtQ?!F}}!W}R}cvS4fwv{pt-CYdl zXXjzn$ChKoUPSKRQvN>!a@asA!?$WCy6qK_|F_RZLA|)1D)Qz)G-HYBM z)`)Iq*D=?6xp*fQiT{Hd@h?y&+`+w?YLHj~;z>$oA(N+R=Efozzb~`8a_O zT(^Ai^W}deXDoe+F&jink}VNcp?I1w_x=BlRiFJhyrn03Ah~+&Z!zckRb}PnkDhMgu{AT9QJ|6yr$*z5gyZn#xcK&qW(>r) zq~z!WJ>;^c;2I=_dBY=##zFwT$|IO@^-qygWqDLte9KSnb|$ssp*&P9c^X|O*3kOp z7!9HJ8lI(PsCM)=EXG(+bJc@H@ZX{B=ms?Hx}Dtpv*}%=YdZ90T^IJe zdIsSDIYgWaX3Q&t(`Cc*D`pTG%kk=4SKw!lpMhOC3y&)d2az-o_CR!1;j)`IptLd{ zQ9XFk=Rl-RH~+X2S%S@*_l;KOJvsmS$qidK*9JQFPStEenV=fHXA%t|rrN}&*{V{% zyYVLea;~r0jf--@tAw8`F$Lu^l4e?$(oP`2Hq+&LkkHJrxwuv-z3ZRL+niL9< zoe;=9J--VngU%8e^;I{XhU}!jn2qaJ&Bi}`{CeE@#UJC1181cL!m!rS33AR_Tja5IiuK4{hP~bvW5{?kI5<)xq=^kyJZFk}jWu z(ksz*ipW*Jgr2F@4p}awNbyo{~f)`|3xm$mkI8#-Ibk@7l)awvd5bAB1_ z|I!WoxdkXL$=ZsC%oJa)t3T`^iqhLM@u;8+<;xfE@7)7roC9zhtC9{d$HM8plJI?# zMy3irjY_&B^Y2bnzWE&%C?7RDr4KIEhVsthA^r;H#%7O=sf<_Mt3Y8>!6gJ7eoe!U zCshiX166ZG-0?XZmJ;dO8x5S=YvAhp6wF;Cp|#$?qu(9~^s-|&M_xvw{w(<{N#YE* zO$J7M_J3ic4h%VpV2Ol7VFiog>IkQbJvU5*8%hwF?6Akb{V9CpAAf~8HCE}ErL!uL z_o1sX`~WV;&<0pd+gI15FE?ZA5_h7gUDlLbjBGYvJtCn>{`-up9zes64-lcwk*6{T zhyU=8BZ$rtjms834|`5KGQ%XN$Oj-QaUKd73&QQwQ8;}U|I99-V8$CzoPLTS4wQ*c zu&f_8Ajym);dCZRlXQ*IyT~v0@}&3x(`i>M+A$kN7Y7K(ff-;O7A zOC{|)7pYawRsRPum&KdRR2PFY-EM^9GJMW~n$PS7ve||LB#HMllWI!>->nSPZwu7T zgrn3(9mLRQ#vCA5ESrhS;v6eIi+0HKT5}tm4@`~1B`?h+$B@aZIx~-?le~)g)Au6O zG6SCS(5jt`dr7b(g_^ZehlAmMnS&%l_=I zVE1-Ye6NPion5krNG3z+{8#$Fvv+W~ZULUB=e$Ge!FER*UUoF2wdyn+iw`0yEk^Z> zBAh(fgl>{>E;o6JZA1HaX5&>&FXTikDDk1axt9?PCl58FyFG}y6YbdZ+8GpA98z`!x zpzt3w?0Z>*HY_QGRd7DAUB{diGWB%ildLw;c+$Whe@!0F?xDnzJpr=4&W^Z@wm=Ra zvU8?K!I3VqEvY~G`ua|+F6$upAlrI_fm%1I$@-A&kwl;fb8r4OI*zX+QdFaeB#IjK z((`g~H8XG8KIBv%BK7b_be~#9q;cW+lV73EEX$NH*74Xvs9O0LY_47$e(dkE>N>iP zuR*wTD%^$j{5#9RJX^6B^DjGytJfTd+mV2s>@l07p*P^d-~aDb_|r2-u;V3G_Rxge zV@D-9P^Qi;!AW3v!C>Lcc0-g>3i*Oy9#$S%oPux+*24{T8}y(hA{6y-F7ibB%@Ny~ zy1)m_vJ0v|Y~YoL5(p3Tc?hzGnmZrlDiVW6D%#FQ4<0&LgyX#;ACo6hkE+{6Hd7@w zADjx$p(+&H63CTfIN2#97^mOdbbji+-we93vz=m|XH|T%(}9nLic^wqG_Y9I@(+B2 z2f@pWb1`dbF=kX2VKJ$pSFf6bDJ7|AW$HZWLn4vj4NzjSJVCHZ8jwrhk=sUbwNiw8 zsyML@J^asDeBa-a6pk|Q8u=Y{1kTPU&nCImr|(A9+Q+c(=l@00a`ZBefpc@Y2a+9! zc|fxca?>Wk)*1bzWBAbGUD*76oj$=4>TA!NHQiM8ymVK5}%pd{&sCdcH-- zMOTm{a|`(6uZAZao4EEv3Y;DhEwwsc`JIaJu)F}~|E!z)65@Hs5Ia+VwvZifG&*py zSK+lMm0SgOx5A0Xs?-@)=`ISK(|#<586&5XozzKtQa>YCzUZb#&c?KnjhBch2%Yw# z>tG@B7j$utt99PdnT~2L#(%i?65+($WD}4kqHCqo|joc}RVfVF?11BG6p8p)~ zowpBvc&QrQJs#YC%|5<=Bt~|--HzD{3%TQjffXap%XMPG++zId4<~T;Oa~tP-q!v( z=Vuh!vEyhXIl7#<^5%tTZR*AB#g=U=vMRur08GK0Hv4C{HlO(T`A^wA>J6=b@>Xw1 zH@%7)J`k5(SM;sd`Gg+U+ye>)s|PnqUjaEqzNqxuKYa2+>Y)9d23p7|vg?JBs_{&+ z`ItS|*<`7dVgEq9j*%^73*w>bhtO(ohq1eY*Ck=|4X~cjP0kUKJcI%(^h!Z(Hf+q0 z%%Lty<|*VgF9$^c*-!@N{Gi~qz})-E$`y?-PDRJw61dC4)W{XMD?=z?yHIbcJJOjAPRu3MqTyeOIfCsY!d zblrjcse7^Kfgg^jJCcZ6j+p#udoq%ab=e_OTbXl)eRdW!k@KblMRRu0Bht7hR8nH( z$qn(pJq=57mX68dbZj`z0g||t%b%i{-!fFJehLLOZ($jAPCtL+dOY;(N_^mbyAX`n z;q{SI?6T>+LwfnigP2n4!QMkH_}$}&F=ufF_h9yE)vTS&oL+#heqj#({ZG#xMpJz^ zoNjxv4Tu+|3Uel~GJSHcu!y{qZ)D>v84aV7E^LSerlARPuxVe9nMcZ>DD#x6LE51( z?DQVsXeIUvG1AarqBS(R_OyHT${HUPuDzwwwz8# zE<1V6Y<%>Al@25HPqM)>qu7Kb+-pBPCctBi!&*4c>tt%C%n2CrS&i8=1jO21d|?RI z=RkI8C|r`>f%VZ_*WiYAbMeN(IwFXH)eCD-U79*^ok_U1y>2>>5#OoY}4GYc<4BKZO$>uYbBc%N-k%)w`mf>-+_zZKH zXv6#gIvMOgTlf?By+Mei!ZCGFWTcZV$;KKh%U*~jtZB0{r524qlDMpX<&<7G*4Cz~ zvPGT8Ss!dUaf+R#o?(d(ymUD*k3t0VrvlfSKo9#yy<#|X!4n!%0* z#qCF4^#ODoyMpe~Aou)RXghQ*SMAD{yojphPosSKAE=+OAw(o#(y?&v>zt@HSN;-t zQw~yGtq$(|Mmo-Zcq>k!^TfLTV7BZc;*xq;IBO?dxy?z*DR9Zh7LzZM_16%2XrP3M z>@H~_59tDKcdC(G>IkkUb+wEL-oayxv+_F7a;^kFd*KSy%%8 zU-R$O=GG~9mUY$&9?yt%ItXL}Mnez|DX)c#kruj92RB4*%iCmn++ znMHFxQ(jm9%ldIkyR?$-#%I4^Z;aGgPma1A$&8;e1Xtzo?M@Unprx=4Wt}C+4#`|h zVzX$bPen?|aXh&20Yn{f2rfoAQe$maMP>GqjpQUHsb>HhE65hHr7ve-s3Ojh+Q~YH z`~_okwDdtGoAJz(B^0D)egSj9YbjVNmYB@IkF6( zTPPUgN_|0z7lma$tWSC=S8t>+%(Ma=-E$6~_}U+-qf!v1SFrZlIb0>}voV=n*xnMA zglwDF1%|;2`*!fT-p5@>B`xWiVvRY%AW7)Z{kv4rwQ=}%8hP8EUa}3h@7ai=o?@h` z4AvJR{SXw5**xsM&XPjI8xfRUvS~N3lZmUpxOh%u^Hh z7oq;u`}-X^oyXVnZR)mv7)^U`8rYbgg^^5hXXIq6pBiQ^?t*rYKnqfehkd|~(LM_t={pyRJ z+Y?mE_`_kjhRl?bxJ?E0IJ@z?jZa}=-E_=7Hw!s29|TS04v=%XBnh2uh>*9;Zx13y zJ$JVpAXl)6dN!G3DK_6fAE;(bD$*IxDGB^z>x@V=`kz z7`)DDmAOlP?<1~cw}_jFmU30Ke+qlEe?ZWX?2!KBC0F&Sw*4J|2`k~dZ=3!dvP%Xa z=OuZeZCo#usYCwSXY=rr-}td`4)cdZ@z7KI(6C2>YNMFsvMLG{l<<7azCM(drf_=) z1{Nr+Y`rN<6Whg}A52ZRX?kcHJ(m3gy;}B2Kb}r8^9R>4l=Vo|<22d?Nf{*Q`(6fX zv?_MbI)dF(55R~gz^bEb6!q?#rPy8&255v>dt zgJO=cZU+Kqa?weiP&H^9asXlUOG>+Ltb<)A3f3rqq3W=;zAs(NDvK{F?4A0No9E{1 z9AuMIzlmT-M{Pp_AGpnnKfM{n*FTqw&-`60%FO`&=bv_^E!t`_wey&iV@qXNy=@5PCf9E zIRw~T<*aHxc^6sP?*8s6IXjQg=eQ6o@u0BY(7`scC1)A6qzxa>M%%Hl0H14IvnIN~ z5MTv$!xRH)H^)-Q$E17fMy%C?=GH2-zE%OnOKMeKjN3qoUUD`BlmYwb9ge=)ip=C^ ziJVw`b_BNYsltS$T?&NAOYQPlolI$=f!1~%IXN;qdklCfM%&Y)AsRDLRVHKE0vp_} zT(q?Zab)*dEWdmPPaCVO8K|7Vyqz;4^!!d9GW z785zrHTuMZ+!H8qhX+#&twrIp+E_E&$UIYoPcOw?{mD{uk|ogug$1`|UZ#QBZ(%lN za^gY}ZXo#0I&7Uf7+oCwJgnKd%|D{j_$aE)+fZX%jWUB===xTuy#^02gc^Jl-?P0t z2q##W%k>E5#7t{937B*X^IlhH8WcndD`Ekv*yZNfj(9h`qM^!X#%h|RG)d-TT& zndFjfR!Utq^*8%mW$cwn^iXwrdFh$;KI2q zDah;}6l<@iAYS^of^x2DM?4Bm@n0sRePedD{AVEh9K7<^<`kJ z4UUhF)~tz2m_$1trzCfB(@W)oR1yYhvIE`@s{t87QBNF~W4*7+iJn?H(%n9%xx^uw zYuLm&DM?pkehVJ+g|z2(;Z01({cuXT=r*rLuelfzb2c?Z$9Qb*^Mb9U3(lGK@V{o2 zXmFNVQ(Hyb21XV1P1DQ>##BTm$(Y*Mrz&QPr+b>=5GAbl7Q#XMC88R7IzxQq!1ecU zCApritWPo)03w+l3q4Z zK(dVXztP75IcelLO0>5ve`q{b=>{TU7;ubPoet(COEn@XtVO?$MXbNEIP zM@*s(M?5%od4w{r*B5rnKiv2XIXvgk^jF7nmA>lHTjZ>ka6so{Rk4yZ> z0;~eJ2EB&SnmK#CJG}zl@{tpYp7EThiDEKA*^Z-U8{R^+wvs>Ff`uKB zoCbQ2<-A(N|}QI!JxrB?nfo4$*AVF!nV6v=kU zIa2yznC^Nus~bf(vfX6_>3Zv_L-%NQq$$p$sJ(}DyZ3fB=_>Okvc(Eer11k9USvO< zi%s^!5|+HAE#=!Zitp`)!`y9M78@U679%WNNy;h{sv4=RzeG^D4l#iO+nAH`m?xY9 z9w`#}{J1RR=a{Q621inWdbV6zH=7(7g>>F&)vd4@3Y=s}O}pb1Y&ix(XY(-Q1E!j=_J|i zRE6{fQJkT(M}xKsKk4E5=Od}c0w&31YcA2WL=z0HPD(`gDQe(|67Q;$Q%JMX5Ot`U zA?SSI%wXi1zo0cyj0F+hA|0FV)Jca6C#fuOnbwLN^I_!R5tv-UsVFdyA&iaOCQPNC zx7e&KtsHVXBq9bP!2u^wn4Sm4>(OLO5;0N(@8JsM5#guzlB0r7KC{%1;{8)mHKPUo zQ)QSau=C%ZSB3+@sd&Hk7TV(j@oTRn<1$h?*%FFqIQ2>|4n`aB#uPhdt*V0C=Rkgu zha_PIFWn%s&=8ySgcTZQ3AFq>Pm0;8A}GRjuP96`Fc$LSLF^n+xX z#L!}~T0^ww;{t;9dMp=NQBo8|64>8Aqt$U?xeH37Q9N`mQ9+7jLc6> zb<}`r=SxF4X~Wf7qp}>mUY@Fz<4&Mb7cpBCQDg|nHOBAw$(3yMo;(QXb~MpV9*+ev z%kIVCSLPuCE_LT&355q5d!zX7Bl|FKeGT^Sh;q%Pd`bbTXB8ti-;K8BUYtJKimrwp zbRX(KK}5jJa@Dc-5+)rBADnc8jgiW#=KRQ+Sk;6J8FYQwj2+itUx5jRWupnO*(~*O zutX!ftXI;aJEge)Fxh0sO?>#=1e8vuvaH(CoeJNC#zN-N`gI_NMcR zbosP@IT3M=CZT|Ss-n+wnq$_+Lf9H;2RYTyrKz|hQHxiF>A30s6?nBJfM2|N7AOUv_<8#YtdH-4lP;>p z?BZMh+O+{!x$U@yY_=&gi?MBI9bQEnpGC-B;z4~!2k!aIWuzjz@uz1FW7qamC?gxM zq#_4XXO-|J9E{5{hT7);U3OFp)YFJT1fOj)oY zLkX4~weh4MHGVor4$c!cQXhGKooEC}k{yx~>S+qXA9e=oj^iRj71g+{|B;X^A6xik z2nIh`Ry~6CC8K4r3EtFI4%?$PbjL;yi?T$X;e<<8_)E@DH&*r0YB`NW#zs!UWWiio z*r>{QO(mU=RKHj|;zY=u(&hM+tp=waZNQe-YROwFW69bY%$!$-txq4sRktm{a}V!A zV|^zM?`|L>9>6tMJ%!hI&&J+u*W;EyyOwvnEa$SgEC&szJ8;9MWq9tlyU}!_7K>!% zk{CTc8cf4-g#dshI7-G|~kIbPGN+a!q@r-{XpGk;SSW}4D)ELN4w8Iupzz9Up_*?_pUZ_L6 zKZI8rUWeDOq5P;$-tRbW`@{=aySNT(m(=1LKa$YZwwgi)R;ROi<1GBN~>}25XfK^^7y# z_OeH9ts~N%m-Azyp$lfxO=%M8Uc`9eND*G=qgB!nfaRK|lXPc84lC}Nt>(z%p$4D0 zMW2YEypWu)LSZ8rOoRi*kZaLYlPgA1l8P;2awNXTx)+v4GOe@-4!Zd&`mKVlNe&0$ za;g2-T2a=6uJ&L*=~#gNo=;zfpZ@y`6!$c78>yO_qfFX0Atiw>EM!ylWVPMkFaD}? zqBBf=myr2ox%AFGaV7UYj51O|H1%dhkL|LVfdk%1%Q3}x+a=kkFhxt2$OyuLeHafI zxjZSJh@BBJja?=vEJrnU$^KfuYfPa{T^)})nI0bM3?z!khkBB)ZVcDLYPKDVX*kZ* zT!+cYYkF+(z5KVRIn;#ZQx4;mBQvn_Y8S7$qsW#6kEMjoTRH{88|`@YyKf*dTXJ9? zE_vwGbz<{oakNtG4CB_7J+bz4e#f*X17bD%&LtT+KZxz8WFvUk8*4t`(0Y6D4uUQk zT=FVlbN`K9O0cHxl~QMsvvm&93LlIBIZ;@$cPbq19=+z~`NHlJNrD+8yq_$?hjl@c zXs5+Sk~4(y!b}cNkVqAE~>x$q8 zR{_k{sIuoBKsr?yyvuKHmiBB$_M|HcdBlhuld_rLUNjS0LHPK;gdF8p3cA|qPP83% zsT1qQzt|v`DI1ecuKw{&@yjHfW0a~hOxiKh8DbHgONMB4Qz#@3F~2D3`51I9^tm@? zLuc&5mVHb`IM#dQ7D?!BGk6(^dJ0OK=?>OY_0GI zRSL8ZGKng@*kL5#6NGZx{!e{Yw};zAXIri5?CRD^_BG%V1HE2bthR?eq*3d+jFfat z!OBuQaV6T@Y1x8z33SPfv*9Xs`cH_CP1ecG`<6j(5acTKy1x!pp3PIj@_RoGSv!GP zS24OCUv9NhMoL}c#dl9J@tCpj{rMqPe2?+JyH%s`ja79mWRSG6tt0jD5MA5YoJ*`K zTwF7Uo{tuX%bFY}ks-|Cr)%*;^dVYwgBYdGskfR@!_*p2CX4BiSPxo|n z8io7Lt4i1Tf~6+w60i6>s#-9lnRIwU2HAAFa2{&sI~hu@qB&#-oQY1DW61nseUwMZ z+*dixb8w>t-QpVly*uy!NZPRycrx@9YUCLXoRn^+3+;=n)1ad;pdF&8P$QIXO;>3IoekADmTFp$Zio_)OMz(-ImM_4e`EfZK6 z!Qr;X$MNiz!Rjp7Jb@yD-PSo-D4=vhQ}MfN0Q|z>$ajjaY;s<-l;}m}gKRmAhWgNHV>Za z{B!ge)_e!d$>bFMxT^YTyb!KLSF8|Y1tVE3G}L*+>eR4%u#ue?Pg4n;Nogj12TOF* zO5PmDAmOBB)QOCG-erj8QINU{V#h)@Cwmxjqz+=DL$HUN%$&LddQN?d;c3jO1fakw zYGr^t>{?9mNg;NjiU3{e&_zL2$i@=Q-mHbaO&ohv%ucplrdcR@Ny>#;If>|neHW}D zvm1zpMw0PVbQzjku7y3XqJP~dO235ba(<0_^GfjH*Z&Vau{?|wshl@`WJ{O4?evf| zbTf~t#wE5_3E(qxeu@N{P~ScJ1xy$W$&G|}0l&^z0SjJ#P!cZJBvEbAr~UE&8HEQ% z7xAW$QPPdDMD(bBNo9##OoXLSSmIec**A2DRcB>P@TuD}o}oc9Fo9)aQi3&Zds337 z{GG&~K~9qe&KHp*HF4GOQ21JCh7Bc-cG$h8S)WVD*5;*91&ikmha3;$p5p(*M`k>T zMR|wtnYsUqyQ_bXo2#A~Pe_%g)`?kpE?6%hGF!1qs^9pzOk2x(=5bOf5}pxxkD7E) zMLi*zkugawHei(vQZ2A$FY(;^kz}cc^m=K-1un13%Usw6g#AX^3l~K;kd#dc8bOZS z0l!{>)3GJ^x27$qupc8w{%pA7Er`}I(eo>e^vlO3BWF5NGEO);aBL@>0BFK$Ht z<1nbzy+;wUhr^=bNADP%%Y8nHu@F_HM(oxOj=D{=lxzutl~g>@P#i+WVr_ln({}}K zL_>TD|JIaPfIZ=x@nrX3lLyubcU~Da^zHYjHO>p%eIXMjEqu}NkoSyc|dzO-%pB(8$XtYn70`wTK& zx}jwZtd8iSo}2kxe9;rPMWEr5A5JmRh)Rh>LYf92Ym~!ZM)EsT?|GdZ2gTS5%aPY| z5_Wa$;htRmWwaUfebWQj;Z&tLJ6|XvN_4`kMFMeEB<#d z*b#dYc{toVANxC(V8UQp6PYp_lbxS+RJyaPCDU%?Mu}(ICZ%2=Xa>`$bMYQSOo}HQ zdOh515)68`UCVAjg1mGl1%+X^(O_RO=TAZXCXvq0WyIRXgt!I+jm}( zH~RVcM=;xCO)EV_ou?0<+4Ai1iKf`2CinrFk*L zLYa#jahSX=4Nf+xB;6Kp_oE;?A=qFp2?n2>{3S3r8GJBZF;s-kmQUzzuOQK z6S~c`Gzj)={Snn5&t}Lpk$6m zjFwy=XJbey(Nq2NF{isyQ84u>TE@(Z)NUt1Fx5wHt(8U0#d`=1c`X4uT3Czc)fVi5 z%(akWMU{x>l)&L{!&qS_g1huXdRU&z3d-yB+*#RPojjKwHr2v-ZMot5G0!1uFJmrT zME0v-V}qgDZ1XB?-Zt2M9eie3Jz4}I;Y?p(ShF;7Z35DanRCRGFCoyWV}4rdSB;B8EUqZgs3^swiW~_^a?EeH$3k`~)@HNO-z|DjnL=SGU5|=!U8SepefY!Q z_2oNDn3~AqXxSt)r-H}^qLM3Cjh&w-#+loOlBF-f=AjrFHSt_T5ly(!aO7$P8dLYn zyo|#H<@GaS2fK94kanX|IEd$sFY)ygHAh4?otx?KH)PsI7sSxMPyclMq&sojQ^6$< z-O^#mX7*_Z?*e@8@>Nf}b^Y1maMWJs^H9w4Waj$(4MyQ8ydu_66Q=jNQCR=HBAbH z2>!)<0l!d|BRYROL?sUY*##t@vmKZ+)~IIkI%vPOwnvB{5<=$Kb3V@(W^QdpNoSa9 zRx$2TpOmf}rv+JfPmzuxEJ?aWxQh=VR8Hu+5Lk%oByJX4B@Kqe=DPZeRk9*96*nw*75h@|t;wWCQ z9iFl?@NJ!o%R)P`BC-z;=iZ5zyc_zdB`PtPnq@e7^JOl%qoJ`~oJ;7z47`fh@lnL! zPP5hc2;B$ngc3*Ee}ZU6jG{x08J#GCE2}xkMCj(h<@3bfXkTLm%1LfLb;?VYp{#YMd#> znln04=p|_Jcvd43GU^11D4jAjy(HDltdp2{nDN|M**xfeDVF@8jUkPO$E+y8Z6ty) zqaD<>$GN&Jhz8GbWC^&=>Q4A7ll6X0mhRYz{}49d1jvEH&Y6sRDbP^e9fZT1;1hrd zHWOvV$FOGOf5MPR;tEdQey@~|;)B>nUesUXlzRreN(ldTmq$hdD zeJlMWs4{JunRNT_c)~yDu{%!M40SdpabaPQ(=_3li3PM*71h8)tt`NT{fdmDMBbv16Zq^!&K3aiWL#q3#{ND zBXptAhDA8d&E6wsF&fGBasfBFblB_72TiPTp0 zn>-_hc^mDcjJ@jvlU#ka@MzgETytP^qUVuUjGcR!<4UlFGmhA$zN%-lusN$(Pd3)C zx$usA&zySn!E&<8FKj)y_c+98sfU~>c@yK4O95hy?yn=M80Mc{rG8Xibqum|AX+Zj zLvZAWkUy^(tvjc2XAGNLAs$k((m0E&?G2c%bi?J)Aq&YiRy6Wdj%02ArD*2M%{WH? z72}VXj>m=hh$o8BaQfbqD&}x+>k{!fbQsfdLSJXyhG|Krcx3cwH?x1)oalO%S^%4Z zOiwXLz;rdA%(Sm4%H7BkS&eeqBHXQq;yHU+@DG!?U=V`kg=X5xGRzSHX_4HTzM^XC z&4=ba+Fd?)3Mz&SVl&BRV}vtFrR?+2xXOAt;h5oIQw?0Xw-J}^Z?fDGB=ySHpGG1W z!^*%(eAE6%{H<>nR@&R(6V(C2B@rXHQ+SjbSj+~Thcy?7KWaxKZ{^srJizBj;WjZr)x0^h!)1G z_TsGTHfCLb==2AF6IlGn&HKo3Upi^uT_8k@Q#!1ev&5BKM(;mFs*jZ=BikLwEt*b& zZ!g?Ar114L(b5V@l#p9IoqBj1Si*b6&&(0BYeLNy;ReA~Y}x&rUOI&(r#s<_X*?po zXHGHm;6e{2aF28d@AuYHLm6FjVp$#8G$w_Pvyv3fd1f2(XA1a5^FKh<(hpNxAZS=1J2op9e9g!HX+#6`KYA*)(3{fievi3k{R) zr;+m}LU!#ysLd4hfZ=T&H8n{Wgzlea5ufYBn5upqxcd)Hiyys(B|^XF@-i<5#9%3( z|9E(EE^|=0yoJME6^Fu9kEFypz{y}-;O#P#pa~vV<)MWOV>k$a}1py!kr?8 z-{u^wC0NprKQqz>;?V$9qoYL=qoW2p6-^vdk>xR$+B zXA^a>fuBR|8Ws`=66xGrs*R3;rYTb|?RAjPIIRC?GR~U&$78VjGDkWW z@vWKvf$u2o_``|2$kud16^2%{?lPz1X#C1FoD|9N!6crGyr)hgnTNLX(OUO7b5*Qt zad)nj7pTvJ-1OL8nb`f8gM2&UEaE1LG z77invnqYB27Tg}7HNU)~`ykBvZ|d&zt&l--`dl-g;%R5T26S#Al^1ZPiD%mc4WF<0 z1@7GSGJfm270=jiB}qPD*0vfoDfg3o6tMShrSo<%&mlsr;DOE}c@82%8L6?$VHYkZ z+jBn7Ct$AIn~#qAyQs8o+xUwy)fF07Uggm(N6jnlTHM|%33k&o&U<3WNzjW3m3oBM z6(8awtXVzC;bw}-JZmvHJlPMaiHF({IQtd`H#(;r!r{t`+jgb(N=haocip>e%#-Gvclq>#cRzJv(PMY?NJe6j4&joY8~Rd(5GtFR zX&dHc>ufrTqA80=nv6c1Pq^a*BAsEz_o4*ea(&>LWvI=mne>sVMd z5jGgVk3PQZx}iKl$J5DiRNMf6Qw>SXPDsT+Bf;87v~j446y69K{{e%fqC>ouj*wj? z5<`e}#Few@b8toDbhZKUA-iD$aPa+)w?`D|O+z)iFp2RYS~w@0%?wSYFaR^{)5{Jm z?nj_;|B!Vod3jdOIg~m(a84?~?>$TT`W469A+ZS=yJNVav;k5UE(m6}xjZJE=IgNe zs^E6JIN=6ECb4LjI$^V?cE0Fje?`L>qDG4(I!@p2gibnaw5JeK(QhD^{}&O?kMpt1 z7)X{QY|FIg1AVrSd9CUuw)(lM~1KyxM6n}#GG71K`iJBf4)QocNH9Df8|EP@P!lP7AMJ4 zqQX}_#v*Xc*Q53#RpCg}NFdVN!@Y~CAS))kxg!aAy?BCRiXnt!Bq3dgalT|50&>~} z^uHpNb6ZxMYhq{Gl6xej>-Kzl&$vbmP8jJJn4Nd{jwjBjMrgaFh%J*DEZIRYoHBIV z7|JEH$u@e>cJgJ!1I*+w`F}da<3g>6$br&1V*6)Lt;CT?DT>@Ne9ZqU?%MY(Za(rd z_AMbzrBFu6>M(^E#-=H$Y`T?>El}IHr?^J44CB4l^joQKA*BS&Cr3z5R|8;Ys`13< zV3q9lZnjWOCP6dHgM?f=qU0WP8tSHN-*{}fK3ove^?})XGX?ujNfq~)f|%6+zxO11 zr&jY;3X4!Kub8%|50emV9yzDSnrBY*RKjo+!QXs@>^-I)4&Tot=Rq9n?Jr{Gi9P73 zjbZ;m^s9ZkDZptr;Tsl5W3%Wmn=4&aF?JRosfP-wiCXP{lC;)`{Z3m{eL0)9Jp!xT zen`SZ&E!B`KjzW0fC#;o;&+ST5x;_rQdH0*3F%DF@YSNJ)E>Ee%lIc?$3>WNm8qPt z3MRJ9dg_(}mx>yC&n2cYnZMbOa0M?k!U;#gahp?wBvVX^;#aX@!&mrJQxOA(niOb) zRfAG4m7J)2Z1?k(AMx`M&xnKDHy%zPoGCp zG=g+J-4N}=h8xK4jBT5Zif6S{?1TK?9!clYU?Lm?A_|c!{*bOC<1_?AU?9;QQ%()d zxfFzseVd*sto4V~2VdE4R^m)=84_Sf**i$)m zw9EskS*DAcASb?afZ#0YdcD_=ZGo{*!!;Zx!qA0Q^2$yf%WkB)cbyorLP8|JH@JTy zsv*5C(;OeX{zVqSXGZFAit!bbUR6d>-@^AI0R_#in7XaM(hf^-XQk%!@zxV!l27sQ zg*{dVKbz^se0T(l7*CkOQIyZWVLaf+uuX^P7@6^*p7^JX5iy68Nx7jCm8s2Zygd^{ zx)_4`zrZJcj{^LjtoKu;*3$#mV}@L+Yv;C){$WCU?Rw+xE!j`cn*nc& zq)UZ8)_9~2zL=)4cFWxkYI`{`(a4nqwSa8Eym#X`KEYpJY8qoSIL3&4Qm;(z+8El3 zS&nB>QRYY5pX{7Bk|4~>O5vdq`v}f*I6Q1?%7nTS_vH4+1BiL9PYKtVE^* zlWQoFkWaT!n`^H0Bo04!(~}cg?fjA<-4KvGe*-*=l`U3}^T;F8wA?M8yq;K&rV9o1 z^xT3hI6=A@sYq|T#2zaQ@;ytYteKJ05;l~_TOh;V&Kl^%^(%ct+on2C@r;zAzX|9i zBCV^)EKXRWv&)yht(x7hj9e+Ox#*}b(X+2)*moswg>&(rECp-=yI8mIW%6FG&T?y^ zGa?^)?$F)O)E~mc*? z6?Ky&5^yT!LV=XPD}ll>6Hed>Z0RkMsQDm;3zm>Qm2NUBldfe8KaL>yj_kkp7xlP6 zc;}EV1&DO4y(W^2f0PZy%6UiZC9D*POeEA)#imPQOwoAOu*52Y7^BbMDT)R;6Rmk) z9IC9wb;*RwOqjNW>T8ps>tg=5%wo)^1Hd!=C=njRZN_BSYR}~qe+)Fh@6eo*)>|~>Lmp^frp5{Y}mlHrfG7A zN}S?wYHUE=QXC>LbHG9f>^D|gPH|ciE!3m)zs&0?iq^naQS2M9ZGn;HkFgJ7zq$d{ z@)0=nF2tNgI30`P)S*SBK8k2;_n|wQi#&S|mrA-}HI1n5Odf%2{ryLj$=kJjniorE zcqz`IgN^c&2DSGX1p@cgS|bCjY(Um&sF1unF&g0%VIe1hfm9=AhTc~nB+P_eybUUG zg^i&byp19(<%E=l^mE}DXd}YCHh9$qCEa9z`Vzs~FYm}VB(YLA^;x1Its*L|q&7U$ zNHsb?IjDTN3dW>eB&hQ_2eS42v6M4L>O^$(3Ga>M0qrDBXO+8f=eiQyxFip;XcV#{ z^NV3MJmT>j`@gxp#@6@hAE7k^UQ@5QnM=9!Fo~#tBq{k1{nsT5;?f^QGlis&37uPKG!R?R{Nf0M7*yLx`rB(R?Cnheus$n<$mHh zh4&HRR$8Zk15WXS2piw!L2;G@u3#ZX2Xz+0Ot28KH3A*s>pHGGxC1+Ip)e`w-hsIB z`_I~Y>v9Wq8B28o>q##9J^FopL?CkA54ZSv{yA!HA$4#o3BM=>z5gFc zrjjAYiI~4Y#P}b6E)S`e4)K1B2E*({kMTh|R~Osm;LgwOT#O5dNlEt(#B*P~iN%eY zlFJ|Z)^FPMh*Upq>KsAS*BXK_i&iZrvaC0C(;e1sb0QE zv0?MR+)yN3A{p`=Qcagr=wY=W3bTo06~k@C^M&Z%1F87eS!`*-A>0a&_*GoY34l#A zK2}c^vkZrh~Vv)aK<$U=nU9e5t^||fYCuxoY zlcbwOMqKmN-8nsmI$hFDa@Yv-DE>T))Xo`1kXdBi<&L(m%|XJWQ%W;7*=}4KxxUg;WM&=7`NiJ{p|FGE<*GKl1#-e5FlSQ?twzF>5}C*S#|F*JoJ#3*IWKsOj$zV~GKqHtHa)UQYU*k#aBH_s zams(g;)&~MSwanX8vV^ssF!?{#@`GdNiY-w&h7l%&WkeV;w0%N@s7tG51PeB3^ORe z&pfAVDW*7!8g?~>HCSaM?lv75NstC29@_cYo%iA*V3Kr`cvs?UT ze(ypD#V0X|NlaoAlbFOLCNYUgOkxs~n8YL|F^Ne`ViJ>>#3Tmc{|Ad^gLnv$webJ| N002ovPDHLkV1n%*n@a!y literal 0 HcmV?d00001