From db712320ed3874ad83658f2dc60c11f1acdd31d2 Mon Sep 17 00:00:00 2001 From: jiannibang Date: Wed, 17 Jun 2020 15:29:01 +0800 Subject: [PATCH] =?UTF-8?q?=E9=AA=8C=E8=AF=81=E5=AE=8C=E6=AF=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- package.json | 10 +- src/App.css | 38 --- src/App.js | 169 +++++++++-- src/App.scss | 40 +++ src/images/1.jpg | Bin 0 -> 62168 bytes src/images/2.jpg | Bin 0 -> 72602 bytes src/images/3.jpg | Bin 0 -> 43664 bytes src/util.js | 205 ++++++++++++++ src/wall/Sphere.js | 22 ++ src/wall/Wall.js | 183 ++++++++++++ yarn.lock | 693 +++++++++++++++++++++++++++++++++++++++++++-- 11 files changed, 1278 insertions(+), 82 deletions(-) delete mode 100644 src/App.css create mode 100644 src/App.scss create mode 100644 src/images/1.jpg create mode 100644 src/images/2.jpg create mode 100644 src/images/3.jpg create mode 100644 src/util.js create mode 100644 src/wall/Sphere.js create mode 100644 src/wall/Wall.js diff --git a/package.json b/package.json index e8e71b8..b88f13a 100644 --- a/package.json +++ b/package.json @@ -3,12 +3,20 @@ "version": "0.1.0", "private": true, "dependencies": { + "@tensorflow-models/posenet": "^2.2.1", + "@tensorflow/tfjs": "^1.7.2", + "@tensorflow/tfjs-core": "^1.7.2", "@testing-library/jest-dom": "^4.2.4", "@testing-library/react": "^9.3.2", "@testing-library/user-event": "^7.1.2", + "canvas-sketch-util": "^1.10.0", + "matter-js": "^0.14.2", + "node-sass": "^4.13.1", "react": "^16.13.1", "react-dom": "^16.13.1", - "react-scripts": "3.4.1" + "react-scripts": "3.4.1", + "three": "^0.117.1", + "touches": "^1.2.2" }, "scripts": { "start": "react-scripts start", diff --git a/src/App.css b/src/App.css deleted file mode 100644 index 74b5e05..0000000 --- a/src/App.css +++ /dev/null @@ -1,38 +0,0 @@ -.App { - text-align: center; -} - -.App-logo { - height: 40vmin; - pointer-events: none; -} - -@media (prefers-reduced-motion: no-preference) { - .App-logo { - animation: App-logo-spin infinite 20s linear; - } -} - -.App-header { - background-color: #282c34; - min-height: 100vh; - display: flex; - flex-direction: column; - align-items: center; - justify-content: center; - font-size: calc(10px + 2vmin); - color: white; -} - -.App-link { - color: #61dafb; -} - -@keyframes App-logo-spin { - from { - transform: rotate(0deg); - } - to { - transform: rotate(360deg); - } -} diff --git a/src/App.js b/src/App.js index ce9cbd2..30e1576 100644 --- a/src/App.js +++ b/src/App.js @@ -1,26 +1,157 @@ -import React from 'react'; -import logo from './logo.svg'; -import './App.css'; +import React, { useState, useEffect } from "react"; + +import * as posenet from "@tensorflow-models/posenet"; +import Wall from "./wall/Wall"; +import Sphere from "./wall/Sphere"; +import createTouches from "touches"; +import "./App.scss"; +import i1 from "./images/1.jpg"; +import i2 from "./images/2.jpg"; +import i3 from "./images/3.jpg"; + +const videoWidth = 600; +const videoHeight = 500; +const width = 1080; +const height = 1920; +const radius = 412; +const displacement = 412; +const POSENET_URL = + "https://lg-cjdqwkbo-1256266248.cos.ap-shanghai.myqcloud.com/mobile-net/50/model-stride16.json"; + +const Block = ({ style }) =>
; + +const Mist = ({ style }) => ( +
+
+
+ touch
+ item +
+
+); + +const App = () => { + const [posenetModel, setPosenetModel] = useState(undefined); + const [video, setVideo] = useState(undefined); + const [wall, setWall] = useState(undefined); + const [sphere, setSphere] = useState(undefined); + const [list, setList] = useState([]); + + async function poseDetectionFrame() { + if (posenetModel) { + const poses = await posenetModel.estimatePoses(video, { + flipHorizontal: true, + decodingMethod: "single-person", + }); + const minPoseConfidence = 0.3; + poses.forEach(({ score, keypoints }) => { + if (score >= minPoseConfidence) { + keypoints + .filter(({ part }) => part === "nose") + .forEach(({ position: { x } }) => { + if (sphere) sphere.rePosition(x / videoWidth); + }); + } + }); + } + requestAnimationFrame(poseDetectionFrame); + } + + useEffect(() => { + if (!posenetModel) { + console.log("loading posenet model..."); + posenet + .load({ + architecture: "MobileNetV1", + outputStride: 16, + inputResolution: 500, + multiplier: 0.5, + modelUrl: POSENET_URL, + }) + .then((model) => { + setPosenetModel(model); + console.log("model loaded."); + }); + } + }, [posenetModel]); + + useEffect(() => { + if (!video) { + var constraints = { audio: false, video: { width: 1080, height: 1920 } }; + navigator.mediaDevices + .getUserMedia(constraints) + .then(function (mediaStream) { + var video = document.createElement("video"); + video.width = videoWidth; + video.height = videoHeight; + video.srcObject = mediaStream; + video.onloadedmetadata = function (e) { + video.play(); + setVideo(video); + }; + }) + .catch(function (err) { + console.log(err.name + ": " + err.message); + }); + } else { + poseDetectionFrame(); + } + }, [video]); + + useEffect(() => { + if (!wall) { + const wall = new Wall({ + items: [{ url: i1 }, { url: i2 }, { url: i3 }], + imgWidth: 90, + imgHeight: 100, + containerWidth: 1080, + containerHeight: 1920, + speed: 1, + onListChange: setList, + }); + wall.init(); + setWall(wall); + wall.getList(); + } else { + let sphere = new Sphere({ + x: width / 2, + y: height / 2, + radius, + displacement, + width, + }); + if (wall) { + wall.attachSphere(sphere); + } + setSphere(sphere); + } + return () => { + if (wall) wall.dispose(); + }; + }, [wall]); + + useEffect(() => { + if (sphere) { + const container = document.querySelector(".App"); + const touchHandler = createTouches(container, { + target: container, + filtered: true, + }); + touchHandler.on("move", (_, [x, y]) => { + sphere.x = x; + sphere.y = y; + }); + } + }, [sphere]); -function App() { return (
-
- logo -

- Edit src/App.js and save to reload. -

- - Learn React - -
+ {list.map(([key, el]) => ( + + ))} + {sphere && }
); -} +}; export default App; diff --git a/src/App.scss b/src/App.scss new file mode 100644 index 0000000..1ca0979 --- /dev/null +++ b/src/App.scss @@ -0,0 +1,40 @@ +.App { + position: relative; + width: 100vw; + height: 100vh; + text-align: center; + background: rgb(218, 232, 255); + display: flex; + flex-direction: column; + overflow: hidden; + canvas { + position: absolute; + top: 0; + left: 0; + width: 100vw; + height: 100vh; + z-index: 1; + } + .mist { + position: absolute; + z-index: 100; + display: flex; + flex-direction: column; + align-items: center; + .ball { + position: absolute; + width: 100%; + height: 100%; + filter: blur(50px); + border-radius: 50%; + background: rgba(255, 255, 255, 0.8); + } + .text { + text-align: center; + color: #000; + font-size: 60px; + margin: auto; + z-index: 1; + } + } +} diff --git a/src/images/1.jpg b/src/images/1.jpg new file mode 100644 index 0000000000000000000000000000000000000000..49e92a7535eddfb42356e22493cc6429e51a81f9 GIT binary patch literal 62168 zcmbTe1yo$i)-Bw4@Zc`N-61$31b24{?oNQlLj)Rk3GPmC2oe(9-QC??^LIziIrrS} zd*i*o8O7e+UAy+KLCv-1nrjt5rhhC0p2|o_O8}st0RSlQ58%ffKn(B%9v%T6?g;_{ z0wUrQBou5^6l7!+0!%D)Y!X5;QW8R9Vsa`LT5<{|N@8NV=k!c$>|9)2WVC!jyc~io zoLn4`L7)&35mAs)@KI6mIi3+eK`HWo@9!vQ(0)-Pc zM?h5O6Uvtr-*8k$j;T0}o!=rN;o{*F5K`07($O<;aq~Rq<>ME7B`zT;B`u?>rmmr> zrLALPYG!U>X=Ux=>h{Ln!xI?z?)`_4LBXKtnAo`Zgv6xetn8fJy!?W~qROi3n%cVh zhA-dS+B-VCx_f#@$Hpfnr>19SS60{7H#WDncXm%s&(1F{udZ)yA@hO)!2FsP`1h}g z{cBzr;CVsA!ot8JK;{Jn?GA1*7_e~9*x@lnl@VS$VNq}dJi&e$m09r(k&;v87{}Oo z1PPalYlZp*GPR#G`@fsm+y7rP`)gu<&ubQd0s{s9(SAUZ%6Nc9Dx?6r!@FqE{cq&0vpn@b5w9Q$95Aj=<#?q5wuh7Qodj2#Q8 zRu%_fgBvw7wi2|mghx(K2F%=Kl^gR*WC1>Vd#cleVa$CrUXp;T9Zjk48cx4mnm z6IPHf{hisjVLQ_w0P)(_mz5$LCC#s1+_Gw1-KzD>;NZM*HlR6q^++*6x--+1M{W07 zwHl6WY_Ss8lQQyEXyqdBidy7T9|81JYd9;C-j1sN*U|fI73EhE86@wY4}GAUWmMUu z*_76Ly(OGK3`A<5AAP$BMVI!tbr6ldLV&?q*KEa;6GFPlYXG9e*YjiO{9O5^g}gJ5 z3x<*xpEM^8VX}_dRoxR1dJ~PliX=rA;&xv|H99|u*!-@7m3tI_B+(+1Jn+CEz%wso z3B5Rx%o)1AQ(JUjg!CdN$MVCZ(cwt<`Uzp#+RZtc&N;GHPCU-biq2F8c-n7Dxk z=7yCiLh5l2_E+XAifH*4YoPabB*MBurCM(g82p487wxNcy+RvbA-k4*`id|k-Te*# z4493uqOSMi70!?7Er~K`z7{zfl)t{}bY|qy4G#FmjO zweMk0rZ$4HUuU7ZzBmKkOd5~{bl>+(^C&R%?$*3Sw1B`lw^x`CA@c_SsiNpw=CRA= zNxIchXrSI1Qxq{9B}s>Ma(pLdXyzAwUI*&8>aQ7@QbAXw@BE%#?iqwE50P<~C)l{U zK~7+d(f;d%N4Fb6X>?#q3^)*mAgEwM5( z&R?1G0U?ugqRBKT-1A#Uv@(cpKp9F_92=kvZoZHO51V@rUagoB-{V05888T7bF-rT zQB+2xECE>w$#j7GLJ=go44C6z05G6~qU*p$0?>6ZQv=B2u$5mRM_AL-TLN-&e=T{; z_-GJ7ho0U`2}*hqL-hoL({wqJZC5Pv z$g?zdS>IXPA7Opqres-q@44^)Du6RuLcvGCFU*AYjRTIU&{Dtnd(Msco8aYMAH}-5 zThUeLesnJ%1 zSOfU14gS06qUR(-r)BYNa#HENQdiRBbdToMYyP57Yih*L6p6#}_H_B})8e<)FbBI_ z8r@7Dy)?P!lV)->-e~}3I&eq&Oky5{;~G%341DNKLK(()c}uZvP3ZNM{8hM&&OnhU z=sM^!#RT&OldUP^96H4=p=5e)x03;R7@hRI@j3n4=f}H_QFV7zjyBO#!emy!?^SJ| zWYf)Bhw95;T6Q@y5Ktln_7p&##!$k0W|b9j>DpIM|NEPmQ-wgfwxz`i$}b+@Bsx3y zfn#Nn6fbp6u4 zw$HlQX$DpI3h4LVi?+=HKZip+Yf=6&_*q9v*be~HT-kRYbnD|>BE*+O4kr@8^7@NX zA(oAqu;LbEqhgq_=|iDC{nU{UdvWRdr}Q?V*Y2xpt3Cv!hx4c!U5Jh%TUkE7xqYGwd7#NYf`(z4Rv`#0nq zf&EEVbi6;x$RBvT06ze`IIA^4Mn^^m{0j{1ta!-dfj`%gfdgPy$0|XOfUjn?hI|C> z0LVF#m3{%WcdbDi!tIoKZKE{){B=e^4w>@UMTZ?}##Fqw)p)-S_lJ1=h#J|=euNW= zl;sCqvN)Q35U5d5LBid5tisCE3O^-!-<|IyP<3 zDwC8n7x|zn^3C|ji*D@fWF!3ZytvIAUg$(E*8!RU6mm5x z^LT9)_9S8`wY-V_*S13KCS#j8%-A7lEm>7Z#^^-u7sbkp-<%OaYDWB_r@}SFp+v%Q z%(xMlC$;|MUu-@ZE>!UCM5P1QC@9`oPJ43F&m)D0?TUPFF7LQ?NVlLYI$+?y_oFnR zE~FHv=p$7T7mCo+s7{>-wUHP~+-VY8)h$KVt(-iVvaJw_af5fPWOWl!?k>+~I$Zu* z_4aV$zRzz4EyH4?skj(W0D26ctj#nvmAi za5S58%!nuVX?UsUWQnzSdQ-PZPt{u^#55RlKowhxn}14FcPGGx+O=jq zXyoR-du2h=hBW-4%nq7<9(bZ{Q~0VEpSKHGLDK5`A+^WRtkMt3Dv}i#+Wlm+Xntse zMab(`*@-S@z_lQ!3hIKp$Hwq!bt!FsC~lhi^1Ge%QrcibuMj_$NeQ&p^?cQUvAKdW z3x#6}#96PK=RN5$^)StdWx2es^)ibeQ!3=n98q9MYj;GRL^e#Br0cXQ&S z`s*9eu>-aa5wnVog&w16;d!|?h?V6TnUX;AX*r0{151=2g{?aumC8a@i?csF>0q-r z8pd&P^-DUE^{Ax*dG%LG#+o*`3)QLPJ-znK$c^{X4sOB5E^l2zQ;uy4i&K=}Sj=2b zVJzr&xggtv)X+Xok57E}W}EEHUzw2ei$@SbuN(HUjg-E@v%{M?WQqL2PV zNPZm`A?7=L{3l=fCl~qeb85gZ3Ikr)Nf7H#&-uqT|MMteMF%(#Cn*4Xhy$=S244a; z%a9JzvM=DkQ31dl;tgDW8vZ}*sJZYbosxy%6ao-x2+vWT^~e1Mg#iGz`9CPrUpNEf z4X=h89A}I`#)g2B)^>E1tnmeQjWjI3-Tb>{>c%RvYsB)Xrh_Xyp}O*o7(-Q$$>li@ zM%_d=p8mj-*2kLD03#L_p-$mM?$|4y{0inq``CtE1wgsYaV+$hxW7q?X}aE2@GM72 zkkaRy?m#%BD@zGcq)iv4*ceij(?`&p2d?rr25$2GVyq!uk>60IKq#ZnnAv3LQ?xZLqFO8oU~;pwRx``Zce zlc9In(NEy!DS>##1w5T1v%F=LT{<*{Ld~fM{hiu0VQ*QSh@IDQM1KIF4uO+25&4F@ zgacn^ne0j(2v=EY1k{ji_LrMG1OTSpwqFesicl z&P!m}vg2pW!t=)uK?0tijup)Npumzq^?%rkUjfMvO-6GKNu4D&2QlTJcge` zoN#jiWR#|1u&)Jk!}#AFa)dZ%j z_{#Gh>Dh#z)+?;OviEuJ_F%I~ltLrnd$L914~||Y6}5?&$)%{EmBXP|o4cgvyfP@# zlMDn+geO*Tx4hd)`88`jkX&3=E;Q~=QZRPrHPn?yUg~B$$XA0p$r!lj2Bk@c3QNg9 zPC;j3JarZ~_K4AK7%NH9eqk0v=EbY^Fkl=v*tl)AxW`WuM5ud{B`qmV>5`uD;88Mm zg8ni|JFB`m9*#^f1nQY^O_$ZIn9Z$5Hgo@hQ>k2_NxvfimZW$m#e_R8jpU1u@< zFCRE58nxaVsdt$V^>vlnW@FdzS*UnVN?kCbDoTCDs7?2%;0kFliF#v?FecKkky1PA zDWmtgs>5`rg)rO?eR@Z8kL*w>f$SUW<>89(GILbiNZ(;GA&V?6cO?1+Rt{TMvFx=sW?bJQ&~zN(F~(+47d*9 z3aA8i<+5#Z8doBLa$j_^!RdpD)xHY@)f!)x;!-z8@&js=TgeNzB~Z2FzD)2DA%MiS zj?;-P^X9ZaSr8wp&XL9ilg0=F#iXApLnSzq+lIB9h#0^D72D}>azJ*CpFUq)7FBpi z(A2ntY`d7e;-q?D2-Z%H)bdSP%|A7Ko6at6FOp^&f#(zch;x*Vd_h*@;Z~Ydc`O}x z{yNg{C1cx5F83L7cpD93(nN2~EN`0eH#W?+y1^N?7I(ca5As$BN0fvWP1*<0Aki_d zeNE|hh&%d)D;4l^1xFMA7a*Jcn+X2F)bArEh~5i4%s;)QXqG<_gb)4T zzXW%4`kN~LWUtU8v;TzC|M46gBmE514#4BYf*mc`5jSsx;i%~Hf*8F+;s*evvmx}- z?#gaWBxAt42Po_gQ_)(U-$L`s^tidr-=zVO@>;@XQ#Ysov~aJb(thl@%rV1k-O;!& z&b}c^E>m3;nZ<3&YSUMhJC4#SoeUMqc7HT?;8f;4vrnBW{g$gcr1=6qIwedb3AnB*#}tSlZW%4lbW zRnH;dycWXRfeMomF_INb5;pEgdw?=e!NK0eMcyD=jf=yEl0v=MfqY~g!%T)%9qB|Z zLLX?Wv@CjIoUd~&dHzld`5XQP*V=1&4&?W37MWQH1YLeI6 zAqPw}X-EFs6hEETw>+iGKjXtgdN}_W3W<*?E;+KHtIPD0XN% zE_w{EbsHUvW405!I)C*d%@$PG7wUgWAbC9h0b#bLIog6#(~e9LDqM(uLZj0~D6TqZ zt3OOvxPdHJr)+EhLZHB5@;~TZtja1x1_P6{|FF#e$E5_0q<=>#FxZfQM;siM!2j_M zAOYnUh~n6;V7_3AE;{yRB@FSRxseIvD}3R~`bhML!3SOwY$L(SaH zX97r@G<#=5tyxWxhr6AQT1zZWh}xDZzXahbNiK8=Pt4!*#p>>wIJLSlz&X#F%KC9< zbV@~bkl$M1Oi0=%<6MN$59$S;m*m}&aILxb181dgCi*;Yk-F;=r7`P;B&^3(R^FSs zc39d|1(wR?*OzP?Qt}mB-{b|wN}nZ{ziEA`Xv9~jUg`JhP9gq)C~cvpB$bp&EzDbWnN0Z7MM4Au-ZpFCrwYa z+`e7t+c^%?e^%GBq9rk-DO@DS&n=r!Kdd2^=-8%eEr2;^kMAX%W>8SlR^-aK{kuZ$T3kDa{?zJ>Z~KE%*bNV(Zj#o*D(Fck zx-rL-qjRv}oWKQH)9%^L0PNVjf03+zIfkDR%};sZzi|kK3YISZ;WY4n3IwoO(Fvu0 z;ph*Z{`)BVZ*K$<^Zs}h3A*f>{~F_Wz(za_1qs8dm8D<6TZO)4j5kwPXX@{Ql5|$I zjzme(97@M-p)PB&7(TD1lnFke%J>23nk(G(n}#(-dr-8NpSIH5zSllsVb(Zs)kjIM z+_Js0h!AvTNd10yAtG}Uatxo*hOZG-kv5$>EE=H}Fr>+KpopLnLxMARTxLF(mM_QL zO^RLr^g3;UnzlDt|Kr~5mk121?{}7Wy>l_bS@m${p(VXiW=6|_-4xAL;&I&C%v9sd z#&4oYP6o3#62jlT;Zh&Tv-{v45<+{tm}6gkedXA9`uTCEEDZl)cf)iH>*aW8Bra|p z^9R*?)VZ^=x1)9^{=iARhVi(tVvDU9ohNG)6qU5mSSJNMv7wc1HI}pvBUu$Z!0Q$%&19pAr zq!v?f%9$fX`G+a5WGkG8Nbbh44CZ>Cea!XLd*ngq)UE06qnnP*j0^`lE#}t7bUw$! zXi3dasOuWI+`zEEb*Wd^z92iy%~5}p{5-eosOLyz10+o8Mi(>ipgiGt6+Ve;eZ7IX zC(^GewsKZ1R3%&3L5!k+$?da_?jp14Mpv+#^fl!whbFN+ty;i8FDi;CjUjdmx`gvA zIn$j7J6TLHVfA11#R=2CCsvxnN^P!3H-V`z#XPE7*p#b zfN#R-sczq9=~fFG@&-@|*qxqqsi3;4r0C8Tt+N|-!K6JYbCFP7g7$=Bzu(KU>s+(s zB{uSXMc;Y}bG~&>g#0(E0i_V>L(H>01wJ z91e~h!TixZ&WV`raUc_gs#l)HW_7(wz~jnp{!Uko56(&if#o7|tv1)riSWXJ-7`|7 z3(C8;dCfF$hHJ0axjT`2gry~#gr(mS-o0JcSn^ZHe7>6B2thETV&Oma9un}%EODR5<8CdGa|B7v{A;M{OjOV?HHSd zPQ=4!O5y@-q%4iKC(u0w^G%=UpGI?%eeoi*?wgioOl8D^9~GKKfU{m#jL0>a?SBFz zIC1X$q$H`q%c+BBV;%Q!q|h8m0YUXV51~7s@hJyAxdqaQ4Pkq9PK$k#EgEtp%FsCp z-ri)Xl>yB0@x$JWO6ip9I@s>6T}7M`{npb4vz5k^Z$-+~{Rs9$31c;y>>~sci{|fi za8r#(dSKZ*0fIT!U%S;Ks=ql9XvL7YJQD$a&L7X0ctXjvw4hFtUtQDO~}AfIci|NN=bfW#?q zG@jf^-6F<%OK{YbihBb&&9g*E=Yc#pgcpDk?S&M7`d}ATak0U!+i6uQ-pAu&U@0*~8Xygj_M zGr#2WD19R9>J(=c!AChFDWbwSR6Hq2WKy&%jQ63h?J~@b0)}Z69w}%a$VtlS&zq}V zL&TDos3oD=R4ZBNp{o>?m%QkbAkl66u5SSkcR41C;0vUVse?KbUqvbk?7Y8A8?nX&8Q;OG7kP zNGc7&Lm(>d8*nfHRb7q5uLP|!B4PO-cY#Q~bQyp1a|9sxD$Jj<&0kgp62W$W>B6tr zmX+&g#0k#Gfg?^x-W(kGf|VnPWNcMV(aF)Zji9Pd9og;c@_s+?_I6yxnz|EBJU)$z z*9u#e@Q{6&(-*%e*WHy!(%OW9mHI1x&qP#ZHfGx{Qp$}d*^y?jx9qV+@V$7MY)O|B z>ORpMNjpSFDt0swPQ8OOI!&|j@h0ZTY1`)`z3l7c)?)ZHw$|kjw#HR)+9XfgUP>J| zPMeL^in*9M0bq_~vB*Ud%igFq%x!ifMC5usmap09%JLyb^9`d>M7;tnwiAPH9(tn9 z1st^_044<7xp-bF*C64ZQg`YIjQg%)G{6I+@kU+V+QI!Er8&_!tKnmf6#??g#xLuH zE(;u1wj=x!U4o`(9coSb1C*EQIGHwQZ_(9Z$$*7#pu)QGQKhl_%UQuS9LbcPAX!L!fO;G4sB0+T@(X$6&U4w3V2Y0=Y zgB+Oka=M+LT#$%fmKz)&1!qh$#j6QW8&HP`7W)Mp=v}fz6fh{S1JW^#&#HLmQsKu?8B{!t zR6=_onuzAop;LjjUq!>-p&I$9CjAD)_gecou*B)mc!`;YH*5Zk;ThG5-ezHO7iLuB zMTw7Ldta}_Ttr5h%Z9VMC5`7IlGNDGY+~+_yN7^P#`W(jQVz+&)Oi;RA6AjQ z&?bEQ-x7G)&%>c^%W34LB_`GzN$_k%bk?XDyHUONK3STcGz-LOo|n2ABcBq@*>Rs; z%!&Wv^EHXG!jsD6eW*pe$+VyF+sddS-cqkmID3!PQv$?xR3XIH`tvL564Ju{nj_BM z7-Qv3I4l>%L)8{8Tx=O~cQAt@ggZ^t$9JN~P8>VOTvIuAHhrO7{y1J6q33*o4B;04p;bY+hLYvKs0%n-Itxk2|0);wLsB3}hiJP$@AZ$& z=zqmM5H=z^@XJOKWP#XUAcM_FH6RHR`^%s*b0;awvVRZg;R4iP&C`+5_WO9LBQJ=( z6JOE)>?2h;(I$az-Kp+Ytq?RadP*pZ2`*&Wm8Vgc@Y7LmTMz6YV{zmwkq=6i^rd|1 zGX$MwLvOw*-5c==$1*|r`(`#rw4=xWDfCr`53|%)vo%D> zepS2nIx4d9;TpT5s^7Q9jT;$1Hh!b?e?SE%N1kD3A09e&$RA{}#@|(K`iRNKZK%SQ z1V5YmNEI}c`(lx#u^Mh>;-S-{ROqEPe5nr-`y9%t#EYHC&O&(~`iMT%snDwq>s;n= zdS*8UW>8Ep&FMp}vY-v2r_|js|Lv&$eAB03dwv-8wO9wz)S~^xtdQ{<3r?C#5}A}A z00!57LOj}dL3B}du^W}%7u&o8Tq3;^io9G}jnU)|OrN)4lI=!)m!FeZPkf%EKv%Ku zc&NLjH|-prb`y#?&mAxq*3CwgJk*xt6)5VAD(K6#c2XpInseZ`uQvV~2@e6EK}xtr zM>$R0uH}PHsqz6&Lik8ArM(Kj`bLv*J$H|X#__zB5|6JDPu+_CD-Q>7o@pq$s$%!0 zX4rs$k9s6(m+*xzvzgT1&6J?p8|+L)AdB)CiJc@tSACJ{bqF#2eKF1#bt{*^0EK-W zyhCqMMn}#F;J4=SGJCBLE)jm8+^SXASn$FSBMqC* zIs?<*HY{OCy|PB!Qzy~JdZWqr{eWp>NW;3CE!$~lF*AT8cL?^FevFSi!hkU|rO}#6 zFZy6eRkOrjgF%siI60r-Mym5oA=T}fCOJSp1(ScgGRsDn9*>Qo(A?Y9zxE@``KsG8Sa;hm~`2JR1`M?k%OZ-V*;R%f^ zVcFP?x6#>4#A*j^YM3c&LU(HMVfw-++^8I*7ks)wDxwiiLwm_pdP{9LC}~h5J$#Hr zd43B~?_J~OYk2X&P<=v|+W{8Hs{i~YTQ(`RliKR z5zs6wDJyw$py}*x^0|z1*b8^Ho)H6~ps+Mo1xm1@OB1=GPZ>NRoL3WJnKL5k%AGCS#HCM zH|Z&jAX<`kTYXT_FqVpx5CYdpXqkPknZh~D9xAqXe_h3nl!1|dFkR0j8dPt?(~i0Iheod5>*+=a%bUWe`O}Z#)nhPlqdVl4edGH z^ztcs1!?+&b>~8m63iL>`b3CqIfXP>3oG^&PWw=0Il+O8c={Q(bNOJ%BwXC$t5fnw ztMn|)m2NCWRW6)%hZPLp{u@&Gl%PdSkEISEigftI#v__for1_L&aTD}07u!OO?+MF z;JiQ+27jKD!s(DhZ=O`ot=f0?a2qU}r2Tj2MWe5DLDOsjtvl+ASn2k$t(}%a4Oa!p ztPYROwoL$_d9mP&S_DO9Ig~LpJlets#*b4y=}M>HmeG8QhwWv$uyB{5KxcQ8OTcwB zUy}$u*HZdJGj%Hy!4=UifTM7n^4wLc&JEU#yn(`^wE|; zZCq`^_3g#D(;LU*qLfJG;jJ^AbF#Nbk4r21JSunT-AG;YP7jPUHQdc3liz1>czcRI ztEWt4)6hRyeT;daU$DwPGX6kCP%xz9;%F`GB$Y)gn4->?GuwJgSiN;t5~kzikiVz^ z6n9{ZITusW@@A^PQ*4{#SwnVl&L;T^?7E#YGjKbW5Tk9A5?#+-Z#$dyD+N-!GlwJ8 zD~q$x2eFHj{6y$~p$LL1zzEp!#zN$8aWJco{jDVYlhjjVH;r`sES>nt%^_+c7MC*E znf{%v0$139=pdzi#=jND4DdLR8tvbOcgA2&kP8tEbN~V>%3#&-H^D#u-GRjt^5rj0 zUMAf2jM-fANTTh$&=Q80v>K}YyEC@?o@T{agp*pFcjHH~nV<*jRnwF+JrYIPjI&Vn z5Zi;I=>eUP!{srm+I&X2RM7X`CQM!`3$isuITP$Y|2JeZ4#v1!i8I?@#?$DVCLBm- z&6y}MLJOWW^Tgbo=?XuaFd94m7`=QW=>08%+`VK8(<9dvxvzjw5LTH|W(x`G(PFmA zy%-}RXulKMtj^aj1yg>h1{P@)C+MMGQPKE za4qDxbr^)ozHE1XBZRKwX#|7T?#ECX&3DKkw-q&-nfr6<2EX6)~pAc}`s7Vg=Vdos-9svO!(G|48Um%(Xd3Oz~OI0B|wo z`OA`K_U!c6zQIj;Twp zrinR`k>=|@n25nD|E-h9noL*x7s5H_1^IM}de3o+roZdPzZS4xC4n*HBiNG@3zj)w zxK*X1@?LmiPk%I)0 z9T`}igu9dCRR!om>$d6v->XROT8XVP=!k#%0e~SUgIXYeM814bwi(^)7lzGSf;9x^ zC$s#{b*A#CtfyDJKG0z+%ZWk=_5aqAA(VT7`hV;JE(1);%^3g?WdBSV{Bhqu^J@P& zA|y@B{2z|>@6O2J(W`$({eQ#$?{DF-RW2Z@KydO;d5TMU(Vq`_{Pe=+{dpuf^C*u; zk)WynrRnPdoWp2PF~|^0VD$)F8k8oIklvdO@Z}b?Nu!7BS-Wc*l@rxdIYt=GNV(5P zz)>{T*m`?!=xNyDs0(u!U#so$NCO-08`oX}nDcH6J?CEXR##;Wv3(o*u8O>FBFt&5 zgQ5%?H;A-=Gom0<2$Q4mgp<)>MxiJB%r1DHwD1sBSe6~L^QY0$k03Kj z;M(x0E^n24(1Di~ybRXxgbSwtwgG+V%^Cg!0<2mQ6p}tP`=Qn7d-INr1cxjBfb%>* ziv^h_k)AaFWOsdWV?JfzA@TWUaZQ7f6v26iKEGfSK$A9K$eOG|k>DBH*t~h6v^z3K zAZ5P#>ZeG=Z(WnsBsqrht4w~?&8VuW&~RoOiYH!^!SlMPw2oT@7dXb#o}dxly9M;j zq7lhW3!H{LE0x}v=^ucr0eOjNmSnq6gxrY{y_Y!Kx0*fp9nSm)p9DRG{6Izm7Rp)l+E{dZJBfr6vX5dodOygvWQJ)WHIP)Aw7Z$$9<^d!_aPf$y@gLi1UI z(;6>KVTo+8+$md-?}5j>UwN)!bCW0;@2u!->C*h|q-pt+;8$e@{uTsVCl^^A6uA@Q zPhY7>cS;KDgo_ZnmPsm)&q|nToQfVIh@{#Z8tOoQQ+qO&A@nfR>PoX?avlHeytCTCYmb4(L9BNPJ2h%Z(8w5D(3ybOpKn@g9?UritmBm_x?p% zflPY7j;4G`Tgoz_t!X?ZiR5V>OwSFO5EOj1AbYW&@!q8SLI3Me=YWUK<@9wwr2aR; zvX5%hpN);ZLXG39arTD_&Oa>)v&VFwA06qVFvkseTC}A~m){H7j!Gw$_SE{R;2oy7 z8#fCN1VC4WCv#fO6lV=QgU_Ml>a8{9N>TSj+y<)cBl0Sz=SmnyreD~l=gQLKkUSwM zr@L->6_P!N>Cz(ogftPl8E8496wMQ%+ToGVk(k$V;v16x!q+n!Bh$d~aK%qi#!)j; z&39+V?};s8+sZ-}Ti5I%b-ke*t#x{ji~eu{(|*>NEpzoX{Ii;1BhgUD4D=ndf0Yi?b^H|hc>W!4L(>0$6LW*{--CgrI&lBr zC6kcCXz8Domk^FFLl5@x3E0MeOLpL`F2G@kP7v+S=9c&auxeb!pV)O)w9VE~OxXAX z&_0azom~n23uAbG=isg%G*w7^ai-INTAhmFYh~L0~ zz$A7TlH`>RYqQwy?G#Y;ww2-nNW>&sB2G8?#X z77yB>RY_hUbQ5Lfl&-C?=PqgRlBKc!c=g;kJh`M}3WU)6Q7Kr4shxgV1lLGq(z`aoD%OiJcfk)P6@4%*q5w8%?=Bva2 z$|R@`hm*9y!NDO{(Pfox`XIWkr;fNnnoWxI`d+A*gy74jB;ND)Img!Kuy#FnW#o_3>56;ZX$tjFE35?)g`=^T)b%}W1d>EBZlY92Wffr+EP>|8O5P; zTQpq4s}g7c5&u#FXZa=z_kPvDLsYZQR_P&M_FYCX`53lpTMjXcdEmr=rTFv0{1Oc6 z9A}s|IusXY3 z(1gFWa6i7%BJ{1aU8ukr?)?F1;rBIeo|0|Q2pn)%4>e)w2au_Fl&4gOL9gV0&}~Q_ z!9F7QD^X!n^Rg&?gLj+SG4LhOiBXc2?H$-7XBvF?93#E0X6;pLQLtuiW*9W(Xhj=Ow?(US`oq(3XIZ~;LhzF!vvuh zcYQZ5Qp3%0Q_1gcFjFg`hDiq=P-Q=v>TTP58x}8or~K0LsaJ%aJu*FwJzb_fdGng? zJu3@hEsd-?ClC9*^b}+VA(hnNizsdBHlv5JBXz<&e)~c^v#NBj1 zCC=EhP}j#;dMrv(Rg$LOx!%*axJET;IyQv68g;J~eda>|dlGi*TBdwbN2&S!I1?%s z&spDQcB$FJl)FehJNm0OdN|MX4q?rP=R$4YTG$*gJZlqzf_;z>&{7Z+8oG>myUQwD z{Ei1J9zLzw5N(@kipL_T^WESd@Lhg;VBE&jFVh@eZM2f_${)3pBMJbWC&+gPn-0AMTr7kh)T5~l`>BBlQr7m|Vj{zqm7%+ZFS!2w#v zf8=z*d@mV52i_`(8x2mK5@0E`@Wr= z^+PbT<8OF6$hS3GuiNxV2(}bEq;?lDpbaq23|8P&Gzm}(ik!hm>TQlwSL8O{R1HVR z+46f@GXo|){h0e{D@}>rSKz&Zs?4quk+`Zj^-%)U9}mN0zX z_q)jpT`AR*KLGFE=E-(@wiOQL$tyAdTQ9(xtn7tgSdiIfY`T?1s#r?|6M z4y@NC8eFWf6DB$RNFtx=b+=(t zw|$Ml2$_*vERmC@ zpVm2f`#*ZDUkN^{r^HOpqEf#xlBP5zV~XGLcNtQ&uj%keS8J=Owj~H4_xI3qWZzqC zT*B7U-cFY9IJ$gWp}wLP8u~D?my)ucE_2FU%5lVdmd8hXSG=Q=;C$qknND+Y*Dp)D zb*qjin3k?OTfTs?iAhH8T7(JJ6duT3B1a<@@hM`ke3lO{$pGgg!I9du2~BR@s@B;q z8^cBs1wW_rUaC<28r9lpR#g~iAN;=xqJcivvVo65*;Q!iIxc}$d8WiY^qoRqZ!ZGI zuNsm(cE@VxV?%BAu6_W7tfBx^N=vTJPBLofaS_OU=|C+_S}Lc>vRi@+B4K1W?uuO9 z_=%^H?8M?#50jJ|lqV&LV?*QM=o;3%j%!D-u_2huwNOOCnr6R*CG3-|02b^4I5gGl z^SheL-{jN`K*d6Bvm&t}l@PXwdcq;V3rpWA@}>3i_Q5KOsp^B*PHl<3k~p3O`33E* z1}cX0PE+c^qOOgV1shgED0-x?kYbG@biF4gv~q2T+^+Yr;&$uc<@l72Dny_0CKd>&oSmrBEFaN z1S3Ho>*$t=Oj3oMrnr({=CL&74}F;K_2EDhPTJ9-XVR>otBK*ox12xqdDx}e7`N`! z?1}%Rx!~QDa2+)dF4PB)A&2~2=8mT4nfakl@(ve1?LBfk7SesT;+*4Zc9)$@;CDM$ z{Y=2VWgEDgpFF&CV92>-9g-7uSvtIszwlo7%Kt%9v7qeJ_a6Xk?rmzR8pP;JT6;{V zGxEo6r=e9BeWy}4PlEbOpcRg|9t0urkc$Sub+`59A7`LM`^J6iI5Cm(oECaNJ7>C| zq^%9Qq~@g*a!O91Ch3f^@KRdnTh|_7y;4f<9rZTM*sG(Mk{^ei5=VIp9~RXco)7Dq zdqS0mDrCYTe4~ZpihtCB8LeEuLexWvxe%-z^Wg|IRtMu)65`UBHc@E5?A}v`4P++5 zK%uP>V<+;+#k|k(btB?gnaZ_tA+m81Ucb+4qFv3)y-dfJG!DCKq{GG`I~%zX31?$m zIE2?iS2bk2jy@^BS1#6P?}g*fGq08tBJLddZD}y5UG|Y;*f-0=O zLoWW+MWKsWMffw?8mqY(du34FB??-c{UR|7`)F01>^>LB(D+Lz4Ay(H0~C;Vd^r)BRX%?Krx zl0=#gd$;;LFx_v{CSllkPNXm8fP}A8k$c#N^9j%A&I$1Up6Oh5x-sE)-*uHV4ae)K zTe2HhSs+Mck>zwVnSbPd_gug(2$yz)bi#Qjc$|gWB|6)FZGQYo>&sxmm7tz3a3Ov` z(iAUT?fFi+sycxz$zqN3>v$tcz5$6SOf;!3dz)ALrW3vUN%wcEYcIn?frqQ*9kx0Y z(*T(GH_Pa`lH{lq?}+`-zcv#uz-Nw+Gnj=BKI{8TFqDyJSnr93j&Y2*EwnpsX-qUF z>{SrPA-qf(qjvbcv!0A2@Vzp)wkiD#)I-FbncTN26-C}vv8z~EcqlURnjAfGwXDm! zHZx86tYChfG}KE&ud$5C?}Y-kpU5^td=9s%&PeI0fdxrYrEnY<9yA|~OW$*Rk#+=F z^|&zG^G$mwa=IS?o2iRO^;8S{DR(P^?r_1T{BfW!_w(lIyiy{fTap5KE(3|dspoRt z{#!^H7sB;?-%7n~cr%UjD4*#Wkp@n2n~1U3CLv=#>_XR*U|VDqM|-BZU@H{|q?dvv zRNH}PJkMvO6bL>UDe(i-zZb|F)v>ZOcxRr{3BN7-U>3x(Z z_55LJL5SfXuHwTgdrZ_ILayati{W51XEa@a#2O2q->^ELK3s_0`dNA@Maz?Kn@OB- zJ8}`@pifX-6{z<_(2L0|xf{H;|STY>$Y|AEd4dof$&$3wFuk3k*;5F2%r)>7c9<*J}ieqqXeX?E?PC&Y4>*Ao86l=QXu_3AAbfC{A%vLvUPij*ajX6Do zMeSw-DPr~i+yw+@SP z?b?S21{g&`O6itHNu@!QmM%#VkPhjRZlp^Xk%nPtq)S18p>qf+iJ`kC_wNR`@7~Yz zzTfx9a1C?c%pAaRt!u4wo#(l9C>$%35VS|xkJqg>Y6njqyrI(faUOfKN=mef>%l>D zmtWvpaq@Ac8E#8Cn;W=?Q0S8V+0{M%td^_Z`rd-#^Eay14K!u)Bh%ip$C2AR)clbj z>Il-?9HrjPFY4)0D3iYWp5M;s+N}{BS9`bZ%~$o|<}mk>W?QEo%|gJtSE~3CSyuF=fjGcq5>swUL^?I6n)iEE#jC z$~s)|v&ew&AO^Jp^!!_i7ww}*DHkh}hbkb9868>s%6V2zA{t`ae8^zqM6J^Vk|NAH z2x;~mV|_}kAeD>RBf{8W_6Kzbl*ailK}FX07$M^kPErwlpNnNE*}jt&nAKS5^Bjs= z4S#~s=N@Q83Zc~MNEVZy(DIlbE{CgI8_}Y9fbgnmqd8Z|KpEY!w7m30tsQckypm*N z?g~%Sua@Oh7iE)%DQnzq0LvuZtVL-d%O4_fsc-Z*qv}=Dd4$bJ*0c{}h-vWMjlF7W zwGQl1&WuTxx8~guPm$wk1ER}CE}WM`9)>bKPv8T}-)dZ|qfDHHbZ{!|T0zShclSG) z1Dc(7)Os=0;YzZimbNA7mI}2558ZfaUMcJ5B8QE`$Cyp`_?a~LyT&sJ$GD!7I- z-r+=szPE^Wr8%C;Ji~6ZDIMa|^}HoLvOL}Ry5j2O^`=;oQM>&cFyAY-^3y!urmH%t z&|14wzO;x)oQ?LEiRhZ2+&jrMj{)7w<6#=HH8-3Bhq(0SJt%ZRyWSX{GEa#*^Sl&Y zKMF1nLG-URvflGV9f{2*+61~~v2rqq6i;k?pb9Ox0@&ImD$l{f211zF=m=_0yzd(T zo%v{8=aXcvMH_r8fH!(&GL_F?vV(%4jR!&6L;V$Yn5(L^*V~`GJ^@K~8Xrv=;dm{# zeL~!3lBD8=7m)R?i=$a56sRH+=`6m zYl>(%kqQgxu*@x07th#)NOb}c+mIDfQJ+NO?!@Y9u@;;e8+nxFxEg(-BSVll5v0nswzyI$3y`U~^3y z?_;rFi0+?Z8{6!N7oyS$usH8o#P0qp-mso|p zxR)h6^6wn@kCRwpegsH(SnV*U;)MO*GB$u}?|R+jiX8-92WDGNz+L7# zb^eb>@=Z2=?K|`5Y*5>~&gYv8Zlp2Is{m6qQUzpb@h?FB2CUEdN{nWBbvCY0o_=+# zid%K3K}Iw*^N2ZuK8o%E{3#exXr1;ES0k>EcBV2*0~fTzC^W~!D@sh; zqXNxbA)z0?j@wI!I<4t5@Sp{ezCvDFCzmLE(Xb>z7QmM(9`wd1)OC7$fz8==G4Zl5En&7>>W?-j4-ZM~2GCGZ6Q=W1ZS@R&l~ z4`O>4+~QhvUPc_Q&qN^tqOQo;8QRF)ROv2SE|gjB{=*c$cC?ODuynot@X{ z&ll@^mv}Jsm1kAz8VDZ=XzZtIWCru#I8`7)b_q36<&&z15bJYD3?;u{y%S@YpQ&|g zzf<`vcP0U$^fR@H2N77;RTn)`2&1R^`O}8l(5L6w zhB-P~y5=>};gL9kz~hsjV0y1}k8$QJ}Tb$0N1BkjM=N})}0#Cvz1J$3FKp64kc4TH?XVML03t$5CN?1K_a^n!dW$; z10rMpdh*leZGGS5n&Wk5Op*{a@X60h*x{KgNs)5HzP<~pAKmwy+)-u)S(KJ8YbRv=|Wkl=bpH%)FQ6}YV64F zX*?G;4zlUoiiS;(IDfRSlpg2EL8*1)OF+N}{9x8tOiLe2p)>zW-e;rHta%PStQO?+ zBi7n--^J~Z+jy#2kmNcI0sU9RR{V42U$eS zHzbK`?)A?EgtFHUtRu!?b&SMO`ZXiT%&~g;K)z(O@N>o3Atuoz!&ThyTUPo^NnCDX zaB9a~&Xo@SUhZs;d}p7<$qb``n`{9>EZ5Y0e0;z3%v9|a6Qm0n zMkm7D-+D%~rJ2y^rt=2Kl;B{WeQJv2M1gkb!gNKuyjpDK)!gZ$xlc3-fRxkF^Fn^`*IoeZk9CFN>=;O{yXcnBUvWD!ufeWaOjb1o2Sa=zo1Wu zL{+SBdM0dJ2?i%cN?XI-4c`hQwY39&(#d&7TT}8u zIMNnDU%K?nX4SGkr}xe{IBn3cud>(8X81{pBnC5;ltC~<^y#h{e+M*I?b)vmsUwb@-th=3TMm8$h20;?CB3$ z9Lcl~C-CPF?t>!HMuw}DI^&LUBtXX^V{paqv|9W{pSxR*cJz`rsie#~yQO>}#A)P} z9D*oK<2?6VaLsZej!INI>ympW)*;L|Ax{AB5XUiHO576SuS$K3-{jZRTnuR)qR^nE zBN8%o`knA-p}X#_MZ%q{mO=Rjb!doQ(Mt>T#MV)X1WV=|eEINfb3&=1fCAd+;QFhV z@Nc*6Ky#S_jLrz(4V}T++q0I(2OL4s6QH-^Y@?hHHO0f!>7*SRK{f3wnP9Rjv-Rxye3LiOy73eY|DpHeHO@oT#heqa$04@TY2Npm1$aWHHTo{B}uK>^hY*g zBEa#Y%2u4NjS9SP-0+*z!-N431je97u1FFdN|vkDtyAo#fZ1DGmV@5uJmPNArmqKm zqtG7&)71u^EA0dUzcp*5`5+LQ9nWeCPAbztae@2UhZo+8a>Z5$KlOR#r(^0#R|7As zA3QaquFezC(|WCzcRBItQQ(&5QbU8N>T~NOQQxN#8!8t~z+Y;f??;}}<*Yr5-JAPo zR;g#{ftmGl?S>eX3DT8c=7np-+Tym-(tzD4oabu$^F?-LabR}3>|t&VScfvMj;aMu zZ!9llzN^Dwovq5g*+*)MRDk-3$AlCiRt@HGK|!tE_)zE7ltCbGZx*!r8UGD!I(;1M z5<+vbqRw0#HKWHebf6tg3MTn;Lh!z$~_d zPDA(CV?o#Ry*kEAT-~58LFy*84T95TBKp5Tgz@6!_vSod-#?nz&snolgw(sGT`_|X zNk%nAnMOIB6~%_d>v5|r@XNZzJ4&?+l9D1{0+eg@y8vtZZ-NKs4T1Bf!FZjv{`Ob6 zZt?vG3JtJ6{ze=AtT!4i!T);k&&6vM2Ihah!@u7V(0TwCroW?Ullp=*fY*}u-Lfh9 z{GcI55^MRQN4pxLAv`^QpQG&Euy3G#75%@hX;WR zWjYGUTkykA0G=bLuSR)~f$S=&!;1UXUAn`CP=lZRj1#2b%uB0hBWn^7rQ#lUcN#v? zEzNkQi&YV%YNY>Q3j6RdLiivi?=hH35;Qe2{1>P=((9bt3@ljd?*jYLjCH$l|MeSXUv2v(Buq~#{oY+e3D1h<0=o4Kf9iJs+S z0%(Wd^1jJ*x_6Np2Re_XEI}#PTAZpJDFZZw6}uL)Tl93aVIea+c?QN$Ut{%MsxfY? zi1dfva0(dPv!KH=6Fvt`l3<7cSyF1iuZrFBGa-Rv={Z)hte{{S&*nS-Nst=1n;1WC;ZmceEe& z<~#0r^#!tr<{sn%CHRTKSZ=a!UmmQrl;DSdA+osOnau9{qVPo9J^_>^ti04(nl95V zAjjkZ{&Fcmi`u;n84*#hl6_otQ1ML~Z}D=LS2O1{I|sk-b#xm00q%OG(^wkfX zGyVm7rZzdrs4lzjgdHnsvO_eoTS8QUC(`Sk=4%>d__Rh^QsU4s6Ix;XT+2~8zWQ^L>dWYGj?n-8}oP3_6zcQ~D zwhZ{;-x9C%>WAmz9;~LNgd>Nbj13Lw`w$Rv2rn(`;2l%BZ;CeJ_s8ks_~XPUo3q75 z%Fa0-Q`Z+atE=&JRr_cvp~uWqXDn*%m~-iIaL1FP;_=JW_0MrGg|%X%j?75j4B;$A zEBnat8}qM1JWY*+QHOmx0yDvzp3vbJ9V{D7kF%UjR?U3Z^ltaP`SlJh3+Oc)P+nCR zXSngVi-#xT2INvFeQ+<0kfatqAA<`nXVnFIrlmWy%Nq@0RwL5Fgh1J)1*hN6T=?TG zbQD^0atIMq0Ja}chxr*_(!xTv_CzaN(7Zzct``_V;An}HOnPZ$EE$O{MXJOaZHZ%Y z&?l%(JPU)WA#WM>dSUy2jD?ixIxzRpXQR@qTIw=<@=~AoQOe{bDS7vcmuN>u1}Mt0 zZ=#*U`c9qX>>yuxf`sp9gK~BkBCI+eL_L6nO8NGJmC7_)095mu8x8=RzjL!|&#!-l zlxr0j$P#c0LI>Cd|8oU!T)EEFQvRcI#`ycy|IXon@Bg%{t_f&(hkr7%|5|TCT3}1| zN4jr=5b;IPr&WJ}u+}ScjI~0$BL4zap&sosHGw(`3PDSr+C}eF$Bgty`JQu(KU{NS zf^>)R5EHE{3mlRxWt#JM>C8&UaY(v7B0dPF(G39y*5o^M7Ti^?@J=u9nc+bP(JI_!>1^0r#cR_IqpTic0i81a#@W3E%iZeY(s2cza?)!L_Ua; zU%u%;O_i2ZH{w|ua@sg^T{a8tzF>i!-2QQNK1@KXPqR+YNTx)MKy47SG0nGDceRcr z&itT^qSSONw92>MSeG!hnQ25(y;JX%mAvQ&CvZ0;~0MY`4?!p>@6 z_1H8Kb$N^$Z8m>#g&cXvVVbTP;odEPBP)1Bb!lxN^R+%-UK-GLe4e~5stjcwwyW~C zvt?T~c1e6LyLuHZ8dhT9un_o;?u%3#7()4o8L%$TAYDx!Cu)T^;0vL}{*>R3xf{Uv zd?l(^+VkG3INQnxgh~FR6E~i0T&k6>4>(*`k-3hn2mNBt)stcbPQ+KBguKMY#@G#k zRZo0`MlF6cErA0vR~W`4^5E>x^+$*<1$ghiU@<+TbT}PLv(hzt)g*`W6JQEZapLvF z1F4sbgg4~X_lRb`^cPsm+}|Qgh2vdA#0`<@%W)IYMy7Qy2X2$~m{d^34CiEo*CYhS z_6?xKIWoF)!!T<(esKJBcSHEDX^0Gn3~(D{I*eZ&6Vuv16FYvF`er4e0s?DRo4ShT z5)UmA^1#UP-!G!{+EdpHP&cln-4f9{XGp&2HD!@pp)?WKb!d6#kZ_9qvWsngNLsm9 zY}+R>&OUj~L`t{^69S|Lc%g6Rk7sglqT|0V2$Z~z;qW{u-eP^OH9)vu@nvWSamt_R zvsx->hxYZ3Y9-NFMkEX0OyksKEQzZ4@JnzNR}W2|P9)V_bYO&O1;qIdLO|?WIw=E= z_rR-Ho*0JfqaqHJrXwc%H6c9UO*T~lyZa>yq{WiZ;26GQMDt@m5>Ityef3J!#<@9l z3GNuH$X)KUVcxe+ijO*pTdHq&t_PP!H)MANc$ce!+TtI0zWS==vY<8*5d%> zg;fj7$vLl@;J1%Ng!A?BPc5y<#8tR2*(K}C(Dc1?TE`+hTNz`o&_0WQa;{#Jnqe|N z!DiW!(KWtSpJ4xPr2ys=0P^;CP!U!^yRHer|CjnqP3_=6JL*9ME9G)wz*(v(<;V7YBF(x+=X1~?* zwFu)3XfBln>B8G;Gyy^Qt30jPJ;}TAwUnAV9{Oh*8w0u_i%U_6ihRGk`~a0FMMP&~ zXE;76Dz)OkQ?Gt}za0`quS_PAnHpTRuVab?y9h!KQ)SzQ42OYs_W!YRmM_hv2VR zrBSz$3r%|FPFV2@-&*gKzKrxAa5Cg}xn2K7i#Eva(=Q0kaPvUNSwn5;l14akM@`Ny z(>zi;TtbPBq6jhXaC`5EZXr=`tJ2$`NVI#qECo!aO!9hhkqZL_0lSdeymORozY8s$ftc_ns4#*O&zttN{jwqsRRAbP{`woMQJTC z=kn)8B&DXM@|l+y-U#^|S{Lb@Pqo~-^$_M}0NpcmUpk%KZQoW_Op`E>~EV#YdJY7 zM0YP2a)$d~vK4zJRUkEk1u2J(UiM3|Eaw=y!-@T6L6Mpsvi(-yYh-j`yefVrtOBQc zyZjjru7lEY8yjkdO7xO)#e!5YZv^bMZpV`ck@h?~@5Yv*T+SG{E6I*Zjfu(^PsbJW z8j5A{K~Uy$hOsNsX}jSgc4ObsX%0V6EPY@8(&eVw`Rbnu3+zRJ?B~&A1dWE^)${R! zKm%ukxv=ELf;B0UEIJv!Ym^5_Gj2?)POkGBpaq};vH;kUH*x3&xBvS&E5MR}WW@>y z*8eHGe(ULOa3_|Wy#Ks%eHUPae-lp7EdFJHaZ{rKL{7B7F9L?AgBEDXofWesFbw6n|RxDB)RC^R06kv?{)VM5Y$ok2g^iTAc7FDIW3=Vm=! z$fm4-LzJwzcqnT5TEedu%1%;z_#*3!6glb-7+y&zAHtq+U-8}2H$rBoe8(VABF3RE z>RMB;mN=y2;a|vVZmEtvV=V%`t1EmGtuIG2^o#{9x{UJN+~N{md(K z%1ca78_Q}Zomsry1z(`2X?c&GbACE=&Y$q2fOi}ws;s*T7!u`C+DnQmx=C`H)F1b!ef02U>o?KN^_!Gz9#|;jziT9+8X3g zur_eYZ#a|}oJQzCU;a9yqpXQqooUzchbZfonShay6Lch{Ls?yn#p8hfGy$@m{`7=I z$wkZV_CQvNiJ3-KT+P@a)m4(A3Ab`anx}ss-x04(=S(DAY~u(Xlwsbi*tRuYn(MsI zMiDL7T_7$W^yP43dQsqbM=#Gw%w#C&%_Hg;Z)eu`-+iC`yk+k7p50vZg^9SnR&XPF zT`ALhNm->$b!GItB;HOEqPN_#w-_;#f;sFORX{$PI6hSi(mY+JrZ5*}r*55QtvD9&hvwvH|_ zo*G>)PL{H5zJT#IquP?X@d90WCEGOi?p!|Y<9YD9rN}~d13L1W01IP_`?2?i?&t)q zL9R))dFo5bdwd^LmF5tlVSMSCZiaW89{aEl=X36#&Xam^v0qxxKuGqNN^ALp+jy4@ zvRz`awx9NSqs@K2|8x=ephCafcSu3T6X0a$E&CDvVWt4{G$H{$2q3cgTcOiOca6&60v*V)f9NCE z7R$d?w}0nM|I?oY0^D^j1pfVks=iW9&9Kr>SH_3FXi(684E0Z6OZWPc#ARXPy8vg& z0vMB13YpiJE_us%N_-KQhVL{z7BxCTujs)l_HMH;VVuKJ8E}*zArrbnuQNT(bJEOu z?Jx<8G%J#H%r5ERR%!XvI+?ptVDFS9j3 z(JjWMe}Sy(HVA1t%I9Je0Z^Pg!*>DynL#amN5SaF97%C3SdrM`-I1hXkwDO%}JE6qvmxb*eiJvSswWC6>ONXP@ZYwY8;U%OPjyQ5;27 zA^DsmD7a(xF5alI3*lrqU>c=ux$OnuGg^<)>k#rWmfWAIQvp7{8ygRMOXI@RsBgS} z_yT8|3HRk`RVsZy&p51FwL-q?K2&gHBb9*gOK)>A@R#;v>=pNn#8o*T=hxDu^$j~( zrK#Spi-Nd;k4l7-3JyEn*2h|67W-VJwZcC|*Yt!%`~`9eYkw77KCz`!zRaFKFca$| zT_*kg?O~~w#ryARNJ0m-05(B??maag9P_moI1HBPkqMD%rYlh5;13Rza|OZE6 z4LSFV?MRgvJn!OAAQixwUaTuru(=;^{c=@-J{#qrcGFf+drpAWuqv8I2^xJL23{Pq^~7(XyVs^+ur)caF@kLSMfM>~OYzGfSc ztB-Bsdn3APzXtOvRskr(B{le8qK!Wh;D4>Of5dp#`VY)U!~y?oY`|p`Fv+<|MXpnf zKfJZ;>gK-%d;cqGx%sI+Vh}LG#*FKi-6lAYg~0rB@d`9HYaR0|)Csj(Gvo$+=Yw6( z&+Gc0e0uMb@m!Y+3N{mId*KO1O!hGekDl}3C0Dz)j=i7L~40!hGwY2+(zFC;Kn zV5NanUr5&S%@61FD~iQ-2)1h^4air}^=ZCNP`n*`4()5AezR3h1N29OwyKP@JaJC| zoyX2{l|fs7Jm~ScS@A=(0=o0;VzhmfmK4~LjowPq>OLPDTRNNOd1?W102|_>k{Cq0 z!j$b}x>Ef@$bUm+(RpG`7J^}EM;|U|EJ1oC{>jylq868Nq~P@SM0$6V!$8?^J?CTA zhdW6o5U)=K63iHTtKQaAhkt?aEyu2vAuU2HC@LCwc=j*R&iEGgsv%O-HR*aKAn_tz2RPK86EnS3ZevVj5o^}EkA67lbcpSDV zMyefX2rds6B%j;*09Uz5v#|7CHVUzkxBxH6$zYhiGc#9d}GJKTQpn!D;92v;6C_4|A{(U<+n1QTW%9%4PdrO6FEGT6>Zp)aBiodB@ z>HeYpns(U-W`4W`LOCz`+E*-FXJhd5;&hlCFV0)my;}J)`-AV*4P_91A;57XTnSB&B`}dpB@z=_`Tmkl}7##pI9_$(ZTQAqn`| z{jWyJe@;31-6Q@zIs|ad$o+G=0LFzv$qw11mO4N zHvp#q19E!c;{X;v=7WEHGFU)mLcg-a9y)gld+^A`yz{?gAF}TG!Y0OFBIvu;_w|rh zXY`j0)c~J3+mkXYc;gCvZhb7PCe?bXZwiekijU72geDC|s>09FuNtNM2e> zw&N@N6hHA&Sk$fcnP&KA?k*cMK)hk^4ul$ssg6uSiyZ>hw(+SQ{sN5^$YwrkT~1Rb zZijI%_{VG zt^&$M4}ne+4kN#pC;T|SRD=ng`apfkcr9CQ7~v;D_3E_(2vOu>t%G5iW#KD&zhRHi z%S`rxCT=Umj;*@eG!T1N)bUk*W8Kr1mW4*vH9`*ShZO?zS&=}EuQBHMc5G$Ws+USI zuj46%sj87AuC$>EQfw#AAUoNfz271A7szi+Zf;+kt;ETn=q;q%q7hHSBj!D`LIz>) z-lwjryKd&CzLT`xSYktlaqr6tI$|8uTS&e5yr#)24C$b+`Q%O37BXQ? z_5KPtkE0|20$)>9oy|1y4Xen3_X*bVwMqa62=%rVi}mnRCb+>DJ#;7$i~olUD>H#L z)q?M8&@0DL&R8(1{h300@VhIzD?;t>wLDQ)WA5ny3*YXS&3m3$;bKS zi!`4Eqp3e4QR--SBUva>Mo4qMi@DgGSj*_QvWJ=RQnZiw)t2pUkuX$DMHD>cOwb6C zsui`8UEEUA=qkeYmlF0HtRp_sX1jGtB{{G3LKdpIPo6le0anm&g7<_;o-OV66V8quy#rw5qH6}0x4ge434Ur&V za{{nHGeA-Q81G-8Ea*|h-p@#0+wo1L%RQ4L*W#jgm@-bi z%Z?+a$6JcnPv(v{p8JZ)Z8}=?)A0A|crqY{OIc5yG)zQsb+lXB704_cS!MF1z#*N7 za3S)zDB;TeBjR@3;R*%_I3j@qPolHn4Z4JQoPvC|s5p8%<%2_YPa*Cc>)XxZSc3$o5QRmF2Y0d=oBfiya zP}Qb@sIBiU)@@B_tCP=}l$U(;e%L8p$jP9R1GZX3&$DG3jh1j8$kFzUilgjAAmAHH z1C$4s)+(zTk&GyBsprn&2)P__e`1~Bp>$8w@h01+4ddBoBhjO!XPSen1wW+=@1MEM z)xMKh2^<`HJwyGd;L(S|862m&^rw`I)8I27<`PDC0YJ@DbJ?(C0VV_tJ$>me3S~pL z52nY7Pgw8P_qIWkq(OZE@0T+s-^wnK1pHiC?wKi&d6{A|RWdzDfeywlh-lu^hvqU# zhS%56X)I4ihw{y(Y)ojZPf)ScMTkkv@*cs~#+QZRv_7g+k!NQbm3IsJMcFYwt4CA+B>PR#k=RlKjtOW3qg^8BC@!u>Y&dgo)fivYdMPq zMbra%QW4@PKNB&Wi{X-KqGwgAs6K6HMt1&wP@|G}fK5*#im}wSFtdw!5N)hkuayS3 zBi$HTJ&^*FFD`-gZF%GIlo2HW|hTd25L zRyh}PN<1{dg7GlTX2HDJ%&?4wcDhrc%V{H|pDnhd5P5iILoUV^n-_WHz6F-NkXeq% z2x2B*5Tt@Z=m{+@G*o`A_IT~%5~ccaEy?PwEoHkLqAd@qeanF zmmx7YwzlL+!E(G=SN=*hNR&(Hut*lKH=>ZcUFnU*yfK#SIWT}mI7vX1yY76UMuZ(F z3eK06`oj7pIG?aFIew^@fi;+}(v-$=9OMJ~( zACfRG2=gwC(iP^)&R~BoKlm4@M^dav#o*_pH&p#Nr3Kq(4;bl0v!ugZzjMjXt3_wS zWYU5y%M?nxBooznzFhCnX-SEq3>>gi)K@;T687&?H>Q?xIIy!>DfKvmHoQb@K^>B` z0<1KBpWRE~Xns}lJi-mNrzR^cS}4yzc_0_9e-m}m7c9tP2I0zhXMGOap zXx0|zOl-HHyn3q6cB9-zJ2Lz|y!4~mf{L|O_S7auxwuvceRY0W7DqEhmo?B5@^KLX zUp%YhA8q9m%8PHH_Qp3^wT{!ee{VrUBrsi=ywcp|LE`K?ksRNWn6n|4pGeD(s&q9e z9qwxG16G4CNEWgvG}Ogk9UWUZuV9uaqGpCm3uI{X?0D?JJDbnDYL zHR`+Pv!m>wRvFx?8xhqe6#oY-XRT_%uxAal@_9Fc|6>FCp%X(Xc zD_ExIf_32`j}lwNOsziUF$wX>l$nC>teg`AM)V|FgS7EmNR2mZL2Ws?&NDX2;M}As zD;e@+Gci9rMK@jXZ(B;2ga%qD%kuJp#7vQujSKd(@z-OVe`ZrOgn#j!wMelv>}m>>pH0T456R)FDjry;QTu~`2TyZsi>@2Ip+N1a7&Wr@tDix#f{ zBM+7@pDERk*qc{1hP69@6XWoW#rvJ~tLeJ?=(il$MN^Lx+;Z%w}ujs64Vs zkUVHNac^TWc|`uEanIJ{gVz>S_MY4Ag@zEC(w06&fNR)) zWDgh11EWZajnW&X0l}d6RP2&1P9m68v`{s`5i(X25@#XPO@&{nVVhm*n2?dfX>0b- z)XX75K!kGiAa@%4y>0fAjR9r=MX$m%{RPt3VydPLK*GbX%)r|;OMw}km#p0R9=8X8mJ1akMmgooUz-f^Aww5FY<%mA zcZ#Y{C&B(h#&BI;y==6YwBqAe@{aiNIrhzJT&tM45-aF&(JW{oDV9HS!BFG7*zQ!T zVB$F*7BJf{bN&GXCjCqH+$Ku$mikvIW5_O3UEYPgt*KnU#dUVM1@15Nr=DZPc4H^3 zJl-gyZw)b3di@^{Y8eFhHJ{YQVOH%}ozK~RoqaYq*4K=3@>_pg3ou<72|g#|Wu8-4 zV+%|BsJ8=JT_G7dKL$z-LZ!P-I$chWN<RxY1?}>Wzfd$f=oEiPrtA15)mm1b>6StG?>>tq^=$4E>`$}~iU*Pae zd(h|Jm~U;9prz-^CGDdm$GTP>?ZCL5)(dM-PJ`?RPR0=|r2*FvIc84tpGkx_$l2em zzyIqw;D+_P@Bqq#EeR}(9KL@_gFi7M@!ylFuOWdOSYQkYD~3pwoB9Iq$^P^DzgM|Q zKwWz8X3*(1-$5I5kG&NbUjLZ+<>#0uV_o5KGQ7`)&p%(~?3Nz;$(Pg4MIYvoJTT+i ze3!+6sZ1pdRJ%qgQ@dp^eud7dnlM89KioYhN}HCmK(k47N@JI9{-CjAe$Xgz zxDEw%HG8jW7L%Yf++p%o=r;a7Onzg@o-$$3lN?TT>Vek1uO!o~v}#t5_~a*`ab=bu zU|*tHRsV?350&*TM6?r*T9)wAn7EBk=q<%cDwtnK;g6MTa~GGEbd$u9=GPpP_0eYWY;S-)63;TT`PKP_vBg8ZUG7TmHMON<}P!aac#&$R0ZI~ zTv23&KK6(ek22aj*l|RWb0lE17b0P;`_^8IX_MMyc3rh{-%yJ5aJd=N!|AA$LLtz# z$O`}B5Ua7^w2x#Kj-kNnA0g)`&Dt$cfMSftbV`1T%qWrN(g3SInuW`F8U=$fjB`JI z!vTP4xr;)9t^?6fU4;%b{G8Xm*apwCD&`*~-`Npjw)i0pF2gvBTs-Xa3@(MgBgPj^ zah*mh6WFbyjqh!gV-PVp!`>-rokBb_C?6v1o2Y)DG#_Le{q-T+q%}j-uG3FzEjDwQ zy?lZo^^u$D4~jso8d0}0q(+WPmHnw51WCT~OJEU}CoC}Md(928V$kHkvy6$1q6 zs5vwhy#uyO!6J?vLA&af6HXlaB$*A>bUD6b8$WypXrw9h8I@{1+&7fpAX|dxbyB`IEIQk51S|fK~ga{V8~a3zJx( zMAs`To1Q>Gby*rkjtq39c(3ypXjF)3EsZ>0vt>^E0sVa8=ogray&vOj;ICJ40IZa| z=1Rjo)@B?o16{wpdb>!W(r!+h8WypXpFE{;hn+j*4XJQF%_phjmmfpFhQ&xbscxQE z98jtMoRD#maUkGIovZFH7^|Jq}~rKmN!`-f7i6PZ|qRZESZZ_gXzdisFP z!H;eCA37Lkm>PckWhpKexLa6JuQmO{mH9yms^X}RUdARDjg8RrO|Zfe%c?Iq-zsLK zb%MQ+;vHfa;lwlTf_H*@E>WdA zNx6v-lM#Q{JU|tKW$}MPj{gZmVgl|RAix#`D1rX#aoryHAGf}n7Q&y(1}HMG=kMh} zLGt=T*PgvMu2I(-86e&PG4I-_`_Bk*0E?^!iX^|gb8sz{?v@ZOG8}vr83)7H3qOI0 zBM+{^$>OKqjX3bjpZW86V0N zY`uEA@dZ3w4L4k1vZjCux`scEezxAVvCVC0vfvwf))8#W-~Ii#@r{ma}75nqBEvEW0XqIw~wdyM@Ii85zJOE$u-<4w1%q`#lS8HD?W< zAx}Sgg!a}7YS2MX@ezMoJ^7fY3HqLken04gEgc!+PWtG*tar&=I|8%rQsVu^hK5s< zlU0E$iHCqrI4&vgOP!^eZQGTER&4N*u}z3{{I&^08VVVXC#=z`CiXS9U{=jt1yr&# z5x*RpItmz*ncll(FALIsFppxolEdFcjIUdlgrU&%k9_DCUcPFCMtyd)dT~)rcHX2V zMY0#d&!Hb+8O_}VqnivGK^uyvtYH&w5?Kwb7d+m&v~q84VRV2hkVcJ%an3<@xFG3m z%W0Yusbjxfxs0C+)42x>bok1; zv2L5}FIK}Zh{{DjXCiHLl*CX46Gw}DI`317xw1SKK1D8O70DiT)l zVm1y7lD`YwQEwIfPKaNv^C1qH{ygy}S{Q!i!W+{d${w}NC&fD1;-$vSlx(LrtxB59 zl{n9>S(yyCqgV!M$g_qeVJW^4(y-uGJ2}qn;5*DehU4-LV(N5ATQjX{H8tbDnZc{J zNH)=bL{?bbqYrtgVP)xc9(Me5&5^ZZsO z;pIiipSLxib*)-_c>7#TotO}e*e}vLiMlGCGxhbN>HpB(=F7Us9AVAeZS^qa_!05* zXB<|!{&BNe_wgUP35s>()Fx%ypw;7RiVqj(a`k_lvlA7LF;N+H7t#{ya1Cw_LT{RPhCWf!tlr$Pa8y=B{$Ud{EKD zCl$vLzB97oG!4G;$K-5pFgZIu%Jk{R1RY&+)lNBkP550sV)>lW?#NClT{s~^^K9%( znf9CWVwu5Fh2|&9NRs#y<*GU@Qv1i4Hdg|D=9}6M2QRG)_JKx%7op6vQt4);osov(pVmA&;>1E%!gDlI44GsIi2-NZYsm7(jG*x zLgQ674BM}RJ5q&LvAA-6PtOf54WJg}{{Um^G4^db%KyZzf8h3pzU4eI>Jw1Qc~9)9Ut;D-zE}&D=y^v zK9r&|iR!J)(s-$IW>Ib#ttf@mST&vBxNzm=5`<)QYU7C)nsd~b9Fp&A@=yGK&Nie- zXo8MQdp_$*qddn2+{H<(DyYkBF5TcKBtZ~S!6R4zzCiY-e!*(|)##a0&PKa@rSx=h zflrkF1h{SiDluSlroMcib)n{rHPe=OQuF% zM(NfAKD2#&19tHW48^vwq$qT+Xn_mFAX4K)13v|2RKWwMtrmFSQ~Q=h7?3;myOw&5 z-D`DV+*(GBHXF7%XX^>!Y4 zP{{+8Iu%FZ(NiH!RvFJ+2KqOG^aY)Df)^WV^ISg)dCF*XCpkhQ)E@O{Qc3u*O`-NC zGff4L`)pFeQY~tXYq23dY}(4*@1I{@ZJL%zD6y4gMsYpvV7RmIKaNCle0BHHWb4EO zM}3VFT@4b+*K4G8>^|gxAz%Nl`o7cP)8d*l(T1fWpj!#3)Ef@C| z(|x2&QWKY#opJ9R$TOU{Md%B@h}o2RrZ$@+RxrYJUq~!NC@tL9_^nR?+l=Y2mn6Hc zA^55$cY#{aTC1VA{mEC*K$yhF7RR3dl%>< z0{a_iX@L2<@FpezmN|2^SiNtU?)Wi&fD1*HZKaS0@cVrE3&e5}qR6xf>Hoq#`WL9? zLZ{#-IAzwj!i)Z*2$)Li|D<*-rDDg%mBe#aq?Qsdpxj=vhsBQ`+d)6>4C(J%_*_1sYm2kwQL&ap#ypj8mdT?J?G$^VK~To1F+zzQ zE#e>RD+IC~Id!#9i2PJvqDankZwNIv=OVZ@RaT~yl;Dh0W)C{wp2pu@ZdO*>?f-<5 zBxfQFqUf%mi188Dmb!KHppjrL?%jN&1JXqMn;Hb1o zoghH|v-aY4Vi1+~2^}2S<-t=1G_XRV-!hVArw$9Il$#(aPFHK$t^LVt`>$1Uc-;9-Dy5aONK(i)t!qp z-^oP1eQDNyjk!DqQ{!wgp8K-t)TtijBVqxsxwWhH44)(fvZAp5-N-|Ht5hsZtvXtO zH;vDXUV;{ko*C@ur0%xxk$~QfZz-3Oc`On886|7HGYlGailKsODWoYV9MLcxfU6Pf zq!FZ=>X=_3U$4H-u8LsPB-6&KdXa42fLDFzfnJhVL{P*KH%VA$!2;bIBMFpS5rqeR z;WTbE#c-8wSXH1v=iFEdS}fkLVx&zuL)>K50&OP!=aeDPi>`=tDQX>vsIbOI4Jt$l z1Kw%t7W92&ac(drO+g8}qtAExgjVKLO**ofgbw99Yr6N=8oPt=o2Hb%Y_pcjjGPhs zD2E)Td~Gzpi@3lb|9^aaby$;q`}Zh8Ku|&ffhiye%i9_;*{^@)D6p_fu*jt?*ybdWQki`c3$ zOMr^_-^J=*#p{3R;Gtd8|54cj!G;!Eg8$m-F`?Iaq*XL4{~NxKVZ#Ev707s%=yWIq zP`lAVxb?sJ0w}6~?DqlJ8aa8u(Yox`(Mr)~n&LoIZTPjJbXxc{YtRvul=be=RA;!v$tlKW*Iac2?EE({} z!m-r|M@8RQOT5?~LOteQOI?f$JjU4iQgFu*6(PxbMUT3IDn&#C>sy}MR0YPyXo;8* zW}*<^T?%y(6vbD$`z#rbwVPh*axn;-xkXhKDMfQmo{yEeJQ4Q<%n1X$t)3J2UwD>D z4f35UbQAVb2kdtG2RjNs_H&!BNG%;xhu9wpp14Y=8RjOv)gb}c7p3u0j7S%Y*{cVE z3^)9+!-hi*)Wy9m!7`=l;{*|oY|3<9q(zYTa5!IG z*-*g}9jvWW&M}vv)Fq2Bdqh|JiSFGYdABjk9N;_mn&H)7q*Wy%8+C7ExjpOc5+0%n8cpRI9&4+^=#+=}j7T9$rX-!j5IdwA)j4T~gm7~>$_ zICmKK$Y!`?g$LX2zVy;yAIamxPKHW8Y%Nk0DpJy1Ab-drD>7_z1-4cy!&<@ktneYT zY%RrEVI8?=Orzw$Y^7p!5yx%uDx(Dq=!Q0pbCdk5+0H6G_Zu>l4}-PNuGxMQ9DnY$ z!-f}B73#*9VaC6a*W^{uzB&_bm-=a&7Y8YJZqw|MQ;d&Iaa?$gkf>bO_zCKJ_67Wd zOJhLBgEpwjV34f3#0pX3avgj)mRm!)Z!o=<4U|)ZEW7@t{)ge*4TQnjnP_`8U^xBH zIQaGWkKy9~Vf1_{=F5DUmRJB`u}i>ttSXiZ+QJdQw*yh}kH|tlR!6HLKzLn&A=kBg zfGBY6zpKmNKQqD5V)2)SDY- z_ovl#?LmxPnx8hvtY+Ci?kbGmX4&zE!_E0mzDpvGU&VNuMV&@>OFy=71;OW?*%Xw1 zlqOei(=!C3_;88gPAlhZmc-ZeaWI7z)WsZK3_IEBgrelH<54>cn^uyRJ}cr{CKBK1 zj7po8PdlZZH{T4u2&K%kyd^C)7==m&-SN^`Qfe>&Go&5L@{WdRE@V3G>)pR~yJIPT ze=mo|b4{s_`XVzy2%89)T-%y(ulP;aV|zDYE244oG%ip;#qt<17qtEXOP*Z+(fioq3s;X1#nzmsc) zuTml_C@E$G+AqN2gtmd`HMm_1k}~}?`fAl%`cnx0x(5m~bQKo#pBW9%-A?}nIl+)G)P0V~ zo{i48^-5Z_p6~%<0_B zS7+?oHV;(3n;k>sj9hfz-#=U3$QBvnqP7w&72;9FA z7|1~|J@x9j&8Jwt+sTB`D>~IbL7IrYacw3e-CH;%W>didcZ5V~eTBFChAiW$SzS~H zRGYrp6G?b;3@;@=C=>qxk8t!FhH6LBOvTNz%UX5sJQpo5oLWmWWu4_Sb9m*b#O=7>^yEA;W@6C_wUc1;CWy7VWW&P&TLQUnt z*s)4-0%V~#hk``}tOAp64jHAYAnk~e)N~B^9Bu3-2eg2>_(WL@iAp|sbay%A)zczwp8EaH)*I z{imBUY^|bd&qh=459L{WGn)B91fity8qqB2RQ8Vo*Eg36>zyk0Yv z`>rFeMo)$sikU@7WhqpUO+EA&dfkjJGtL>WAl9c6E@qQK*(L^Kf!^~K8Gc1~{0cWI zd?-+h{%GU`yDv$l|)&0y&zvkJJ7ld~HiD7+ zW#W>=_O^o;*Y5!8>Z$89H1SG7EAeVj;#b$!y(xgcr?i6e&zBz~Kv<>l}3ffR>f4WzPvxd5VL@Dd#&4FZIZf$O1F zf6x<+zi$7`VV*xh?bjr~9X*`-LJ{(@L3Qk6_8M|mMA{2iZ#x3+0Wcj#H|)rwtKFO5 z{RG)RN}I=#hFBv+Qtiv*DY43SO4xMDZ_f4qz)j!JH+{+b3M@5of}wqV#^s0@HfJ|v z{^43La3t}JkhwlfB3uVD2m84t*s^xm71+q#VF`2fqHx}BYSfaf{A7LyRAXzB~Z`8%<| zQm<{FF4>LP`95H`In9)(cD6RU{^5Z!Iqp`_2F^>DFUUq$HN?77w&_L zLz%6cT)X=GVs)9_93g~ZP9S5mv?W=ys4G-V&HFSgS1ADWS6-?l+4{^W6qouUb{&zJ zjTsmX+A^Xky*@?vk)C3A3|y+@9Tpfhp6a{yna_Qfuc5l#g@<}+;xuh#uXuHx>$)+V zI?QpUPY-roB1d$#4*!lxRS)NGfDrG}njA%!6)KU08bs!vhoOkYu0DquNkoxzGANa& zjzKK{atN98_*0Ux421WEPi1aU=OAWr+$}ZrE;Z=&dC|ElY`0vZsVYuUUu(?dFF{d9 z!)8On$R(%3&&I=dDZgdw7xSDWaeweBDBRVZv)8Pp|5n36N21pedK5b<0$X5gnOUrQ z{Xy^Ea{I9iYDbp%M{-$h3EnhWeX+<)*aoBr+&R5DY&}6!rL@Zy(mvdPsU5cO5cDd= zO4DC~7n}^(D(>j}*RzfJT`RSBOW1o3{P~gLN)qAM*1bx|)C^@z4=xiG(8K&e>EA*_ zh5zUN?>`dQ<=*fYPw}tsIq;oFOM_$n>vlPFKtmQt!i)e9USMDF8)p2EPyO@hfN}Tl z;Bi8yJK&1UNUf)ZLifFi7C)MA^Vd$%Z(E%2Ngfk(x%M665*!Cy^X^0JGon5a6isAp z#C<;%wK^{#nx0qkS)sPE&%C$l1n|$xi%)Km=?B(`BvUiD`@;Gu<_GV>Su;;kHqKcs zg=XAm>vSz_h?E271=Ry&pJzNK&rU3JTW<;CWq`|WE)al z#I0~6dWoh%Gr-SOTHEfG2a$}UG^Tkx!0>yj`;>C$ky3y1bxxj^Ii@DssueG*R}ZQ~ z;_f&F_M)nmlJ1M!XLvel&r9o&#cd7E%+aRcNvPVEzmLGf-778Bd(7@qUb9WfEZU{^ zWu{0gn`)!NcRtP^WE&muU9!1oAm9qM}y@l{V!B0k+P*J4m}lgo*Q8 z%hrLWg|LV`a#9=qjsE)cYgV~=?!q0!r=6^B!;93sPBl$*uhT2QjBt<$(^B<98E6>e zVyw1{?HV#p2psI)w%9~?Ge-1XZL7c}eX7{D(KWwCrHAguny*udRR#C^c8hKGI@@H< zA1kXaCb_6{;NzP`^^e{)=WupX2D8p4eyH}wcNBsdi#;pwhJx}?AhJ~pL3Iozu7af; z-d)KXoVf^=zBW$k#YFP?nO!xH0*kdUIDWzpQl1L$kg;nfS5p!%7Do5M%Q_NlGSB5B>hiW&wu8X-;ddUcR&BE zFtM!v%=FRsXc`ZYm400p-^hl=`#(n-e?Cr4`U-FkY@mV6zh8`ghG-}jADtO914MV{ zu8k&qPZ93B@N@7GK=CmhM;S>SXveQ|f3h)ojw=b8AI^!Mrw+O*#H%;8rA zx2AF(;>FtEk{CaqRAJ1jjcqV?rOC(Sw(j9fWoCl+V{cdK;D%-0){K4HtZpoq?5}6T z$cZY)a8wbGMU0&lB-{|q6fqacP8s0@t;F=1J=8X~x90a#idEJ=9K>P>fK$gr5`%tl zwXBTIj6z}j2=Tb8r{CG|qWPfr?FxcII&f)19dZm_w=Nepa73J4wXKrQF>#^ize6sC z6cexV;*=DcOO126xUm-5bicpG-kDVz^&rx$OADD5=5AWgmiZhPYa|b3MkB^0Z?|dM zV(ZC+XmF9odO(y7e#j+@Lp_H|7R)_;F1FGI*zV8@yBwXONCO}{=}yQeCG=LQE_>;O zCH6{5c1QCY&1LuAzOECz-~cpD{DO}0_i21;4qO2Umd}Tv!DH~eZD)-qLLX%HZm#YC z+*w}C?KUeqcu$m6Wk$LWm6>>OSZW$#g@+>~JmeFlo}Y`|nn3niK^-Fu{YS5Sp&k?^ zE43JKHzDWYH6`ZGVMlMxyH}Z)_-I+7gGnY7=~qyQN{<{G9>vGTKFBb;=JF@@vHKES zhdCyR`ln;*_&G29^)h_kJ_qJ4Zl+8LeAkAay*#}R*(s7V*H2@e0egL|RX;c#!W@WV zea?Lqnrh1`yUhrhvDN$XIkME-tnre3VhR}V}@&_-0p84+yQsfoZ| z?+I3$-9~&x$}Hu2-lEz`(t1%T$LgY;9y1vfV5krLM(6%3K-g)3sT+vQ3HT2JoSDBn zqyJOtM-JFyp|jY3Wv^dkSM>7fcP031!-X#SEYT(6rLu1ILna0){E_+2D>lyz73`kh%m=SUXyI+&J^~h(1!ClnzX9H*}D+fkWWO35_Sybdf z)(3e|h@OWRC`77Fb9vZVs+~0pPL<7gB};TDrFKo$aav81uv3$BN#5;uahv~{`jwur7tJJ-R>4r2kOeDx0|jPzMDDmZ-5HjVor1^ArW_ zx)}}!-lyskU+$`O<^Jw6-B< zhgZpm6=ohQI04;F3HD#*92(?40K^dbpink<_!|2v$b(eVy+>U0&?F_WXcKthaf45lO8o~)-` znR?GfYG^ug->u6{;(3r<16$y1eQ#HZ-hmFdTaL-)M!Nv!=b)3t0&I)g@j6{o!|t&; zv4ZXvXKw`0vPe>x=<(y!@ZFj{^45KR1{@>>rD%;9i{aSgbb4nAd29BC@?L?I%xF1r zJNFe?{Dp(vpw#3rGeIyHJ>uiAo%ldn=i4fS4Yu0UvCJ9P7smKAgD){`2vw0gnS_XJ z^4vG2?8Ydi| zEr~&-rl%UyE^d@a2u1X$WLfQ%EPu*>E4%pcEUfXoa9;iv#oCHK`}gcQi$PyX8{*K- zNS_FT-BszQmed{T0rpSUp!qHH+t3u&{j1_Kvw*kLpdx9z-!nrQk%G(?r-6C5vqn}U zr_sIqgoukq**6=KB2&Xkap1H3J({?JMGD-C3+9Gu!v1el{~MIO~bd!+%AENq{or-+dyTYg^^HB*d~m)eJA3PN+rDu z(PH*acRcDLq$j*_4p2@Pt=}e+7bo)4|@nJ3ag=66}(+iWs+{PB# zx2nWzhWl=VM`~{;fT$@aKqm>DKgsDId)vRC{PW9y-)HCWs$wJoVMA1@CiOSN^WV7( z3lL}s1MyroZJ7TZu9t(3U!gAbM!AiLYJE5HWCqbv&A{ zjWq|x?V5GCk<&jsS5u?l_VR9o3mf4QZZ45aQrN57uS6oLkIHqGpM(gW;T{bhgfxp{ zdfeDsW7b)NC5Y=YKFlh=SZ1Ed#Xpg|(M!OhjmJmZBQw1E-Y{S(ABKaUco9C|3+l(8}f z?v5Bq3ZH!O6?H_|XTy6^?EU!t0$HjIPe;4c#;SNoBN6d+Bb?i_!ROo6bx-NW^v9&B zB4UYStpsVBklQ6M`-zAhIaLXyV6p&^eEi_WNw&$MWm6qv2c*A_v`0y=DvkW)0RDPTe%6R3 z?$Rp?ZznBMUHJKtpr~JFZ0d>F|CPbRiw2^q` zhr7KPbEi$6b!%+gF?BYaq^qnSg@?i>IJ_{FjBJz3UmvcHF+J6m?oMItqrqXszVDe= z0(n3^m?cDpAvh299!vnKd#nITO-Y(FC=ze==hheqPMAPT1R^ur56~T+fnpXBs!rtR z$%WUFwImN-Zx=O<64z7b>R~&AqWGm-;D~Y=t<1;N4!HemZCJ{whl#c1NLX zq}jxXr#2SsftZv2Em-tpEReoqzGx2I*orAy1*(yV2gm$Gw}+HZ-#&ktPV5P6~2#`202(zuW`t}Tio;%_2PKTn$K@@6w_l^)nB>%q#H4c z4SzZzdvb1z>P@j>B&;6bT9?N+v(|G>+gZQ9-x z+Isp3StVyjm-_B1i__4HaQJU!XT^nbbE!f6J99M;SG0SBUF*IL)Sk>HeS13ZYitQ# z-vtC1$U(>>XuuikBf?ja1H$J(NdVw?K}ATAMl#|9U}(?j2q>5VBTmx*jHn(FraSK0 z&=tUFp?T$`AA}s*o+|oM6?k}1FlMenByP};D>Mr+$(k^QsMTbaQ zY#wffp6ASjRZl^$eG=RxhJ_Dy8P9FT^xPt#+{xSGIaW8cRNx`v?uizAIj>n%g$E_q zdZ;)s_m08Ob@0Y&8upT$tCFGA?X#ma%B9nXzeC2Y39*+RJNkGQo9x&6vTnuC81*rjiF-%}O z1Q1Lw_YY`97VsAI#sd8@fE~di;1xtbtN4bI!Kl%*Gn&UL({l-W1LosK2w~jxsMy>;<4C$C^UCo}pazf_tJ=@o(g1 zkt}`kN>$GKav4nBuLAZrRLvq*WHTEWy){&>ubgPU$DNZ^waQzP>_%2!YiSq3QoK&l ztFa-mo~#up1#IebdChX}(CLp4f$mLYKni;FLv@G919<2ow4_vdC3nyAHJH-6$lA>9 zq{@^XY4Q4M87#|?rJu*9vC3-ij7m_M;R3>wh?JGd*Kssdun{{M!&pF#x5|WLBW-g+ z#-D1T9e>_EFBsY*0=z&ka*{%ze=%ufoAXm^=xS9LA>s|den=H*NZfw!fi)&pa0M9bY;>wy~TZK&KY71=bZ5?*_nEQ;^zUL}&D`_k1WA#nkI zF2l++_~6!s?&ir2?LqBolMoV?J-Xt1=UG3P6i;ZG-xE}%J!6#GeYh5(xuQuODJyhl zTR})+p~HE=cl$G(bD)UWEwiQDv$XCfh?ew5@AWxAQ}|@9YcNElmcC}r=(KFbJ$mI< z_<;sD-kaC}uZVPs&JV<(2CS%-mHkq$&bB;fQ{`5c=wQg}`=G--BtD5Cdmy}=w?Vt- zwuV`4n+qYVS|IJ90pGdW{6ViUp+hWzc6<$KkzBdS$R2Q|BF0NyjhL665 z8u#2QtnS;GKh%j@k-X7L(OwHOo65e8RFx3Ei=D@Nag=@~{Oo*67)nnBfyGQE)fuF9 z@q(haZlprKYmWLSrC+~_n^bYPb9+sdllgn7SsUIX26YDdg?7RGS3Xt?1-W+-5U6Tu zVlE~Y<3wa=8dNQcLuK;ImUgaio|HA|??T+mV%FmK+vK8bItt zzr3u1t;+T8bztO0N`&6~;&Jy#C%A@MImmvcf2bi${^|+onk4xqbp^c_RdC3?FY8tA zKiJYucHV8`SXQd%aXb$D`~Vl*B^mmV-<5mYHc4^YNmQVJLp=T6m5-6J7(9XfTxH2V z?9?@>TmvPB{P%03W`fe{J^a_J_H6l=*jHT)HN;6Qfr|Q){|Qn@ZxjDy)&Ekg{}a8J z2M9V-U+xyyfKbQIX+s|whd_AWBKy5KygWS6v@IYXO9F?%KLzv?08=S7h}Yjku79)( z7?;L=_%@fN03Zg#dwEnqMsq+GtEdIkjRBd(lce4YT2|W-PY#+%`FK%GuC~Wo6_!P& zH}57A4dt7M*JQeb>1fbFhDq4j=zGf69P0d(|7QTb{-0>q(u!kHy`7}fX1miNip zT{rOt7$a8GylojmXMRzLJhVJd^hWLRtPJk3G<8O=6a0;scx<4I?AC^%?Ml4L$Rwn8 zwunCzrW0#Jy4^#awJ3wnh>J?SRoiBpf*p9;5CF--58kt_oVWAOQm-H~S8KsV#JaAW z3@4P=M{G&mp-s2UVD9j9vp6ZaN%MJL4XzgU#J&>bw$|=#2|sa9pCJSOVoL))>OH+~T1nV4GT%2GO7k94X2Z4SPo(NebbmSNnnq(3**gN3e3r z?>j-f@hB7Bp#$c5tML^h8#ju|;RjCzu8Q}uwLSrR+nVu>9@V=CY4;RIBA?l1hrig4 z57EiKts@8DqYgxta1M}^VEIxHQPp#h(`?hAtE@GKPX#r~EHzP`sZYs!|^;uj$pTIhSSVQ`*jl^+G1_fiszU8z0>K&%v)d zruTcu=JtzMM1@W4#JXET%_y?Ic327t3iSxms*IFY#|B*(rCl6>lCH#tw@!+0Hs@zW z1**wStQ`#%j?d!O&J0c~MheGphhV`YmcmFn7pMaYr2uigm>`f~v{>V|#)PTZ*q*~@ z%{metovUWn;}dR$@2Meo#N+reb?hxFtT&BasNdCh!bP}Krcoc?vM)Z3B*axc+Uw}s zFH0oeV%H(ck)_yg^JU5D<#1IJc64T_dQ}0mhvWl~3h699#;QrXUI$K?%ULymp8HeG zqwjmJT-F7EcPE-eg~rP5^8x+7Sm99|Wj4?A&@~(Cdn|DEOr2~4&COPhQPvy+!@4r3{ z%j1u+J7%fpSa8#Mmpv_$=j4R+HS9rj!)r*+iWykq{NFE7K~Q9gvcw4Fwl_SikDko+WU#h4JbNTl!tWONQPR7l z9KhF$^2uRBj>}vr*Lb4{%{D4!tWIq(r!?gPIeOMk!TOzd-s z3d;7@VW4=X`V-U)yEVwJ<3u~{#uq`eFyvFb74gsoiY%ODIS!K;wyr1A(v6V@@_o^p z(ev*~r6*#|V0u7=0>SD!QgQK~xJ@rFLbKAZ_{+u4Kzif6d1Ls{6R%sy{KZUG$>Z3d zO)f)f4^CM>xyUq0m?_r2Dx|jOCXrd}nwq%mnxR2_Jj(gUT?zRDjws8SGepy76&rEl zj$E-!gKvR>!K$-9uSc}L6t#)Qu`K9I9}`22VnrCs{dr3S_r1C|9Zn5SQ`$~_{_%}e zyPs|jnrD4))WtaW8WHPzvFSd`lHucir-bp1Toxi4PYU^U7UY2^k)vf&>lg%DvYxRz z8HEajxXB*h*aYwOv=n!x&~4IreCy2nczx(=oU2Q3p2vMh;z|0Zs{0OsHI&FF2~m1a zOj}xJqNc-a-ut#mHt&n}b0@`Hd>1-cWho(O>h8=@ktBYk-3AXX-zBGMNYXB68}uj> z%g18=#Hf7RT@0eq8bk^YnYl5T>)&4HoAkI>j^>A#I)#N4((i-SPCC9NLo@r%M{!k8 zWaEu?`WD4f;bcH%PrS;bvjZb8W}32%RG^phSvA4-#)b`4Ug}TnVltREjRsc(P_nFoOBO^Uo%KKs| zaEi_NQTWis$ybA=Vk^osHW}jUWAa)4Z?1|Zn){iCV@(OxRT|3QkFk2t5d7uBjnK=t zx%s+0v5}dmb~Z{UnZ}iW!S zqh()iK^WcJRc8Vx(m|XD&}O^lbX4E#f6Y z)oH??RmB@z&BUF2Rul!hS#kZQQr^H(skf*pLPm0FB#nnDjz$4*(STF?i65*o$*?%| zt~?kZ7ru*zJc@Nrd!%hTvWNn)bFtF z>3v}ToWJY~p(~U2aA0m#4qbJUjv=UYF(+r>Y&oRJq5U{Kw4uEarw=GE@&#ulS6)rC zXI>yOOWxbd!$`|{`Y{SN?a}>c9Y&vZBPHf1Xj(x!v>Tpmg-g~byuG14EnjaG2wn#M z{k1BMSP_mq(xJ`;M$gWzDH+1N=~+HK7wgE~pYe+gP)wc~NOoULIGYC?D5^kMds(c%!a(&L8 z*;bKR1v5ZKD8Bb2=e2V1mTW#twpGG^lN22X%+;@l<3|m*@l>mt_N|h{j#Tu=$LwowZQ8HcP zB*umY{9``wXL0HNd_Ri< zcbW|EXvR!DZkgoBUpe7IhwM;>u1F%dq~m-7^&s8&8i(3$R=5VkUcqBs2Nkd7`5&Lx zE=px5yub;31lAtq2;<3%?^j-P?a~vh&qb4_!JziZKF_PDP&#jkNlSgTGIs*5!KqR2 z43;b^jXyt7M3vNGo5gJCy&r#$97V-^L8=|A@=)tzjO}vxN0Wm(L8#PIlETh!Io_FSiAzS+}({Qaxl)M69qenLFE( z&rvMmSwR|%107$U8&0n`9SvJMY#M`br#?pX7`@gCu6;vjHRQ}(Z(1QE)|NeBu0YDX zk0h5$z@?8`GfYyT?gAP%@FR^)-cy_Rde?~$6M__CVTQd{1uG+nt7{!4o~}j`E)Ql} z^S|UxK03_2=c}EhWx*IW#+!}^iLs#s&qD)|S0a%h3EH7`sN@n>n2|rY1SA_Ro8}II zt}E$AsC`hz&W<<;fhFROq-GD2hg0mo4iJAf=RZhpDQ3xY@%|R@Eid-jhMTK9C83!< zfqV)wfGc0H|CE7dY+Z;-9k0~|jzJUcw4Q1fC03HhEtcV^hI~TtH~B`W$&0-kX+GM* zrQ6BH@Ftmp=#vFu<)yJ*ICb_8wuwlgAO|>e#Xg^SDpIXgimwHnK(0_RJrMb<%I>vsIO8TG| zhCATQd3nakw{*jO0lH)OU9}c)xXs5X=MQ(oL(AJ9p17f$=F3m6Tff^3)1e6^3lui{ zQJ}{Z5h{cGQJU8**?ljYD_F!dN%aQQGzLU#jY*TfBRuHtv;m!=J~>sl>r?(XL>PeF zK`@VrMD*s4k0;@$wFj`Rf9;GWE^m`h&~`fSdIMU&+QW8d>sZ|m@B-5dBrPrRO1=p> zDbZDO3iw?8^(V-wNWeib8|kCwep9B?mOuP3{_zQX_(fAiHs?@6oC)uX*G60|iU!*{bdgrDc; zgv&U!kbf;5HR69K5zbY@KD{Lc;2Z-`z?l_O{bb^uSg;#lc>gZ#00&B?RB7^Z;!(`b zQs6r4o;(SIbT65)<~Dip2lat7heLd02Aj>j6T6G@EmUExpWyxZ7j344Jw>tUxp zXA#TCzz}&)5wt2;5R&0Si*g*>Q>RK#;ex*|IY<1lk$(j;P zA0g=?9ch@Auz_4qrtzfq9+f}nmjf_7C$s5K83*dwm`+O|%q|oLZs#mcePV2em6~_f z6C)1e(|zd{q`sN?Bgu4pI{NnVun?KKwzq3{6K~UICA}y@9uAMvW=3v;BWQ<`gHrcM z#B4mVctODp{a4qd`X0$RO0)-%9_53qrbi<5h{5upsC)4|J92dA*L0QSw}m?>{404h zDkjvQORh-j3`OW99L+x3>nKP-Z$Nc?ubE?w?XO6#1r1K6j1`Bs4L`kI#QhWWp-Omi zTw*d+;`3}BO3a3n_{qp?V0J8ccl0@hH}#OiQ-U8q02PjaQK1eAmOFuP5LZ7|6kz zkJBI9*6amfJ3HN+`&uOo!yDsU_g^1b<|>?Ot#C(_ky+oeB=}~){H_1X5q@x>S_l0q zTam7rLjxT+OZ|Nab-u|oJ+F=s;xT-{@X+_<6RQ%$HE`PhwnmNsiAn_IZ3>nm`$!H8Erau2I28O;^F(3NdU| zVqzo|zX-v8+6$uReM_y`)8SB(JtJ3nB0z32i?H~VS${gpirdv0N1N}A`yDFfCQ7km z!9d$Q?sn%nyo1^#3@G5K6)4PBKY%+c?>1GxUC`yP zIeZf4#RWsS!mUJUX9nfBHw+)Yljc01hkXT3WwfcaD!+-Y zbz1RX3nMXqlztAAXmB{;=7w3O=@RrLP4#=E_iwp)NIgjg|&?~$2Au+~%7;ZVG_ zi#09zsfnPSo;xSWLn}oSWm9-#`(&FpEkXujj+ji=Tho1Mzq^#r`6DR{pnAYSHPV0j z8Z@^AHtCT!q?Yd8uJF}R`tZA*7Xo&(^G7FO8-s#)IxwBo^`|M$<`{#YXM_SHkB5sw z2HyR`du!k71=w#C zAr62N%4B|8l;+@Sqg-OzF8J2FDz0}0Jzue~pfIOjWyYwb$YP?gzTjY9Yd*6fR9vdz zHTU0N-jW*x(0|mjo7T;uR1R39N!%EHW|9PzRuSFM7twc*&D~D87Gr2u(rG;x1MZic zqs&P8#f}SNwCb?Z*a0mLh@ki$iL#7PE*q6?F{gwWz!wXslC5uS@Lh;f8RP@R5hIn=5)C08Khn~nU&hMY|0e$~BPah%=EJA^2ez|}G3sc|+^qLmf zje;=$90$Ov1Ovdv13OkAnWK%bFwm|R7}PtSsv?K&xFhcnURq~S#jmT{r7aC?YOdC8 z&@jxs%sEz>nVy3(Xy~!#V~L{3a0{2FGEPk)cf&SWp5DXCZU*^<_YZBqm!pVh(xsyh z)gmOGWmO=OZ4ve2?4dwP1zz+?e`Uin(VXXCECy^$>KM)Nja5i-mX^X8Ewjx_f(>Wk>x!uK8P&bk5m5g#!pLj1jODs z+UydUjepY}p|vBL+Bcr1tDtt-={V?~BR`Km+E~-HTkit~uDI^|*si zX(|?;0$W-Q;w%|Yxn%Df0G-9$tc)oL*!AbRvV}o)(p@o?bmumR5@}I!f zoOENV!zmXSoz`Vwj01~U1atzUVNq^rTP;69K2&=68#>j{L^4*AL$|5a*I$+ui0oCj?6#IQ$N2 z8Cht}Zq6)R6>F}(Heyq84#?el5!!Xsf)K3nEBVm!ooMe9RT27!hKl8r)W-fFVEaXt zk+}BRsd1rW#HeaJiMf7XCH1?RJ-A&PKvvL4u3-x}GbryOJ`llpEbE(ng z!=IbF`ft9o4Eg}Mti6GMm|Z!NSBY#OJL=t?tbAjs88}sIL`ywi)w~Bk*M!cxv7%N5 z`K#s&k`ylez1VB~)q+1k6t=IvyH~~Pd^kWwGq4^pdz^<_Sjrh(9!9D^Mo=mgX3-EKK>9(UR%_YA3>RKAI6Swd%cwrhIw(5 zyAdKvL$g@0!R^VC5_$`wY!+@gD-O0IrCRD8W}?O;GmUYA#uR>)F2qrL92*oDxrv`d zISEC~HROCrXGkW8;a1bik|&f4Jv`>9eN8eLOJF2&&tkg<7b zsqHQ>gXrZt8TukRz^_^#p(zT*HK2uLWHV>HzlA#yE#x(tkc-Z!hy40~#nx;KW6Zn2bF%;t3#Q@>PpQcple{4~C zQqZRDOH1b*U4LSglwY6IG1m>~DnHX$DVA$~Ms^w$#u02ObHe*cgaLB$19oMwG(jj- ze67biw+zd7FN%1OPk8#9fZXWzY&honk`W8Ngs5HK1XPlyt~8&!LtIOX7Rg5zAHM@m zC1V<;KnK(Zuu2K-R|)yar;J}eZtk5>58LoUBcdJsr}VVU7GfY`lhxmChFFOS4^{-OC}JasAVa3fVw}tvV|`@TC8!i{gbDjHUpH$i zgF%r`P;hEXxc50TMM^%dgJRHz0t#N{SBXJq(3|FNgFBa$2ulFq(Ch#$!4vjIVrdG| zD2-X3UjL!%6P-X4U9O?AKN;@yHQi?tbF#P;d5-V-6SS)Bi|8)MS*O2MOZa51830SD zj;w0tT43{Z)yyO=4(|Y_o>9w+cSzoq_UT)kMVt`Cq|Xwl(4c<$BA$ZQq(3MMqit0A z<#{sBR$n&N8^u(MwZk3{=YoB2gw~K5;v|-3bqdLmfBc{+SG;+L@>#DKgsyT>E8xdK zM^lM>O{Ah@G~tN=(12Kp#J8|?xnu9=++PJ*M|?M=tgMMW`%$Xm$Z5-@TV8`u5~rX> z^7YIXUJ)WByXnxcUM?>eN4AMYZ)=sYp$5FL;U4X?oZwD?|T6Hc-c7&0Bya;$6c z6FIf`>O^G#fm>yq*(S$XsQVOGcG6cCEE72LcPy9bd7Wxip`M%VEvkLvl-z22VlVEQxTDOltFbVpifG@KbzD zv#46%Yl6mm#=ed&%Hzj~_BZt6_I+PgDX@~brzaIpg2Mc!LUVW#)))e=#|GeL)Ghd) zQ`$q8vno!6=ZYj|NH3IfU#lQ^VS?%0E{HaduIN37jH+9PVjc(LC9*VU4Tmgk4m|q! zmVJvH>Qu~_RjSvoV^{InB2v)Iq~K!qCu#S9QJ)t6#Ftxa46l!dU+#;S)4HFd*R_3B?%9~vf)WpQDp%NQ;AH>vOFFMI=fGV6 zkpkxG!D(Jm7{6n6qP3pnTeSZgyqT==AY0OJJ^KH(b?xy?@Be>tE9p3Dgj{pmR$`2Z z7@f_Xwh5tFB1IQ8ave@em~HM#CWKUS=_0qeBsyieHp;c4oZovJ)%iWXfAIF$ z-9GQv>-~H^U$58mrOC>4{KLz0k*YGxcw>I_%P!&X8;ELM{!Y2q8)SAG<{72V)AZ#o zS}}UJx_dneT6rdv8%mRvqAGmeg1PkJaQ+-kD)+9KL3=$a`CFG%jFfV{BB3io8s!;3 zhu+ZfVFel(gn%huEs*Wp41g3d| z5FZpWoKyvYL#HL@X5be-^5}-MIs7yZSzz4-n}!c6xn$Ho|?Wa01v&PTGNFy%+MvAOFaX8m^qqNf-96xt83rzfq|0fp?_r zhmewlIPuVc;kz?F83qX!=v(lC*EYN5Ok@^8x0vEmUu*?qGqu(N_WtpbY+v>C=H`@y z1i(xoGX-Mxx~&|R{Y1J@Hbu{HX^X{IiF#Hd2niNVD*^Gs9Na?H-c;9ZA%TQG*`$=r z)@Nmh*=7X|P}e0zp~Vx)=V=+^0R)Yn=L+c|@=r%^Fl212Sw>+UlJyvIe=(>C`(9yd+cerL&3-qTco2(R_ zXJ?r0oYW5>yPM7%P#?*G_QDsJoYGV;4(S&Ff&!td7N49nY;8sVY@2^w$!5@0|Wn?{m`| zcA_i8NqC#8nhwyp;d2dWgBHlZJ(FFh>rO~1JU!s{(l%1G&>KwIq-m3(`=@iP zx@0=2QEUELo1$nyO8z8cdWZ7S;LwHyPPNI6U_(OBjiAZOt5w3&<_iMxxY{2X-`9gA zV!?R&;_DUmM7CJ~zPMN{jhX1_b|2k5#hPTCf_Pap#BPs^fiqFWA2=XHBfWF#)<}-o zg|x_u)|?YJO{VLubT?K?&#ADOKG|9|w(4D_**Rx`esz&>XUk`si|@>G5}mWo1zunI z++_2h)rev8l@vZcb;Z<_TAVPudmv(oy8KTcpmpJ=YFj7lcWkJ0jkF})`VU&U-PAsuX=C9c& zXJ{>y%NdIBTtgG!`*{|aZFK?z(d<|tP35`7?cAah6Gah}R;3_b(= z3mDKN#0eetbo_KVR%=N-z!~tE2cMrA{jQ%8$Fbp*NX6Q6Mnj_aND1N2^6}R1$H_g$ zvVIxay5w0G6L;(gC|qN=sj8(85^Ya}F6Mt8bFDH*QVy9XlTR^#(c-<3M<>M><_7c3GQn7pAdU{%6fT;^cf)s$e zciU>izgxtM`|8}Y_jF_ON_C_UZFFTwNw80=_O8IwG>!uYoWcZ;h|6|(g6HZiec0?ti$v{Es6T;D4VS04;Q^$W63&&o4rF6x3{$i}IBGaQ?F)>ib;WV5YV1FZ( zJ?y73RFU0q`4eGhdBae$$rk6U<}6!9!kEV*?4RWqk6WqF#*YhZCCrw~zs`@lnKq&G zW0P?}_}0NUasf-EvnJvL<=EUab&`Nivv^R#`t(=)Ueo+n*UnInC+!){g!;x0S45Z9 zi>iM{%@ns7|1@{YzJBzWK#@(5bsUu#b4|bzkM^tCFziB%{N~&d;6Qv zLz{>DOq;eEz#3xdWHeUDI7R}-_wXZJ8I+?xH!q+o{jIMb^8FnBeg6lt@kjvPQ|`Kw ztUKsgY&DKqS;yS$B)wDk!Pqy#3>MiHsUX2DztudJIGsJ=uyD?aEgy8rJbTNZ!pj~d z+B@8n!7P)~!s`z_`CiGbZ(n|rirAJVu=LchpNikz)*PDe;{v>aW9ha8Gs6 z_CPD#<$;}7IWTZ(Cd8%T{wDRi!|azXI8!NGbznhNe95b|- z`s7p``B}1tI6xi}g^5}D*L zsB|46#$SpJHDX>*V7?3>L5{j0`@736-$q?mo|v*gLxyjeqOSP9jZ}siE>K0pOy~$3 z8ML8{klAxn6Zx=UQdY^tF7POSHMy21`-4_K7daMf<)RdKtUtrt6lIyI5+hghFr|>VeR&~VB+3J)oP*6acrgB9 z4k;MQcd1c0(-c2Qe>M~$#nipLXLx>Vr9J_(C)opM-Amdhg+Y;$NPbX0ak&W^5w8uW z?$_Rq&^rS9L+#ARY>XMvj$SO1pR5DBe&T9`pXg=TL@UoQ2bv!hTv`l@NhPd@Mn;i8 zEc3gmUsKV%W0zY|egOH^DXd?lB?Ys4|5sx02A8ExmXZe_CFiBl{!Z-MMb!}t7Ahs>UlhMe2~lpD}V z968_d}j+>V#)&T7ns zI~{qyt$oNgzt%hBOZnxAL5K8&c#=QDj@bo=f}JiqN>fI?3_|}&R=Ou9H*t0>GpST6 zCq!w-l!dt*!h>;gsY5^je{%08=htX^9QygPJq>10EFbBL9p9KHdLb*K(1;RROfiQ4 z<>0&vH(Nn6N_DC$I)aE38Q~K~EnLdH9U?UCZU0`q;ar)dbcYS{5{atCO5|DlBQEJX;{oRD zWsi)Q@59KQTcDIgQb*RtN5s1qk9M?5+HwGX#cp=bQD73Z$I)j6Gz{5eP1Igob zjpU*5UqH|Ub`x!sGqeLd(~3if!UMR7NEPhzP7Z+LVI^x$#RC}4@hkV4HNmM{y1cqO zL0=gNpjL%Xe(H9C9ISNJ$7^#x-fbe3YM5#l{DV74FVAF-)8|Ek^==_-uR>*D)O8+7 zq+lf|(D=3kXf~uwUaHZ}OiZP<;Z<$=a`Sx}^TSjBOBq3)(yWeodKZZ~26vl~@qTCG z*F8mT50Vm|lQ1<>qM8O)NtRomLX7!8+i*Di&v3`FFda*3Gqv~S=xZyaqm=t;z=&?Y zGnsVqhL4;=^b#r0S=ZO|p7yAdlqt2zI3B+<@f50>HIPlxBMIo73cwB|Y3v#hGQXeU zZ6TR;KT`Sil+|V`ND21m{ACJ1>yUeaQG0BiBBK^-B9eMi@EG4sa~gy&V;yB<#@FQY zH7Y*Lde7+>+qINmUnTbX*G1bRlY(~|e8(WS+-GOk355yfD|yx`wYCI8N+mm|b>@uD ze|eU_i`?3O&Xmx1Y?M)9P?H=cG<0g4{G<+^plm8jjO)Y-`7QXk!vT#3(q_k29Tv~8 z@fs3=%oF#T|6<9x_i~#P*Uc1;>%G%=C&wIEsJU@?fpl!-+Ie_Z``u@+MvX4HCioFIOT}x^^GnnGe z30iM|d^E@-+UIl_(4e>Qq?dysD4ewgaB6L;5H&cJP$=diq}9D1OzQxxaRt)ivV=`m z;ABVt)d*5jHvUA%f`O=HE%iGSxZQRL4}*fg!@8tZQ>K|3F(sF3m6?6Y^tqyesMp11 zy7d|fV9eTP;M^Hn91p*}`idKR=8I9H=fK^IuXf~>oHSEFj3*f%G(NiU=^*ov?f45< zi2yA8*t&ar1X}80P)5#vC8S*wloAyQt)^s?1Qek;_^7sBFg_#}-k(R)+5!!sEdsr8 z=-*H_-Xm&bwq2UzH=FdQf8^bcAol1sk36Oe_zin)imrO#0TGaP5?BHC7DZ(R-m~wK zDBq+OgR(Gdv{YKDm{_w%UG{QGCC-18aK*vZ9IX$npMaIxo&F^y!7=*ZFJ}gCu*a(L zu5uS(unrI!=XwfFXaML*wc&R9)ROBdK%WR&5NO+iEB-&aNY=a#XXVv8 zt+|Q)9G|iJf*d%xZ`?(qkR$@oplYY~V zszq(m(17SAbr-^<8hbM_M%}g$ECyLb_-K>k<>lbzkUwA0O4U}A*tjdSSa_k}4GEHM zl_*o%a7XPy(I_J-3vYB5f1Fxc$PRS+dKJ8V$5SpE&Z~0I+z}Ji7mtsrl}RI2}b1zW&!*Q&6_~eppOLgaaO>KHbE~% z37^M%WHblhc>?GXI4v6i`z80|uWPajIS2gL5(ZI1E3? zcvbYR9*2Okn#^e7$dIxnBRqku}|3&AMN=qOCfj2BR<^2=LXheZyd8!}4Db|~G;RPOio505swz6aJ zKAgu<`zynf$}7DvN~Y?9-Z2WPe+1}9^7^bfVLj)|73N; zrUs)VC#N7MqokmqprWFrrh(JaoH#+l#&nV%&Uu=fi}N%G2M@oPAP?_3J`N7VMWJ&S z#HFO9xCP}DWhE|&NlHmTlMqo+QPG^BVWp*Il{mw3M&keY&ruVMk&N-t zXT(*>Poi#7@H)dKf}&qg@?9=_$Bgd#!7q8+C76o(6bmccX@RqX2q9r9X_0OJjKPt#>FQjK2J){%*xKm z&C4$+EPq{5Syf$ATlc>CLrZI0dq-#gz~IpE$mr*>uis{7=jIm{mzIBSY~r`JcYf{e zLH9)jBRRe;@bB@B{m*?dg8L#SB_$!HfbNTk*b@vAMpCjf;^a)KD2iLoCwV1;DB+i* zUzEM0;*&)GV7~3rM}3N4>Z`y{=++2#_W$q3g8#4X?B5&v&wY)-Xh?{_!y{pYDZ{oI zb=2V<)bf2uEDW)v4u?@=v@tNmy1D@DJQk4|NG%TDL#colh%7j)BCZjUL5xGJtB}D_ zt12h7)J0)}j%3{7aF~IRJ@`ZjL1dquVL;pmodpIO-3J}|Kf^O8gETV%2h+w-Xe;y* zY3ZoL1mNgiVz->EMmQ`EeNtx_tk=Q~E+jJo4?__?hbEyWgTei!z>%mHQLq4VK^?}q zn4JTy({DiBf0_&qqpN^k_9c^Xr(R%6h{37A(fyve#QmO`2~ku!NUTs`95o^X%n5E- zZ3>6TCQ^qR!oV`rFmR!ox76VV;2miAOMQT&z?F%DpR{zeR8CCA;K2IeEw}+9gB;zb z&O@Y5jDumIuSrPA9+rtifT4Z-2J|LI8v)D7&I~;D=NnU@z=F4k9Kcsan$;-E2_23A zGa{v6C@r1iFNt#z`mVtsw+H`_aT31oE*QMAprQg+f%b%E15ZeZ4Eh2Lu1#4uY`=8( zlxQYSVYxTEO;Wr4QfWwue?qD>+0rBWiqgu2xZVAx2g;a4{%T=ymr;Bm71t1HOjMY` zORgiB&(d{ipKtUGjwq?>i)e4!KpKh2^UA8d1ET9&ly>GbX;&tQCfPZ-eT{tVlZ9!v zd{RA57=Mb$;)uVg$~RW4^M%9lBBgGe^O%P9C>5~=PXOb#Qhd+k@5Qx7C3A#q8-N#{Mg&;X{43GzXbNwXPB<>+c+)dCFI46+Hy}>h4c2md)>$r9IHLg z?6tRPrJC78TX+Ox9?VM#C>Kv}Z75wfTg(398X!HGQ{MH;ML%QJT)Xfy`{hIvx4ng@ zrP3dx1%~?4*@T#!;ojdfw)Vcg{ua}(F5W?1s&63sTZD@TRerX?=ZXJ_~bJzv&z8EW&(oEt-pz zE8p*6hTYtG7@KwzdjlRfYT07DZ>3mFw07#l(&tPrm51}(WpIAH#kwGUd)DIGh2RB5 z(pXINj@F`LTlE}D?ai0Y>IVH(Q|b@1GV(Wf+Gn|b@8(jve8}a#xDGdv98uaL&uA6N zCr2jAk|;GC!P10%yscEvk;Zdb&|s$*cwgV2wX1q95JYvxFk*Mn9P& zvbWW8nirSnD4-Y^uU@z|^0>i#ezo%L&G0^fd+>C%CCj@%=bni?B7N}5Ye(9mhw3Z~ zW%F8WApLOZNoOo0LWpndUAJo#(!d8j!ud6T>Auh{uW1gah|8{#+gfXi^k1(%_Wz>2 z92OVf*M_L6zW`!-<`sAaYAg_V2V`boP!m!@4seAEgX4IY^^;(EQ1}O*IUqpzrq)KO zUtq!^;DJK+na?SO)CJ&y$M%W4Ntgwtk_|(&K!G~3Q2++_B%}q9qkz{Th(IVbAif>q0f=-0B0|Zf*ZO zefu!2`FG#a1a9*{HP1qPlD9bNJR;!BMC=H~uajHK+V9=v`7+_FMGWJYVlR$&)Yo&A z3ljN}aE;=Bs|$tmHARh$(>R}A72GVgD7kErj=$qPYmqk@Of&6Mw&vHRbtflOA!pZ5 zZpqxDwp^b5j*h27L(KFJyP3c2tjVJ{skR>&=QWOC&7srSVa3Y06Tz{JZC}V9uS``< z*V5!(bW2j)UD}%UXC{BrxNYIC@>&Ld1mlv+tDwFA)XM!Pxp5CqWd3hQ?kdczkdoP= z&I77#MP)kSf(T94u6wfgt|s&|Q!J-Mb_R`Bp5;;udXRn3{$0n_og2o7#zggDO|Lqs zp878>q8k0)<%DVp@KK#LP5l@a@f|%F^@V1Cywk zx?FTC zpa2fIqDz%I@pQl3W0lnE6PjHqWxLqtgLv3h+fO>>p5eOZ-{Gyk#YNGP33?V|<%k96m~ zk*F@XvnJ-O-P6A2LW6sXZASqgaT0k-e-uW^&oo z;Pv^BJe*Wp+}A7p>rcLEW3Tf7aa-ugAOC?|0EWnFbc!fSD8e<=U}Nq|qIsWAXnp$9;+fKvlE22;i) z#5Nu~JZcIDb0Q8>=K(Ma_@gMCMjIop0XZLG;^Qm=aH9ac!hi_rczij~WsywbFu-G> z{G*2lpZ)sx4B($s0H(rH3m{DNHiI1&FwAp$A?J-oC`|-S-h;1AkZHv6(NI8@F>?(IC-wCcDx`et;rKl zvaIV;op|2+L667}FUrUKh}Cp`Y-Ncftw5i;a>E+YSJ(0JFXItgNyPVgtX~O=jyta& z!In$CO7jdir0{s;dtN8hXA145;u5DOfuM8PwWyQk9;af2^Y2OS80IZ~`B@s#-@9ro z7}1%vYt*R`{lpJ9SBsm}_Hdb0+`FBYY@N5xFuJJRUh?dkj9QO^AKe|TbDh(a9oxj2 z^EjCce6MN{#)n^LO11WmV2^a~=e&O`;s{TBV4~wd@s4!T6Wk@F9=*5)Kow z#4(FCO;#C&Z5Kr^`B+fbZ1IJSTu!(}b~PbOt_A&6%$Bvkb@iRb&sM)>ojYWdW<1^g z*LRh2tFFVm+Td?AhG1@-OWA@VDXYUN)@t?qY1v$rJ-UuOsX9XJ{!26(O7V;5VY4PS zbHP{hBAZ+>Ojrpm+SQXB~%SIx?`2YpZcw=zei{ z>ayZ~@?@R$$&3F`#EQ9SA0#PdyB(d|$K3y9; ze<^lWcSCt!bX@vNgbHtit9sqO5$P#Jzi$N9?1hDwUsHCPUK;h4POZH=t-qCVEAqA< za^&DnX4uQMl*%kS*ULCW$tTjBjQ=ngh(i$a7?DE%pByKM#gGvPo@^vQKmo|Ifgho9 z+TbJsQGpB8LJkW3AkQ7x=Mw3t69-ZQhXI~L$VtH7vr3Nr0^6q!lHNLSJt2^RU|W!b zBC=Q2VN$>k0>J>z#G0K!meu%QZcLn52^Ks~k;e&_b8!`NG-Qb=phlTNz^MT~BX|;l z#H~X|sqBGZ0QUreKoa^90+5_b_Cys>zJ|tE-JA^S6+}=CITK}_pv@h z78V{39XE3t>96c4f4wH~5cbvRhn|+AR`G1tt&@iO6=I{Pk#$L$gd-Ty>a~c}Jl@PX zxt&6cZWNB;!_D-~uKVMGMdoXF%4}JgO<9XXm?DNaZ1XVLnzJgjdN}bGaSCY(T=r8d zj~It(XDwVb(lPsK&19;ckjyM28mFe$lthH;FVbbWm+Cl>{3JOPE&fte?WH0TGhcef zhwXVDwVpN?>T%6s<+u*(P4%0OGSe^2U08lu)E!FGUmngo?{Pa#hQgC%jk_UzEp2A3 zjM6KI(#&__MH>zMX3@@}O->W(<^g{Mec9d?d49u3i71JVq1a!s69E`aC%Q`O*ERI) zhim%rp-M}uyKXP_f8;F2kf~TW+$HvFMXn@oj9f){$c490AoZ^vdPxs@DWj}wYO14F z&z;D?3%f@40Pw446936j_WQg4|;V^o5=$H#90lHJ6(iQ?yJ90CbK%PBwfnEMrScZ;=cth4O zG#!ZMtRVZq0~PvlvVV>ugBIpo1gsr!C1P|0G$jS=aaq22MWZX`nUog^bX*rW;H5CgFVo*s-;#@`*jV9{44;J4OZ5o$yG&k~bC)vgMrS=AI zv-O5-ep4H#X*_&*y1gR(yL^f%RWFBT-oU}m-f+pFzhz9e*?9QR*b$O>k_|=2QtQ6e zy1Ogxx#OQ2*~lzPUEi7Bu>XPQ;jZsZSLt>3280$UNCAwYEDu?MkV2md1qNtVHw7DEK#`%JQ-{#&?{hzjEX1cAj> zpr(LTL7uaY^hH5>7Zj^O!1b5*6}LA~Bzd{2TL6PyD>ksj*T_tf zVR*z5o4kr&d1*34 zvCwC>q#(XapJ!#1E2xgQ%NC)2z%!zlcjv?dI9G1fsk<8@>inMsPAHsu$Ay0pDBER9 zZ}3qZ<0)|E?R@^SqhS40Q-MIP+}aYPQO(ofmaw$e+K>ONeBS8))Jd<-Vf$iGCj7*j z=YnAs#X9c(c6=81R+e;=1!ihec`driZSu_es)fuRd^x+K^OJvre?{D9y)cvS%f6%Y z`w{g0MW3>5Uv($uzxyP4h6mqK@M2Kxmcn^nWzay z?uD`1NgX%(hI?dmdQ(|TYx2Vh;U2N~LSutKXQ%5i$gj-7r2I_H6aPR6OuP%W(H)y;*kIi zWaU8S_n%=K*$sjt6wrxOR@B)t0O|%GP5}v0$bMZDGG`E339dtMD>7i4w;{iRA}nO& zK+n8D(0f$@OoxpDJ`S0@3Zzs4Lyg4B_x)kF6+qV_fE|?#;xGdQCy2@f`4)ioM)3Njs-I9{m8^MYmksFS?^;K6X?0dJnm9^i!ZAef~ z5VOQHKd;*g4~+GW(FzpkRNqa#Q+N>E;uB!y$*|magUU zK(z5oh6*oE$JO#sJ;xJ0aVC*gq+1uJ1{pU~W^j2If+tSBr*Sc__xBT?Emsh4Q?=~Q zdGO5TrE?;^ReKj%OVdu(1 zHP65r(6kqz@3>U4|5ER)n%V1!~j za=W+|M|}*-Qor|bj_|-FBRIKfk6`6TFqAp=Zu;lF@P-C<+xudAUg*il{<@cpsvPnm z{8@~jsKtA(;+2Em9jruH&a_bc#Dg z2o9g^)X6UQQv3(6rKNPv)+ZaD1fGlS4Aju!F?;IdcK{6Rc zkcs0^S4jaoha|FyDLkMH_Srx>w%-PawGb3&)K#*~7{J02+3<=$1mvJlRRLhGC6GHI zJ&O<%z@hyB`%@w^ z>Iyj_4$~ONMP$h_lc)1eJ(*R1A5o~UZ?&>=J>0*|xc{E0n6ciEDGQ?Bh`=LQxU>BA z)NS;c@hCHfsf-bRJ2&jftWLb5UaRtXy&!D*IopIQO6K>6^TLRT&pT!1_2+4l1`2VQ z+|8E^9=X{Vx2p9^2G;k32*((AD=2wpcK{%0|IU&A)1>do;viN7=yXwc&h z|9G9iImbQ|c9b-+OX---eS>2a`)*Tv!ME%q={qLX(I~7BZUx^%`^<@HZS0Phb=vIw z?i>f58)ksZY>KEb6dUayFT6>vPO?GQlb33S3M2k1B^cz$%>r^a#x#uX!}FI1dL8*FJJo)M$FQEK=8;rsG?Uh(HB_P0pQ zJ|FoOe717yMr%=;X1bl;PTBiqF1FLDi#4?dE&82}kNfLHCAChy`g$TZ!c*MJqR5`! zz|rO*&l1XZ@^e;NN`5xqZa}J3#Awm|AY<#cv(bWN-&Pn!F0}DGTN+{6y9%1U-ASY_ z-0U>>H{~7-Iw%_0YCm;5V~awLTl?LGZqeMTtG>%t=-P9h&efdd*kn_O#XF?Q^%slR zAD$Md(0ugy=C$uwIt6U_?I>a=m~IZE83N}+sn7xn zrAZ7z!c-u&vM>fgq)ZKH3=q(c6SG1uVR7)29v&*5LJL4SA4<$1hU^*;=|DtYNLe1L zjz+!@Jh_>(4*9Al!51U&gxK=e!;k+5m0Tj>H(6|nS`FdY3Q-dw4LUWNkat{}p%on0 zQhPWav4^>sXs{|4#wB~osJ){_^biX)e;jq{6%Bj=t!47BSH|2OMN4@?jjf}4+ zWp7|NSDol>v(Tm*d))C#@&2R1cO+y!F;-VvR>h`c?{vXZ=ZiteaMZSh{OEkcDiljjE;*DkFrnP%SYV~ByjmrPb=*42C<{9U~j zPST(0PcDpf5w3__M|a|EyfxolHuIvFN#}se?yyhNDJ`T@IgHavdgAUe3FQ1>qK@7L~g4nor4* z@cZ3S>Zg}qr;*4fxrk?eof3P^i0`F%+tUKKj9{Fyu!w8ealru46e3^`kSYYsts>6f z?f3y9{qYd_?FU(5Mx8qqddSc*kOB(|e*Xs6zX3J_vZT}{z;{9EqXM#sCOu$-Q1v`3t?2dVq;5b?VBTg$ZGQ#m*LCiQJ(xvcHh1HAPwD^+%3gT5n16>C_3gA&g&qfzR!?SG3*D(glti?X&^3?rL zTcq0fZ_whbW1NRGnK+!U-Zrxyx}hd!C}~imP(?JHbSs}UE_d$cTQ73bmxCVp?&ADt z@6Jbo(}9w|M(Fbwdjh_l@YB(A5G{p=_n#TlQ}pwb%WsT$(juEym8g<8H8b|w{XCRs(|vs zRHP$hjZn?tn0_3`T<&fH9C7PgZ8y5Bgj9KE(T>Y4m-R#?yLqF---mKAFC%QmhDL7u@;H&? zyJBbIO@FT5<>B5;rK{=o%R8?85>{9a4uI5a1t{QHh7z_$vTA?qaLQF@v)(FNhs(Pp zW3M$n^&;m}+Hl3(Bsi}CjO|_Pd=8GC!k?q9<<>N|3G-WLEEBfdN{k~-XRt8mK?BQM zXG_C99~sc!+q(CKCTV4?EY>X8cwE>;xo$Ks-1VaYUpO(A&h^)T%3{~zy+W8*0nrR| zEO{9`kA6dZL2i0z?zzN|=|~iYkLt3Hi$X7MTf z7T>i(c_KYU`}J$6;D|PwWx2-7I7A`Oar@4n@FR7#I_f!v6)nB#lt6 zi)&oWUI)E45plqPpoc?_69=p_(owMnJhFdt@!yUbLSiLIgHZbf(9J>Ijp z#66EYG9Xn5%AH4OhaPFDF7b-U9+gZBgn zljr6iJkgr=R0?TyKNXwPQi0Y`)j(B5JT$>$Q)(WUNsGcwRXdMC7u1pisUDH<3E5QP zPu875f+q;|xDXyOcznCPpeO^(4s?xyVkPK$Q#)o|pjiQG-8!~c&#aA1Am@4hE6GrU zHnIu>(5s^^hy}XL&ttRsYdR$MOF;f3^l3pIHUz{7*-_$)Y=9+2LHhzEse_Oifv*Lm z4MJ~_S^j^U<^1edRH$hM08@hu8AWJ#pa$2!t^-^G%t)F8eCRk)gE{|NuY~mPi>n^r z=J`MM(W!8I2kZ^CPlqJqQSVq+EKN#akIiZVVR=f{H|eO;0>mx1UJP+QcTBg5pSkO{ zg7!{Q8Zy^1T-Dozm0DG3@l3eL57`bFrH+&P6&^UnntoO1w|!VDeUUT5spPET!|=#T z^Xl^Y=(4iFozhZSzO}dEn5T^TB+QPyUXQJ)N3`6U$cGh0-?6}2NV_hiIf zU9eFn!;-_QTl(Nd3Je=E}B5sdvc=%T-5uqNg_7XNXM-S@-N&N*`Zgi-EC zMn6Iuen^aIe$8?hFpivRyKj5wZin7=`xrw<8Me8!ZW&g;T6RhFQTy$hIg0`kywuFu z)K59gqHN!LJ7YCC*@dy(+A+2Iw0ABaGJJjOtD#L7IXd(ErQ9FH?y) zC|L<&uj7xUxIb3|l(?Mi0|!EmhOHw(*n`*y92Ova94SF^JZ@)!QYXlqke)yYTOdzD zFMw4V(j zGc8h*?q{cO=V%2LKc63y9}Et_+ImQR`kX(7GJ4d;%#o-z@Asw2(GZUK@nG#jCn%bqap|J)BDxFJDXFBIY8 zEes#8$}7&wcGz2R8%UZI7?H~=(o-yHElX`(DwmAjf^P`fK5MT{;8h-~7o2sV;LGt| z_u;Cz*4w->SRi>`4OP>EjG^W2BCEZraN2Y1pMm58b|z;NMi+UM2aDRl4qsS5?V5K% z7On(I$ys1t=E`pz!7)_xwaqd93|qmlvZDjT?B~;MLE47QHxb!J%XZZxrQE zZ?FuPR*Wy96hfZ=-p5uK@yc6K}BlKH6xvq{iT*-)hxm~ zKzKU9xlLooaAnc2Na1U?v*UHrhVnXepXm7cn$7}JEQ2?BsUy~XDoNr7LUQhkD}!tj zQZ3?>q5=+Wa@K9DPQk~>;`t~?o3P(%s`B|2jLaANCwHBS6+N9T{lg1M<|^)baf|62 zAHh}v(&C55mxVhoas>vKra zbyR4ClV}S+1+6*|6$QcIe+I=2ROuyXgoMa=EG1IIfCBj^9YH;Eu~LNoZVh4n-K#CbveN>29^Tf+_sa;O^{AM7RT$pYlkPBJ2 z_gh%^qOtCa9jCB#(827sKce3M`lZyvWZT-xagOgU%l_Zr-cVadAuNn;$({{==56%D zY@turUY&R69K{Ri@T~h!W#l95#f_d;z4O@= zQoTiKWQcEdSIOWNp4l0yI><`y_~UX9V3E)>f^;-M#@^!;0Vac<{vQRci|~Lz(uvFg z`3WkqLXG*_LJpF^`u@c<>wn=6V2rTT#XUmWJx-0pD6qgEYHKnWOr1WNVSM6AS4-(@^F4ZT91brf#>9O5jW)UAQE84NSspGhFOzzIh0vwSX6K`>nGHH2%b39KTjMqj8n9St!fJS zfPMii$gj|ZxkOr^TL4V4uFk_mPz(S|gxaDMb_mZJY;zG1g$_7Qn8%q-Rc8tcZEsT{ zt2zDv>azMzw1j1W(g+lvK&BTM;yyrYx(S)}yzykQloQsd}8HQG`5d)4O8J zvurIULr!Ds&3hGgi9VjbX|ukce+#FDdx#Z(O{_(wcQ%YqR{4=(eGA2}G4{Wok;cl9 zI-4`RWyVrD>vHIxYVV??l$w*9kE3&ZdQRhWLHwJ$#_qh?q&|j>R=mN^C=u#wgTc+O zHTAJqLy~QsH7OSO2Lv8Om-X-#{ZrG|nb6e1#<3xfE0I1>u+buM8jouCZgn2m%5ifu zY#vOgI@>q$sec-@ON#EsIPSFu{C4lc!U#GcF z@_YH@)s;Bg7y+}O6*L)aCwJ~f)M%a<(u5n69rn*nO_Z_Pdh8NfU-%Km%NjOI;Tz3$khwlrEI(l5RtZDGQR!BL^jGvDJus<%0S5zGGWpelhDS$)OlJ9 zL{US@lZ^y17z&?R5GbbsEdUUg03ElGsUHtQ5&zh@0GR}08>l)$3dM13BpeJByj&m& zgN<5PL}nDB9Y6={WP+r;l`|IJMyC-~FlpBbcaj1oy2;c;&UVId`=z+nJA>adQWyzXGhuX$0STAi!H z(&5IfT^LhWpd9};^Spe?rsLkH>hQw?B{S3gqVWU&+)8PEM$6@5tLiUgkvjnqx0b(5 z-q;S1Z!v1VP)faJ)Hqazm-C?QYt&jhf)Tfb-PXdK-7gnX`xR!&l5wiq@ZM)~8HDP# zZ0WaNrzCyn{#u=1>Up^HGaMqi^Yk~HE^ZZPmGwO}E$eOW+#CE^HC(uD=XP@_^!m5_ z&FgcE+3j4FG6(e77o-nmXs@f*!~19{p1ZE=pX5p}k^129kDmSMbHzyoo(nlfkzHcuWHI_r zDKCffZ;DW{oZ-&r47U>~SiR-AIiQ6<^YHlu^Cj%*UR{+^;#U1vh1X3!!%l2e^NrX=lwD;l6j>{=>`|)k!8ohq=yAXmI=!m z5`{FgxJIU3XX*kbiqsT5hjEgYtZJ)QZhg{68@M86biijthuOJ!kS<%w%R{|EyveGAhObjm2!Ez;`&~HtA11bs+`^!<){f`F%wWJHJ=TyA&~h(XN~$YoeRl z7ArP<1T&fRYh1CYEv?Z>;!?!wr4$27JM{b!2*p&$Vcc~*K~OpFe<3&x!EyyaxQ7aT zz(b}YTf-oWr6$-h9ViA8#7QWogB$`i?mBDz0v^W-q+^g-qA0Ln;N5eET}Kc##)))kTyk^K<l2z$AoQf%iS3KSYF=X z$VHz3(eHtsyWH&g&=~&Exp@RriZ?^pcq_k|RD4Wwa0lmZBg(GWAj1^Ti5@H^68q3wkZ`|5 z5h>=U(8r*Fd@CJ2I`!~JDdnMYw^u16S0l}gZ1SZ3w`|;E^IfYI^EX0|yIz;oac^{u z$tZo2P(~S_Oe?ReJ(ValMpR-O79DLS@9j38yySFf-C`dplli(Hdlb&E$nW z;a`54>4BsCVOk6)D>g zt5!qk`734bqb?>%(k|flj0*(RAJ*+T8)ZCfcr>d}*3{z|-}AhaVv=icpqy8G-NjzX zh~m;(j-+8F9oN-T@B(~Q5`#vl$0Bxs*%O$ zs|GQB?MLhZ2b6s-`)8V#C+JHAUhV$;tge))qm%G!rax0Z;cJ^6`{R*D#iy&onXXmV z3wg?qB&ACAu(oM$QkR+bv&Va>wfL#!4hnE1=WbWto!`9K?1!J;-!oxSi0~>pRULXF z-fsWlt+G**xV+A8OI;ROEPLu=&iabF2iJu-bT3fN0O|poBDKDN-BX@_#S1z-1lAzm z(!P%O1kNG=egJOsUjyV02&}CGfF=)6{Y~J`J5V(Vbfpo19s!dpf|gK7zlF{uh^V0d z7XfiNpr396ffNn_L&6}G!ifpKeEd1#7*KFMahx7O9zFQGyf}0^^wF<=&um*G^!Im0 z?t&S`&$=vA+8mnJg_ix((lJkU)g7I*!s9L?BDRF(>7a7fw zWR~qb!g}MSs;)I<5b{TaGPO^XZ``tu-OC&%oO%fk`OtMLFIY)KfzFYQ;!~lb;{-Kh zzPi@aa{)3y*jh368GX~2IoWccoe4O9V9F8f-0)L_<~_qRkfss?t#JyDV+j1-*RnJ_`NTyij`N+J{P9+Hw~<2H zS#%+eUTm^w(D+>;rX`*C%Z5Qk`nW{35K|!bUYC7=I-7jCHHmhe|5dLeSP+rEywvVK z=HL6`DZhG;(l@bK4|!gCKYX4}{nC@o!!5z>)X&Q^ zhr79)dMk(6nRHd;IiC~B`uXeMpS_Mu6WGc=P20>N{hkqjHq!~cAiLSa70)tW`X#$R z{hmse>ax+B-q`_L@31tRhJ|^9x9;_azW&#@&}3sJCpIf)@=#+XQ@e>Ckte#1j$l-F zf;4gzB)vnV&o4P!M!^?8#&Lg@JAAxnDr)w5lB=8ib(|dg5Yu?g2HU80uqsKiS>K#* z+$cSaTigBZn%Gli7rlVVdt3Ggt1 zY_ywL9zEjGhiA4WJ|#q7)LUIM_hU5a`C0QPFjwPDSD_fSfy_Y`CiZ8MLi+7*y&|@3 zG{!wx4-k6a=H{LXGccy$S5k(2T<+OOUYtB6S~Zx|v`addwGh~!t~%niO?It4K5)dK&YvavdibVx|0!kpmP@g{rG?@~*!T*KB1cnZ( z#bY=`E-?_|aVjzdsR8Keu!=un1dal``2j>Y4iq`-0Ok_-KS4nP%^1hZ#c`AXop664 zZ4QKiAqC=(iUjln4k)I8hH?pJ9dRNg+Q&fJgSc>VnGrKbu`Y19c!|EC&@=fTS@H2X z!}=X%eeF-B*!Yrcy#pocLwtwWz1+IHou4`59#Hfe`!@<{X4aZa4T`L!=0%$ zuXQcN0<%=s^PVh^JtIlyGZ_vO#Vl?|ur*xu>7NE;XIH;tPqvsDi!{C9i5+y{C)rwA z(P6yh%zhr-LH*}{5BekPdnqZ>PsH!_%c-x#INrf(Z1-xUw^XyMZHqOL8W z{Qi3q+fXz<>Kjr&UJzrr`RyGSJ$XSiLIr_?~xT;_0r>mt^Mq58Ds&amJ|FTf`faV(`E6%V~ z;z4mtki;aAlj>vHWAi%}-&eqPL+L5{YuuN8R!e%3r`uS=$>IKQ@ZGv?{dwJFrq`{{ zCQ-)R!wIJ*9z49KJc+3l->=mBn5q%5qpmZ_!X1=+>E^dA#pSCTt|%Fq7z^jbM5Xzfl#~Ez5neJF)5;#lmn-%nd<(G5Of0ExG)PpWA+CnH9}F z8R%Vgu+DbGRz;C>$rgM%*RAdjI9jJH6l_V0f`@KfF#)fCO?HK|V-=sLav?Lxd2>>Y zf%^f=!6Jqyp`6p^-pyz8P8+oo>&uSc!Z@gJi&6BaJ)a#CrI}q@ld)^Mw5h|i8fK)n zQ@&3PjQ*T;>{#-d)!Tj&`eLiDeH*#e3M0}dn1!43=j#mK1>QPPlODQ^k@A-Ph0(qY zdPhWD1IYjoA^c_#A`Kz1J%E4_0#f=QkNq>ys1<$NM}8dJ*CGfk69Lp@t|S z9|IvMOn`bX)K~!h`VM54SFd zA*PL)Tzy^-aeRAOi4O8yc5&X}YxV0W@JUv){m4Yq96K7)Vp6N1rS!Roqw?j8cfW;m zK7=6j`FMWYTLs-4V@g;_lkE`9$hExQ#$cllWM^#A!>MdUBjpLr|KQS$1m zZpYM>r=I5|Dx$SJm7j4gTlwAhxl?TtXbJx)LKJ#KH!r_9k^fC!`gXxuGpp5_e>}Al zd*?&`;=b2+?hw=Vc5yswm3d>qSuTPZ*RPF#qiNx=;QD|J{i9wjw^@2HDzPRdJP;<6 zch65BGwx^m4eeVI&cboB8ure85+R}|}Ai*M#e z-aU*@7?{vKEcd3wD+*r-T-Y5hNJ+4LH?;b-bG%8vhFzW4afeQinPr?g0WL)9Rsi;O z1w^a2Sl^J(=}#*-g82>vRNkvwzv?5376m&9929-}Jg9g-50&<4+}Qt?EUi$z#KZMf z-H7cjOz2}zb)zWK+Ja>#gig^!*eSf^hwWqBU5=W4zk!&=!9^>ZFlsXB-36B@5`<;ou6d$Q`?=>6T4R-B}s6@9NUS{D|?Jv&pB(dMC0|DGz7HpiZ691iNYM%~p~mvxYDBP+xN>+PrYEr1|Bn0(I8KnngoL zpPlR)J|g5d;hP>|+uS)u6V_2_83uaalf?tc?tfO=NAx_9IW!KAf1Ok1l2CNT?Pz0U=)MP>tfdFTQlh%TDTPbKGNj7u;YTSs(0N& z`;A)4jvcE*66RDbm(~T1Q<0VVnZ{uWOxg?Qv_5hzH1f=D2w(8{oWHCcvO5sBz=|(r zpV(t&KV_0kZZ;6-{0nU**Q56qL#5`Tr!wuS{8c9~i?iVK5sWw4H3Cmd16xQo><@fE zb{1>_h)glo5n#9bry;Vf*V%AFsXaAtmih_`F5dQgh*S9b{Iffhd0dV@v5{8h=$LB; zTPCe4E4aSsCvn&dzwgL}y3?j!3=3H|=yKS)IcpWy_SKksp&P!sXYz9U0c~Pb`JP9% zmr3_Z_QY#O3>>9@p&GYf{x7A9ekLxMnbs{E)>~%k19kb-R%4B^6d#&=i zPVNI;0Cl;0l5@HMMc&!i{o6B_kgQzz3a)HE{raB0*vJyiWOwjYCtTW_H3~6J&u#D6 zY9TSMT?KyhMarJ#wpgP3;6sYZ!dqFj+?SgCD6~uW;>Vrmt$z36O6{T#4`MEsIZB<% zeLhf}C70mz#k6fn^_qYLT`S*2a(mOtV6O&+p8W|%$3%>g>y?{NsKSEO&iOaG_z79e zC0Xn@Q!I;|H+hYb*@S+!$7&(FxcQ>S9#it)AL(b#DRUT69aao3tdlGY z^C-ERrM8Fq|35sPbzIZ$*T#oPh`>Za>8S(h?i{G3z=YAMfKt*8!cas)*l47i(MXqo zL3ek9bV&DnKGW~>`vV08e7!by?sKklUGLj`X)t}rv$jTh-Zw_Dja2nX_Pi48Vr~$# z4b{37Hep#6BE^J6UoG-I?*uATrXWA}SFLhvh6>W*4~V_!)=>c&HUoYF-cP??&FkXE zZwQR4q{!Z)yaORI^oc|5C41mU=~pRmR~0Pe%Bvm&5mw5Ev_L7&7BeKE#U*V#51X4C znx7xzd-mD=$YQ!i>FY|$BpKPWF%FT{xIgm-k7}m0dCOzH*WIu#% zdpiWMeS>=bw-h1)H2i;op5$D>_XwnC8US-4-uq~EKqNoT{;OC@ty})TiU03UlEw8G z{r_}+T*u+7`QP*cj5@&oV)g&!q5Wpn~9p7WoL%uwTfU5Zx;R2b}|f z7N))~G0wR#SL6G&`!2i8@E!>>>@_i1zs`f)J2IAVLr5?{mH_u=WodrCT`1Fm?{LW> zzKw4<*^!*veb3E{a0%8~rLOSVC*Zlqi-<>MHAEJ_lMX5lzaI;6(LQ#2S;Xp*6>J`Zp5u^QD`xW&8rJ2VGLte|x4*zc^pO>*FOKQyr)>RAR zoBmcNqt=Q?&BpAgTVv3mt?`Czzy$R%O^Z&XXLesaN3~RsOeU$-vg@@fQQMb~ zS1}O%CjGhvvYS0@hjMV&mMLi^U3ogAN>b!9{ndE@g;vOl3gvyB~N?OiT6v#nQPuX zc%A*(3wh*MM-@3&7M8*Ab2Fi|1eI?2v*+NKgW0qyY+b!bS-H=}uXrRGFCCRy4 zp5lfkJ|pOhX5eLMKUMT#adIwVI+TR-#^?QUxHFxngMhg!l!`3t_RrU&Lw;qgB;n+a z>-t01?)==hGLUurNd4Bb6g}6Q6)8`k?+b5W*CAKdo%w^SZshRz3}(;LQ#*UaXt-u!oq3&a(I}m>xCB0 zQ%(BeK}Q>rGLijUom`A@Q(X2;)5#0xKOj_sCEVqOhgOw`=gy6bsX5r{x(=to*14kd za53_ZCMRC?Z*#Vp`KRZxZKtE3d^SCZWDi98wG}s0iq2zic{*f}D^g!td$h&Y!?`^l zWg1Jn&4cUM`hRt>Wb1vXZ5>;0YrQMNf0ZFPoImfsH3ra%0E*^6vE$$0FS2)mz5^IN{)!WqEAK`DRRsP6XmD5o6GRs9S>s{# z+3@guy&x?Hr8U-@Hxt-Pjz7>H7q2jklM|heWZ(CbZHK;Rdz8{5+9{C+)DhG8hZ+O_ zl@;8w1h5_c^%4Gm#lfw=)nx!fK22r=Bp7IUfKDniuZ3C8Rb--YHMQ=+{fogjjyi5) zMb@j^`cbxGicM~fr<>=a@)@xH<#XB!LQO^|@AF}ug1U+Chb6-H@l`(Bj3hVYTsW); zZTlDF26WD}vy*&PvtC>+rll6Ws=HYv{o^4&P1OB!@E?%Yo6-k2j`L6_g1J{Cw-tk> z95t2_irzS>>K`o~6evi>X3`ZsxX6hKd=w6j?k5gPu#?$ToO3@P)+nVA$(z?qV0s3+ zn%&*KZKa=-Y5i`EF9h`@fTbTno_=elp+QxnsXW$7TUVE(Rg^)5e10^b&Xnq?O^~;v ztpsDuNfDFs@r@24H?#I*1>eARjqb7zyVyA=gEIG9(i=#M%bH8;X@{JZ*B1qS{pVP! zY^$vM2&5-(P97|orC++OHaor(p{=5{b)@eWs)SOgt)D%Hx@a}T(>%;$p;;LYd^|tgk|5O3O3$ZRHL-=TH`O<{B{{!7%Etlp2c!{*Jr_LYw-T`naxIf;ZuOM7 z>h~rYlnr^K{=twuhNnT}shSS02ZKkhR^!{_Jo+UTfAyy#?f1q?2H(k9IdzhSM@{eB zq*u31ylhkTKhqI&xe@R2xCz+G) zfPJPS5celSC{*I+o%@&nz1aV)TC#u_IWV^TugL-RRZ;@LJ&^jLp!!)qZX^P#*0m52 zP>f{Oaqk2BR*B~TR8}8nE>@Dk!}$uX^^1uzSb>=KbZL7lW4-A_#MU|Uk$WT9oE!~x zomW4|?b;ih3l->d=-w)Bo}}jcuSu!CE^3bIZFT2Vz-Pe>=IVnv#4a1y^>$u{-sKdy z+>F(tk6%M%Q*RmGBPpkVKu>GtwHu-f7-P#jr_6qpqb8OhCdy0OyS;f(P6%^dlHdoY znIQEmRTrLzeYfsNUp2Wf&cT%*NC(Mp|DDG>?wvm@90xYPPMXXXnr0ZQGMp7 zxJU0e`_2ioLexme9;4t)^IX3F{yw=vZZ?B;H0RHVR%_Q}=Z{P42CY^*PMuK(w+9r6 z!aa^M8}!0)V`K%8`NVZ{c&7=tX)aR`_u+qU_(i~jJy2P<;_@g40YJT!hl<@> zoZmz}`y@IeAPghbb~Q?y81WAj^2lUVxVzWfb8=%6o}Qr%#%s%lGqE|_{q8t1blb8a zuv;#z5sqWpI{_yATO~sE5IFIHZLNix!;e9MOVXbZLPR+qymH->o2V$Luyyo z)vJ3rZLp*81?8S#L&oN#3~sv{*p0=s*-;%%R8wbK(l5RZM+CV*&r@Hk5g#!jdCO!E z>TM+yhCUUptikJ;QZW`|8n$Bh)a>1cH;LuP?L7Ll9&x?&2MT=x)CDeP&+cjsFm1$y@uNl*irszT_d zzzE+T(3=*BZE4@kA5gnX;XOWC(7DDky-QJQmDSSeJ=jq%diy5RuZK+MAFd_8$I2_q zaekh-Q(dE9$r$IUyyzxSef>9v7^x_HZmgt>oTvg6u8=>VIzBC#)k`*yUe+4D z+gCaBe?VP&Qs5pvua=%4lLempwmKT}JDCo>Hcy@SZD2Y77{5RRdWxg*shK}BASpw-+);)bcu36jY=cZ)@+FFg!Dn5foO;7P?TYcl}#6v*$(}Wa>^%}uu*HwneeY*qGqa0WJ zH5=lybiRgu47PW54{jQH+S!-7I5mKT{o2(=i09-ykF+g9nM=i=2VgP3j|wlWvMxB3 zNc^3>IVcf3YB!ES*KDjs7J4CBeNqR4n#&~)hFb};*9c;(sEnsanKff z%h#K?{XmSvQ#L;SEW3C|cTb2$W}k^~rT=$6R(Lf$J)VtS;Ao19JS8P3#9G#g0wx zkebVB6J*s$P{bnfGmqol+>DS7$#=Nws;@Q-EW&|sIL@*Nc>I)sZSy~p)n7dc=<@IZ zsKTrtsRlql1r%a{0?f>_r1CdEc@E5z5`+I#ARJ#<_#Ljx1Inm-8c;NV&@f=;0<6{z zlofc%MTXC8b3`JQJ2;5_!3)=KD_#ib#6+2le`S5#N$k}JMS7^CPd$k(`Di3qwb*R`88TN**lPCwE1obG|*dY_@%sZQaGmDHfGtK>Xj}p zsW@#nYJs@ptwkvVy9WmJOPBtLX4BxY9(HR279fP&1m`_tx*!eu=e z8|{JV+XHcU=Gc$*m|x;pq4v$HpJr4W(yyc!>uhemb2g)Fnv+4&es&XX_U=&3d&R0Z zEAXAnAn(K`zV;7DVK_6~;l_8NLAg$U9r89IkFB0&KYD7NG2 zU8MG=mXIE)$i_^9WW=G+>n^NRhIBr;Z{2qMmxeu z;3cc@rP51QNs1v#P|fiMJ%k?$^S z_Kjv=f$Y7G>)ws2tT- z4wR}KFmYikdllRSjRv zRZ!Sbkw-*l>b5i&QhsC3L1JE8At;M;R)b#fqbRV{?YP3r^`;vN+h9`4ekwwTp(og1 zXkW|BgCH>YmVORKiY4Fm|9Ys4)oif;^^xcrtS|2vuJGCYqE)U6myT288ynv@BS& zfE=I)C!Dd8uT97hE$w*kH#&ZAU1ljKtI9Fv2?x1J#NoF3v{=M3`N(UX{iQyPik9ei z$&{S;?(U5KRD)I)SmyODgR?Pd0(&b3;rm_^+Na2%g>Io7L&^#gK;QrIp9kO?E;C2u zg@YCT?=yd|E&wd5X+VAb*Z!vACTE~QJHfeRDgAJT8;1Y4K(j0WbvHH~Xx(OUDjy)J z0SX^(_{Di+^%5FG6Ee;sVo+P89E>O_x^vngN)0PPP4mSa6hb-1v|4ySPcOqX6jMrA zA=hpGl7CBrwWHA1PQZRquj!*iSlP0B`}ekG8{ZL`;Kz?z+CVzY32qX_Nt&q|(UI1- zuRSRLzBMEYbgNIUqVfzOhhef0jW_M@!dK=N3}k&gC_gSzEA(zi=ftsZXylIl2<2Ny zlnp--8Kig8pGW@+>1q6J6n((i`mE@inY815aJGxUrZ%fvV$jL4mPGJ5UeD9>5I=l? zd}(f{!7r6>d&kR_gT+PL|Hr6y5Xslj2Ir=u+(F2rg~gfrF4J0!bQ8t^&9zGjvmEfh zvqiu^)4lZyO3>?w;5N!|({N3mc{W~?3~SB4zLKf_POW3b&w4qJGiYig=w<(CcI9BN za1y6~?$Nn6uYG3{3g03fl5ItT;`~(<7$&!3??ZMiZ)%Ps_jVFvVuNp`Q{56Xm-@0M zhTU!uI2Loe|3(L9sTQ^FHRG#C zVO)kU2-i`*mG#ya3-U`5!`j@10{A}SBUg-Y0kwdpiF{NfZ+?lYfa2l0x=6OtwmQ8p zW2FT_9u#O z{(uD7-ONJD;GEugp;}G?PGEBy%qmHUcT(!AW;MTA2Hs8#eEOX`AgjMUyeyCxeH7!X zI1`u)8Ow%e6&0&UJO^WQd~X&I@Gb$93K2GKwKc>NyS`qCA@VK-}%dJ$g&L!%al}mW{Kp0LutN_s$GiiIsJ34iv1g;O(!$v;o_z!0j!`Qr*)z& zzqAs(<>2|VT>Z(*s)3I{qUi;=wY-v8VqWMCD)e=5Nx#=!C zh7NNXn=;AQ`}7YeVMH&=nb$?Sp=MJNP7m&_P>W)fl(aa=?TvBmy#_g@y89yjovHAg zi2^Fyq$IcPFfWkLVld@c=dM?QU|!{`P>^h|qTsA>&34qV4uhPP!1PavAr;hH=fm7L z9>LfgOjJ17l%39)0-IB|;d&LR-pfvth^qMA{JKExP$d1i@$UGv5XHwI*l3k2T;IuG@0C(wtI^p;lDL<+s8 zCK^NcR)#a(jC7iVDRCRbsCgc3YcKm`0`r@rTGx!6)s(YoEFV^tPhK|)k=AkzBv#bJ zf|U$93?F5-wSw%e0I$dXKcEK&{ii5W_upMVVncx9+?_ z0gCH?qT^q92+-u-n2jr9rUZEdv=Bf61$>@BA&0U5|JMOXT3lz$>yn)X+>$~7d^50n z0Vsoitz5WW2}tQ%M&g6$Cp=O9!maxUS6hzfi&3;XZj!6b`lt1K(N&7FsFCZAUv@UT zu$aT*Pw?T9q9=Fh$(?N4LkGt_KHlK&W3-%|GX`(i3{?0C_P(9yHN_HN@Eu8KPS%Je zC0f)5|7=BbYLAMHuJ3$%#r#r=uHHwgVPn|s3;+C28rU|sRq6dc!LF`NTk(+{yJG13 z>#gfdqFQ|_3H7cPv?G(uL7AvgjXl8LFdP8Fx^}*O>RQ(ity=2yj<$?3NFv>VsUVd@ zPFfv$Y@zER7WnTtuI2hBw-@>dcI9>2?HFap*L1lZ<9{h!)iQ`-th$3Q#H^naOp`zu zq`jvX$5=zPRyA-v)HHWoKc7#+^QcJuTZ;wp_s+){xCZOo}h-(MlPqw6it!DFh ziEdclS{7~J^43c9Uiqkg^X&$q^EBAHK+SA_X9pI8JJ>=u5TPSkVa=~xNipnRwE8`z zwIs6!6qR+}w1dU%@OZ;L8x5CVFETT`*t9@l}4aqPqUtI5bG>l z>av9#-7)(E^3h3~R(w#NVzMLObFPylw{QI%S&`-A(c@&A(tf<}ap@#5o@k`c=0!Hn zOCiZrsDkTpt=+*2(>@+nKiX~61jN(WZ=bNlqe8Kv?C#sFDCKZ&(t@8RwM{6gRd za&J%Pg;=Dl`o=)KU_n5u1K#Cl$oeyDXGb1j;O)`*{&GhD$;RWwc!yQ9fQy#LJR>N! zpVjqubED(xKY-8HOc-k@7mKuO9@s#IE!!F8GVzw_?ZUXeYf8+$ifC`USoEC`-k zt6YN!&uP;LrU@%T!t~H8^)Hh{ns$YBRcTEYS3i0`dD8Ko+W)!A z-%Um5(C}FeGU@h1=e{dJK>lEv4abYp{{xzc&Dw)r;fKJ=($|=gZIpTe-TrMQ3zO-t zkY>-KxvhH5i^1xvLju0c!THTnbnUd|7sGE9f<;07)fZn!+65DX$zM&~l0rW!?kMX`(5xMaPkmLlrT+c(<|+Be z(<)gp2{d9;RkrRGWwBs=0vl&hN9(?%qBBC3|%N zF@w_<4Wb({8hPz?;8tJ%gjg4Z{&c^?!}6yLe)>Nf>)%ge1%&zeb)+P;d%9k0nY4v0T&mkh zr!O`zcHUzzt4OgSZx@b4a`unRL}==x$|O!%bgGr)-M+M+P?1K_&{RK7MZjsJ zV=?sUJMR-{?e6o=GwBh5D!hCQ=QKh@$xxU+j~6&6Jun||+;GPm;Y zR5SJ8#dpG5sofbrcu^QzyVO)jX{?Oj7!JNkg)%Lz@|-4mbB@1h7?Y8{%Y`-piv+*V znJw6tVB>k<2kMEluL}_o@F8%T+!8oNDHc(mX{$HIvvXKDGT=$=jp1kOz6(N>YRPU8 zA@eq@M^EBzgyoAbo#{xV@|UhX|C!IfG7~Q%ZmzCNyr^369z>Z!TiNp2Hz{GX4&VNQ z6(e}{Xxw1D6--0}3wwQ=WqVKZDy`SM=2WR=0S3@Z^{txJGba1TFWfF52?&nCxm zwysRTFGuN~odsO$GsL9+eOEO+f~HNqU&G&Dg{xwotU1Xve01rqQOTBPQ9TD*Tq^8j z*w?gnm0qN}8-VbY*GzuP`);CK=j`~}BZQ<-vKJMCqItR(h@Y}Fm{mNyTRPv#&D{+= z*yaJa_WCXWi@=5Ym_h2JsjojdW5+cwdmMBWIvc8-`$bpkO(?23AD}M|!2Nd&jSGd- z!d*4!gnkD5?j7o>*eW$HpBK_C&4li0ewA=At%;mYJ&vXwkH22!x0Jt98?00|42^b^ z9OLd?Edu+Jvp6|c3#qM0t^J%VG-!YHfmiH0!kp&1Hd@p1$6iGD`q}&A{qaNlSym}2 zGNttDxPqBh?_B%gf!wxZTeZn$pHX|R(lw9VZE)103|JxTBhjiJ7tI`x7ukt|E?d~x zrB%Cgh>aO+HDUTdds*aJW3P+kFXAiq{g`=qT@u;@2IqB9|PL;IYq^Gv6xftVi_(k*xX;k485NI-4H; ztY>iQ$ir%G}+`HXcbD#FJW;~%{)6y5tqC3;1KFdCC~j&7W+9H4(=a-yAKvzc=N zFehsAue@GII1mC2@#ik6NDnk+x>}k1#%8LuH7c_~6r7$$0J6Y{t}D$kIV$rC_(!a( z_L70PLDU=I+$`#EeNPmm;1FeAu{O9h=(*#!YtgqAkiFrgd&+q0Q-gj~Xa=c#;X{1< zVG>W8^C5EHi4{MneKb-(pbT88wv4x}&cxq6Wg3>4^nyf2u1&~ZwLEs$TcO-~4_Fy0 zr*P5ApJC!&>=bldt`8VXa87kr`!;8a+^Wysra2c9xscv1iAqhU2xa#6kVtH!2!CaHW3#ihC60 zPW%UDuOsM}f;8fO_TQj&b%VBF#m5&teNqA93N0G_t!g{%D4h*9sNsPMzPGpLS`8&( zy9d3x3-Ezk;s-;23w7%EOhJWeUjjQRPQ$%RrsLz{ z5Gv^|$!<5AOGiOAHZOG}i*Ud=0XQ*~0lf(qHzR}ueU5*VLEYB7?EAPjSzBs!OR8Sy zNm13dzR)&3^moUj(%mQ*E@M}p*L^u%V_d9ZL-g?MX5>Vx6rY}WL-7-OAl(ISI+y&C zQd&!WNLXn6g9Z$VF&!D0p>Z0vELf;7XD$uy>kg!dEh- z0b>MMaMoV=NrRma&YLQUNi^@epg**IT;tzW5E+H!p~Fh|?k_ zH0mRzo!|&+`JK6ke2m|Q*UemhJ|x7SEfKB=aSE?x2o}vX(2ozEAhkJS8Y*K^hYs4o zXIYz2);}!!W?x+bjgMx%{Sxqyy2^=c$Ekj=dF$3fOPIa8_4@nO$bmaiOn#|$0gI`uf9i$l=;$s`1 z99avJJ@Z%aZFD%d#c+pu_q3Ib@VSc82y~nc3J#`}i$QjQ7FQL#74(id$G)9J{>vAW z25#Rnl1{Nc4ex!+AE;$sCWwJ-Siun>DL)tq=03i3jK&ibkzM?* z@_fXLnQ0?M_gZ3Dfavvp;tnacO)E$G7u4nq9aAa~qQg67+gw}l$?^K0j3$2*Yd;_M zJp7j3zVjoToF&OUr&Ri|zGh88y*$*rUof=m81|-|2tDh@IJcURBy3^-GwnFvz2pz* z&P};K8dI6w7BzYr113f}CvD%ooq4m1Xhqbui)AeR@a@J|hR(`?zv!_He9!N7VhFI1Dgl4`p=sf}qHa>PH=s(p1!zw5zTkO@pS0h5M_%a};pc&QCTbYNY` zCk1Rx+@)hADQ?g?LfFqwgeY&_6`l85DUPIgTtyr3D@PPD_v+kT0TH_R*#B3u9l3L(^``70q4Y8 zTBSuQ+IR73Q!+ppRQg5044}J60Q)x{KxzPL?C=pT_rb;D^&b%7AGYgn0}Eu%qXC|7 z63&|m6z$glQVT=?+_VGqw&+&eolyW30cWpDBP5T0F8O$m!kLN9aDd1J9m*?79Qrk zPG;vx5TkHXpkg<)D-L)ofWePFFqjf8Otx31eLK)$huJC=W4dZ(2tFyymUq+sri25xc*fGfzG|#bD|{KW+#R8=*NNvBgq6GcDc`}lNkL6 zEAC(#EXG@J-}0|CoN1SXI=h^EjkKAO1e?gh>5`Cj0zh0+a6+;{f91~H3RQ{NO=_(* zLIUTO%Ve*6TL92)RT-{n^H_2qQe69@Vv8sgy{>8!4+HD#Dy<=7^g1k>0rOUgT{M zA-+%(?uy@3Q@o+YlPSrmO&4>}W(o{25=WVPMW|bU89~4*@Hvr49-oit@*j}9wGVGb z?sTzwV5NSo#F514=EVvmj*9YAjL^#PNcjdYcI)BSP%h@nFjL*cfC%R^?XA5X-PX{PVp!t`vuP(-k?Rm^%6P;u=@?7C@HfasmaxFt zfS@F_F;Fi1*~&z-^Cj@ITIA=rClfAIhB;BXR&~mOrE>71ugtV6BYiuP_%I@01?&?D z`v}Xniuib3c#%Y=;&_rl1e0$&$~tCGS>h(zDJHVBa+xvOTCS^7bmt>k`21V6P3=%c zfPQHV)>&Tk4LceKYavOx7#Z+AOA%s`O{hBP5*qhpNJcwPRt{e_H2wIp{gHbtTp-2f zmD(@Ku{ZGK)W=U!Wl_;{^+(dtetGna-n8l!jE*YZ9v$EM*5Sr{@6Hc%+UUNVsVAm5 zRK9#u{P_>4?Q3c*TgW`GCk$H$VwuID)#`T{r3=|*b7s&B@Zt?O(>iuPyk60hU3n?^ zFP)EZj;(IsQ!2JW3n^o9?VA~a3`F{16YGAXM}`ONcv}K$w6a)Wx6O=sQ5&mBbgucT zF5KpY6(5S$3fzyUV#_@y$`1py4f;YIc@7x;;ZYBB=}m`6=A@-b0cPK&3Ut?x@gUt!BTD){k-U^#cd666@yP3>#W6+5l;?B638~7kK~c?bMto8x)u%gzz5lp_jwVfCh-RZSMIHkkA+spt`RlK>Q=cAh4qlJ zn%+#TBI1`G0S-)Lj`QkikxS`Ea-}eYqiGkhFE?lijEM|KKJtBXkr{eXb#yPg-LA{Kl@-x zqc63X8hicjyH$Gf(E zZLUeHS;paL)G=4+viMN}U}Sj(-sfb?0?I9}V??WEhp)&=?~>x(crvGxd?lN0)~u z&f%9h&aG=bTY9=U@_TD|aGUW$T}wj?#Nx(J;7YMpwf6^9m^|*|7P6`k^s=sIpOYr$ zxg9_2B;OGJrPVe^{o5T~;JTCgD8;kdoQZ+YF1fsPUF}D228+`%&G6V-*jC$UZOeTp zQN|xB)ONi)QtVOCxZ3{Y*Syk-=AuWUIms_CWQgj8%rY%RmrwF!AOZKxCum`lV?-J9 z(*A<}nst(P@bA`s3$^RdE_Gqy7`MA}ecKX^@C2fHHt87`kAo@35gp8EoOHZkpy}(c zH7xO2$E(>-hdMp1%=_L}@;1U}HUW+->RyuLt_)eE8S3VpqkM$)=y$co!!zcypjJMu zD#0P97iONV3*+ut1c^+&>l5<68>y>^j~b3CHl_^nox~ah!GnTE`NTbShO?ZelL-*s;@4b#gLim6Q@}wx( zY(SNnOwn4Pz~Uz-th@>)|}JW^X@pJGSVVd*d(LS?b>yHX~;faspCp8OQ3T2 zkNbQB)g;=2@b;BAO5VY#Ra@Yz1o{eUJ}Y1YYI$iIuO+MP}W0KFlK~3Bpjf z(>$tSDU3fHrplA^BujY=eG_vjcDWIgL06%Gf;Yw=|GOuz+tWfFP=&Cpne0+Mry&{F0Wm zoSyYiNTS?WO;@+n{&n2RL%m_iTcQq_%$jA#HF2y~|6}(^xY%YwR#5ok2!)g9u18Wm zdX+B>hz^R(asrdJ4x~+Ig+mcUkFqINsUAKh&{q)J;-gHdWTn^GZc{cyJX(VP0TrX7 zE24?n#lUBj=fNmlk{2K7V;Hk^G`$vUgFf0p8H-`bu0*>cqji>V`gj_<~2a0C~1eO6AiV%I-exSGmB_F8VfOL%yT)qm(D6{YW;+%Z4*_GtoIU@;=3$J9r!9`h3PC0w91CKRLh;< zk2bu$O|C%I>w)^gsxPq?&3!zm<;pN*lkz1T--=%~UjqGvw| z8^ay8D9W=(M=veC4(lx5NU$8X{rvcwvY4@B&$E+Cxt}MhKXSSo*uD{^Nv?d(DLZUX zoXNBr^9+0*cnT>nt2rVJ=1vh|z2rZ}HYvZIQ3_-6)%evc6MF77$URXsdvBR{QVwx% zIrKJO_OozE36*5$N@K5fxu`_Zq;EaF#$MHvI~FyP_~#*qQg_XS6Yo0L$`7Tgw>Vxr3#t79VI_@9Pe_`U z<@Cdc`B~y^_>rE}zA*|+$|aHJ-`Y8@IC`X^MwP|sS?yWx&Ftos4@Ds^#EP4@Sfp!8 z1W$9s2I(ZX9noqrn!dcP9M3J_zt8uMZW?T2B%w@56u(W`fv@2z8dzgB`MGd(K?wBk z*svsewQhxr7dQa=m|y79Y+X&ovkoyg#dq}Y-6>8 zO&1(q``hu@2UE@%_vPq zLcWodld0^H7M++y4Fw49maDa0qY>B)iT^4`%|vXn=cvl~kZIn)Y`T(*=ry1`Z~uP# z@zR0)(cmr}ngg}uuvkdurUT>TL+1&R*3Epo9uVY923q6YcON1Uo_w##q%&52S_$h?u_ol3dGi{Xyg?GUHzJX-aRk2| zY@EC4W^Un{7>+5g42oOAC!FK|`JROOXY~@2KwTiB*PlZ?U7CWA3x-&=&hCfYL6R21Q zZsk0)^HCKtw=fCBx5ir$BdOVGp4SfBTFSl9EkN<_NuJZ}dJmUflNI2-=lOjn}(w0IqH@AeIGBcvjC8vT$}99hN4XNDUT7uS%= zYaGRaKRl^dFPh(nh|{VamHyxXe1AarA{tm|{UyQzu4&*<0IVc9YUSVM8D;!EG@30nxDLog?XwNw+4ArVT_0*=QWMz>vX2Zs1VN{~FI>=@Y=>twbriUp#Pi zR-AFCkq`Ajhl}^DOtjcvE$%J8XrI^pBhtrpDrGg`^I^4YbLjqJj-;?>PNz79K7HN> zyC_F{J2c1Y^Y|1TT6&zbFa0vfo$}~K*Oycb0~u(f^2tc;E*9ChpBIj{|50$wx#G71 z#w$iYfw_q6(@npwW!Nml1y~uD=tvj&r+m=5@IIlw{dQ@t$Ym(M=(VRu64X9{5RH%% zVlX#qpCC-$He#DY^jPYiiL^2A@|xy^KbNImK4-TkCXPe-hOp6-}NsCb#Gk zdC)Q$s!m#O$RBzL0`bGs@;KA(I#yOj-g8?~ay$@&w3Gk%nvXiLn0)CoN%8DUspYZ0 z@7P=%!-0NmLc08<3EE^Yf6p@R4uAZV-Ol3^Ku(shtsvyL7-od=tSiaGHRTNDsMkf@ z#4QUebz|(HI_4KBI`Y7AlpOE+5EVra&(uTwUv57-Q-c=rEf1kLx&@jT@JY(54%$Yd zFGiEfyptLy6MUCZZaY7``N4CcsWGMKpW`Dh9W+nQk*U9o-UVa@6$TMQBNBcL3;Mqw z@JC|~3bSuoqc*5xc-&syU_$M5+ITivE^A~V11vmPeDbGt6_vc*S-~f9V%L2MgY~wT z+1n0stOP!c(Z44=J%^}oKF@OPjC8PNh^o>~yz}Y{GDhCKGX*Jb&hLA0{a{z$a9+K? zulnrf4>+qHyo!2^Vkud2lNKHL27gO0+l6Jo*Qjm3$88Y8qn{$(cW~hxvLdvuO;<#_ zT)f2av)CIYfymhAZD~s+$12#c1hc$n{z(1cY1rcj-_JBj$psDz3wmB}YzEf3AuieW z!GmSShjvUBQZhms&!Qr~?HR?r`R#dI@a->S$B-A%cIO92xm-o|JjA>Pidyv%l}P;o zv`n&rhzReK?WBY!1EliP)9yvjG$p;s4=+^lm^FTzWM#SGmn^I5qX_*zPrqza*NjNY zs^ZB^<-sq>&7C!FKDuIOj<%(isu9b*xl16g>khJj#b|ZkX10>Qg!Bo1cgUCN5L;uD z?gBP?ZZ~{n$B`YF;#Bub?IBjF&gW7$GHd1EI7bYoN-jV-C+6L9V~GN3 z`8$(VqlVVywn*+-Jnmm>gZ9e)0okf*#=B54(G0Dx+|j+Q*p*c7yoOAcF>rTI`mNv< z2h|-q5T4wX3HtTmfDY67Vd)_6#ps(6KUB-N-2n9#=e;LixA6%pwzuoQw2IUBCj!4F z?-}ey8V_%yPl?yHn<^?+sbA4BBuK}6AmqjSE=8um`A#R&N6LDq+Y=%3Do)OqdMb3U z{bB8u)0|9XuVD{Ka>LVcm|u^@Gmf4|&0Tz0s_Ut(xkesd=cl$7A19QqpJANMU^9>< zy-qI%P1b6rj)yO9Q_{3a-f2_z76q>fA4?)ry+$erY}Er3Iit*^95N4!SP!oxuSvI& z6Mt{-Rai1)Crg#%G=!GDSzdTJrsipYw?o|#Db^;(c&Tk0P*FFV+n<%9$wxNyEHsAE zfBLw%OZWGoekjpaBv-|Pud%fJF|>NYQ00kwzin1oU1cmst%Yg2{2vhS3xY`nV>Z!> zqw&cAR}C)NNqFs`;i)`bQBLdW)YkKQ$DM!GVyChoaQZP%=p6x6%}^VT~I8 z)28(bo-f|I9c4co^k6~v#xbcj)*BUvE;IdhVcEHJHtcx%XiIpFI|1V0rQ^UYyTvY- z#Mq=vB^v+L)<$>np?|Z!X5y--^a z!`^hnJ`|$DK;oI4nFa#YcW2W*{?@ z+inK^yA`QFSy)8jQG?9*1JWODaT_#VSTtkUC}ne0@RHT1&-i=$jKV75fn>&=ZR$9< z3~r07{8!DQ#DUC#k3?}1&RhQ?n*W2#0H@ktL+aAniwUMKaKp4oIVmxHN8BxAs1kdQ=ll*<` zG()-aTxs{Pi0q-Uu$N0df;7ZP`UzE=A^v3T=xUyj$M{+w6na3fvBVLIQ1>T!?%>$U zf$$5CJ3P*9zrU>YacSJg`nKrt`JiP@Y5T18yMe$bS8VMQ!0%kPwwV0!x#st;-)nrZ z^X^%nCre+dS#4ZUo24IaKj*;j52f{f+b*Y`D0j-OVq5Elyq)r~a?v%KBYi$aU~1EF zn19)MwD41~_N2$6PtH?zI+{tvR^Q47_Nsv->LebCy6Kf)W!1DP>25oPVCU@A5-rgPv!srj~_`IMnd+;9+91WNcP?% zME2gl(ZyZ+vJ6|*SWZ1& zFBoA!=>Luj<9Y0{KdMerOL+%FJCa!QRH{hmel*-(p}|#cEUKS`_wlZmbFJtx!^xBS z&y`KY^)-=(f}dCXcoTh?^CX==aok&U>n4u>yf!&LFJ)<*&}B`kP^XdVsyNw_PHXF@ zy+E=%1Z;a~Gx)tss$HMikQa%Ii4)U~*U!vY@mzcu(0dG}{R@%U)syFY_OqqHg~`*B z5(!BjXH&``{yf|WvN7#8`JsBNJXyM1uVyB*qR4-(Tvs!Vy4vyng$yk|cSpb0t2mQh z^77N{v^q={!|7YQ%2u=qdGYQZmS`GlLswrtY3$~7+RQJ7C(1h=t(WIx5m1HaF81+X zgX`ZYs*jY04}UO}U5AuS&yPJV4Mb0*jZp{5m6AB2{7~k`#tiehqA@Kok^NhRZKHiR)*3-e7KPN(L7aXpf z(V=P9ttGk~RO<&2L7y;L`cZm@Dw&qrP`>~E&h@%e5p3P2@ocA+>CUfLNRm6! zz?12Lr?aE-n#xA*Rs?dnpC1(O-knqVDr~ByD3n&=Bsczu@rc(*X2zq)l4G*C zkUtAwh^F{;(hP2g&a0J#`vMr=t62>-kIJOg=fBW@v?PunU={$DQcC!S<~h2ywlngb ze#_|@654j{MI4(^J`*B@MQ zB(!4T+!YZ&;w9I`M>qJ`ob6kxcQVE8m~$Ee{hbN!ArHUmZuH>Wls5ec#gT-lqVG#4 zh8bK7h*~?R7R)1Ft5;6lB{F%`u;D-z?+cBN_lu)7o&?_okmu?NL0)PPar{{->0WHM z-Ue=f6%my~nt>wTqg>DYJM-WjM~s8o6wnZy`D2>TcMxsN5uZUw_vZrp`)kI?>%nTC z?s!|?N`fwu*40vJYMRUh^n7nvD0vRc{(TZfp4qCLN0@+Oh&qZGAVZ~*t>Gf}i8CozrMoTKd!$Q^+1(_M3+MIgVY4uKe>Ou? zXSkgh^gc@ z*QA5DEGARF*ChH;MM~AH(~qX|w3t#~uT%AnuQa?(L0q5AeXrGT_r54KuMSF&d&0jP z^GB04%&Jtok3|DVqSGa6uSi{rD@$m;)!*C|Dc5*Mz1v9e%0^JvC1a8JqW!3}*jGuw zPV*Tdz5hw1%kgOeb7k~zHe(<-^3t*|@uG0utG0U^`IadUu2>i=Fo-5@1v zXT>+4;htwNHSi;3FVhv`S_ssobb$t60!2EWS%;mMG8P2`L;+>yag9gNxu6gk<+|k^mY0N-WmHv z3)8YgZImKdCYP+4EMM4(%`5F)fjGuOXe~eIi%+3m4tPehRq{BwKb}IB7lNG*qe#{*>0{wX#I_T&gGw92n|d zPC{_R`3o5GXndEW3X4uk*L%+2tFMNRVs^FI?fC#K+B` zp)nFlnWSJf+-3>c1dRS{I;Pw2M@IKGU)BrkK;>f0)(FZX$aPK0PcN;RX|+~{G5h(S zpYilmN|KZiR(A0!mYRj^NMw}SIr_JO$#Q!9a6rSg8xBK7(fFz?ieSA;ejcTviyOJY0hW62*0|$Khj>$wCYR`2+{s zOUgT$RC$7_e*0I zcFIA3`dboEcTiKFz(klFgjo_4$f}aJZWhV_o2i^fAXG?!QA z8cO%A`xbBwH5do+`w5Fi@d<6I@(d1Vab&J{HacoO*$^0*|$a~~Mnuna|tNrV4TxTzc;y@>z$F@E?F!s{eI25y?K z<|tv&r0BqOQ4sCzHMF^~UoeoW z_plO%Y_~FfHN8@@DTuUnD{@d5bS*`fQB}!J?vTM1ogWPxN1K>WgyTZ>+#phIfmR_h z_G7d-oGSR$`{MFy8_`mVJbRNz`JEnl>-QLvA6F6yYkCftBzxHld5Bi?Qy&!#y9hE8 zUv%x|YN(nM>MXz1ykC?F!Gz$9KBoRPGLbJ0m6K8(Po|Jbj>OHQ>91}63o%ScEEd(Q z%d4{6D9>iml zY!I80CdQ3UkEkYkdFOnrko^_E08mUc^E?n-aVx2R;*oOOk4LX9Jbo;FHBd3tUoOE6 zGf4M^mimCTWGajxG=Wy;gMGEZc1)xCBPX?zoV|jqdvf&5ws`ej!-a~uS%Xx0_Pdxc zt2Q@;lfpP}0e)PH6m?p)YKeUol-YW#PtKa5)^MpHdOec)n19j5&3?+2zqsanXBd6O z*Tz|%c$O+&lPuy9GuMlE{%P!5H9RL(1^YA|H5KGZZCa`Bp)A|{EZ&sI-ThfV@XZ-T zXGdx5UUXl!d?py3o((n55_vN)v30WJ-2CJODPue7N*$%DKUUK`K!>5+EH_y@mJ^M| zafz)Kulv4mEWost<|N-|!;|oh(2+eCZUv&f0;qh|~L}`rL7@kg{IwiJBnQbrWYPHY>I)AqQIbnn;t?Qr-nOy4btODmra0TA&2l z1Z=Y5NNKN>A00epObkm{e<2x%*B-e*>ZUM)CcE6E|8wb(m(D($m)$o?T!Z`7IUS`z zPOn$52T-f}A0O(eM)5=no1QT@b1Ox=<>i(we+QA|zypriiXWw7lmmlg`E6NHv7uPr zstZ6Zspg6bl)dTdZ-VUrNGKgu0ed)*>O}o7TQ9F4LQf7tGj7N$r~v@6Aa33>Yw?l2 z>~}=}I`x~D{T~$tm``ql92+1iL5XqxQIsJ}s90ePdT{PWhI8W|2fz+3wu5}{D>t=A zs-2lghvRhFCx!&K&#`+@PT36++`6)ZtcL23Cu7?M20v??sZVHUwKT1m%el+%!CdKA zJP-KBPl`XwVakQ6jO357`y~6B33pMG10qLMVIf{khV|jJ(_4$-PA3GVWn;cw7q#(p z+O?OKkJ{nrwVN9qmdJJ0NPTLKF@;NqW`frh%O>uRP0bZ@Dr-fYr-Apd>>`W2{WGqs z4W-HPx=Y5%^h#T)SwR*`_ESVz_FPv3cVuvrgb6cs)`rminsyW8buaTu&%i^92*#Yc z#a+qvJoBD{xgUA9cWDgvOmd`T*Y@aw{&0bShH9s#a4{Gk@PGs)A^ArUL$JU z3Ea9$io$r?e>90#iHq+s(Ya_P2StQNk!xyqdwo$B*IZqUw?JgQ=P~`sM@Gopdafx; zoWs1Wh1ZrZ&G4R~AtvKfo{DbRLNBh63eLCV%%v~c-J=ZD{&x}HIo2R|bdR4CmclqW zCIcOVCFqC4a*dfbWcn~Qc^|xw_99Js*arX5stzZ98Hrw%z)LY#H1O4gm*r|}G)-E> z(z0=Cwq;Hv$Ar;x-R8xN7TbroLtb;8#|nWM=KUrg={*W7Uy;q@&ylI>7cbw*7u9dW zKAYexe~KM6GF~p>oobGd>C~_*V*g?8Nt+>8`16a~0L#{MO#!_AR`QYG3JGeeKa+(K zdD>u5P_CWcC5*UDT6j`c0F6+D^Qeah4G46DEG_d)&bnWbRw+6bN7-9Gh)=@vb$N#v z>SqC`nVj1r)kH*39DGR#wVkMjKY>Nw=1<4pjMVOhD*t=7?!a-a87R zTQj2kQ-b92q_J&pHyN6ENp2pAYdD&US7OscK7Cb#b<15dq?#mpaja{&MnOi3Q>7`_ zZe~-xcf8|5=7*~UPKnI#%Hv|Ejd#aXF+~nW$#nO_r|eeL8(;FPn>TDQ`G*nG%p;&) z6_S-ftvui4BacRtQ}WPlwq-o~sVpUC%_}Yo2Gy1D>iByK`Z~5^3eA*NVJ339$0b+c zE{S>fHY^*7Xbj}dRg~|<`FoY!B_I*QOlMLMkXMnKAX06~@SGtzD(g@+k&L*5Cp9Ee zOeX%>GJ0O2(O?1(K|xdx)tfHcc=%h}SNQ>ju98o&DI*A?&M9NYuyqUrF;SeTh7Bd( z0v#K$v&iiL=pp5ay21Z{2gbj>)ITqa*iT5Hv4-h!0((g?J_HpHC}}{T;y)A#M+vJj zhe5a@;2_`hoB!d(|1O8(yY1c(p8>1+#!x#K0M$cOkj{PJZ2uMoB*2f72qic{!B8{Z%nzc#CllW z(83;{gym7?_|snrCzQZ6#F`nF8r2)8GV*(b{cG|!Q+tzW9CCk&4VFTB+}ct{o~5n9 zocGIW!arWY_j@T5f(et!8)az9+xVkh#^3kEvsGXrCMJ*yA5Qq7a@92c5$Z8=eA03X zbyZ_wvDo{jZse=QN*|Xf)}dahzx*E_osSOj)6NVRcdt&bb}Hos5|;;e&n@JIT5zQk44Yp{To zR6lUD(k#`Flt|6@2T@U^Ha4jvc@`!Ou-~TSc-I6-8G2}*ku*0;NlcyPAWN?^?hvfz zQ*JYH|(v_@ggOmAeP-I}` z!-VEHLa?Dgv$}AO)k;%+{cdR^+)W8WQ3RazT@KX;5#>eAvCbBMIp=2nBKmAMTT+*Y zKU6;6raFYH%oWmn|IjMJL~b5WssO*k?xe_q4cV86Ljq;cEntNw?c}hZyW{X)Y*w0O zzVKhWBy0R9#VYeAfmVaWjPse6n0aif+G?{uBiBvJm4{0_d)v}&@NJ%SUs}IRi)-Sg zeJ<kbSRp@)1e!r}Tl_!ndCu_Zvqc(r!+&|fdJ zq4f8r--%kGf8dkP{t?QYUpa=YPXsL*1D{VGV$Xd)(B4EEq~a?7C}n5ewz7PNeB7$2 zStB`J-4*d$-kA}DM>_KYc!tl3&5WZZ&D3Jyhk|=`^+R5ElZRjURwCoqS6E!&6Ju2* zPbKvA>|0H#atYm+f55Py-`PhHmn|=&!wS<&E@wmNTH>LMqhv*V4NZU9DHx?wW?HfWl4Kx#r9sD#^c+`Kb zGVUIUY~(4aa^!^OX)9(Vk3Y>Zf{ctS0mrU5^2rEkuL_Fqd-pD_*4LkIlO&Q{ zx*BLD+?u+E)D`sv;by4-tJBC^5Zo$#->S*<3ra0^-dIkzxWi3`aePB$3fA%a;qx`B+mjtU+$(taM-T$kvZm#6V1Fix-5Ce#N z!QTa(djOJoxyA0|2)dPdYwhhO=`Aa(kRJ@;pq;+nD+`2$wkqnTsFn+Itp*AILd^EI z**wF#+lo0f;;6Br?S`;=Je@R0eXzrM&=-`EMbY6*`Z2>TzwTB18SY$y-=?3)w~uw! zs_`PY+22hN6IxTD7@dCFmm9W5YsV#9ru*t0oaCG(_HSn@go}v%KWM90wC-w2ppV2L zRpjbc)X2Rb31DT8K1F9%@8&6-Qp0}P=Pb#fuiC#+L&N;MC?fMftY}6dmcF`@^DT+_ z?aQG0(u<{!kLRCTd{7;WG7{N%fX!odQt~<_)X(a!K-UHBq-(Al^OUv44|}#H9pJ1d zvVjP*KDuHx%X~UTn?9!J!I68R!ZTo@9%uTB;BuIvc(7bu|2hfodtDm3(uvanvNlUa z%$Mz|fA8+KW2x+qfw^)*&|*K%p}IdWzFEU@au+6Y(;%KUZxEfY&Gw5uwOYMoPjP7{=%qBaSzosGF#Nhg-{ z0xTJ*{s{e8xxvBiYWiZdi>@Gtg(>G);(1zAO_rS-5GbE=$Zy5ofe!LoOdfzV3re|uK6?hn~DOGD2$nAZm;^d0uUI*n-utcRGZPK%9d>uJl z39)D`)1TIkd|I0xM;={&G?|~d>HK*{b#+EQ>V1#2#Fues{blN&)ywo!_%i)Owa!dh zxX5iW^Bhr@`cAr<7_u=>0&f!B&Cy2g+CyLD%lZwQcmDX+-mve_@usp07(;wsv@x5Z zUQoc&yIe93j}VKWG_jNIN|XHE+@Ed6DNpu&ipXw&iyD(J zMR7Kusm;ty1!DB4#)Lb!>=N3I$Tu2P=yP#W9SkT29~9}h&vvZxjQ=!)&LJ(F(rSBSeIFv4jz0L3<6lM?H3#fYwJKNE3diR9%lWmQ5}m-jY5f!} zWIy!w6zT2k6kS9i;cqq@ybtm971ykoI|!a%Sy3J*<;$)0i$jVC6nk0p3o@Kgw=m{&8Rci*Gh|RpZnE~UkW86nzv6n2cU)Juc!s%49DsxPpGZ+BCLl-Y00 zp1ns~Ai33a&*=LR*vNDGS_-c%*LPs+z%>O@qy-4;v0pW~LOF=@=?mvZz@7PGfUN|Y zcW2m&m58AR*Vbb|pd@7JV704!(?EfVlBS?;jWF09H-S_1a_Hv==8YxWNyy%>Un_6& zYA!Op+)fLtIxz@Fe@4W~H3gAYSM;dAjjR<<{ZUXw_dClLH)};J&4rZiTJaol@g*Yo z+^>4ny~9hxtRMY%#poHUXrCMgfgdlT^O?2sZ@}q?fLO*%h+8%oo#B4JiFgDjZqir& zuiOMZ=m~)N$STy7ixVL4eP)o}wtJJNfO-o2=em1C;8Ez8f^$03S9LEaHX^yZOuQa_Z6fuo4^KSJaZzmcIa4UOYdC3 zP~(sQuX@zt-CTf3lar?CMAc#x<#8JwXpXb;n8pHA-p|<#QO4EsbMLKiyxr66>CszVx$!-xZ^U2$l%LWv^2of^mL|>6< zj+HXI^4A-iy?MdGIOaX(Vmb0$e9-!csoMFgvK5(^ox^^yECQ*<&R8?)y-MA7NN7d= z^<>@ii{(mqdit3Cj3ifYwD>(w{cTN(!J~4q$9jb0I-WMy%Y@JbaqJJ(U&Hrk?L;1= zMl&A-SFx|p->V%dbvcQcu!nkW)ADoIBDW~;XV`4<{b^dm> zwwj+u5iUo?tT`=3FEXjd8`TStC8AoY8M4g5k~Q{PR*;j{ocIju0a>2OQ6r{7hrNOa zOcU>N;K+gZcizq(UmuLJWzFJfF59{ffPbY(AMO|GU%21lC(HJN-b*#F<-aO@#*f_W z*YcpG4VJ>Z%Ijdo=(A#L#YBhY@qWB&i5e+&NDAno%HwIlEgw(#m}iorC@8r|7o+?- zA>_K+etz6zPqJ^}bgDGtiOa6c&v28Y?6y^!VD+ZpU70Vq(t5FqJ{UAM>a|xN2iL9d zyilGvF8cDFO!QloH7kR(w@bDmmj0{oQ(PRUKd|qx&Niar0}|dfVnwXUkLr22ctqz!{S8-!Z5{A4%tlqxiJF2 zga5==HxtCfxHEvNsO1HLnj3f! zOEv~$+0t|bDd)cgO&<2Y&@C@pt8Z|6dRXsCe#&@`^Ujwg+i-TKtS_0C>bo*6Kv`R| zTV2yBR}pl5g!nG$5Q@zoO{bziB_(w&RY%^`P4LoH*3f&*Jq_m%70M_#60sRB-F{M0 z6*)a8*YRjubz#GI&_%OKgp%!1SFZv|>JD7NcNKV*Pih{8tHP#0;a;2|M&*983w zPV>Z3X`@cap?$8t{4)q;5%fJ^?Y1_5uATTQR@3iNVW<73(1)Vk*%~PUm(nSk?~SW4 zQD}^?Q^kh_=*jI|QsN?t6DhH6RBpSI^=y=Jo{!bLh86mci?!e`8A`8BH`@9v$J+il zn0kloT2zjlN)ADXk5!K>S+t+tdvw}GH@+fhpVWIx)VDnqi2a-^0vv3kAjLLd0{Kq zWWvja_x*)*#?&IUv~@!35+8SEwrPoSKw6f+c@2}BK-BAW$)pTemUrolVlL&QeygUj zf44XGp*nfR8{JOWy{RxDfSF+;*-9&AaPRB@#44I~Xnd0Ws&pGj=jV80<_#F<;7TG& zl6s1Izn$v9a%hi~hcf@wbU(?}3VXqvbusk-wkxs>%lMb*A8Q-yns6n%P|-R9U5u&T zDr+g6yPX0>UOp`FkC{cH2h6~0XgWf!Jy5h~;wnJr^k7;MQCJi9!=I6zZ@YT{bNow5 z(?~5kUolBY^Lkj!B`wUYVLNGLiE2I7%auwGPv%nrVTZ}Q{V5}@@W_1^wU})gNp&gN z$uI|=qB~YIPJ{Zxg(P`zQf{%NO`C~da%+bWgY}9AewoQ&RzDW?G50t(kc062R{l|A zt@*k)p6R4eW_~#veY_;$(f4leK$hF+)jCm8*G(D<1+#0^eb0Xb?{&TNK%PX(HwXI^ z%M+0~2PNBTP+Bz{K~Z9@F$C`2K?P?Kg!J2pO}P#3mse9L=?xk8Td1HEBn7UCF5 z#Xgpnqz1CIs53!U)jctQ8$!o7h{OrFb11zIDzg(n7z)O~0d^7pow%VjGu@PRsLdyX zB}zJ~Dt0r=yc>M$6H3lQl}3TWLzGo5*oFRgU_c1`2voOk&<@}jU{HfqDo_QXAgcp~ zoVOC+f#vM2e=(tg|1?J^Mo80oE=b5hf#m)BWxC%s0+mM)qYecPehOu;83BFp zxWZtk(dERB(g=srVeZ-T=(T3oZJkk^KTCD{YGW@?onbyjnxc{#)siGe5W)fz>%wpL zeVpW2&KTmirIz$#4wx_dt>1C#BPgq7n?6!{sSsuSR%+Spf2Mrh#LXJf#ZRcVd3t)! zp0fh#$@oolcA`l8?Hrg+~H#A(|jzOo8@WUiCL#m50N z6GyFBSHy(w!YBEht+}oeX$ZPo9xcp~!^h&38iHxNd!u$-3*fYCI{AUuX|DcSIRU=Y6l=>{iaP5U#xz`f8PRa7cW%4NQN+j~q*z$=!n~9Wek|I$ zXK}?QHv@WSM3-uZ`8&>-uHm4n103dAEk5;Ewf1z8l7lspLfd-!3m$;sa!WxAA8WsB zVmx5o={S4qsofc=MsN_Nw{dsQ1w;Q?q!#6pn2U~eZo01sG(kigliFnj#{QTOCopJ7 zVfL*VV2o9mlRRK~F7l_ysh^7~R+nhKGoNUJWeUHitCaLkZm>*)`l$(2s?e}^3EK4F zN~|04Nuxpixz2vkvaXx`twQFK!RZ^NOV~oK^Fm6FggJE#L=d zY<##Z{x75$b51Yk0(;&gP@*d{yG@Z$M#SlS#1WHfxQy(Z?lTW482>|-oWL}aF#ylC>*3z{|n(Q*|=oX!k#Xo4M%@qv2Zpb z_9R#@k@EnQn^r}_CYVQMw6jlf0t1<)pjR4r8e+YV<6$6hu4PoAUX4X!KKecyR|te$ z{j=;+!i4R6lO~q%J!|Y8mP25nJE4YH%_ip+QHGAgpCs@WVkL&M97~*&zKvt@c)J#( zt;d^wj|P~^+fXU9;in#xlPXKQ$cS3oi$utOKwFM~d!{@znyTT<;XzI*t}g%JEV|eW zR$U*Y)FqkSzp7g$U1AZHRm!qf<>}M7SCIP-aehoVG~q^Kh&gD&e4y!P4CZy#&Y|-+ zyN6wA>;F?upeh&CU5p}3{3m$$hamANo4uPkAoznhj9FR^mGS*=(;5Y^2IXD~wx+u> zf+)>6>f8V4V!Df3g@AVO23*kha&A(#z=xpV2{lRl$J@~Rw_HJo|3f7(iM$E(tcv&3 z0A<*G_y>%P52}fxZE!T!)WJ~31z+qs;TI_>SD?1od{ZI!$>`mIwN=6M=W4Uhb;)ag zdHKuve)ZLlR94ROOrY=Q^ED@>?1Y613Z)-@g!n?C6;~?_sq1cXuM=7Y}F! zgv3Z@y>ay(*02~*3GT3piK_@t@o(XxA6{z;J){$bv9gNST@T5pfm-#)Xl^I&<)I7ky8dJ%}p=C~MXEjUTT$FxITxgb?NH^IB#*7>VSu^otwd#-J!nd5n zC@wOr$JYpBYCf;`$!Le;imlxD7(PNO(WVBif4SfK;LzKbc~LtR#?DG+m&vp$6nrvU zUq~g>pl^4uu>f$1@+ z?N?f~>#cYlcH^S-Da5Vl+;gqgpINjk2`xv|qz)&XNamGIeluR!ktX!-b&_UOhRGzS{djBpOEQl_S)gDY~&G|t#z%$pXe2LJ&9t2 zj3qIV*dp{n{@mLaz91Zm=uWYFx*V1Ims~|dHxkRAP2QR~U*Ry>z;IQ^iqCGv&UNX0 zugm*bQ%BidH`AP_O5sqUA3h(tg_LmTuB(-<4}ZK6I=}zBDkbMxL?)Ji<(%hQxOrva z)p%qHoxex&H1*jE)iylrkJspr_JgRCq9@-2BGZ~!Bhryvl*}vY>IDSXbBO3u+THNs zrTF7qa%W45cIb+_lM*zK@7+u8tbs+%R+@5-+1xipU+|{0a&+Y7Aw31<)zTB;>hXsi zcWo<3T8T?GLoQR+w#pB2OARGt-5Gzj2Q!LJy8V;Fjxk3Q>h!yKiECQSAqQj z*scCocqmmts%|!-1ZhYhMFxb_OH}IwzAp_4{Cc0QNdh+u^zkUb#XyrJxe+3R8VJor zx8Znj>Zn%yv_Mqn+zq-mUuBc9Pd|}XSn}Z1$e`eAx#v3YODVe!cO|;?^tgOBH;t&t z_BCEl@j3^m=JxVr-R|W}&6q*G!=FdaCSAi(NZBKv_apT*QOQlk_?@-=7K>9x@0Yxr zXW50&Pou65;R~T2J!Q1*TxrU$IU-G}l%M*4^Mnq^y_JeL9#osdYhL`5h)pxi!SR?g zKx^`{!hYwBm+&KPCB#)@`Jg}u!?JN(%As4OhWwhL%j(>0OP;6H{#BpznW6V+U)lRz zm>6aeT#=}qsM%bCMUoLcI?q4Bw(Ofra4q0}zq+&;iYW1^)@Edw3O6Nb+3>ZJxaG0= z%0#cq)-!Pc6QN?QTw{gr_!AggdkJgmk{BdCQC=Q_#WUSDJ&=~0c`Rtx-S;$Sp6@!o zYp7E>K@@FkQ}Tlg2jRN*e*U6}zhK?D;+DVL?VvHeVqyGtf6v=tJJNDbyIcii4Ce&Z zV(+aLG0wW$};Zdl4oqncds}zLypbKF&$b)I@%G#x@gC@ zN2x1B?(V|gdTfe4R=eI7R03w#)!n>IV`a`Vz!=>c5Zi24Ma$rSZtp>a^5o$=|#UpWLl|(f7HB`8<*iH9|q{z1WwtZ&>Zb>z%M!(fo_2 ziqww0WE`vDG^_Q9mT;iWHgTTqv!lRl8|JKbK~2d3Zi*dQ(C#(w;HI_~r77E0>LYcQ zt$4J9)bnu{xjtl@Vo}KJGq32iGF(F9o%){Dd|D#5E=|G*0jnG>fTiwKITy<1JIuVC zCru?6txmtgv&QodL~kPgkmP3^FrfvPdnx_d7GDYa}fD z0#qN;=B7+J!eA~8s0}xFb

;{=GRsbr6Z_HvaE` zlA;FIATIndid}(91O|5N1aCk<(S0yhzS&TsJleGp$%{Z{s|lpnEFxJ z0bc$@O;AAR^8W_oD2^ATwZwE&lCK#PiJj(LSjiMqGoRz(V9?Odr=I^xNFV#?{I{00_!RseJ$~>H)Gec z_wCV2=S;WCTv=;kiGi<)&=_)FS!F)9kH?P~{Uh!5W(uSKyROa;rzdA`UaTz;c33%b zuUdJ=su}bgGcwfrsB`i;O+UM=Hq!C`0zLmzRD*|xD;L_>NTFkSFyg#p{VI?x6?bQZ z9fypz3U{Pb5c=oDzrfnG_?w&NZ#aW$l)9oTN5(YwQMONXrc*6{PiZ`MM$%tMXc3>F zVb)z`zF|#>QL4q6R`f@W#ibahtKT$D1U_GW~l}Bm&Zf`*3l$8B3FHRT(f87h;(Gi>&*E`aQ z3lbX3P4yB7v$BJTe!VF5Modvhha#BQooot0BzMDOBS90mi8xEDuo`;gud$ACMhZ3B zbB(al=VVz_L8_V7=7eTFlP(L?BQ60~iZ(#f{^Vll`LFM(yf)@kJW9AuRir!*D#>W; zFOjppxOp~L6$^Ego)*s3BexZe5`zHvm&)4Ljh0v z#BG7G=SuRiv8$F5CN->g;tjeo7w(yP?_Wp^VdGVXd&cqYYns9hJ-5+B{H)sO-#8rg zd30M=a$0cK=a)WDj+K~W%Lf*g6+wdG)#{Hf z6B;N{!IJnquB)DO8*vbUwtN3p35Ut|tHK86#+s2qq}^o#D|VG$&?4Zx@J7Cdi|_ zK11c+p;3$=*1>r9I_Iz$9o#aqgp4kEBjzC2esEqn`kI1eqT0mLd2#jqDO$_9TPgg= zN^W1ef62HS_5IZ_?&}L+O&rS&o&&e}d9h+hB4^`gP1K9CKw?<1(gU; zwyR?&3~izZfxSxuE%u-Ylh(AO3lJ%OWX2B+7cG`eJ>HbTOdJ$#ieRupJ02vchd2!q zKLGEzL2MZG%1gbZ@8RwT+@ToVvklG;Y0mE%;$p+21A!|BGxE$T;c+$E0$sdje<4Am zD_Vw$e<4V((q@5qx=Y|_rdKr@7!%jp-Qgr_?Thi;BU{*+`PW}a>d>e>B;J+bV3w}teE8+pFy5{@ zRc8((Pl;wb)!K9_XR10{Yr!ohJi_4&Hd9C($=o}^$mPp(jY8*oOsJeXa!grOWhRJn zJ@hX``+KTCuE`bjKITx98B^dn(IDApzhD^hVyPZKqpO^7OoB1Rf&AUo(Vd3RyRIH* z;ZH}S&zUYQcMTYm{*?&-S1N$t!B7%R4NzT&v=;_=f&+dMu%HIDz|Z*`85t^F3s^rq zf&m{SRY_ui51f(^Nt93N4O%3|eFI$vur2~$m6wHqt5h>s9%o_@yv+dvQWfwu6nz^k zWp3_u0{5J9xqlN*(DN{h|Iaw}5`YibB0;JLJYv^;_NJMaIGe5u3XlemUj+7_iv94# z6h<(NJDEMV@oF7hUb^P6Xf&d4a2Am_4 z(*;LExGeE_On9*mA4@8AmPqjzRr(zGC1-6t`~&;h$*n~Kb&on=?#+ncKkAZ`CGFKV z< zx_c+R!cY79~9LxoP#4~KlaeKjh0GPSq;U6XGuDS5B)a%~b>wK_@{vs)(t*FR$!E-8Lt*8<0iT=?&n zU%7T&KBHmf@;#PBl>NH$jh3Cv+5)W;lGm+W8!6XRwh%RxbgSs`YFiHSg` z9L+=nE(JLr`pDR4G*Clz0#7}4_YnVN94J8YO%?rtn5{U z{p1wug){aW*9}j~QPZF{4yeAWV8#7lAY$<<>z zBMkH_b6A%-l>M?-IqtxQ0lNQF#!aZY=kSimD5zhg+0yz?c3*4!YVp4pdn15ui-3DG; zdudCKSbO{&t&=GP^+%eISuD{5dquX;jOiKKK(akI40occeAvta@}1@eVLP z`U_#moO_Vb3s<(rC78Yw#IqRJ!F^D$6y3RYC;clts)_9LC`PE*S}8MfSH_csBvYOK zu0SqpzX%3@_z+RWD+)x3(|8(7ys$G1y~Fcp91&%LGRseD8jgPzc!A{!=E~ zGsoAif8HsH^&EHL%p3>?jiSNteQUVe|9Kg4L}BCpvJPLDNB{BrW!ijPXo1{X_atx? z`nC)o8#0L=ID9v+YLFMwVloMeH}Pr_9AVctNWT7Qs323>aw}@|_%Ge`pRMu#=9SC3*;f3pnBD z3f>C9BlaB;OivC~MEuLH2J;cXe!K<4`0skCYu?0MgT;&LxWxfaatM?sDZ-z!Io~EB zg7c`f8BYN#as0Yd;?Ewm)C7IJ&Zco-E-Ld!)(@#GonHdbfwUM{cx`PpcOS86b?9ta zPa}8&#E3eSs&V~-SKD8lZOU?1o9cIKFkZsT@PT(gX*c>|-h&B(DbBaVM1XFU-|MrG zrb|`&aj_7@SmGR zZ~8-pIF^CPX;+U9Cn&>ZzT#+#n^^zoxKwPgRd^yh>Jz;3&g&$+1ko`XgE@(IZQLj+ z-g|F=M3X=Fsl3t16FBFlI}^uxtgjR_K_|)}qIu#~9mW2kUqaMZteDhu^Eei-)wC%- zsp!5j3 zt~Qx1A48(bpm{2hCmX`s=}JP65hGe(G4B{DU&sl7Op6{e`9}TgmFEqgdGU4TBC)G7 z-t{Xr%=I4Y%v__x94E{>eUb)6LUY7MbLhCG)4G?bw&05GPFdJ=}lr=@>(G!bq3 z0d+POUB4{9U@OEuSx&fQ_USVsyc91rF0vXX7l!!0At3sh>P(}$8OW^jY{kq0Gu4kE zrPGUCt9HsY8EuB^aNu@T^OTmYsQmv|+IvPtxioE~gNPtekSrM_gXAa-h-ArmNGcg5 zOBM!1K#-h4G7LFL&XSWz&N=6t(=eVJ-S4yae%|j}=d5*p%v!VH?!K$5d%C--uDU9& z>!x|=b#1sFa&VH5+>@$(-$qMvT-|-W((9s^)A(P0%rd|qD)DHu2gx+^8x|=R$}EnA zhP=nY!bMJ-3zEp5XHZuaN%?}(fl7Xr$&j|QFder`GzA>LR~)b#lzp6iT}l-Mk2Vjn z;~*ls=Be9yw9Y*C^8it}DJ-ae1H4TcI;s=8ng4cxjtm{`xU^bQ) z2AhlNZ1%Kk{eqtr#(4BJYUWj(Y?~xaHySyIRlRJx|Gb7Ep7bbXXE|Ig8&<)Y{DO0} zzVJ2Y(iaZOYiUf7jNz@K=~nYl8HvDW5| z7A5fq<_&(V7oW8Earnjv&$)>g;j$& z*fAy#aH7@)5KM|I2m(iV5Mz<5yiufD^jTC5u)#5f|9zDLNK=4K>`zGcE-Z@zT#Z1$ zok|(WP-yB>E58 z3vKoLg79Yms^xM10(DFftsEeAET(=#8SPt{yGmsW=$$081-ottH_2Vgd3?5JTTNM3 z4jQ!7ezoQXG0eRf#3hLI1>DN+%?B zQ`AfLw1g>$uPTk&Ao2QADx&D5{;R#)JIcP%UWn*$P~ha?qbO;kF zyCE(;Dz1Q&4WzI{SUm$(8xdE6|sL3-HCuer( z<3#&@tDj%%-(AQ)=&#p`tTg(4|7g;G#vwj-jL@_;S0Xt=nM9We#n)y{n9$vixT25*|*p9jiE><0Ti}o zJw@w#miq)DibU)8LQ!aV+XCwJ^}PDpWEpYJt3L||TphYXrpa8(B+e-_lyIx~Qd};3 zMvAW!lzw`+wVn95+kiLVvFKZQeJnv927@$~|nToI7rw#^QTn+?{NJPgc8_nWbkv^l2PvUaZqbu;Pjh*jh31E3t}kWB4XS0x7+Tmosjjc|*64(qyE z36dJJm4=ro-R!EE3TODA0JS1)7+F1{_AN)utGmFp1KDKiW^$vn{np7o$Y__eK?%6*hwL2w>H`_7Y(( z=yFV<3MV^7gSMu-mMDrcH&dLPlsoWWEcSP$9`Nvsc!2(U0uIJIg~-(tm+O z9apMbwVjxuMQKrEmO0UUY9pwa2k} zXYgLksIfOWTs;}2Gyzzg&-G{7YU)esnFweg`gvectqGp}4rAHnD95}RDTwt^=9^`z z56wqiHQP9qjv3>7&uiG}I-1qO(Z79Qv9=vt#a^y9(P_xm>ghh)QcvaQ@1Z;Dh|gs9 z)4Ffs4=r+-@Vi}^?&Z{rIDa=%Swlp~+3gp)iit*UF=FZNSxv;RoarvhIIyO3e91Lv zD!@?ZzrgU0i5o@l#9KrppZGaJ_6(nfV86Hsl+@C9yE`xb1!9|@y4HW4FLJhhGxKS5 z5X>omc4nh@#O5i;38-DrnQ!ot=X3Q;WT;1IQ-~1`o+WkX0aFWjw!^S2NDxu0vI~i7 zCxzF4AINfh?P78Vp8q&|S>@4!f5J)~=iD)wY?kU&fSfAg?%n^n z*SM2>_vwoQVSy7Ozt^9f;E2>E?P;5I7vAj-cbAT5KOWl2Rlj8(i}(_qvb#rQIDC3; zJo2vhV5{=JRq94i0ex-W9C_{*I_1@B4LD&v(^u&}W#aclYV{rQPKWPJxoFl7EtuKI~W&?YI-QFW}9Z3z?n!jmGhFR(Q$x zR({ysZ++zMb2Txfv62epk*=1xR^RTF+%iI5<(>&bD_lpGgS8g*I|nDzA__;Z-h>ID zXC6@C%)_sWN(>G!`lHr-W%u>^Our0OXtz#_XECz>t;WScvS>7NrObCjGB}T&1eI zuQ%kZOk5|U-U4Q7w9~HBN-9Ou=qC6;37(mKj_)E81Xwm1FaC1FqFDeAQ*X$ftM$%M zs!;t6um!FccjdnDqrL8?L5>mdwL}Ad`=3A%U`hSqZM(aN0H3>DFh)?}oENlwa|C2J z44h$Sw=8nC14MIZ>1Cgf8mD@lK_Fn44GN3JN*0iD91l9-OuO+N8BUQF5U~_?CTUqD zt^9_2sTJ=jh|KsVbv%RCwphe+NaE5tSNjn*BNJEF7*r9|l{EIyQ`lXj@o9?@$|E3(eW>kkY?c3lP46j zz?GA=r}p6!u{rDq?wzB4{+xA^wBd5AUOZ=ZTsb9;f_76~B;+X65%(Vc=zZcrfzA9r zcAfi^8!DM~6fXw7D;1>!6CrO;>#_SF&A|*W$bLiN$~2|UZ*xnSf{P!xyFv13tPwzI zqv0&o6_*1;`go!T>8?`1QYwCopMf|CTi8I{W6m`ND6C3G^167=xSXRSHpMcQjI|Mi z4YYyb!0k_xW80;t>nrX-Wc0li;18ifgYu7)=R64TAAH0D82@WNAB~m({6OK`M5~Kv zN<&JNMeHL<#+05J(Z%yQz+j&blA=9(_OL};{F?G84`rG%`uW}CbfMaL0$rQD)3~;%cCi^*x>eeq$ zI&^guFbpO@fBVv9o3mq?&qPxQ2q| za-~%T1h$#^=Q_Q-5CMm2tOh~~e$#I;;?!=(cl7p4vifr7n?Ds?{Q}Xw@u-p}fHkc* z+d%7PDOItM$kyTYi<(cc={{^x;y3&{_4LKWKt{k;c9P6~#md%N_?ury#uP%Hd@>CFVw64be+y9*)n)k zF*LQ%D?vhHUvqu{>CM;CmBO1sz9%Hb0Ty!JSK&AT{qgAu2@sp0Q|)c5L+f}3~i8TB`u2mawOmB?w>ByX8o{^wF~i`$Y)#Wm8uC_ z0_><6z@8E)~MY&vkJ~WR*urje)6kpte8>w$mw+}9p zKNuY`z$?lQ&ob{~2t!%4hbq@MiZL)9^SXCJzwHyW)?9?yXi6=t=D^tP7wB_L1Ltz; zee-FavZ<{DVY+ZhYK>?crKa26)niWu(d!fS`pfd%%|S~o6><8=c|8km<}AMlWSEEI zf_?Hw+)ATSDu)-J3t6+i>oYGl48DB$HY=~Y>n6*rN>csMecOQUGQ?xKr=mVYv>o!r zHFoh)|17qUS-Rjg`kUbmp%j*J-e;gos6v2heVA75SmLm}56eRtQ~?IyhZmc7rEw5O zYyI8(fgPz=&a_Z~#9`4am~=zBI^JTu`msT02Tt5cE-h-dgBs%MJP#oP%^QTyr(Q|R zr(LIX$;wNr#76@~BwybdzAuCTbfYtmH-H29%k6e&hLL;Rl_~&vso!zd-9ekU|IDYy zU9p5e5raQIzu(BFzx;wIch19FC~*t56-&(h&h*T8he!;xDN|eel6*45+KEgm#vz>~ z#KyQPs$@r{-$|=W^RwL==n5Vs8RZ-0ERA}R5M&Yz&crihQoUiJ1*CxJ)kUq{@KXTJVxq(mGOqF7s~Fb3i7yebqypR-gHr>=dOy0?|>-CKTcbXb6a zub4^YrJhYZq&SG8s#KelLo}Gb_bH0pAH@Qq?G}4fx{XSZKs^v!(|-ZLGAG`c+2GCd z?&E7IQt(HaCC87hWyLvsVxdFD>OL#NXQEm3wuF}ZlQTa?mYOn%nRd0FE#XVW4`6A@ z&+hJ=wLdLVe>WVC12IkzHE?~C3Q*(s^KHESC>+Y7lTPmUa>(0$I_BfL?PN><3a~?1 z@|BsqmAEG|UX>C2`qpB=roKFMv`{#nep-wRJwgGucC}d4zY5U}`)(Owy=>4Ls!sN^ znStC+G^dEU`_o}>YSDYS@UTV0A1S1~o4&`H(Siwn_zwJHIY)Wp{hC|eB0fd7!emIV zxTE0e4r%KqPro?`&TXZ{2JFi3?r=$RbWS>ZJ3oO&g8E_8ydmaW7@}7c_!WYjuwYX zDSZ67dG@4cLcPf?-(L&nUKxl}xl=eov`F6#CgsjH?T+DPAx8{nk27(RtuUB!j{%3Y zoH*@+AAB-EMVv%8axtFZwA-arxd)7+HW>o5_K0EA)Z1zy=fKikNiEK#!=GSMCAOxG zbT|rC85k`EH^JLEdhUb`7 zc^rM5;QjhBxm9MDK(PW1HNSPIV4ssp(^pafu$y>(Af7~kp3`};!ScecOQfzJE7EL= zpOVtap1!21mF7*+@anx+dK?DzO3-HDu3~*(KOvSV-LYlSTcA(YTR@|0IMW~FOYCF> znS08@5+uUH7KpfHX;1|A07?F8<^$?xuk$hZUki`JVpHDQ^DKOLZ>UtH>yK8{f=i`$ zCNi+1`ZkY7moP|tI5vS=@*WW9WAYdR$cKTA0@ywPZ~ZgC;lFpcA0Sr(8DW0~2Y?Xc z9gv_T9LidvC4B$uHB>PJ|U4Mfg~ zuj|97W;-L&U)GopO8xj6sGPJKae{rCSSvf(JKSKn(nzEbpfmzUe^d48jk?7IWx_@z zP}vvS+I|V#?q3-F0xf=Dfm@Xwc9!PKn}}3g$N1;*X0h&{!+!Qfc5uPOHqkCR>_%KS z+I!hLDyqR|4gM@TW>~B7OU!EhvoBK_1#P1j!?DpaTAU_R5rhow(Cf#Pzd$G#lq=G3 zRwcj(aY_$HVC;iC>+(KmdBR+2RmaYV)adu>J{&W*SECHcaVRT}&MK)Yj?pD{QV5K( znvPJ9nfj%dHw4Y^@3%_T5{VaOg-71E3ijFy9om^xd0n?__TS>iANg&BJ~ywjf-cE- zOXfMGNPcP)E=}41&k<}R*pHr{f7|Sm)!An|$k8Ms{HiC1%7T|7#%{+w$Y`YfaD`1% ziD3&r{wt@r1P7`}R^EUgUpzD#+NOU&gE+B2e2mMK#X* z#gk&BFK#`eCX~a?=oYn6e5roxjGS?Hme1HtcM~vwY+#j^0qV?loSaVmN$O(idA9#YH z#M!Q@VWimuoCp3?gAMWziaSx2=vOg!`y~K00Ect;@AY~d-d;fuC$Ypq%DC3&-~=8uGQ#6Cv-W~xw$c~fZV)XfF_be zpuPy(NO|~s8_gHlgorp%y_}qH;1zX#<|LVr$CQcz*ILpA&jv6&9$B$P^NEvC_}6X( ze3_9L%1lrXjT-ZMO8CXKb8rXI)3v3}&Pv|DY0~C%p$CnE@90ezd%aM*ollLyB5QsV zVPa@gIq>{>T*9`>Po`coBRm%2R1UY0wNx=jtrR@ktFNrg{hQx+2!YMVsZ$KT>8d!( zsAYJr2$twD>NP4FTOSSLw`ElF|AXV>Cm0915eC5r#o!sM~WAT2?bU`wT$`2(uav{rDVg%g2d$QhM6&r!!H|lQi ztkm%0Z=c;aEBll<-VEi7=1^1BV zv$WMoL0N>-yv(|SB9@aHDg$c@7T(ho0^N zI9|*7P9JnKQi%b%&j4KK3pKgOT4L_0omrT~BdJMd!`_0u$$U$O9N%ca zy-~hRTy(G_z?X>?lu7I{7PWw{LB~f|cG+wmsAM72I?iPk$@me(|YE8Q4kq7A|_BM;a8X5P>xO>BKM4N#_jW%JwL8N(NkMH@7hB{4uts zy6FHwYc1!2m)HTu{}SUCX)uo`#prL5zVipA6&3|ST(53vp2eh1fu8Om#$M14M4kP$2KrZxurUd-^9e;^k77n#s zs&A^x&xv=-5SzwN(=^gntZZs@cHZBMv3xQ!rT^`|>O)ytmT zdzvISxx(6yt92h@F_ls7Y^DijA)FUyP3LNGTCY>O zlt25Q74>K7{jcfz1}r}9Z^LJEw5`_0;WG<{9Zb4P6|)JnAvowALH@15@EnG!6^%mp zuXrA1IfhE|c?(OE{pNV|Gy53>wD%#YiN!wPMiZ@3^0 z_WYodj*CIvzGj}_I5YPbx1?fubDfOiw!JPxFA>ZHEV&vcu>;o=b~6k zTh$nX<*W8?pX{9?bEmWG*cQ$%Nk!?0*-kwagowS&Y&m-91s#tO64Q0y2hi^C3BXPf zqNkWsIBz+xH9e)>m0Yhy+|La!s5&%*e*wJn`lPi-rFod78su}oKtH#8^HuZW<*%2$diB26|@RPuJPqF2OlU86;vN*!3rKNe^ z4MpnOmNbgJ3D467Jfk1qZ-5)}(+cNPOxa6#mtJ`t;@m|TyM~4&fbS zLKzayP4%)>a!8#Z0p2aC*vGi4YLLp>6}c+#Lpl5zl`k{4J9#-v$$a|qI-#cb+b{y@ zjAqY}7Z|Q5GUaL7FaSio6MpG6x^-nCp&cvX5vzTPqzb}OXP&<1hCg6`l0yGO=|RoP zm1#rW**trltj@bITP%NVOrEbU?p5{_6u}Fwv2&?W>m>2FTnqh;6#G*CKit#~vflj= zY3{T4LaCmEI@w9%c0Tgd{slVcog;hgJ3_Wz`ExymTKZ0#Zz6}S(AUNl0AT+bsWIQg zbRz7w$Dg0B;?qfL$yrgs!2`W7xf6=^Z1uqh5#BRrU53r-i6x(i4ek9c}}G^!#45wGU&bm!Bff1bexaymBLCoR?bCkf%&5;T|*+ z3JBbr>XeQCx!|vRHGvJ;-PZIZfikq9{2YIpe1~WUfr(HsG4YO=4bCzxJ4* zsyY_wu9BRi_VmWy5Ga8(*4(g#+^w^aug4@MB8MSO)6XR_C|=49lihNFRatUSz7#M! zF^{^)8%1$8tN20GEm#C?FQF~GVLmae35iGF2Z>zJ`H+D%K2bP;s@H?vNXG0XI~EgQ zT-b;)Ei+T}E^x?5J>aB2NoLQ$v43LQje` z2Gg2YS<}-KT#({BAH-zUE*j351rWA8Te-_zHrw{b1*!zLI6~aR2jVWr@G1G-jb6~{ zPqt`V zau%$mstd7Gv3cZRFH+1H3*`72 zHwjfGpEk#kqlX7Q8N|ftulD=Kv#I8z8Dr%t5u-y!up?ByVZv?MdqEois?>?3h^ivw zk!2=cw2Nn`^mq~Lk1@=u*T)T{`8_-gYh=o_GTv=LB~NR%nJZjoba7%X3Ic@$b}oZJ zupa^gDrzN~WNI6q1r|pcmB?;#35^Enxjh7KFJRPw0ZA!ZUdvy?6xkEPq(B zuQ?4vRS#)CjjQ34U$z9skJ<50d@a&ENcZ_*p^)M(Gy`Vknmxr1D$;yVj*kpet2e%C zkhr|qAdo)cct;!=jnWDvTKPQic$;b7vgSUVbe@GN4FSCkX^3jhmgN9NseQu+s<$V7 zd$jsdCJoIvBDrQuHDk|kN99`=0iOVBDNqjpT}6_L>$xm{RK_de?iV=ifZvL@WkPG^ z;SqTSaxJ^`h!4EaA!bO{Bj=}S`FguCKe2v9W3JiUXOiX4coz4j}?+0zozsNYMDusqyGiU5ZDG6;_RYe@~5Ls{NMY=qa^{ z3He^ps!MF)4CZIP7||8_P!kWF?K3hFSjCl>Zv3hGcx<`BoV4{ln^*}yg6|*biRH1r z=h=$v%E`~MFYDDHN4a^3{zEV|as#x^F9VHti>9{D)`N zw-gI3MMMn~d?d{+uhr`$r(5^SGIL#54T7^_L#GASucE)I$Xm#N3c>XF5_K6Q7*otE zWs_50m90TgU0_}XF;+zxi}Z+}WcnmoadQ%-9nIhwm?x*c*2{)aI!0$KBA1ZAK?w=o z6;B zKdL&dxf31=^in(b_PMZ=b}kd&B{xs{_e znpuwL=Hc`7e7_laBn(FOW8$H5Za%ZMC4A^b(EFeQmVCao``(kC(nW^#!-$?N9YdZe zs|HVxX&Lk0BXz4p@&{cU0GCl$xF&-uY44KxDs%`cr+H zduw#G2S)OqJGX;-wx`1;c$-C9W8^{X>mb>-*)r5vs;2Fe zL9^$H{n^PK0&;k3u}hK!nYS^&KzKNNO2P=;D^bmbcN>DYoD$Axt*TAW6kct!7@WL_ z>=myXUHzIci$vJ({ZYK%v(BhdB6rJhs;bJCZYpIN%+XQ(gs4i<<5t9iiC!;PJ;=H! z66)3IL;#f=HXGZBWTc=w9<1ld@Zp*9Xms36T#k$CE*>#uud96Rj+imC!>m21WiXr+QZ6?e64`5jfQ===(MNMT{h>N zdJeN~tPD%}Vek{4t!xqFDCAAlUm(2+5`(}D@pDhYG2!TWC=7ya>GsYoU4REqVvES1`|bsTpddn$30c;|gd+(=HVqvcmT+)sUD zUMkX{)-#qBfs6;G@SQFSVF7~CsThVg$4yI`T`+Uv|AJG!*(LF)`K9> zZn;iMU1cecWLyWylL~AjgX|TmwFyPWdx@nEh>1mV{aNC$n3*i+SMokOc1k~5%g}`y zWHoINtT{yGUxt)+r)(f^>Qeq_RLszoH-6n?i}!8ykuOc`WBhOM{)u;-mkeK4^~PoA zuA;CXpvs*X5>9)@8OC_G{=A=gw1`NX$mBUJOwma|Ud4j>J2-|7Jjeta)fo>&a1*d5 zwBaFbi{!Q}Q&4<3ulsg_NoW7QF)=35nDptwOogs&PcLz6=^3prya1z1OZc6&b<52$ z5%>@{>^8A3cSR=7*gW@p5C=0??8M7h85pBnlJ|@fOpGpZuLU!QW%GG-6@(xCCFG}RlDh=0%ZuQh8_m%G=ENL%gM(ND+Gc$a= z8S$tiBJ|~R?-#p~Y$e)0epcx5zAo_f%9)0L)RtAs8;fOf#nzwG;_Q=G7%}&Y-IpsG zsIwGA)8dY)wP|`Z-(1WP10M7m4`Cg;6N+g<=mFO~OPM)3{h_k5W3C+9P&CBby6tsl z<;WZiL7RS3l2@6kTm@)9meeYhQDET30oS_G-Z z@Fnmw1Auy`jX(+G6m|js)1aAyUm)(}qsp$Bj4Y}Xo;0ILM+5&)jmtUj7Qy2k{F*=RonJ;?EVGnM_b}jw%x+;gU%qvV(tcj zqOK2MoR6+Rl2_g$&i^b}5Vt}DF47S1QzoQA#8_B1ye-UK_ohQmR882C%Sb^10u&Eo zXhElW-dQsf_((L51oC16+txxy+A`z~KG$@};sLNLU^8TddA&kLeOV zek3BpX(!Fh8!&m3P9I_6P_4={|9&`U4wbn17R)@*IOa8xtvy*N3W50d%q6d0Y;{5V z%kvl;r!?$2Rg^z&#++Rt7{r$z(T=j)YJaGz8ejlYK(_mYTUWdIV0nTJyXXB=K)JS4 zgjD(a5Qsj_8cb$f-HD0LcE}IXbOcK2DJ(3^D6Mu(Ai$QtRYbw!o7^1BA(pHzwAq_$ z42J9KtGa~1b{^9 zYPO5FbJXX}D`y=hdOxD(6qu#g3Tj^`^bac9C)UC&Q>UPoCILSq%}JkHPfn%W3hpVC zICp>6PeFXOfw_pQp7Pm-7M$a4lzYP;sz_g&pA(Md9|n!-Ss+qzrU+hJisQ-E}S zS~Kr9?mS!jLl3=AhUQ#I!of(&sP0@D+IVoO=(vZ$n(kEJ*y#l-0@6Kjl{jB-{tJ&+?(K$wJ?@M58@TcN`-!(_M&$& zK!t2J=-vdrzd;(Fo)Yi62s2z|c`z^Ozs^L?pD*yXwsR5NK5=vZgF=ph;)tF(XAi9r z>qruS-Zqcf|B|+K!z86z?tF0lOd`Jc3*a)5JoGPcf~(bu0o;z3ZFRAN`&qG!FFDIi zjMTz2hl_giZ3ojv2+1=9Ulq~s9z0(Owx1Xe$ip`wb%?UftR9dMs$*;#dX6Rh-l{&$ zcTOvH9m}yY(L8gHh&A!>qnrBRS&Qk{X=k-xFg^x_MZCgQSxVd7eg4Z>lWA{FSA!wTkYE8wZWMhfK&v#EtWb$YXu&#WOhGX?%W zjh~Yu|22>y;fpLSp!_~*NdhUXs{PiwIrO$0r8ap>ucc858BcsF`da3RZxhBNr&jf7 z8CS*FALcHn(LhIGidT7w*5>bli0r4Cyvl@;kKbu3dYUW3)Zm14UrqthmQ4ZFVc7<3w>Sxc>Sch?e+#C*>?cjrDD#l4z;f0 z;GM95xc4n?(Rk#tg{*b`IN?J^q4nA6=KY~WmAI_)Vh?-mo<6S{yO zy2`T${l^}s#0NmFMSdep5g9cHhY9&-!T?OMHmAsqR5Y}XOf{hxbN>BaHHgd(bqk^3 zsF7Z1nL2%8;qc}-3pXF!m)!2M$$46MZLbN53d|!Jz3?K)IHkliwO9%CI{Bt@nRs?z z`Ezaq3h}*$U!b-_x9hnYkwg?ox6wZW@G z+3P4H{0V5}LX3RWFL$3qq13z?5a(=b#tuPK#6=^QC@*BnE>_Qs7SK~-xbP~{w z(QvNJW#{QxkeOAKH@>P_+3!9HH9z<{9xFJtG-_;NiZ@@Z>4Fw4b|r(GdpZEoDJsER z_sBfY=*aNOMQS~j%a|2SDqEDS~NYBUDdKb+a`~>Y5?*eTKz3fgKx)>ykFty8Bd7IYn-L-XNcxB0qR-` zwM2V{ns@|T=r^%5p%X;+QKoc|rTqmek_*?Lo{`3Xv8$W$BBWfnSvcV{+_{7tjJ^eC zmb1lQ5NE~Hl}&=HSo)=zMJ_?WPh|#BS> zS0^NAr~~~GaK;P&**fyHHWd;r|FoGiGlACV_@3dz3Y>HGQT}j4x(SD7b`4mq#@kwO z{liYsM%3*4qRXO1UzaF+`vc*xmOfG2o|X{NQi~Hw^Jn?|O0lZr7q?(qln3bq%UJ_1 zOnyXGQlL;V{8)z3s7|5NT=~h+opd@CoF}}E!PP+3MDs%*Xtk< zs19PAXtb%JU%}=8tsyzP7Egls*%Lk@w4^;r1=adAco&fZV?MVy0YI1g&07;-67!aK1CnE z&H)PqDnetuE%DOh`3#UW)*QKSF$SU^3#ro{M&Td5!aowjAshCQsW=kD>Y!h+j3OHz zzDHis7NKdMXkiEgy?8mI6+Ts@C(Bh@Gf{M@ZyEAnkS3HQI?%(_g5j3shcwPGelu z@E}>PuL|0Kuzjj9KwPu#1=(fcXZZNB z0d%GSi@=`PLuq_fWu(McLqUv>0*ZK6iiC;R)15)e_pJ|<1vY}BBi(YR;~y=SPB$uT zY2N#!j4G}WXdk-|jS-Ck5g1%U%PlS*yU0w26$=y)5Og$XDL;SAzBzM%8If|E$JUc* z!zS(cGq?B#f!oJ`@Pr-%zk?9U!%z$G2@rvd08*ner!zO8r8^gfVOL~W1PjnsK>+VO zkb`&$J<9yk2>iPd#Te?jh}X{1FA%LyM*YF1G*9XkP;t9E48ilSHq&W{u97(~@Twh; z77#W=TaN;=fl{wxe((p8VZxPZ?@7vEM{_EI`Tv1U^4G0+G#B zB{&fE2SSpx?m#Ob-Qup5NIuT4`|ZRELK;cZW#P9f0Ov2D3Jd5z#rV5F^xys2{;&R^ z|GPVYnmA+&eDYU+;Qw=ff8_f|e?ZS@^M9%7|2E`5FEjj)3IVnMt-^ajfPMB)W&Gbe zRM7`Qng3MBof7Q|6e`kz$E=vg5jS@suaHsGpvI{ zyB8S&%NBv#2&~sXOONs&N;N;v1^=~LQ3w`*fHMC-m+Rkc{;^!WGwOeVE~QTYv0net z=?hm@(AF~ThS4H}u!*t&*u3@QyoV}zVKIOq*3sd77H8a)P)Tb5I>qyR5Eg^+37 zccubKDhkHzj~=QgVo2GEdN-=3@mMrpXGaEVvlBsYat&dxEa}tGqol}XL|Br(562#F z3p+N)@4Xeq{sn@)KWOHK5VzE8Ar`?ud@_!i)6je^X+9|nfgS)%9%+3qGpj6B!~%+B zm^p{D^ak$-i7+**sjGEC!~i;0Wk%p!0D#cHOZCd#F(Ex%_m!RY!E}Vvq}xDXM&1f9 z6gWujnAwYzj9w`<$~+V)4FU-4uZEE_XV_WAqGLHy&=$`oR4k)5kB$5A6-2v+; zJG4SY%sa*6(~*xPKGNfqF>-vhdwlB=sHi+DGN=G}-TQ8^cge!P;iq@mQ+J==^#FgX z;r!ovd5bK4wf@&bcMrnWgP1S@wZx<1SE$I``vYnPhJSbb1492+9g+nAga18x=&z~& E2XPM`Pyhe` literal 0 HcmV?d00001 diff --git a/src/images/3.jpg b/src/images/3.jpg new file mode 100644 index 0000000000000000000000000000000000000000..60c1035b5732ee48d195bfb9082a5e0cb2f97bf1 GIT binary patch literal 43664 zcmbTec|4SV_&)l~j6rra6=f@AMkzE3kx`9hESa%XlA;Z*vQ%VCS|*Kck|r@3V@c97 zLQ+&xN*G&d6S5@P3t7(njL-M`JFoNCIj3F^X6Es1@9TZv*L~gB+w6zgHbjADWow0C zun2;I|H$koWHTZuE-oRCmz0o@m^V*SN`@dSBP}hXJb!^aL3N3`n(7i26%DP`IvUGY zX{x9Y*OON18<5FlbsZCPV?(pmYsrS_K``^?&6AOqQIeHaGF+yz%<%v7zu9s`Q4-e! z|1rxEtRe=dh?#wfsKa&QF`|FSfB!I8oETnQLUNvzH0)5QfM78=999g6$BT)<-eK@L zBBqF+zs$f=d;#4{V!1!TFe>4eq~@mk6$=^lgIa67Pn?}6wP>-D@)GS8Iz*B#*=XH* zV-wTOTc}pnHnucp7gx7!+jqF{-M9b1K_6egfWV;Olc!FHM4yW}f8pXKW?~ZiYVx&| z>zoW;CO<1XC-?S)hl0XKMa3nLpTBrn`Ks#mn`&W0V^ed>hmWn_+dDdcbanUi{u~+} z86ErccYI-YZ-$Jy-(CjEz%-?*B(M|O>}4f?{4hu|F1jy-y8cs_tlEX;4me#E9R+xrwrIqv8q!&nf$+fHVRS*H>BQP zVUKq#W3rxt*C7Z}xcCl^fsHAn&H$MrMbPNB6r_uZS9eE<8BEbe3S}_rFxF)RCyk6K zDx%gHkwnEt#So-mmq|JmA<(H7dPNPy!sZxi42;i*x8B8LQk;w8<5IEsg zoJ21(XAu*ACKsEWL=Z??+QD_n5Hk`ZrHJr8FCWph2cri3qO{u0$w0BV5Ot zJ}LpBQxv*qqKkGmGS( zacCLKeY05ItEl!3zCbKw|Kp5m^nYHPc(Y3tc(&j0g2)WYJc}!5e&qaoT=s_-u<=%)&|~e* zUzYT!D%^vAZik+f>>b%NxzHq|qtm+CSfedA%%>ogtbXz7^1)H&rQoASMv{)5PIewO zxBfn{O)$Q#DrC*&g}#fOCy6#@1ww@n0qqk z_?i5E_>l^O52Fc#Na1d(x3%k~JdYdU&|nmJOd8@Lj7XrW02~Ox@Puj36m*Vw2l4@V z5`_dQqQVl=MnFP+)hy!4Br4IZ3sKltq5#sKd(v!1J&d0o0b!Tr44_!1Q}Ehr{NU;H zrn-_NWl)S*!}#j+zA}l6ZZ*gC*)fT#XRl@Z;R*N`;;{@S5kus2L+daU08&f_)8ZzA zO=QDS2u~Oh?ubbS6Yhvf?B=8ABXPwtnC^(IYA?x0flgKJQKD12m@qjEP_zIZm;h@Z zt{B`r*V39SV9Vh3G#~)U!NXsF8nl$DEJNk3}JuW z|1uNF*|@zWb-7%5#8|BnuOn`;LwilQ1LgP5E$`g)iw3Kve}xn=!lMgMl)ip1w|%<9 z`GoNPX>HvPD(e}G6D^i}sMi?|3f=JBvWMmp#E1uW$dj*qJ)1=)P;M9(~}M+{}tA2W$e(!>$@Fdj9EiDkfm&ZLoY# z$a+Wl-44A~n|G^ZRut=~#hORdj=XwY_(62inrNdT5H)?!7Z{Qc8VHHpO+pyv zml?@%?g))osRXb6Z5<~A;4KIk8hl=#EhUD42F6T&B>_2`98YgW! z3)pifL{BP$s0y7@*&cFiTN98VxE5(Nev2YK zmPxD>1#GofOcH#GM)TD^fIV!qB`>`?a#7;73E_cAKp)^XnTc3Zi5XFnBp-qRaWZud z>ur>=XVllI=D-~qbHyt4wDqu3bXyL3YkV$_2|Hgxr`FZ3Swz`vOW-$IYDW2Zag)*| z{o`)54O5l3w+3%(Tdeg2dyqU0lqv{aksW3Rwx1ReTf@ftJFx}BRdgsS#*We?PCZ)?} z)CQCD3Jl*!O}I^)b*rfJL)@+m&b+GHTkY<9fpJQCa+@{(Qg-dF!s~ zb$VBo{?em8BkoMCFTEVPJ-+h4XCgF{OR+D_jRA2 z*Bcw_mPhYYQ)>BrX2adqLkj!e__aNrMQXR#%484L_JnTB8Si^h|I5{6smE z!8^Ml>g!|Q+M6m@Ny8SJzwCDAtU26P`Y3F0>yoz%B2I6|TGZw{c zeu@42qR3Q6c;JZ1-{*iu3iG*lAcJWs>q=#~UyQy3Y z8WG`-al->4AE4lM!c3EVU?QQD^8nMisyV(6CaWqsC-D%c0n-3dinvcka^wPnfSnN~ zPK3D66xUXTD@U(Mj38hv5d&nSB!o4JNodda=-D{GDTv~)wW$Bco{sKgS0flJJNvp; zV$YtaLXsNOXP&wLeRd@z`{R_!UVfg}-GgiO2MX85O`T#+{G}heI`4PY@WM4GgaT?| z%-t1Cv428+u~{VjeOdPl_cNx!*A_m}MWoiN{W|pW$;R`$+`csy<9a=ZeEntf<62i7 zzt2_HVRjY-|2pZ#pdbG7h$4>PeVHY1>9K7}hhw@<)6mA;b%WcLYnOi&IBK#2-;{qv zYV2JT^8P+DEj*qXAY{Lj*NNKkCQyq~J{Une^zOKA59xE-rbAz7&F{sNyMiuBFkThE ztzCLKukc}ge(TSZ|4O$dZcIxX+e?2C=Y0KK>CKZk!O5=dqA<-Df9~L4Dm;`a5j$$J z+izRRnPkna{fW1a1&;1FGhkVkST~fNKFA96y4B}vx_Z^`;ce5&zb*1ZzC0~Ebmr5M zt{oDZ8e@09E%D*)9K6}-Wy!(++hVQSVxoSr#(0Ab=l)UCG_N+jh#AH7i|%3X5|0!n zJgqq%f?L{laB#!c@4FfCF7aQi#s0OtayVwzGXKGr_m||aFY~;eijBA$wsr8Y=SHo; z)i*;mf0ta5Ev)FA8PYGAvXbxEl{2Eny1^l4Twg|20x)f;w7j8CO$qKI%(o+l?JN6t^a;W&#dhwqT0GNR#HVXrWvlHe?p9`&Y8&Ii{$ z5bGY-I(2Z>h6l;<)>5&9();5^3syJUZgl#!*ktNZ*3gw%UyBkJxMxwm${>1_SE z=tc!{yE-#>sxR@0ps}#bv0c_Od(n}lS}W(Zulv;*p|~*O`NoAetV_}kl_%Y~r=(fb zswFi~!faG6`hF*8zJuS}6Nw?3ccQ*3UsWEyb9`QVVe6N)MH@37v^DI#|A6(?{2%?Y z?C7w!1SMaoxi;G z!=)Wl*2})nBGS|&CyhQ_a^-tF)@>>=>8!~OeXjxCpnHT=GGbmfE_ zEAz(26+0CSuPItB{g!jr`ul^M>K&^V9UER17a(rXxbVR4X)(9P{lN_eFP#Motm`eh z33SW5(dR5)qahki{xo+I5hEf8aejd5#AKKhXn^EF-G~AWV@uToGGR*rdcj5nFkQ4& zd#S293MpjxSt%nq$>OSrY+$1y7_$X*%F9YU02}aNb$4+MI1T)yjgu2dp{WT^kOVx7 zD`mv-36e}UL&{xhQT$21D3t5?iLIHa1bVL|ke@|%X)8mX5F9`+GcJUv7(ML z@YwjktYu-nklZ5OiGRl+j}e@F6vEJHvet4I8LR&q3u%VPgK0>n+vB^KL~^8Y2GbOB zA53WlhEU2~j6km>$j~51NY}s&tmKi?-Q5wA0pzkxjC%BtE6@yg`!T=jBl+^%*tRNZ zg)lie-KGEwg`+U!L0GvZj071K_3O`GkW<wqs%c64jnldzU?s6boC);gyzrvRW5Ms#|eG(d1)l(}#S< zMn%db{TOk7SN0cM*+&O{8Z*ViBVA0jD-u!{M24Np9W&_KR4q>FDyeGHdep3!pRZ@u z)46Hn^Q!2-);h?VfQirmrx{J3yjN9p)5l*Hp0_NPiTcn~dWidTo{~j%iHY-$l4s|K ztNY%v%r0pV4UU^DrMW%cuy5rNr8B2fmfmk5w{PL?Kj8E5tns9)^!Zl~G%aLL6Y2B) zu}V6}ZDrW?-Hb#0EhA^o%|C)?hlXssw)1E6wQp*Ii95j)ik_8+?>>9wN=usPPJi`i zqxPw+S!A;fIp2KCk(_cnkM1t&XP1~!9o0}=m03&bDZQBNIP!Wk-EWjI|B04kAtgK@@5NCJ7M9Lct6_@c6JR zq#Z~x?pyr;SHQG=Wg$Ed06rxTPJoiImWr1$C&G@1cNBALpB)9S)`*_j$$%nF>58XQ zq=?giR;da*+uA-F5ku8MbqN^{25=^EUm{P9E$I&V1w&N^bb6!VUB=&*C3sfN6xRs{ zn8GJeB;eud|0_#ajRGWg-XsLc2=?_OMJypAke=Wd<~Hm$=^^j77vG8P zN^jqJB&A)WCe;%zMn~ZzRY?=1v*79GuA3X-WUVxU!#T>hkFFwuVJV+KtZ4FF*J; zX*_Cj>~3}i=d$(ukJX)mGb_~$*H(>hyS~G($lYV)^eU;1n_qp-lOOr|`0{RL-{l() zf2hS*_q!!{5O8My{xz@7Ud_4bl4m)hzl*Jj(Ewm&#TV75Rco_(IPR?;dr0=txd9?NK744N_e^Av=!PAtQH@QJh*JRJd_qVa zC~x_5bhIkDQ``V5(ts2wjyIhyed#v1 z#^y-fdPloOet(A2qRY;FAKEnPdFn5H*@K)u$tsN_NW_&bk5;F3tLNQa-N^cxJy?05 zxaO6_@ehC6T&JxZ20s;9NxDq?T@DDo6QVMUXgV*jW%Je7rn^TU+kM!zJmyP>`YD!t z8D;Un5KBUB?0|LN8RH?P#}AhT4$LGREp`eKL`)w|zZ!Dn32(4}x54%=pMC%Od%C~g z%UMxNu_ zi7rZ23!y31@T`0X+>b5pj4d?1$}~Mm?UK&a;nOucgQb=H|0cYU&*{3o zbDitf6aH@B)OM;>rcwKqU*OQS*RhEyIY2PN%{1ETIuZ5|^FOa1PsiHX~FBu;zl&XWM57KZ@#J zUNh4`q%C4p2~MW}5ph-{7bcNy1JlDFj#QQ_LE!0-5pO0`(%59CB}IC`%7*~#BZ$nH zMNDa8gc4NrbH`(0maINOtU<6*6tVz0&xBdA*4mHwhwH^55~Su3JUZp;3wje2=T2Df zWae5*G*B-bdWnnBQrDi&B>8?81EJLh$AL-(kvg)0yfJoaUS$>DAbqcEfPPeWPbJLx4~1pLw>)eyz0*9FN3-A-l2DKDdRq;lRvNOU(` z`rFH~`{dZ|l6M1X6qSFjCE{EBOz;6yx1$$y-S63|{ytHca&BI#TC~a}-Cym?uzdSy zFXzzr1JsF|y#5K08OH(;ezqd&%wMymg zoB4;|_m`c%+wt7gKiVNi>4bR1+U?#;e%x<5ce%TyW#>CriFa0Ex~-lz=|QuIfon%m zo0Na-U4IV=K5z9Es}q?=af3Mr(srCsej}07@05`k;>y0PInhwMF#h$eiHH4_W-m*W zl|5(LvusNLEF{GRTMzfUTs&C2s^Q0B8L1A&$B0O)ApC_s~;_TA^p(e{K1&>X1U2* zDqfSc{5l5vCbk`wSlDGDQ6To1@!U%3!>f6dz&WpOt01XT+4 z2sd-M_!{m1vb%LYAq-VRfT}PJ(ud~A%G^she9hcmV!$St;-Ujqt^sr*!RQ`bHGz|O z2=rfsj5-ZqA5s!z1Z52ReDcj6u4N4&D+#(l2bP z0~amj#`g;(&Z+nR`xiV=b240JJSgkb(P|Q(xgp=4JAYU48;N?%Ki;E|w5-y7MUurT z7#He$iC3QT4~~f$wr% zYA{DGue2`uc8vHk!N984<1E#`-TQZ`>Iaj%ZjTfBPhAcUW-CcJjsT(&_TCFsx@wt>>73duz$U`PpU-KbChbD*L`v ze({|}iyxLf%rht|rp&wYTK$yTZU2V2y`F2^)n)zCGc2o6EjMbiazBxJ>f*-{ zUi7#@uw&+6O!;;#TxwFX*t9sMW2oSuSVTH)X!nH>HU9VA7ccYu>P`m;7!yZJ4D5@= z4At5?ewr%ChSCPj^$(p&9ciJDXF#2JTZ1@R-^xUgjA&bGr28gcU%Wof)-m%INc5CU z>|U}I#7`2bv2~9g0cU3etUU_t(m<#+0cubO`X&Pa*u@OSgfi%MHe$eX1PGfU4Cdn0 zr~Qb3Ga}_t&LAWFk1j}*L8S=I#D41Bv;ze;7PRqqcLFkQ` z?6rcXE~1+2yMY0EO(;Fhrv`y&pIL)|tYqbbkm)l4c9n>D{EQ17q*AIl6Cqh<^2(rY zKm{ZLoh5KuhRz;5%owHO4B-0?spXafcgl`G}?udfSN7YaJ(9nAhj;YH5Z=Z3o; zd+o|VFcf2K{*lqF2a&N`L2II|iV3#5xR4M+%#I;+?(-iuHXf~9-AY*=*IZI_$ksWh z@SQ_p7IM#AT26lSE_;p9PDZTxb@QgE$pAV-mwum5Dt^29>bemtlPechTM{lCx~#M70u7fJTYZj+ z)ZUsiO1=|w`loydTXB`$@)OFI>NGz!{g7?+=T^jC20=FUc*MZpqqM`d~4H0>ss5FEfkefsh zKQvKMM<2*J9E+*}{UFvT@NMFMd?+OVq(p?y1eQ+$aovAhs04t`!gA~(0il&GflebT zK-1d^NJbzRuuBN8ocln^m{*ACDWff>3 zWbHQ++1S*YLc0(b-@m7)e7Sn%{~FTDejdH*_Ic|1-#q219ED=Sxs!ySK5gxh3R3h0 zVbZNzEM)Y(tj5aP{W9Ihm#Y7JQ)w$EuJlJxyKKxag-&~YQVyx|V{M=6(E`zKe!_Tr zW>voQPvSj28Kp};<(g@u!`v|yX5gF7FV(zT-jqM&Jh;v~>*{)+UenZ!Rg0jxdfq&p z9p`5st|mZk96uf+Tqt4w^r}vCd_Y2M9S$ouLH;G1sTl7|8SS_0qb%?_DZX=kRPBIX z>dUZ}+v#s7Twf`fOs|v^?%m(6#qd{cRhllkOM|lWOVSUMUx&7D;3>a)ceG91_LT)K z#5hRCMB>)M1us-Sd^MENI0%>Q&fX&Y53ZZ2)xrDKTi&qJ!f?B!{D35P*qyq@3V?FeCs}TA_Nl zCA2RyqApvah5$+PUQxt@U?&9z5Z)Xpr2#k?=wA_$cC_Mz4abMG!yVbzi3O+;LO4`o zx2)FzM76WAgN=2I^qw{CYit`D%{elQbbJZ>xw+gT2D?I~ao_jxZ042Pn&wD#TD3AQ z?L5n$LqZz8%g_INTan%9FkF;kDz~&3pz1{OE$dO<>_jP&oL;|r?QdC%zV6uM??*DG zdAM;`#XjNv#Ku;+9((U=**Xa{qFHET@(N6CueD{b-Bekwi`<1WWc{R&l{#&)#DEo@ zV3#^sCw`z{L1A&S#n^rQ1j%3JU5}Mk&;L`sGG*phj*7f}^S<84%h#s<$r|?yyZ8Bn znr!KB%b6GRBQydWZwT%}DmEY_5Cab_LyFKON zmq)P;n@^aJcilJZut~j@36VVb|A?y%YdrEbwVc}lOmeNpt=G+ z=87CC=wyhv88?u;1ZihQ64+UZ9Hf#U@V*>*oky0E900w{n&wVH87L^hU``PIvZ%l& z^2{J|jnl3D3;-C#&|pb~(HhH0yapo(5sSsdtJLZ9rkES*q0a&BY1He(p#gB#iee3T zWuOQrI7xyCjV3%i7Roh(%+^;h){v|rI6~${8ng1`IH*EKY^H?CiX?F`K*|AESztBGbvaB!$+8p1U$|A>Q0n5p{w>1^Q}Nm?+Wuny7v-O2=9L@D ztXDf9eldQ^>!$!?q)qJHcS4pRb0{Zq@#ZNSbzipSPh+FIWrx-U4*&KD);T`8G{WQyh~@oLTD7jvEpl!m~D+-8uyI5HV7B)TV^q*dXpmOA*a5c!(ldu0WaU zTVZ0A-Y$K*R`G30>OZygyDN9yvu=J66dJMaOZoQ;8k0-5I?z~;RmpF!*7|SKU+Fqp zT9MOx+(Z4z+Y4&3#zy3bm4<3fbvK*dyWRO^^XznPW7EI>ap#BjQbiUa7Jp-m-mg#J zGVR+ii`=msun%{$50Tm=`B-t3Jjv1=38T_BG|2$(ph4p*F)>orx(r4_okq;$;xjkG z(ELvzz^jcyO`8Nf%haEWjl>C)pfm_=K!b{n7y*ntSg_kL*H$X?oE9-rutA3btzD%c z&!80qs5ICLTe;4`CBV%nLg zX9(?2!vzu1n%V>2mS&oW%4;|q|4#GG-g1lGi9s9g^ApMNy%F=n~5t8JX+U`2J zWS@C$J|g{M%@2mlF0Dx;J9|7t>DJ2#J(`M*$7}S_Oc^I3(b!stP?UKa)30a~%AF~^ zGSwc8uf$&&8Iz;(Q++G{|2f(WXx6YzWNx7*@-=s7pjJ5~c+49Y=D|-A^27h|Gpy{+)-_|!d2Ue`Ny)ZZ!R*9qD3F2Yc z(RD*MlKWqGs#yzDiHa<4oseh{Y3(UAP;jF=S^Y`aQRphffXrxk> zd^R7~I5gUxu&Hg#tZuC^GT@hw%HK*X;h=G*ac>&YxwjHu{Fi$moR1`bspyWbbRR7H zo^HSH{l~DSW$Jo{Ju`n?8hS968B7HvlV5{4VMc){00&Kj!IY+|`T}e!3H0MI zd*dZSHrv_wa&eT5ICoRzX(N3sGZQ zejN+qAH*T59VAO{Ap|On&sZjZV9t72kCG6Pi57Sah6}m|6*cbxdJsM!kWRsZn1`~a zU{pOvO<|%SW8MQ-zzXxl@HjY2UlDGTW1YY}7*#pf2h|3T?J_7Olc+d3uoPOn<{~4m zcQ^c7Lwn%&1UfA5a z%k!pNr%Ai{>*U8sqx^`{O^WkR=57;m;|4gXPUqL4GCQg9<@z$C!D`Eat(y7dznQqh z-_D;K-j-dQr^(FdtTcRWDkm>2z)FgpkY652{AnAv+VXdHuM0bE%8mc?*n{}J@i_UM zI|(C5!1fxyV-7ubrBh5yU$6ap3H9la^(vG9yc73tkGN|w9T@enAvTC0d{NTHdNN3o z3IBbH7rZw8`Sov*Mzu|5+{!{?u) zs$2XfS1p!_IOUSbt8a;(3G1^AD3Um9d{@4_C0{&0bl=wBotDHud;F*F@9L9D1u(sT z?E98ON^RQvc17%`q#Lm=L$Sm^ck=Q&{uCMLvNy-3rZ&f1t=>i1WhKlnyl@MoB0t+w zDVHA$gKgKiPBx|n*vId~^-wq7iR3Mht*1t!Zff8?oVEQRt*wrjcG)Kk;sJ0*Y=D34}DL+A~1K0n6SS8!m7n0jxNd4v;{gf&czy7( zlxZLw_WA#WF(xEVZ9NTepSnXI1po>_rV>P?nW!K|1OhKj)qy7DOSFZum<-8MVxk7v zJD?cty1No2X%Zpe4v31`c4Njp48Q%ha29z>LxK_}tjm1X&}sz6Rn3AHK3V3{`K9Cs z0XVe|j+<)lhc8RlNddjiWKYB;GEZwIaV&AJAFZ9|Rh{CX0FBP}j zNKKVVYN_8n6sQu*y1?JJOM^8`uUqul+$1OM75n0Ohc(}=x4r@c@w-N2i)p`&=~q=) z&!$5pLJ)EJj!Ea8ah|%CQNonYy~0RchjR00ukMX4s!rG`ED&QIN^QF7eI+v>#>sZl zjbW5sV)tTgM5V6^Fx5LnY{h{{>)`?i)@JQeneWx{^0&I49D4pY^VBDY;-t8BC(fx= zSC`BG*fsW5uv)cEaAr%kIMsN~3~r*C-ThY8_U3v>m+~I@|49%e^yJ;$@#clZCiCOe-OTO3HRo^o*%NT~33FuE2De8|D~5mV zUoVl{8jDQz6%5v=nE$kWj%3Q8;q+v?zWJEydT;35(JQ~%?4XPy<4Q0ap|&U#DbV8c z^tUmE*a!9|33npW6=i2dEC!81)*d|e(bqWNT3zQ60ff3;&=h2*Iv4RKeM?v#eh z`ab`rCn<67mZQAzrfrdU3bVOmPol-|67_sqW8J#XHXBsbg=t?%8Y_#w=JHJ3V;(mq zgg7hfS4!vd@OI zZ@-%N;*Xg+-ytWfFDSfpJ5X=_;5AvTgMngF^w@vGgG|>xR^g?4d(EvoY->Fuo$pD6 z9P5LcUm`Y|v-J09=KIeaPlL2kjJvDWf(B?CcaWw^eZEVGyH!j|_1|6Uw`VBrYS+e< zrEB{hSf?k8Np382IH+ku7~OgC$XF)lsF=^!omXF5zrra_jI@^8<*y!a5QOGE8rD4U ze7SP3$T)|9zvePSk+gvPOsG1F;eE@3L<#ydisW+v>m9 z3=1f%YC<^WK;{v$oxl8beZ_}4`^Ba|Gjoc# zR3h3+mDp>>nHXD^sSteAQoH%ubEpy#3F{Ddnh*9`K7k=}gTvASD{%b5ERZ7h+m6D# zvbc(p)Os7qoPH`c1zfp$qA>mvaz9Z441(_B+Gyn>qAJ9UYf~J=KCQ8YORvE;LbDSk zt-=3khW{}LRQ5xii2qf_bF&wUYCM4s4NcQ}$QmN271a1(j-pdAW48Y?oHwJqiBD#`rB^w#vh6hE0uxU+Ukbj-#pmc0}O z{cP*a3_aYcATERSI$KIiy|d1T-)|$H;6R@A@%5 zzE$`05;w7ftkYw-udz`rD^g$Yz20HA(0i?IQEEqlhns|TN?xLI2YKNyO%>8xn7=k?`t=6ypAr~{zxVGb-{+grl-B$@vI#w zaa^UD!rnz43OS=n`M!EGeh*_Bmp!dNV3WKsd525bN&p_b&r_Kae^8% zl0stV1;;oZ;Y-|Y*0t_#&Wh2##t=l_TW;&JZUd%v^!D@ZSr=_pqT+|8Mk+n(GLrjT zc05;DTa~{~Gf0Dzy=!fEJuh=np-P z93Cp}tq}2$R;Hr>0kM}WnFD8%ww|Z~;SCE6*B$x~KtfakY{8=>I)anPngrqZZ$?rX zuo4mOGa?B>`X@pF1!^S`u!$I75d-=Iq+^aKLv2SxnU5HXUN2M(V#AT4bB<;r*zznU zyQk!P-TVaUeK$VK|DecPR^%z9>gN#r8Othe9TjJ$kv`;P9L^_s%NH7m@f3?5$@kf- zlJ;%574g?$d1_8~4p;mc&3i0&2~X7ryT8{li*FjmB1qBj%kW0Ijprkmn+4b(OHqiB z3Vo?=lF%~Uz>M9Q@n~@SJu&RNt%UQ`5Q(%aU*Z>xt ztZ2{1;j0!NExC`|I{leHrkr_8-#P~zepVJcu#)v8Nc}rqyRlj3!i)NtP?z8Lj#{|+ z^?Mn6guA{R52hTA57ayQXMwcepSry@iQ@AT5=vEE zUmkh;TX*yFiv6d_%y$Vd-&cghW6a!2d0M}IpU&bQ9AsTSqCHtfZg`|=bIHkM>7`n) z^p``Paq}nW8I+VulyVjCCv+p(omK9mAy0FU{4qB-zW3m#jjD1Pr7z9UpM@0o3BQ>h zHe66~DIl%nPH*N7o7N|(88<#Z$S*l@YWcOVG2VTpS*O)$D+5wIARPm(MOXacGtlCR z3F~PZe0|VY;Q069Hc*!J(MYmbR-_msjO0Vsn4g>km=d6pH5Y}#|59cZLR?6X?d!;6{H7WwxLz*`WLUbXGs_*~w`$RU4|1ga<`EZ5WgoxC-WvF4+ zYp&@Kj2)w zjE#IwJfq!`)%@Z0Q+_zd%jDA5LdP)OClZPs4Vq(_xKDijpzI>r!H_*RS(yu!+S7=e zq2eT*!^StnEaQqVu>2=j;%GprzShxwF5+HTX%n3lJ>{^Y@zg1c&lbYGmFh!x_Ln@_ zNH7VTH^a`jy7hZH&BH%^Sl4R3S~e$m?Kl2<&gOU@rEdC!tI06W=%9bao7>l9f=9k4 zeegHA@%ntyZEDV^*q0vjoB}=4p3(Ze_EbxnIKST5RNZ$?@#BX#TJH%8$K}HdPrl&9 z7e8Vx|ERs0R7j9N z8P!|2?2okfx91lYUL_pbagEZ-4cP-Zc$b9n0Vd7R_X9pN+t~-<^Rw!3PuXlX^wc2E zLB$T(LIdLzbR9$jbp|WqRg_~n#4-&jNvOV{Py??#C_dnGL;Y;5M#KqaplC=EIX_VW zYCb!Fs;v)WkSVq)IUbgB!2%er4YZ4+BB64B59jSl;t*vw7m>?y!BeEV37`N5ALzb7 z`*(nfsYB&VmwcJ1pgJij309Hse8{ib#C!7`#BRZi@nF#6^bj+ceAV}->PWJ^_a4gET6>zUxZ zer2t8-XVWM!kb**tBVr4z9}5OyW1*x$WDEYR7FILtn*;jqiyNzTr7w|Q7eh*Z#W zD%bDych{evOH$p`8SWZ&%g=3+&-wi6op$V_^`u&@1CJ#)c9zWa&bT(o(kqSjrq3eh z!j+9AivKw-JGpw9%S4n;R>oVbWS(u21a+qqb0KygBf?fQzO(D^}d{u)!B z{1S9&b~!9G=|w%p>fP|%7*L%rVtPQA#L9=4I~V=fd+1;XL%4OmBrf2o>oOw8rdwtr zJ_IMyC}c{XOjvjQpW%KkQ>y^wt07zmgAbemU}>2ZN#v0afW`{>oe8VHY2v7283neQ zj7Up6+wpozC5kjY3hqjs2?BVTabR2PrAYWe`vexELc#@uekaN0hJTfmGnLv5*1q9IOgU?`B%x2gfNl`m*KQbb{T&KDcV@;zj`h_Kd%@))oX2z5ev?hO7>7pKgzC?G|qH=6}!go zs-y*N?~0B@)04L>J$)3{QJ1~aHGI*clqGm_+(%kA(7EQ|=a;wUss3~AI`c@vw+(} zLZ;ukACoHT`KE>XQfsM7=wQ<+l2$}QHXq^+x-erg`7CtjF;pzmaTF=e%x2J!y*j`aT|)$E3gvA!{v5QQLIRT4Uwz1uTz%u}#n1j}RF}*2 z^VI4$%1Uj&7cP!H9P_zZY|JG-JmVg(uKi20@(Wy~Nv}u4v6Mdk!q+!U*EJovHn3Hx z|8ER+`u>r)@yQEAUOObL`B*4{{i*U#KkMd!51mV2 zTMXRVUXaPtQGe~t3)3`{QGb5Tv5gFFWK~Fyn#QfX$HXRGRsN;>JbBSMpz9O4Q$U?id>^tA9&_ zNQd;zEj4C>+MX`Ex9+K~ZTy~HTaH`*ZJA>JHDBH4>ErZ8ZcDvp_va3ayN5C^)m+>; z|5cRqy6~a*x-`FGQd1#o4+_3=5~NWmfFX|2nVV4;*H(9T3ECc5i@EF;0tOWTZlyYn zWN}pk#2v`m{LEf^{9K)aib}Aq6Jo1s4u&ehCoD0IguWh)vU*Njhuz63d~*_sOQ_pW zZ$s>X=!O~~K+po{E$1?%h|+RA!dYMjs4+$ZonX&Js6(^8AQcp(J7AV!qnrV)MbH(m zz*lL=24S5khbVWJ!C4D`Gs6#ZKDV94MvJfjArpbAK+!gm%7j zC1Uj?ie~Lj(YG1p_cILEawJ0N6o}n~lVG;N-Qst}hcFs2q_ve`xkR21iOc@TF*nPa z336D#!f$SWb9C{`kbU}J-bfWb;ny3Se`U~|^Z1J(bOHUbvg%1Bz~kZ7%=guYK3i2K znBsc>bHbA_50AwP?kqki~_$BA|CUvSb+OvpYw`o-*# z@j$fAkq<#v&YR~gGB-5(H}d7p%-D;Bsh@if9_3-?O_r+n*`=7AdHWCP)-{;!!Vwgg z#7^9g9l6=Ze77$7+erUnwcD~*&B0~iHF6Q32_;X?XLuyh8|v@1+*_o|PBxiZ>vGp9 z)JR$Ji%HMA=T;GBE|-=p|E?g<#pZljZ8F-$f0NNje>+~l*r8Pv_lsfWonoAD(*}2| z*R$+<)2Fs+ppsNnN|pM?566OXVSexW1o&GY@9`i`S*VR)qk0% z<-WVraV*o5ec&<609ZZ1V9vARgmD;fgm`sKc++7PS&!C9!<*uuB`{>(j3|-q>lyG&Ko<{c zWV|+s3)-k1hx9?x->%R0YjS)!9Dt}G@P=AMBA)=u6V5_R_pYx*Nug>E*EB|N*?<*s z{^DkM+fv1<=+w-PFF|~Btd9F|9IPl{Jir8Qpct#U?1}ic z{7HeEMbEJOpRL12Kbv37X#GhatG0mkkROhGOkTOqBqW07zL>8Ul)B6gBs(S1oQDY} z>I6fn=Y(BC@|7iHIY&$r&q2y-K`Yp4&@ndD;c{gq_&O6{vw<+?9XTJmmZ&SD*SZjT zL`)hU!QONL+80GZ^IeT{Mmd2#PDkCSP{T6zFzPu7ZDaaPv;n!q+^0Qd9;8lmX^f4R zovn2<&_!@Y%%w&&PYM`P5NNQl9%uF0`br(>cnjzp7;rq634gLjTl5D+`t4ey0>P*q zEK0DTAe#4}h6vR72Q>v%4}ms2;0}e67n}@Bw?r4WF(OP6&_ew-)NMSAW@FHaGP&Xw zl(3&va@D`{so9A0CLP+ntUSK`QvpU>pLxoJui>;Tr8=RH&Sak{RQ!H%H1mU8MwBh3 zvMUixWtbT%s^DM(Xiqpk+14}nt&3*@BS$`U8;*A~!f$z3eJ_^pb-rsV#VdYxX>5mt z7FT`zpX(2?ZPH)T&blwBTbpFzs>nle{ADcFp&Dc1@sWRT~y99a2glnaRzUx)&*zE#AM@Tif~&h`^oWCleDPhckF2>u+=pBJ&7fa)O!goSP*k$cT3?AxqLOwaBLL?soQ0=^LIV z>2D?s)hKhNNU&^{Ux{cFG7?kprWViA9eo9)*1KVZ^g1D~=E%k)d+Enq;zqQu_{4JF zH=JlW`9Kac9Qk*`!B?h3s|C};Qf^a|H4f^!5$R~XJQGN+a}+Hj);UKZRgPVi?YuM} zS=(ad8ByvyVET2KC8RDE|m)&Cd&H7+uu zx(Zp@m#k3PqpU0Al95nRS&^+sMoDh6qi)8{-cl4vWUFM4C|Q{yGrQk;U!U*q_xSyB zACWuWywB^5=XsvzsheV6DmIIlGi@r?J(0LlCE|v6XHf3 zCM~)a<{wCuh$xF>75qca2r?%Kkb@$A7#GQuT)hMfT{ZgXHhwn|* zZ^ER<>^K*U0i_269gQ%;Z6{7Cc0|$j%Z0I918E9v>1wO)~#=v(tDBP)}J1PgHyH zeTc9RiZ21;91jHP z^J44x<67;%{rHD+DD7*bteHni=N~+BlS|+8Yx*}XFOi1ImLul)-kVZ=#H8^+4^FM} zf2g2kv&$h|BN0~yi!L1xlp$sxqI%NEWOI+SHd-=q)3Z26Finz|Ud41k`K8E>R6pB8 z?JJn&8Nhihp9v*AbN_IN+rw^3^;@CljXp6KFP8<6bb)IY`^UDOER?)Q)?A8x`B?fD zhuupjt21xz%fFE1?I=4R2|YKvY{Is(@Q4Ojl|KJaKBjWQ&)L{d2&oQX=0mTml-x0N?=1K9Tj#@iEzFVGeP8>>g zC;+jmdl~L5^{L}3WuI(@^aDNqnhZ;$L?a0wQg{456?B?ubvwQlt0Fj@&{axq;=z?2 zXt2Nd=_)?*g}SNy$#HylD_G7S@_Qmlb>K5Rn~>zcD3^D(A$LrN-?D#s<9O<3?buz zzpHIN^pss2WBXm|ApSU_vyGCjCn88pjQ`1QUz`OKa9(OTn|@Xzs?(;7}&IILA_6Bt&9-Ngxp< zGD9&C3msMzo_G$}IZ(_2uLjP8axT^(D+stVQdpFKN0gt8mg5WsAP?H)##4jI<3Nj5Xn;mey*Hl9O;j{BPoZ2vrcE^xzkA7`)K zA%3NZ6IX2~XLRL!8n0ixW6yh#$?cSnU;L9;ts0HOlvTeUugiO{9-*`t6c(UL{hIme zJ)`BxkziSVSF={{c;9WO%i1H|W}5ZmOm!jHSw9uddf%?9Z@`D zLQ)RpV~}oO-$ieS+7JY4HncO%K^QAcf^H9m!6YCRgLoDr4HdaL$GswG2J#Q1Bb zXl+!?x_QoY=d+bcU50BBxP5=AXv!anoqYF>@Ppm-mrI_-us!wet(FE~Gqc=l_FSc| zUvrqh`~WCMIp1&J%vY;32F*zv$~o!N*1}SyNa+Qf7KCfK2a~DMU=@rz2)=uR^4Z>C zJuZMIP<(5`;cO5cPn8w=GZ3*6#sT!3AS1w3fffk^7;<+?)-j;U^?dA#jNi%Fh@^NhxlpMRaJ9&Oq9E>=E!%!M11hQdXWq-hqYyN5DdUf<%^5 zC{c}gH#@-i-NE=l9y2X?C`1#cMAhn6GdMdopn?=P7$Ozc?w^$xEPG0y;-DqOoGkxPt`N< zuiyQnMNxZCNC(9$Z?|#&^VuezaBlzC;|(e;XK#$<9N(`ztu4xSr8^?z{RHu7jt$#N zTcKM@64x`AK=%SY*SoV?f`(acftjK_{CM>c2By099=!_BJjc#eL5`DDZ?v>$M2ASj zx^@bw8_q9N)oNf)CP#sR_+h2v=GC{Orr`wp*S6_hPxY=*XVZFM1-RE)ub&VK9(9e( zxO=(R?BUp!gskw>@H6X&)HqCj41uxKTdWcC_zddD8!$M1|JZoSiaai?u2?l-e2#fQX$tp_{JQ=^xIN>!6c$v#OazWiwJdBs4Q@sCemC> zM;*gr9Viqg+f6v{WKTCJ1vm6StwY`Mltj3_IPz~u&6NcF%VBhuB`opI@{}>ywNNUn5t2S00&2)R` z<$rUI^_Gg$*mBYMl3{nBDN`hF>xDyFgjv&RP)nscmrOPrJkb#2a5=~%4z~On| z4rCmd@`qfDI-LkwO7Q-WV7>NU8yuPKnh6THd&Sc9@o2b@!*!Y73+I_hEjcMM*Gz1d zPCt$*{!Vkk|3%Gqp0LdR=Yrf}zvQk&zY0pn5P~U$3*EU1{Dfa8>59_(f7bDPM&<67 z&Nd4?H%OqXh-SUjJjKSMJz}KuE0Pw+w|rns;9O~>oR8p->W_h(7u%2Ss1RnwY_tC;zh-)t#dKD`<8x%*X3`uJF@eQeqE?x zV~9AYI8h{uHc}Y&&NGzgdRg>+dCq*;c5SMuNP4r~-u&vRo2OUu4+zo9)|_y<6~}jv zMoE~Jf$@;p!`jijit(-kW_ANFm9C9!xZa^USw%lF+WWgTGPCf_!?xMwyWVfzg_?g< zzk}*bVa}z1@45CP{c<(igno5V?)xXMR6i>eX`Fkl0C%q`?v~q)&bg1XrH5L*A=`30 zVD%x!sdsIfPT=9vGi8HL?UkaGzWKQVzvoqtrkt*{s@*%C`#|#q?f!u2+Gx;(>e6SY zN!C%|fJub8bLFE#*@b6r^+#bS5?Pw-2w7qgY>Whh`xp)f zbQ-~hmrGZ#6*_J;z!F0c9&n(FWr9$h@AYdiU5?!Y&~QT_KO_NJFvtKd+NQA!C^~0Q zc6z5ph9F87NGn?4m!UCd32vX#Z1_9X- zj*kFHISPSfF)}MdrM3X!fKsDFmtaXb0;-`TKt3SQl*W^XhRJv}TmrxqAxPg_5xF2x z8~`v7csacAYa#FmBbl0&0-l zCzi*|F;}qRkK;n~JUFS$uDhy~;e2X|6s(i)49~$3$%T(|m ziXzVHX4vQ<=TAFl56Fh~CyDHqb4ERvp`%dJ> zSEnsf8bQpH?B0frJ3&JVY++iBA{{unh9qEkBPbz~Pn14`;X7b&v%?$(ElzqUqJ3|& z7=Dlz1vM*@MHeC}SM+{(b&_v738s-vG|97}0BA1gsRLmm;W-Rc;d}u1r1bC58-g}u z8E*qPYE4k>&)P0g-ChV=ld+V_9ii6I1$1vPj+92OYoL40s*P`?QR zV}leMx%~pU1{AGKdw>VbxC4LI2cflLK^b|^ucjp`!R!VX;$vCj{f&1VL0A!wkl&GC z5s-5nBw}H`gI{|kz8Sb5qneTuE4R97{Zo;)O<*#GdoIr}GZx#V zLsUdl&UUKq(U>TOuyN2+w1SkJ!NXDFxTGs)^WD3IEj^XYr+ zEvhO#QN`zXF;R~-##bd?Mv>4_Gny8Qz$LT)V^g&8(Sh1-=1acux)aU4y55Ed96pZC z^HhhT+UZ-@Lz;FE2!-6A6j;EgnI+!-oCEF0!-1Vv?%2>>l z*=bDs#v^Q(+=*`NU#BZW&rprel8Bx}r${L2XQyX7<8nzUA~yO|T>Lk}qsp$;R`yCsme%X()&+CVC+Ji5X^bHrvE>8Coy<;HMv;kx$WlPiDIvjt z8ACn9(Q48JO96sw145wgYOTO7M~I8sU~XWzpjyiiit%j_r)W1=DUGinQ3FZRh-_~G zz~60#iFtZJd|+IjTnCc9I^b>pS?4I2C6e$Wni8NYuDIdT1+1BqsxOKt`QPydsI~kp z`f2L%PI-2J8vn*sbH*$=`70+Sdk7-p%p`D%fh*sFiIjCJKh-_tj4GkziJcTFg{VB6;CDn*e&V2$0=G? z?1;PRFIV?-nzxUldgR_Z4?ZnCvS2X6{8BizOV0NCFrjMXdEhA%;#5SzzOulfo4aou zYfr_hV?7#P=M3agl4^74)7$rpMXkpivt}@e2>h(q9*71cw%=TAkzRcF=-WH?pWmCT zpe@Wz4TF>7KgeFO;B0(Ws5w!x(ko6M_)g45!a4kgZ}XdH4Y+JVxF5Zn63104lLVq+ zro5jKN?#c*!^*dv8>fbmym)7tC;#e>Xrrpf3MbM`qJjz5 zu7K&FQiNx%Y9 zNzXz9Wf6EckQv@fYoRq%ffxu3njXMwvH=bO`7W?H_5fe3qkJX_)Jh;lZ4k%o2i5pl zB=1E9CgGu}heAl`|F`deMCHv6-2r%Yq-rfpHTb|MT|rW1U9w>VpTlPY$#WweNVdMn z$3XCpgU?Cdz^_13iumTVs7%gwG}nbUQ+;8*O3a=yR*JH&KAh={(MKbet>?Cd#`NFa z_jdTIl1?1K{Cddm@ydg)nO~?Pf8N`uEL8KF*_pu?Yq@+BJpI8tPA4O>TMyJGab*iI z|H;nhdKP<5FC77NUkccAS}-8;tM%^o242d_T@&@q_t!i z?~?4*=m^>Qt11~@te@Y>7L-Ve^P^FIan=J`FSVkxe>~P;t}$CVT=>kEEA~u@g^Fy{ zmp@P1cYl|tj=Xydg{RcfD8?Cl-ZV&v)#M{)W@x*Ht)p!eF1kT~iE>A#OT23in!-U5+W| z`zsz3HFSx%Tix5|yR1W}hHe(R`P{hEi@Lhelv)pA{??AZS3Br?{?&jo%GEO{EegTD z)DUq~7$^vy1~8Y50^5SqafHe0jO@$wSpN=?5`o;zTNr8~nC60jOT zNm@&rQac!tWkL$4P7e9Z?HmeeZQ1LQ;1V4$pdyYXQamp*?FSrrk3Ev?P zT4>IYBReG&TObz5Rh^8XRck{!a@4{IqcRK=U!Ji>qC$iNbXT{hAkiU9a{_Kx93`RV zcjLy6lye&|TH;OIlYX_$tL6bdqhey=%$kp@3*BOPFI-htLs4w>Dc=n<;JL0_DtdbE ztEj)xIT8P8(PHr@TwkRvrE*NEUUHhtS6~%c7`p|=yM9z;iI8Y*)9zaAuaG-7d|of% zslO4r|H0u*WoeBF6n5W&K3(LQrPR*ciqV2E{iAs}w`xm@LsQYWH@{zvC=k7>YIWKC zqJ<56*o`CR!t4EfJE&Gyb5mA_q_X63asHz9jC1xLCx%zXIV?S*i}wB2X3b4B`Rui_ zWM|PlERAcTej~aHmVqF@^D`*b}MP|MxZV!0>um!Oicr< z>#3_3tck)->x1shp>3iiR4DW|fLTF8NkH;d#ZDsdb95XHaV~V|bUx@IqshkS*8v$O zSPa+{4cG(1k`z%xtQ|HOqy>RyNm_IR5^S|ZKsSP-N%lQnt(CGIu~Q_XOFKG3&x1_q zL0+6LyFcDG_!wx#Ln{|4TtF8bP%YrGWg;ht3W0H1l93-kW3~*1fd&eA&lUWhcsL^# zE`uH?GONb0i-GYTm=WL0jzb4f-e5F|UCKGjEA7d*F#k}) zt62n3PH{S|fW8yK3nq-mL6X=wq9qk~r}Yhu$|E(VPLxo$uLN`7MA46TZ+pvsaNb>O zQF#2>I()`C??IDXK#g%b)}M?bVHiOV2JX+^Be4v+Sfw17Iq`tBfK#A_{87!ZI|N~G zC-x%uY8#M!;EGaqs6o%RBSx2~h`&rOnaL8SBAbBl&^qA&mTJpH3|Lbk8oIY@U|AR> zd4n=Zq@B)zgx9$YHuE3G1S;jku2Z7)oh6BXBcs>FC1-cVRJr0I=5Ts3Evj=hr zd|?@qAUH|3A%XL|ZQ2Fy<&xpIFmLb#c~&A2VKNR(7uWZ$KGA0pDaih zEviRdXsMY(dzh_%{iI6au7cNTO~LBcWbJq6KPwMkWK3a;Jfswes2gGvxYmAmOOcZi z=MOL5$IqJin`qo{K1JPg@PzA9dgQ-Mw;q`FCG?knspxq(fjydt-(H+N3$ z|BNkSzHo_Z3Z`p2W8a78%+a`jTxR8d-b{oNVb*>5h^6Uw>Z_&tQPy=aR)UoY^g4}d z#ad^|f@f%$+zvIY1sKftdx3kKje^-+CzG+Zy=@z)c0_1yrWwU?na*qDS;Wk!%St-|dwN!bC7@g$0Pff^;G(@Jr-!hL0LeNb1BAUwkSrh$4IYPjBSl6Dv^hQ*z#kxg zl(BKwg(s%ZB72N;M4o41Z7mq^a7q#yXC{(y*2oz>iz8~dIOd~ zZ~ya`7YQTJ4fK=S^)-*xPe#Uz%X&7;@v_Z0G4vme6nT8=gFpS5mYNx-FOH?QPs3T= zu)3UGl_u;ju@4Ky{MK^1?^L`P6rMG}FLkopjJ(NR2)1@jrTw<@*}*@L@~25lk;#>m zc@gc!a-Kq;u%i#TXbm&Hj4r;WUpN~Q42rDQv{K07E32P<^xCG9KicBZs;F35(V2QW zbL-^5YK*JuaWlEyLw8ggjkSi)e{59Fdv)rDNu$08e@X28PxpiSC*?fm-qc`xYw{AD zKg@-Xiw2wg;OgSr-_2(;_QFbpOVm4yZ)^~=Y0F)naaUio^T1cXE)BbrfAo#2HiCH! zcj(L>z2*7(T0+I~q0-||s*59MsGX;s-wMg(g4|k>SZQkF+g5L%|X_WP)#+kL1_f}v}gtb^hROW#Hy3WkA*?oQsf27 z1cs*|37po11r@UYFP8%3x)k9Q5Kvagcon(epzQ?b0$%6#|FSHYZkB4g07`Bis)sV>hPrPs(K}*{WrL0r0f=^EAGuV!ZqHoszgY z9oy-Blg{oX<67+hP{*t_FR!~EFZ;gx+>Ulxc+>1}p?8N_c*}($bv+%C!gHa>GF%OV$GC@Lfi_f|>k}#15Zlt!b>nRZ4CurIEO}6ecP~ z-FfHx^WxJ}tQV?uRYQ61PDfd%Wd-|O++}6tkx}$+$>V($65n2hRhtOn%t|cD`kU=T zI(yE2;I(dR8_)7LwH;@C7&x*iz-6jG`HrtKUTQN0M#9G*<{ixC3#vHp?6^QrI3(_gv&r^QZwipz)Vy{8bJXW zuG4btrvh-A7g9Co6fS`UK-=O!Xip_R9tsEjO_N;2Qz42Z-?-Q+ncG5}0w ztu60`pbkxO;V~U_I%1Tzh+&mUU`1LHtrY07Aj2szyZ~b=RGG*+ zlE66a{}s8+OAcf=1~RlT83m*P*qMbv4Iq$GLNFcR?Yr(!H9)q;mV_L6Xb6F!Y5M^p z&XdetN~^Yp6u3qw%C`TZu6Ma+&6gwv7_!#Yqx4BDr?*cRRa;+vCtFuEfseuy$8GVi z`2`Lu`>hpOE|}znbdKgWSw6c&xc()@aVCf-)Apu^+O3v+79ko#lkGea6aVp@j_sMz z2>Pp$n9?+26NZAJ%GCBkiE;Cfz+?ezT%3*rQD6X-bCZW2ZK)<5ccJfwjedG=4UZ)S z7k3!XlMJmuf|k8%vP0Lghw9XBkuf=!8dI%1ATbk|9|XCxJQlnzgoT2iEJAbiz+`fd z0ooXA=J~RK>VET$>2c|857BFXUXgaj-IwGq?7C`6&lyX$@lkvq@AgD}$Xb_S zFV1#8v8<&z>vvc5jozGlxNr9#3UoG0@=o$vY*kX|vY=|EyHh{Y1Q$Lor2SQq#Lb+b zn(XS=D-`|@#p4mRX}_cC(zj=Yq2d_&?q)3508pKvl}7m&#Co6)PQWSJ5`fwd4ZTid zfN8Bdh&Yj#`!g2cH-=yY5`{3F0wUeOMYftT~7KYLa9Q8b@0eO zKzJ1inP34$2prQvaza&+2N@1ktO+8yg+j4}C}mMLaW~K<+5;orGi^LL9?bYw^}BZX9?-= zpAG6;ifGU%n5an%Y8$NR)N`fBI$1=EQ02}$F$jmBEE09^Ot*{)aC~U_Kx>u|(=WQ! zbJC?XSdEv;-}Gr;YNqrN%53#A&siP2>uxc`+^nXxWSbv`yeF4eI6Hsne#}qd4D;$c zlsaN`Z{~J>$om)>pGWrUNwEQrn!K3z=8m$|)6n+b@c{iZQry=SMs)Libl)f}cT6dVrcOjN zBt~hl+YL)+V@a`)1xH%-k-u6)jP_Rsb8PUm}mkYyuxrtW;gAP^HJoR+_nt6jou#b zj&%dkY8JS=aPejjt}Gy?f(Pav$RjWT5kht6Jan%D)BsC1qKNWC_A)gbA-gMON01c( zX=*B_d)ZP;bJ^|Mx&< zQW2$Zs0{GBMA$_pS%{E0p)m-%383Mur%NtZ0TrZ#Z)SDX>V}9*bhfuI26H5+suO(+ z?Pud|D=3iyrrES;J!INI!9nPBekEs(os3dbf{(!Da(1k#XG9#n4r@{xDXJCFL`4`@ ze2^9@kfJ+I^m}9ZEX7GD(YiHG zVYM@Te0L@Xze4$jR95lCH#2lWPm{INBNWaZ2vJ5YA@q)9DnDuq%B+bx9G#L*?s;S-Wqa00^T0@>*178L+i~zJD-+@udCba{f z0I{@q7_BRH1(_!ccM1CI}us6ZXf$0w= zmK5-E=z*AniKi!D0rL_vxy;fIYip?=5dgtJ?1ux=wyK;x2e#J&L68kR3^tI1Fp}Jz z+USDt4k42gNfp2uATbqKL`eB!8+0fe8CQTM!-cRN&!Fe)t%TvShN_oSkE%Wt1lGQj z?n{9&p7%*VetvdyJ0stytY9XWoNnhNx>T_b^+r?4qH*ya-s2Tr(U^c>9= zh%py%$#Fhm_PzTf2L~hf^%oN{^`ZuW14_)Z*5cQve0B|p0{l!eH-Re}iFP!%78wxc zy5Ok;P$qr*7sS_N9bq{#g@p>QhpU}>5C2z{jNU&*7p-i)8RAl&@{kIg70(WYy#I9a zbAoVp&+iDkmAp6kp_@HLAr<)U#;!yt$8~7*b@Cff%D_B+gH|Qw^gpKV%?&(b0;>M!u_YLw=`O0A9LNIk?grs^+dx= z94vy1x&+7qg142TI1J+Pk=P*Qc9Eyk03|Dfs0juJ0dB8NAqYMZq!TcxtXPoYB!V%x zgDWGOqhTQi0_>h&!h?QdS|ZmpV!wMn3GqjW>a-CxAH>E75VU8Y*u4qclQ8(GUHAts zzy~oRl6spT8a%8Pj3WTn76Bm0!33E0WQM&hBwJWEv**@OuxLw!B?R7;?YpO*o;D7W zwX|T`;^hq48G{u@9QaG}wIGE8SGnX&N&c;n3Ngh`O@OX`_har%%AIH_4e03ZMCsOy6U*q)Y@CGV{^TQ< zYqFZ_*j6&_Lgj4CTBXjq`refjz@b{tri+`!U$%|W=#Gw9p2f$ce9Ju_8YOgJm+AAc zU2m=?gVpyY`qh|_D5qF6i7(E2b!%H$3DaQ*9uoowlws&t!qLJw@wn^F(DSBeN6w>Y zUqUawe3(KHsM=(l3LtU-3#qC+6kaEEOH?u54-}p4TVUKIj4oJItyGL3vD+k07Qa%E z+IppPWE``m)Ttp=njL2~skUmhnky5DeN>bA6^lCDaDw84mU3{z3Hw3zCX<@Yo`>e2 z!h~~XSJQJa-nZQk)+&@tPG2Z#s^~u7RZ;%Vm&eNu`-gWKjV?S;c%#ymmGRc{FF+@o zO`kUMvzjT%w(TxvMQkQZM3i^6aE;%bHs5hdh?UON2&}58KH)S~G<8R0B(=VQgpV-p zISAvu!D?s(lmc7At09FdhOvtr9gz%=LT^qNO36KAf}s~2;s1roo8u@{|KLObe4O-6fB&ySC@EXYIkfP|n z7=ADkE`m`ceOkBT{9(ILBfUfY^r&BQ8-JZTi?->yg%rIeH+r3dP*f?kndPZ-QL+V9 z7H`~ViQ;L;&Qx15(vQTwfA*8rp`R$S#+Z^_XkmlaN=hO|rzm3??W$Q#pUSu!8;qz= z5+6vHPh>bAK4!BjHGS?2o+}X;vU0A^2NRvoXLbZte zewn1e%_$Ov!S}d!PbpE{@2v?ABY%R9Wr+Is0lSJ=hGL-#X{ zbhETW(C5logUhSXvTtQ&E^`DAIy8@`fTp&ZD6_&WPaRv!Kh&+R)qUHK?4sVoX7Yrg zW7MaGg=3q#{}$x8Ff}YS%3ExxS}HI(HL7!WQ|0DI3%3z%i#iAuu1_22jvmh$WY0Tr zn&wOhUCU`{8Icg3Iq(a*txz$@lfW&K?F_Ls$mR$rP)6z?n+?d6J^Xo}0K zRmL(XY~@RaQ+J5PlShPUGu@MO52weSun)6n|Cp!^PnF^FRA+7#`{uvp-26W z)(@}Bd~v(QCHmdzfTw9;T0bfEYa#E6H?-<~tRh*splUfgK3RcI(E`1MS<`FrmHzZ; zrw%$Y5Q{QouC8E;+{$6YbCIJ@?dYyZ|21`qpX&Nzl~hjH*Zz8CClf^J>R;Vm+|ed& z=lzhpv)So8Q5pNHq-N0dH~du{A3_5jPBZY1(UKdo@o7P#PA+e8@8laz*f(RWqHE%p zlg!QYnb+gnfV;($Q)C){`yLe)Pj7|uw$5x_vDeE78ONpZV(wbMdud1)tFtWw-rWq8 ziln7iu5u)#*p01g5B<&0E603%C6;^Es6@%G@anf?0i7>5lEZUXu}X~=+KaF|T91-i z4b7ME(4*)Q_Y)sXO{@ArS68RuqXD^TIF5{97o0tf#t~L~jkiAnTvZ<^HEUlXe5s0S ztvWxGqiQ*QN0p}kdbzU2!@enn-Lg!%+XwIiG&Px+kR;U|?|!#X4CoFNB9jEr2?O;Z z82f}$9~*>ZT8QvI{Q3#7mugS$=z1iWdDIg0ub_be3rS$3_)tP{*ogKR*{5;>WiKNW zF_IzBu!H5wh$|!mZ_tA1L{c~1UNWwXxLWvv0G)<26nYKtiUa!DT~JKopx~VWSBQ9M z$_x~Ynn@ju@H6fhf{J9@0gf0g4vv&IsM$d_3+^6L0dUUXzC|X1+6EvsDq|H)m@Hnp z=g}eNBV835NI8rs-NAyX1UxY(bZBtLE-UNMvNpa>9E?j)mEkdy>-%x=jW4zLffAmW zqGR(12fFTru{SEO7dcHDaJild@Z#I)pK%iNu*!?P@XpNqx!kY6REjS#e!Vld{ajuv zCN*pAE4o(E_o_s^r{3pqxv+Qy#fXr%+^Zpg zuDG&6e~LMji69h>^2psx{ga=UOK%rMt0sySvN%#K9APT$cI~;t_}>-Eoa77FZ-)=N ziIz_S@~z{0n)@E{Muf)wOYgrM(H)wMe*32w0)}_DdyIHTj=1%|6 zDM@;mNTa>BvPqnQKxRYs{q-mna%lt9&BrY~JROLTcZeIm(C^L)3Ul2+1dH|%#a zF^w$$x6w;Sf-Oa=LeJc!jbq^gi?lMOJK;yvaf#9#zzWA*HE1GHr}iclr$`ghb9Kyq z7W8zJW(C=NCAnaEd%p}at9{%02zd*rITYk zVw+Y-xkS!Yj6kIc6zPryfgr35*fLGJ1I8!qX{c;^=Bes20}QHq5;GJ(gGGhh(}Spj zDa8*&(*U$%55*EhR0o`}g_ersqo*59Xn)06A_fmXVm!6LPJ`SH87d{D*={$Sea3CW>4-n5w8 z=`o{wdbFfSFk$S{$(9;|l!5k{U3dI?$fm!dqVv&X&nx?uf@jO5^mvMI7Sf56rWeK& z?0%(WGYpj$@@^@=RjObY9(v`~dSZt6m9EgzKI+p{w14I<{cgPPg~XWu z1^WE%xK*Kymv8;If`3I`Jf;^&|M%wdj?+`mTeZp=RE?NPxo?iWdRJ~7;;Fi{LIJ%lUq_E8`;Z2*;djZFayoA)7f?r~q{-MN+c!VSG zkH@XkJ6<|_)X7VQ`*r^-8>y|j&yS|Jwcctu=7eJ$F?MtWR_!;~oN3g#zLQtd6q=^(pquiKnznKv;+AJv6*rZ(xt#0UMB@-AxuW zL%>L%wkb?EMTJ&2OLb^U?kl`=(M^DErHOH9Atnk-(K68UjlN=fu&zK+nRSgCK+ zWBsd56@_$sLmvLi#N@g5NKH58wkv{myh92J3sN{>{nVjYPabArV$NVjNnA!uTuO&i9(mFW{x-Cr%lsQQ=V?N zihJCYUmAe3Xo?<8G?>yFL59t8lk2>x_c}^+wZmyOy>>v$(TeDOW@X z3eM>sKX&xYj@s_i!kv3>!kBwm*F@F>_0NXi6kwNEv4B}-?%mWv*Nz|*>WW$o6$xYZ zhd_8G|4Ufd2MAW0_+z@-V?+cUcW6L?Km|hPN7U$9$f;$ay8pHP>DSk~+?Yj&Jql-3 zYYXtWmZ^`5PEm?IvY!Vp*785GtyZt|e06mWwmfXl$`{RhyPT5T7dbyPa`_o8`W|<6 z+fp&E+iS{O%$+k;ELTV#MV-5_?jLA5wpt}LsrUHVr1r&xqvtM%WO}w$yQ+}P1*T=^ z-zetx7ywAK>-q$iOt=Iu{|HAJ=OmdZL&w?!4RC z?K=2GQ{tlsg)8l_a#dbBxBb;~RXtz6Bi zo@F(VQ2rsD|GDdd18-fZJyXvN@>uqTnhmK+P+P>w5348bEq|0MBoP^y|fM*S$GT41P)+&Z^T|viU_C*!gHa+4?}&x zOeV(_OZES%5r2S8$fYg{1_oiUpNtj4DL};sI65-HM1wrH@It|GYkw-jvY$FjG8X#%`Z-~gs<5v*a2bo)k zAWQ3n96^|^MPZU51BEP+oali(u^$vC(xQrC-|PX<{}CQF<%G-4S83(=v$FGzCj~9E za!uX8d92VcM9kBQez}>pj927o z%Di#wI&;dzaAXi)YLlE-&$zv%**%4Wx&kRX4rzorr4mRlr`7iDA}J+O7*W9L7P13E zoY39_4PR6&9OiY_Q*}JLK|iH=W&N3_z2h8zpeUi5K`wp!tY`Guymcz}{ArdeAHRxb zTwb89a?+v^3*}DLsLV0_SQxlp{ms#5u(Mr#g-R|_l{RIy!|}j|r4@hWwYE`b1kG#< zfAYe1DlIl1*;4h=r2WXEohy<9~VT_MhRF=DJtzk*yY1QZpb5k z)40?}1=59P7BXNAN zd;}KaKx(r<0IE>~+>hXW;Klcv5RA*3l2sTA8-lkW7}ZuMJxUQ7rPxnG1YD3!Ye2jQ z)hb9k0a+&ZCV0UN_85Er{Yfc-4f6l}Nl|`xy?_v)t_vuSp%b#pf)1xr>I18BwEeIk z1s|KZm_cGOyY%pqYsBo3w(0KmGO^@ExtbFfE$@B0$M0_+yyL78*>SzwbRuH#+8Aig zOZly4T^zBa$-Gjb%bAKBS3dE)SY@?)>Lv6H&aTEu+`Zp-d`6GcTZy^Qr-MXb8{;~l zK^O?>c^!pW(eZ}g{+)po$Q16)NyS%BLev5z918jW29gkv2)Zkv7u!y8ft%mDmnBs< z@I|5Dmp+B+&`>V3VXET}R|fp2Yv=e}sHHn^pCU6qNh5AJqT zDeKcnIe(yOr<-bpwONRJMtWvO6>l9EFcxKEEqgd(tU);%;;LHFy~mIA;M`NFXL32h z)-#3y*e!|Bu=lU*^&27Q(@W_Fc{AN8KWR9DspIhXL_^EH9c;LCFOnkB6c+knP^A#) zxTavq9_-478D0=GgUA|hydp~vzS|!Tbt}(TWd2Iq58q7EVC-DYXaFG$OGLy65}?0*?I4h)wLa1bHrRVl;bK7?6aGu|sv>Hfw+ zyy=?6-E6{Ok-2F(VZrQqi%ac~4__zWJ}v*Q${5u|_>^C&|8iy-v-ToUtj)>cS5U5n zdz<=3-?1s128))9_wCwGtA46H`73;NqP)E_l{Tl<`=z|U!_!rfecSn2_d1ep6-6YL zfzk&3_wmCCvGGQf?d09fmO#ITW)}dUo*?H)W~G|I70Qx<9yE8U7gD;n`y*^cO<^ZE z#6Z9XP@I7%t&OpR<{uuu08%63n&Bh|(Myx}A%R0LM(J!{8cls@!`oR}d~nE;!TEWZ zY3$lHP0i;HrVOe0rgP@iE3m3!q;EUn(viR_Seu;5p!=A1TdX>qXGKAEm(f+Vwjzq{ z!ur@p=j%7OFWi={l;CH%^i^l@t^ALu1^Uh7(WF>6T7i_F<%Ni{i*V`>%*i%;v$>S^ zd%7kXs2hJzxY8wmnkvOj*}=i_dELm*`dA7T8TXhZF0HX`U~Po@E(-64Y5zlgeB88t zUiDA-w%#9K1)&^o2F>Y%&1@9^P*%`g`{v=)n%Ed{=3M#V6zrevXq?J&ZQ)V79Y~1} zs5z;74y!&iGwZbazCQUWL_ks?D%T1{@}0JEmV9(aCr&4PG{DT%j92IFtDw5R*!`-O z3uTWzE!N)_OFT*wNEkSNR;g$V6}9j|b+Kpu_U4&IyE?zX&{E0$)0=lJ)RvzK+;DwT z!hIpCcxei2;r!+A3!p9IDLb?@g)QNrjS|$(AR2*4bOcT&+yWykfY&Jeo(dFlVgSBs z6&JQdqr|y#6*`bvP$VBfRJKki-i4D*ekm+2L+&23ff*K4;Vcb+4f7HZNxfYp*5*KK zP7vb>19P-$z~iGp3&IJGXUxpEdTxC}>(Yny$AO%aORQhNgIQ_Dou|Yl(W%ftoNBViKRgK=ClY*4!u4(b;bFwvEy`B zD}#%>U#8BgsjVvg{L0|ExAjSesaqG!1q0vxtQY%o$KCynJ~wx2weRK#U14CDU);W5 zUEf}F=2+AIwGQ0u>Cv+ze3%3g0M-{l8g>$qnzKQ+0p75YchpW9^^m*VnJw$2@CWW{q2j3G|L;E{!?$&4b2c=um?m3zcN66(!a6hV-nY-jJ+|;*5_@9~l+iw0 zS$6lxj3BWB%>!w?Q+a5Q9G{o&U+Gi}y>TNwR$iCsHqBP{D;cW80fR-EvhVxUTXU+W zNU))oGTxY8W*~TfW)>_qVT4}{(Axi4AwUceQ3f<_PnEY6W+$Knkw_UE#0MiZw^MnL{pV81_NlR(G%Yu83M3GB^5c#d4Bn&qd)H=q^Il4T*Buym#rQTR zYoAdS%v`*}GKJ#*61DPaM_+qPoNr;II^y!8O&GWAY#5(|d8qN-75k2hIV-B_dSC7a zr?0owUt(INZr{FeQ}Aoj=?8AUCyMh*3da{%Mdz& zxB;p%dwndJUJyYcbP+XJv;grCb}f8ZiAN8wSQCMVPc-Ei=^JBG!l=fSwG5(PYD9oz;19a8s0@?A zf)&p>e{izivaGc`qcm3KuV;t$%7V?vh_z%h&3aKYfo<+1+i~Whz^1p8*7(Oy zB1K~>D>^%LH7`62OhTl`*hY~AJ1B6+>wk_9{)K!4>IU#u`G3o2`~n_H6nVmkY^COXN!FfLqb)`*^(_Y+7O!qH-cm zc?78#&>&q6q%jy%4o392{@Yz42yh~-&jtZmBr<~+?}n62774*ZjzOjPRlq@_EaAt{ z3WphGa)%Kno8y`NP?n3uVV9OJyuY}++P51o?k{-jZP5JXSL+pHV$Yu$i|}n-d>^Ss zpEhzkqcMC}=7L`4EC&z4g+?&6{@f3maYZoL>)ZK~=6!NekBGnhBpw|dbm(ANR*aP1 z`P;OsP}QcY*(dkdeDvo-ld~NMUUay8SBg`JX2wsb&X)P5><(3pR5MNQ9`5AtDqa7R zo)}Z|&aCNpQ{RRchWV=7U&1b`Pl#TjmU8yx^6Ihm_DU&Fo17{GM!CFq z1)WrQURCZxbq+XtEk!>`ygcBc<+nC{eiyqzbgdk@bU^8#o?Z5jLmqbQq727)Qkch@ z{0c`DR~GFXK0`ouY;WC3WQq>^8gp_!Fy3yqd#v3^@Xwi>t)egbZN_>&cj8@C| zlF_}ET~0ey*?>INsLPK6P={hU+;kV}z2io94qjVt_qyKJU%EBD&>>y>z*IC)r@?vq z&Oa2M6j-gg6d8GM#$OQQHA+Z3yJ-wn6_PenpfSdsZ1Difq8ivh8-yaV)D}7%I9i+x z(txH%qj)}p0yV^0X-&WfVQ38M7^HatG*fY|DQcvwVh3UZGP+KW7Kc4jNc^&eXYF;T zm8TJ~#0i0;_URfl2ti$j?aydHok|K)?E61WU3olIZ5uwrXd)Wb*lFx$5<=xI3cWS< zJtf8xg=}wQ`$V>iG}-qUvbIPP6S5RpTBHo3MwI2XWXV>Dyx)Di-yh!}Gr!+CbIx;? zd7kHfuIs+;`_?F>hTfSdV7w&0c{bi#HkH*9?8#15g=%iVqDiC*SFlHhzc{y`MXq>Yz<+KYm#QEv#dg~(Fj<{vz)Awx56y{4b!gnl9 z1-*)YG4uZZIoqZaIi~v4eS1HOf4~!7EC#9D9$%YrA%VLj#CYXKK6TMIqssoO5x@WY zwf5V8+i7e_vC5d9#R*o-TylZ?Ja1m557ue>vjK8ZcTajxm7C1mOUfdqYk2jnwNVbm zaafTdt2kLdn$iQrkLRbGP-7+-^4OQj3`J#LJ@H{&JIvl7U*UIVB8hnGz-O+qn(2$} zq1eLS3~yy}vYaxBBLe7*$HlGk+Tch1QIG*DA*ks}1@7Gk??JU3jy30W-(Y@aX1ima zM=96_@`<@)q9e@|P5SkDJ3>rM9Chm}eMItouOkbXKi21|X3asni8y3L?2!T#Y7!Kf zq>&cQcSl8srL_iK;(M0qEnuW|dY23rmhs)=&3)E&+e#y0t$_P6jl|JYfDU4qCWjrB z7i}u8=r;XHawRUmyP%}yI8@iVFx*#q(;vgQ|C?rGGx;pKP+50mq3A}ePuU;mC9fVo z%}+fjS#!lfeL?@>ddbPC7|AP|3w&~UN8%<%ceYii3^?&=oucFfKem5)_jR*j8H*Tz zB(3_b?6Bietl0i-96R!68dXFXl6Afta#=|8H~`lICDGAuuox&nRVFn}qV8xyO&)dz zwpvlV#sp}`0t5y4RX7g;8EIhgeuPa9OLdvc;~b1neQs;|5vHABV00wh^UN>Z!E~Zs z6xNL}13|#N4!5KHO4XTNZMo9NlhR~+l(CTpnCn@l_$nQ3+h1?$JC4eD%z0$>Q_ryN zCu<$q#*!wZ#Cd&5C>n~DuX<`ud{CrQcUi+`Hn%J{R!{;M!u}o^SQW`(LFOvAM0C|M3*qoze%2(ApKKS^_Gl6&Q zX8Gq*gh%(iubyezSk^%87yAL~pMG90HRoL8vateKe0KTIiIASBa!*Tch6o%`;eQ>V zs5X6V_keB1xgLvXqW|>|@m$92vkq0$Id%eZ#Q2}Vqt!$;joUlQ(}uo@N6f;+D6Lje1%zq-N{xpo1q`Y{l^|^nTy8t8&xsL z?t+CJS@z8DFH&wB;_hX;H{OMe5M}$7l-Uj>;XM9BS{l_l^7xN@Ws_rR$&?wq1`p_Bcgihy%+9CUsX$MBN z`JMJnxw`7!jN(hyd#i_=vZUH49Ee^Jvpm^SXE2IzIbJod{8q}jyJUoJ)V|eqTv#?h zAeT)!q$e|VB1P0&!XfA0r`1=LdtTg)7)dMp`NpxLB|+eAli9HfanX6}>a6X8lbDUk zBjG&Lm&tzq^tre161TPq>QHRPVPWS6v5HpNZg=dy`G%IT|1J|XlUj~!Qg{@8$FozH z7h{#?wDsuA;-HPJ#=)XvCyu%yJ|fN`cuUVd?ItDlkxH3g|w zvZ^}bAd81moX>ikBQSb|f|Q2{M+OwY1HL(RmdWTY$3cl>9_?RC5cQKqMae{CmfnaS zteI)Lg@gz-vM;3Brx|0He}EdS29z#iDIBRRb|QBy1d=Qj-2v7q5TZXMPyj@HNPH6s zq-SvvM|@iZ&w^qCw`WF%hQ)7&?BS^2KOTh5MA}{OIUXldMT?^!i%`F%*asGwwn3~& z#_yW4Ej_%qO3?C5e=|XTKP9d6RY#Q7MprE3T;G<#t-WPGCY4>g&)n$|dCPjMRgUt@GrxP)YLvYGSCL^}IrM{)@1F!8Az)fpZZ@Z+vW8gGv-NTN z)SGyPXw5sH9W0xfnAU&YAKB(NNewI<$~nCj8j!8cy~=OG8)jW)X;8oNT5+uWQ2fDx zbaqRUFgAkb&^`hBK&(jPdxw=tBUJR`LCV{-4g?Gz@D1FM(H(GS(O5a97qKOf;&Ww)XZNu7=3`6Z4 z54&~3Ts>~N&z8Be@#B?wxRgVRo=o+Sj(z2gsuk<6b*_BBW4p`0)BI$wu14A)NKd&t znYh(|O)NzJ`kbz?1@LN@tZ+>xf7b9Z4rl+42iAB;2t2`ZNJ%UtpL1s#Hu zIR{h@YwQpvAPhR01{n#;h=ztp;g$&A+lJ~CSecj$?&9o<4@<3w@Hid!VsJ%9@{V^U z(gV4R#|eD=Os9BC=oF{poKMoQ5lvvpmu!`mEX4CBT)dAGN*eEqcsi=_oRgKAP2}G( zQ61>c8s#n&8%LvP_vXCk=OrAK)Ob9?g5!aOcnIIuo`y{s|UtE4=pIbdaV+q{;_ zPk$h87Yp3=V%CPLE}+0L5To&;e4DPCTKeXeI|4lFrjs+-6Y0&``G>U-$ z={$xE^9c}IsH7kadsM+kOGg~YnwBhf#I7znu->4I04Sw`YI{*7CSCjCzkL-YxxlhP zgQA-}CCYZe2X$4%0%(NRP@eu@IJr$1j#EeNo-3F^oTxX!JOa!fv`esX+APGy#{s<@ zaG4Hq6b;9ggVQly@?UHZ!tq@FGY0W!N^~*3yIrw7u;Y7I{81(hmn73+IIaGi^|rX9H+DjvRFH)f0+WOAKz(iK<)8;ej6(ogz-`H6V1wglA>4=Lww10KVJ)!7 zym&(@+Bj4gFSy3hsYWWuL`I&7J%+o!)d4~$ { + drawSegment( + toTuple(keypoints[0].position), + toTuple(keypoints[1].position), + color, + scale, + ctx + ); + }); +} + +/** + * Draw pose keypoints onto a canvas + */ +export function drawKeypoints(keypoints, minConfidence, ctx, scale = 1) { + for (let i = 0; i < keypoints.length; i++) { + const keypoint = keypoints[i]; + + if (keypoint.score < minConfidence) { + continue; + } + + const { y, x } = keypoint.position; + drawPoint(ctx, y * scale, x * scale, 3, color); + } +} + +/** + * Draw the bounding box of a pose. For example, for a whole person standing + * in an image, the bounding box will begin at the nose and extend to one of + * ankles + */ +export function drawBoundingBox(keypoints, ctx) { + const boundingBox = posenet.getBoundingBox(keypoints); + + ctx.rect( + boundingBox.minX, + boundingBox.minY, + boundingBox.maxX - boundingBox.minX, + boundingBox.maxY - boundingBox.minY + ); + + ctx.strokeStyle = boundingBoxColor; + ctx.stroke(); +} + +/** + * Converts an arary of pixel data into an ImageData object + */ +export async function renderToCanvas(a, ctx) { + const [height, width] = a.shape; + const imageData = new ImageData(width, height); + + const data = await a.data(); + + for (let i = 0; i < height * width; ++i) { + const j = i * 4; + const k = i * 3; + + imageData.data[j + 0] = data[k + 0]; + imageData.data[j + 1] = data[k + 1]; + imageData.data[j + 2] = data[k + 2]; + imageData.data[j + 3] = 255; + } + + ctx.putImageData(imageData, 0, 0); +} + +/** + * Draw an image on a canvas + */ +export function renderImageToCanvas(image, size, canvas) { + canvas.width = size[0]; + canvas.height = size[1]; + const ctx = canvas.getContext("2d"); + + ctx.drawImage(image, 0, 0); +} + +/** + * Draw heatmap values, one of the model outputs, on to the canvas + * Read our blog post for a description of PoseNet's heatmap outputs + * https://medium.com/tensorflow/real-time-human-pose-estimation-in-the-browser-with-tensorflow-js-7dd0bc881cd5 + */ +export function drawHeatMapValues(heatMapValues, outputStride, canvas) { + const ctx = canvas.getContext("2d"); + const radius = 5; + const scaledValues = heatMapValues.mul(tf.scalar(outputStride, "int32")); + + drawPoints(ctx, scaledValues, radius, color); +} + +/** + * Used by the drawHeatMapValues method to draw heatmap points on to + * the canvas + */ +function drawPoints(ctx, points, radius, color) { + const data = points.buffer().values; + + for (let i = 0; i < data.length; i += 2) { + const pointY = data[i]; + const pointX = data[i + 1]; + + if (pointX !== 0 && pointY !== 0) { + ctx.beginPath(); + ctx.arc(pointX, pointY, radius, 0, 2 * Math.PI); + ctx.fillStyle = color; + ctx.fill(); + } + } +} diff --git a/src/wall/Sphere.js b/src/wall/Sphere.js new file mode 100644 index 0000000..bef8197 --- /dev/null +++ b/src/wall/Sphere.js @@ -0,0 +1,22 @@ +import { Vector3 } from "three"; +export default class Sphere { + constructor({ radius, displacement, x, y, update, width }) { + Object.assign(this, { radius, displacement, x, y, update, width }); + } + rePosition(ratio) { + const x = ratio * this.width; + Object.assign(this, { x }); + } + get point() { + return new Vector3(this.x, this.y, 0); + } + get style() { + const { radius, x, y } = this; + return { + width: `${radius * 2}px`, + height: `${radius * 2}px`, + top: `${y - radius}px`, + left: `${x - radius}px`, + }; + } +} diff --git a/src/wall/Wall.js b/src/wall/Wall.js new file mode 100644 index 0000000..6951521 --- /dev/null +++ b/src/wall/Wall.js @@ -0,0 +1,183 @@ +import { Vector3 } from "three"; +export const fps = 60; +export const mspf = 1000 / fps; + +class El { + constructor(seed) { + const { data, row, wall, key, index } = seed; + const { imgWidth, blockWidth, imgHeight, sphere } = wall; + const { ratio, y } = row; + let x = index * blockWidth + blockWidth / 2 - ratio * blockWidth; + const point = new Vector3(x, y, 0); + const targetPoint = new Vector3(x, y, 0); + const spherePoint = sphere ? sphere.point : null; + if (sphere && point.distanceTo(spherePoint) < sphere.displacement) { + const direction = point.clone().sub(spherePoint); + const displacementAmount = sphere.displacement - direction.length(); + direction.setLength(displacementAmount); + direction.add(point); + + point.lerp(direction, 1); // ✨ magic number + } + + // and move them back to their original position + if (point.distanceTo(targetPoint) > 0.01) { + point.lerp(targetPoint, 0.27); // ✨ magic number + } + const top = point.y - imgHeight / 2; + const left = point.x - imgWidth / 2; + const { url } = data; + + const style = { + position: "absolute", + width: `${imgWidth}px`, + height: `${imgHeight}px`, + top: `${top}px`, + left: `${left}px`, + backgroundSize: "cover", + backgroundImage: `url(${url})`, + opacity: 1, + zIndex: row.size - Math.floor(Math.abs(row.size / 2 - row.index)), + }; + Object.assign(this, { seed, data, style, key, point }); + } + update() {} +} + +class Row { + constructor({ wall, index }) { + Object.assign(this, { + wall, + q: [], + minSize: wall.colNum + 1, + index, + ratio: Math.random(), + y: index * wall.blockHeight + wall.blockHeight / 2, + }); + } + get size() { + return this.q.length; + } + init() { + while (this.size < this.minSize) { + this.push(); + } + } + push() { + const { wall } = this; + const data = wall.getNext(); + const key = wall.getKey(); + const seed = { data, row: this, wall, key, index: this.q.length }; + const el = new El(seed); + this.wall.elMap.set(key, el); + this.q.push(el); + } + shift() { + const el = this.q.shift(); + this.wall.elMap.delete(el.key); + } + nextFrame(ratioSpeed) { + this.ratio += ratioSpeed; + if (this.ratio > 1) { + this.shift(); + this.push(); + this.q.forEach((el) => { + el.seed.index--; + }); + this.ratio -= 1; + } + this.q.forEach((el) => { + this.wall.elMap.set(el.key, new El(el.seed)); + }); + } +} + +export default class Wall { + #rafID; + #lastTime; + constructor({ + items, + imgWidth, + imgHeight, + containerWidth, + containerHeight, + speed, + onListChange, + }) { + const colNum = Math.floor(containerWidth / imgWidth); + const rowNum = Math.floor(containerHeight / imgHeight); + const elNum = items.length; + const ratioSpeed = speed / (containerWidth / colNum); + const blockWidth = containerWidth / (colNum - 1); + const blockHeight = containerHeight / (rowNum - 1); + const elMap = new Map(); + Object.assign(this, { + time: 0, + index: 0, + items, + colNum, + rowNum, + elNum, + imgWidth, + imgHeight, + ratioSpeed, + rows: [], + key: 0, + blockWidth, + blockHeight, + elMap, + onListChange, + maxDeltaTime: 1 / 30, + }); + } + getNext() { + const { index, elNum, items } = this; + if (index === elNum) { + this.index = 1; + return items[0]; + } else { + this.index++; + return items[index]; + } + } + init() { + const { rowNum } = this; + + for (let i = 0; i < rowNum; i++) { + const row = new Row({ wall: this, index: i }); + row.init(); + this.rows.push(row); + } + this.#rafID = window.requestAnimationFrame(this.animate); + this.isRunning = true; + return this; + } + animate = () => { + if (!this.isRunning) return; + window.requestAnimationFrame(this.animate); + + const now = performance.now(); + const dt = Math.min(this.maxDeltaTime, (now - this.#lastTime) / 1000); + this.rows.forEach((row) => row.nextFrame(this.ratioSpeed)); + this.getList(); + this.time += dt; + this.#lastTime = now; + }; + dispose() { + if (this.#rafID === null) return; + window.cancelAnimationFrame(this.#rafID); + this.#rafID = null; + this.isRunning = false; + return this; + } + getKey() { + this.key++; + return this.key; + } + getList() { + if (this.onListChange) this.onListChange(Array.from(this.elMap.entries())); + } + attachSphere(sphere) { + this.sphere = sphere; + } +} diff --git a/yarn.lock b/yarn.lock index 2fd6de2..f28c509 100644 --- a/yarn.lock +++ b/yarn.lock @@ -1192,6 +1192,45 @@ "@svgr/plugin-svgo" "^4.3.1" loader-utils "^1.2.3" +"@tensorflow-models/posenet@^2.2.1": + version "2.2.1" + resolved "https://registry.npm.taobao.org/@tensorflow-models/posenet/download/@tensorflow-models/posenet-2.2.1.tgz#2f0a68d909842f59eec195f23c6f3d4cebc53fa8" + +"@tensorflow/tfjs-converter@1.7.2": + version "1.7.2" + resolved "https://registry.npm.taobao.org/@tensorflow/tfjs-converter/download/@tensorflow/tfjs-converter-1.7.2.tgz#a2bb479f271aa9a5bb2909b3b8d90c431996893d" + +"@tensorflow/tfjs-core@1.7.2", "@tensorflow/tfjs-core@^1.7.2": + version "1.7.2" + resolved "https://registry.npm.taobao.org/@tensorflow/tfjs-core/download/@tensorflow/tfjs-core-1.7.2.tgz#c7b4ac37a7b8bd7226766ee9bcd930274bf8e019" + dependencies: + "@types/offscreencanvas" "~2019.3.0" + "@types/seedrandom" "2.4.27" + "@types/webgl-ext" "0.0.30" + "@types/webgl2" "0.0.4" + node-fetch "~2.1.2" + seedrandom "2.4.3" + +"@tensorflow/tfjs-data@1.7.2": + version "1.7.2" + resolved "https://registry.npm.taobao.org/@tensorflow/tfjs-data/download/@tensorflow/tfjs-data-1.7.2.tgz#6a3ab4d2c1fd1cfdf768f9774b108fb6477c75a0" + dependencies: + "@types/node-fetch" "^2.1.2" + node-fetch "~2.1.2" + +"@tensorflow/tfjs-layers@1.7.2": + version "1.7.2" + resolved "https://registry.npm.taobao.org/@tensorflow/tfjs-layers/download/@tensorflow/tfjs-layers-1.7.2.tgz#b76e73042e999e1ea755869c1764503e43cf60f5" + +"@tensorflow/tfjs@^1.7.2": + version "1.7.2" + resolved "https://registry.npm.taobao.org/@tensorflow/tfjs/download/@tensorflow/tfjs-1.7.2.tgz#25a152246017c996948bde18f5a2cac16995e232" + dependencies: + "@tensorflow/tfjs-converter" "1.7.2" + "@tensorflow/tfjs-core" "1.7.2" + "@tensorflow/tfjs-data" "1.7.2" + "@tensorflow/tfjs-layers" "1.7.2" + "@testing-library/dom@^6.15.0": version "6.16.0" resolved "https://registry.npm.taobao.org/@testing-library/dom/download/@testing-library/dom-6.16.0.tgz#04ada27ed74ad4c0f0d984a1245bb29b1fd90ba9" @@ -1304,10 +1343,21 @@ version "3.0.3" resolved "https://registry.npm.taobao.org/@types/minimatch/download/@types/minimatch-3.0.3.tgz#3dca0e3f33b200fc7d1139c0cd96c1268cadfd9d" +"@types/node-fetch@^2.1.2": + version "2.5.6" + resolved "https://registry.npm.taobao.org/@types/node-fetch/download/@types/node-fetch-2.5.6.tgz#df8377a66e64ddf75b65b072e37b3c5c5425a96f" + dependencies: + "@types/node" "*" + form-data "^3.0.0" + "@types/node@*": version "13.11.1" resolved "https://registry.npm.taobao.org/@types/node/download/@types/node-13.11.1.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40types%2Fnode%2Fdownload%2F%40types%2Fnode-13.11.1.tgz#49a2a83df9d26daacead30d0ccc8762b128d53c7" +"@types/offscreencanvas@~2019.3.0": + version "2019.3.0" + resolved "https://registry.npm.taobao.org/@types/offscreencanvas/download/@types/offscreencanvas-2019.3.0.tgz#3336428ec7e9180cf4566dfea5da04eb586a6553" + "@types/parse-json@^4.0.0": version "4.0.0" resolved "https://registry.npm.taobao.org/@types/parse-json/download/@types/parse-json-4.0.0.tgz#2f8bb441434d163b35fb8ffdccd7138927ffb8c0" @@ -1333,6 +1383,10 @@ "@types/prop-types" "*" csstype "^2.2.0" +"@types/seedrandom@2.4.27": + version "2.4.27" + resolved "https://registry.npm.taobao.org/@types/seedrandom/download/@types/seedrandom-2.4.27.tgz#9db563937dd86915f69092bc43259d2f48578e41" + "@types/stack-utils@^1.0.1": version "1.0.1" resolved "https://registry.npm.taobao.org/@types/stack-utils/download/@types/stack-utils-1.0.1.tgz#0a851d3bd96498fa25c33ab7278ed3bd65f06c3e" @@ -1357,6 +1411,14 @@ "@types/testing-library__dom" "*" pretty-format "^25.1.0" +"@types/webgl-ext@0.0.30": + version "0.0.30" + resolved "https://registry.npm.taobao.org/@types/webgl-ext/download/@types/webgl-ext-0.0.30.tgz#0ce498c16a41a23d15289e0b844d945b25f0fb9d" + +"@types/webgl2@0.0.4": + version "0.0.4" + resolved "https://registry.npm.taobao.org/@types/webgl2/download/@types/webgl2-0.0.4.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40types%2Fwebgl2%2Fdownload%2F%40types%2Fwebgl2-0.0.4.tgz#c3b0f9d6b465c66138e84e64cb3bdf8373c2c279" + "@types/yargs-parser@*": version "15.0.0" resolved "https://registry.npm.taobao.org/@types/yargs-parser/download/@types/yargs-parser-15.0.0.tgz#cb3f9f741869e20cce330ffbeb9271590483882d" @@ -1552,6 +1614,14 @@ abab@^2.0.0: version "2.0.3" resolved "https://registry.npm.taobao.org/abab/download/abab-2.0.3.tgz#623e2075e02eb2d3f2475e49f99c91846467907a" +abbrev@1: + version "1.1.1" + resolved "https://registry.npm.taobao.org/abbrev/download/abbrev-1.1.1.tgz#f8f2c887ad10bf67f634f005b6987fed3179aac8" + +abs-svg-path@^0.1.1: + version "0.1.1" + resolved "https://registry.npm.taobao.org/abs-svg-path/download/abs-svg-path-0.1.1.tgz#df601c8e8d2ba10d4a76d625e236a9a39c2723bf" + accepts@~1.3.4, accepts@~1.3.5, accepts@~1.3.7: version "1.3.7" resolved "https://registry.npm.taobao.org/accepts/download/accepts-1.3.7.tgz#531bc726517a3b2b41f850021c6cc15eaab507cd" @@ -1586,6 +1656,10 @@ acorn@^7.1.1: version "7.1.1" resolved "https://registry.npm.taobao.org/acorn/download/acorn-7.1.1.tgz?cache=0&sync_timestamp=1583823913618&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Facorn%2Fdownload%2Facorn-7.1.1.tgz#e35668de0b402f359de515c5482a1ab9f89a69bf" +adaptive-bezier-curve@^1.0.3: + version "1.0.3" + resolved "https://registry.npm.taobao.org/adaptive-bezier-curve/download/adaptive-bezier-curve-1.0.3.tgz#477577abe87d7280d46ca41649f6c22646fe8227" + address@1.1.2, address@^1.0.1: version "1.1.2" resolved "https://registry.npm.taobao.org/address/download/address-1.1.2.tgz#bf1116c9c758c51b7a933d296b72c221ed9428b6" @@ -1624,10 +1698,26 @@ ajv@^6.1.0, ajv@^6.10.0, ajv@^6.10.2, ajv@^6.12.0, ajv@^6.5.5: json-schema-traverse "^0.4.1" uri-js "^4.2.2" +almost-equal@0.0.0: + version "0.0.0" + resolved "https://registry.npm.taobao.org/almost-equal/download/almost-equal-0.0.0.tgz#e7a5a6b3457b67c83ee0044f9a8d07637355f02d" + +almost-equal@^1.1.0: + version "1.1.0" + resolved "https://registry.npm.taobao.org/almost-equal/download/almost-equal-1.1.0.tgz#f851c631138757994276aa2efbe8dfa3066cccdd" + alphanum-sort@^1.0.0: version "1.0.2" resolved "https://registry.npm.taobao.org/alphanum-sort/download/alphanum-sort-1.0.2.tgz#97a1119649b211ad33691d9f9f486a8ec9fbe0a3" +amdefine@>=0.0.4: + version "1.0.1" + resolved "https://registry.npm.taobao.org/amdefine/download/amdefine-1.0.1.tgz#4a5282ac164729e93619bcfd3ad151f817ce91f5" + +an-array@^1.0.0: + version "1.0.0" + resolved "https://registry.npm.taobao.org/an-array/download/an-array-1.0.0.tgz#c125a5bb8257778e35f4b4f6aa9c7d0fa9e42665" + ansi-colors@^3.0.0: version "3.2.4" resolved "https://registry.npm.taobao.org/ansi-colors/download/ansi-colors-3.2.4.tgz#e3a3da4bfbae6c86a9c285625de124a234026fbf" @@ -1693,10 +1783,17 @@ anymatch@~3.1.1: normalize-path "^3.0.0" picomatch "^2.0.4" -aproba@^1.1.1: +aproba@^1.0.3, aproba@^1.1.1: version "1.2.0" resolved "https://registry.npm.taobao.org/aproba/download/aproba-1.2.0.tgz#6802e6264efd18c790a1b0d517f0f2627bf2c94a" +are-we-there-yet@~1.1.2: + version "1.1.5" + resolved "https://registry.npm.taobao.org/are-we-there-yet/download/are-we-there-yet-1.1.5.tgz#4b35c2944f062a8bfcda66410760350fe9ddfc21" + dependencies: + delegates "^1.0.0" + readable-stream "^2.0.6" + argparse@^1.0.7: version "1.0.10" resolved "https://registry.npm.taobao.org/argparse/download/argparse-1.0.10.tgz#bcd6791ea5ae09725e17e5ad988134cd40b3d911" @@ -1733,10 +1830,21 @@ arr-union@^3.1.0: version "3.1.0" resolved "https://registry.npm.taobao.org/arr-union/download/arr-union-3.1.0.tgz#e39b09aea9def866a8f206e288af63919bae39c4" +array-almost-equal@^1.0.0: + version "1.0.0" + resolved "https://registry.npm.taobao.org/array-almost-equal/download/array-almost-equal-1.0.0.tgz#43c54ff435042e9cbfa4212ac49ada5fc7359fc5" + dependencies: + almost-equal "0.0.0" + an-array "^1.0.0" + array-equal@^1.0.0: version "1.0.0" resolved "https://registry.npm.taobao.org/array-equal/download/array-equal-1.0.0.tgz#8c2a5ef2472fd9ea742b04c77a75093ba2757c93" +array-find-index@^1.0.1: + version "1.0.2" + resolved "https://registry.npm.taobao.org/array-find-index/download/array-find-index-1.0.2.tgz#df010aa1287e164bbda6f9723b0a96a1ec4187a1" + array-flatten@1.1.1: version "1.1.1" resolved "https://registry.npm.taobao.org/array-flatten/download/array-flatten-1.1.1.tgz?cache=0&sync_timestamp=1574313315299&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Farray-flatten%2Fdownload%2Farray-flatten-1.1.1.tgz#9a5f699051b1e7073328f2a008968b64ea2955d2" @@ -1829,6 +1937,10 @@ async-each@^1.0.1: version "1.0.3" resolved "https://registry.npm.taobao.org/async-each/download/async-each-1.0.3.tgz#b727dbf87d7651602f06f4d4ac387f47d91b0cbf" +async-foreach@^0.1.3: + version "0.1.3" + resolved "https://registry.npm.taobao.org/async-foreach/download/async-foreach-0.1.3.tgz#36121f845c0578172de419a97dbeb1d16ec34542" + async-limiter@~1.0.0: version "1.0.1" resolved "https://registry.npm.taobao.org/async-limiter/download/async-limiter-1.0.1.tgz#dd379e94f0db8310b08291f9d64c3209766617fd" @@ -2052,6 +2164,12 @@ bindings@^1.5.0: dependencies: file-uri-to-path "1.0.0" +block-stream@*: + version "0.0.9" + resolved "https://registry.npm.taobao.org/block-stream/download/block-stream-0.0.9.tgz#13ebfe778a03205cfe03751481ebb4b3300c126a" + dependencies: + inherits "~2.0.0" + bluebird@^3.5.5: version "3.7.2" resolved "https://registry.npm.taobao.org/bluebird/download/bluebird-3.7.2.tgz#9f229c15be272454ffa973ace0dbee79a1b0c36f" @@ -2329,6 +2447,13 @@ camel-case@^4.1.1: pascal-case "^3.1.1" tslib "^1.10.0" +camelcase-keys@^2.0.0: + version "2.1.0" + resolved "https://registry.npm.taobao.org/camelcase-keys/download/camelcase-keys-2.1.0.tgz?cache=0&sync_timestamp=1585886152866&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fcamelcase-keys%2Fdownload%2Fcamelcase-keys-2.1.0.tgz#308beeaffdf28119051efa1d932213c91b8f92e7" + dependencies: + camelcase "^2.0.0" + map-obj "^1.0.0" + camelcase@5.0.0: version "5.0.0" resolved "https://registry.npm.taobao.org/camelcase/download/camelcase-5.0.0.tgz#03295527d58bd3cd4aa75363f35b2e8d97be2f42" @@ -2337,6 +2462,14 @@ camelcase@5.3.1, camelcase@^5.0.0, camelcase@^5.3.1: version "5.3.1" resolved "https://registry.npm.taobao.org/camelcase/download/camelcase-5.3.1.tgz#e3c9b31569e106811df242f715725a1f4c494320" +camelcase@^2.0.0: + version "2.1.1" + resolved "https://registry.npm.taobao.org/camelcase/download/camelcase-2.1.1.tgz#7c1d16d679a1bbe59ca02cacecfb011e201f5a1f" + +camelcase@^3.0.0: + version "3.0.0" + resolved "https://registry.npm.taobao.org/camelcase/download/camelcase-3.0.0.tgz#32fc4b9fcdaf845fcdf7e73bb97cac2261f0ab0a" + caniuse-api@^3.0.0: version "3.0.0" resolved "https://registry.npm.taobao.org/caniuse-api/download/caniuse-api-3.0.0.tgz#5e4d90e2274961d46291997df599e3ed008ee4c0" @@ -2350,6 +2483,30 @@ caniuse-lite@^1.0.0, caniuse-lite@^1.0.30000981, caniuse-lite@^1.0.30001035, can version "1.0.30001042" resolved "https://registry.npm.taobao.org/caniuse-lite/download/caniuse-lite-1.0.30001042.tgz?cache=0&sync_timestamp=1586925308169&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fcaniuse-lite%2Fdownload%2Fcaniuse-lite-1.0.30001042.tgz#c91ec21ec2d270bd76dbc2ce261260c292b8c93c" +canvas-sketch-util@^1.10.0: + version "1.10.0" + resolved "https://registry.npm.taobao.org/canvas-sketch-util/download/canvas-sketch-util-1.10.0.tgz#93d11aa378f8991ed0837d1bf8ea738132f41f1e" + dependencies: + abs-svg-path "^0.1.1" + almost-equal "^1.1.0" + array-almost-equal "^1.0.0" + clone "^2.1.2" + color-luminance "^2.1.0" + convert-length "^1.0.1" + d3-path "^1.0.8" + defined "^1.0.0" + float-hsl2rgb "^1.0.2" + float-rgb2hsl "^1.0.1" + lineclip "^1.1.5" + normalize-svg-path "^1.0.1" + parse-color "^1.0.0" + parse-svg-path "^0.1.2" + primitive-quad "^2.0.0" + regl "^1.3.7" + seed-random "^2.2.0" + simplex-noise "^2.4.0" + svg-path-contours "^2.0.0" + capture-exit@^2.0.0: version "2.0.0" resolved "https://registry.npm.taobao.org/capture-exit/download/capture-exit-2.0.0.tgz#fb953bfaebeb781f62898239dabb426d08a509a4" @@ -2372,7 +2529,7 @@ chalk@2.4.2, chalk@^2.0.0, chalk@^2.0.1, chalk@^2.1.0, chalk@^2.4.1, chalk@^2.4. escape-string-regexp "^1.0.5" supports-color "^5.3.0" -chalk@^1.1.3: +chalk@^1.1.1, chalk@^1.1.3: version "1.1.3" resolved "https://registry.npm.taobao.org/chalk/download/chalk-1.1.3.tgz?cache=0&sync_timestamp=1585815759944&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fchalk%2Fdownload%2Fchalk-1.1.3.tgz#a8115c55e4a702fe4d150abd3872822a7e09fc98" dependencies: @@ -2475,6 +2632,14 @@ cli-width@^2.0.0: version "2.2.1" resolved "https://registry.npm.taobao.org/cli-width/download/cli-width-2.2.1.tgz#b0433d0b4e9c847ef18868a4ef16fd5fc8271c48" +cliui@^3.2.0: + version "3.2.0" + resolved "https://registry.npm.taobao.org/cliui/download/cliui-3.2.0.tgz#120601537a916d29940f934da3b48d585a39213d" + dependencies: + string-width "^1.0.1" + strip-ansi "^3.0.1" + wrap-ansi "^2.0.0" + cliui@^4.0.0: version "4.1.0" resolved "https://registry.npm.taobao.org/cliui/download/cliui-4.1.0.tgz#348422dbe82d800b3022eef4f6ac10bf2e4d1b49" @@ -2509,6 +2674,10 @@ clone-deep@^4.0.1: kind-of "^6.0.2" shallow-clone "^3.0.0" +clone@^2.1.2: + version "2.1.2" + resolved "https://registry.npm.taobao.org/clone/download/clone-2.1.2.tgz#1b7f4b9f591f1e8f83670401600345a02887435f" + co@^4.6.0: version "4.6.0" resolved "https://registry.npm.taobao.org/co/download/co-4.6.0.tgz#6ea6bdf3d853ae54ccb8e47bfa0bf3f9031fb184" @@ -2544,6 +2713,14 @@ color-convert@^2.0.1: dependencies: color-name "~1.1.4" +color-convert@~0.5.0: + version "0.5.3" + resolved "https://registry.npm.taobao.org/color-convert/download/color-convert-0.5.3.tgz#bdb6c69ce660fadffe0b0007cc447e1b9f7282bd" + +color-luminance@^2.1.0: + version "2.1.0" + resolved "https://registry.npm.taobao.org/color-luminance/download/color-luminance-2.1.0.tgz#58ff2ebd32b52d07f5378eefe5a0e79d6b318ad7" + color-name@1.1.3: version "1.1.3" resolved "https://registry.npm.taobao.org/color-name/download/color-name-1.1.3.tgz#a7d0558bd89c42f795dd42328f740831ca53bc25" @@ -2566,7 +2743,7 @@ color@^3.0.0: color-convert "^1.9.1" color-string "^1.5.2" -combined-stream@^1.0.6, combined-stream@~1.0.6: +combined-stream@^1.0.6, combined-stream@^1.0.8, combined-stream@~1.0.6: version "1.0.8" resolved "https://registry.npm.taobao.org/combined-stream/download/combined-stream-1.0.8.tgz#c3d45a8b34fd730631a110a8a2520682b31d5a7f" dependencies: @@ -2641,6 +2818,10 @@ console-browserify@^1.1.0: version "1.2.0" resolved "https://registry.npm.taobao.org/console-browserify/download/console-browserify-1.2.0.tgz#67063cef57ceb6cf4993a2ab3a55840ae8c49336" +console-control-strings@^1.0.0, console-control-strings@~1.1.0: + version "1.1.0" + resolved "https://registry.npm.taobao.org/console-control-strings/download/console-control-strings-1.1.0.tgz#3d7cf4464db6446ea644bf4b39507f9851008e8e" + constants-browserify@^1.0.0: version "1.0.0" resolved "https://registry.npm.taobao.org/constants-browserify/download/constants-browserify-1.0.0.tgz#c20b96d8c617748aaf1c16021760cd27fcb8cb75" @@ -2659,6 +2840,12 @@ content-type@~1.0.4: version "1.0.4" resolved "https://registry.npm.taobao.org/content-type/download/content-type-1.0.4.tgz#e138cc75e040c727b1966fe5e5f8c9aee256fe3b" +convert-length@^1.0.1: + version "1.0.1" + resolved "https://registry.npm.taobao.org/convert-length/download/convert-length-1.0.1.tgz#b66c7dc1f7d181916667c977f57be2f1eb17c1b7" + dependencies: + defined "^1.0.0" + convert-source-map@1.7.0, convert-source-map@^1.4.0, convert-source-map@^1.7.0: version "1.7.0" resolved "https://registry.npm.taobao.org/convert-source-map/download/convert-source-map-1.7.0.tgz?cache=0&sync_timestamp=1577793955569&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fconvert-source-map%2Fdownload%2Fconvert-source-map-1.7.0.tgz#17a2cb882d7f77d3490585e2ce6c524424a3a442" @@ -2770,6 +2957,13 @@ cross-spawn@7.0.1: shebang-command "^2.0.0" which "^2.0.1" +cross-spawn@^3.0.0: + version "3.0.1" + resolved "https://registry.npm.taobao.org/cross-spawn/download/cross-spawn-3.0.1.tgz?cache=0&sync_timestamp=1585994253962&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fcross-spawn%2Fdownload%2Fcross-spawn-3.0.1.tgz#1256037ecb9f0c5f79e3d6ef135e30770184b982" + dependencies: + lru-cache "^4.0.1" + which "^1.2.9" + cross-spawn@^6.0.0, cross-spawn@^6.0.5: version "6.0.5" resolved "https://registry.npm.taobao.org/cross-spawn/download/cross-spawn-6.0.5.tgz?cache=0&sync_timestamp=1585994253962&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fcross-spawn%2Fdownload%2Fcross-spawn-6.0.5.tgz#4a5ec7c64dfae22c3a14124dbacdee846d80cbc4" @@ -2994,10 +3188,20 @@ csstype@^2.2.0: version "2.6.10" resolved "https://registry.npm.taobao.org/csstype/download/csstype-2.6.10.tgz?cache=0&sync_timestamp=1585556974236&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fcsstype%2Fdownload%2Fcsstype-2.6.10.tgz#e63af50e66d7c266edb6b32909cfd0aabe03928b" +currently-unhandled@^0.4.1: + version "0.4.1" + resolved "https://registry.npm.taobao.org/currently-unhandled/download/currently-unhandled-0.4.1.tgz#988df33feab191ef799a61369dd76c17adf957ea" + dependencies: + array-find-index "^1.0.1" + cyclist@^1.0.1: version "1.0.1" resolved "https://registry.npm.taobao.org/cyclist/download/cyclist-1.0.1.tgz#596e9698fd0c80e12038c2b82d6eb1b35b6224d9" +d3-path@^1.0.8: + version "1.0.9" + resolved "https://registry.npm.taobao.org/d3-path/download/d3-path-1.0.9.tgz#48c050bb1fe8c262493a8caf5524e3e9591701cf" + d@1, d@^1.0.1: version "1.0.1" resolved "https://registry.npm.taobao.org/d/download/d-1.0.1.tgz#8698095372d58dbee346ffd0c7093f99f8f9eb5a" @@ -3041,7 +3245,7 @@ debug@^4.0.1, debug@^4.1.0, debug@^4.1.1: dependencies: ms "^2.1.1" -decamelize@^1.2.0: +decamelize@^1.1.1, decamelize@^1.1.2, decamelize@^1.2.0: version "1.2.0" resolved "https://registry.npm.taobao.org/decamelize/download/decamelize-1.2.0.tgz#f6534d15148269b20352e7bee26f501f9a191290" @@ -3096,6 +3300,10 @@ define-property@^2.0.2: is-descriptor "^1.0.2" isobject "^3.0.1" +defined@^1.0.0: + version "1.0.0" + resolved "https://registry.npm.taobao.org/defined/download/defined-1.0.0.tgz#c98d9bcef75674188e110969151199e39b1fa693" + del@^4.1.1: version "4.1.1" resolved "https://registry.npm.taobao.org/del/download/del-4.1.1.tgz#9e8f117222ea44a31ff3a156c049b99052a9f0b4" @@ -3112,6 +3320,10 @@ delayed-stream@~1.0.0: version "1.0.0" resolved "https://registry.npm.taobao.org/delayed-stream/download/delayed-stream-1.0.0.tgz#df3ae199acadfb7d440aaae0b29e2272b24ec619" +delegates@^1.0.0: + version "1.0.0" + resolved "https://registry.npm.taobao.org/delegates/download/delegates-1.0.0.tgz#84c6e159b81904fdca59a0ef44cd870d31250f9a" + depd@~1.1.2: version "1.1.2" resolved "https://registry.npm.taobao.org/depd/download/depd-1.1.2.tgz#9bcd52e14c097763e749b274c4346ed2e560b5a9" @@ -3641,6 +3853,10 @@ eventemitter3@^4.0.0: version "4.0.0" resolved "https://registry.npm.taobao.org/eventemitter3/download/eventemitter3-4.0.0.tgz#d65176163887ee59f386d64c82610b696a4a74eb" +events@^1.0.2: + version "1.1.1" + resolved "https://registry.npm.taobao.org/events/download/events-1.1.1.tgz#9ebdb7635ad099c70dcc4c2a1f5004288e8bd924" + events@^3.0.0: version "3.1.0" resolved "https://registry.npm.taobao.org/events/download/events-3.1.0.tgz#84279af1b34cb75aa88bf5ff291f6d0bd9b31a59" @@ -3953,6 +4169,14 @@ flatten@^1.0.2: version "1.0.3" resolved "https://registry.npm.taobao.org/flatten/download/flatten-1.0.3.tgz#c1283ac9f27b368abc1e36d1ff7b04501a30356b" +float-hsl2rgb@^1.0.2: + version "1.0.2" + resolved "https://registry.npm.taobao.org/float-hsl2rgb/download/float-hsl2rgb-1.0.2.tgz#ecf3509c40ac6567c96a204622b0c4c4bf43c8a1" + +float-rgb2hsl@^1.0.1: + version "1.0.1" + resolved "https://registry.npm.taobao.org/float-rgb2hsl/download/float-rgb2hsl-1.0.1.tgz#8efeaa0fc726e53363a79bf3f636082055c10c0e" + flush-write-stream@^1.0.0: version "1.1.1" resolved "https://registry.npm.taobao.org/flush-write-stream/download/flush-write-stream-1.1.1.tgz#8dd7d873a1babc207d94ead0c2e0e44276ebf2e8" @@ -3997,6 +4221,14 @@ fork-ts-checker-webpack-plugin@3.1.1: tapable "^1.0.0" worker-rpc "^0.1.0" +form-data@^3.0.0: + version "3.0.0" + resolved "https://registry.npm.taobao.org/form-data/download/form-data-3.0.0.tgz#31b7e39c85f1355b7139ee0c647cf0de7f83c682" + dependencies: + asynckit "^0.4.0" + combined-stream "^1.0.8" + mime-types "^2.1.12" + form-data@~2.3.2: version "2.3.3" resolved "https://registry.npm.taobao.org/form-data/download/form-data-2.3.3.tgz#dcce52c05f644f298c6a7ab936bd724ceffbf3a6" @@ -4080,6 +4312,15 @@ fsevents@^1.2.7: bindings "^1.5.0" nan "^2.12.1" +fstream@^1.0.0, fstream@^1.0.12: + version "1.0.12" + resolved "https://registry.npm.taobao.org/fstream/download/fstream-1.0.12.tgz#4e8ba8ee2d48be4f7d0de505455548eae5932045" + dependencies: + graceful-fs "^4.1.2" + inherits "~2.0.0" + mkdirp ">=0.5 0" + rimraf "2" + function-bind@^1.1.1: version "1.1.1" resolved "https://registry.npm.taobao.org/function-bind/download/function-bind-1.1.1.tgz#a56899d3ea3c9bab874bb9773b7c5ede92f4895d" @@ -4088,6 +4329,25 @@ functional-red-black-tree@^1.0.1: version "1.0.1" resolved "https://registry.npm.taobao.org/functional-red-black-tree/download/functional-red-black-tree-1.0.1.tgz#1b0ab3bd553b2a0d6399d29c0e3ea0b252078327" +gauge@~2.7.3: + version "2.7.4" + resolved "https://registry.npm.taobao.org/gauge/download/gauge-2.7.4.tgz#2c03405c7538c39d7eb37b317022e325fb018bf7" + dependencies: + aproba "^1.0.3" + console-control-strings "^1.0.0" + has-unicode "^2.0.0" + object-assign "^4.1.0" + signal-exit "^3.0.0" + string-width "^1.0.1" + strip-ansi "^3.0.1" + wide-align "^1.1.0" + +gaze@^1.0.0: + version "1.1.3" + resolved "https://registry.npm.taobao.org/gaze/download/gaze-1.1.3.tgz#c441733e13b927ac8c0ff0b4c3b033f28812924a" + dependencies: + globule "^1.0.0" + gensync@^1.0.0-beta.1: version "1.0.0-beta.1" resolved "https://registry.npm.taobao.org/gensync/download/gensync-1.0.0-beta.1.tgz#58f4361ff987e5ff6e1e7a210827aa371eaac269" @@ -4104,6 +4364,10 @@ get-own-enumerable-property-symbols@^3.0.0: version "3.0.2" resolved "https://registry.npm.taobao.org/get-own-enumerable-property-symbols/download/get-own-enumerable-property-symbols-3.0.2.tgz#b5fde77f22cbe35f390b4e089922c50bce6ef664" +get-stdin@^4.0.1: + version "4.0.1" + resolved "https://registry.npm.taobao.org/get-stdin/download/get-stdin-4.0.1.tgz#b968c6b0a04384324902e8bf1a5df32579a450fe" + get-stream@^4.0.0: version "4.1.0" resolved "https://registry.npm.taobao.org/get-stream/download/get-stream-4.1.0.tgz#c1b255575f3dc21d59bfc79cd3d2b46b1c3a54b5" @@ -4137,7 +4401,7 @@ glob-to-regexp@^0.3.0: version "0.3.0" resolved "https://registry.npm.taobao.org/glob-to-regexp/download/glob-to-regexp-0.3.0.tgz#8c5a1494d2066c570cc3bfe4496175acc4d502ab" -glob@^7.0.3, glob@^7.1.1, glob@^7.1.2, glob@^7.1.3, glob@^7.1.4, glob@^7.1.6: +glob@^7.0.0, glob@^7.0.3, glob@^7.1.1, glob@^7.1.2, glob@^7.1.3, glob@^7.1.4, glob@^7.1.6, glob@~7.1.1: version "7.1.6" resolved "https://registry.npm.taobao.org/glob/download/glob-7.1.6.tgz#141f33b81a7c2492e125594307480c46679278a6" dependencies: @@ -4194,6 +4458,14 @@ globby@^6.1.0: pify "^2.0.0" pinkie-promise "^2.0.0" +globule@^1.0.0: + version "1.3.1" + resolved "https://registry.npm.taobao.org/globule/download/globule-1.3.1.tgz#90a25338f22b7fbeb527cee63c629aea754d33b9" + dependencies: + glob "~7.1.1" + lodash "~4.17.12" + minimatch "~3.0.2" + graceful-fs@^4.1.11, graceful-fs@^4.1.15, graceful-fs@^4.1.2, graceful-fs@^4.1.6, graceful-fs@^4.2.0, graceful-fs@^4.2.2: version "4.2.3" resolved "https://registry.npm.taobao.org/graceful-fs/download/graceful-fs-4.2.3.tgz#4a12ff1b60376ef09862c2093edd908328be8423" @@ -4246,6 +4518,10 @@ has-symbols@^1.0.0, has-symbols@^1.0.1: version "1.0.1" resolved "https://registry.npm.taobao.org/has-symbols/download/has-symbols-1.0.1.tgz#9f5214758a44196c406d9bd76cebf81ec2dd31e8" +has-unicode@^2.0.0: + version "2.0.1" + resolved "https://registry.npm.taobao.org/has-unicode/download/has-unicode-2.0.1.tgz#e0e6fe6a28cf51138855e086d1691e771de2a8b9" + has-value@^0.3.1: version "0.3.1" resolved "https://registry.npm.taobao.org/has-value/download/has-value-0.3.1.tgz#7b1f58bada62ca827ec0a2078025654845995e1f" @@ -4523,6 +4799,16 @@ imurmurhash@^0.1.4: version "0.1.4" resolved "https://registry.npm.taobao.org/imurmurhash/download/imurmurhash-0.1.4.tgz#9218b9b2b928a238b13dc4fb6b6d576f231453ea" +in-publish@^2.0.0: + version "2.0.1" + resolved "https://registry.npm.taobao.org/in-publish/download/in-publish-2.0.1.tgz#948b1a535c8030561cea522f73f78f4be357e00c" + +indent-string@^2.1.0: + version "2.1.0" + resolved "https://registry.npm.taobao.org/indent-string/download/indent-string-2.1.0.tgz?cache=0&sync_timestamp=1577792830402&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Findent-string%2Fdownload%2Findent-string-2.1.0.tgz#8e2d48348742121b4a8218b7a137e9a52049dc80" + dependencies: + repeating "^2.0.0" + indent-string@^4.0.0: version "4.0.0" resolved "https://registry.npm.taobao.org/indent-string/download/indent-string-4.0.0.tgz?cache=0&sync_timestamp=1577792830402&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Findent-string%2Fdownload%2Findent-string-4.0.0.tgz#624f8f4497d619b2d9768531d58f4122854d7251" @@ -4542,7 +4828,7 @@ inflight@^1.0.4: once "^1.3.0" wrappy "1" -inherits@2, inherits@2.0.4, inherits@^2.0.1, inherits@^2.0.3, inherits@~2.0.1, inherits@~2.0.3: +inherits@2, inherits@2.0.4, inherits@^2.0.1, inherits@^2.0.3, inherits@~2.0.0, inherits@~2.0.1, inherits@~2.0.3: version "2.0.4" resolved "https://registry.npm.taobao.org/inherits/download/inherits-2.0.4.tgz#0fa2c64f932917c3433a0ded55363aae37416b7c" @@ -4615,6 +4901,10 @@ invariant@^2.2.2, invariant@^2.2.4: dependencies: loose-envify "^1.0.0" +invert-kv@^1.0.0: + version "1.0.0" + resolved "https://registry.npm.taobao.org/invert-kv/download/invert-kv-1.0.0.tgz#104a8e4aaca6d3d8cd157a8ef8bfab2d7a3ffdb6" + invert-kv@^2.0.0: version "2.0.0" resolved "https://registry.npm.taobao.org/invert-kv/download/invert-kv-2.0.0.tgz#7393f5afa59ec9ff5f67a27620d11c226e3eec02" @@ -4754,6 +5044,10 @@ is-extglob@^2.1.0, is-extglob@^2.1.1: version "2.1.1" resolved "https://registry.npm.taobao.org/is-extglob/download/is-extglob-2.1.1.tgz#a88c02535791f02ed37c76a1b9ea9773c833f8c2" +is-finite@^1.0.0: + version "1.1.0" + resolved "https://registry.npm.taobao.org/is-finite/download/is-finite-1.1.0.tgz#904135c77fb42c0641d6aa1bcdbc4daa8da082f3" + is-fullwidth-code-point@^1.0.0: version "1.0.0" resolved "https://registry.npm.taobao.org/is-fullwidth-code-point/download/is-fullwidth-code-point-1.0.0.tgz#ef9e31386f031a7f0d643af82fde50c457ef00cb" @@ -4874,6 +5168,10 @@ is-typedarray@~1.0.0: version "1.0.0" resolved "https://registry.npm.taobao.org/is-typedarray/download/is-typedarray-1.0.0.tgz#e479c80858df0c1b11ddda6940f96011fcda4a9a" +is-utf8@^0.2.0: + version "0.2.1" + resolved "https://registry.npm.taobao.org/is-utf8/download/is-utf8-0.2.1.tgz#4b0da1442104d1b336340e80797e865cf39f7d72" + is-windows@^1.0.2: version "1.0.2" resolved "https://registry.npm.taobao.org/is-windows/download/is-windows-1.0.2.tgz#d1850eb9791ecd18e6182ce12a30f396634bb19d" @@ -5304,6 +5602,10 @@ jest@24.9.0: import-local "^2.0.0" jest-cli "^24.9.0" +js-base64@^2.1.8: + version "2.5.2" + resolved "https://registry.npm.taobao.org/js-base64/download/js-base64-2.5.2.tgz?cache=0&sync_timestamp=1581520599782&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fjs-base64%2Fdownload%2Fjs-base64-2.5.2.tgz#313b6274dda718f714d00b3330bbae6e38e90209" + "js-tokens@^3.0.0 || ^4.0.0", js-tokens@^4.0.0: version "4.0.0" resolved "https://registry.npm.taobao.org/js-tokens/download/js-tokens-4.0.0.tgz#19203fb59991df98e3a287050d4647cdeaf32499" @@ -5510,6 +5812,12 @@ lazy-cache@^1.0.3: version "1.0.4" resolved "https://registry.npm.taobao.org/lazy-cache/download/lazy-cache-1.0.4.tgz#a1d78fc3a50474cb80845d3b3b6e1da49a446e8e" +lcid@^1.0.0: + version "1.0.0" + resolved "https://registry.npm.taobao.org/lcid/download/lcid-1.0.0.tgz#308accafa0bc483a3867b4b6f2b9506251d1b835" + dependencies: + invert-kv "^1.0.0" + lcid@^2.0.0: version "2.0.0" resolved "https://registry.npm.taobao.org/lcid/download/lcid-2.0.0.tgz#6ef5d2df60e52f82eb228a4c373e8d1f397253cf" @@ -5537,10 +5845,24 @@ levn@^0.3.0, levn@~0.3.0: prelude-ls "~1.1.2" type-check "~0.3.2" +lineclip@^1.1.5: + version "1.1.5" + resolved "https://registry.npm.taobao.org/lineclip/download/lineclip-1.1.5.tgz#2bf26067d94354feabf91e42768236db5616fd13" + lines-and-columns@^1.1.6: version "1.1.6" resolved "https://registry.npm.taobao.org/lines-and-columns/download/lines-and-columns-1.1.6.tgz#1c00c743b433cd0a4e80758f7b64a57440d9ff00" +load-json-file@^1.0.0: + version "1.1.0" + resolved "https://registry.npm.taobao.org/load-json-file/download/load-json-file-1.1.0.tgz#956905708d58b4bab4c2261b04f59f31c99374c0" + dependencies: + graceful-fs "^4.1.2" + parse-json "^2.2.0" + pify "^2.0.0" + pinkie-promise "^2.0.0" + strip-bom "^2.0.0" + load-json-file@^2.0.0: version "2.0.0" resolved "https://registry.npm.taobao.org/load-json-file/download/load-json-file-2.0.0.tgz#7947e42149af80d696cbf797bcaabcfe1fe29ca8" @@ -5635,7 +5957,7 @@ lodash.uniq@^4.5.0: version "4.5.0" resolved "https://registry.npm.taobao.org/lodash.uniq/download/lodash.uniq-4.5.0.tgz#d0225373aeb652adc1bc82e4945339a842754773" -"lodash@>=3.5 <5", lodash@^4.17.11, lodash@^4.17.13, lodash@^4.17.14, lodash@^4.17.15, lodash@^4.17.5: +"lodash@>=3.5 <5", lodash@^4.0.0, lodash@^4.17.11, lodash@^4.17.13, lodash@^4.17.14, lodash@^4.17.15, lodash@^4.17.5, lodash@~4.17.12: version "4.17.15" resolved "https://registry.npm.taobao.org/lodash/download/lodash-4.17.15.tgz#b447f6670a0455bbfeedd11392eff330ea097548" @@ -5649,12 +5971,26 @@ loose-envify@^1.0.0, loose-envify@^1.1.0, loose-envify@^1.4.0: dependencies: js-tokens "^3.0.0 || ^4.0.0" +loud-rejection@^1.0.0: + version "1.6.0" + resolved "https://registry.npm.taobao.org/loud-rejection/download/loud-rejection-1.6.0.tgz#5b46f80147edee578870f086d04821cf998e551f" + dependencies: + currently-unhandled "^0.4.1" + signal-exit "^3.0.0" + lower-case@^2.0.1: version "2.0.1" resolved "https://registry.npm.taobao.org/lower-case/download/lower-case-2.0.1.tgz#39eeb36e396115cc05e29422eaea9e692c9408c7" dependencies: tslib "^1.10.0" +lru-cache@^4.0.1: + version "4.1.5" + resolved "https://registry.npm.taobao.org/lru-cache/download/lru-cache-4.1.5.tgz#8bbe50ea85bed59bc9e33dcab8235ee9bcf443cd" + dependencies: + pseudomap "^1.0.2" + yallist "^2.1.2" + lru-cache@^5.1.1: version "5.1.1" resolved "https://registry.npm.taobao.org/lru-cache/download/lru-cache-5.1.1.tgz#1da27e6710271947695daf6848e847f01d84b920" @@ -5694,12 +6030,20 @@ map-cache@^0.2.2: version "0.2.2" resolved "https://registry.npm.taobao.org/map-cache/download/map-cache-0.2.2.tgz#c32abd0bd6525d9b051645bb4f26ac5dc98a0dbf" +map-obj@^1.0.0, map-obj@^1.0.1: + version "1.0.1" + resolved "https://registry.npm.taobao.org/map-obj/download/map-obj-1.0.1.tgz#d933ceb9205d82bdcf4886f6742bdc2b4dea146d" + map-visit@^1.0.0: version "1.0.0" resolved "https://registry.npm.taobao.org/map-visit/download/map-visit-1.0.0.tgz#ecdca8f13144e660f1b5bd41f12f3479d98dfb8f" dependencies: object-visit "^1.0.0" +matter-js@^0.14.2: + version "0.14.2" + resolved "https://registry.npm.taobao.org/matter-js/download/matter-js-0.14.2.tgz#8169af9e06fdc356ba9e72b49624eb329839883b" + md5.js@^1.3.4: version "1.3.5" resolved "https://registry.npm.taobao.org/md5.js/download/md5.js-1.3.5.tgz#b5d07b8e3216e3e27cd728d72f70d1e6a342005f" @@ -5742,6 +6086,21 @@ memory-fs@^0.5.0: errno "^0.1.3" readable-stream "^2.0.1" +meow@^3.7.0: + version "3.7.0" + resolved "https://registry.npm.taobao.org/meow/download/meow-3.7.0.tgz#72cb668b425228290abbfa856892587308a801fb" + dependencies: + camelcase-keys "^2.0.0" + decamelize "^1.1.2" + loud-rejection "^1.0.0" + map-obj "^1.0.1" + minimist "^1.1.3" + normalize-package-data "^2.3.4" + object-assign "^4.0.1" + read-pkg-up "^1.0.1" + redent "^1.0.0" + trim-newlines "^1.0.0" + merge-deep@^3.0.2: version "3.0.2" resolved "https://registry.npm.taobao.org/merge-deep/download/merge-deep-3.0.2.tgz#f39fa100a4f1bd34ff29f7d2bf4508fbb8d83ad2" @@ -5838,13 +6197,13 @@ minimalistic-crypto-utils@^1.0.0, minimalistic-crypto-utils@^1.0.1: version "1.0.1" resolved "https://registry.npm.taobao.org/minimalistic-crypto-utils/download/minimalistic-crypto-utils-1.0.1.tgz#f6c00c1c0b082246e5c4d99dfb8c7c083b2b582a" -minimatch@3.0.4, minimatch@^3.0.4: +minimatch@3.0.4, minimatch@^3.0.4, minimatch@~3.0.2: version "3.0.4" resolved "https://registry.npm.taobao.org/minimatch/download/minimatch-3.0.4.tgz#5166e286457f03306064be5497e8dbb0c3d32083" dependencies: brace-expansion "^1.1.7" -minimist@^1.1.1, minimist@^1.2.0, minimist@^1.2.5: +minimist@^1.1.1, minimist@^1.1.3, minimist@^1.2.0, minimist@^1.2.5: version "1.2.5" resolved "https://registry.npm.taobao.org/minimist/download/minimist-1.2.5.tgz#67d66014b66a6a8aaa0c083c5fd58df4e4e97602" @@ -5901,7 +6260,7 @@ mixin-object@^2.0.1: for-in "^0.1.3" is-extendable "^0.1.1" -mkdirp@^0.5.1, mkdirp@^0.5.3, mkdirp@~0.5.1: +"mkdirp@>=0.5 0", mkdirp@^0.5.0, mkdirp@^0.5.1, mkdirp@^0.5.3, mkdirp@~0.5.1: version "0.5.5" resolved "https://registry.npm.taobao.org/mkdirp/download/mkdirp-0.5.5.tgz#d91cefd62d1436ca0f41620e251288d420099def" dependencies: @@ -5945,7 +6304,7 @@ mute-stream@0.0.8: version "0.0.8" resolved "https://registry.npm.taobao.org/mute-stream/download/mute-stream-0.0.8.tgz#1630c42b2251ff81e2a283de96a5497ea92e5e0d" -nan@^2.12.1: +nan@^2.12.1, nan@^2.13.2: version "2.14.0" resolved "https://registry.npm.taobao.org/nan/download/nan-2.14.0.tgz#7818f722027b2459a86f0295d434d1fc2336c52c" @@ -5992,10 +6351,31 @@ no-case@^3.0.3: lower-case "^2.0.1" tslib "^1.10.0" +node-fetch@~2.1.2: + version "2.1.2" + resolved "https://registry.npm.taobao.org/node-fetch/download/node-fetch-2.1.2.tgz#ab884e8e7e57e38a944753cec706f788d1768bb5" + node-forge@0.9.0: version "0.9.0" resolved "https://registry.npm.taobao.org/node-forge/download/node-forge-0.9.0.tgz#d624050edbb44874adca12bb9a52ec63cb782579" +node-gyp@^3.8.0: + version "3.8.0" + resolved "https://registry.npm.taobao.org/node-gyp/download/node-gyp-3.8.0.tgz#540304261c330e80d0d5edce253a68cb3964218c" + dependencies: + fstream "^1.0.0" + glob "^7.0.3" + graceful-fs "^4.1.2" + mkdirp "^0.5.0" + nopt "2 || 3" + npmlog "0 || 1 || 2 || 3 || 4" + osenv "0" + request "^2.87.0" + rimraf "2" + semver "~5.3.0" + tar "^2.0.0" + which "1" + node-int64@^0.4.0: version "0.4.0" resolved "https://registry.npm.taobao.org/node-int64/download/node-int64-0.4.0.tgz#87a9065cdb355d3182d8f94ce11188b825c68a3b" @@ -6046,7 +6426,35 @@ node-releases@^1.1.52, node-releases@^1.1.53: version "1.1.53" resolved "https://registry.npm.taobao.org/node-releases/download/node-releases-1.1.53.tgz#2d821bfa499ed7c5dffc5e2f28c88e78a08ee3f4" -normalize-package-data@^2.3.2: +node-sass@^4.13.1: + version "4.13.1" + resolved "https://registry.npm.taobao.org/node-sass/download/node-sass-4.13.1.tgz#9db5689696bb2eec2c32b98bfea4c7a2e992d0a3" + dependencies: + async-foreach "^0.1.3" + chalk "^1.1.1" + cross-spawn "^3.0.0" + gaze "^1.0.0" + get-stdin "^4.0.1" + glob "^7.0.3" + in-publish "^2.0.0" + lodash "^4.17.15" + meow "^3.7.0" + mkdirp "^0.5.1" + nan "^2.13.2" + node-gyp "^3.8.0" + npmlog "^4.0.0" + request "^2.88.0" + sass-graph "^2.2.4" + stdout-stream "^1.4.0" + "true-case-path" "^1.0.2" + +"nopt@2 || 3": + version "3.0.6" + resolved "https://registry.npm.taobao.org/nopt/download/nopt-3.0.6.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fnopt%2Fdownload%2Fnopt-3.0.6.tgz#c6465dbf08abcd4db359317f79ac68a646b28ff9" + dependencies: + abbrev "1" + +normalize-package-data@^2.3.2, normalize-package-data@^2.3.4: version "2.5.0" resolved "https://registry.npm.taobao.org/normalize-package-data/download/normalize-package-data-2.5.0.tgz#e66db1838b200c1dfc233225d12cb36520e234a8" dependencies: @@ -6069,6 +6477,16 @@ normalize-range@^0.1.2: version "0.1.2" resolved "https://registry.npm.taobao.org/normalize-range/download/normalize-range-0.1.2.tgz#2d10c06bdfd312ea9777695a4d28439456b75942" +normalize-svg-path@^0.1.0: + version "0.1.0" + resolved "https://registry.npm.taobao.org/normalize-svg-path/download/normalize-svg-path-0.1.0.tgz#456360e60ece75fbef7b5d7e160480e7ffd16fe5" + +normalize-svg-path@^1.0.1: + version "1.0.1" + resolved "https://registry.npm.taobao.org/normalize-svg-path/download/normalize-svg-path-1.0.1.tgz#6f729ad6b70bb4ca4eff2fe4b107489efe1d56fe" + dependencies: + svg-arc-to-cubic-bezier "^3.0.0" + normalize-url@1.9.1: version "1.9.1" resolved "https://registry.npm.taobao.org/normalize-url/download/normalize-url-1.9.1.tgz?cache=0&sync_timestamp=1580491266117&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fnormalize-url%2Fdownload%2Fnormalize-url-1.9.1.tgz#2cc0d66b31ea23036458436e3620d85954c66c3c" @@ -6088,6 +6506,15 @@ npm-run-path@^2.0.0: dependencies: path-key "^2.0.0" +"npmlog@0 || 1 || 2 || 3 || 4", npmlog@^4.0.0: + version "4.1.2" + resolved "https://registry.npm.taobao.org/npmlog/download/npmlog-4.1.2.tgz#08a7f2a8bf734604779a9efa4ad5cc717abb954b" + dependencies: + are-we-there-yet "~1.1.2" + console-control-strings "~1.1.0" + gauge "~2.7.3" + set-blocking "~2.0.0" + nth-check@^1.0.2, nth-check@~1.0.1: version "1.0.2" resolved "https://registry.npm.taobao.org/nth-check/download/nth-check-1.0.2.tgz#b2bd295c37e3dd58a3bf0700376663ba4d9cf05c" @@ -6267,6 +6694,16 @@ os-browserify@^0.3.0: version "0.3.0" resolved "https://registry.npm.taobao.org/os-browserify/download/os-browserify-0.3.0.tgz#854373c7f5c2315914fc9bfc6bd8238fdda1ec27" +os-homedir@^1.0.0: + version "1.0.2" + resolved "https://registry.npm.taobao.org/os-homedir/download/os-homedir-1.0.2.tgz#ffbc4988336e0e833de0c168c7ef152121aa7fb3" + +os-locale@^1.4.0: + version "1.4.0" + resolved "https://registry.npm.taobao.org/os-locale/download/os-locale-1.4.0.tgz#20f9f17ae29ed345e8bde583b13d2009803c14d9" + dependencies: + lcid "^1.0.0" + os-locale@^3.0.0: version "3.1.0" resolved "https://registry.npm.taobao.org/os-locale/download/os-locale-3.1.0.tgz#a802a6ee17f24c10483ab9935719cef4ed16bf1a" @@ -6275,10 +6712,17 @@ os-locale@^3.0.0: lcid "^2.0.0" mem "^4.0.0" -os-tmpdir@~1.0.2: +os-tmpdir@^1.0.0, os-tmpdir@~1.0.2: version "1.0.2" resolved "https://registry.npm.taobao.org/os-tmpdir/download/os-tmpdir-1.0.2.tgz#bbe67406c79aa85c5cfec766fe5734555dfa1274" +osenv@0: + version "0.1.5" + resolved "https://registry.npm.taobao.org/osenv/download/osenv-0.1.5.tgz#85cdfafaeb28e8677f416e287592b5f3f49ea410" + dependencies: + os-homedir "^1.0.0" + os-tmpdir "^1.0.0" + p-defer@^1.0.0: version "1.0.0" resolved "https://registry.npm.taobao.org/p-defer/download/p-defer-1.0.0.tgz#9f6eb182f6c9aa8cd743004a7d4f96b196b0fb0c" @@ -6391,6 +6835,12 @@ parse-asn1@^5.0.0: pbkdf2 "^3.0.3" safe-buffer "^5.1.1" +parse-color@^1.0.0: + version "1.0.0" + resolved "https://registry.npm.taobao.org/parse-color/download/parse-color-1.0.0.tgz#7b748b95a83f03f16a94f535e52d7f3d94658619" + dependencies: + color-convert "~0.5.0" + parse-json@^2.2.0: version "2.2.0" resolved "https://registry.npm.taobao.org/parse-json/download/parse-json-2.2.0.tgz#f480f40434ef80741f8469099f8dea18f55a4dc9" @@ -6413,6 +6863,10 @@ parse-json@^5.0.0: json-parse-better-errors "^1.0.1" lines-and-columns "^1.1.6" +parse-svg-path@^0.1.2: + version "0.1.2" + resolved "https://registry.npm.taobao.org/parse-svg-path/download/parse-svg-path-0.1.2.tgz#7a7ec0d1eb06fa5325c7d3e009b859a09b5d49eb" + parse5@4.0.0: version "4.0.0" resolved "https://registry.npm.taobao.org/parse5/download/parse5-4.0.0.tgz#6d78656e3da8d78b4ec0b906f7c08ef1dfe3f608" @@ -6482,6 +6936,14 @@ path-to-regexp@0.1.7: version "0.1.7" resolved "https://registry.npm.taobao.org/path-to-regexp/download/path-to-regexp-0.1.7.tgz#df604178005f522f15eb4490e7247a1bfaa67f8c" +path-type@^1.0.0: + version "1.1.0" + resolved "https://registry.npm.taobao.org/path-type/download/path-type-1.1.0.tgz#59c44f7ee491da704da415da5a4070ba4f8fe441" + dependencies: + graceful-fs "^4.1.2" + pify "^2.0.0" + pinkie-promise "^2.0.0" + path-type@^2.0.0: version "2.0.0" resolved "https://registry.npm.taobao.org/path-type/download/path-type-2.0.0.tgz#f012ccb8415b7096fc2daa1054c3d72389594c73" @@ -7225,6 +7687,10 @@ pretty-format@^25.1.0: ansi-styles "^4.0.0" react-is "^16.12.0" +primitive-quad@^2.0.0: + version "2.0.0" + resolved "https://registry.npm.taobao.org/primitive-quad/download/primitive-quad-2.0.0.tgz#c20993e4f9600238926bb500e529053043ef8aeb" + private@^0.1.8: version "0.1.8" resolved "https://registry.npm.taobao.org/private/download/private-0.1.8.tgz#2381edb3689f7a53d653190060fcf822d2f368ff" @@ -7277,6 +7743,10 @@ prr@~1.0.1: version "1.0.1" resolved "https://registry.npm.taobao.org/prr/download/prr-1.0.1.tgz#d3fc114ba06995a45ec6893f484ceb1d78f5f476" +pseudomap@^1.0.2: + version "1.0.2" + resolved "https://registry.npm.taobao.org/pseudomap/download/pseudomap-1.0.2.tgz#f052a28da70e618917ef0a8ac34c1ae5a68286b3" + psl@^1.1.28: version "1.8.0" resolved "https://registry.npm.taobao.org/psl/download/psl-1.8.0.tgz?cache=0&sync_timestamp=1585142991033&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fpsl%2Fdownload%2Fpsl-1.8.0.tgz#9326f8bcfb013adcc005fdff056acce020e51c24" @@ -7513,6 +7983,13 @@ react@^16.13.1: object-assign "^4.1.1" prop-types "^15.6.2" +read-pkg-up@^1.0.1: + version "1.0.1" + resolved "https://registry.npm.taobao.org/read-pkg-up/download/read-pkg-up-1.0.1.tgz?cache=0&sync_timestamp=1575620436254&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fread-pkg-up%2Fdownload%2Fread-pkg-up-1.0.1.tgz#9d63c13276c065918d57f002a57f40a1b643fb02" + dependencies: + find-up "^1.0.0" + read-pkg "^1.0.0" + read-pkg-up@^2.0.0: version "2.0.0" resolved "https://registry.npm.taobao.org/read-pkg-up/download/read-pkg-up-2.0.0.tgz?cache=0&sync_timestamp=1575620436254&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fread-pkg-up%2Fdownload%2Fread-pkg-up-2.0.0.tgz#6b72a8048984e0c41e79510fd5e9fa99b3b549be" @@ -7527,6 +8004,14 @@ read-pkg-up@^4.0.0: find-up "^3.0.0" read-pkg "^3.0.0" +read-pkg@^1.0.0: + version "1.1.0" + resolved "https://registry.npm.taobao.org/read-pkg/download/read-pkg-1.1.0.tgz#f5ffaa5ecd29cb31c0474bca7d756b6bb29e3f28" + dependencies: + load-json-file "^1.0.0" + normalize-package-data "^2.3.2" + path-type "^1.0.0" + read-pkg@^2.0.0: version "2.0.0" resolved "https://registry.npm.taobao.org/read-pkg/download/read-pkg-2.0.0.tgz#8ef1c0623c6a6db0dc6713c4bfac46332b2368f8" @@ -7543,7 +8028,7 @@ read-pkg@^3.0.0: normalize-package-data "^2.3.2" path-type "^3.0.0" -"readable-stream@1 || 2", readable-stream@^2.0.0, readable-stream@^2.0.1, readable-stream@^2.0.2, readable-stream@^2.1.5, readable-stream@^2.2.2, readable-stream@^2.3.3, readable-stream@^2.3.6, readable-stream@~2.3.6: +"readable-stream@1 || 2", readable-stream@^2.0.0, readable-stream@^2.0.1, readable-stream@^2.0.2, readable-stream@^2.0.6, readable-stream@^2.1.5, readable-stream@^2.2.2, readable-stream@^2.3.3, readable-stream@^2.3.6, readable-stream@~2.3.6: version "2.3.7" resolved "https://registry.npm.taobao.org/readable-stream/download/readable-stream-2.3.7.tgz#1eca1cf711aef814c04f62252a36a62f6cb23b57" dependencies: @@ -7589,6 +8074,13 @@ recursive-readdir@2.2.2: dependencies: minimatch "3.0.4" +redent@^1.0.0: + version "1.0.0" + resolved "https://registry.npm.taobao.org/redent/download/redent-1.0.0.tgz#cf916ab1fd5f1f16dfb20822dd6ec7f730c2afde" + dependencies: + indent-string "^2.1.0" + strip-indent "^1.0.1" + redent@^3.0.0: version "3.0.0" resolved "https://registry.npm.taobao.org/redent/download/redent-3.0.0.tgz#e557b7998316bb53c9f1f56fa626352c6963059f" @@ -7668,6 +8160,10 @@ regjsparser@^0.6.4: dependencies: jsesc "~0.5.0" +regl@^1.3.7: + version "1.6.1" + resolved "https://registry.npm.taobao.org/regl/download/regl-1.6.1.tgz#6930172cda9b8fb65724abc0d4930d79333f5460" + relateurl@^0.2.7: version "0.2.7" resolved "https://registry.npm.taobao.org/relateurl/download/relateurl-0.2.7.tgz#54dbf377e51440aca90a4cd274600d3ff2d888a9" @@ -7694,6 +8190,12 @@ repeat-string@^1.6.1: version "1.6.1" resolved "https://registry.npm.taobao.org/repeat-string/download/repeat-string-1.6.1.tgz#8dcae470e1c88abc2d600fff4a776286da75e637" +repeating@^2.0.0: + version "2.0.1" + resolved "https://registry.npm.taobao.org/repeating/download/repeating-2.0.1.tgz#5214c53a926d3552707527fbab415dbc08d06dda" + dependencies: + is-finite "^1.0.0" + request-promise-core@1.1.3: version "1.1.3" resolved "https://registry.npm.taobao.org/request-promise-core/download/request-promise-core-1.1.3.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Frequest-promise-core%2Fdownload%2Frequest-promise-core-1.1.3.tgz#e9a3c081b51380dfea677336061fea879a829ee9" @@ -7832,15 +8334,15 @@ rgba-regex@^1.0.0: version "1.0.0" resolved "https://registry.npm.taobao.org/rgba-regex/download/rgba-regex-1.0.0.tgz#43374e2e2ca0968b0ef1523460b7d730ff22eeb3" -rimraf@2.6.3: - version "2.6.3" - resolved "https://registry.npm.taobao.org/rimraf/download/rimraf-2.6.3.tgz?cache=0&sync_timestamp=1581257110269&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Frimraf%2Fdownload%2Frimraf-2.6.3.tgz#b2d104fe0d8fb27cf9e0a1cda8262dd3833c6cab" +rimraf@2, rimraf@^2.5.4, rimraf@^2.6.3, rimraf@^2.7.1: + version "2.7.1" + resolved "https://registry.npm.taobao.org/rimraf/download/rimraf-2.7.1.tgz?cache=0&sync_timestamp=1581257110269&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Frimraf%2Fdownload%2Frimraf-2.7.1.tgz#35797f13a7fdadc566142c29d4f07ccad483e3ec" dependencies: glob "^7.1.3" -rimraf@^2.5.4, rimraf@^2.6.3, rimraf@^2.7.1: - version "2.7.1" - resolved "https://registry.npm.taobao.org/rimraf/download/rimraf-2.7.1.tgz?cache=0&sync_timestamp=1581257110269&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Frimraf%2Fdownload%2Frimraf-2.7.1.tgz#35797f13a7fdadc566142c29d4f07ccad483e3ec" +rimraf@2.6.3: + version "2.6.3" + resolved "https://registry.npm.taobao.org/rimraf/download/rimraf-2.6.3.tgz?cache=0&sync_timestamp=1581257110269&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Frimraf%2Fdownload%2Frimraf-2.6.3.tgz#b2d104fe0d8fb27cf9e0a1cda8262dd3833c6cab" dependencies: glob "^7.1.3" @@ -7909,6 +8411,15 @@ sanitize.css@^10.0.0: version "10.0.0" resolved "https://registry.npm.taobao.org/sanitize.css/download/sanitize.css-10.0.0.tgz#b5cb2547e96d8629a60947544665243b1dc3657a" +sass-graph@^2.2.4: + version "2.2.4" + resolved "https://registry.npm.taobao.org/sass-graph/download/sass-graph-2.2.4.tgz#13fbd63cd1caf0908b9fd93476ad43a51d1e0b49" + dependencies: + glob "^7.0.0" + lodash "^4.0.0" + scss-tokenizer "^0.2.3" + yargs "^7.0.0" + sass-loader@8.0.2: version "8.0.2" resolved "https://registry.npm.taobao.org/sass-loader/download/sass-loader-8.0.2.tgz?cache=0&sync_timestamp=1578921816923&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fsass-loader%2Fdownload%2Fsass-loader-8.0.2.tgz#debecd8c3ce243c76454f2e8290482150380090d" @@ -7951,6 +8462,21 @@ schema-utils@^2.5.0, schema-utils@^2.6.0, schema-utils@^2.6.1, schema-utils@^2.6 ajv "^6.12.0" ajv-keywords "^3.4.1" +scss-tokenizer@^0.2.3: + version "0.2.3" + resolved "https://registry.npm.taobao.org/scss-tokenizer/download/scss-tokenizer-0.2.3.tgz#8eb06db9a9723333824d3f5530641149847ce5d1" + dependencies: + js-base64 "^2.1.8" + source-map "^0.4.2" + +seed-random@^2.2.0: + version "2.2.0" + resolved "https://registry.npm.taobao.org/seed-random/download/seed-random-2.2.0.tgz#2a9b19e250a817099231a5b99a4daf80b7fbed54" + +seedrandom@2.4.3: + version "2.4.3" + resolved "https://registry.npm.taobao.org/seedrandom/download/seedrandom-2.4.3.tgz#2438504dad33917314bff18ac4d794f16d6aaecc" + select-hose@^2.0.0: version "2.0.0" resolved "https://registry.npm.taobao.org/select-hose/download/select-hose-2.0.0.tgz#625d8658f865af43ec962bfc376a37359a4994ca" @@ -7973,6 +8499,10 @@ semver@7.0.0: version "7.0.0" resolved "https://registry.npm.taobao.org/semver/download/semver-7.0.0.tgz?cache=0&sync_timestamp=1586886267748&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fsemver%2Fdownload%2Fsemver-7.0.0.tgz#5f3ca35761e47e05b206c6daff2cf814f0316b8e" +semver@~5.3.0: + version "5.3.0" + resolved "https://registry.npm.taobao.org/semver/download/semver-5.3.0.tgz?cache=0&sync_timestamp=1586886267748&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fsemver%2Fdownload%2Fsemver-5.3.0.tgz#9b2ce5d3de02d17c6012ad326aa6b4d0cf54f94f" + send@0.17.1: version "0.17.1" resolved "https://registry.npm.taobao.org/send/download/send-0.17.1.tgz#c1d8b059f7900f7466dd4938bdc44e11ddb376c8" @@ -8016,7 +8546,7 @@ serve-static@1.14.1: parseurl "~1.3.3" send "0.17.1" -set-blocking@^2.0.0: +set-blocking@^2.0.0, set-blocking@~2.0.0: version "2.0.0" resolved "https://registry.npm.taobao.org/set-blocking/download/set-blocking-2.0.0.tgz#045f9782d011ae9a6803ddd382b24392b3d890f7" @@ -8108,6 +8638,10 @@ simple-swizzle@^0.2.2: dependencies: is-arrayish "^0.3.1" +simplex-noise@^2.4.0: + version "2.4.0" + resolved "https://registry.npm.taobao.org/simplex-noise/download/simplex-noise-2.4.0.tgz#81b3458fb22dccc3bc8dd9a977c73797f86f523a" + sisteransi@^1.0.4: version "1.0.5" resolved "https://registry.npm.taobao.org/sisteransi/download/sisteransi-1.0.5.tgz#134d681297756437cc05ca01370d3a7a571075ed" @@ -8212,6 +8746,12 @@ source-map@0.6.1, source-map@^0.6.0, source-map@^0.6.1, source-map@~0.6.0, sourc version "0.6.1" resolved "https://registry.npm.taobao.org/source-map/download/source-map-0.6.1.tgz#74722af32e9614e9c287a8d0bbde48b5e2f1a263" +source-map@^0.4.2: + version "0.4.4" + resolved "https://registry.npm.taobao.org/source-map/download/source-map-0.4.4.tgz#eba4f5da9c0dc999de68032d8b4f76173652036b" + dependencies: + amdefine ">=0.0.4" + source-map@^0.5.0, source-map@^0.5.6: version "0.5.7" resolved "https://registry.npm.taobao.org/source-map/download/source-map-0.5.7.tgz#8a039d2d1021d22d1ea14c80d8ea468ba2ef3fcc" @@ -8315,6 +8855,12 @@ static-extend@^0.1.1: version "1.5.0" resolved "https://registry.npm.taobao.org/statuses/download/statuses-1.5.0.tgz#161c7dac177659fd9811f43771fa99381478628c" +stdout-stream@^1.4.0: + version "1.4.1" + resolved "https://registry.npm.taobao.org/stdout-stream/download/stdout-stream-1.4.1.tgz#5ac174cdd5cd726104aa0c0b2bd83815d8d535de" + dependencies: + readable-stream "^2.0.1" + stealthy-require@^1.1.1: version "1.1.1" resolved "https://registry.npm.taobao.org/stealthy-require/download/stealthy-require-1.1.1.tgz#35b09875b4ff49f26a777e509b3090a3226bf24b" @@ -8365,7 +8911,7 @@ string-length@^3.1.0: astral-regex "^1.0.0" strip-ansi "^5.2.0" -string-width@^1.0.1: +string-width@^1.0.1, string-width@^1.0.2: version "1.0.2" resolved "https://registry.npm.taobao.org/string-width/download/string-width-1.0.2.tgz#118bdf5b8cdc51a2a7e70d211e07e2b0b9b107d3" dependencies: @@ -8373,7 +8919,7 @@ string-width@^1.0.1: is-fullwidth-code-point "^1.0.0" strip-ansi "^3.0.0" -string-width@^2.0.0, string-width@^2.1.1: +"string-width@^1.0.2 || 2", string-width@^2.0.0, string-width@^2.1.1: version "2.1.1" resolved "https://registry.npm.taobao.org/string-width/download/string-width-2.1.1.tgz#ab93f27a8dc13d28cac815c462143a6d9012ae9e" dependencies: @@ -8481,6 +9027,12 @@ strip-ansi@^5.0.0, strip-ansi@^5.1.0, strip-ansi@^5.2.0: dependencies: ansi-regex "^4.1.0" +strip-bom@^2.0.0: + version "2.0.0" + resolved "https://registry.npm.taobao.org/strip-bom/download/strip-bom-2.0.0.tgz#6219a85616520491f35788bdbf1447a99c7e6b0e" + dependencies: + is-utf8 "^0.2.0" + strip-bom@^3.0.0: version "3.0.0" resolved "https://registry.npm.taobao.org/strip-bom/download/strip-bom-3.0.0.tgz#2334c18e9c759f7bdd56fdef7e9ae3d588e68ed3" @@ -8496,6 +9048,12 @@ strip-eof@^1.0.0: version "1.0.0" resolved "https://registry.npm.taobao.org/strip-eof/download/strip-eof-1.0.0.tgz#bb43ff5598a6eb05d89b59fcd129c983313606bf" +strip-indent@^1.0.1: + version "1.0.1" + resolved "https://registry.npm.taobao.org/strip-indent/download/strip-indent-1.0.1.tgz#0c7962a6adefa7bbd4ac366460a638552ae1a0a2" + dependencies: + get-stdin "^4.0.1" + strip-indent@^3.0.0: version "3.0.0" resolved "https://registry.npm.taobao.org/strip-indent/download/strip-indent-3.0.0.tgz#c32e1cee940b6b3432c771bc2c54bcce73cd3001" @@ -8543,10 +9101,23 @@ supports-color@^7.0.0, supports-color@^7.1.0: dependencies: has-flag "^4.0.0" +svg-arc-to-cubic-bezier@^3.0.0: + version "3.2.0" + resolved "https://registry.npm.taobao.org/svg-arc-to-cubic-bezier/download/svg-arc-to-cubic-bezier-3.2.0.tgz#390c450035ae1c4a0104d90650304c3bc814abe6" + svg-parser@^2.0.0: version "2.0.4" resolved "https://registry.npm.taobao.org/svg-parser/download/svg-parser-2.0.4.tgz#fdc2e29e13951736140b76cb122c8ee6630eb6b5" +svg-path-contours@^2.0.0: + version "2.0.0" + resolved "https://registry.npm.taobao.org/svg-path-contours/download/svg-path-contours-2.0.0.tgz#c76a129429db05eb6d7b61e4d1c58d114a8938a2" + dependencies: + abs-svg-path "^0.1.1" + adaptive-bezier-curve "^1.0.3" + normalize-svg-path "^0.1.0" + vec2-copy "^1.0.0" + svgo@^1.0.0, svgo@^1.2.2: version "1.3.2" resolved "https://registry.npm.taobao.org/svgo/download/svgo-1.3.2.tgz?cache=0&sync_timestamp=1572433264480&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fsvgo%2Fdownload%2Fsvgo-1.3.2.tgz#b6dc511c063346c9e415b81e43401145b96d4167" @@ -8582,6 +9153,14 @@ tapable@^1.0.0, tapable@^1.1.3: version "1.1.3" resolved "https://registry.npm.taobao.org/tapable/download/tapable-1.1.3.tgz#a1fccc06b58db61fd7a45da2da44f5f3a3e67ba2" +tar@^2.0.0: + version "2.2.2" + resolved "https://registry.npm.taobao.org/tar/download/tar-2.2.2.tgz#0ca8848562c7299b8b446ff6a4d60cdbb23edc40" + dependencies: + block-stream "*" + fstream "^1.0.12" + inherits "2" + terser-webpack-plugin@2.3.5: version "2.3.5" resolved "https://registry.npm.taobao.org/terser-webpack-plugin/download/terser-webpack-plugin-2.3.5.tgz#5ad971acce5c517440ba873ea4f09687de2f4a81" @@ -8631,6 +9210,10 @@ text-table@0.2.0, text-table@^0.2.0: version "0.2.0" resolved "https://registry.npm.taobao.org/text-table/download/text-table-0.2.0.tgz#7f5ee823ae805207c00af2df4a84ec3fcfa570b4" +three@^0.117.1: + version "0.117.1" + resolved "https://registry.npm.taobao.org/three/download/three-0.117.1.tgz#a49bcb1a6ddea2f250003e42585dc3e78e92b9d3" + throat@^4.0.0: version "4.1.0" resolved "https://registry.npm.taobao.org/throat/download/throat-4.1.0.tgz#89037cbc92c56ab18926e6ba4cbb200e15672a6a" @@ -8710,6 +9293,12 @@ toidentifier@1.0.0: version "1.0.0" resolved "https://registry.npm.taobao.org/toidentifier/download/toidentifier-1.0.0.tgz#7e1be3470f1e77948bc43d94a3c8f4d7752ba553" +touches@^1.2.2: + version "1.2.2" + resolved "https://registry.npm.taobao.org/touches/download/touches-1.2.2.tgz#6b9d2223d7d616ba0a1931fe9abd1f56619b16c8" + dependencies: + events "^1.0.2" + tough-cookie@^2.3.3, tough-cookie@^2.3.4, tough-cookie@^2.5.0, tough-cookie@~2.5.0: version "2.5.0" resolved "https://registry.npm.taobao.org/tough-cookie/download/tough-cookie-2.5.0.tgz#cd9fb2a0aa1d5a12b473bd9fb96fa3dcff65ade2" @@ -8723,6 +9312,16 @@ tr46@^1.0.1: dependencies: punycode "^2.1.0" +trim-newlines@^1.0.0: + version "1.0.0" + resolved "https://registry.npm.taobao.org/trim-newlines/download/trim-newlines-1.0.0.tgz#5887966bb582a4503a41eb524f7d35011815a613" + +"true-case-path@^1.0.2": + version "1.0.3" + resolved "https://registry.npm.taobao.org/true-case-path/download/true-case-path-1.0.3.tgz#f813b5a8c86b40da59606722b144e3225799f47d" + dependencies: + glob "^7.1.2" + ts-pnp@1.1.6: version "1.1.6" resolved "https://registry.npm.taobao.org/ts-pnp/download/ts-pnp-1.1.6.tgz?cache=0&sync_timestamp=1585245753622&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fts-pnp%2Fdownload%2Fts-pnp-1.1.6.tgz#389a24396d425a0d3162e96d2b4638900fdc289a" @@ -8954,6 +9553,10 @@ vary@~1.1.2: version "1.1.2" resolved "https://registry.npm.taobao.org/vary/download/vary-1.1.2.tgz#2299f02c6ded30d4a5961b0b9f74524a18f634fc" +vec2-copy@^1.0.0: + version "1.0.0" + resolved "https://registry.npm.taobao.org/vec2-copy/download/vec2-copy-1.0.0.tgz#c6eec1d8dad54625194e5f71f8433b62d2f20a7a" + vendors@^1.0.0: version "1.0.4" resolved "https://registry.npm.taobao.org/vendors/download/vendors-1.0.4.tgz?cache=0&sync_timestamp=1579857106626&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fvendors%2Fdownload%2Fvendors-1.0.4.tgz#e2b800a53e7a29b93506c3cf41100d16c4c4ad8e" @@ -9153,11 +9756,15 @@ whatwg-url@^7.0.0: tr46 "^1.0.1" webidl-conversions "^4.0.2" +which-module@^1.0.0: + version "1.0.0" + resolved "https://registry.npm.taobao.org/which-module/download/which-module-1.0.0.tgz#bba63ca861948994ff307736089e3b96026c2a4f" + which-module@^2.0.0: version "2.0.0" resolved "https://registry.npm.taobao.org/which-module/download/which-module-2.0.0.tgz#d9ef07dce77b9902b8a3a8fa4b31c3e3f7e6e87a" -which@^1.2.9, which@^1.3.0, which@^1.3.1: +which@1, which@^1.2.9, which@^1.3.0, which@^1.3.1: version "1.3.1" resolved "https://registry.npm.taobao.org/which/download/which-1.3.1.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fwhich%2Fdownload%2Fwhich-1.3.1.tgz#a45043d54f5805316da8d62f9f50918d3da70b0a" dependencies: @@ -9169,6 +9776,12 @@ which@^2.0.1: dependencies: isexe "^2.0.0" +wide-align@^1.1.0: + version "1.1.3" + resolved "https://registry.npm.taobao.org/wide-align/download/wide-align-1.1.3.tgz#ae074e6bdc0c14a431e804e624549c633b000457" + dependencies: + string-width "^1.0.2 || 2" + word-wrap@~1.2.3: version "1.2.3" resolved "https://registry.npm.taobao.org/word-wrap/download/word-wrap-1.2.3.tgz#610636f6b1f703891bd34771ccb17fb93b47079c" @@ -9367,10 +9980,18 @@ xtend@^4.0.0, xtend@~4.0.1: version "4.0.2" resolved "https://registry.npm.taobao.org/xtend/download/xtend-4.0.2.tgz#bb72779f5fa465186b1f438f674fa347fdb5db54" +y18n@^3.2.1: + version "3.2.1" + resolved "https://registry.npm.taobao.org/y18n/download/y18n-3.2.1.tgz#6d15fba884c08679c0d77e88e7759e811e07fa41" + "y18n@^3.2.1 || ^4.0.0", y18n@^4.0.0: version "4.0.0" resolved "https://registry.npm.taobao.org/y18n/download/y18n-4.0.0.tgz#95ef94f85ecc81d007c264e190a120f0a3c8566b" +yallist@^2.1.2: + version "2.1.2" + resolved "https://registry.npm.taobao.org/yallist/download/yallist-2.1.2.tgz#1c11f9218f076089a47dd512f93c6699a6a81d52" + yallist@^3.0.2: version "3.1.1" resolved "https://registry.npm.taobao.org/yallist/download/yallist-3.1.1.tgz#dbb7daf9bfd8bac9ab45ebf602b8cbad0d5d08fd" @@ -9399,6 +10020,12 @@ yargs-parser@^13.1.2: camelcase "^5.0.0" decamelize "^1.2.0" +yargs-parser@^5.0.0: + version "5.0.0" + resolved "https://registry.npm.taobao.org/yargs-parser/download/yargs-parser-5.0.0.tgz?cache=0&sync_timestamp=1585243611524&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fyargs-parser%2Fdownload%2Fyargs-parser-5.0.0.tgz#275ecf0d7ffe05c77e64e7c86e4cd94bf0e1228a" + dependencies: + camelcase "^3.0.0" + yargs@12.0.5: version "12.0.5" resolved "https://registry.npm.taobao.org/yargs/download/yargs-12.0.5.tgz?cache=0&sync_timestamp=1584344069946&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fyargs%2Fdownload%2Fyargs-12.0.5.tgz#05f5997b609647b64f66b81e3b4b10a368e7ad13" @@ -9430,3 +10057,21 @@ yargs@^13.3.0: which-module "^2.0.0" y18n "^4.0.0" yargs-parser "^13.1.2" + +yargs@^7.0.0: + version "7.1.0" + resolved "https://registry.npm.taobao.org/yargs/download/yargs-7.1.0.tgz?cache=0&sync_timestamp=1584344069946&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fyargs%2Fdownload%2Fyargs-7.1.0.tgz#6ba318eb16961727f5d284f8ea003e8d6154d0c8" + dependencies: + camelcase "^3.0.0" + cliui "^3.2.0" + decamelize "^1.1.1" + get-caller-file "^1.0.1" + os-locale "^1.4.0" + read-pkg-up "^1.0.1" + require-directory "^2.1.1" + require-main-filename "^1.0.1" + set-blocking "^2.0.0" + string-width "^1.0.2" + which-module "^1.0.0" + y18n "^3.2.1" + yargs-parser "^5.0.0"