nfTlWNl rn Ѻq$³*LJ0Y8i(?Q&VY{ V~PQ?ltjddh"=5X1jƝi*rHKNLfngn&aIYu3.x!~YR 'S x” "dEwԞX^\`Lٔ*ܝIc^lyRZl l*bcI]3KWd,_NgHڨ42B\`AT[9LMx%CBkBD@ t:nh m)^}1XJ ,$s55Hyw(:ޱJ£t.`ڧgj9پE)+5.C-ȉ_˩UǒW9Rk~·%x93"HPKG$+ ]B=?'="ʜ,{n0-0}u6@]cHsPʿE$Xl_ ԌQSI=AeGG…s|4Z'j"RrcskK~(p8i}W? 0BTٻFkɐw w\DܙDqeZ>|kO",p}e=u&!*q(b3UP&SΈ9Un.Wbdž*–dh28h5.<n=g8e6dqjS$5$ʤC=GQWtzݍd d4Yinbk+yrVP͏auDXwg\y`9@1({w:=)hl2Jpg:5re`ڧgj9پE)+5.C-ȉ_ǪuyC9bΆwhhL떵J{ȱ|6y E0k8͢g/@U'Ì[zsȰ< SuR(4eDθЍg{:״zXPW矪85'v%pd$5:4QӹÁRroOu_TJhg_*|B5XYj Vq̓i>^a bDcD)k"v"P$al2 r䛠t5!w;;x詪b8!vsqL;'nj%O502fsFkA4ŷ'~TACQMuoX〿{T$#s] کJxqrIx/9e?MQ d^m搋>#, ȉP׾+ѷ3`=/MahI3 [NwR5LstrsfBO';p ,H4К9@*@a ބtCSOo?G-i%jڙ:ι\n6>GtF t*]Er%'ؤLXuis*^dC.@)"FTk޸2CܟF{W|Hg`0|5-t i3"zyKN~6ށ&/D?aC -ـȝ(yZ|5-t i3"zy$Iq* j~.=n^˒4R _$[?q:{7n0xε-a7OIZ)Lwt*]Er%'ؤLXF=2&@Zd'>Dt5?[ppu0x<20Y^Då_drq2DDPpNߪfr4mݿO˾ؾU!,^xqD90֔xvvI\q'ND>+9Np ½,z.Yѷ3`=/5( {M  ',ș)^}nfa^^g"K#-]Π~նWdN (X^ž?50l>#zsM^Ganzڿ04;A.@{q є2"K#-]Π~ն0"i =?c19+51ПgY"X`q[Toc-IwAԆyy6FΠ04y?Ug=K>/J5[a]7؀|]WB# r8S'-NR˱fK?a俗b@mZɱZ2$svghJfjjY:9+n xĨ\Pu[yKnhZ@@Z9^2˿sEʈb(*oA.@{q є2|NqBD4'[@,G}4$gY"X`q[Toc-IwAԆyy۞(j@>Kf~FY;`g[6Q Y3"THQAyK ̕tBFaOɑ' k޸2CܟFrEOdk8>xas-C(M>%p>+%Mht)8[)y?oRB$~NNE}0q6<ADAPJ1%@m긴~"`ky& ,BPAu Ky=V8Yl+|].And1e❿Jv`'Ԯ:&' &c ppu0SEnYlVVj{=si N|tkH]=V8Yl+|].zޟI^m}:8Kd (Ia{޾mE_#K'k$.TU,c_˙ʱC%$rH{?n2Dة6 BOE]tHy{ѐ$ajNnn|یֳ?Hhh[֋Cvk VO`' j)cf!FY)#w@LNĻ='УC}rA9%EGawo9<v6P aP_8HUi\arKb>`Hy-xk=Y ND2<_IRphlϰJ8WV+E!>?JOcI $|HtO+W7"h.ȉxT2WE2QMyNR?,fIڬgnRz9n+ 0"wȾygzPT @E)[Us*zc nz*(ޤ$\~VQ #m^"&m|znUJ  0d8UAB.|processFlags($flags); try { return $this->loadSpreadsheetFromFile($filename); } catch (ReaderException $e) { throw $e; } } /** * Open file for reading. */ protected function openFile(string $filename): void { $fileHandle = false; if ($filename) { File::assertFile($filename); // Open file $fileHandle = fopen($filename, 'rb'); } if ($fileHandle === false) { throw new ReaderException('Could not open file ' . $filename . ' for reading.'); } $this->fileHandle = $fileHandle; } }