From 356a882dbc47aedfca0a500b0134f9788c386f5c Mon Sep 17 00:00:00 2001 From: Daniel Supernault Date: Mon, 17 Oct 2022 01:59:23 -0600 Subject: [PATCH] Add Portfolio feature --- app/Http/Controllers/PortfolioController.php | 318 ++++++++++++ app/Models/Portfolio.php | 39 ++ config/portfolio.php | 31 ++ ...2_01_16_060052_create_portfolios_table.php | 45 ++ ...wrK3iLTeHuS_fvQtMwCp50KnMa1ZL7W0Q5nw.woff2 | Bin 0 -> 37780 bytes ...K3iLTeHuS_fvQtMwCp50KnMa25L7W0Q5n-wU.woff2 | Bin 0 -> 57244 bytes .../assets/js/components/PortfolioPost.vue | 122 +++++ .../assets/js/components/PortfolioProfile.vue | 223 +++++++++ .../js/components/PortfolioSettings.vue | 459 ++++++++++++++++++ resources/assets/js/portfolio.js | 19 + resources/assets/sass/lib/inter.scss | 54 +++ resources/assets/sass/portfolio.scss | 173 +++++++ resources/views/layouts/partial/nav.blade.php | 2 +- resources/views/portfolio/404.blade.php | 21 + resources/views/portfolio/index.blade.php | 36 ++ resources/views/portfolio/layout.blade.php | 40 ++ resources/views/portfolio/settings.blade.php | 23 + resources/views/portfolio/show.blade.php | 12 + resources/views/portfolio/show_post.blade.php | 17 + routes/web.php | 31 ++ 20 files changed, 1664 insertions(+), 1 deletion(-) create mode 100644 app/Http/Controllers/PortfolioController.php create mode 100644 app/Models/Portfolio.php create mode 100644 config/portfolio.php create mode 100644 database/migrations/2022_01_16_060052_create_portfolios_table.php create mode 100644 public/fonts/UcC73FwrK3iLTeHuS_fvQtMwCp50KnMa1ZL7W0Q5nw.woff2 create mode 100644 public/fonts/UcC73FwrK3iLTeHuS_fvQtMwCp50KnMa25L7W0Q5n-wU.woff2 create mode 100644 resources/assets/js/components/PortfolioPost.vue create mode 100644 resources/assets/js/components/PortfolioProfile.vue create mode 100644 resources/assets/js/components/PortfolioSettings.vue create mode 100644 resources/assets/js/portfolio.js create mode 100644 resources/assets/sass/lib/inter.scss create mode 100644 resources/assets/sass/portfolio.scss create mode 100644 resources/views/portfolio/404.blade.php create mode 100644 resources/views/portfolio/index.blade.php create mode 100644 resources/views/portfolio/layout.blade.php create mode 100644 resources/views/portfolio/settings.blade.php create mode 100644 resources/views/portfolio/show.blade.php create mode 100644 resources/views/portfolio/show_post.blade.php diff --git a/app/Http/Controllers/PortfolioController.php b/app/Http/Controllers/PortfolioController.php new file mode 100644 index 000000000..5890f2d0e --- /dev/null +++ b/app/Http/Controllers/PortfolioController.php @@ -0,0 +1,318 @@ +first(); + + if(!$user) { + return view('portfolio.404'); + } + + $portfolio = Portfolio::whereUserId($user->id)->firstOrFail(); + $user = AccountService::get($user->profile_id); + + if($user['locked']) { + return view('portfolio.404'); + } + + if($portfolio->active != true) { + if(!$request->user()) { + return view('portfolio.404'); + } + + if($request->user()->profile_id == $user['id']) { + return redirect(config('portfolio.path') . '/settings'); + } + + return view('portfolio.404'); + } + + return view('portfolio.show', compact('user', 'portfolio')); + } + + public function showPost(Request $request, $username, $id) + { + $authed = $request->user(); + $post = StatusService::get($id); + + if(!$post) { + return view('portfolio.404'); + } + + $user = AccountService::get($post['account']['id']); + $portfolio = Portfolio::whereProfileId($user['id'])->first(); + + if($user['locked'] || $portfolio->active != true) { + return view('portfolio.404'); + } + + if(!$post || $post['visibility'] != 'public' || $post['pf_type'] != 'photo' || $user['id'] != $post['account']['id']) { + return view('portfolio.404'); + } + + return view('portfolio.show_post', compact('user', 'post', 'authed')); + } + + public function myRedirect(Request $request) + { + abort_if(!$request->user(), 404); + + $user = $request->user(); + + if(Portfolio::whereProfileId($user->profile_id)->exists() === false) { + $portfolio = new Portfolio; + $portfolio->profile_id = $user->profile_id; + $portfolio->user_id = $user->id; + $portfolio->active = false; + $portfolio->save(); + } + + $domain = config('portfolio.domain'); + $path = config('portfolio.path'); + $url = 'https://' . $domain . $path; + + return redirect($url); + } + + public function settings(Request $request) + { + if(!$request->user()) { + return redirect(route('home')); + } + + $portfolio = Portfolio::whereUserId($request->user()->id)->first(); + + if(!$portfolio) { + $portfolio = new Portfolio; + $portfolio->user_id = $request->user()->id; + $portfolio->profile_id = $request->user()->profile_id; + $portfolio->save(); + } + + return view('portfolio.settings', compact('portfolio')); + } + + public function store(Request $request) + { + abort_unless($request->user(), 404); + + $this->validate($request, [ + 'profile_source' => 'required|in:recent,custom', + 'layout' => 'required|in:grid,masonry', + 'layout_container' => 'required|in:fixed,fluid' + ]); + + $portfolio = Portfolio::whereUserId($request->user()->id)->first(); + + if(!$portfolio) { + $portfolio = new Portfolio; + $portfolio->user_id = $request->user()->id; + $portfolio->profile_id = $request->user()->profile_id; + $portfolio->save(); + } + + $portfolio->active = $request->input('enabled') === 'on'; + $portfolio->show_captions = $request->input('show_captions') === 'on'; + $portfolio->show_license = $request->input('show_license') === 'on'; + $portfolio->show_location = $request->input('show_location') === 'on'; + $portfolio->show_timestamp = $request->input('show_timestamp') === 'on'; + $portfolio->show_link = $request->input('show_link') === 'on'; + $portfolio->profile_source = $request->input('profile_source'); + $portfolio->show_avatar = $request->input('show_avatar') === 'on'; + $portfolio->show_bio = $request->input('show_bio') === 'on'; + $portfolio->profile_layout = $request->input('layout'); + $portfolio->profile_container = $request->input('layout_container'); + $portfolio->save(); + + return redirect('/' . $request->user()->username); + } + + public function getFeed(Request $request, $id) + { + $user = AccountService::get($id, true); + + if(!$user || !isset($user['id'])) { + return response()->json([], 404); + } + + $portfolio = Portfolio::whereProfileId($user['id'])->first(); + + if(!$portfolio || !$portfolio->active) { + return response()->json([], 404); + } + + if($portfolio->profile_source === 'custom' && $portfolio->metadata) { + return $this->getCustomFeed($portfolio); + } + + return $this->getRecentFeed($user['id']); + } + + protected function getCustomFeed($portfolio) { + if(!$portfolio->metadata['posts']) { + return response()->json([], 400); + } + + return collect($portfolio->metadata['posts'])->map(function($p) { + return StatusService::get($p); + }) + ->filter(function($p) { + return $p && isset($p['account']); + })->values(); + } + + protected function getRecentFeed($id) { + $media = Cache::remember('portfolio:recent-feed:' . $id, 3600, function() use($id) { + return DB::table('media') + ->whereProfileId($id) + ->whereNotNull('status_id') + ->groupBy('status_id') + ->orderByDesc('id') + ->take(50) + ->pluck('status_id'); + }); + + return $media->map(function($sid) use($id) { + return StatusService::get($sid); + }) + ->filter(function($post) { + return $post && + isset($post['media_attachments']) && + !empty($post['media_attachments']) && + $post['pf_type'] === 'photo' && + $post['visibility'] === 'public'; + }) + ->take(24) + ->values(); + } + + public function getSettings(Request $request) + { + abort_if(!$request->user(), 403); + + $res = Portfolio::whereUserId($request->user()->id)->get(); + + if(!$res) { + return []; + } + + return $res->map(function($p) { + return [ + 'url' => $p->url(), + 'pid' => (string) $p->profile_id, + 'active' => (bool) $p->active, + 'show_captions' => (bool) $p->show_captions, + 'show_license' => (bool) $p->show_license, + 'show_location' => (bool) $p->show_location, + 'show_timestamp' => (bool) $p->show_timestamp, + 'show_link' => (bool) $p->show_link, + 'show_avatar' => (bool) $p->show_avatar, + 'show_bio' => (bool) $p->show_bio, + 'profile_layout' => $p->profile_layout, + 'profile_source' => $p->profile_source, + 'metadata' => $p->metadata + ]; + })->first(); + } + + public function getAccountSettings(Request $request) + { + $this->validate($request, [ + 'id' => 'required|integer' + ]); + + $account = AccountService::get($request->input('id')); + + abort_if(!$account, 404); + + $p = Portfolio::whereProfileId($request->input('id'))->whereActive(1)->firstOrFail(); + + if(!$p) { + return []; + } + + return [ + 'url' => $p->url(), + 'show_captions' => (bool) $p->show_captions, + 'show_license' => (bool) $p->show_license, + 'show_location' => (bool) $p->show_location, + 'show_timestamp' => (bool) $p->show_timestamp, + 'show_link' => (bool) $p->show_link, + 'show_avatar' => (bool) $p->show_avatar, + 'show_bio' => (bool) $p->show_bio, + 'profile_layout' => $p->profile_layout, + 'profile_source' => $p->profile_source + ]; + } + + public function storeSettings(Request $request) + { + abort_if(!$request->user(), 403); + + $this->validate($request, [ + 'profile_layout' => 'sometimes|in:grid,masonry,album' + ]); + + $res = Portfolio::whereUserId($request->user()->id) + ->update($request->only([ + 'active', + 'show_captions', + 'show_license', + 'show_location', + 'show_timestamp', + 'show_link', + 'show_avatar', + 'show_bio', + 'profile_layout', + 'profile_source' + ])); + + Cache::forget('portfolio:recent-feed:' . $request->user()->profile_id); + + return 200; + } + + public function storeCurated(Request $request) + { + abort_if(!$request->user(), 403); + + $this->validate($request, [ + 'ids' => 'required|array|max:24' + ]); + + $pid = $request->user()->profile_id; + + $ids = $request->input('ids'); + + Status::whereProfileId($pid) + ->whereScope('public') + ->whereIn('type', ['photo', 'photo:album']) + ->findOrFail($ids); + + $p = Portfolio::whereProfileId($pid)->firstOrFail(); + $p->metadata = ['posts' => $ids]; + $p->save(); + + Cache::forget('portfolio:recent-feed:' . $pid); + + return $request->ids; + } +} diff --git a/app/Models/Portfolio.php b/app/Models/Portfolio.php new file mode 100644 index 000000000..758e8db49 --- /dev/null +++ b/app/Models/Portfolio.php @@ -0,0 +1,39 @@ + 'json' + ]; + + public function url() + { + $account = AccountService::get($this->profile_id); + if(!$account) { + return null; + } + + return 'https://' . config('portfolio.domain') . config('portfolio.path') . '/' . $account['username']; + } +} diff --git a/config/portfolio.php b/config/portfolio.php new file mode 100644 index 000000000..9b4cd8f4b --- /dev/null +++ b/config/portfolio.php @@ -0,0 +1,31 @@ + env('PORTFOLIO_DOMAIN', config('pixelfed.domain.app')), + + /* + |-------------------------------------------------------------------------- + | Portfolio Path + |-------------------------------------------------------------------------- + | + | This value is the path used for the portfolio feature. Only change + | the default value if you have a subdomain configured. If you want + | to use the root path of the subdomain, leave this value empty. + | + | WARNING: SETTING THIS VALUE WITHOUT A SUBDOMAIN COULD BREAK YOUR + | INSTANCE, SO ONLY CHANGE THIS IF YOU KNOW WHAT YOU'RE DOING. + | + */ + 'path' => env('PORTFOLIO_PATH', '/i/portfolio'), +]; diff --git a/database/migrations/2022_01_16_060052_create_portfolios_table.php b/database/migrations/2022_01_16_060052_create_portfolios_table.php new file mode 100644 index 000000000..73d639cc4 --- /dev/null +++ b/database/migrations/2022_01_16_060052_create_portfolios_table.php @@ -0,0 +1,45 @@ +id(); + $table->unsignedInteger('user_id')->nullable()->unique()->index(); + $table->bigInteger('profile_id')->unsigned()->unique()->index(); + $table->boolean('active')->nullable()->index(); + $table->boolean('show_captions')->default(true)->nullable(); + $table->boolean('show_license')->default(true)->nullable(); + $table->boolean('show_location')->default(true)->nullable(); + $table->boolean('show_timestamp')->default(true)->nullable(); + $table->boolean('show_link')->default(true)->nullable(); + $table->string('profile_source')->default('recent')->nullable(); + $table->boolean('show_avatar')->default(true)->nullable(); + $table->boolean('show_bio')->default(true)->nullable(); + $table->string('profile_layout')->default('grid')->nullable(); + $table->string('profile_container')->default('fixed')->nullable(); + $table->json('metadata')->nullable(); + $table->timestamps(); + }); + } + + /** + * Reverse the migrations. + * + * @return void + */ + public function down() + { + Schema::dropIfExists('portfolios'); + } +} diff --git a/public/fonts/UcC73FwrK3iLTeHuS_fvQtMwCp50KnMa1ZL7W0Q5nw.woff2 b/public/fonts/UcC73FwrK3iLTeHuS_fvQtMwCp50KnMa1ZL7W0Q5nw.woff2 new file mode 100644 index 0000000000000000000000000000000000000000..980853fec144d92ffd3712e7f2eec6395f638f2d GIT binary patch literal 37780 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 literal 0 HcmV?d00001 diff --git a/public/fonts/UcC73FwrK3iLTeHuS_fvQtMwCp50KnMa25L7W0Q5n-wU.woff2 b/public/fonts/UcC73FwrK3iLTeHuS_fvQtMwCp50KnMa25L7W0Q5n-wU.woff2 new file mode 100644 index 0000000000000000000000000000000000000000..edd834682f04645ed69f712d97ffaf1618401de1 GIT binary patch literal 57244 zcmV)HK)t_rPew8T0RR910NJa0DO)gilDORt zK~e1QY_k9V|LkKTV|fYQC8cde035GuKadcFAQDlKvrD?9%L$xZXRx64o(&!BQJ9H3 zP%54oS+(dDYsnyTj?9faOF{<-@?6(LPAbASx}B2?-Bl_Chd_2hXsHIGB{B)UcL*WG zE<^KY?=L%QrW25CH;sKEv^tl4|DgHD?xpiFbY`rNNz=b>MO~bB%a_+5zcr_P_rUeu zOuyYO42L046Xfq++;s-AK*J20GQIKPe=*Y|=n>p3y(iu_{ux>M$F$>g&Le*FLlpd$ z%WjbQm=$Z_$FN=s%goWiCB|J)ULtgJYLi35@6$XJ>Cn)j;ridEP}w0IIL$D}_wrtk zKc}w)Y}W!&n9>x(dZ^$3f6A@@ePYx&VOmhr5}||uB}R>OgcxGHsj4JJEJ6uIC@{o; z5z>&x2vO4zHD#RM?E32s!@ydrdwzqf*BktA@!p?$@c%bW{F&Fy>P62q_4D*@_UGQY zGnpilWD5Oj6hG^X+rH_WO7LZcBf! z_Rn@{YyYgJib^eOBScLx&=7{1>FM37_d-C#tTG(#P_vm?ZkD-YXW2b&irw?}+X0-f zv)`|^<$nI&mRIG?x^*Fm4&y{O>!6d-h#AdbgorIhY_NqEn$VCYG@%JiXrKuVG@%I{ zXkr6RK*epnaf)~}VR*>fKgU=Mi^(-1aviyj%{}Mly2r*HbFU0zi-p`d7jjoiVntDw zbJdEE%K!FD<(Gc@rP5Eoeg^2>^e^EE2b^%i2?rc-z=;P2h!{hZ0|Ev;Bx1y<0VBp3 zAxgj~5u*nFv(#p7YN=zDc05O0-kSN+mbN^XIohU<*YRxX(k`{BjV{)#P3@^EM2(mL z0Ro0kZ@PKw@BJD#b;%J-*oJLt8j~)KDTesqm0S`xIf@&u#rrh36j{ZgPV^MHWm8UIz-ipnNmle)ozS(iz>OAUflFO*rK{@xSJLSo)Yo2G&+P8J zy(7f(C>D8|EKyNoWK_LFYsQ8Ox}`j^Gy0|Nq+e?_B59se5n3`!4_>0bS$&9GAElpAlEPs{;;L;_#6` z?0_9Zp>DY5{RMqKoq8v5nC33KRK~S$r;#R|?IH)k4WI%@C4m3Or+2E8S(#VS3RPBS zRVZSuJ6R3un1(vk@3r+bGU`<6=WVTIE1Okzd0FBRqQy;#wT`?N zM7CvHHZlk?D1$r*2}Ur$AO-L(P~Cv%jSV7VwZ;*XRv?+c!34@i0}Wa z^Oe$Tl4SWwa_kU&r$k$q6@W&xqa`^VGZ$yXsms*+x0%jpS9|A~{}&_&sv=dnATkQj zz<>TUySh$y=~Ab%-36g@6<|S~XE$cVXNc9`G>+*1&1ssE(14eu2fzEFUjJCQ;uZM$ z;f+|R3O_rqss^moO$Lt;4zTkvh7Z9Y?0on*z_9Z_nk#KK^F`EvMn0h`s8`~$+59{Z z$f6@R3wZ+cRTZw5siBFGXE+0mCQ#O#S%aZ_ zG$G_&{2_r=fPkt3!~#IdC={VCf}~vlM0Wuo)Ci)j0w|fuNph5(CrX{wKI%R_I{kqv z(FO_8A0z}f+w82C&v-%z&Oe5*+5W}uFP48l>z{Xjw@RDM-z`I0|Ls2?`f~5|vDBwH zx|0l61ym{B{ot555W>Op^vicPZ%@+I&UbOqCm*k01vK>-*T44N;?{LGU= zmR0%+L;MNG7%+#^OuOHDtl#!o?JK$aN)C;e+|-jqM5HK0L`3Wf^uhmc`H$bVPd}rM zGLRAu7ZDK&5+q2F)PAP@zxNbX;l5}0d@r&rN*N=J_8(*WzS5uN?Y%M(M8UuzN^}GA zi?*+lVAAjA_>0&w$j>m<--F&+x4e1%?sa+jZmd|cE+c`&DL{zy8fq5gYmI!X4D-<` zn6gHg!w6%9HZt+dzYU7Ylm1@?^fR;}OO8;k_$W`iqQvT>8fuLS=Z}haJZgQ>sEw&n zSCop{)kxHr8;|;CGf_Y3a?~%X1lyZC*qwQT-P_Gzf9hVar^181Pb0BJ#CTkZ+ca{I~+-=g~lWYX#j=C+NP0L4WQB=;Bfe-)yar9#nkm4Ik(}&YGHFef2 z)?O23dKs7zZPo>#XF9AnRwF7;l3{UJ5r*Z0Ir6H`}ao z_~i$}ckqB405%DB1;7y0BM*IbViO{-1zjZ;e_Oegg&OTtAC0$kZGMGX!pzS52I}T3 zE+>#arnu$0aiUv(iaqj_&!v~Kn}OV&4Y8ES#Y&fn8r`v4Dn1!)V}jZ#`&n zm)Xs@Due zt@glmpiaO41Hzkh?c_ClDriyzyu0z%A54O1*SY}WnZ|n<@EovK)BNG(tVmfmZA!`< zp|!qmp>g!ZTHC{XhPB#THME7hUd-9Gi$OY5UYJ2IsQENw<(u<0Fy~PpPNgNE7VmQx zrXF~#WvQIwil58NrK?tlCdN1yD+F@~^QG17dX)S3~w1L$!H1II3I13~Vi#w64_ zHJ7C{*h&+PsZiMTd@~#>_k{ zm$b%>eM0g(2!njflCUCgVp6)K7_rz1k|6QM6`QcZfEX!b-jhCf=LKOUq8=NXkS2<7 zQvX}5a`jA&LixB#$K|?Y+ww(3h}YHff>kKj#?%u%OSw>6(Be$U(E4E?Ldf0Jg@t!z zmX-1(2;TDaYGaF5CtFmTON5)|^9WTrm&8EEn$Cv)_&Vt-+T2Iy*C3|#RXg32QQG0I z*D7k2ek4+-l(+9GV=v7|X6)&e?XbBvaT|Bm4KuZo3x8_4fP}b}W)8c; zOuK8%=w0Wd1NtZFlthL!Aa(TvTYb2Koc_HSfb>ZNq~E;WZC<%txU8+$_t!`9l*mPB zc+n*5ZIy!sOIEDeu;s{$ zHy^(I_`|{p5F$dPD6t5L5+zBNB2BssCuPb)k}XHBd<6=fa#|6JVkJsZm80pb?I!K8(=G{j+3jAB(Cjng2h#TYA>Bcb`H@*acIeNa%9QDk>*>?oiI=BH>vhrxww$8-(6*0ceC)I{ z3}>D53Df!i@9Y}Pg3j#9KmRyGb1zZCmvk4jX01mh8#10W+CREGgs(^`@Xi@1&o8#YjmVv$YBktJ5^6_7rBbO>DwSGI-jb(#kG!ubYHuwX z4&r@ARR@<_LNU?}@$?|7eSE6>q79-=!WhWVnq)J42`_DTr(JQB8>L4klgVT;1#qpL!k z!7=1R-U%o<%1rz4a&%QyU>N4_G`>@265uh=fdAr3d7VHI8TDUK3}?>q z38`y5rv7Ili@$iIMcZ@v7ALbP2e3LD^ea;QC1EH_u?-{%ld2!G)QpPkLm~9LzRtl9 zd;i{8N>PYY`;f-bQ_`+Erv|`o*0lV`F20y9^~~xQGo0&Q5Fe=SMmun-453ulAr=4t z0001>;ym6c3jn}ZTw!E9&;kGe00000R5Eyw8EXLm00000065a#u9oXfZIr+75i!p5ho{f_^gn+P8SV%Z@DOvtq_B2Ir{5zO1nFPrvxitb3I_d zfB^#r449bZG4|YtrvxY9z=3z?7mHB9fol>6aNxih?}sOYsz79$>Z0xIF^O~N%O|te ziaqW!4%yu>KJlBL@wWf@|7-d;v9gR$*8!Ulz{SnO%g1lXuo0uitPyCnOKkStdY-?$ z-K_X4t&!s9nADEDpE33ccfUhI>M@J@?64$GRs5Pni&Yx{P`?HN3A&yV`jSWpD=m?u;e#4{2l)f zg8xMkY7QcJAVY{mwUBmj=S&6v`UUVLl0^{}w2wQV7v9kOSO)!E8hym|HKdXL#Y#@Y zq4?|ZiqYEPZ}#diYr=|;scK?XJiEb8L9oG?7y}8_Q;N}$5`HMg9QD;Pgq&}i(E-ul z4m-UMxMn~QtBXHW-H*sQWG9?NU>eOGAJ2&=;9^4)r(9+aNbPu~(THdSk!Zq00m1^c zs)ZLtJ*%RtD==l`6@ME=98ZoH&>RH z(u{6QpBo>inNTtNb^t#oc7c!&!ip#@(xyaZSFM#Owstdy0v6O${;Uq_LTe|8oWe%X z$=#KhpnM3?ukuA7aLwY{od8Vi{dF50W%wba?F!JF%GTI31PYfGygX_-=mkr$Lcu!$ zz_6M*JQiP->QXfgj*~0(thyXfwOJ_D-(nJW3z*+E-X{P-3hu>_*AT(k@H1bruV!17 ztt!rd5*C8^6Oi;n&T{<{lBW3hGhGIOWDtlI#Vw$^2rU*`AqV|Z4h**V4%!KjS_D)O zQfD!Ph>EjoKq?qSyc#xK>?oFWd(eEuOQq_d#}dC{)i7{~3!FHZV-S)ItB;35h>LCT z{|pv%db5pf+d*2rdanS3&@4bK*$vy;SBI7Me8(@c`haFg5=r-^E?uT&_B zSBDx>!>X!IzxRA+zAJQRM54>b7dNjNXExv4-hZ_WbN0n`@|uNKa+k;?Rh}& z2keXO5MUqxTE|2cL_Q(9DB{;ezK6h{;$?gc#$cyVC81?l8C_Q3H2*XF6=;R;ta{GF zc{v|Padz|PImcBcRl%LX{VazGHQ{D3S8zQKeV%h3HXqKN95sO&$DdgL!degF9=R#2 z#clCeP>XK?xd?nq0xf6@*MhK?9BsZfyq%*35FJ4F0n-Qd12J`C3JDkh^8WXmF77bk z@wpr-5+-8WRLl^@+x#d%##xF{MYLa#7h8MC)@wLuS2NI4m;S6_Vl_k^_cXU{|<hkjdCX$AEk7QOP(!>&$@_a}%n<5FR2@OYR zDpGSSXM_Y26i6&FmLN2RA(kWN#bIngF-4YT!I>9xv_*mqVpZe4!ouBVOdK$c_0=fd z{+YVJ;cjYzbzVXR$?+*cg3y=^OMUg8RMUm@QTVE@+C7Mh_h-kK*?QVmuSQc@eL|9> zJ7l5jFe4Id&C8dR4S6y2Mc_Yn=!=0{qrWix=R~+HLUT86hbgb?I;P(NpBCmkYz6p? z&$3`Kw+uPK8*CgO2PZTNNH}A64B4M{FIBGuU#@L(O41b2^N&X*GbX%@TY?H~jlUc; zEQJeiFvy491~!)jb1cH6+CJFD-4DekI~L^*Z&*cPTI%xfyc`}DjO+-1jq$%oMucW$ zD@H<9@m{yqDr;Sstm7WwFu;Ybmg5##C_|1yfIn2PCAhe7>+|@1NBn^m#eF7SaE*bx zoO50aJ5Q@hull>aNFWN|)^Rrx#zQ{83)a-8WwGH{EKbHD4oJImq`hejEmu2M@}4uK z+bVg2;Ub1vn^wZo78_TG!LPtbf%h6Gj^rumZbFE{4}#&R77=1H((yP2henXxr=C0{ z_}d*Cd=%)thWA%m?bTRzArjhO)ET&6o5q(#kk5^S<<$#csSDj9?7|0(kih@e?;5vZ zFFRPdTIHy!F{oQ9qfws2nZ}N072S!hXQ#yRK!^|o z$Ot2b9;VTlB}*O<0FZ~Y8=PKTt&!H9@WFL$iPm8iknWXV_AnuMajlh8_tsxrUqp!e ziiUYGL<&selQ1B$bHOsTYbDm^ld};r2r#KIZ0A#B-PG27+oKJ;!jymC``aDKkvVti zw}cQ8pfE`5IVX27%>~IGS7a8&oMP9J-Bzg{ z!#mDu)Z?0qyn5YoMKhKbR|Sk{ciRI~dv!~X-g@;#3e~5-5UPFyO_)ry*nBDLE>ac! zx-KYq*O?V>y38kYaDmdkt*z#M{`Kr6FaYL9HBxD1;Y&IBY=+Z5-5C{op5yb{_w}?J zqyAD89_^GDdW^Jny}y}n1G{9G2@_XYdhoqX|=aX zwv3ipqD`x$5W_-!#5w2H`cR+i`VAQ_g6XzvFw@hfdxQIDQhe`~R0}LkLhqP1|EI|T zjz3u7X3fr${LU$peP@j4av;D7KlGyBKKktQR5v=O)f!!wa2JYs%wh!#aYTWK4XW5d zz(E~BBcBkzCX!}#S_ClS6?W88?b>y?j8DXI9imVa9=dso!|39yhnId>ef*q5FotMc zqQ_*KlI1*-ylfZcxg_6Z1+FM{71jSMV^!`wO&T=2=)6l>T-M==PB#qj8T64MO@_4^ zb;ot6F?Wq?!`9)BPIo;t1IKCDNQ`JBMvGz_HCD`cx7 z3lGBzsx>to_QE|>Z|a z+nuiL09f7e;|F7-W5k6hP{gE#5lTS_H>eCsEK2Iq6jL*OyFqA@u*7m{KuHyqWl@R= zXq(hZML=pZumDx1DUJRuJh4Z&K9_cRL_3u4v-|eIcDL9$mT5~-#-#EIa^<>-N`PeF z&XBt*MivXC`i9U2f_NM@gGeOwT@Xv4#qK@iuGH7A<~f7KZtT^%sIk2@^)H1c*x?C* zRF_fWPA)rYMJiJXwTCn%Ss~cTgjVSH7K@^c_M)7i8*~Cv69tJ`ei@bbo*gIW5I!65Yt^hP9vj#ezAzUyQ`tLI_p^G3;imt&gmrn)hK(|lacn}7U&imI+8(nH^=vQ91t7Mh8Vm!GnSaozcG*4x( zkcOtiTYXBmFk?fn4Zu z-L4eT)(&ZDJomgu=iIAS#TWj#%dT4^qkwVIC0&CTXNkSHDDT6xvSaTW<%19`=yiPI zj(S}QQ`^`veOOEUksdVcT9&mo`6O>!v3&(>0^{53u-5M^^**EcS$oXqlR-$GzqPLC zct2A4BI%$BXeBUFB&DzG6Sq4&$LA+H)v&zPw-yAK7BL#O)|uCMzs%*x6K#Bmu#2jb zqy(@pIhoDRqazo|hR$r59A@RxYj$lO2Ei4#^_nKK=1hibJutZwC#5se(U~EaAtw%K z5nF1V7~c!eNMU6v`4Rl|-EoqE2Z!?1Wrb}%DLL{K9LXe?mFKa@*HaC;Hkbh@$`GQc z^!?nVmg0kqms&{k4`#d_4Y-vy%``=OJC?yVU!1)9noY_L`5ua^%GD4GM_tgUiq^84 z077>&&k#;0dwk5Z?^%pjgK6CaG6783B#g^L3p<2%;sml1rV9X-S!FtR`t6=FEy-XQLC9Z@H~f;dlCZPEU&>8;bcEGq#zXjZERE2rThMmcGNAJ9+}B!-!X`6p+*-qaaqkgtr^-1u z+sOc*vpDaBZV--h3C|i7R{Jh2+1x+>nl1Sy}jg{-wf!bytPJpo>5&Rh3N;fU`mo&mOEIej`8k_sBq&9Noy*Y~*@|>feU9Rn7X;urfUM;($>;4cUIo|Qxd)erg zaT8v{q^!_Tn4@E#4%T0rT6aiR?Vt_BG+aImP>Lgq%z%0c1Lm<74#Q_rXW$x`7$HKu9}?Ls}MZ;+UWE2*Tb$10&Fi zpZiyQ&Q(ImH~xEqp7HA!5B;E$e|fyUAPPApbpSU@5R_$Hd|jis`>z-}=yP9*FE`ZT z8C!FiqXxigyV-(6*q-Xdw4|r{v4&yJ7MQ7Dwi;Qzx0G$>d3O$9a9!c|MuQwk0`Puh z%)LJec*Uzw6}yF29rfayVM75XgOxuS1FrV>k=<{20U5atx+PBya-J zr}7O8fBl~fF@6} zFf0`ASAxFiEfyoVUwLh8g50z0a{xjLI)5&1$R;w(wt_!a#cMbvXEX$a&)jM~^3buV zD(l}7D)_T%T%!n?o00W#Uv_-JEop9D?8jcx^jO*1=yocaU`p1{$9W+0u-a+VzN zsoaO@8}WaR8Eke|Vze-6hd;_1Oc8^*$9%q@V?#U9xyiVAH#6JUG_SF$-x%}=@9-3~ zyk_oF6&8riJ7|vLOCMRl>AqPaCW0)b%fk!=DL0svt$aM@{JY_vS(l;D+FLyGGu!8Z zIet)wsC0Y6RZtZt?fi5iYU3mYyQO=nQ)%;V_D0Y4)5IZ$dp{d-v5#Y<<7`0O)oo)J zL()isSr%o!vdUpT$#BLk3g5Nrx!AmKz$l60x~JIT9*1NBRbYEm9I(sd^VOsSk3qjh z%IIkXju7GvKe@!W*P#gjI#2+Zt&FjSt77yvjssE^cZ3vFSN?LsRr$%`@n!|wtU-*; zGE~xkLx}Gf)wZkMn}Z1tKCa@2g~ffkB(SaPc&JiO$z!um)b^W}fgjq*OcXHpUYMtc z-8}u&%|#_WRsStJZWy#SU)*t(A3!7_#yX}+F?++=`>kbJN6|Nqz1+EfNM8KiV^SK) ztLJ;@e>W4gX=qQyo;huqu$f&wRTsWDS^IAKH0U8Tgz1e;H#Nl3`!WhCR?EdpYFqAU zc{G;Vfw$ZMU_QOIlH)5WU>+I-NErTSDcSGYht#NPF`O7w1)OKQjNqPvuzT5!0f!%^ zQXll?>s-d(K{Q!rMDjrb$>7Ir@GQles(@bJSyaZtuNYNlO8de+k1jel_$>KvEmoH# z^2znryPT=`=;6NVe!%|HV+VeaMsuhj!m&jPS8IGNLW@#>Ae6W`*mf5RQ*MLvJ%C8w znNxRIP}|LU5kmC?x)9CmloX1IhnTUeQ-F9TxmDF#i~7eGZKrT+uiEsRIK}_Hk8(aO zp$YzZP}&9alH3l)`Y>AY?U5PZICJn!VfmRjz zt=V2{yV`(dRr7)do9y(N&;))EG^`!OCF5tIZ$st%fW^D;WbR99)&t0HE(gtKopKzH zAx*dBIK4u3-g?kcNKWMB0W2!Mh*CF0DV+P(iZyE8z)McHNhFx^2c6O{IeooFklivx zUq(6|p8O+bJeh|VZHjn!(c^F=1B;tn^v!xBbf1JD<>M%c+kjyH!92ww?V@P=_sd1{ zR*71T%thFCSlK6s>Ojt^uuzA&AJrQmy|v>RucMSPyFpsEH+WEt3lG(c+nO*(WnON& zeRTfEpnWP4>mmv9D4)7Z9_TGtUu{0mGMCrC^?`Z-Ks^*)99x)kX#u{XCeU764!Fr< z8m{ijROBmy>%By6C7{Wjd;L_j_8-6Mae@N-(16cpGx^L(0e>5aE6tWmT79m3E+6az ziutGVjg|kl(4()k5W*A?F_1fjr7wCrs=pf5eSW_w_%c6TnUXp>msYXA!6UK5(z-J$ zr>1%9z_?Ot9_Qt!0idT%u;WNt7~x^= zt2}u$QOhn82f7?s7Mb7sZnFoylZT?UbpJ?ddM|Fr^ovK*_K_DF|NRVyBRWjU!%tY_ zH$Wl-C`R>%_Fi(G(64#p|4wX@e)-MyrT(}7VUjav*8-r&w^m^fe_igG{lXT>14sfs z|K^S$AAuS-U;qGxNlNm(!z5|)|30@gWr1)nQDblDwjIartZ4ahBDmm+2HWo~{yLk? zCpUwA$49Vl%S#=x%!3`{@?Pc18|ayf^1>jlO!9%%8Nfbq53nWYK}nWO0q7c3^eY;pdsPI0SP-EL*dh@?+yVKF z4zW8HF{wYXe`?(+=BqsgM4f&Dsx2$E$ufA(cZ1|^B{F(i^GSf^Dm`;z@(%&m1EPKM zWT1mZbf9S}t)oxnXflompp1=6r4Nhh=Jo+$0j z$0N?{+Vvp2ih3%_ygi$`&(iGEgCd;IHANbYIT*Ps_{dxnP19b%CuI8530Bkb8#fwt z%tk)$dUpnvvLk1UiX!jb&m3X{aRt;se8zs7O*=nFu+AQ;%{h(%VG@h(*0O8f+oV#u zNx`h^gXxxTKQ}INbaz?Q#C_u6?-Cl$wW-nC)YU}BfYO{gWs3rx2VZ^+hE#yVtp`Jw z7!Sfo?FoVYc}2dJrnSq~Sj4;+yCi?1evl>UeL=uSpS$_Lu}L(1Ze!^^0_biU(a03?ec=^C*Dyz{6<=pa2DOL=^BL zEnPRTk7{X%NZ}aL(sKjI2BHOk)TB)-LWwkXWBcy=&WXk4&3tsuWM$7nDo~mW) zmf^=-sjJ1>mymF0qwsi?J3f+6Ei%#_6^Z|G`BZ{@vFQFhD(FY`4Rsba+g*$l%@0R| z|E>fQC$%mXTfg(i3pRPn*G?lD>+JFK`h|ng+3=LBpR0duil59?MywI*_u)><%gYtk^ZhWs zr#rqhjC_0nN$E$38AqLSe0G4i_xU4&&b`@|k%VYUD`GDQpzsTj?Qtd76LQyT=b96t zBP@dOTz!4ZVq1b}Z$D9DkqP9vfX!!P#I?|7Z~k(8=`(C zi*!d}f_6M5bF6rUMXjCIsJH|HF>BzD#es~3K6VtP<5qdlV$xa`t4d3b`g8O=>-i7} zSSeNyRsc-?SqkK?>JAm!?WVw>aV*nC!dz@#!fmoYfbZsFl zGwh_w71xLIFU|9l@^gS#1=x51t^-%50@ObPMe_(j-+|zI2%7%`dpT;>hi1ygiqp>ZwwXa>q?g|ECbvUyvqY1H;R>eI(5Q{91?HlI7M0#uI z$`Zd^9whufS6AP%*qU(gQBK@jtO7_^CQ|^Q2=1bm1sgRtF1)9dgT)mAXJVQ=ly@^e zWeRN6{YhvA6H7(b?$8-ZfA$D^*l`mKlzs8jP1?8N6~W5ZOo*pEeZN6jk`vtkVhCD? zm|egt49ZU7v5wU%~<_zvD!k-+>vm_~qH`W|$((3q!#4gp&Ny5W=;dfl1XJ zSKO1tQ1x*Wkv!AxD_RfN5J%?>0Sl;Ku&{4KeMWOk(55msvGg+t#He5o%^Ek1s?(bz zp&&B?F2SMgWNLkA?J^Og0Eq#_j{xXH0DIrTXo!B3`V1>Tx|0$#Q414;^~cjwotzak z@6Pc_@0D{RPtiK_Y6PJ#Qym{J_o5H6#Hh_znp^)EkSdI+4w6}fpHKrs)a2n#jI{ai z&_w@YUUdI1YI6DsqowTu!{#*HuHb#mz+(tVbQeS~-)bo7y*_(>XBVek>ZyqCipR6E zIpUVVZG< zK12bQZtvk9_Eka{f-bao{oSmLMX-HsWqQH{BeuuY%srfzA0UmX?dqL@l&@-Yf1fM%bp@2kK?F*~W)Dgd63l=Q)&TmVugpg{66ZRNvNz$b8E@ z1q=Y7RdQ(M(gqJvJQ#VfhZ z;=H%7&g3IrJh`j%q%-%!uRmlfEh)@D_Pztx%icU!rR*nUw);Fy?lzSWUYb~`@!I;4*?rzcddsp@;rM&=hq`kwtksIfiW&xHYY4ckj9ldd z`#H1u)$a1frC&#Tw?&sgVS4%7i<*f{jGe9((OD|0o7Wy05MJe-UuQ?u{82l{>LF7i zKWyD6vb5cs+H*yD_uT55SzUT+(MRb1Ym$M6@uH(eFRXRvPCOKhNf)*((=R^Y@yuRZ zGc-yP!wI*k=Q8g+Kz zeoK(e*>pmyRh%98jYQLp#6@xemP*BFa?1TAJ3X1d$?X2v_m+2ILhNT{=j~IGXKPJ7~Zb)m;)OqYB z3q;OiCW8T(gnKY#e$=wqR&+evmrt3t6jj1A_`tgi?TbE|8SI9$;97~QNc^5@%lQ;A zx4v_Q0hTv$CAR_@<*7~K`BB}xrbt30H88O}zA2}?GceOaZj*muVRqS^ zk+Q6y@)q2+d&4aR2VbV{>;wR?<0mHA!G)66b6ZF=5f5uccMgGfA99@qB#v=4{~B7L z!dd(cMVj@WZ_c1OPcKCnJe+O(oHx1>FWTv)~KGe_htxq-T6OoKzD)S-vtr&OW+CtB`_&7DG41-@ZbF)FT9 z1-z+3lH&fj+LN!qVATfxJ#>eFSl}za&`sZdI6xYWPnrVkpAyOB+IyG+>cf!2%cWV# zcmK-2+s{2nhNtkS*_y3z8e}`}a$nr<)N5mKyUxcq%}QrJ0b7WRrwC~M?aRIE`rhK{ za?db$G1-8$N-}`x`@H?JFQ33|+iFCn{WJGeEpic!-Ujr!06?+020(!mbn3nXw=HAw z->NFe`7fKygW^^rs8q0DAvC*R0fc=8z>|iC^WpVV#HbMxso52;UkBofv|G8YGf*ct zIB2^oe3{_`K8W-{y1oqnVDWA@5W|h;s3JodwM)3vUdqJg$~M*Yg~Oh>r{&0Kca?8tV8gfR7$Bj>h(y%QfxHfI z@Bg47+*9Z&Ju*60DzDI8e2=_re_bys$~`oTnjLAO7K!!nl%KK=Q9KpopP^Oc5^2|0 zP&)2)x@9T5@VaW;GFHLe{p3kha5%}%iimbP>W4N#t)a3snrYsbqNzpPwH*2|f6fd( z%183wdI|u9u`^|n7@ePk1_?N0Xd`yB;XC}Deoju{Vo6C5=U&Dj`&1jY?V4P!)0&*D z(>EFgWKkABmkRiruEC1z)wghflPG`OI;tOIOWPM>03+H;<&5=wJ?M4E@Gnq70%cqD zZcER%Nr9*jiHQJ2P{B4oX-;l@VUYvE#adf_HU~bN*4YXTDng&uL+%Vnsnw0L4=PUX z_UvVzJkw_%7}^(-Iv~@^=CK{_r5rPW*vq?fsZ^jq8E=2*sB$es+n?Yk>1}b+F_#?x79KM?F@ojN(Bm(jl$i^p)-}+iJoTxkiaC}t_5=%m2zob zz^n?;&Ah=D`)DHWJ~MEoXvPjbwcByMs}ArF|1#-#?55%y^O8|U>|>#1q5ue>aCxsh zT5mw4L;A5ki6iTULDttDh5C7pK-wSYFrA_p{TGBQsYrg?Q!XizPugk38!!HSTH%PT z!xd}(8_y}%CokihzDZNF{>;$6IgQ)by^jPIJRa7#ofP7L!no29UWAy{?J_qiz4>4L%Lk9Ccf1 zby1k)FxQLfUt4x|&S7*eMYXoa=Tuy+3fgA4F@wcNyQ^wg-Tv<~!5Jzbh;5mA*6f;A z)(Fv%^Si;3mh)wiJw)PUNwW~~?Jn<}L+uYvsOMfhkqwWdluQPbsH+8(y=j49&xAi) zWs7EBxesJc0O%*5(wXvosw%sz1P*9rKT^0agqPfiRnYx!zsEoh0DCKI=iLAA8}9kl z*X;iJr>cMM@p#5N!QSC_+;L<51yR65*g671bItq=zVf`i6oyd1O9Xm1ngR85)`v%J zK=`%O>5o5r?s)dF;mE$PUi+7|pLx*m8_hp>4US4Tcn*ci0>{M1QuT~OA}@xC0Jk#ymDNLIlJKK5$9fIT2{v~`><-+Do)D;xK8QS93E!}st> zKG0wQ{xsi&fgDw;zVt=Bb62Wri+!PFKA-fMR*|>*@Kia70Sk8j-&GO+beH0Xdq%-t z-f>Qz)*c(ST$&#_VKxdhpa5qFXNNvIlmYinP4!;V%rpRJ3iJ*R06uWS0G1eA>jL;8 zpRWd50PDWYsV3$jgp92mh$TF|T*T<>rk-x*HhY?yW02`8fTo!1%NGdiWpGSv%zOx% zK9uodNK|JCn2aH7_;PE+0p+#*^`{6LxU;3$42SgB#^U1Sgn0YNY?*DCHr6ay+sf8I z95pV(9GNI{kI;5E^V7Dq^$rJaT)-XX0&_0l_r7?XU@nz_3ZsU6=@J>|N2B@S zaLsNGN0it)r+{EbM|+*faexZ+9D=()7}bb7Ww3sdWoh|k>%Gh3oiV5F+}#t+vZ3I@ z-cRLQhO!`^FF`>0n-#BR?Jr+!eEr#JczzjRweh_#e&cX9f9vH3L=+@tgq`vSh83*& zjTA_zk*QU&S)_RD@_HRPsVv4%5^OW!MgMCwekO5fGNy#{V!fO6R8u2Q0SlqX+|2BE zJ)>m(J$7^cxhBpR{{Qb7DwJ{$X%l}7&E8o#ytwPzdUA86iHK!gO{)d&wDldXMajsA;n7<^?9a?UusSpP?K1M* zlQ9lsA|$3QF#^{$Mrhu8YrVtTs=tSgzj(Slr+e0m{F1-YgycOG@;Sx1>zRN5$L9(~ z2=LpmpNFbC*1mN&jrJVb>%XAa~TjB64Gb?Rei|!Fk z?)56=UvG{yeJki(gI0lbQG_TRyK+X-qX0WV#J}Z%;~D;c$KwBFsfgI$mU}?1&YfQM zaKTK=Z0;e$wl1r_rH%aP<_RB}@g8K)%L2md{o1nSI$^Je6^GeCf+B!bMdj|4b^^y9 zYa{Xb#vIHJmS&+^+1rEi`$?XR~KCK(^=3hlDOKrhJbPPSbUnS8UR#*(Hlr zX#3{{+o(r=^+x$mV1fbs4Za>N8Y3R(Gx1ZyLRt(1tf|PyUgu{FUI9oJ`St<$j6VOY zWLM^8q|4?Y_#08urW60|FS1`fH1InQ4xKDeR9951W^UV7U4+e7oqW06-Js*6g5RF5 zxs8wRPa*{mPDZy-fcSd#2%%l$1*)M5!~h4YDu!p$byd>WhETY0p8)?T2b6z!fWKc9 za1fi4Z1pW_ecf4U6%g$2gA0x_dR%ZJ^Y!5<$)INGidGOP5)AsIbdX>@#%<}fE-HY> z6%I!g!sXsO_(l2q2cY`H{ptQguES!@VxQe10N&{^8jK!_J$s|G$RtR!KCB93NE8EH;YLWQf@XB zk`6|8;l8u#su--g!0%ni-qz1?PQw*i^%E6ge4ry?&@@3Ln^Z2_#Czge!K?3IS+>pZ z5U$eJ85iN>9}wY!!Ug+b{ljQ>=zws4A6z(Uy8T%a^U@Y)Fg&<*DZJFRY`l-%n~9#e zqq|K3VRBf|)Y4m(1n{^bJiChEU=?)sn)T=p>&}XP4!h%L(T@qqRzZ3za69BZ{Fw(9 z{+_#uE4Df6iTg&MtF02`&;I;zw6%kpf7cDn#W1;CAhvuiCNokNQoFGkBdImV`TC=t zhoHQ8b&XO^U8j_+mQzdC*Gs77YbC|&YhiXVCf4!Z8RV=mhd49qcudx*3}7xIKr9A*CS(p2A zIGhu+zVn9jfPe;)=Vv~dmQFmf?;L|)yD}(+?7b!q*KB1^^Hbml$=v=sZ}OAxW|bCR z=7p3NaxmmtiDUpf0a(MPv!nGaspX@v-~17OA(Ihu!8D}+k_@NRY{6?6M@6%0m+0i; zk#FQ1$4@C$T3ceB{L3TSQ)D*7FaIE%yx(JfpI`N`14F zJzKK@Vt=P+Mz&9>dv=&7J(*sAUo?A!D_dLhsstg@mP~Fx;h#`x=^iB_dIQgt2h=?P z5CaMr$hUxrYi5GMds)pg@CMj-UYj$f;eoyQgrM(WM~zaXqfNCS!5PUr_HE}2_0qNe z+KV@xJqpV>6m#OQTN;6d$Kvx$ij?VY?WL;TJ{BjW481FmutR`G0OqmYoagH~&87sI zA8HTtZ)lN=n&`le!`)U_2v8PX*gVW3v62(+RXEf{8eBgj@?AjrBd}`JHS;4%smLMK zKEc%8rM^j&Vlh$@4fMQm1}4ZLlk`gNFc;`ydcJilns?JCq~?)5(JR9%k}3}VQCL5m zG+Su)&H*8e-z#_k(Jr-1j;7aTOJ--m!}?jjPAAtui(=A2$Uq z+WgT#(E06E%IJyOSaWAO!r^3+hD*y}w~J7t&0yTSYenb ze~?*39&CE<@-L!w7Ji}+2(GPp$?X;)M|~tVCglfY(9yalVsSEGd8RzcAOxc*F4#fC z4JOOqNR-9IUI>f3*9A;GBFn(ihE;W0>RVenfl(7UCO%!LmQ;2=$veUvYwlp=gfUOg zMJQ$_IYpaAn%Nn-xV}}9guNjyGK3r)veLUqV*RcJ{`X<Xvgrkklu!gBHp#G<18f@vMsNBt-Kga<_47Z$%8Y%F*$e0CMjwY-#>GDs3v$YRke2U-Tp z=pB9S`Ls|WbD3a|03aA>bPxK40;yCb@41)z=Q+9{UTm4ldJ$&72c%z+@$yL)P~id~ zLDlWwWCFG8sBao>E-%cMP6Z@2;E|Wv-yJG>i?@dwLoSGV*OCp4Y)n_QpcCemC-XGQP=?iEOln)!g@?w(@(!R zXa4U!Zg+Ll?)sd6Wbn#smI0tZ01Lp1KCS*V?CgD+2kZBbgfX6~KMiBtN38Ph9}YYF z^_lvH$Q+L+GO?k)Au_pqUu0I~y-mrgehH(7US3O8-)I&8H?RH`Yh`68ICjydS?a{f zDe_|`tMS#p#`EGERQ2*&dJUDast-Eolj=`HDwm`ltS=o2>7zA-v1GL*6H@tgnG|2L z!;Y3G65LfuEOIwX*6pZmH7ymr)Dyh(kiClf{jtZ7zci-q-HR{#Te>z@zrSE#4DzTa z*8k5&Ej8tB>vj~-A_A3OHN?m)P1AYAhM6#VX?wWb`#S&q(eWu5r!H1b9PjY?KHOA2 zHuF(+$VMeQezH4*Ts6?(_037B6fj)`U=jINxd17si-mEf#=no&`pdl!mmUq1ZC-Yx4KZ^6;~ie#1{$i!-5K$dD%m!2S@_Am%);v7CZF%XW7Yv!WCfLN1r=bCvF^Hb z?h^{=7|VMBv}QRlFEu*9DdELvjfFO}hUB%3UW3-bAosQXlxQ5=HZayaZ}DY+e;?d- zc=nN`P69C3@ZBbHv74@3*{7Wmy4#Wd@yqi(G|QozI@58ne7&=Q$-QzV3Xy^U*Q0@! z$GoRK-t(vOm8li3{bglLdy=ji4^E2b+Td`X=jNCo^K-@jb%^%j2v954}8d%n1&Cp2HD ze{;S@{Ycl!z-PvVmwvKUz8jv@30v%jxQW5*VU2$pn}2szxyl|(`!rk>ozoQ^I7VeA zKe<#&{M$t|b=J=mv6>#Y)a3Jay$2B(x*UG@o#Zt8lUxvWu=dndd4WvC==AT|hp~(x zGDQZme66^6t(;oCzE)CR`x_(oX%oAiDx&w9n953+r6c?n zHO{+cWs!r!NaU=H!0+mb@~%I13XMk*6*lMiH|Ju?kZ#Hwe(JTd=03PUcYoCyMTPkc z`jKGLp~21|$2?jnX7~eNRX)Bz_gQ{14#FWTyZ``r9|>?km+_`qSw}r! zulO7BvY3k2EXRoq*+s_s{N7bj`SNb-8+uWF>o9_|tM>|Xi3~WWl3LGktN%hPZ}kmB z{e+1+MT{z+i|sU8cGT_ddfvty`fk?n_zmjXfP9BKb7^zC;%Z<}Z6y9QZ9S&)_!C>D zq3X9Cy(6C;D%PvDoc{fN8+>(qN+)E!RN9@&nDmN03+z19DTC2VA0qht8;4D26UkjR zf7VZK`o7Phe1jZNfx+$qK5Y2)6ubK!?{@EWF>XP1o>?dI?MutJ!uaNUtRxProNSsi z-SC$GL?*Vi#cs&^%*mNiGS@bGYW(B))Dj?4=cnczJ>jn?fcZw%_x^bF6DUglOYoU4 zJ`UplM%muWe+4u|{Xkqs05<-!B#4#;zZ4E@oqk5By(=jQ@K1HrIBx zROCsdmj z?7^IH2~Z^gvUG&j3l#&hmmAFtv*}{(jou!>$-S)9#Ev?zA&+Xes>RW(=op|VjGH>0 zw3X}v`}?bHZ|1Zad9=pucC~H{J6)UUr;NK9k=;z_1{51OD+j?g&Oodd;Hv3a3X`Qh z&~%T@N6QS;&KlfPFM_yaYRn14&`Jw56)bzIW+A0AQZ6f15Bszj+y+$|B<+~4$tJ$V z!AV$tFs0#@RPa1y(RDkb-C+~3-F|a)s z9-pM`WPV=b(`~v<`GFF#Gx4w^#14TQh=V_&AU@NVzbUiea5_}dacAO=sWeBtW;P%_ zF}u0o5Zdja6XT6|;GfSWsx!j{P>jv7ux#bZI$CNMj+C&wAbxkj{Be)O+=XzFi`Mzu zBc@n2p=rZXm88O&9|G{KI)KPI+(4BK^hyZ05ge_e9qZ}j*DRIT>Z=0^*2~&O-lz=g zisCK+SU)J*MR{Xe;23GY#4&q9O2dnN^_aPWtQ*nbC2 z!roX)WpIjpra|cgje6nh__ z9^hfLNOJ<-DXVkT+_*AB3zr&&PmEN%CbxccQIpKN_+U1z2motB$70an zBF6nP)M=H-2{=ME0gj_3g#94_tdpAENV!-QD$T{WPta9G`pSlbC+4(UvT3ez%h&JdECB#=8$#~Ht0N%C6C^S zRYtp`Fx!IrNXp}^95};lF(@a2D*tR}6`H8$RUChngQ`s67WF5Q$KPdP3nF~ zjxckCp=IyV^gGK^^f#=Zh7~wgqXoGi``>rHhbpFId#&D}0$J!dv&r)O!NHS#h`&rTIMi&2 z(dk%5WY*SWg%5MoO$R&9^37Z&Fx z(&o8~?TVN{K05S~*EV)0s_6#j7KdAuN`AK^1-$xg9r))TGzlo8zB?$Wtb;fGyj1Pi z_o#`|hK~p1tEI2^s}8=DJp2;c%}oARx_nR}uy3D_P-Y&ZKK*iF#%>4o?BM^I>%Tgw z00=WQ07|i^#}PD)0+Is>z!yF%p{2M1&e)>yj?QCT6wA$wMlCN^(mNa}=Wv`$yoFM$ zQ3&$9HU;>UJDVd)FE{lJHOm*P;rS@cSgk`o$|zb!uLi~vIsHhUPNC5mn;*qUPQGh$ zl}R1ww4a>Om{Gq0<`{JsTG!{8OlZ`yo-U!3$w3#~iV!_kXXWHk%!JPkOX``rxWu}l( zFgWpEA56~!C{|beij5wCW}7j{CB~p=TA^_s#HtY3)d6q@?k7@8s15sD<%U;J;5~4X zwTXmxbqvl&#Z2atZW+oA=Bi$dYUOu zD|HXOHtTww$>c_c-!Z+8u%4oi`S3NFX}V=UIU$uEIxYFaBcqHMq~d~ohgIQjS9D(@ zFn-sK0wv$&&UB@r zuGUpT0G%_X09UdT-Go7(Zo{b>SGR4?zyeU!tp&4(V$aAL^0`6fG6pkR@!9^%*+i{3 zT*XlP57;HOME}y>^aE?)W>+*yyJw+_jqH`5VR! zdqJ=!NUY8>7SI;%OXcbqoRvU|%3#s$N~M8O%p)Zu$wu~cGr5s*8!K+vrQThU$=!y` zWu0mPY`rh3gkz};;Ie1DN0qL{GnUs&xBMu&8bDFiRGh((5<C|1K7M1X(P8K&ME zmo)b*Kf7c#vYsa!6S}kJ(28z?LyckZ;=mleWt4fqqcJOnn^e=SMq!{6XL9%&tCPO) zZ|$8Ja(#w&&VI8Ue-oU&k}A|){rK2x)u!Nc={~U&e)T6p`%_mn=G(u-(@yEfqOIRH zMIh(3dr_v&$_b~pwh8Sh`6xxEXG^K6PW)mUlfbzDeC8l{P@Z!`!b>7tB1s}of+o=;7OLS=5ik#Ga}Ir#qa{KIDsHyyrs__}O>Y`iQ@C?v*(b8E zWj`l_Dp+#3T#{U#+u&MA);Ts0Q z(vNhBbVX%dWh-S59RKI|&wPn|MQv?uOKmspAnio$-*rNC5_NKQ%5)lZF6xZx+|_xc^QVqL=LaQ8 zsp!_~KF~X?hu6!}E7n)nH`aI5_tB5gPthmqSLnCsztI23AlqQxV9nsA!S3n6HOCy z6IYWUlSC7`NwcYhK+V+H)X~((G}1J~w8*r|bkWSw%-1Z+EX{2Eg#L-m6K_xayB4xm z&RoOX)Es5*ZysZwVg8#1%Hod2Ba2OocNX8*owppYWLwT!{${yl`N8s+2qsdoGO)6< z!dTt2jtO3^8*Q6zd&>5#ZM*Fy+i6>#otNE@a*1+9dmVdgdk^~% zd!l`=JUWCH}EUu7vw+7q{KJa zKh+mJ=18_A+mm6TUpOZegs5tEV7NQFqv$f79KD1)fpsIh3BXsc+q=#Xea3?!y3rXl8^*r3?^ zagaE4TxHyP+#9?s{y6?wyg~fA_yd=iFhfuz~j?OUiW0^VGo9(bQ+D`)T57)#;k)R_X5PQR%nRpJxPQ?3^?>Nj`bdzmWMM%P;Fs z5|#8bo1XnO$0HY(JDWF_KU4rONGoV4cvEOy=vf$1c#14Su04e~b>VdW>9wLw3Y)T9 zoPq`%KotfsG62F#bpVL<_4;}}0ze<2vQ|k6gsJ1H0OJLw0R{$zM1RKw6j{`tulT{K zYPua3E!40cLJwQyaL)lmYlayWY9D2f@2g;Vs2W%m98|&zQ+R!3&@qDuuMuWG0%?d% zm@4YQ4iJJ8FhUsSuTgIX_(>r|wS8~B52QCo67y{a~io!goR7Pg^P zZORyF;;X?Z>GT!|$aM%N%6A-Tv&}t!wwD}E)MPfnnsZC za3Sxa7G2^;)Kw+|I>N?&q?l+hSnNXG$FY>}RVp0&G$M z3p%T8aXultC<3Je!u^PN1AV#T7`JEsZXf}+h z70vRBCQfu5wknsG8K@x-3g?MlF~0}&YI5Cw{DPZgi5b6Fuj#T(?fdb!pHfQr7<2 z@OniJWrhac7tJKSO%uf@Kvssfhcd#QlHhZ!FtgGM1Bo6)7ZhiH)#2R zK%i*Oh+ZVJJIUT69b-x*H%U81NDRG2)YdbwojjY~CaUBidYWD%1(;KZTXOotNHOC0 zA-g^40+7BRf{8pUMw1a#NY<$kXz0_D;yycj=9Y5MgMDyHn;kxRa`sGPf%R}{sNv1s zd*n}@nVl=%A6nhZD`a?=tbm`BJ+T*ufLe+^`Rud+9yEHN7pN-}tRyKql2cjE8rG=E zkPR08scAQR7(0jFYx;K5@7f}VHO;ao#b@IY__WKxXS@ZFi z3xFoz1$rv!w+3u*St8Qu#KshOVhYyP==m-SaZcLw+?Yp`A1F|?ebB&03mg~Da#u8T zA4m3`k90JMVftn+ZjlQusc};Ap1uwumge$IMLY6gnU#+3&E2bKbalm>MP2&1+>D64jsu{kqKs)Qu1r)!~xE z*(0bpZ`Hk;8*Q|yqjfrxR-gdz>Ld`4Efe~t7ct~O{f$*F_mxKkIBwj-0T_4gfmdUt~56o$wK}r8YmvF zbM?l6^J29ot|jn($&iR~xgdmZ@I|n(Tv=K|2&P&7U9-|uj4coslxvK0URu2gR8wO4 zKDU%_wAuz;$$G<`6E-=)jntns4LS5BZJ``$FOoC=>NI@)<5^}nI_3J}}S59qCyS%g67Rb$IwRSwS3+MTt--4 z(scuBB>Y&H8?hQ+=BZN>I0n5QTWso;c%n&_)Ayz2GFBs@h0YcVH`K6CirFO?N*6Cq zTo!1`ITuZgJ4ew1(P;7t(1#f!R^R|sB^a4YF;v2!Hj+~2-n?NuMA15xSwXTw0HYYY z6~ke$C^BFRnBHSOxE!wLYL7Lf$&_%HDij#B2zBEkMrRGM33pF*1fx!EN6w`~+^*u6P(5?huw}*6!gH2Y>}UDPUk<9zGq0L7Dd-V`(EjlW6_f_ zjc#!k2n!HAiMi-tvN>gasyUrKx^CGXNJAmu7CwOj`EWUqjIdz~gYet6nV#=Ed1sun zCeOd7Ni3&YsE(sXCzX@rnF>OZ0+uCHH@MYFA;!&mg-s}Jtj5@pbEcPDJW|+|nq$8v zP2+C0L0`Jb{U#k4>*B#WD>)|CNIq&_#3Hw5a{UWjI)M$=Gmq$wr>( zUFg6W>l?a9nVD1C4EYb+re*g@PzzngD(IkRe%RATL})tDSn57L(J1*Lmwl(`R3Xn6 zD1vBsTGl-GY@hv!%Aij}__5ugV62!nb=1Madm`|~S}C=5eEj~zGdb*FZmb<1{X^HZ zJ3|u=W*Ix9L(j<552&POn@PZ(ms; zO!AVvFGpCJ`X$Ihv^FN@p1TT_d$+!tH_@Lag}#BQAS!Uw|MiFIU`Z|oLM*U`5!#K! zT!Ij#IuVTq_422tVkL=a6TL>2&r|#Qu3SEEL~{)OW(HU7bsI6LXa(9`9NU;<(wjGg zxC{HbI2jAlG2$BtYh;T&>%ayFmw$00BqYq?O(M*3e)XshU{C9qgN!Pgk94a+6d-vT@Rf!}9F& zWo+XE0v^y-0HA?tv|9mn_VBh$D8Y@t>%={8^U*>vkG}t2-ll?5o``<#CU<03h1gM@ zc&>2kSk#truACo>ih5T1+x$)eNSYdn#Tg*3?8_3Ax0_>@{E0-yB;n>YrFVwpa{b?>qH^=zJ; z!J!L&wTR1d?&n1n$OKbROZ zmUw_DoqFgwn|!}NKhdJ~aELxhT_5A@pkGm;T8EE=-kJ|vQk;TC-LqLgFx5{11W-Dq zeSVE3Y>NWxhs@f*o)nEfkhSGL5N3M|BJ*gc5e!(D7J!vCCR|&1*tE4WN6k!-S5FXVX`rhm#;A+ zJ6k4K-eRenl2@Z-+LuM#b2o_&4LRx)KUg~V9i)!I)ElBv^fh6Sv4%t7c!X#!hK1^> zS#YNkJXW-Vn|^>U73+f;HX{Ie;+b0K=xe0aACEXrqH1$fKv{8KIF% zF`-o2TfY_7OPVN3dN{6tGpH_GisPk|T z9Y~tcO5|xenEmSoEdfZu0($$+O@jsJ(^*y$u_x9V3Wu_`S%7WCaZ=4D_}$JD<2GJM z=kQ2KB1G*TKd|TEKI{rU#}RQ_4GiKsCaIuNFcp(Wi;NTPnv6VcA^(@jra^79K}~Bd zrW?V7ci<@&hMRkRWD2;T>PH9+UbS1c>Cs9Gig65HV3U()*6V$Sq z>p`S*TYQt5lIA*f{o&%e)|80bug5z(hQf@Sg zXqJ0>s0)*!BjilHLX*$&hryEQ?#`@UMG9JXqXI5OjSkoW+Jn5$q>Bl8!&PdZ=Lr@3 z<))t6LRUj(^m}CqJ$&aA>N#Xfka(+RjN{xtG?AhvoALIf)*$Ui-?iiDm7$1P&NZ zUe)W{!x}GiyheNv4sD&%;WY7*e-_H1$7?|nE>)G3InBI*5=R~=#KASR!@zR`oux`RNscg)IhjFWe}IF@ zDz;=~Z&uO$W`=(TZ^qda11lm#@I)#@4^Rt{)LKdVNk9%0AYHS0y{STXdSZO!^#};b z#8Khz;|o9v0d}+LUnWu*KH>WJtH9l~IRW-rz#!j<07EOqI0g|&MW5I4 z-*;A@WRcbHj=zgW->6dC(BuIzW93lW@MJ-W zPl+)2WnDNudP(ws#<#W9s}H2vQPITnTm7CbeTvdy@o^7APL%lke+vwg*sPqpl(^R- zM9eKrm#ua3yVgX5OeoZSFSk-^$)u9zU;;6xXUN-dzjgI#oAgsZ+Jwdhz02~SR!l^3(uG1R zVy#Mg^th8_X@Da;t5;r^PYy>nW#0F@Js!hFS~_?RUZ6&bCH>rurdmTvEM?7@H#XX4 zJsAKROEFK23vkGZKE zXF67qY7-G$f%VWkQ_Ba|>tjFu{S*vG%nXTwyY*UBu6WSh+Kch5BZGz?Af8qWi9%2) z8<+qfUTxUasgc4ILtuYO&1BpyHliTnIJLz2IJpuu7!z$}4@TS@5`W#1T52?cI?~W| z(P_rvkmJyp<=*myK-i5AXcx%LOr4tb zp`fr=y}#!P5=H{ir{*CRM-7_Vv)ViW-ALnw0^-aaIy8rWG60GFjv$9t!QZ*@4e~q2$sd z#Br0OF8RgE!3#?>1VCVGD-lN5*$6;ff{}^BVi!#MbLxjuXJrt5?oV1c20bli8rSQ; zk$;k3EWzTC_N~$YtSn~Z70RzZj~i0B6v6pmC3ocq zR3!`*F$bA!H@b)Jho5&5Jl11;`lOW!zKwkGG=z+r}6KS`;>Lv!3grrfpexiY9h zt0o?hJu56LVf&;ZiRsx*02$yq(#2xFZ>HoQ&6^=J0+1Kd^AeN4VHUF6oTPXL4F`pX zMSn#Rw0lNs<00goj>)qgV$cxMjs1K9(eN>-fn7a7wlTRynlz|H3+yZAeF=!Y#Knqd*;JYGu>HTWNTj!UcGLr z*~GRCtON1lNUTv!ARV72F%5BU`5ZJgl>;tH1_}*uZmBr+ljLLZpccA8h?O^^69(F` zXhA-uiYB26or|-g!ZHRkVh#q5nS+L-e3oRU8|#+9he2@Tj9M#j8X;p;3*B@Y1)+%3 zSqz}NK1z6rfv8ioSGyzRF1D*5Lr8$GawFKjg4J*-ilo2|HOJv0nHsApu7uqq$YK%1 z>N4G+tlm5)UIVYO1*MP_yYvCSA&h&fr<%CG5vIYqrFN;q%>u-8!}soW`nIY{HVtc{BI5jde~zoYI$EGm zyagLB`T=2Rphu{V2qNK#L8*fXvQGD!OY_Hp_SckItHi=JRlu)~0|AV{sL=uX*>w7& zYfxPKbIixZ^O)~lOTo9$Bm`Wz(3NOtA7-2orA?UQB-U7lJ)uXjw@dzpMG-S1Tk!kS zos4bFM=*G}Q=TX2Z%XAy&`+>Ur$-%J;8xxnN*~f|BtKxcKI#5(bOY8Lnn7=dEpm6L zfiXfjQrNFx-bn5W1q&E$6asvMLru1>Fu3ES?c^Z$(48Dc3f4qQ0pR8vCMqkV^z}EV z^x*qTUUyV_ed66{l5@nqA@zn7YPkG~(?U9zfz?6?p{hVIzzDyMs?JfsneMYaR=0IP z_FfHM6LO5mAuj+Ex8t5uKtr_60SXvgQ*#I*9xN6^1HuBzf+180KXNGw%0*N|61FB- z-LEOQ0Th%&%`nArgBae}V`8Zz%Pej>HHFg4EU`mQVZoT;t~JRcdsMz-X89Ls8158<+an(kAVO(u$5 zicG~2i@t|XFuj`1*+`;0OJX8%YB?ED^L-p^NQS6j4~v**9~l zx&S{2MhQteN~h!cF@c!~2K_K4$5!$i+-y4+x?z5IPq@NqeC(grJ?O^-xw;q>*dG!j z;>83L%PA+;ue>tJ{#O zUAD~%dP~jMRDrf|VQOMLqaOh6OP1s)AHR}JE7mjLiq3U$@?hGqmQ1Z7oFv3~0rfR! zJ|RJ|z8=VJ4YicW-D#<6`qMd8LN$XtwDj-p9uWx!HrTr0sWV~DNS7}B9?&{w@zh#8s7QRmMZB>083-Swu~{6R>;E$$05`8w)X6i# zn0jmL+eIU*e-H<5?lG_n|_e$5x{DZX2 zFjd~txuqJY)6!<;r>FmK0Es?RQaP$HP)+S3dk59U&|2$Xr-WqV|2J`&^vS+11~|Dm zZpt*|dZ>g|$t1hUw1t2+Wtt5d7|>E=`SUR+en1hMXqKgN zv|34cp)&z$g;ML3%F}Y3P}6W>lFk~?rm_< zEy~gM3_L7>lPB`!Rtn}vL;t~AZEKB`ml7bhL+{oG1waR9@49t?0^(S~X}5l%4ndQG zqvtoD9Cf8`p1Y_Wh1&L{p zL!t)1asxb<*HZrYi?qErdU$&t;J<1;0YiM_V=1!N%?)&bRb z?Mz&kvx$?TRcFp)gX|l}w$g+~yP{X1Sm?0cudt^s7?b1{-Sy)ZYMGAK@y(5irBml1nG;gTO%7GJAG$lyK2oie~nAtdE7_(t>!^h{8P z6EOT+fhw1|%82Z#Bt;sg7-`)F3{qz(FwjDk5mh0MOoKK9%8Y{sI_jhb**&J;942m; z{D0iFSZ#zNP!W9A2^e;i*)X`P9^3=70u(h+GuupqNe;vHdpP#NC#1^&$OtvL&+#TD zHN8h%VipsV3qLGo{PwSXK)~a4#@Iks(?U)yC;xy&$(qeahFmLMKLU$4U-cF zTw~_f16cFBRf^bs*qyO>8+>V`U8tr^34Fz?{7FmQEYNTg+t<80o3J>8b&eQiS#~nyVKOE` zxlHq$x-0Zsod)I@-n~^T&P*7nlt+;C?Xo#dm3x6&MZlb1Y6($^{1T@hMNzydN0)U- ze!c?r&t*-uW(<=c2eg;x-LyO)W#X1&QKKJ2!J_<^WY3u|s?Hn67l zwlIQVU^4>-JxoqteDLz4n>$uA6jmY4Wcin?h^1mEErpYE&C1?77uEqwaBKGTgnd8H ze@>mWl_veFJo0E!J!(@=Li_siVv2XTZ1%Dw+miQ8KJudN0Yt_$qA7;=B5%hA&>GK5 zy%PMwAcitWH4y!299k)#4&#h18d=Gs(c~->S1k@}+F+|gn<(*`({gQ^>!mf$Mb*l1x(@~9Ub)JQR^{*e0ep#qdz96{K@4Ylu#(U zp_9%z)0luWG})NG;dSVIid)f07g8iVRs?p+BN|&Qs1m5xwaieL*7=3=jy5X^Y|?DVlsRhJ~b z^%gG4-&4N*5?s9vI7ySnhIFFDb{n~@Sj4!6nZzO4{fQkJ&Wnk6au6->GAIh;7G=)k}JqmOlSY(11(seevGS= z1dsT^L*zg!ULjV7_P3=Yw$)&fLA-j(P#Ke90AD&D2z=TI!3@fD)$QUOlU}_cC>SeN z$v5|ZpIF<+ju*&kM3vzglpOW+gBC5Mw+hiy>hg>!%W|b)E+4MKjP!3$6e}%Aq z%PrNFrL~pL(~^z;XTdlC@U;!x-d&Z~S>R2<9}5xfQ@qW71$c8};6E{XuH5RK@jc6QMe`*u=`B~J7??8XeG|8Uu=e0^@{>C*P0 zq#;SWTk()~n^F`=VI{2Xkk){fZ5462BAVGSgOyGHj3>k z)=Bm+lX3Aq^s+h;l}b(>$~{6AG|fe_*f;tb{NbfmJIyA&{%7HbmUHJ**3z#I$AWLj ze%5~lcF0JK4a9(H*img`!~+UO@f3eMG7k_~6{opPHigszoBBUJG7J#Pp$JLkcmd&- z@OLsohFHQu+h8xEb=cI8Uo2OvpBG|qPaVbn>|(X>JS3C=prIhR(r#N*o}?Glk^q@j ziWvl485I-WeR@#W{TuXH{;D8$SyY9OqOy-i!Q|jwj^(>)R)Mo8)A{0TjX(~gCgFoS zi&0tirt3+2OwwBBQ}cE~Yc>@XIBghM;2Jq7k14Q#ui(KOgnd|@pk^B)iFaa;I5(3r zKHd-RGAhGb{?5eXmK1#U>0HxXMA9gLzEfOgqHPljcDT#aZdX3GeawU zcxd}i%B>H^2S|F18x9th;Raf0$m6*r4OLf!e6XC7E4Cr%P96|}WM;12dW*Jzu*nVl9{?^4)T13ohk$g!rKdH_y9GG@02<6$8-Nya4h=!sV8u@s!>^W}T4E98vz>5kSX~Hb;YK7qUK- zx7}VSauk|lEX|e6k1t|JP1HBfEi{uy2wVBjMw4u8O~Mjp|9sM7wdb(qZ6P64BLcd# zf^tHj1iVuKO48>(9@WWXU?ETF#xw0g7WSkus2DXd=0XL`OQb`Mr+Qb=OTh+JWIcec z;pAtgV<0JN;R(Sm-Vkg`QxfM?!OYUmoQ8KxnTIYEA91tHJhNLP3woD%dfXKwY0XQDkN77sj}{JVl4z8H2eEU1@5uFp z(r9x!0@M|1M9;c6#cCygUvcpN%HmbYq#nJL`Nbbh2PyS`er8nD77XYn)S17$YqS4& z&Sr4}5j_S`>JoszAFs*#cF9(u?4Y%AJpi=zOOSFFhByC0DdTW z^e>E=&NxtCfqI7Gf}tg-P#E2Wks$1b^W5eTjm65AEd{(UH14Ga&&6KG2kJs#KzbD& zrlFgh8jj{rFShBJIuLCd1lk6igCbNRf!nvAdXEAAV@Yep$EE&Q3>r!g=yOEd7S$$@ z;feLwX958Oq=)y@@0K(bhtf@!HD;8r=RKPS0=;zToQ%UxqYdgq&gc#+I9r?t5?bMO zgZ7y3VAKkQt$2@P1spSg@%|Et+fLX!(l|-ycbB&KM*Vh!fGb2{4rw{xQPixBc#Q)P zY%Zm|Via741V5k7PRL&Q2AK}NlE&I=$0SuYb+jFDqj z&Wli#fm)DFr{>bEO}cqVO4!Jq{DFoluEVIHGbY`HC_m^Xj}y%m!_xqVnxg1*55eg{ zkg(!Vu^f%6M1{2^+8k{MX%e!ZyJmxd%yp0U_xMcxtPP4MvOx$q5Is!xnV5?qYx5VFsHN= zRFfpuZ&vkKtPJ67STfd2KTxFy=>J^K1T3Tz2YaN`EW-W#tgA83d*7ua!nxr=wW_vD}C3>et<}~v(GjOKQ7Ho5d8@QnIi8dEtK#U7&4iPXYi=N2i1TCJqK?`OwBzk z4Q?tNpf`^IgUddvH=A9+cc~CL>?GTeegBh#yRed|z|g&vReHO$Ql?+scwQ237do_r zIlz=&70+827j%x5GlbtVllWobh;hT*WvBh*+F7}rS{oh6*l1Siy|U&#)_Z#0qZTrp zN+T!QV%4$FRhixswGLDOHPg*DJ5DsZIA_zM zEkkhwJvFPh$tlLndV@_sc&JDl(^+0@dH`o{fC;ZaYcL=85o($CFQ*I+E~MT9^V`Dx zF*%XhUnYMF~l3c@xj8=AiumfjVQw2?#N6Q|B`@+d&-tx^xghoSKwCTq{zS#N&rgYV z%CaG>D=yH5FNNnw8!dW&rQoBcdFa#?2dy*0d!_qpzY!GcrB}p`Vd1BLy*YDZbelv% zDt(#y;qhrmxiazj=hK!)XtD}el3r0O^Q(z3dZ;&-A36b@x|)NDcTa+@HS$yZYR0kpxwC8-P+)=%jhHgVW%palzmT!&zS-=PaZ!21yV zHk(2LlatH%o@wn#pFHSwhjr0r2Ck_OonM0_@U6?&g~PnL;!Q_~kA^?~fX9+hj7&}6 z??|lgzzp4C0lFySJJKdv$k;5K)X+fcqA;F$`tu-P3;K}(hDNjg)Z^9J6R35}L8m(o z!EA_;vSZxOR<(V4+ZO8uVb>kX!@er3Dwl-ZnV{_(dE`p9e=Lo<=WDdeXOWm z5(ny7_BwHp-M+5asY>_l*m8m=y^4V#A)m`iNUi9k8*muW{9YRgr8yu82){~^?$|46 z%?d4g6GZyH^SM3}WW`CUI{BBTS9u2)eseOC6tms6I2c5zqm+gsxS%ffK@j60#053a z=*N}CN|8v6a|WPrS!oNvX7=9BR$oF9-2?trfS(o!pv3qbJW?4aJB9n;!W80sh2>7& z5LF~hPPa}bXhmmAK=|%0X`fHtx@}@voGx4uC8POLrkUT@kU6|7#KITB^PZ^p0@u_u zm`hQ1UPKJS299=d=Eoh`LLWDi*7S%nQm~i&Aid3q`)U*=(iv{#2}tTHNO>CJmWw3? zVV4PJcyytfwoSKf#D#8n@4CyWn$vQ}RR3b3`=B~GaWlDM_=5N?CX?BqQ42+mFRRV~ zr1b3wUli<92L@G-3nYCf0|+zMuJBQgwmHk)ZgO#dabZUj>r~3VQvp-V7p^QEgo_8Mn=;=)BUGVhlr!!r z#T+A^3iZ050DI-Wph&{qBv)?;q6hQDXcMcJsmaz1sIKB7;^N^YHP&s*Xekirr>s~f zfi~#Ru*;my({ou6ZgdNmrY!yDpL@2N_6YDq;cLWO`H`h$G>8J@W_h5pNRefZqOg~@bUMvh(rFI%PXMhiAuy2~4% zMEEAfTJs=(9NGpDsT@9*v{pZ!E=;XkTG}J)#r2*kGGffe;Mjf@9|l8Ttw=jnfYN<% z4Lva^U#b)N(Z2NAa;m?LCnAmON{80{vpuFcfD#?H^f#st?|}Bt@3za{jW1W~Byc~g zmrgKS5kjpJrG}Iq{ZCg+R_=Igb%%@;!go?|B;7*!-e|%MXju1}$@PmEl|yrkvW>`t z*e_?|-(;!aL_41{G0$gJq?MVu#S(dSK4pLo6Z!bULHV&qq?QsL&OcvNe!TBu>FjA) zkL=Uv&CwDD-~@fAMo;8!UUf=x-rhbAUp@JhW%n=b=q6%oF4>V8ldqm^38d`ZQz$rz zxnN5J2+!7oB(W*KKRrYH)UAgx_AYAB6WI1py}nxL-4oFU!i(RY#DE5kT2{jGiLpt* zHtc0Eh=ekb%A%@%eQ8tbdRU7EW1#(O*_kiaROAZaN?GN+m&VLcip(^q0-D2Ya3wCr zqR8QG1s|XszZdQtz=3I`-JHyi?tTv-R#~X2h2XH>3Wr`N4t7Y$(FcE|dx-zUcu>!% zwjmec{;L#Ki*VrWVb_Wzv`)*QRFq>q!R2Al;O|(+^sp>}@cvc6Dz+6}@}fAOl)ijT zxCz1`*g`*ssIi?Ww9)a4>IeMh2wh z(oT&s`XGIQ+-GW->cO>dN>XzOMGs~O*oLnbY7-=Zi=j5~-%s<|1_*7XR9c^99^pQ? z1ro9|I-R}GBCwgPs; ztfo%$bD$7JD?}lWYVuo-{c`yovG%dpJszn6)KE{YicxgS#reWLdu!AGPJF#eO|C2; z6q-JJ-$ErlmfUw&F__^3^vGn_JVmF5JZ#H47Hz_Y0@ zq7yD>bj^eG$6-)GvEbF>}c+MR)!{@cqolFcThPi9R{6K>{lihMvTY1)MU=JFLBp z%lRyihfRf|ByoVV+PzEjEvSd>^!LEIAeUC(vE}r!`r#w$jL4}bl7?SXV?sPgQ0*{L zP(Mw%rRvQq*kRKP@URbohyB%)rBzSnCjvzzY+ALt7^a z5Z=6&oGiZkIEo6p2bBCRw$dX$5gZ6{p#}P)^VNk0VU=!kg2DmD008~_Q?4LQE;bdl zT&~M7iC7~75mfVBA35RUDzEG=6ap*Bn`fm~MP~)RB+0w~vP0vtvlDsy&Z?B4)dVtB z)-wk)$#-PLbpOUC+sjx~#Q$3!=Q#Uzi77U^WP|p;Dc46>z+R$_v?DA24vv8-v0DW} ziC>*gm5%$}0ncc#i+(DGVQx>x*W2BwDB%E^QKk31w66d{)rv@y$DH)UiqD=8(pxqc z6zdQ*o}}UT!J&wx6~u$bHbWzUGKr?0)J_~UlM9MrUj6=tUy=YvrMs1Nwh>JUwXPPe z+qvJ6Q4{!|+mrAFqn?(V5UsQ?T;kX~12`P1IRx2h9%{)gy@TkmdmyPOqLWb17p+HG zn3bQ8p(I3~19b^!I}B7Az91vZs^l!mzFCPb=llVo6DU+vy2e(irjP?^a>BEP zCPm!r+tA6hOUV%G0&-I(6TvQ#XILjZT$p&AoK7YvND*;hvg7UK(DqiK_j`SIJnz@x zHPO^asmA09N)7AT^T*#gDQ*=Oc6p50kKxl=O_+=eUEGUoZ6`U+;vziYGs200wyS>{-^Wco1~oNW(Ey0ReQ74 zfk&4~*pF$!X?Y2!&c%7~eAn^io68Jy@01u2@}V9~5tCp2)QvcLMg99W#`EXGICv|W ze@}HCj*Bmz5_EI36r(hZl>m5d;F$AGXmwP(cj`u7sfW!^xW7Vk%bS|^X!%wrO zi_D`Dyno(Ct~vaMD5SH3qj*V?+f8#EL*R^nzzkwt1m?$eyXcxhc_^e4vel-`-32~b)I~iw-vPRlU|2-*Vq!uJ4SDfMEFheu$LnKXxq<{e&ZWSpi{2rs z@kqXF3t5sa&b@DQyX0|gX@UWVw5|?C;j?5x&4m0Mk8#|_r>p0U%&R#So_!Y&YE?cm z^RU)E@tKOt=oe-FuBWlb>DDoscFisoB2nSfs}z)M{z>ZEfez@3L0B+}#j&D`ETlZ- zmEO1X-Nv>{S}n#^n^pI3#v@WmFR`%wTmqB=EuGxFBu*&%R8ngh%&}*2s9HS&_C9Gb zt(#@qqCwc11=1x&GtheuGyAhbB^O=Lb=x6-Hamx6k;I*nLIkq7oaS**dcUI_gb*EK z$cMo?Lxjus_uc@1I3Tt%yGbG%SZMaVhoge)kC`}&Hc2JV6i!1o*`;0h?%L~5?p-=C zG&FW0K1{iIDrw;2Puja{JVXT(KyK*6C{Imsfr{ZdFT(>i0^%O-ghMD!c+)rQ2&pQx z$45z=vm3MK39#cRT4h}wU6`jLzDGa}oa%EI1~PL#_sa@*hU+sYokS177H#|tNld-LxzuPSMyoPxjQ!?VK;OShGUzi{2ECVmm)O4!xHk^ z2x=kESkRKn1+?7$d97J!52q9qY8FJ$w7-Ky_!^R<4KTU2{m?2r%YG){ubK zV9`H=6K>(V0U=+^Wq#WS198sj)k0fjA?HLxk$~TkMo{8MDC;IbpAGDxrWmE-hXwp^ zA99{eIVAjX?rN;$sutpk4gkC-lpLv7b$K5wyt6z>hN~A0NO%>6FZCgk+fQ8!^5{_ro1aWSryEG0JM3{j1N8ogmfwQW$P`;eqX47;IJY; zfU!-Kvd!(Rt&3_t-wYrHNfNCxq3#U+xnwevnXbmY`bQmj-6yme`6$Two(0-uNZlJW=Hrv&#N_M*lh?Ielmhx2{fiEd?73zvjwGBYjcO zJ12Xq;J#S=szQw_!EbKduldeCjs&>KAQ_I&@?2s~GXe?y$Q5nvtm%r$qi3fw^2v1a zjKGJRJcRyQmjA&gdVUgI)Y(!n_#Tw2qX z7`5XO?=S?!EL$q41s@>D zPvWz$L;9eA!W_glM;sX-BWp{i1_2m(@L{Nzhsl@fCrwOIKs08Z5`!-{3u(ecrkjCl3hj~u(@OV8+c@4t zdny@cQew%8-NBv%AL-CLLKnl3=r~UwDwso~c@bYtXa^me7$Ntym*0!E!ij)FO*MT% z76_?YAX0>U2CJT8LN-mn-jExZn7D%4#ffB|M#$ak?jPUxfb^vzPoD^1r_OE|~H5RMn!iBt%4*VYGaMa|29MSxIg5nw4>4V!@`-m^m&`Y;oE@ z4V@?k+}FG->?h50w+HQM_P+xODeVOlNtKlhsR<9t`W~ih4Fiq$*{#uI=W$*OeKQwU z>TOg>7r$Ehph+}&M)wo$%n;4Xj+qHFFzPAwM&62?5?xF)j1_W0IW>_04Z7gtgl^~q zfpeG}&@UAcB@`JiG}VK=uc@;4dbs@`;}L~nvF>@zG#!BN5dj-wfUz>X96(Z5KHIC) z=H1#^Pryn5fm^KM?UhO-tD6WE2;$p^5{WZrVn8QFQgoIU6+~p}sxh%S`kBj#0;b=} z$|XUSxQqAiHEBeT#VP8oDLQ_!P`IQu2@6X%@xS&F61#KIGe6Knl9iqvrKMzF7@Bj< zX{x!VhEba_rtkDBYB{$(%bextdt}dw?+G}9#~*ryxBs~7ZDx7*q8%ZF)}%p3K`+wF zxO}XWC66qJLN&p3xQ!L7h{=wAd}Nn|WO%3_JU#@M_!BjngYxM9dus;!f@uWwpbN21 zLY^$`XvQxQEbC}m$oMdZwte&lahGgBk_cE!uIK2+<3{ccSW>-}E63^&I*NRO`sVnd z^fSM?39k`wqj5aT2lrLkqb*3 zf=Nt*fv`lL80T=o9Be4ST9rGLMwd(Pfy;7eGC8=#sx~L2c&=0+UG@e9s8R1k%5dIgOu(#Sw&r%0yZ0jyuO5x*JfIx_4AEhv; zHHz~-neQYXgqPt}=wzn1T!-Wg6gzw!UWBL1*t8gY$4d6sB&n=ft6%H_0ya`zU&S8`{a#hl{CcX7F4!X=DE$vj z`qVwuz8f4`U#M|;pJ1+7Yfp>`ptghNzFjNXrTF~qT!WWTw|d+C92dgBT%giy28{f^ zI8+*n^5ap5ZO{C;0CYJgOogT8xlfjE|EhPTGd7_BoY1XJJsQTm;_^K6I)+JIS^YAv z86ibyS#ejVvql_BP2bHf|teeZ(jZG3lX{XDh(UK1u|^m@g8gN)o~3H zXuK-U!8A=&a0#wOB@cOragq@ekEdY8^XnioBu*b+8(^Tf zou`KVoc2qv-epmbe=)F9hysgWl10#=d9U}O^jzV8J<-^5n^}5TQxfF8(w)dv0sMa} zSyc~bXF^mMm_(Je$2Ehpsh^tXf%MTx*U^K()5msDi?r*KggGYawe;2ixm;_NEQZ^C zA$lIP!pj+#eR=*<%zWyHv2+%D0xABx%UZ>yy?rTn2TKvX-T6X%I4JbfI`XP58-RMl z0Cy$0KLrli;m9D3N(8s0Mw1t~Tbe~P+~1N6in_ibeBb}(u)hqWkctZiKjz6Tn)t|ty?6q+FwnX!F99KOt!Ru5L#mkUwJyeIP*L0;>J;uP7Z7(z@fzvkXh z4UPndT77~15g+v(1RPAC3VAXeMI}6viB*^&_C{YzOR+{UPx^dXfjwlLXZ(;6o5XkP zIiiMC3)@Pp-rz}6Tl-*9O25f%4YWGf;=Mu*RksoHe8HKWV`mqtCf^aiSd9wT8i#pZ zSB~6h;)kuWs$UI6%&+=xGH%9a>a(5dsBe01XmYnFjo4QQXGUGMciyl zfP>(ZbZ5lNPQ{0$sv|^%-ko1#^-M08DGoV7S=6vrg3+k=J#Xabi-GOFO;a?SWsN3i zmR4bZ`@5Rz9dP>LUu1#Rg7C-bXZAdm*&nIg4`pbpglX0i1NoymxdF{>2Kp|c1(eHyI9|Xmb3HiEgyWw(R#UEh?Jl$!yQVl_{3l+=H6=)@kwQ;0%)wz{-g* z>KiN??7sRhwA_^qheXk;?v?60yje;YFHU+L?u04CtLj#vEgv8g+k_b##=EuUx3oq^ z1L7%h({IR9HX}~dv;Ia6siD&s^5^4TCG#WsXv#l0!4ATzGPju1;U`^%+|Bzjl%^Ic zz#>d+k~M{z`XnUjB6jI9;mcnS7g3M`Ar>B`g;ew`JxRYKkJbNktS*RLf+-*lQbu<^ zFJXxOtgb7)k=I+7yMQyNg=%E|lzedpJ7LcLrbskst11wp^_gHFY z60Iaa!q+>QwGJDb@24Zjn$QuwlUq!u25S#9&Dkj=^dae)HQ@R=;RZ)@#zAG_L1yNA z&VlN4avls7s9b_N{vee`wKBu;+dyJb_=)Wh<^^HU({UppO25*X(k+YNe5=!;uTbf+ z1xNfHcFB7Lm22mZRbtj#KUa&F=Jolb6XrDrb5`ourP%>hhEAosEB099ZHHm`0lOo% z51h1Jtgyb!8!*+_0*L@ufUg#Wb2Vm{kY$BGnBCrA?hCWRqe_7+lpO(dtUxuJS2ho@ zxfqqVTP*!D{J+R5Wy#WCmXt{u0YwEOF6wQN1?M2K9qoQ;E#SsjCkMA8E$eAMwFPM#Fo z`Hr~G^E#|lhc|3v0VhbT^5l8V_Vw~)2MgW*;B(LsE~H{2@urj`-~m*i-}}KyAPaIs zDEy-BWyHotS%+cVk5&2t#(*SX*-6RHDbYfZl2M)jT1k;Im)>ST1j5zV ze*Kz4R|uG<>KYfXg2wR|pNk%{=pT31M!^2#3cz%2|H5X^{>XLzpJer|28FY_>5-8}0zuN8$pLC;4f1SKzmFb!LDQD9GXpR4%&}zuf zWL9bp)qxi0jCkj$q3VNBbw3(cPoZDSRTOUt%Cd*zSEaq)f&Kdoy+1QHlBWsTxwZl_c;Al(MNiX0_st!cKAzGJAXXbZI8&-RS{GfLJryyR9x^ zp|-PEL|L5CHpGthFhC!O3W7j<`>dZn_vCU|+6PYWU-*VjPY?HZ(Ou<2|Ijoo01N{* zmcYXJk8+87!J)h?}q2dKVy7Yd3NN($l1RQ5t?X=~#?hX(F%Z0&psm1=zT zaogKkxm#be3l1_|$zOk}^o2`p47YXF(gUVzMVHBO00R_RzWQla2X)jK?Y=mP*M%#ru8-5;PX5rpE4p)yOmV@ z8Nwvb(;({{V64gjL4mW@Kma5i<#M>4;9j2>Bu^QVgK5b~5}f336Xj{&gUn3WeBWT%x{46?9a~h@}d4|Jt#^`%Q{!JX2=5cU{ZJ(O=yPS-q}YWF~Xv=uem!HI`E(|Q^Ksf zsFFJIsLT}-TdNE*A#|p^NXOVe`)F~K9{sHL}O`F!dQ;PQSJJl*tJ2qMB@YpeA&4CMARom zKY=aF+lB=|50o<7-}y}0+P_$DpW_oJ5KSnTOk z{L#xI{IG3c{f>Y;H2f$P8Zj}B#@9%Ox*aWELE{F#JVhkz0BT`nmpjrQ=MYj!J`!f* zqIx8=y{%{MdJv8RLNzp&^2qW((=I1?Q-LR#dR9L5uPQB!3=XxuHy&e?i~Mec{Lb9O z_)49skBYD{OdhF}tYmS1ciD_i-jB3WT2=6+`Wn=2gqn*Ws@2QeN?pK~vH6YmfeL_5 zqIYV3A)}H*{`R=$TPK*=?mL6wK;b2|sESpLE~q1$dkXhI%+H<6I-}4z|Id3i-*WSR z_M@z$#^+?owi&KL5UY^#^ElJlD$FrMu9ELoP0(CQVq9)+XOP)KabVk?EsjhcCvM_q?uaOonCi zlCR6@yQeNKH4u1+=<{=`S8p4;B4FA&wL5#C%k%;{D?_y>y{`kfMZf{R8@6o?bcpG6 zYU@d|2F(I3;o8oyub7cK0YRyd%$=QnqiF`4cqaN(C8E^UVRG_cb+s7Ysq}GJdQQX) z8~Ay@Rtd33lQ4IP4122O11^EHWfDX#<@`3ZL$@D7s`&$*1VhIBT)eq>XYGGWIZMfS zmz-l(kQHRl(yyzK}$b@A~LIfKCOLFkz#989RArU6zZt-Iyb&W=v#nNC0*bSo1 zgb{H{5-xwgYuXn4D`oFzE)%0Pw56^@^x}NL7xr3~e0(WZiMF<0>n$lmJH38TLY=K5&25hAa&d!kY5qc!fGYFs@ z$!)jV-t*$7dd)SUaLojRIx3xngye& z#!jIr36{9Si66OZ$dih~{D-RePoK6l$<1{J-~1rQ)Xw&L$MmyjmoG;P6EmC9$v-Y> zS}@N}m(O^=n7q(cwQI2H7SX-&pAP`>(D30@$EE3D=+wx#Y$M2i4KbtnXNMY_De1`0 z;BU}1Z@Zapu5UC2LZ=AA@@Q~5RdPD*432~`Wi_)!GfD-_sbnuV z(qmL@u=w{SU00rF8UEK?VV`<^qiFTp`l12mH4)>q=s?Cs<;+V}z*y9btbDMoEltON z-TZog1wHi2mNRp5hP^(AA3~!1!(UGA-8_YbhkTB3@|h3=2OTUc&E1+Wb@dcMed%R* zu;*UBZqe)`e^<3|o+Qr{KJ(sdQxG0=)^=C|*&l3Uq~$(f+!>2%PCpi|Mg!2z)^gZo zc8t3CSfgsmaARwAhb5z@ynrtsIA5toK~ZQ_Y}Oxjc)w1QTNL-_{3(Cx7AaO#$$WvH zI$!taD^6J&2Y(CN_y{(>gMOx+iEY#72d6wu@%T$2u#ZRiQ^iaNh*PC(LxSG6%vf$d)j_=L90yN91qWpMl>xZ`Z)zb()coR=1BYQLj3$!t zEpFf3*+*No6}U@|=(LSwAb2E)u=EY%CQwH2tJWFm@GKg5vViKK!=l?w)e(>#s-}q1 zyH}IPhVe)`to>$!PHmE3hij{qbOpqTm@jRBdlr~>D!RGD-f}CLyM|zbRRbp!A%kvz zt=bVf!Jt4!HsN{iJeE4WH6Bq;-Jyohrx&VC1Pi-)FN4KLZHL6lcO=b1%V(#e&^Pn3 zAVc$W!?XFBnWuG0Gsakq@kJ-NK6V~k4NexE_@ENFDy3N!pZ}de&7Dwjme&zC`ovo@iYmmNV?9YPP zQD-2AwSKr-?YH;6h^_XZ$A_^umYS3ejG`6K3_)NMEmqTVEifAj+B0^2#GOjNkP@b7 zZ67Vw0x+f+-Kme1w7;~+l*tsAHZ)IIe#+q#`k)j}Sd7Jh1Iz4lWSK$eayZ_tHkARq!f9M0=t$dqEYc#GTUgRIQjm*n=MRDd zWIZ_G1P?t9qYffpXUK%_OzEvtH(l zcn?>5PfjV)edd~l;6hTUQ6>o3G&Q`3$|8qM^x`|9Z<(6oQHDc(LSkAx%?*Inj>LD5 zfahYKHyUrihshCw*mD3RyXwd8BB7&QM>rtQ8vFh;W}*kPT>C%kA5Lq%L@xYVyvs-yEZ_fCC0X0K6s7Vr*jiO@973rRZw>oVOD+fw;iH%BA+|a9cOJ``|a)d{=X$RN#^#J7 zCGBa{FK77)Vbk51(gPaZ^TLNiGmMAbV;hit?uNunQ83z+STjVA!_VsGz2%|wD%&lj zZH4QpNFnvvjK;VXJlUb5J3jdw6s<7}ggKSg;NR_A38zz3r-^TKyW_ZI*x7;f6{^XzsOj_ z&FUTh_GBh%Tg2r9BmHQB)<~C-gn+@U=LtacI(;V9@RX&-cTvpp&)skI?G`bBQ= zW3jb$in&3wf~Sw$&`>aYhiLXugP{kw)e7c%rr{F<0Br%Ap(clw?7cTUyM zETl z4s7^<&~uduPTY09Bsj$ur5hqo@i99iixWZ;6h+Ac%iooGxvJ>3Z*LNdnxbKM9+K*| zV36*hG`1XqKo{la+=~vRtzsYNxv8_%rAdDbCl zY0y-?@NPgoDg1p8V8BIo6* z9^|0l(#ENnhUAihRuq9~HX?6RXncvd%x@qCRnfNIu#gOtwO&@@q12k*+kK}F2G{LX z6S!TvQ|;DG~^xsnf2^I~6W^+&dl%B$z7)xrZi^MC{VMT*|P_|HPI;D;5D4s;-e zX1RW+YAZ!tzCbBVsIuJmF}9%MKI0H}EFQAY1$1w{1S{Hs*l63i3}hTL-oJNb+b1fr zXJNXbYz{FPLJ1vpL~%jF=1av1j|D;@(zDIKqA&EHn*9Mg9iYAUyH5TwK9{bLVMp+% z;%!Pijqch@F#GRPI&94J1yYmmwG18FYGkA`+11ih;SKm8426fU-Konsxg}NOGI3j| z)}$_4&v1v4g1;EanC&5^8-Et^}g zsW*a&QDt2uFd)rdUZCTPIc9=_!&$v|{NEBFM#2#oTwrm&e?Hujx6-wR9n8etwxepH z3!YD?UDcb_w3LtRF&_1munhF0{Qs_!C?NU){|ENIOJdXWCq`7PRJrHW5`!*mkKDOuCBe|p!> ztGF0jEfwSZ(whW=KU|!| zgi6!WmJE;+jZU5h`F z_m8`kEYDn^$@)U9(+#TgOIUQXsgJcy?&*Tsb=^HGbBI3Sbo@jD=UX8R- z<&}mg>iLyKE!*4GsX}sdrpNL#8=Of>l-S0<(f(aBR)ZgynfLSAduLTbE5L_qxha&1 z2Y7S*B5r-6p+Tny1WhOX*7DH9@mxCNTEE_PG&48x+Q7y6aOmNh)av1bYeqx@efwNH zwwZ`N+#B_fAp@DuTLb2IWm1$8z(Fx{Yw2dSVj4w@Sa;B;M>+$xs%`9a(`eN-Dp0`E z8z9H*SUe=RA4+k>PNWGEJ}#Z1s4u&uNx!`7Ziw}S-{TQo+|r!X+`c;A+3vSIo*w~y zc^?0abg#FqKYJjDEyDq5&tSiv%?uByigs_RRKYKScbuq_JNt5nvK%K(uTf}&u2q?@ z%HGS%AY7rZ=LQC z)1HQgmR6bP*};8?gM&N9ONhg5pa^yL5hwxyT`rXW+7A}PUQ6 z)#?Ps*}B0T($OQ|u^QjFZF6;d6}8&(rU;p+X9j?S$BXnLPIe*Bw;6mO z6r(e68XI^OHq#H_T$3r+;?QNn;YW2Ki7H68bQ?WU#>O&m9*#;)dI_jt#R>&yorId6 znEV(esgt%^FF_-#aQ9>OG|}=g!rkV|>+eIeImn}{pl`OO%r4)h(O8JTOL8P2TH{D6 z7q@GaKiTxf1KJXpjZKVwoS(%*%9Qluyo(?$5aJIovC)&AAkZ_2&Bi?$}9Q19;n7e(=thX6vNN+EGpvSaRaW^oLQ8#(JIy@<4wXec*6r~P_ z9_d9WswS|SVydi5P=m<=b*-t6&CzVO`JBYbNql$;CFbVv#Y8cmGJ$Sqk!XK!W!T&n zfk9*nK&Ip8UW&-+J)JqIsy4l;K|YarK(WD1a#0Z*l9wRMZm7DYAr33b08v`7x58)4 zLR4qh^~6`*IvoqPR*UeCRmwkT_Ac3I%7cI;ftqrUquzMD-bw7p7((o#1RRyMKuMGA zRbnyOiM_e>4Y7+nY3afac0d|>nYe@NlN;pmcJ`}bsJV*ax9HU} zK#mM%7$#*FIeQJoK1MBX7A3N9u44gj#ERc^pXo*}4G&;(X1p1+)bW9^A$`)PLj+Uo zRelAV91!^}ma9I#`fVNS(xSKsVG@*k3m>KWNf?L8DuR<}vE;SOD7<6gq9hn{Mupnt zi=}URQHD<$7(D3Xt&(Ug?M+KqND_&^?Y8#Ml1gZCP;!CjHt@gx5LE;u@NOXeQx7qK zHpFq%evR&QAJ#k}jbF~QX<+I>W&E-dH_}=XS~iZ1!jFZpM7v4%I%Pha7VrA`+k~m| zHxiSOfM55izzcDLgyLH!L~z9<^cZ=7QS$F8ARX_jaJ~e=m+edA8S0<|WgPJsf@u)v zc>=OhDDWoY?%TU3Hv?E4_l4o>mUR=ei>mqTqX{}S4v10}H)*F88B_jn&=7~(q>$N_ z3@@DVFZTE0L7b3KH@#5et)mSpMZqUa9tmP;jj7!!OQMUlN6f3#n96lo-36e}4afcD zKSfCC)6^I%jRT@Wwh6)|D0)z<@Q9ryh|6_rZez>7vWq;O>AJ&e?^b0*)Yyv3@=}+ z^MhzX6TG;kWOPfly*7i{FDAAlO#uHkrcumaG^1418Lo|7Dt}qa5&L%skGKswGF$?X zZ|;phJ~QP>i<4Y)?1}J{M>A$uu2A)x8=CfXB4A)R*6~wiQxAMjQL>WM)QdZIl82tB zhX_N^7~WHI_sYLBvyo^eB@?bKSVM=-^y&yjWK`)qBW3?^L83u?vC^&M+(%&wCUHOb z?u0>o!m-I1Wmay%2L@TQX)zwdA<#h2$?yFA5CwL8GhG`#PyUgErk9n*{Ve}DV>@vWQ9E&M-zTYfMz_29*O;Xi8o=PyZ7LPPk2 z^>y*DuU|cUaR2esO*zFSI0esL2-r^OFAcPpw-?Ua8(o414DpP>$RIZ-X9riXkA18F z=3}tROK}5C@CfYd3#4H6kMofP8o_Ak(;(VTp+%=pyMtQLi^?|8qEV9O-qk_6=9BHW6!Vi&q~wEqK9}63xvv z`|`a6iD4lP)iSS(J9(2Rw?tN_J?)xKcKHW%tar)NS`qL9{L!JAl0CDogCjMXm5`#( zIb}G@okd+_NeuxKPK%%D-I7DJC1V3)XC~4jcFgMWk6ri7SZ`ZP(Lgm{6!cB)8_)O$CSWUrm>Y z0%BEA8}DBdH6yRd=>^W>uz1U)H8EWwv9hg#iCYXEq4H~~0e}$#Rg3^rr$*jn1Ot*p zP$ZF0@6u&8?5XT;R z#-_&g-hTDD4C9K#dg;=~4_(pQJ2orJ%v3_yRnGj+o8=u<>^0p}y!bqgyRkSCx45JB zfY*S)UZM;Hv71iTGtrx>ZFHp}&PE??RBMFUBy5BIe{1zousEuRIh~F$qs9tu1Z>JeCR&w%hFl>EJbML z80vUp9Jf;+l=H=dfy=nEOkd<{M`|F7UeyOVv%}d`)jRs}>#s8J3sEvoVVVFP*)&ez z1B~Jr-p6NVGeR{(XWUv~Ic7EsZqqcPUu?C@JtS$+lQAH&UJ=HhN!!xM;ZMVIQW8^O z{qLH|vs9!5zny$d_G5{mQPpJ&dNw zHrsaOqon8P&-C~;@qsCeL`xN{%cp3uV&x9x$JqPBv*mLVE+&I;>0oS}P^({l{|2cX zK*&d}T%)`tVo3H^C4{9Y-ccXHlc35`<#|LN$ORX!9h0XMc4`?M=pfAuxQjEfH6_;+?t7 zvPZ|;0MV%tUN4;zuMf*f*CxL?N4*DQB>_5>I+ZnUS*#1dG8L;W%eb+PqWkUdbx=@V z6g_JEQnKG=$Z!u5bNRt+coQcDx?~ZZt3FuiaLQ8NBkP(cx{`RYoA4h|y5K1etPF2% zCjn4{<{`y=>u@bkovU@>n3na_wDjWH^sw_x*U((!4U#v!+qKBGHQIKQiyz;eXU`w) z2Y1VVGH)-&$}9V^Z-YlP6x=c6alOZR-U$(DJA)1}5*s7>7;*~O!BkS%3W!e@Rmvpn zgyov*drF=Wu;Mad3M_60BPTIx4G-RSd9#!9|4)^NlZ>?#2hFu52fT)NxO`*t$HWJ5 z58nRZV@XmCEj(&6K22D&7ghLnM(`M{Q^ zV2J{nfofB^>u+3(#HL~1{P>zld7$8qRAlIbQnQHAjudwHm5TYZ%j{O+nQY&30tWm2|WU; zY18jjJBKshzx(67gKwQSjs2zE7s3djP@+;I2YK#9XvxOtny*HIi7UR2KZ={qOVxQr zONB&43O8oUbHh@kKeK>8lU5#hWxP7xr0-B`X)nX7& z9u?qMK1wYJt&^>`o-9~uINm=s>2+^2{2T+%~`#DZRBVtCgcULoM6`Ki~98SMG9)*^U!I%xx34ZMJl@{+`8|ouz(p zq1pZPY2>e&Xl_nKKMj`SuL{i!wKr{X)z-L>TrE^#ejFk-m3Y~Qu#UBk!f-P{EiCjL zHl`8VNW3P&h!9gk1@jwSq~YaOP82W4DlD=cvRVnXSWxQiw*Z|;P02svEjscQ=n%(~32&;kLFps`OME`ZxIIxKob$l-i$ky5s zY#0OXt7T|{_5`j(KK*<_mXmN>fOjsuPJ9()tu(kk+%6+s>n7Ak(X+y44|vLJN7pPG z_~gW7q`Ys{0`gPG__CK)Yh@b>g_YEjk=h?1&ks$=K%y~Aj z0~9$lzq3NSi?s(%V`gWkSzSN+t_qzqn5DUeTvfUZvIU8wc`@SQK+Nw7I=pp(z+rdI z*~*IoQn0t#Z|4hp0+JpQvJs>&@)~cMr0kuf_Q5zE&TR-ICvZyU#Gc1O{lcnE zekgyN{-T-cbh@U}kyiviBc|`Ba+S=+vhdcQZ>99G`JD7lU{n(ivzh{BBPrWL=# z-o@))t1#yXdnVsZeQ_3wnaS=0BXyt(8T2+L9Lv$cT>y>`r@%6CqlILQ8KV?jyo_On z9q#0t6!A7rA+LrrB`%V37?#t6x`+YPADEp=(Jzd!acPIv_TEb`nJ(py zk()dMxjS_>y4U#iEssbPme&$9dL^8x)P~nmPq*Ml@Xyd@iU9v9ukg78@cz#MoD+6~*&-0y`TSdP&h zw=EbBXXj&MFG@fYPTA8G+(?=NI1R%gRQ`Efw6hlhqE~~hxTZmUjFo=(4xDtdhJ{Fb ze(>Pl+~eN}!3XU6Vh!AFilXX(FU(UFZd2Fl9iD!qaLVz3B;Oe~HBZ!`wd_mOm^+(W zW9saK*Wt$0JFIrdA8$nW4x()6qJ5D4F@6dRcPu%S-u15r^2dv%jD!`Hr^>#2x+UR6 zT$Y3sQB*Ff9-;Wvda2e42qq@snGWOCI! zX^j;JBXTmMG)?B;?e}Bpx}(t*daS$Eso>jdm*N|ZjD?!!;$2P5F*Nqfy!8N+5C?S+ zG9`FAnSwj3RVjhi$fe~|EJ$8!4Wrvx(Q%8-suYeyyrV>J8@MU%4>!1|QOFm)jeq{G_n% zY#VRmG1TEy{w=?qKTRAT!hw^xVIlO6Yqg~oAh|kWJgk5dv=ERz6rebC>ThincEvpaeIi%zyn;vNcZbd!$7ast=dSX`>|LzwG@F5F|^7k7~U%H_}|0<|Zw zcWUoo4w%OpnO(RxfwQh)H|(Ypl#XdG##!r3D`-Y>E}X%X>J?3&O+*@U+V&50xW&CW zw5H629{O@%(67(k>YG@8Q`NL@?<|e5$TO*keLE^C;EoYE30Zg=26C^!SK%1c(Y~%q zsr=lQ%{V|B%fO=3J0%Ho?7k*FdH<)ME8R9B3q-gciAZh-h(iq(sWpWpwB6z(G~X&@ z=+~+ohz+venB>vb4))|eC6Y^$ zWWFnPw(k*H;#sa%e6su#m+MNAyNr|EBK+-ZPXmLgYyR_f)m~1J23+d?sB&=3E-RFL zIxoTxA%DV1Z%8|-sp{6cJ}t_W$Kp80*FbceogcywGJRUs8bWUw8Ht7GU=z8J+o@1Z zy$o*|051G6zmq1Q+W=#kY>h=@(B9@T0QOI;;8`f7Og*^ebfc`gFwT05RVHaUL4!zB zmjSi6c%1jg$rFtO5F|Ghev~_3`f7J?V)@z~?iK0A)E#*VQ(O2u7VMH#B&D+{UEuUJ zP2O{}9EM1GU4p++41^eUzytH*Rq4mAedLO86`=>i6b}1M$~-@g51Y;Of}doH0TSjH zm3oykg~RYu%@1%ECF3}`s?~2q$uoAQPYaLxaZ$Y;8)KHHy6z4Bq^UiBERsHO%EoMi zrgv$Vec};+5ZX~X5)=(QNvA~la8hX2B`%+sjrnpx;z~Lr-6zet5XK~rma>hq?CMUP z)^vt&bjiy1Lq_ou?3@}-40~4?PlxR#Y8XVsDrnO4kjP>CwYD>esb&+ga0ZaNgNA16 zq*hA7E){95Cc*Y%(oqV|WxowiQ9F65%dfP%j7^h)=JyGcCZ9Lt+(^83w6?&`yiOF$ z*odvnig|T%uvoDf^)9H;kmjQi?lv14E1_4UxxM*Oyx-NHk~bU(p)6aKyYmU|1G*UB ztZb{IWutTGyWb9oYa%dt6%e|Uz6QGQqZaV)eMl}~T9_ug(RLwR39>Zxi0n;m0Bl);d;HOh~Ax*xXLsN8w!)PvWPW zqwbPy?Jumw1@~9fXrQZ5gSC@QRx1gJiDZ7FtHG<9aUS2dNgs+JWCoAc7qh&=s8$If z+fa@S&Wtfu{c_Q98<$a_4WtQpuN7d*6Kzz8fEXW!JBW}e6ZOOFr5A0!Xd6e2`Duzp zpyuXdAp(!pIgET44-Kxc3jm(-z&bf{lPc#{aXM40LK6PTp9oXPQG^De>|D^ zx965`ZnXda3~&Je00cne{x1)HzIEl#g>NNk0=q!Zp{FXT(gBVP65B4f_XQQkDZfCf z+7t?yHTR}x$StdnbE*`=B#^|v4iulfEJ61rafC)@Xv=5}R|FHt^)&L?S8y(0r0}OW zt8X$0c$C{+@-SWyXJQ;Jk&?b|b4_;H*mTJ7MJs}X(w}6iHA80gqsF1#ibTuE?D@k6?5Tyc7$1Bl|i`Ivxn_=VbCEyu~)olA|0(a~grt?eOrO zQA7p71xI_bI9m`S$_dmA+0u~l{N08c!LZ8emz-BNFIkPs@ z(d+)F00>SJxHgzU?rh+-nEd8Ev`&~MyE1U@=4My25eGWQjybOc+NJBCk&9AQmgYzL^Zev#P;z+&5r|_=Mq>}h|Jz8U$EX`H~4lN)# zuOIf~FK-gO8^--{F4~p%Q!M&xu;}ej`MqV>giNq9 zzumyY1kH=}g*mRvPFz?5PUmR$6FVavovHHCN}B@Jz#QAKQ|NrMVTO9@l`7{?UO@jh zFNuY8aN)E7S{=;v!&Q`{eRdU+a)3ju1_vB_I|t&x+RlXpc&$AO1n{?mkPfar8bnxg z^H@*RhbDlKYSNGkVDwYkc@!Y6-Hm*-zr6~@G|E(`4Trdz;~liu!h{}g_oI-mwAUg3 z&*|;M#2 R0x73@ZZCdSiF_LX008Is@NNJA literal 0 HcmV?d00001 diff --git a/resources/assets/js/components/PortfolioPost.vue b/resources/assets/js/components/PortfolioPost.vue new file mode 100644 index 000000000..595485e41 --- /dev/null +++ b/resources/assets/js/components/PortfolioPost.vue @@ -0,0 +1,122 @@ + + + diff --git a/resources/assets/js/components/PortfolioProfile.vue b/resources/assets/js/components/PortfolioProfile.vue new file mode 100644 index 000000000..ecd38ffe2 --- /dev/null +++ b/resources/assets/js/components/PortfolioProfile.vue @@ -0,0 +1,223 @@ + + + diff --git a/resources/assets/js/components/PortfolioSettings.vue b/resources/assets/js/components/PortfolioSettings.vue new file mode 100644 index 000000000..a9ede8bdc --- /dev/null +++ b/resources/assets/js/components/PortfolioSettings.vue @@ -0,0 +1,459 @@ + + + diff --git a/resources/assets/js/portfolio.js b/resources/assets/js/portfolio.js new file mode 100644 index 000000000..3d9980ae3 --- /dev/null +++ b/resources/assets/js/portfolio.js @@ -0,0 +1,19 @@ +import Vue from 'vue'; +window.Vue = Vue; +import BootstrapVue from 'bootstrap-vue' +Vue.use(BootstrapVue); + +Vue.component( + 'portfolio-post', + require('./components/PortfolioPost.vue').default +); + +Vue.component( + 'portfolio-profile', + require('./components/PortfolioProfile.vue').default +); + +Vue.component( + 'portfolio-settings', + require('./components/PortfolioSettings.vue').default +); diff --git a/resources/assets/sass/lib/inter.scss b/resources/assets/sass/lib/inter.scss new file mode 100644 index 000000000..f360b88ef --- /dev/null +++ b/resources/assets/sass/lib/inter.scss @@ -0,0 +1,54 @@ +/* latin-ext */ +@font-face { + font-family: 'Inter'; + font-style: normal; + font-weight: 100; + font-display: swap; + src: url(/fonts/UcC73FwrK3iLTeHuS_fvQtMwCp50KnMa25L7W0Q5n-wU.woff2) format('woff2'); + unicode-range: U+0100-024F, U+0259, U+1E00-1EFF, U+2020, U+20A0-20AB, U+20AD-20CF, U+2113, U+2C60-2C7F, U+A720-A7FF; +} +/* latin */ +@font-face { + font-family: 'Inter'; + font-style: normal; + font-weight: 100; + font-display: swap; + src: url(/fonts/UcC73FwrK3iLTeHuS_fvQtMwCp50KnMa1ZL7W0Q5nw.woff2) format('woff2'); + unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; +} +/* latin-ext */ +@font-face { + font-family: 'Inter'; + font-style: normal; + font-weight: 400; + font-display: swap; + src: url(/fonts/UcC73FwrK3iLTeHuS_fvQtMwCp50KnMa25L7W0Q5n-wU.woff2) format('woff2'); + unicode-range: U+0100-024F, U+0259, U+1E00-1EFF, U+2020, U+20A0-20AB, U+20AD-20CF, U+2113, U+2C60-2C7F, U+A720-A7FF; +} +/* latin */ +@font-face { + font-family: 'Inter'; + font-style: normal; + font-weight: 400; + font-display: swap; + src: url(/fonts/UcC73FwrK3iLTeHuS_fvQtMwCp50KnMa1ZL7W0Q5nw.woff2) format('woff2'); + unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; +} +/* latin-ext */ +@font-face { + font-family: 'Inter'; + font-style: normal; + font-weight: 700; + font-display: swap; + src: url(/fonts/UcC73FwrK3iLTeHuS_fvQtMwCp50KnMa25L7W0Q5n-wU.woff2) format('woff2'); + unicode-range: U+0100-024F, U+0259, U+1E00-1EFF, U+2020, U+20A0-20AB, U+20AD-20CF, U+2113, U+2C60-2C7F, U+A720-A7FF; +} +/* latin */ +@font-face { + font-family: 'Inter'; + font-style: normal; + font-weight: 700; + font-display: swap; + src: url(/fonts/UcC73FwrK3iLTeHuS_fvQtMwCp50KnMa1ZL7W0Q5nw.woff2) format('woff2'); + unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; +} diff --git a/resources/assets/sass/portfolio.scss b/resources/assets/sass/portfolio.scss new file mode 100644 index 000000000..073fe96e8 --- /dev/null +++ b/resources/assets/sass/portfolio.scss @@ -0,0 +1,173 @@ +@import "lib/inter"; + +body { + background: #000000; + font-family: 'Inter', sans-serif; + font-weight: 400 !important; + color: #d4d4d8; +} + +.text-primary { + color: #3B82F6 !important; +} + +.lead, +.font-weight-light { + font-weight: 400 !important; +} + +a { + color: #3B82F6; + text-decoration: none; +} + +.text-gradient-primary { + background: linear-gradient(to right, #6366f1, #8B5CF6, #D946EF); + -webkit-background-clip: text; + -webkit-text-fill-color: rgba(0,0,0,0); +} + +.logo-mark { + border-radius: 1rem; + font-family: -apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,Helvetica,Arial,sans-serif!important; + font-weight: 700 !important; + letter-spacing: -1.5px; + border: 6px solid #212529; + + font-size: 2.5rem; + line-height: 1.2; + + user-select: none; + color: #fff !important; + text-decoration: none !important; + background: #212529; + + @media (min-width: 768px) { + font-size: 4.5rem; + } + + &-sm { + font-size: 16px !important; + border-width: 3px; + border-radius: 10px; + letter-spacing: -1px; + background: #212529; + } +} + +.display-4.font-weight-bold { + letter-spacing: -0.3px; + text-transform: uppercase; + + @media (min-width: 768px) { + letter-spacing: -3px; + } + + a { + color: #d1d5db; + text-decoration: underline; + } +} + +.display-4 { + font-size: 1.5rem; + + @media (min-width: 768px) { + font-size: 3.5rem; + } +} + +.btn-primary { + background-color: #3B82F6; +} + +.card-columns { + -moz-column-count: 3; + column-count: 3; + -moz-column-gap: 0px; + column-gap: 0px; + orphans: 1; + widows: 1; +} + +.portfolio-settings { + .nav-pills { + .nav-item { + &.disabled { + span { + pointer-events: none; + color: #3f3f46; + } + } + } + + .nav-link { + font-size: 15px; + color: #9ca3af; + font-weight: 400; + + &.active { + color: #fff; + background-image: linear-gradient(to right, #4f46e5 0%, #2F80ED 51%, #4f46e5 100%); + background-size: 200% auto; + font-weight: 100; + transition: 0.5s; + + &:hover { + background-position: right center; + } + } + } + } + + .card { + &-header { + background-color: #000; + border: 1px solid var(--dark); + font-size: 14px; + font-weight: 400; + text-transform: uppercase; + color: var(--muted); + } + + .list-group-item { + background: transparent; + } + } + + .custom-select { + border-radius: 10px; + font-weight: 700; + padding-left: 20px; + color: #fff; + background: #000 url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='4' height='5' viewBox='0 0 4 5'%3e%3cpath fill='%23343a40' d='M2 0L0 2h4zm0 5L0 3h4z'/%3e%3c/svg%3e") right 0.75rem center/8px 10px no-repeat; + border-color: var(--dark); + } + + .selected-badge { + width: 26px; + height: 26px; + display: flex; + border-radius: 26px; + background-color: #0284c7; + justify-content: center; + align-items: center; + font-size: 14px; + font-weight: 700; + color: #fff; + border: 2px solid #fff; + } +} + +.slide-fade-enter-active { + transition: all .3s ease; +} + +.slide-fade-leave-active { + transition: all .3s cubic-bezier(1.0, 1.0); +} + +.slide-fade-enter, .slide-fade-leave-to { + transform: translateX(10px); + opacity: 0; +} diff --git a/resources/views/layouts/partial/nav.blade.php b/resources/views/layouts/partial/nav.blade.php index 7cff72c7e..1d89902bf 100644 --- a/resources/views/layouts/partial/nav.blade.php +++ b/resources/views/layouts/partial/nav.blade.php @@ -1,6 +1,6 @@