From 55c094a08c692a25d58175bc506036bd59cc3f5f Mon Sep 17 00:00:00 2001 From: Jake Jackson Date: Thu, 24 Sep 2026 14:48:56 +1000 Subject: [PATCH] Wrap column text around a floated image A floated image inside was always set inline. It now floats as it does in normal flow, wrapping the lines of its own column only: - Pending floats are drawn when their column is left (AcceptPageBreak, NewColumn, SetColumns), which also clears the float margins so they do not narrow lines in the next column. - Each float is filed in the column buffer ahead of the lines beside it and under the column it was placed in, so balancing moves it with them. - Balancing ignores break points inside a float's vertical extent, and a column's bottom reaches down to the float's. - An image too tall or too wide for an empty column is still set inline. Co-Authored-By: Claude Opus 5.5 (1M context) --- src/Mpdf.php | 113 +++++++++ src/Tag/Img.php | 2 +- tests/Mpdf/FloatImageInColumnsTest.php | 236 ++++++++++++++++++ .../FloatImagesInColumnsSnapshotTest.php | 51 ++++ .../snapshots/float-images-in-columns.pdf | Bin 0 -> 83940 bytes 5 files changed, 401 insertions(+), 1 deletion(-) create mode 100644 tests/Mpdf/FloatImageInColumnsTest.php create mode 100644 tests/Snapshots/FloatImagesInColumnsSnapshotTest.php create mode 100644 tests/data/snapshots/float-images-in-columns.pdf diff --git a/src/Mpdf.php b/src/Mpdf.php index 280ca36db..73bf3177a 100644 --- a/src/Mpdf.php +++ b/src/Mpdf.php @@ -424,6 +424,14 @@ class Mpdf implements \Psr\Log\LoggerAwareInterface var $floatbuffer; var $floatmargins; + /** + * The top and bottom of each floated image drawn in a column since the columns were last laid out, by column, + * so balancing does not split a column beside one + * + * @var array[] + */ + var $columnFloats; + var $bullet; var $bulletarray; @@ -1305,6 +1313,7 @@ public function __construct(array $config = [], $container = null) $this->PageAnnots = []; $this->PageNumSubstitutions = []; $this->breakpoints = []; // used in columnbuffer + $this->columnFloats = []; $this->tableLevel = 0; $this->tbctr = []; // counter for nested tables at each level $this->page_box = new PageBox(); @@ -17386,6 +17395,15 @@ function printbuffer($arrayaux, $blockstate = 0, $is_table = false, $table_draft /* -- END CSS-IMAGE-FLOAT -- */ list($skipln) = $this->inlineObject($objattr['type'], '', $this->y, $objattr, $this->lMargin, ($this->flowingBlockAttr['contentWidth'] / Mpdf::SCALE), $maxWidth, $this->flowingBlockAttr['height'], false, $is_table); + /* -- COLUMNS -- */ + // A floated image too tall or wide for an empty column is set in its line as before + if ($this->ColActive && isset($objattr['float'])) { + $columnHeight = $this->PageBreakTrigger - ($this->CurrCol < $this->NbCol - 1 ? $this->y0 : $this->tMargin); + if (abs($objattr['height']) > $columnHeight || $objattr['width'] > $this->blk[$this->blklvl]['inner_width']) { + unset($objattr['float']); + } + } + /* -- END COLUMNS -- */ // 1 -> New line needed because of width // -1 -> Will fit width on line but NEW PAGE REQUIRED because of height // -2 -> Will not fit on line therefore needs new line but thus NEW PAGE REQUIRED @@ -17504,6 +17522,12 @@ function printbuffer($arrayaux, $blockstate = 0, $is_table = false, $table_draft $objattr['OUTER-HEIGHT'] = $h; $objattr['OUTER-X'] = $fx; $objattr['OUTER-Y'] = $fy; + /* -- COLUMNS -- */ + if ($this->ColActive) { + $objattr['column'] = $this->CurrCol; + $objattr['columnbuffer_from'] = count($this->columnbuffer); + } + /* -- END COLUMNS -- */ if ($objattr['float'] == 'R') { // If R float already exists at this level $this->floatmargins['R']['skipline'] = false; @@ -25280,6 +25304,8 @@ function AcceptPageBreak() } // *TABLES* /* -- COLUMNS -- */ if ($this->ColActive == 1) { + // A floated image stays in the column it was placed in + $this->printfloatbuffer(); // *CSS-IMAGE-FLOAT* if ($this->CurrCol < $this->NbCol - 1) { // Go to the next column $this->CurrCol++; @@ -25326,6 +25352,10 @@ function AcceptPageBreak() function SetColumns($NbCol, $vAlign = '', $gap = 5) { // NbCol = number of columns + // A floated image is drawn in its column before the columns are laid out + if ($this->ColActive) { + $this->printfloatbuffer(); // *CSS-IMAGE-FLOAT* + } // Anything less than 2 turns columns off if ($NbCol < 2) { // SET COLUMNS OFF if ($this->ColActive) { @@ -25348,6 +25378,7 @@ function SetColumns($NbCol, $vAlign = '', $gap = 5) $this->col_BMoutlines = []; $this->col_toc = []; $this->breakpoints = []; + $this->columnFloats = []; } else { // SET COLUMNS ON if ($this->ColActive) { $this->ColActive = 0; @@ -25372,6 +25403,7 @@ function SetColumns($NbCol, $vAlign = '', $gap = 5) $this->col_BMoutlines = []; $this->col_toc = []; $this->breakpoints = []; + $this->columnFloats = []; if ((strtoupper($vAlign) == 'J') || (strtoupper($vAlign) == 'JUSTIFY')) { $vAlign = 'J'; } else { @@ -25428,6 +25460,8 @@ function AddColumn() function NewColumn() { if ($this->ColActive == 1) { + // A floated image stays in the column it was placed in + $this->printfloatbuffer(); // *CSS-IMAGE-FLOAT* if ($this->CurrCol < $this->NbCol - 1) { // Go to the next column $this->CurrCol++; @@ -25504,6 +25538,9 @@ function printcolumnbuffer() $breaks = []; foreach ($this->breakpoints as $c => $bpa) { foreach ($bpa as $rely) { + if ($this->besideColumnFloat($c, $rely)) { + continue; + } $breaks[] = $rely + $this->ColDetails[$c]['add_y'] - $this->y0; } } @@ -25925,6 +25962,7 @@ function printcolumnbuffer() $this->col_BMoutlines = []; $this->col_toc = []; $this->breakpoints = []; + $this->columnFloats = []; } // mPDF 5.7+ @@ -26362,6 +26400,15 @@ function printkwtbuffer() function printfloatbuffer() { if (count($this->floatbuffer)) { + /* -- COLUMNS -- */ + if ($this->ColActive) { + $this->printColumnFloats(); + $this->floatbuffer = []; + $this->floatmargins = []; + + return; + } + /* -- END COLUMNS -- */ $this->objectbuffer = $this->floatbuffer; $this->printobjectbuffer(false); $this->objectbuffer = []; @@ -26370,6 +26417,72 @@ function printfloatbuffer() } } + /* -- COLUMNS -- */ + /** + * Draw the floated images into the column buffer, each where balancing the columns will keep it with the lines + * beside it + * + * A float is drawn after the lines that wrap around it, but balancing assigns columns in buffer order, so it is + * filed before the first line level with or below its top. The object buffer and current column are put back. + */ + private function printColumnFloats() + { + $column = $this->CurrCol; + $objects = $this->objectbuffer; + + foreach ($this->floatbuffer as $float) { + $this->CurrCol = isset($float['column']) ? $float['column'] : $column; + $top = $float['OUTER-Y']; + $bottom = $top + $float['OUTER-HEIGHT']; + $columnBottom = isset($this->ColDetails[$this->CurrCol]['bottom_margin']) ? $this->ColDetails[$this->CurrCol]['bottom_margin'] : 0; + $drawnFrom = count($this->columnbuffer); + + $this->objectbuffer = [$float]; + $this->printobjectbuffer(false); + + $this->ColDetails[$this->CurrCol]['bottom_margin'] = max($columnBottom, $bottom); + $this->columnFloats[$this->CurrCol][] = [$top, $bottom]; + + // columnbuffer_from may sit before an earlier float's splice: the scan still finds the first level line + $drawn = array_splice($this->columnbuffer, $drawnFrom); + $at = count($this->columnbuffer); + for ($i = isset($float['columnbuffer_from']) ? $float['columnbuffer_from'] : $drawnFrom; $i < $drawnFrom; $i++) { + if ($this->columnbuffer[$i]['col'] == $this->CurrCol && $this->columnbuffer[$i]['y'] >= $top - 0.001) { + $at = $i; + break; + } + } + array_splice($this->columnbuffer, $at, 0, $drawn); + } + + $this->CurrCol = $column; + $this->objectbuffer = $objects; + } + + /** + * Whether a column break at this height would split the column beside a floated image + * + * @param int $column + * @param float $y + * + * @return bool + */ + private function besideColumnFloat($column, $y) + { + if (empty($this->columnFloats[$column])) { + return false; + } + + foreach ($this->columnFloats[$column] as $extent) { + if ($y > $extent[0] + 0.001 && $y < $extent[1] - 0.001) { + return true; + } + } + + return false; + } + /* -- END COLUMNS -- */ + function Circle($x, $y, $r, $style = 'S') { $this->Ellipse($x, $y, $r, $r, $style); diff --git a/src/Tag/Img.php b/src/Tag/Img.php index b2a02d89d..157bb1dd2 100644 --- a/src/Tag/Img.php +++ b/src/Tag/Img.php @@ -417,7 +417,7 @@ public function open($attr, &$ahtml, &$ihtml) } /* -- END BORDER-RADIUS -- */ /* -- CSS-IMAGE-FLOAT -- */ - if (!$this->mpdf->ColActive && !$this->mpdf->tableLevel && !$this->mpdf->listlvl && !$this->mpdf->kwt) { + if (!$this->mpdf->tableLevel && !$this->mpdf->listlvl && !$this->mpdf->kwt) { if (isset($properties['FLOAT']) && (strtoupper($properties['FLOAT']) === 'RIGHT' || strtoupper($properties['FLOAT']) === 'LEFT')) { $objattr['float'] = strtoupper(substr($properties['FLOAT'], 0, 1)); } diff --git a/tests/Mpdf/FloatImageInColumnsTest.php b/tests/Mpdf/FloatImageInColumnsTest.php new file mode 100644 index 000000000..ac47eaef0 --- /dev/null +++ b/tests/Mpdf/FloatImageInColumnsTest.php @@ -0,0 +1,236 @@ +ruler = $this->mpdf(); + $this->ruler->SetFont('ctimes', '', 11); + } + + /** + * Wherever balancing splits the columns, the lines level with the image in its column are set clear of it, and + * every other line, including those in the other column level with the image, has the column's full width + * + * @dataProvider layoutProvider + * + * @param string $side The side the image floats to, L or R + * @param string $dir The document's direction + * @param int $lead The words ahead of the image's paragraph + * @param string $columns The markup that starts the columns + * @param string $between Markup between the lead and the image's paragraph + * @param array $config + */ + public function testLinesAreNarrowedOnlyBesideTheImage($side, $dir, $lead, $columns = '', $between = '', $config = []) + { + $mpdf = $this->mpdf($config); + if ($dir === 'rtl') { + $mpdf->SetDirectionality('rtl'); + } + $mpdf->WriteHTML($columns . '

' . str_repeat('alpha ', $lead) . '

' . $between + . '

' + . str_repeat('beta ', 150) . '

' . str_repeat('gamma ', 150) . '

'); + $pages = $this->pageContents($this->output($mpdf)); + + $image = $this->image($pages[0]); + $lines = $this->lines($pages[0]); + $column = $this->columnOf($mpdf, $image['left'] + 1, $image['right'] - 1); + $this->assertNotNull($column, 'The image should lie within a column'); + + $beside = 0; + $levelInOtherColumn = 0; + foreach ($lines as $line) { + $lineColumn = $this->columnOf($mpdf, $line['x0'], $line['x1']); + $this->assertNotNull($lineColumn, 'Each line should lie within a column: ' . $line['text']); + + // A line is set beside the image when the top of its box is, which is some way above its baseline + $level = $line['baseline'] >= $image['top'] + self::LINE && $line['baseline'] <= $image['bottom']; + $edge = !$level && $line['baseline'] > $image['top'] - self::LINE && $line['baseline'] < $image['bottom'] + self::LINE; + if ($lineColumn === $column && $level) { + $beside++; + if ($side === 'L') { + $this->assertGreaterThanOrEqual($image['right'] - 0.01, $line['x0'], 'A line beside the image should start clear of it: ' . $line['text']); + } else { + $this->assertLessThanOrEqual($image['left'] + 0.01, $line['x1'], 'A line beside the image should end clear of it: ' . $line['text']); + } + continue; + } + + if ($lineColumn === $column && $edge) { + continue; + } + + if ($lineColumn !== $column && $level) { + $levelInOtherColumn++; + } + + if ($dir === 'rtl') { + $this->assertEqualsWithDelta($mpdf->ColR[$lineColumn] * Mpdf::SCALE, $line['x1'], 0.05, 'A line away from the image should end at its column\'s edge: ' . $line['text']); + } else { + $this->assertEqualsWithDelta($mpdf->ColL[$lineColumn] * Mpdf::SCALE, $line['x0'], 0.05, 'A line away from the image should start at its column\'s edge: ' . $line['text']); + } + } + + $this->assertGreaterThanOrEqual(4, $beside, 'The lines beside the image should have gone with it into its column'); + if ($between === '' && empty($config['keepColumns'])) { + $this->assertGreaterThan(0, $levelInOtherColumn, 'The other column should have lines level with the image'); + } + } + + /** + * The combinations of side, direction and column breaking, with the lead long enough to put the image near + * the top, the middle and the bottom of the first column, and past it + * + * @return array[] + */ + public function layoutProvider() + { + $cases = []; + foreach ([40, 120, 200, 260, 300, 340, 420] as $lead) { + $cases['left, ltr, balanced, lead ' . $lead] = ['L', 'ltr', $lead]; + $cases['right, rtl, balanced, lead ' . $lead] = ['R', 'rtl', $lead]; + $cases['right, ltr, balanced, lead ' . $lead] = ['R', 'ltr', $lead]; + $cases['left, ltr, vAlign J with no stretch, lead ' . $lead] = ['L', 'ltr', $lead, '', '', ['max_colH_correction' => 1]]; + $cases['left, ltr, kept columns, lead ' . $lead] = ['L', 'ltr', $lead, '', '', ['keepColumns' => true]]; + } + $cases['left, ltr, after a column break'] = ['L', 'ltr', 40, '', '']; + $cases['right, rtl, after a column break'] = ['R', 'rtl', 40, '', '']; + + return $cases; + } + + /** + * An image too tall for any column is set in its line as it was before floats were allowed in columns + */ + public function testAnImageTallerThanAColumnIsSetInline() + { + $mpdf = $this->mpdf(); + $mpdf->WriteHTML('

' . str_repeat('alpha ', 100) + . '' . str_repeat('beta ', 100) . '

'); + $pages = $this->pageContents($this->output($mpdf)); + + $drawn = 0; + foreach ($pages as $page) { + $drawn += $this->images($page); + foreach ($this->lines($page) as $line) { + $column = $this->columnOf($mpdf, $line['x0'], $line['x1']); + $this->assertNotNull($column, 'Each line should lie within a column: ' . $line['text']); + $this->assertEqualsWithDelta($mpdf->ColL[$column] * Mpdf::SCALE, $line['x0'], 0.05, 'No line should be narrowed: ' . $line['text']); + } + } + $this->assertSame(1, $drawn); + } + + /** + * The bottom of a column, which balancing measures the columns by, is taken down to the bottom of a floated + * image's margin where that is lower than the column's last line + */ + public function testTheColumnReachesDownToTheImage() + { + $mpdf = $this->mpdf(); + $mpdf->WriteHTML('

One line

'); + + $drawn = array_values(array_filter($mpdf->columnbuffer, static function ($entry) { + return preg_match('/\/I\d+ Do/', $entry['s']) === 1; + })); + $this->assertCount(1, $drawn, 'The image should wait in the column buffer'); + $this->assertEqualsWithDelta($drawn[0]['y'] + 40, $mpdf->ColDetails[0]['bottom_margin'], 0.01); + + $mpdf->cleanup(); + } + + /** + * The one image on a page, in points from the top left + * + * @param string $stream + * + * @return float[] + */ + private function image($stream) + { + $this->assertSame(1, preg_match_all('/q ([\d.]+) 0 0 ([\d.]+) ([\d.]+) ([\d.]+) cm \/I\d+ Do Q/', $stream, $m, PREG_SET_ORDER), 'The page should draw one image'); + list(, $w, $h, $x, $y) = $m[0]; + return ['left' => (float) $x, 'right' => $x + $w, 'top' => self::PAGE_HEIGHT - $y - $h, 'bottom' => self::PAGE_HEIGHT - $y]; + } + + /** + * The lines of text on a page, each with its horizontal extent and its baseline in points from the top left + * + * @param string $stream + * + * @return array[] + */ + private function lines($stream) + { + preg_match_all('/BT ([\d.]+) ([\d.]+) Td\s+\((.*?)\) Tj ET/', $stream, $m, PREG_SET_ORDER); + + $lines = []; + foreach ($m as $line) { + $lines[] = [ + 'x0' => (float) $line[1], + 'x1' => $line[1] + $this->ruler->GetStringWidth($line[3]) * Mpdf::SCALE, + 'baseline' => self::PAGE_HEIGHT - $line[2], + 'text' => $line[3], + ]; + } + + return $lines; + } + + /** + * The column a horizontal extent lies within, or null + * + * @param \Mpdf\Mpdf $mpdf + * @param float $x0 + * @param float $x1 + * + * @return int|null + */ + private function columnOf(Mpdf $mpdf, $x0, $x1) + { + foreach ($mpdf->ColL as $i => $left) { + if ($x0 >= $left * Mpdf::SCALE - 0.05 && $x1 <= $mpdf->ColR[$i] * Mpdf::SCALE + 0.05) { + return $i; + } + } + + return null; + } +} diff --git a/tests/Snapshots/FloatImagesInColumnsSnapshotTest.php b/tests/Snapshots/FloatImagesInColumnsSnapshotTest.php new file mode 100644 index 000000000..111d55dd9 --- /dev/null +++ b/tests/Snapshots/FloatImagesInColumnsSnapshotTest.php @@ -0,0 +1,51 @@ +mpdf and loading it with content + * + * @return void + */ + public function generatePdf() + { + $lorem = 'Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Sed auctor viverra diam. In lacinia lectus. Praesent tincidunt massa in dolor. Morbi viverra leo quis ipsum. In vitae velit. In aliquam nulla nec mi. Sed accumsan, justo id congue fringilla, diam mauris volutpat ligula, sed aliquet elit diam at felis. '; + + $this->mpdf = $this->createMpdf(['mode' => 'c']); + $this->mpdf->SetBasePath(__DIR__ . '/../data'); + + $this->mpdf->WriteHTML(' + +

Floated images in columns

+ +

' . str_repeat($lorem, 3) . '

+

Mid-paragraph, ' . $lorem . '' . str_repeat($lorem, 3) . '

+

' . str_repeat($lorem, 3) . '

+

' . str_repeat($lorem, 2) . '

+ +

After the columns.

+ '); + } +} diff --git a/tests/data/snapshots/float-images-in-columns.pdf b/tests/data/snapshots/float-images-in-columns.pdf new file mode 100644 index 0000000000000000000000000000000000000000..44432af483c5aae60edfb26cb92c7675d8217d48 GIT binary patch literal 83940 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 _o^iWY#Tuwcq#N>3#8D@dX zd<*=BT_CAR>g`4Spj*)Q<$`7-uv%=64PHrLfBP8rjCW#8taJ(&yffjE}9-9*0c$T=N1UPpB;9}*`I7~abEsi zdCvb_j<#9zjF!p(AyDlfQMUv)0fr5uASyqQuRNZ?3v&E)l;@q0I%F9w2hJRgdBY-18! zUV8jPN#K@=-DPv>b%3FDUa=^8sPd#qc=9VYmvi%4f5<0~#zWh{qW%1|?UTK!=PY1S znj&Cinyf9k^EAX?7A})(inTwPn^hWmb!0b{q%1EkxyfMajYssO&qN9W`9v2XG^hgPZlQmx#X-@@5n9!iODv3 z;k`kV+jpU2*e)m}&r)}DmC`8u9Pf9LnWI>w*td}zRk-K0l&daB<=Sm;jvY|}1&%IY7Vnm!eQtm0!sjT^ zr;>tmT3K2nBLCs@_}5|$Y<;weOq|Q$hDJqHUd!8vx^qd~h(_Z#ELXzwQ?95AiQbCR zKAG9ZvxB)tgE+H|LK-sH&_WrMAQ^NA+Kqg_Za#+vov8CS-b$7#)&a{~1b6q^u{la5 zJP}5^{f_PO|4?#ovs{LzSW*lvat#epcQi2#_b@vwz9)!ILjPaZh#)8i|9>Xhfbs#E z-EKW(JpRd-R-zHb1O_o7Dq6SQL!E5#23tOaT@1jgBz|U@Bi4L~4Bg&Byi};>AFp-T zRA>#;lpcnzs2=SV#XoM&d*N564&c|kk|nJ)Ug>&&Z1UM4V%`+6!+LlKzN1|1)x$kl z`kintx(l*5Mlw;afE%X7l?z#)lY!=$q4M9z08fTs{j0U{pzzJxl7TaOM~UtX#x>gA zcgPbS+FL#%V^UwNA${=Cai&aFICa!|nhL^UiO&&#R0^b$>Yan$a8rG5Cm-8Y8LJvf z=UWp{SaWOwaF_ZO7iSQx(A=1$o-NV$)@D&Ix|SO?Pcn(nV95@xL30vD*B%NE3SMW& zVypc=YZBSnWYN0;Sn|g15R;^|q2q~fd>na0Y@ZIbXC6%OlC%c}QmES6t|S{Gcp#lsSvr`+a*^cX_6Bet5N2 zO$PBot2zijQgX2hxY_8vU>3X(&|#Sj#u2en0&O8rd;DSVxjS7ks|U#H(aA?Q85wU> z!Ua7L)akS0{9`#zH>WrHNZIN8Us@-e@F85O*O=E{pe~`*%6voky`9QXt{C-GDkcRY z#C(}E7238voO0iMK-2y8AdqL*P~m>KfD63(TT9C{!l6OP=vN!FkaylMlpryT*FukF zjJ1ZD9Tv`TP6j(ytsxt9ysTm{yw|VoKzuFhhIF4cA<%k_fc(=s%Wv+CpWG|izztD_ z2pi@CWZmYbE?xJi@^|78GHNwG_ff1;h?JD+p+Qi^@Lr)G4*D#hceLsuq5H63gRENz zFSsBDHk_H1+tvSr=|lHFlvMN7b_~_7l{{%%i9nOTvQSB7iI3ijo48S)l>nD*EzYWx zzf1ZLRBBFnL7Ea$M0WfeLL_b`Y!;5ju7}fUQ8)}mMkW)JUh_EJ9;XHrbO4aki)I-& zWDNZ0jfvUAciq7|!?t2tcpkUmADzr9{g6>Z8O|oRn_f0nI;D;rgIV3cgpsZgwtE`; zLe$p;hSzaD?{Q<+=}=>LS3eY12fjDqHJhg z1pmiBlohg*H=3vUdEaarO_zyuB6#Y96%Dl;~bkQhpW)Xjt6>vqT#s zW$dw5b)Q*+ql@v-wU8Te3LxDB&F^|v|I3ZIvwbkcx30!B0;E+;Ji~sK!(C!%ByEVi zYRj=})-oGa1>17yiHnw5?`AEQ23@EJ#b`I-3K4&XG`4HG*4WM^_zo^@CjM?J@h)v+ zgSJxQ0~q~9JRa@LOP+U7?GkavIUVaqg0{!_MTNyWJ3 zkCC1Lx|OT}CT}-74sYhn=8Lk+wI*QaXR_>xTWwu}HQz_sd;1O3-oThw(Fo$fLB*3G z%n6;u3z}UBv8l%{71n2?2!}(v*#Xn;Ha)5>efq{l9Y&eGWX*|^C%egXf!Tu%qqbJC z({m}#zT$q4T@xvi81c^R#}7EHlXq8CYUT?i;I&6jR2%qxJ8j9+rv~W0lKWMyYNFy9 zL13rk$EqULP<7#(HE;&MjKhv5?enY+Wk=5+#d)UJ^_QZI5bjy$2wzs0J$cptp>aQd z@X`Xo`~;E=Zuv8`&q|S)JZRl#P3&Tn-%T3jD5zo3RpFZ3bI$US%?;15bsD_hLt$Kw zpXQhNQ>9LuX!y5toaQ5jaQb@r_czaCu^W)3%#MYMQ?VfyD58*|&*74F9~45yl`1Iq zqK9Q-E^##ouY9`;xD;Cb<7`A|NPBsIO7(|(EB`W?t0LsvXSM%=Gw=bN_SQEiSDnx`em)es)OEo zItD&R5=&tSjZ@2YrPw#n@tpb}#Jc#eZ5&_*b$idUF3MOb(4HuQ6Uk-SDkxU0worCMav>rkU z&NqUE^%)f#&5$(4`i|d05k1?}`)A7J!h_^L6kGqF6{#Enu+qnX4T76+c3mmQFWl%X z$j7y@vWC=TBV)M0pdvA)=~H$dW2+He>q^1z_`G5|7d5tQSNl)xG=J$|t^AWK-gtr{$$3N=K2Ga(;enUFzxFf>^Ys8xDw8^JHw+Hj{rw#EU6Y7A zmL%xblHf2V*q&*DUeCs7j*9-}Ya)JrQN4k!I->W9%)-fwvfj`J8WfKAM1mV}w9Ovf z3bL+kQ+OkKy{R9ooB*P0@6;Q-dp6|ybRJ@~@P3S^K=gZ5Sa`h(ySnbX#byOIOc@ot zHtdes$J}-HYja6qjo1e;HrKCnjb&zkdA??Zvp+~G_SPPkO;$x;I!2jzv)15ZB8#YE zEG+Db7`|<%t(;yeFj>Gn(xxDaYQr*DQruxpOrdlO7p~dc%gy;d^7`X~WU23z339F; zdSiTb&ps^+cHeq@Hk*pl-;{$CpnER|wRZTF`YcqmaOZ-zK{{3Dt!U`$O<2{jB=cPg z8)RYTq|6LMAFwYn=yo(-)QYE*S6j|+MU%-n#5o7w19hkNcBpR3SFdCR1*E-s2Tort zkmEKt&jX&mw71*+_8NydanltVCg!R6RvZAwII#@~?Y98cCV0`II+q$UZJlRiNrqPP~ z7~iBQbW~6Rjr*z1NNA?#b1Pw=%x}G;;wbJp-9%#uRzhoyoS=)WQWU28YyHv`&usNe zCav~T?`%(Km?>B8*Ew6J>FGr8E>i)Mujl3uQn}m*V?ANS%W>F1r2rBbxo&1s19P@I z%vPPSnyL!#V*d;L?};3;m4g+G>GQ1p@-39h5uHJNSR&NuRCwivj&ST??k!eg9B;M+ zb*GvCzzE#h@5OpS7Qm%*Duy5SQvA2b4Wg?9m(HWnSowh79cV+J@y|D+0b;D zlV2rvbMxZX1gQ*NUzKBoGkK!@L-~}2qpv*27q?t-8#Bw0U|!;KrDoZY^qjzSUGl1- zki`a9_A4-mewLt50lNCOZz#y`cJc>u&S6g$X}ZPfJr-VBVjJR4Y0)bsEUpg8qcn8R zE&92CE;N5qi8F%HKO=@StP~w!*}#QsDzA*au%mn=>bHljARZz`f!{R4u0%g4V16qO z8~w?Zm_ex(<3=|+EA!uVoBuOA`aiUr|4Y-!MTw!*qYnQ=$q`pUgoIpV6~;qRgDj$j zDp?kfut8LD_A}$khOGcPFVl-t<2TF7u%vULhx|xcj%ZSbp`;8ARBWbVcHgWH4$@zL zxBNZ~RW(ty+v>J~-Sp_vJ}bGJ%hh5@Os$swI$p>;WM~_#2b0Du&7MbCma@zB;bp!E zstlp=%1vNd;kn&;3o2elIzc-aa>t8FB;|Zg^>xjYUC58F7m{Z&VECgzunkFjsglGm z<%j&o6?UZRtwz=DVELH1)2JtA6sEGYo49^_cDjr|6K8hEERv#aDe~Rm?bg}0Z9$`M zuOQO-M<+AqZ-dQef#zK;$Xx#>eUMD_bl9Znc8)amY^DGG5k_MvFKqDe^QVLhde1e( zdXwh5Zw6+VMXMAL`$YqY9X5CQjaJ?CRn>dmIO2sYf(_Zz#GxOL4=Pj3ka>Gk`Fb*M z*?@04xhWAxAA3`?;A9iXD58Vc1^1zNv*cd2fA!Kgt1F%3OFup`Lv86F&<^+Y@p(6P zzb#0>TX-FR3ow`izi;}O3YE-0L%pJJL%UfT@JQIWY1%dJ9Wu*n6kv3*f zc6;X~Q=dIeY)_(e)BKN5t+nDilUb2YYk`y1LxNw347kKd3z=`IbF`}ugiYB`nh)9w z8RezwFW9btjSAtvw{^*;zGV=7oH<;#+s3w6@!MkAO~gWz&dO^#On=4=!{je1RhYh( zuM-Y5_s-IXVA)@3s7qau#;(-7b%5MqX03BwY}fzR4oO=0AbkmkeR4*K>9&2hzZ6_d zR*E0aQkR?hEZb>4zk_C(MEgYK?uv|{dmite%%48|L?Cl`s|#w#cMJr{Rq21Y6I-Qu zC*+b&RJ1Ij!!GNcv7ZN{gkAW8s>CH)!9=K9qfn&NKk1DluHai$A&mo)ph}C!!#elQ z1<3VPo8T^Cf&G(tuGr&YYEtGZj^!O+6Kk7k(nn(ZCY9Zb_4+D+orC*vK3oq{a;)gU zP&645CoN#A@6iCv0PBgqYSM9Y2kFf5*lp@*tysf~g7r!6w8(x(DuR=!RC zxg508QxNjL<$dNmXB4FS&c1*#ZeKqOjg`+NTav(LotVvRMPwLeIK$X7VZ^l`ja(gK z*OS)hT9-}0aqW490L8%YK|Np8ZXP4)(M@wtE8QkK4P3VrTZaHdTu#NM-(2!mVTzOW zUdkhfbDF^b5!ImMADpAcp7BnLWBl@}o_{Fe7gZnV-z6~e>xOmmhkQjK_n7+O_|+=v zc+Ob*9dNGaQZauev0c-$F3R5ycu)BZ-!l<=Nga;0BIr3U!$R$ZVkO^=_c<%I3-xDt z3#DHt9#E`FEliVS;(4GaRKgk$^mss$bXvzIP91(uk!y=zM!b+|(wt3%lx&8LWUuQ+ zx<+TEQ~lU(wHwz3Q(LY*NQwDGum}b$|BR-VYM|403}IFdG(f&DxIn7?`jCiXYe;PI z9!GP7;M4~o1D5oHWDriwsn%M%G1+01951DKOleO6>vGb?{++J$-s6vaGn=h~m`TZJxE!Lq83H zGveyToQ3F7r&epV@8dls4$!+yPIP^}6X@t#2jk-j4mL{S#`D?+BFBXm)3m7+@wr@$ zOn)vGbZ(GI3{oBVYEWfuM%dE8=g+J&ms$xjjPz6K_|8u>Bdn@29Tng&_)spvd zpg_^lJq(+`INDdEnJ;)=SLj|zKG<)iY!$#rY!0g>i<-LObLDPc9EJ;quk&6`jSA&U z+hKkSAfqKS4`&&iSMjp1B@$1pgflfubjZM=8&w3U8=fc`mitPUp(9qZ!|`O)Kx`J# zyIIanWY8jgte%EPmtDLIRcaapL9KWAT0q*EGxt#)GNOKjZtW|0F zYVX4*sCD;T;EnxUXG?gs!!KSZ>|uD8K|LAEN-X%0XbAfMBS`sQ8&GXHsx5=urx?N$ z_A(8|kU}mA=a94VMv? z-00AmEkqHcW__+yd(A_`(wM8>akh2s!X$0G+Pr1LbV$Ht1ES1j)bmfYD5~CKeaz-maEPshZjxhi;)0&0^k)r%`9)A>xc2b(fpFmUkh9R>VCzXc<>ZRz}q{&?(?YC zccl9~cD``kAV>hcL=Vees~qma8KwGt8?g9->yFH>(HdQYIzd?Rq`hX$4LE3wxJl{=B`T;YBO#?9GEoz59L(gG4P=x`(dZ;;I|vg*Re#SI5up$ zN(q!I<-xj2$aKw>7yJz;Ge#LQF&Ww-kG|OIOiZu|r{Q z>1l+qRm8bf+2tl#nZ<6k+<*0qDntc4$su4PnS7ptCJ^ST-%jIPIelMf6gss3ibGj; zZBgfnvUJY@ob6w8C<37r_~yLJu|acJZX#rtz~qQ7daE!oH~Qle94t;$>l{s@g%`Hg zp{#h@@`2J&`6NEjv&i9nXd@Lj--xcSpA8k|5*G{elhUcN_XIPzuuMGUwW6gD! z;4}JMvI(^&6YF^g?bZZ0-6Re){{(5Dfcr#dE$tfLevUWf3SxH{@jahcdni=`(2X}_ zcT0tq4`4ghUifv(sTniBGjE`Z4<2MD%I`9PB}56zy=$$(pMFqRh9sk4%&=WCRmt4x za((Wvq_8(z4?y~Z?Dm$KV`cYl^si_dj0QhhEh~VGm0ZUhOojCyDqA{8IM$4%L=z`M z8iPVmP$*G!tpbPI)Y8-X65=dm&qae|KN((cgd=LDJ4K{5@Ax-@JMyGNmQm`%a2Yrhw z>Rp>UsP3^obR8K$L{thQfg|Q`YUKI|YlnHNkanc8gav0Be%(`=U+p*yTgceaIR5pRPL$lF9$3Tg zt#!2^!O`(GNs4E%mc);Dn@pCtGn2?y*XQfmNl;&&3l&lPrm9kF1CCbI7Gc37x0|nB zZ9yrr!bqDWQ4s5@Tw;WL;N&A0AN=)nA#?E<9y6z3cSE)Pi}Y|8S-c&lH?dBRkrtMg z18*|AGri3Xw{b7g?kC7qI~T6)!xz)l;*r))!-Gwt=b`v|;GIUbMpb`JMbSc^y@@6P zW5+gGOY;>1gUqKrQutyQW0hazj?@`@@C8QntCcAfAsdblgi8r~ry^9iV2||2ZJwf93N2b1}OPV`+|GPCQ4&D=0}an)y6h zvrnN$;8OjeP0G#(>=&8ZEt|Y%e1vuvz|TVXj14uv5udaiw%EcQJX7G&x2fzOxPEGY<=gD zTck}?&m2IN%gVtQzjebz@01|MzE;)XZ^q$3%7zD5v@|T^N+70WVD@vQ^~iQJO4?yW zXHnAMnUhXfQCzHL$g3_O*Iv|VU_B+U+eqEA_#kDk`$OU|A7Xv!->@(VeUWh+g)ED9 zdA027Tes@s682g!GsZ!e_Z{Dxxi@qC5>8E77A&>d?~P%{Whc@NbuZ~{_=EkGsmeGT zlaDoV+4Oi>Ee&Uk1tx3x-hEG=|JfzaS^XkYb7xL%5xJ4Ff(RxXs3=nc6@tp$_qLZV z$rCe^y`cfVr0%&1=a5_NI*hg=(UAIFx+89&SpSzb|R_%S$5>lL1$wl-#s zK$Jz}ChhfT*q{59nc=^8l!Gz%Y#qDUNo zaMaq0tUG(;>}}oRcKn21(cyNj;u04`QoXkzCeH3e_pJhF1v_O12+93t4Q(Gk+A~LW zGkuW5i(x^NZLyVhX@5XEIVCS3%mGtT*mP-?g};Uz7nrF&zf@0FVJ6J0QtK!u7~3`z zLH4bLskJLwfz(&IQMZLLrPXr}7ptl1-gcUO9YH&haE(TB?W)Ox;vYJhe(~FTH5Edx z?^d&aPGvoq(R&k8q*GlP;M6gFg}FUh@FRMAsFtFE3;gX^*ZPq#~U2+LPtM&*B8Qw0*XpUc&Qu>thJTDLfW$C)nZB#R*xdee87a%QxN$D< z1pZFN=M_&(vJIPb{a?OXkMcfnt)B8QHvphx#0B)sz51ef%=jVx_Gau9uRzce`v25q z{`UZN=zo>U{;z}S9Ice>sP%a|wmG%VI9_}GMV(`URslaq5L$8X=2?2u0~orU2B>?u zKwjjZ_(UCA?(g(i2QK`m+f1hBhn-l4HWOtb)s%Oo@2~#5_s#w|^I4_eM1cdQl1uR=8R| zsKwASqbQa42+U)KAzkvv-ZnI0Web)uyvZv`0)2piK?c@q#m66QXsx}yHEY~B5k=;T zZtAT$Su2Twm*u_4ba0fJFx3wu<4nzo;*AUJJ2zq#u?5thnZ`gJ?if12LiWWM4XYtA zdk=``1x5NI#D4D}soLxCxU5AdoF(Y+h?kF1s`p*BcX)syeJs^>LW{CdzmGC?d$GxY zM?h2;A0;;B{IMz11vei_2L?1a_XtVfY_BM@0?}|{ACBWLeQzT(l}74)tU&Co{jE*jagO2~>Kpi0z5QHu{%|HwaLXZ9KNw zDBGsbW?JA61JwH-m2()6`l*kI-}$~9d3RkoTZ;MU7EigO!CIX0S7H#Y!y=wn42I+= zW2~w9x@y=5?j(eqRs(UU?Jija|t=Yc`ES zjt$*r)Vg8mmLcecOj~SN>3}}-4b|UflauE9PBLlO{}a<_QT0{*Q_X2x)*rJY7<%PnZ>+njN#6}n%|=bq~`I|?Dwn2;#LR?&ED z20Df%?Uz46ooKBO`l(U>)6)JwwL_Fb0P?SP9#Tvv?N?th1QKirXqe*?G4`+Lk#sdE zLYald*g~pOzai#!wZ=YO$5Kl-x)>g(KfwoB)aE#RZ^4v*Q2g#S(XEDLHAFN})T_%% zfesG;fBuL%OGx_(jkCPxd64wr`>;8uZ!dT~+MG3TDHo{p zPeeUSt8^k=UI(6h{)f`2ewE8scec11tt;iy_2#IC)-QC#k~4>yY^KuWTg&O(u7Qbo zlSyL>!}bN&fOh4ItUrcX)5x^GFs$-@-DaOHgf(+u8L#-9HK+Ws4XUKy^O8DjnTLU) zi9*9rEv%`=fJpCCHsiW`MqxQ5r%?3nsyy_>bb-sFV1G`@mQG6-SL>{%Lg(RX?B_5R zyH{Wba*XL0_RchE4)twjKaR!KX$e=H$602XTcR1B3|L=n)u5OT%Wm4_7R#|9?v35MMfZt&OdGAC(UX9IUQV-r=~FUM(97ALf!`M2o^!zKu_s&ok(#jE{8pXmrz8~k$>w>-J znsbdc=N#9nv1VK&i~TVjUfPl*>gq)t4R1`7OCnA>*LMb)rw3VurY7Yaf{k4Df)^Sr z+4VDBMI0J|lD-Q%luKZ+8Iq`V)BuK^l#bT2)>1{%3|-xv*f57PMRW=4_c^KIi12e- zv3jfitta3;pI5z!g>LATEK^V>rG%E1EMdNe#nY>3PaB?WSm~@5y&a<*w&XXUHGT%Q z_r5|_^`6VO;OeiEPhX4I;ULjE`cXk*LX@AItgOJRQl!>|)vDA*Weu-y_wYY!B${3( zN-Lsmbb}jCt-IKx&DBQVp{Mio=+)ID&lm}G?SmtE;7RodJT>$Cd8$EYFGcJ&~u?10Hdm8Rtw`pmbPn{$*6R!!P&Gsaa$6Gx#g)^;5 ztQHGBD@)HRn!J*T30#yb-s7hADAdQiNx3hJdqb7f*8-mEhGgBPvg%#iKG~5_Y98DR z4(o5Bubl16`s_{ZJ!x##b0pZtRGZ+J;dJBmV~p{Qzmtg7?mgFomN<`~@6@ZOrwwi? zl#jn%;m=&n_$?u&`3MDD`^&>;6&vy^))QZl;t3IymAGP|2!@oN5J$plr`NX|y5%Qd z)#+mZ?pfn|Quv}AdUpW2F#7%XbtN#n=9^I2SYKrW>)GjCnD`GS4}`lrLl^r6n=)ZE z(PsOa0&8MmM=6U4(A>6Dc|ijy2en6Sv@4N(J1zCH9`uO{=N-Y0oNk znK#>QuI=7^m?Q72%Ft76>?hcEUH{?gs)cyJ(PQysO*nCjzWM+^aq-nf2aJUl_lKzq zn)6G~KJLq9<8LeyN_TtFG-@$R_D(kEH(!{ydZ?;zL+4WkunkqCe$i)?|kYQd?cqXG)D|i(G;8|`aGKN zIa{1*9UWJKazYvF5M}7^M`L~U;Ut}+18CH!-Nfgifxy?k0Vf}}YaZMeS zZFx*u%o)Y-Bh^BJ0167?XhUvRwmsJ`vJFpTfI%xs4;xgIN=7l{!|Q9L&0LS8u16ni zL~JK?^&--SQI=MO=>_MbBQo=k0uLtDOW{!d$2sTF9~!}q*ddycYe&}YOlrvsWz6IG z>=lK*4e}W*%Pk3C+vT|FQ>!SViHA0G=`(bfUp1;iam{hx4*3k^FOtFfQ=aucwRA;# z`ZCAA+`N%kDC!vYjqVv|TdK7c*v*fin1uK<`kK{1cN^AG3aqIu!@696gnsymgTvkF z4y5Jc?tOfaC5AG3l>x#I$1i&zc3p^}0qeo%sao=9S~iH?xylnXoiCCP&@dq+)q23c7vQdrj4B9B9;$B6f|Cz2OoH&bA5|yDlApulKat z;7Kv_a6sfSF8MIvcDDS6uC>uEjeXc--a3wZR92-@O~+5iR8u-+vFsfS?to=p{bLvT z_T8JolgeDHfB+e|`+yH*d3D(_Y~Q&&{5jp=VHozdZD&XeSoj{=u1oz-&=r;P4H3{G z9CR7wpcoPHW&IUfp+I6GzR49ki*48g&t&yna860d?h|Z>dC9{>l$_2NRCR@{g!q55 z0sZeUwZHEH#%=xA*sMP!q>>dKJZFEYEQ)uNj5Ul%_vsY##jwYffTI!=;!K#XlW0)IS8bv2zmknfiOV#!r&kjU<(O|sP9sN(1DNv zh%*5{5Y;ZQ!T^Ep0f9UaVgjMd0}zM+2!EyjUVbC+8-d>l{6^q60>2UXpNRm}*p5!h z*wh-(9_cUp;XYs-05-I7C1b!p%8vzgq3Ni-Sf#^U|Kxhj3 zWib3)#WJ>Zad8mlv6QwwxZu4xHQ^T$~_?xChWGVhwYlGl5ya?L?W6 zT0bz;!OcXOwfGdd6dj(zEa7rqPB1kuC3RCTYf~XJW^pkbEQp7&hpmGx%*B|_!`8;m zS=dAL(I2@B1KYonIUk8ZoXpIHRiDZHB>}`lAN^GqcXxLVcU}&ACksw)At517E*?%E z9(F*2-PzO5#n^-0&YAwN44%Q9O`YHlE^vE0x?dR@o7lU$h(2<4g_{YR8=Lc)n3?gh zn;7$&v2$~q8M7Ok@p7}9@$#Ap@Notulk+d6#2}o1!xaFT?*GB^yO93~pw!^ zKN9|Zb^V6xKSJQY5&pZm2z1PeGP?uD;LionQxGaL3JMA`DzHLDMMXoukAV&>c-YvO z_wn%v2=MXn@d-(&NC}B3i1G2s9+FW|Q`6GY5|Tb*ctpcMMMF#TD-$H(P;@kOTnr3c z8X|lmn*VtD*$KkO0I4A{AR|2j-NQ#h#z*?u4Wb2_%}{@J&>;amaDOgH_mEM5T4G>g zVFLp74?y>jkdf~J^#>FHq=Oj<@(4l1vvuA!-=t)pvd1~a#?gj+egxVpJ} zczOkgguV)U{U$sDO7{-)W#=!FmHbq_c#DCocRLb~S; z{E+ccP#t9ndq;xvXu!T?@nMEp|i56%8P#e)8S zY4$h8{;t)YpdRHF5v>SK4O5ljdCuJ} zU%?50a`=l10^4xH=lOg&Fu%kQ&SRi#4=Z}={v(c+B*xNZz-+!S6*-yiJDRl=Z8$9< z2cPrmf!O&cMI{RzDmJ7Eg$VK8P3NqmNQ=>9p&fUF3 zDnxYE_*2S3YtB^uJZm@9R4RUlMXL1}uPqKg9;@Irt4jgp(eipED*qh;1#W4mP(QVY zArf=*T9bG<4R`aHi=aymo=l1u-4v$|7(pureTkX4RV3h`JX7!Fhcd}Wi@OtJQKYLs z;G?v6V6X;f=A65i^a(j3sIOR5NupF^vwh&);ajcjhszJ^G%+hDRuCwbPDTl&NveNX zCyaee5IHi(tMa{%4KOg!BL7miOQw0Mk`JR}Okj3PlO#4f9vX{=SLA#Zd3%JAfo>gd zCYP6LkNCb{RG_dd(os*Kx1~ebV!c&7Bd^rCq+ija#oVd%gbcWrE?^Wcp}vcD>rXx^m3!&Qd3SkhQR2#K zgm=+v%a3�~*sd=zXr@sZqMgS1$cH;ASy>u>KXNj8|#Krs^YS z0$XI$vxJz~gkDc7P4hH_T9;SxdDyv&aMZ{w60c3j{dEY3w%H2d>9-EohWZ5PC|h9` zXZD`zYw2Pgh>2?uZ|vb``KWQ;25hqcMQ`Rnh^Te0ha(%_oN3xry62-P6`jv#SVSNZ z)$2{!YGoXZ(gv3pgkG1!wuMe>`1SZK|EF3Rl#HuSA;VBQ0#Rv$y34@AuW)>;29gtH z>nDd=9B+Dg7mvO1XOFG7a^7?RcUFkoqSdu)VPcDBKFy3m?uMScCr4INvq^EJlh9fT zJf+b~ISf`CK)Hqz_THvuL{Fh>hIDP@A}>mEUK-RbjO`savKpBeNs^kV^c$_XFUCnQE8fN3d_P ztSf(RkafGT-g<-F`U_s7Flx$NO`(m`Z|!PbG~#2G5L)rqhX(Ap*`XW<7B*lt&f6Ms zwa%ZQv#B;kX$vP}lv7#nl3R`A;jBuIFjtZS&gW8^&l(r$)kbTPLl0&qy(TG&d-2eB z5c48~u5S(uiL{bQ*c8$!>pos)wX?^G*lNWdh!7mpw&U*@yqb|n4(K__4RajX>cc9m8;~sKFdL7zjwLe z3R7{>XJ3`N?lv{NIe(xwW4ecj<)hPt;0rxiiV7{SoYe{aqFURJcsERm#p4`2>WV&I za2(b>g1<-lmbDVAu)OXyEc}~744bFV-B}m09Uje6>8H985=&jJ9ux#qG)L~Z{kop0 zi4Z#tYJFmmCkhCo6GAw4XFb)XQGzk%a%u7Us}+_{(jwaA$DPIdxE%p!{lmOH8by`f zDQplu{Zbj1lnfhGL$w+aKGQ?tD`$~(;T}Jtq^?w=wUkb>Z z1Trj+@FF#ZqLeV;Dxnjvau0Dv-s;$|Qj6`+F{OADfAY*Xz5f!tV!@$(NKQ=}4Lq>A zv+qS1Og@xtn<~85Cl$*|O!!=f!7(8~0y|;9qy9yuL0!R5P~~^tq{j^NvZdQbq&~)L zw4{3t6k=)lS(GyDHW%Y%AtNrr??X*P(1SczEOzpbN7foD*Y3o24s8!ymXsB<6?~Pt z2H9S^LS80saBa|*JJApY_&mAvEtrj>F;Mv8Y1*E?G)c%Baut2pY$9>3#lE(%q}-K5 zP*+I`2i(Z@tzo>1bFm91o8B74!ZtG5ziciz{XGsk|e zA%Rch*2qYpDmO24?3jtu6+U#V)iXlAH=`R`I2~6wyA0<6dxd5X(5NgKa<_id)Q`(_ zUT*u)Cv4Yf?O&>6HPd1|X;DXt)sSt@fSNF(U{W9Z zS*x&2O9aQsxhHq^8`?z^8ULj+_;lG}!C)d?gXqXdabmt9d)@Zx*3t1L^ds;^yg=B& z3lJ}p(n?zu*|2}?gi#~~#E(6pt5Mf=()p=f?TD~k6p?fbJ%Qx1FGxJE!ns%XE+-Vi z$KOy5xxi^)B_d;j(^3+d#tRN?WqQv<@4C@&)LBPZV~coj8Z%v}Pn|K%(atlH;}?0j zfkMefM5=_!HN3LOk{-|RU!z^DH+C(^RTN~XCQ{ni$5m0!V|arvCUZ9} zhO}rmp*43Gdl?gaTyE*PO0)vMR^XA2>^g0iQTKRTRffeQZmpV&4 zv3OAQGBjiSwr^lcD_TN3;oHTp6YIR=p5RAi%-)=T?G>ZS=4SAURzGE8Ccm8yzry?Y zfv^plXSuF8eJfH@-fbuENuoEJ2MPjA0cml2zERN-ksNu^ZZGe)-ev1owmj3);hb$7 zthl#s#B1|mJ=E?!9b{9suHtyQb5hqsh3%1Ja!!;Zsv3a|n=-f_C^SjCMi1=8dUDC* zNz;uB=dK*zl5pnmvR+0D&kWUemFnC|j2dSP($!7X_uCbQgIyo{bUvsu?Q)Ra(m%;? z&7|p_%+1tq$x+{x!Sn$WONS}PIWaI6>VHgrq(c__-nQ{menjZ1qExpw3nDfd*0uK z59?+N6D+@fe6|z-?O&_0I!Hiun&}>SP2n5XBPuxi#9(%ZZS3nYUd}_HH1&&FvX?g$ zvy+E*`!20|LtOL9cexAd5oO>wVhv^_84PB~>9+Sw#L#NSsjykOyPYoD9m1Wl$lUjE zs1Fp)ZBQ9fenuu1>n&VZhSNZw_J-l{=7rh8qO#TO@zE>P+nOx>u42pN zFnU{pCH$TUPrnKeqAm z+_5^rao6@{O+AsKK)*rycY8@I>p_ma9wWMaGYQ=_d)Mi^S~CjlWvXD5I20|G0Ewl9 zxOgw5{vO?e^$AUw@IX6Tyx^UIJ=G3h{l{2|=^HJ3cu6tallpvRtJE2OI zi60N=thFe?GL2b&Ba}QtRwWEhB$UCNs_%=1kkP3q78}R*Ic~`v@6UU+Iq70j2+f%d zB3c~}oda{MzKaw42*%&MXm38&=)R8hf~#%TwK8hLmR=X4Z}r`1Z{@wO&q_U_$k=wj z&MvzS3#}J&MX~{3<}rT>l&T9u#-Ri`2$)%9%ThU6U#fMbo9E@}C>HgdCpN+2ccF}f zrS$j8aD`y=>bM}Bxbe2HU4G&SB9ikTB-0OHo%+^1Zo7#>45I0w!d{@s4Qzb(-lCf+ z@}ZrSo;obGxBtHI%+&1rSWJ+T!)ry&A{b7Id_?6JT4guNHUNg_!koHS08; zf|m^U7rFYL2gZ$@e3@z^;QTVklu~%~Ax(NDiN<}9%z^A4*BpDi5_e3Y+l3as_8gQk z)4P&9DEE8+;0n^Hb9!|iTq2~By z%tz5wLRubkuUT82k%l$o<^_@KO?KD28tl=7D0^rBqR?3-?gT)Z5aPy~bC7X!XELK+8|`t} z%|Z{}pb6Nr>_W;siDnrPJyfT#Jg{vOpss%##l9K@Zn7QMr7k;uUlY1wD##e&6@dQE zuGyF<#nEt4UmAB%x)Cb%xIF&oEfLP&2r9-r(?qanV9=Jp4ivhoRBl4(XLS z2NrY$-73@ZS}X0cb^Wcbb=6KxGMo@^VV&7FX#xAXSZno)Zn*JH9h_ARx_E**M1Dm0`@z)*W zgao!GJ)P?Tkg7ar|DZQkegRw{TORygRWK|5QyDY`8PdaYG@sn_kr*85GfwJz|819Hi3(IWS)>+$Er z5froF({jUI1B`}bp8Ym1R~%I14CPmw*(BWk6cBKSuFICVC)rlRq3{$YL_~C|)wif` z!YcS?y zvJf?yh2Ss?-;h>kwf0BT)fv*6?`a$YZ`0(TakqlZVzU*kP_y(;(^{tAxK4~_VIRujls3;Q zn}-dzJ&&gj60vy(9ZCA^!AEhg^%F*zg$9J)x7ek)nj}~0l`pm7cUDunn15dzaAcy~ zB|6)p4^BTS4tkutfQ5TLkL~0bJo3TtO!qs99#fn;i@B1Q{{vtesvC4)abeeUF2<;3 zqVSb+UE|?7B$^T@wx*7?Z2c{fEKSh5Edv z4v_P0blvlI-Rl`>&5zMZdjd-BXoCjiVKfl+NNy!ELbKFV{B^yk^0P=BuF4FDHT;{! zcWiP82>=gS=2ykxbfT*|3uERt>}(_={&-eQB8nMlV*Ny{@y>yprx4oS@RJB}q708` zTDnYOZnD>nZP99vl|J{7;XZz^;WD}70oA`2S)-J-Erx5=Vsty|=*b!MBVpOoeaE|~ z9zCnf@=;1A&3^P_>UfpCc!yVS*J>7s?+0{6H^eajG?mW& z{EP)7Lo@iR+ESZE+1%V^(QxngbI9UO4A||VBSW4M4wK_3%T8wYr?y9mJmWA%SDJ*&I=mKP+qdLOnd2V z%M_923loSO7fLvYXVZLFj6wIJ^AvPw=hxo+mB6wkChTQ~`lKDCRgmvlgF=nZz_-A4 z;}3&2`P@b+WJ0|XCAo;YiPG1`Q+bPm!*#Hg9Mwoi?H}xu_7E-9n6f^1VC8(8{y;#%F28Lky`|p~-xDnJok_ke;Qpaq zL?^l0;*^l90k$GyIL+DBnSCnu`||nYiJ_As>||6ZDC&#I89DLHrTf$RV^gaJ;r3I~ z@CK+SR)%wkY0^9?Go{kU14Etl8R;YWD`Y2%Z$_S-wDDUIrmUf^&2&dcTtH;5iq;jcnQ*r|6^E3b>;XDP266OoyCm%R4E=@V}dDMRSqs4LYB zDS}r0!}P7rd1E7qS1?NSAqfLM&tpv?dQq+7c75WkL#N3IFYQAxZMYcI_>t-H%)IR( zcu-K6IcQa4#bOI*(igKA)jOu^Kv2h0(lnWTeodJNTH9=9{$e4ppX{`=$LEM6#sV$k z{bi2U2}Af*JlXWJN)s=~esB;5iW45X*wpkb7UFKIA;CFMxoFYq)yJngp5E$gwy_$E zTV#DyG)?Q|#hl(M4C9tZemove<=e+h5l{Tq)vBV&A^kGbO)8J#Yn+@wN0V;lQA9f1 zKS4zGtT_CS^TM~JgH0aYO-IWbii>|Ly^QD{^9WvzZg*iH%G`c6w+2V*I#kjKAgARz z=<_OcE#k;8-l1rSq1c!xyTttoQsl>W_NE^C z)RvoIPg&~|=peu^fR|_*x-l~%Kq|&Ec~p?2hu~30alSZikS-EntAD=aUI9rHBONm-e|*s<7Affu?MDCIl>L zgUEIK50GP_`|$$N}Ry(NwW{L_nZr1Wgau3LgA2-VAm%Qjv`draQ$ z9-VcQR+Wr|=rAE_T%j^nMO!wXrxx!cm<34G3aT5k#cV_Hs;etFSkh24j;sSG&&NgXy5Ek7-%H1{F^ETYunxhX?eTQnK z*(3WJQNx^|N2is-g_gaC&xeT$1_2l%CjjU9jsI?11^kVfV ziH#Q&Mltpequ16Bhp|5$e`E-$Ozd+C1Z=2^4{Ftjw3hk=qsjGY8=7Z9Tc$08)w94O zVP%%#0lLtE9)FAPf``eVW}Px?R7+y19nCknper*Aax96hi3QM%aJO1xUHjVU=wUIb zq7z?bPFl(uGZ&oS-CdQZGQDD#2RlCG9ms3N>?eqhOR!Xw|3njk;^q5R-{8x_qj>4i znB?K5i~EsgPQJo38tWnoo-UXqGltpDgr(By1q-@ zly>D^VK-8w?n-#%i!$ThZp8sknR-bVryOObz=L((MJ(+2t{^$xHBo>RZ8bNEK3ev1 zhy6h0sy`cU6W^v0g{z_rCmwrNEdQ~Q6|Pw#w>~PeN%kd!-RYGy^8pJ2`v(1K)7Y&j zy|w{whP_&xp}O=@9c4X6?OZYog6QaWOu?f6l|To%%uvv)5xM z{fro0mA%NLV@d|j+x%*^&i{ce_u!Li!_(&yPlrTQqA7h1hl2Xe zo@DE<2|Yqa_QrjWDTv;TqBZ>$<<^?LFT{?rn-`O5V)en0@J~?b3qKpXA52@hXPuSw zcbRRRuyyKV>kpPE;MPi^M{Zb+*pF69w@`!j`)RhO+he+apmINtc{?YO{9V8Gb6kr| z_idj1)}>oQC%xd&`1`tyT!lG%4n|*WtE?eq1JCu?{z?Dj6pASlpf3;Px;(?Thfb= zEwR#-?kF#OTJ*JY-ZTvBbr@mmpZo39**2LA-IC7nkztG;rpcGJ>c)9Ci(<= z9-&&hteXan7T8>Tp3nM$d|gyVXh%=yZOP{$zUGyxxtQ9gVEnoPVNB--^F-P2W#0+W zh7y~~50Wrx0Fzfb{kHNvktNG2Cyrv}fFqT^8LQ3t zif54ivo4glm_&ZhZPp%$im7Yfwye>(olG^nQfJ6~%s>itswQsm9v=0Z{teUYvm>Ct zqYgaNhQ3+~JnJK4P1Z!-$l;f0`|S~qQmyBmeeChzXk`CUk2)GZP|lve#F;~wK$RhL zuNMPUAr&-BkKO>P$W(8BV%V4UO8?kuYurr*YO$(-4nH5jO{%r3LYh-^-U28aw}^(5J_rHQdSIaL4-^D(N(g7Y zHy(lFIsAku_U!`6BEMrOeYVg5A5F)bbx|W71XK2SdmSl%l@wEqwIV&w`&iJ$PF#TZ zq>%3OC8qs@Jnm=DdFx2b)y?W--}6!1aYDIviO=hx+Bn)b?U95j5pL@;!G{I6TI$~NnSNAUCqSq9_wHE z2~6e(u@9Bp<>24nS7(wDOWnEB;z@{Ui!KwKV#$c zVKwba4s%1-4CuT0=X>T57|!1KDvuO7uJq_0%>7{75<0ESyCp7|gJ;tmw=Wea5Ty(f z)gFH2r0e@4Ik4RqzWEbmWsPm>Ua-q`HRS&Y!r6e<{kknkPX9hP{S5kiL%yo2Q%8F0 z8uJi?$8#NxhQ_vJ={g+++xvbJeh6|=CD!-H+lu1dqyBH<`q;DS1Ab^Qgs4q(xq($#Hr5&OC(< zM;g31pqKS!N+6<@S;)A{EF0HLD`)3?2LF~DksRSlCFKpJ?j*tI+;&z@Ib^qE=>e5IL*BogZI2JcqN((tBBQ^=t6;tGv|=Q6=l2pc+M&4K_|Y<-s85k0|D8YdKiD9{yeK z^U`-)X+jAjaAF7bCoIx^f~d!M>xQc|wJ_gexUFsN7f*gEv`s8}1` zf$?FQgF?@{*+km3Y5z4TYSzr#;85~&;&vN|YCHQdnduWHxP})E^V>_UPc7ML&gFX) zccq4hEVvn)NA{9U7UKLocoKNdhOWM=YVY>0zg5Cu)D>y@pXt-lKGzC9)DAtpFG;`X zJu}zw;J7&Sz-0luU5t_*?6$LMzyM7n)(Xxv3-TQDGzzt4r|tdv;1ov}=hca(ca!lI z`C(oP7S<0zhzoOEkNc=yx*ca>v~InIZc2Q6*6{FWJ+o1ns&T0Z_NH_Um`|D(@}Qw0 z783b@P$geIf;hWyt=Xo$9(B?jAJfi`eX&l=EYg{xYBf9{_k4i9k$ubu4yMIA%fZ8l zoG%Z(v7GK>OyEo;$izz{MyB!j9Q~v?6!K_3yS%`|NU^=S_V`wl*HD2m!#3HZ=ISZW zIcfxr$UX1y&F+^;+D)QgSHEcpFAw_++JD(E$7v`pl`fb+YH4ri`PlfH7oyF8=38JZ z%7sboL7Y?q_oF+`9^shRs%}X-2q9=<{=%FD;-xx2m`Oi7LiI2LTnx2R7=@i~G(;m& zjnK;+u|>)}56M>YRc<%;QHs{_(a7xt?=1HYpZLT-if2f$x?4e-=Mj#(v(6@Wc|1|4 z=hx~rJF!=jd0-a9jPQL`SpX;08OiUTfa2q)e0x-e$M{MXz0yyR_}f=3@l_V1HzZ>_ z7jDxDy7`Kt!=Fm5?j>DCAWu@c2o3pCBL;QbBIiA1Mig6`ZJkt55|Z(ID9SP)uE#1f z+!K2NAG_tAIE@m6GPN|dS#sd!aeWWUh>B}?WMk@djVFJYF9WuF+sKpTDK9d6OdCnD zoa1hJYy^(C`fB<0Jk+>85T)kj{hZX`1#+vk9~3@p2+kPSdOd46+i9o2|2w5n6P4|P zyKm>j`?R$)VP*BSG(+zV>$GriGpJS+PM*}&2&|6c4R>TtOcQCZMlQU6_Y$OUD+r11 zgJ{`OL?;Symh`<2fvN7$iq8KSBEi>=hp0FbUl+ME80QO8m9lKaILK0$e)e%*8QAv` zN2{hR?Y7hGj(#4mq$Q*h(;6*&R#{iy8qi|9HK!>PF9^kmXSxu?NkXSf*!fx{t9$in zdG~Oa7HubG-e3dh)0A$q*6Sz7Mvk{0YM8YL7g^^FZ$XfPI>C zsrYEB>|wJCg`$m~!;3|bt7*b>UD*Q+vzSfx^3C8 z_r$irv0_Hb8enzl3HcFcc!{&9a-kpJ?A$IbR^99wj?{!weGs@gefIzw4%U{ts*>EO zLPoDF_wbK^D6aTA^(i&9AoyDJWi4ablF#?Q8|Eq}#bJX2sK0u+iz*Wzd>{uuLkM(5 z*y9aB+y=Z0AW-m|X4BX*X+3hPNJ1m=oeya2_5K+87;U1Sur*Nz<~dleL67{~L*?dXFP-mIxmKoslUWBV{Dzb#^J&;+%2 ztyY8lbm_%PZ!JJXAxv%Xn}Fjlm-2vd3!3m?76T0^0oc~#p)o0_rpH@SwHlm|=b>bPH9 zmyuA6WkI-oqO27NvG`@0W2FR<NJhQ-i$A%$1VfQ7kz z&TmJ8BB^nW*`DjvtloY6rRz9Kir$(zD)G}Ok(3h8C?%PbP!8P&sRCmvt(M1qM2$UH z2h*a{$eNm@Ba}ls+3>|ZC}ha#YG0bU&|JNb%8HNhLgzI+vD!jCzUaL!N-EV`fV;VC zjb1giHr6x}cy{9C2H@QF<`cnNQ**F!XwXJ=oqi=CTb(}9 z!w--hzf#ICx(j;B7TZS#GgOk8mxS4^!_k@J7Iu`;FXu&_yBaB$^I`5qBllGw>B+ZM z5FNToUu8gEnu@mXRm8B@wQyBzvg>@hwHz%v4!2rn1FWmJdgzk_p)T7Gl=(Kl1RO*W ztvEMrJaFLgTzh*g@G&FG`Qth7<%LH4^%~gd^y$6S^3*fA^Oblsq!DuJQnl5o2#>G5 zCqB{$*OXb88`V({Z)h{6F3~W>ng-;m@){{}reJsZVf};)l$ZmAZ|7O0@%eqUlF*3K zsZtU{));rGnsqkux^n0;>F9^r(?M)ChWVuVNAx9X1SOgrZO4+x#aqumG+p|`-|c2w zynfpp|DA>X2-=F@^XNN24W(m0HJ;jmE`?^b=Q|v=zQ%I__c*=IX)oz?4s+N|>(x#3 zh^nwfH0u!1+LW&|ZOdsowbE4gp*~y4HuDRKXyjlrb%BqaXfv{4#p7}31g`?OVK+^? z0}B895Z|?sX*M6Bl@V;;T8Y{WvmjC?IsDgy=r$|&x=-mFiKl%W5VTP)clP_X#b6q; zm+xm(zfe~yyknF{3XoNj+!m@xSs4jgJ0?jg&#jH(&%zvd>AnFS=-Dxx!oC1|e5M z64a}v3hH&k8j4A+w+$Nkr`bK$E8A60A@~$cj>Pgp)-2;_Q&WeX6^Yy{$%clWCS)00kXx)&o%e3navN|*TtjOnHxXQZ~Yt(3untexh*o*&v*p=-HyKZkFojX5~AtYoojCP zhe0Y&s(Cmjk~@D82=?ioDbk;NW-oM&?g(gIJI3}A80dduP!k)#{+@;A<+XlX7Iv3( zP<-6&C6o6KexarpMso3@b5uUJl?x?El4?EHgSfz9-g^emmgrPYImpXB?5G^AJhyCG zi$*)>aMU(l@Ke^()ko&wzGD3uV+3KJu5v(|2!CWe4Gy)PC|kkH#5u# z+3x8HBe)-B^yu;)fe|>o;UZgW&LrY!gq5e}b)Tp#vtTc4)f8Bq5{^IOS?HlUy=%l) zrg?nz(rz9!z~izmDsE^U0=&n9A@-|xys8MA##PoR|L&GnLJtW|ZJ<4v@%i^)d&!SO z<|XZ(ar%P_yhT%f%pR<=W({p^L8})V_3vwYn`ygO-2xmyG-ny59w{;i{xss`9ABCo zmNwefl*7XPvECK1 zWqruKnO>Ew5n8h+eL*#x-7F4yrCLZWoUM$0Qntuwy>I_mO~E_6Yo+{whjmv21#GDn z%9xTIq-~q@EKe34HHNv=D|3b&p(>8GY&9QJcCNAU z=El}^qF#b~bA+aOacF(cy-UCD@((Fi9I0(p!~2D1`e{qI-ee1)vxSpA z!0aFR2s{J7eq5%T0JmDV6L$L%HB6kb<~6LXJR5r>z=5Ad+Cdy(-0QWLpft1VTDV{M zCEY)5*@L%BfS-oErV6lXfRU5yST&zpBN9#sc!XgsDlaavdy=7f_1UG)g_4dIyb{R0 zbB{rfJp}3D$YPTkz1;DNnJ0;pX|p<)!Rk%pY^rP8OzMIBZ`ku~eDaGlEBn^6-1xAm z*WN}4NRrWB;}B`R&0zT?FzbHH*g^Lblmj?54$4`TTV|a}HLeV#IR;FG?lEbcs&mJE zpdkX2sWS5lVKK80JQEOnj}hh_XsE}?Kbnevf(WIF48m$-jQv;H5$Lx+fsWe^fG846 z`BJ`qefmuKt~v%Vv)+cgyW?5lb`y96t0&x<#fsldSJU1lXWTWv^IGspq8hfBHFlC*ymq^}>h&w|iw^I9$ec&zb(x`3nBq8vNU z=4s3Rh^a`=I>}Z=tog$I4#x2c{zy9lYI1aSXLN)3GZUu10UE#q^(UQ5fLRu}cRsKH zs*VE*dTV%qLyMoFewH6ZDoXpJnIh=_1di-K#iWV&d-m67#s69De~CUWbfXy-4gNv! z^@0D$PtXrZ<>UN+jJyr!=$h-R^8cr@|2YPzoNH1y zAeS!6?v_ES`Y*D3_P@}24ot$p)1ebT-y{9|nU33YNAQCEVN!i;n&S_1Zr$<|)SKeB z4IupN4x}#==cM#Gi`=$|R3w~at4*l=)uQS>4l7?dW`Fi30ay`lZ@I2C#R z&Z+pq$=*~A-~iC$d;!eY=TwJzxX^L_L8vJ8SNQa=5NZH0B-#T^i4X{|!A-{xWTFae z@z4qUu?5g0a!Px+$f~&*yTJYsl2zlTdy#-JWfMn8{?w0_dwXy@uPSW%b zY63mpUr7KjrH(G0ovV$_pDS(vtzSnxH}(Wr3+OnN?O*^CrK_#oKWORU1T)9tqT}Yl z`m@fz)^z-Qe7t;g=5&9i0ow2b`24ZQ?yodKUT!|1%zsJ)BHRGf|B}YT^RIFMK70W3 z|0DTxq;LAFLGdR@V}(-^YHTiYZ-#Py#I@wATOBrAC7f#GKSm0oB&c! zfW{N<1^a~or>ecZ3mx}g07LD}?dkrw3;?vD&*=0ZCdOu9Gj2W@56qm`#Egf})K~x} rz{hV2Ha6ii;WFnFqx-*$82m!t*~Qq&