freeradius-server-3.0.21-150200.3.12.1<>,&c$p9|iCu3xяw@_67s Ky?IgDNDncg?p[Gu)(ZԧM(aKy{Eb#"MM^ 5<_қ>O6?6d ) 7LP\`y    4 ^   ( 1 \Č<666LXӄ(Ӈ8Ӑ(90(:(=>?@BFG H`IƴXYZ([,\4]ш^0*bc]defluvXEw x)y1p z55555556Cfreeradius-server3.0.21150200.3.12.1RADIUS ServerRemote Authentication Dial-In User Service (RADIUS) is a networking protocol that provides centralized Authentication, Authorization, and Accounting (AAA or Triple A) management for users who connect and use a network service. FreeRADIUS is a modular RADIUS implementation.c$s390zp362^SUSE Linux Enterprise 15SUSE LLC GPL-2.0-only AND LGPL-2.1-onlyhttps://www.suse.com/Productivity/Networking/Radius/Servershttp://www.freeradius.org/linuxs390xgetent group radiusd >/dev/null || /usr/sbin/groupadd -r radiusd getent passwd radiusd >/dev/null || /usr/sbin/useradd -r -g radiusd \ -s /bin/false -c "Radius daemon" -d /var/lib/radiusd \ radiusd # boo#912714: add radiusd to winbind group for ntlm_auth # add winbind group and fail silently if it already exists /usr/bin/getent group winbind >/dev/null \ || /usr/sbin/groupadd -r winbind # add radiusd to winbind group /usr/bin/gpasswd -a radiusd winbind if [ -x /usr/bin/systemctl ]; then test -n "$FIRST_ARG" || FIRST_ARG="$1" [ -d /var/lib/systemd/migrated ] || mkdir -p /var/lib/systemd/migrated || : for service in radiusd.service ; do sysv_service=${service%.*} if [ ! -e /usr/lib/systemd/system/$service ] && [ ! -e /etc/init.d/$sysv_service ]; then mkdir -p /run/systemd/rpm/needs-preset touch /run/systemd/rpm/needs-preset/$service elif [ -e /etc/init.d/$sysv_service ] && [ ! -e /var/lib/systemd/migrated/$sysv_service ]; then /usr/sbin/systemd-sysv-convert --save $sysv_service || : mkdir -p /run/systemd/rpm/needs-sysv-convert touch /run/systemd/rpm/needs-sysv-convert/$service fi done fi if [ -x /usr/bin/systemctl ]; then test -n "$FIRST_ARG" || FIRST_ARG="$1" [ -d /var/lib/systemd/migrated ] || mkdir -p /var/lib/systemd/migrated || : if [ "$YAST_IS_RUNNING" != "instsys" ]; then /usr/bin/systemctl daemon-reload || : fi for service in radiusd.service ; do sysv_service=${service%.*} if [ -e /run/systemd/rpm/needs-preset/$service ]; then /usr/bin/systemctl preset $service || : rm "/run/systemd/rpm/needs-preset/$service" || : elif [ -e /run/systemd/rpm/needs-sysv-convert/$service ]; then /usr/sbin/systemd-sysv-convert --apply $sysv_service || : rm "/run/systemd/rpm/needs-sysv-convert/$service" || : touch /var/lib/systemd/migrated/$sysv_service || : fi done fi systemd-tmpfiles --create /usr/lib/tmpfiles.d/radiusd.conf test -n "$FIRST_ARG" || FIRST_ARG="$1" if [ "$FIRST_ARG" -eq 0 -a -x /usr/bin/systemctl ]; then # Package removal, not upgrade /usr/bin/systemctl --no-reload disable radiusd.service || : ( test "$YAST_IS_RUNNING" = instsys && exit 0 test -f /etc/sysconfig/services -a \ -z "$DISABLE_STOP_ON_REMOVAL" && . /etc/sysconfig/services test "$DISABLE_STOP_ON_REMOVAL" = yes -o \ "$DISABLE_STOP_ON_REMOVAL" = 1 && exit 0 /usr/bin/systemctl stop radiusd.service ) || : fi test -n "$FIRST_ARG" || FIRST_ARG="$1" if [ $1 -eq 0 ]; then # Package removal for service in radiusd.service ; do sysv_service="${service%.*}" rm "/var/lib/systemd/migrated/$sysv_service" || : done fi if [ -x /usr/bin/systemctl ]; then /usr/bin/systemctl daemon-reload || : fi if [ "$FIRST_ARG" -ge 1 ]; then # Package upgrade, not uninstall if [ -x /usr/bin/systemctl ]; then ( test "$YAST_IS_RUNNING" = instsys && exit 0 test -f /etc/sysconfig/services -a \ -z "$DISABLE_RESTART_ON_UPDATE" && . /etc/sysconfig/services test "$DISABLE_RESTART_ON_UPDATE" = yes -o \ "$DISABLE_RESTART_ON_UPDATE" = 1 && exit 0 /usr/bin/systemctl try-restart radiusd.service ) || : fi finQG!" Ok[ 4 e!%hE ` No<w_6jCd "004 L' 8z # t!( _ 6+ lfD .w Wb!4 j E( +JmVz!_ ]O6 F r$N  60O4Dm  !X&HI(9YI8(Y((I98(xH(X8XIH{@X8(z9(98I9@90p(jI(9@I`9x(((@I((@8I@R(9h(P9 90*aiaBl&17 *' j) E3 p.&!]M }O .=O)Eu "#B:J+&<FF7\n;{2=%F BuQDSk?wXV $F@VRxTkrSL kR "'YL61 emh/1kc_hn  aA5f /n 3AE)lva VmL?J] &!g9 U" S L1<aZ [ 'F[5 xxawwH' [ XYA聠A聠聠A聠A聠A聠A聠A聠AAAAAA聠A聠AAAAAA聠AA聠A聠AAȁAA큤A큤A큤AAAccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc^zM^zMccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc^zM^zMccccccccccccccccccccccccccccccccccc8a5aabbd908cf07b0f2e622477e2027f97cca4e54c2d651f6cceef1e0245abb9537dc913ca617dd3b64e0a0d6726a8d60661b44afd2836ca2e3362f5232c1af76877cf91d3f456bbbfede10b2104aef6f0543fb75c4fd1c77ed5eeb817362fd0a049f99bb80f2f16b953d5c5011fdbf98a3bfe2cefd963cab58546f17da83f60eb3e83e984887067ae91e3ef36553a3503292296c8d12d3b1d0d10c34b263ffe8ae096c15cc0e12c19fc104579a775b111be461dfc954d5067a0cc568f53f14612cab60855fcbae684e860277611de20ba736e8ade46571791d6def116d5ba4e9d4b49900dc46af19ace46878a20367408156166199dc83015c0c6c48c5323e11b686b70fb8cbd7c831698dd8ec6f8f53dbee942b683268aa7c0a19c408bf3947bb0950fd01b446eebd65c3e7eac66ffdf8a7067c006a034460cb78f3d3ed36fb863be3a8ece46366d50969cf71feaf2ae5ab38fe39d7021a63b679d16b2cbeca02caeb6df36f4ef5fa8e34b8b3e860968b7704d208fa59a06daecaa83ad33714f5007a8604c6e1e9ae0052713a65890c016d93dd2fd4de16cccf8ff8ce1a6728d792eb7d1b50d9da5ed3c89ba6e2fe415c37a918a687888d9b348af4ecaff9edc2d3545e0192a82d1ec1ea7d7c2e2c3a534cff700e1f6d6c0878fec2e0a3e9c1f2b05ce22abe7428bbc6094677ac16b00c86dc4e249aef6203742b277a2cb78bb5c7433891120096e7465aa5aae8662ddb72a3dd56676d523243d38319613ae90b2c361152d097cd025bcac246037ef28a422a801710d03e0bbf4618c61f7bea8537208372c09c8326b062b8a23b5cf08ac85ca77dac25d9739326c1d0a5a0d11e947a770316146f27e90e6164e2cd6d4bbb25fbf29b2219bff150fc58e05d4c8bfd9dc1f0588467ee2fe948f7ca3da2bda2ac55559e269c48c6276f58256d7aaf7dc46c2291470b6648fc7313e849a7db0730b25064529d19fe3c4612f0367113b3f0ce376e4acc454ded908f11fc5d73ce9145b8862aff6820bbbd5cf3dddca598d0b56b147c7b6633627643041391eb33b57af2173f1278c47be5a8b35960ce1875e81f35963033a71b46cd13ac21738e608fe3006e0af9e9cbdba2a17a72797aab1fcc7e66f306e48d3de55832d7886a071c5f9f941a1a871f2679b30314c4cedf0e7889e79bd3d4f23ca80f6cbe491aa486e7dd4d3e3359e05b5ec7e1f2fc4b9e7144988b03445c239d9d4b2e3c650048c0823dedc70d1378854eed596a0aa6e073400498c189d2b34f8ff4d1c3e0d05587256fadf737b53f780c8b4caca010f402df850d5c9190872d7df1dbbd2d57203bcf6ed127d0d012f1022221d51154149c83562329f1ee5b308d2f7990253770b325827a575a4f342b72b209cded3bc6435fe032dbfbddd12b60507a9de63ca436350d21f77fa901c8d0230a775c48be55250620694124e9582b09268b01406a8b1794adf8648c4488bfd709ee04ee744db5d7a30c1e9e6f5512c487a0e364580ac9c2c155306eae5fb2911c5852792cd6172b70305150d428e48b71de06bc0a2aeb212f735128735e0ba2e5be5a7ea54c6e3e1743154525f36265eeabd68dd929dea521f126426cb4cf442d73acc0ab0e1aaa5e97f39ef896a9eba5273df312212ba68abddbf497ed5244e5f624311fb4e4427558c8ac2db869bec2ab1118a5affa190ad23ebc39834dd22274bbe02303d7ec84e3ac96ffef1e4fa4942f60259acb64acddcec78ae4b961f49eb32e433ec3f9fe04530b8212d98ce0031a0c04c94e594941691d8c27f07c7d38cb1f1f46fe063a18d6acacde6eb155332e9004c935ac861b16b0c19b0f5fa237defcd03bf00824e13dbc54143ec4e2a6a9b1733a57f02b80f47967c47612f8eafcb5dec8a34f46c350b21224d0cd0d59d246e5f09fa120d74dd8af1c885af12e25c83cfc8520c2557e57d4e5a6ac740725a7a79fb9bda736a4336f0186044036b8837273ff2e4715ecd66ea703276208d9f35348541bc6c6a1f5a72b05542d6e5ca46374e11b94d501e1d803be1e311ecda722c5baeb89bbdf0e932ac460748c060b1ee65a84b81e75d13810894cddabaf7b3cd40ec218ad90d14b0edec0abd0f4c3e7346abcc30d1ef0e2cb8f38cfbff2b5161c1edd98253b9940dc539e8fa9967ff175fe1d2f72b48df94cde8484d1667b935326f51839c002f59163af879307334ca6079afdc06b31b2337657270ea117f2d0408ea93f7e40607ff55b8817e3348dbe9cb662b83d8797b5658ad0b6f31cc4daba7f5b54f261de25be6958f728b44070859c5564db0b1c2a02091f7ca30656a845bc01d2ecfd326c1454d6e9023aafcaa93905a86701ae696b4dfec480abc9e11042aab9aa7f2015b43b17b93bf4b9752e10d32ef5aef8192f95a52e736dcfe6914ae49e5e2b70b5ea578c9d0cef6642d68af6836c7cbc4e4f2c017969227754ebfd82e55ff169140b5553c2760436c3fe44d81376fc4729607735f711230e7b3584f2dc5bdba4a41240c1234467dd2a4e5a6d727ae10c7cd2e4c700e224e94bd4b89e7cad944e638d5357225a469797a11b727ade2666a29553b7e12ed204c88235ef4e36cf025b9830c9af1d01fce17419695b6622019af2e9753b53e6bb8f3317936202a51b848e6303dfdc082d0719875a82133ebe9001296d20f3304980c838313f41cbbdd4fe25e87efb91090ea0e40023b1f6c78a3999752c2f5829bf40f1baffaa2172ee6b27252aa3bb0e14ccdb88ba65fe5a00967b2e29b25e7320a8f43386cd1edab1781174cc8d3fb50e37632e1a296ef791f94e6f78efd6221f8984d19dbb21a231e1b340f061ab9e90b76c03faa5876c04526f383fd5ed6fdbe2c09475af49596d9ef244dc391de752a6ab6500853e680e32789b8cce3b47bb057fe5a828ed3b1ef3c512d47ace6ef63feff73d84a1efe4f7cef0951ba73ccd175eca9193bd344948545039237b3c7a260d9789c298a10d55ddef8cae92655565da9c62308e70717122f1ee89183ae518f56adf30263e6b491f8d24d51d6cb253ae62f5e362346328a6dd9cd929e48488830cc24259842f13e362b227ed79c6999e5882e3e9a9bf3991deba824dcfb1c532e6d2f0b142741544636f6ec2ad3a12b4257c9f88f2bfe5f1c8db1aeb5478b03597419591ebf4633a0253b448d5b2c66a9b6eaf94e0b2d14a395e5bf8d3b6ba14995a46195739d5b9f213e2dd236b4e25c04d940fbda7bf6a271843c644bf85bef7cdb3d7bab661395b7e076b424e07263e344f270dc0000468adf57142e94726ff9d1be37236c8b100047c811864b0b55920c1ebac2222a26cae07e0dcb4c58a23f1d349de31a5181903866fd9af6cb18f32eea957be776ae3eeae96e9efc73f8a894f3942ebe3b8a6925abdd3c56add0e58cf4ba1cfb1384dc276f515bb218c810640770c3a00d6d8bf069e3a02145e4961db39e3c7a71be428d19246828d2427457805e758300ce6f0fb67136812b0c6f55a117bedabb6073df5f1adc98f67f9f67a965d3e4d85372a1a4904b87e5217c904770adbba65b3bf0207b821cfb5d139f857d846c6070fcff545ec965dc1198895e37601b9ab056f1820dcec7ef2f5e13345e91761fdf454a38b09a4da70039f0a30ca7236827b364d95b8a591ea6ed66f2d3e971b66570dcd5a3fd9e479a81fe52b0141fa700bba14374f347b6b43b6f4a8800a12adfdb29a8fcc0f4484c4261fed88a6d5c377b1f2dd83f954dd9cea1345e05ce40438f5b045f4d92db6be31f22a160ed38126cd736d360be66c53e14548722bb10cb002e2a0c9ecb3fdd1893b4e97952222040f5ae2a745e8e22f5653bbeca416506f850783083598e0758a5c0385c22b71a465eddab5ce281b400caefcb14c09a2e50e14b2d872bd168b846edc1d5250d1add9dd6eb4e9b4de2e13c271e8a13f472ee5f0cc80d6897af8c5b2e0ae90fb92f20b9cc1104b65f8097a9c194369f06c51f67173f82423ba2ee84a2cc9522d40cfdc99e68b752a6d41e960263a373ccb0e9349323527b861ba030703a02da680b764976c7e6090504cb23aad5a3defe69d8f23baa1dfc3a571ff3b6efe294d00440ae45769a537f47a00cde9a92d21f0d3c474dd65b69272046cdc4d4750bb0449c3b014abf7848b1fa3fdb21cafff9efadd1226e408ec45ced777523581ce2bd68e0c5fe7b61b745268821681001e6fea4dedacc29a103317afa86619b88b32c317955cfd9717864940adee017d5205ab68298c82d348e3ba017cc908430b5e0ca77257083eda9e428d66bf4f60c76e0ab118e567d30cbe0e65bcb869f1daf94fcbf00f18291304e553a9b3bf5e8ba73a031af3ed70cf495926c798c1998a429071c6a9a9c12d5301262f28efc78e9871bb29bf1cc19d82ef20dcef84b0c8f2ad854ddd6608005e806ca2703a776759f81dd64cbca323e5f3e1623cbfc279abcbafbad59f44b6e7303b6590b0c818afb57f68c7a97ccb608c072542d5dadc3b83299f8115154851851da96240ed8a57ed750b659b18794e90ef897602df3dd83a57df4ed17c8553a5377d39d17a8fabca93890e91b4a4c411098c685b41f89be0b307c11130506b594b822535e760c058d305a61c3aac7d758e0d7033c95945a892c5df13cc423e4febdd8050175d6afca21467af23c8b55c1f2008d4dc16bf81b0c2cc2de4726a5088127c9f60f9741aeb82cae1d99e5e70a7e29072ab68099e69484c4b7c9d01bc9837ab4650e83f55ba466c9af4292068d5c9767849dfae027be2c73d68e98fac5361294f8c46195fd2a49dc43c04544ba86a6bba75937d6758de5dd79d2017d345d502346788a8da5225bc316be774c1971c97fd3d5f1f0f2ae4dcc1920bebeee6d15f99706a309ea843028bb7c2777179c8a7f4700b8587967def9561c0a8a86a416cfa8ea2061e699ef1a2fd9ac80c05cf6c71cf8e53f576069714247cd4a9736e72e1104dfcaba8be8ccf6f8d57abeed18d584f184d6bd3b20f2078b3bfb7a7cd2bdecaabf8f1e89f8d6a61666d3907ceedae8b665db93a0f6b3fc8ef21c8f70d61c331f51e705c8c11bb8c4a6fe1cd09e26d27a1cd29e99bb4d89b880002eb54d99d5567b553ce5a6e681e06048ac884a5789f9f121ad73d86f617df48b9ed955d669b216af18d3e770b6fd079dfb3760a1e1f8976dbf64dbcf3b80c295287e5ebe6a345120ac11f9752835f382fa6150ed4d3a5daa53f41b355e72b4dc2e6f8e7da53562fb4191369933b08ed25a8b7d117a09ae6d59d09c24e0ed65eb73128f866312cec1941b0d5222d8fa9bd842a55e079efdd6e287086bcaf6182fa41d96bade16e6d6f4bc0e7e117a2b87b16ef1c9a34ba79bd4491663fa6c23eedc86f7e81068c4eba56cd09a9bab6398289a50750c75e17fce9fb803ed2faa99d7c9a8687e4bd76d90441fa77920a99fc72e92e42869a9919e8381f4e8959577d4b2153370271d085e8c4488d1dcd0f92f177182b4593c0b68c89896d899bc2cbd37197efcbe8d16566928eb0cc1e86e71149a98358bde939a6e918fd6fe63eb3fc9632699fd99f2a80eeb6d48897f6daf8c718a63eec6c986a54eee2596a803436931a06efcd32ff8e9fc9338ffade69ce3c22dd65255a00f890938fea9918fe2ee1d3814d28e2414cb2a6e81d74acd62d8f6efe54ec38ef622c8580c205f4fe64daf2a46ec96819cd6ca8c1de3ffbedab5042908b909f86681c242a5868135643bc4b18cbc36af83ba9cccbe321e6c522ae1ebc2609a5fb751e91116f2cc9d11fcdf8ce687ce333c1a6d63f052cb47fac5f6ba1d744b3c08519d4f288e9938aa8da1700341f33e93ac4af48a8e3837ac6d21ddec906bf99e84d99d6e63a5dea16812ff583cb38a4e6577a0b18a809f98c34c3f7ba2d05d1995556d06d37e6ad241018f7f4d1e73fab24d534eb12765d5aefb877bcb5fa4e99240189ef8b716bce2fcc264fa228bd2b5d610f22adc261a9c37aca78ac3d23292c80f8014c53e10de98ebb40d6f302a316959c8301feb7cf29fd9ee9239afbed35417b76625d41c7ec1ccd3556fecd9ec9375b74a8ea403faddd7825a3f76fc9e3415cdafa98c5d62d432eb59c04498f3e8a46e9a7aa2d151be36072df097e8b9d2d423e7a6baf10cb408106e0a26ca1f4427a061b57dd9a2199e15d5a63e8c33f281a49fa3adf09b0d66e0aeed09cde6bb7880c91fed6e20881bdada310b6171e1977ea3d5672bd3dbc2dfe64b91cfb53bd3c9f46dd7fbe3584b9fafe5d32398c7762808f87cba0684e0ea1c1870ea92b412c21b829554d5fc48a7f825799f125b30adfdee54a4ae3865e7a75ad71b91c1385190a2d3fb876cf20cfc923a0838690975440b9e433ebd9df94a3bab38ee781f001ecc398047c68b32c79f4fc9bd4317ec9e10bdc2212f60d676f4fba5eaa291fc7e6d13711d8d780b5530f102cdb3c8edb599ef5b755b539d17f42024bac2ec77b80dc0d862ba540e7df775d55898b63ce36c6974606bbb18ba986a6c84e7b216e555f6846f8b96c74913d97fba58da0d16c4499b79a4f98f0ba16f43b518e4664fa51e9b6123d1c2d23ba0acb2cef174aa320c1f8ab09cb5e5e5248062e784513e1cd3c57f5c74f313a8d108bacec7b5a668ce8f45f6186f2925377734bb0cab6dd53b9a9b7cef39d22fc5448c800942532216beab986da0fb33d7bdda8c72d4adea0552ce7ce5e35058af93d978b3aa7763af392c9768a7123efc1d1fbb83ba9fc91ea3a15bc747cbf5ccf6c9b489b1ff57054eca54fde9bc3d0e649a7fb4fd27e86cdae2db051e6cb0cd80773fbcd075c58fbb3c67ad4099e20518dc975dc8ad48588c57c3691f107daea6ae0c8b6868708208e23788352c4b1501aa58f6b2ee9e956ed9968ccc21c647f46b42140d1a239ef7f2219ae6287064a6ab01d3373a3311851008b22bedc6b11efb16abff4ee94827b5d17d66b6959341eb97c8b2b19495297d0d92c2ce8ecffeaeb80ad0f6341708f2268c64e6455f1fe1feee92137d3e4573a0270d3e53e3df6f545254196cee9c4870d2038acc2ba47974e0ca89f7fc54d0a7e828d75f9c21e338c56f7c7896a41e5472441c292671f357d102f0a6f70886971197e195baf90d061a10c006f8bc89c2b89ae51be8c9a2a5db31f298c5b6df74641166a0185dbd11082567b0b4b1af29cd0b89e7fee667f085cfeaa2dee0326ec55be3f6bc770b2bd59e7bfaaf3d1cd428837e57915ece8d4a1e1ffdd6bba30c6f1ec1893f8bb69756302f3c822f810dbb5debcee7c940e1aa6cdf4973c1ba37e79b7301dcf5cf47b87e7a6333a6508c2fc3cfb68d84ed35ed8f1c746eb692f624ff166604a1265845c2e927faadfba627d4047f7320d0d1d12742528261bc07a8f801b587b29c70cc327ffb61a57d3c635ef2a1a86d20732f134f1836de71d46e1cd57ce3c5de5bc263955ba77651767f9eb0bdab37f35b5ac38f39e0113fcf9a7eec714b0a5114144be8242094ed587829be45ba9f34bc790af2d719f51aa605d2fbfd7a6e365a5eaa121cc66cdf7edddd48ce2548fb04b0df5bf6efac62ef935a027314d8e15a09a1590e27ce19879d83204f9e5f374c584def5ddb09b5115471dd2cffd47926918231ad9510a9c341860d71fa3e24bc18e2184decaaf51862e17c048cc53eb16313bbf3fdff8f6b67707628d0fd7849f04e0a56053b3e5838b28be4c8743ae6a70b4400b70cbd5f85722ad54c93b35ed1f17d73e62e8bbbbbca36833e08961658a21610316738dbdf01edf0918555da1ce7673690f215b885d7e59cba3bbf4d3a13725d0fabbc109fcc34d61c300b0fc6543d8cd213ab58821012054992c6df7a1b030f556db5ff7260927dfe6e05fd63487c15454f63fdbc914b428506f675a78c9bceda1c85b1444b9e69f3e74335aa1e9ce27adc8b81967e7c1d265fca60dc86bbe2447f0a6cec837f427e8ec9e6c885b3cfceb11e7b9800a55b1eb67bfc0b8030828fc7ea1f8faac08231b3f61895b62ae233e0f34784063c0278b816b9f40fec09079b7d4deb3e487145fa885334e8a0236a5586e8e205d915013ba310c54103a0461308d286904f3576f1dbaadfe8e9d935eb5546bdfcfd2e974c5e3826025fa3d7ec572627fe3d3ddcd85ecc87c33b7a3db38a53975e7d21146a89fed5d0ec968e83d798717f6fe82b25b742443eb2d5a4f3a2f896096175c56dc2ad9a4a9294ee6af055ae9a7ec16efad762631bc6bc91a918def7177714009c71029cf8c89516f1ef1fb6743d86c9feda6cd16813c9b7e53e98b48ed436d5fdf0a92e86435d939166adecf0d69bd10ec72b26ceb93dc2c2939d3b6ab4f5f9ca206c0bda48589c81fb4c993df4f1232afca450dfd8536ca65b1b922988faa82857db5f9aa6697184ed3ff588c04e47f42f0717f1e2f09af355cbcda24c538cd697e1dbeb63f77ebc26e71e0a1b3f524500953cda2fff8377f46e0d7fe93ac9295e48a113b8d9d8e059144599935ba6c9e1f66dbf7dbb6ef069b359d6f59541d7b4ba41cfc4cae5811c09cb20292799fd6325295f76cf37d7e02607a3560a4059c660eac6cee283807f8d87bae1b2cad39075d3e7929c94afd77e7e677eea29d4ff1f7b92374deee89c06a04625834b71fd584c708f46410d3237bad977dbb8d808c592580e93b452bec2f8c846bf7afbad098f87fce59780bffa260b9b0a6ceafa9f54467751244c04cab3f00e600f983cd8ad216f9cd8ed410778ba52cced9056726ead48ea4d0153158277102895e7233a2c6ccbc144b91b91a21768eeee032e05679b4a0ce9ce058fd6c30fe954405c8fa70856034689a3a56a8af376c39a1ecfcf7ced1f17436f954a194ab297c122bf2b94533e04327e0f836c097802e2253a0c4fec6404ee299f04f97f2009998611b845a4ceebd62d954dd964fc70ce0bed6d9d976be005dd4bbcbd395535e9fab9176172cf6c90625060b4507e682bea09fbebfbec6d9f55f091aaf2142eea2f9d385cc6bb4a3ad6859d5abf0bfad4842a1d99c28c1ec2554d8146f1d094d01c6334be240a5d9aa799ac3a0e2bac95ea09fbebfbec6d9f55f091aaf2142eea2f9d385cc6bb4a3ad6859d5abf0bfad4d1e3ae7c32562723ae3a56b9153f7a6dbf2518ee7844d513b5fd02043d61f4eb8170a326d03bfd275ad0787ea81ab210092be7259498aa31fa0d1d654dfe86f58f223390cadb812db96c2d8de2411e785cde5e3f074c41478c7da963a7ad459136529c207f3d537a22f865916c81b611e404a31bf7dc59de44f111fc09b1c2fa79659ba31d6e74751a223e7ff36a2d784cae1d91e965ce9af08513a80ededdd740809687105eb0164d0a52928630628505b0b1f5f75d27ebf11bf20f25dfcce04d8bbd652f45cd366b79e185fb9589bfb98b6793455893767759e68e231938f855b9cd33c20d7f953921174fc221b4d72eb8178282186728199d0d1bcc52313f4d01b99f4c42ce9148858d22db6fe001745019a74b9c42c65c533f6454f751f2b0628cac686194c463c75a008032456f96dece439e82a96bc3c3da57189828c0d4b66d923f517f383164b55fea7b67f35e77208e72bf6f8d04fe07f6a36807d342f084c9d385869142e0d4cb034eda19eec8ff0b1ed1a8082848d253c05a4f28c5cbdf119e0c504a7ea2e70fc954bb50513f2d2973f8711e239ac63be25b39ccb30fcf48340a899b72da408c56b01f8c8889ea8d70032bd8333ddd8431f58166dd6dc3c0b0ac79139f42b5bc5e2b5bd9028b65fc5b82083b61e8a4d28c8522b5caa62ed22349968a1eb4dda74ecfcc3eb54443bd8affa43a8a3667042078daae3161b357940f91ce8e38b7861e18b06bc5e628078381a2914221b1986222ec9e8fd32ca89e0068dfb7127550fcf123183cc3ae270a926105d7acfb2d3d0e890324ecab633e2021387dc97dca3cfad1c5b8887dc7dcd5a558b39e48099d860b05f15f493c5a6ab75614ad25c3573bdac3be378b21108c185a64b803b16f2a93ed4114dab3f5600b28eb4efb2b0647eaf1039d8be35c21bca13f67177ba29ce8dc68b368d67808bb073da54ebe4d41da5dea5503236c671899d28f9ea98d13079c42f07c0f1fd67abf34b7ea6ac58c950e9f4eeaf5fcda2078bd318d6598b5e9cfa4480610a941518388343cced47c80ca9348297e4a3e1d61f9a964e480d0dc7ff6f8d200a428066a2166a96da5865cc1521ed618259112cc26df867378dd8f6588a3915fef12973d8b67ab54e8c513fb7057efaaf513477ce4bbab4f1a227f069506b441b95d327dd5e268b9df1b2a8958395a3f8fd70472824a1a4572540dca3a9982bba40164dbde4085753eb058587c8f01f123324b621612a2193e9d518d9c9c5a529efca8369a5935bd95f5b2334a5ec8da7dce0f62fcd0f318bd3421f45889aac6b21f7bddf11add045a69dfbfa9f3e5e83c56fca3c659b72bc835697d2c194a7882904e6be48d1122c737d73b99ebcf30aa657c3287ae0c5000cdf0a049af584d275a6e5081841a9b7db2c4d2d7c2ddda1d9c05808382a7d50bb0b9f69244697a934dd9f7418787a18faa4ec90ebe6b83d50587f2cd99899cea23300ab2a53ac4995bc2b9450f2cbf9f835e1092678d5ceae054fc600cf647a2a793d9b6aaad7b3e770b7f840ced8f169e094246663adccdd98870bee4494ccd5f6538ce2dc320d338da3259a7f0276b0daf3358d3448579a8efa1365d6319989b303e5e463c7ff4d2024f2694b5f302ca301dbefdb9efc1eae6247df9a00028f7fe3acba40290743cc857ee6e0ee36289a7ec69292c0fa22ef4c16cb324d34f16fca9ae7a0a1415667033a29a41d2d3e47a71ef126690cec11bc3909eebc068f35a0e2dc1e8203bf0dad4a4dfa49490916fff4dc9fef87bf8d3b74c2d8cac018298e7bd4c6ba57ede9bd447603a078d7f32415925a6f60316508cd65aec8152ea0851821a5e9f306c31556f8b9d1997d8135080beb2a518e8944f547d6b89ca5a66508c9f1d4609ceaee0f4f2df85cac13f8bcbae5b1b28b1bb9beb2dadcf9b1900239670bb360d1f7ff155c27beb48162bd407c148f5bcecbda471160ad0c206e1ab4c74ce545e69eab1bd8f39f6fd138d5d3d75e1ac0cc6ff9da4601cee0b43cb516ba9b5468d392811851dceb8b538a532a595fb4c668ef39f8e9a6ea27420b2b4dc412afd1e91d149fe4b1c8224b4e148d990b9e5a70202aed37beb6fff679928eb5e4a9c7dab3a43ed30efbeb42b6014f3ff7d2832f5c4c5408701d6dff6c7114417fe3e4da7fe146a14dba2aceb1677a110ef1196122df112453a1c1cdbc2dfa293ba65126e25891f5a1e8de5cfb8c18dc2f75837ff39ec5ace9021667fde13f9d543199b01338eddc82d5ee57d480376fc548ef8ed0845a66396d60f42a822d5e43be41e47c8c5961fc2dd33678d3f15e805f97f9f7e1a67b8a2fe70f418ded8078dd9c1368475fce3d81e336031d7a3e74931bba8b8b80abf1f623f4719ec41ce860c42f28aa44029cbb1b69bc7ce335777b4cdc7814f3480fd4281c57a72e663c2e34bfd9ae2a12c8e9ed9cabcc081d650ffc52aefbb10620bf8408fbf648840019a1a6b7656fe30253cd05a5b934de6037130161a2a045296e9336c7f12b7bf2e7b3ebfc0f476a1e1e4b2111afeaa05a460a9d84f6b79033c1fae23b65490455d95204c45d23d84cfb3a6984d916bd874b8a4342f7a6839fe56ad9d4aebe7c58ab264d5225cafebd632cc5a41afc086c618fa08461a054b1e50d2d40554f6bbe38d099f899171969e8974ef6d217e90d063f5854cf4d14a1518010f323f0596daf60225db8dce8de83b7b9fc889cf301b494865e500cb5fab0febbce9fffc073a1bf235c34e44c71d1c7375c4e4a6efb3b6789523143110c313ca11e15089cd429a7b059cdc621ec20be865e51f0c0c9a539f871a00e8014f679c32b35cc946d134b81410f9ca6b4a4d1a03659ef693ae91af5f40b922aad5bcf238337a3186c72ec7d7e9f49bf7595ce351c374303ba82f6140066dbdb713032ee64925af1a1ba36ce97e55121e84abd525e300ac7bb3ec031b42e7aa289e8d18f2c7d74b23393ea0abc3c5d1e2d66446ed84c8b5c7dbb1863e42f6626b708e91e8f4bb7454bdd7de70107b720ea2fd6585475cdb33350d9178463437e48e4f9b353057beb000a2557458f63d4179238bf28f2e0ef2545612b0e7e895eefb0715fe5dca032e9f0c69d235f5bfc86bfbde1a2fb5e896117b6412511375620bc0d9a5a52d28d6bf054079093672d136a4a4e24ac4930bc80be39f07b700ed47600e5e258558bcf04476b59da329892db70fa8d46f9a5fdbf0e7d3a32b2f7819427486b6aa77741f1b08331661e3d78c9294360b4df4013aa64bade84d8526941435842381259708ed6b05892ca6001e8c3f2a95035750e35d0ec8cad9fab977061d86d530c57818f37c94978fb1a51cff91731273347681a489f424ebb0dee0ec83765a0ccec9a8258a5bd89a32b47b4576e29f716e9bee1a7ecdc6771a28673afe4ceca4d354119c913bd8ac4a97ac43a666acecfdd41a615af9fc2abcd8f47ff35c337317610efc619eb3a391e87bfe18a721cf39e7c57e78467237d7c1cf4316221cbaa71c778da7d0831a1bd5c1142f92d9d325da962d4772be7958e83576c95150baeb88adaf9184b23868ad1ebb2e7a9051b549afee519dca76e7d3ba1d0e66430a129091a82db0436c025cbfcd74fb839ac7eb538b709a64bd1468c9cd79b8b4338115e64f1a097bc524f57e1990c913ae87e8173133be67b6c58cdc913c37e394651daa9e519e1ce409ef86504ffc850490cae8b498f21a6784fa84d375443483812272a35decc7ec6b807ca3126521f0fc11fa2df6dde6dbb4ae6962a01a4d08fe78f1d243e73d5b272c863681b8d9b727cead04cfb6652b74166429147837d9d38ebc51f2f83c339793c1b9f3567df34683290de24fbf7b357b5cfb8db15f05ed1acb10820b9d9b24e36330c0337c394a8491494c4ab9cd877af60ff24c1f107efcfba8a140b3d9e6de66f995b0b0c550934a129ae045544a21b6e89e42437a4df641d15a24ac9a8cd987a2ad9a8df1fa333caf87f9c8b402f9a4a474a079cb2d78ef89c22e497a5a7dabf539bc17af6f516fb3c3302cf8cc5776318b31cb859dc696a2702c18505af6796f35dbcf6cee29f17e409546db7b7546f6d10947093d6ae0bec924623261c3e49420826bb73f3b6d7d423eb1b0f6569eced0ff1637d54db5c968b71c6ee9e7aeca25047ac769cc072b5dfc65fcee22378553e98c9f2282d8fc8bec44ad5d85f636021d98dc9709d8d384a0621a65cb20eb7a09175325d641c15b3234c758120063a46e065fc96f4100e8f9543583a58784c69f6424ff4bed69d893c08b1e19121691932d09f6ed15e9bd277e13ed2a14ba99d82b2cfcb3568de59e9fbe932ab7ef6446f804ce42b693c36aa04e85749eef29761e5f4562cdf284555844409bb277e39eb0ac7ae9892f0cb8eb94abf7f296bcc6a4ee5fee74eda72b26c8040bf7277289c1887e19b37611eb8e62727949012d132d953559f4fb050d716777ee8510a363214101f2401b4754dacbbce9d8a4f4e39b79397cbe376d218c8620ae1ceaa0b74f7a2cfc184ac660ae15aa11a4b2659662152fac731f47deaa8f93def96477ea22326667d165c4e6015b630c19c46e83e70b7782cc93f47a380a3aa412915314db98ff3a9135bf646c8dceb9b77e74415e86f57704a66005bd4c0d93e2e9514244bf5e7767f0d68ee2b112148ca1b1d4c6357391d79046bb3f576838dd6c5667bd69ef2e05ab580d2b5867d6df09062b1623fc0f41cf482353f7c6922debd93be9b9dcdc8cf9434d1882346e570f7dba5a45fbeef5a8d4927fe4d7532bff7f2360789f1290b4a3e6e9907d091b4061c9c87a1c46d4bb13d60519b0a70211acfb84fa3fd31ebdbed10779844440f86cff0c1cb8188c7e549d44a175c2805e5474a624301405ca8b5969963f6ef956da0f0c4b8eefd2a9cd9eaf1825540eea76eae03337701581d0ca366b2a4a8fb6b8c3f52f5858a2ca6d3bcfec005c3183b634810735a0f6e470dce8d9da8b96ddb8f86a67a39a70d955a37918f81499016af8f44b73a26683674457d206905df84cde6f859aa24ff1c95a23047c79da4eda1e52951c90059c80896b0885e79ae7bf7e0351b707f62d4c7b40b5ea9038563242ead18b7cbe64ccb07984c9e9fd8e822c5bea73e80d25cf99301df72d341892c709454f16c115068f93d7b036de7922cd996fcd5a67f69be99c7e16af06065dc6876167833c9ede293b7d9582266b12f360dbc3a8686a6b47989c717c8d8589ff99195e7f186aafab1327c4c0424d0a8fc73aaee79a97a7cc9df952b1d5c06ea145d113ebf98bc9619411f56fae726e785e346e27d1ae96e58b102470a42000ea9222d58a03d014c5431701a918216e87c433a929ed7f5d37097dfa721da22466689dc5fcd6572f2e1c14421a3b9865233375622ecacda1badc94b913172289f03a895a12df94ab3608e13c2d60a702706de6c341227e5e1288e5759dce4bf687e96be18953722fe8c80902be281129de0cdf44ff1893654c367541192eddbafc71f12a1c60461c87a085ea00f64a35f84cef22126bbf1905c81d5e32dc47df07094c3a4340b9b10874a0a1872b61a600b26d516a7af040451e3027b0592b7299538362366bf0a064c2c4ec067bb4d2e0dc46314e8e13cf78460e84b2ab294ab0b5db4a0186f9423ce6d8a70e22493d4538fd68b48b1ffe29f07d5e34a597830827d4c3d63bb6ee0b9e554d898624ebd81266d1c93fec58153c0881c9b6a4f1df10c4111ec26d8b849096c5945d427fc3a918ed7a650907e0ef50ce646c11819a90cbf32c1d6abe1591d26dbd93773ea20ac7f037a6cd62c87cd0bee1d15fbe7f18f8a829ee91267b432b09b40bd7b93a2aed3f8e59d9c1ebc92e6ba99da540d0f87bfa088c976df1dafdcaaf2ccc747f2c8f14b277d23abf2e0fcc8e48ba16f37e352fc65ef294f77da9d6c8fe88d1e59c23ac76c95cba97f29a890becd784b9f1c97f368e71d3ae696fcf5ca48f3ffa6f6297caea69bbc158e67debd10315d960ad09f3c9df7d367efd0c3e086a33883abddbda1636add0b8d16328f22595f915f1c05d766b68cd5017763afe39836623bb42618ffbcacda10fca203ce60fecb779a282cc3e35f5cea39092acc5f58300c20d13aebe76f9d47d29d4ce2081a9f2d93d4d749f051d206e5d44833515f014798a4d41e00f053f22e435148e91abe57d39619b61c3bfd2730650e5c9139eccfba965f36704a4f24bda33d2f4ff034434eec035e74e99e3aa117c3359b217261a254c50f544209076643c740e44284598809cd52554617db667b3339c8424dafcaf6b10269f8c9548a9ec05e9f6fbca2f59c2ddb8f6cca9a2820872a9ef0f122d8af0381919e4bfd290795d0dd5c9ba9c9cb582c22b007f088ce8522f5db7ecfa6e2237a307b14c10bd074ae9a7377c03672ccc5cf1d9c5baa9e4b39fba6ecba8c1b51b3d2e24f277c4d3cde2b5651ffa524c562e4e0b0607768f46c2505a0f5d6c6bf92b94cdc5864bd4d11a4f274001bbc7c7793bafcadd81f9422dc7123aa683402c8598f1dadc571b8f4ae971caf143f2418f2e07df0beebe2f40a7379dd9f0b0ca21b0c814669db768174f402824bc02d6206629abf2728bdae843bb26588ba4f42c5c6fe479084b28e220cd99ee0552b59ac168eeb1948776d31e48a0eeb07cd08f629c1492af6e304346369d5a140f13696bdf242cc57ea9c66f6ddf3f926398c89b782f3ab9c8fc0a21a9026ec029482d2892562e6728f4dc272b8d3d5a7483dead57f34c1927635398a84eec66faf227785d31d72127ca81713e2b6bd5752edf23dcd2f6be74884441f4d9dc464e03919adcc201e8316efaf2e488e82900a80b71ca1fc19a8dab4d95667e4f2d3ca8da770cc445ac2b8cb05efe24060f7fe5084e1bbe2a563042ef4b6edcdc462035ba31e84cbc0f3021dfee90ca78c4acbf46a3ec15312171494e558c51d56b8976c26a668d1d488bbe1280283f12c63ef3be148c38c204ff8aed77aead4d5cac3077d2ed454cbf03ccd675fd5006d9593edd68ff013c674e4169fdad21b938bd952efb4f13c2d1ab30db54ad55ce92743ea57dd8202dc3c1e2647832c5578c3ad4358cf37dd01522e3de358a16268ccf19eea0f55378b2596a9012496fce0475b962ac92d79e684c4fbc3887f23693781a9b31c65e3a2790d09fba56de41ea7a7bdf7dcc879e716e5eb61f15a1332ed64bc104516dcff6afb7679676fd329d77ef24eb1c91628025bc24001f7ea543a706418bf9a9c40c9df6c8b8632289efd17b70846e0acd5957531e01d43b0338df9d9414042bb4700abf1efef4e8b699e254b80e580009ae9247a2230a2ad5aecd5989c4014a4e45eb7c1c7090872674ef7edaf5a38eebf41e0bc917c5b3d215266a8ea8449d2a0dc840e83b7e1d28475e165bda6dece67683d363255447c415427ca66cc867332c888a52672190ee3cdefe9a55da83168f7d72fbee804d37695f6462c05a9090eede29499e915625ed99154da68806b963b3dcf6834b114925691fa293f5674a0498684045dd0cb071cb0daf49e557fcb2bb268a4da75d99d0f86f38cce76c2204cc961514f13af0a42e253f3cf1f04320316b59e1b11b16f0d930041cb9202e21a50f4fab2cb3bf35d682675dbf21c508b378748cbc422bca98cc777eb617ab0306af768ccd551d49807ac6937cfa740141fcadd448a2e3c71a9ba7c50d49d5d31281f8881c97e06a3e572ad4a1389bb21731230ed55e225fc4d84ce1cf61d357708ebddb518def97ed92db88a57fb4cdcc2698626703f1807bb5c019f713cd56247cd9de2a90ca80f802d9b73e3fdf55ede5dbc072953af560bcc542580ed663e3f10970fbe8d3dcaba0650c72da430faac7afd05964185d1a319ab86dfccb7507bf534c047b1059f6aa3db50328b69fefbd58b8d3d19d5be859732717fc59edb68b9b1ba500c3f12487935ab61f93c2efd9a1680d8b04f9c5a8213ef8b6a9b139ba23cbd39da287be88c98386e030f293343d94ebfb2c0587d2615d8088ab1193fcf0b15f7c313d10a7f73c04e82ca8c28888fda26b3d3a80145db0db4fefab54cf4d5b52050c5fc2a2d212c52634c1760bbb31b203675b1341fa8def79f23c2645411a6ca1936cc62b79f4a8de023ea2eb287b09d9638fac3718bed52b0ecd1ce2a8382d0ade43d08230aac937146cfddec8d7329c0cc7bafaac12bf430741c36596d7b64eef081c4421d6d54128e1be0638bd85a6349f000ad4e83ecd61eb57cda7c391fa54a265739ab927356e1a2135bf25f304b914c83e87a1fee3884d2cd374f12b5ed1ca5790857cc4bbcc8f1087f4517fb605403ac7de1d6830b4b49271668dca9cfc9169959a6b2c782c1f5db080ca19e013ac99592d690d90c5be986072b705dcb583e1ea8300f1fa67c2cc5fcc3857b5bd856499279357b340def18a8c6d05a52d546d8f3b6727634998e610e08f695a6e20bb756d636db2a2e719ff80ea03e88aee9208741d0e242b2096fc417a9b2beab03d93f30717458b034d2bd2eaed668754bf959e0ecfe98e17ec88de7eb2ad3ddd37845f736183b7d3b5bee00a0f784f0864dae6d092e1fe8af993c108928fd679b27a5f3b043e84a1fb5dd23f14b47b5d65ae7e127eed1763b39cf7127c4edfa9161810c013c999bb8a3a49ffc34e2f3cad2c9989f660c5846180443560de3181a5bd2679477edfb92da913cc67c845ea42b87a117243479add7b27dc743172481072fc0847829075a4ffa8e1779c016519afd7591030d85f9b9605f481895fa43b1a8ff73bdbbdb8862b178ddf8969a70d14419af5b6fa871feab87c4f808b68f13ce1ad05444137266619827ca199b37ba4c7a8c80ec46b7d2a4d9b390a94967abeaaba0608a5edad8c419e17977dd96625adcb7bc9cb92ad2e6fcddb1334cec48960a185682f133fec1040f3f1b0e93180da657792b1134e038658710c249a3981a4c781cbeb6ca000585fb242836a099fec8707d836678e8f7495ebbc296874c0a9409b00776303228ad61bd5b997d7229cf4780e528d5ac69401316c9638f163a15bdad8694e628406112d4a9e5f277ab88b23cb7c68bcc688381d1b659953534f26a589244b3872459577a6522364d86e864a32d85fa99a44ec146d1ad6923a6fb7a796760f31b2e28d584ab813f0e0ae8b5e6e5ec7e7ec93d469d8090ef4467190b68ac7f0c8cd986962efdd0808a7390469b6276b7258d16d883879240f8e598fd8ff5f0badea9775fb31a932e232dfb212c223a27322758c1908703881b384576158e28bf2e0afdc7a59504b146f31936e4633555bb63c7033746d602f3b87f201aa5d064848777271d8035b2dd1523f41ce7f219aab232bb5fb5e1632f47c3221360cd090d35b0c7bb84a069439d0f27727117e8a59d06d348051a746f2432e129f60b66dbc82089d54e5bc064a7629d666303afb1f732689f7e74a7457a01655a50c18a2bd32d9573f861343be4693d7a3bb1f4001ef0713e8dfee0f45f254e10349c416207199bd38f9fb8763fc39f323cc0a4c45fa1046da746f0ccab220f5dd456220cf4698f3c38d701b1eb2ccc6f8b394c29df366f6050f3bee46b9a4bc5a2a8ee50fa860fe5a9b947bde6b1ae6a1bc94be707d72866e9da7f9c84e42348fd8919b75f70a43e1e9810f5b5c93f9b7c2ac661d8b6bd97976a71cbf00c7ee2b36b5385a270d268e3a168343b852345eab5fde4fcb902f47b87f3b1f840d57a5afbc92fbb737e6201ff5102f8ad71fa86b92798adb25daf49733ddf5da69c940d962bb9f714868a40ed2318c7b3dcf918f9c008144e521a1b939306b6e2ef7d478f7746a434722086533484651c4a69b5956f3ec0c4da8fe96e0669548125ae6382f23bc0a83ae7af31c7271ed1dd2b7c792026772411d5deabacee58ce335f7f368cc1342b70a933c2871fc71a07a6bd181e132a674d31736d6bb2cba7c35f491001b32bb4ce9a157f40f696cbcca1bf5de9ce95042f7088a3fd35ff777065d9f9ad09860784a990f7d2fd2fcd2b30ef219ae3cdb8e92fb843c64abe619db490d19230a1fea6b851fc079265eccce108402512a0ba02cf0fc0f3e64d0aae5bee23aaa53dae89ca0d86c930520bfbfd20873b0b79e08e0e405a5592947cbb7808b340b7889530a3819c21071d8ccbe1a60c8ec30049a4552ca4b0e790edb73337ae152883141cf198660d45e69cd12ed571753ba639c1e8c3889c41eac7179c5e574d9d95e78a2923fb576b0635b47f5b615a0e492c806d42884c2fdf477f2ee6b2b2a9d281dc3ff11563b6f86b697a8494f9ac3ba90e8ac4f8b9cc1e5d41938be45a368f126a6d1fda03d60a3d622dc75e776be4e90c2d2c6e6d6a009505e345fe949e1310334fcb0747f28dae2856759de102ab66b722cb490c3b6a0d586bb9dfc845b236cd88877065f84483e3bea2153b4b831c34c3055a449d1cc40adc7e874d81fae1ab82c35ce2a0a84cae7141a582eca2b26e94fce81b0f8d115921fdaeee8ed6c5f2f8ba09da74658bc3f1cabeccfc908a891b04354b2d9bafdf8fea757bab853b1cac4c7df00b2256460e95c7193a028e1917dce5a517d0766fad40dd7abb8dfc75b687bf505cea3bf4a099a14f67ed23b18b15d94ab6def9ab2eafab299f858750ada144f1ad8aa9e42828bbe7dd063003eee8189bda802c3e35623236807dc79ef77f294376add03f2970d4fa96ea0fdd4fa12235fe0f36703db6976777df545a48790a918cb27dc48e3017e5baae6c4a0917794cb58892c0b0361499056ffefb9a7a4a3de3b3044d3618f9c277719126154309e80944c93f907bff96183db70e139d0887c167d4ed6047f8c24a4e703ec34feb912fcc11dd1f8b605914b19fd67e4bf66a19b57b1785b1b0664b81a6cd2946d6d975091465cef959e073fb2ebed32d043b06727f31d316ff152731ab8d7b39d0cb8b225676c8487997f15132b44256786f2b0cb73950832080a884d31c1a66b6afa1792e427bac44a074273293fb9a1c9f7eafb75ceec91121930cf0e5e58ee17eb0afb848744651f08d895e5ea0eea2ec6e692cd11e988fd8ceb24c996fc3fe2244f9a8c0a9e09b39ea53083ba528ddb4c7d4366aead52621621b03d9c037bb0e302a80bc4bd241b4c28ed1fe72a0e4738e9c2da636b9bda1be63f446cea1e158a6010210a214b120e06fd3e478982c43f588917d1d0fbd902af162b0d096b8d0de22cfe0d0e9e28f8defb07ed3ea9566aa218619912817b9c48f2876de538f9e8914d01ed80e90541a91004b6b5cb86dc9855fc5930f1580a7878088be094b0146a1cd7b177d7b250c265e27a65b154e24f193a7ef85682f7ebc62a0bbe64aea8322d23b9784eb36af0b639c9738ad35cd71f5cb79b3acea344a48ae19f0321a8f2c8863fdc7c7efb652cd25eb62a3120ebe02c0450c30735b839c813427a20da414c79a46a3304f60b896a6b3da0bb0b63c590d16593e70f0e13cc70b7bb6cbb927fa47699e24841fb7c297355fd24f40c835d42c2fe873f8eec453cf784f32af74f6596f6f832397eab7f15c793af1a06a2dfed2910533b65a78a78a422cee268c7c30e91e3b88333dc55b86c9c472d007f86d5762f6f461117dca84de98d76fbf811c4179dfd9775d3aa635e005f4d8fa251cdd4c8b50987f5eb15bf1653b6cb7dab9742ddf9b1faaebf1ceadf760731dcb3e3028f9e89c156fad6cdc22f91501b7eb343884cd47243de731000d4628ec0620458e4bd2226e25fc922e8e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855mods-config/preprocess/hintsmods-config/preprocess/huntgroups../mods-available/always../mods-available/attr_filter../mods-available/cache_eap../mods-available/chap../mods-available/date../mods-available/detail../mods-available/detail.log../mods-available/digest../mods-available/dynamic_clients../mods-available/eap../mods-available/echo../mods-available/exec../mods-available/expiration../mods-available/expr../mods-available/files../mods-available/linelog../mods-available/logintime../mods-available/mschap../mods-available/ntlm_auth../mods-available/pap../mods-available/passwd../mods-available/preprocess../mods-available/radutmp../mods-available/realm../mods-available/replicate../mods-available/soh../mods-available/sradutmp../mods-available/unix../mods-available/unpack../mods-available/utf8../sites-available/default../sites-available/inner-tunnelmods-config/files/authorizeservice  @rootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootradiusdrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootradiusdradiusdradiusdradiusdradiusdrootrootradiusdradiusdradiusdradiusdradiusdradiusdradiusdradiusdradiusdradiusdradiusdradiusdradiusdradiusdradiusdradiusdradiusdradiusdradiusdradiusdradiusdradiusdradiusdradiusdradiusdradiusdradiusdradiusdradiusdradiusdradiusdradiusdradiusdradiusdradiusdradiusdradiusdradiusdradiusdradiusdradiusdradiusdradiusdradiusdradiusdradiusdradiusdradiusdradiusdradiusdradiusdradiusdradiusdradiusdradiusdradiusdradiusdradiusdradiusdradiusdradiusdradiusdradiusdradiusdradiusdradiusdradiusdradiusdradiusdradiusdradiusdradiusdradiusdradiusdradiusdradiusdradiusdradiusdradiusdradiusdradiusdradiusdradiusdradiusdradiusdradiusdradiusdradiusdradiusdradiusdradiusdradiusdradiusdradiusdradiusdradiusdradiusdradiusdradiusdradiusdradiusdradiusdradiusdradiusdradiusdradiusdradiusdradiusdradiusdradiusdradiusdradiusdradiusdradiusdradiusdradiusdradiusdradiusdradiusdradiusdradiusdradiusdradiusdradiusdradiusdradiusdradiusdradiusdradiusdradiusdradiusdradiusdradiusdradiusdradiusdradiusdradiusdradiusdradiusdradiusdradiusdradiusdradiusdradiusdradiusdradiusdradiusdradiusdradiusdradiusdradiusdradiusdradiusdradiusdradiusdradiusdradiusdradiusdradiusdradiusdradiusdradiusdradiusdradiusdradiusdradiusdradiusdradiusdradiusdradiusdradiusdradiusdradiusdradiusdradiusdradiusdradiusdradiusdradiusdradiusdradiusdradiusdradiusdradiusdradiusdradiusdradiusdradiusdradiusdradiusdradiusdradiusdradiusdradiusdradiusdradiusdradiusdradiusdradiusdrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootradiusdradiusdradiusdradiusdradiusdfreeradius-server-3.0.21-150200.3.12.1.src.rpmconfig(freeradius-server)freeradiusfreeradius-serverfreeradius-server(s390-64)radiusd @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@     /bin/sh/bin/sh/bin/sh/bin/sh/bin/sh/usr/bin/perlconfig(freeradius-server)coreutilsfreeradius-server-libslibc.so.6()(64bit)libc.so.6(GLIBC_2.2)(64bit)libc.so.6(GLIBC_2.2.3)(64bit)libc.so.6(GLIBC_2.3)(64bit)libc.so.6(GLIBC_2.3.4)(64bit)libc.so.6(GLIBC_2.4)(64bit)libcrypt.so.1()(64bit)libcrypt.so.1(GLIBC_2.2)(64bit)libcrypto.so.1.1()(64bit)libcrypto.so.1.1(OPENSSL_1_1_0)(64bit)libct.so.4()(64bit)libdl.so.2()(64bit)libdl.so.2(GLIBC_2.2)(64bit)libfreeradius-dhcp.so()(64bit)libfreeradius-eap.so()(64bit)libfreeradius-radius.so()(64bit)libfreeradius-server.so()(64bit)libgdbm.so.4()(64bit)libmemcached.so.11()(64bit)libodbc.so.2()(64bit)libpam.so.0()(64bit)libpam.so.0(LIBPAM_1.0)(64bit)libpthread.so.0()(64bit)libpthread.so.0(GLIBC_2.2)(64bit)libssl.so.1.1()(64bit)libssl.so.1.1(OPENSSL_1_1_0)(64bit)libssl.so.1.1(OPENSSL_1_1_1)(64bit)libtalloc.so.2()(64bit)libtalloc.so.2(TALLOC_2.0.2)(64bit)libwbclient.so.0()(64bit)libwbclient.so.0(WBCLIENT_0.12)(64bit)libwbclient.so.0(WBCLIENT_0.9)(64bit)opensslperlperlpwdutilsrpmlib(CompressedFileNames)rpmlib(FileDigests)rpmlib(PartialHardlinkSets)rpmlib(PayloadFilesHavePrefix)rpmlib(PayloadIsXz)systemdsystemdsystemdsystemd3.0.21-150200.3.12.13.0.215.26.13.0.4-14.6.0-14.0.4-14.0-15.2-1icradiusradiusd-cistronradiusd-livingston4.14.1ct`@_@_FN^y@^p^h^@\\v{\u*@[<[2*ZZWQYY@YlY, @XO@X@X*Xh@X.@W@WiV@V.Vf@UĝU@U@UU8U7@TZ@TTT~@T|X@adam.majer@suse.deadam.majer@suse.deadam.majer@suse.deadam.majer@suse.deadam.majer@suse.deadam.majer@suse.deadam.majer@suse.dejcnengel@gmail.commichael@stroeder.comadam.majer@suse.demichael@stroeder.comadam.majer@suse.demichael@stroeder.commichael@stroeder.commichael@stroeder.comadam.majer@suse.devarkoly@suse.commichael@stroeder.comadam.majer@suse.demichael@stroeder.comkukuk@suse.deadam.majer@suse.dejengelh@inai.deadam.majer@suse.demichael@stroeder.comadam.majer@suse.demichael@stroeder.comjkeil@suse.demichael@stroeder.comjkeil@suse.dejkeil@suse.dejkeil@suse.demichael@stroeder.comvcizek@suse.commichael@stroeder.comtchvatal@suse.comvcizek@suse.comdimstar@opensuse.orgvcizek@suse.commeissner@suse.com- CVE-2022-41859.patch: fixes information leakage in EAP-PWD (bsc#1206204, CVE-2022-41859) - CVE-2022-41860.patch: fixes crash on unknown option in EAP-SIM (bsc#1206205, CVE-2022-41860) - CVE-2022-41861.patch: fixes crash on invalid abinary data (bsc#1206206, CVE-2022-41861)- logfile_secrets.patch: do not log passwords in logfiles (bsc#1184016)- freeradius-server-radiusd-logrotate.patch: move logrotate options into specific parts for each log as "global" options will persist past and clobber global options in the main logrotate config (bsc#1180525)- freeradius-server-radiusd-logrotate.patch: fix permissions in logrotate global section (bsc#1170505, bsc#1174905)- update to 3.0.21 (jsc#SLE-11896) Feature Improvements * New stored procedure for allocating IPs with PostgreSQL Rates of 1500 IPs per second are now possible See raddb/mods-config/sql/ippool/postgresql/procedure.sql * Add SQL IP pool support for Microsoft SQL Server See raddb/mods-config/sql/ippool/mssql/ * Added RCNTEC dictionary. Closes #3168. * Added Pica8 dictionary. Closes #3179. * Add TLS-Client-Cert-Valid-Since attribute holding not Before date Patch from Boris Lytochkin. Fixes #3157. * Generate attributes containing unknown OIDs See raddb/sites-available/tls * Update the WiMAX dictionary. * Added ability to rlm_python(Python2) show a stacktrace from errors. #2979. * Add WiFi Alliance Policy OIDs. See raddb/certs/xpextensions * radmin now shows coa stats, too. * Sample schema extensions for summarizing data in SQL See mods-config/sql/main/*/process-radacct.sql * Update dictionary.aerohive, dictionary.fortinet, dictionary.arista and dictionary.erx. * Added VAS Experts dictionary. * Many updates to RPM and jenkins builds from Matthew Newton. * Added %C (time now in seconds) and %c (microsecond component of now) back-ported from the "master" branch. * Add reload capability to systemd unit file in Debian and RedHat. * Increase timestamp precision in postauth to maximum supported by each database and simplify (and make more consistent between drivers) the timestamps in SQL queries by using expansions. * Option to set dictionary path in raduat script. Bug Fixes * Various fixes found by PVS-Studio. * Set permissions of certificates in bootstrap shell script Fixes #3132. * Increase the 'nasportid' SQL field for 'varchar(32)'. #3141. * Skip processing proxy reply if there are no home servers available. * Update SQLite IPPool queries. Fixes #3177 * rlm_sql_unixodbc fixes. Fixes #2822. * Fixes when building with LibreSSL. * Fix the rlm_python3 build. Note that this module is experimental. #3183. * The rlm_python should append the 'python_path' paths in 'sys.path'. It fixes the expected behavior to use the existing Python modules Fixes #3180. * Fix rlm_python to print the script errors properly. * Bound total query time for PostgreSQL. Fixes #3253. * Many fixes to Oracle sqlippool. It now does 500 IPs per second without any tuning. Fixes #3270. * Reference sqlippool by it's correct name. Fixes #3272. * Revert 3.0.20 patch which caused crashes on duplicate clients. * Update WiMAX-MSK attribute. Fixes #3280. * Fix crash when trying to access non-existant regex capture group. * Use timestamps (request or server) rather than SQL NOW() in accounting queries so that these are stable when replayed from a file buffer. - freeradius-python3_patches.patch: upstreamed- update to 3.0.20 (bsc#1146848) Feature Improvements * Added Force10 dictionary. * Update dictionary.hp with new attributes. #2690. * Update dictionary.aruba with new attributes. #2696. * Fix side-channel leak in EAP-PWD (bsc#1144524, CVE-2019-13456) * Relax OpenSSL version checks, now that their API is both public, and stable. * Note that tls_min_version/tls_max_version also support "1.3" Since there is no standard yet for EAP with TLS 1.3, it will not work. * Added tripplite dictionary from #2760. * Switch to the async interface for rlm_sql_postgresql so that we can enforce query_timeout. * Added new LDAP option 'allow_dangling_group_ref'. * Updated documentation and functionality for EAP session caching See "cache" section of mods-available/eap. * Tighten systemd unit file security. Fixes #2637. * Disable TLS 1.0 and TLS 1.1 support in the default configuration We STRONGLY recommend doing this for all installations. * Add expansions for *outgoing* Radsec connections "%{proxy_listen:TLS-...}" for TLS-Client-Cert-* and TLS-Cert-* attributes. Fixes #2839. * Add %{listen:tls} which returns "yes" or "no" for TLS or non-TLS connections. * Update dictionary.lancom with new attributes. #2847. * Added rlm_sql_mongo. See raddb/mods-available/sql. Note that this module is experimental. * Added more documentation in sites-available/robust-proxy-accounting. * sqlippool now re-allocates unexpired leases, to prevent IP pool exhaustion when clients perform multiple reauthentication attempts * Add support to radmin keep the history in ~/.radmin_history. * Add support for ENV and LD_PRELOAD in radiusd.conf. See the new ENV sub-section of radiusd.conf. * Update dictionary.aptilo. #3002. * Update dictionary.airespace. #3039. * Add sites-available/coa-relay, which makes CoA easier #3045. * Add example stored procedure for IP Pools in MySQL See mods-config/sql/ippool/mysql/procedure.sql * Update dictionary.dhcp dictionary with the recent hardware types. * Add experimental rlm_python3. This should largely work the same as rlm_python, which was Python2 only. * Add Dockerfiles for Debian10 and CentOS8. * Add RPM spec file compatibility for RHEL/CentOS 8. * Notes on certificate constraints. See raddb/certs/server.cnf. * Add NAIRealm example to raddb/certs/server.cnf, for RFC 7585. Bug Fixes * Allow listen.ipaddr to reference an IPv6-only host. Fixes #2627 * ERX-Acct-Request-Reason is "integer". Closes #2635. * Fix a slow memory leak in the file management code. * Try to fix file permissions if they get modified while the server is running * Fix slow memory leak with clients. * Fix request and connection timeouts in rlm_rest. * Fix systemd issues. * Fixes from clang analyzer. * Fix missing include for the dictionaries: alcatel.esam, altiga,alvarion.wimax.v2_2,aptis,asn, audiocodes,avaya,bristol, columbia_university,freedhcp,garderos, infoblox,motorola.illegal, starent.vsa1, telkom, wimax.wichorus. * Fix internal sanity check when running with "-Xx". * Allow "inner-tunnel" virtual servers to work better with "accept" and "reject" policies. * Fix dictionary.huawei data types for Huawei-DNS-Server-IPv6-address and Huawei-Framed-IPv6-Address. * Framed-Interface-ID in postgresql/queries.conf is string, not inet Fixes #2817. * Fix rlm_cache to complain on unknown attributes in the "update" section of its configuration. * Add configure checks for -latomic. This helps on armel, mips and mipsel. Fixes #2828. * Add support to Oracle 19 and 18. Via #2857. * Add support for decoding tags in rlm_rest. Fixes #2848. * Use correct passwords when updating CRLs in raddb/certs/. * Properly separate "originate-coa" packets when accounting packets are read from the detail file reader. * Use the correct virtual server for pre/post-proxy. * radsqlrelay fixes backported from "master" branch * Fix DoS issues due to multithreaded BN_CTX access (bsc#1166847, CVE-2019-17185) - disable python2 for SLE15 and Factory - freeradius-server-enable-python3.patch: enable Python3 module - freeradius-python3_patches.patch: backport python3 fixes from upstream - freeradius-server-opensslversion.patch: updated- Enable memcached driver on SLE15- Add missing BuildRequire on samba-core-devel required for windbind support in rlm_mschap.- update to 3.0.19 (jira#SLE-5890) Feature improvements * Update dictionary.cisco * Update sqlippool to allow for stored procedures with PostgreSQL. This increases performance substantially. Patch from Nathan Ward. Fixes #2540. * Re-added "show client config" command to radmin. * Cleaned up mods-available/sql example so that it is easier to understand. * Added pfSense dictionary. Closes #2581 * Update dictionary.h3c Closes #2592 * Update elasticsearch/logstash config for v6.7.0. * EAP-PWD security fixes from Mathy Vanhoef. See http://freeradius.org/security/ (CVE-2019-11234, CVE-2019-11235, bsc#1132549, bsc#1132664) Bug fixes * Update dynamic_client module and server core so that the functionality works. This has been broken since at least v2. * Fix crash in sqlippool due to escaping changes. Patch from Nathan Ward. Fixes #2532, #2533. * Fix systemd notify, watchdog and unit files. Fixes #2541, #2499. * Fix erroneous length check in EAP-FAST. * Update documentation to remove old "ignore_null" configuration. Fixes #2578. * Fix default POD port. Should be 3799. Fixes #2591 * Correctly encode vendor-specific "encrypted" attributes. Fixes #2600- reformat changelog mostly by wrapping lines - add missing bug numbers for security fixes- update to 3.0.18 * cleanup_delay can now be 30 seconds. This helps with proxies that have packet loss. * Do-Not-Respond policies can now be set in the "post-auth" section. * Encode / Decode ADSL Forum DHCP options. * Fix module ordering issues. e.g. when "sqlippool" needs "sql". See the "instantiate" section of radiusd.conf. * Add Big Switch dictionary. Fixes #2252. * Add sql_session_start policy (raddb/policy.d/accounting) This minimizes race conditions when using Simultaneous-Use (#2257). * For rlm_perl, all variables are now tainted by default. See raddb/mods-available/perl, and the "perl_flags" configuration item. This change should only affect people who are using variables in insecure ways. * Allow "sqlcounter" module to be listed in "post-auth". * Add support for IPv6 attributes in SQL. Fixes #2280 * The server is better at handling fail-over for outbound RadSec and TCP connections. Fixes #2284. * The server is now more aggressive about retrying failed outbound RadSec and TCP connections. Fixes #2284. * Add TLS-Session-Version and TLS-Session-Cipher-Suite to the "session_state" list. * Add expansion for Radsec connections. "%{listen:TLS-...}" for TLS-Client-Cert-* and TLS-Cert-* attributes. * Add notes on running "ldapsearch" using the parameters from the LDAP module. * "ipaddr" attributes can now be cast to "integer" type attributes in an "update" section. * Move main thread queue to using atomic queues. This should help with contention in high load scenarios. * Add "recv_buff" setting to listeners. For more details, see sites-available/default. * The sqlippool module can now use attributes other than "Pool-Name" to assign IP pools. The "Pool-Name" attribute is still the default. * The "unpack" expansion can now unpack substrings. See mods-available/unpack for documentation and examples. * The preprocess module now does "ciscvo_vsa_hack" for Eltex-AVPair Fixes #2301. Vendors SHOULD NOT USE THAT KIND OF ATTRIBUTE. * Allow for -LDAP-UserDN. See mods-available/ldap for more information. * Add sanitizing of control list for moonshot. Fixes #2318. * Update rlm_sql_mysql to be compatible with MySQL 8 Fixes https://bugs.launchpad.net/bugs/1795310. * Allow logging of only Access-Accept or Access-Reject messages See radiusd.conf, "auth_accept" and "auth_reject". * Removed Connect-Rate comparison. It was unused and broken. * Add dictionary.infinera. * Use OpenSSL HMAC functions instead of local ones. * Some SQL modules can now use "auto_escape" to escape unsafe strings See mods-config/sql/main/mysql/queries.conf. * Add wispr2date conversion in mods-available/date. * Implement dictionary-based handling in rlm_python. Fixes #2334 See mods-available/python for details. * Add support for SKIP LOCKED in sqlippool. This can improve performance by an order of magnitude or more. See raddb/mods-config/sql/ippool/*/queries.conf Fixes #2383 * Allow PSK and certificates at the same time Except for TLS 1.3 which does not support that. * Update docker scripts. Fixes #2306 Patch from Matthew Newton. * Add crypt xlat. * MySQL connections can now skip verifying the server certificate. Fixes #2481. See mods-available/sql. * Add better mechanism to detect MariaDB (Old MySQL). * Add RFC 7532 "bang path" support for realms Fixes #2492. * Update dictionary.ukerna documentation. Fixes #2493. * Add support for systemd service and watchdogs Fixes #2499. * Check for openss/rand.h, and allow building without OpenSSL engine. Patch from Eneas U de Queiroz Fixes #2517. * The default PosgtreSQL queries now use "ON CONFLICT" to better deal with issues. This requires PostgreSQL 9.5 or later. Please use a recent version of PostgreSQL, or edit the default queries to remove "ON CONFLICT". BUG FIXES * The session-state list is no longer cleaned in the inner-tunnel. This lets the outer Access-Reject section access session-state. * Fix typo in lock initialization for TLS sockets Found by Sergio NNX. * Add check for crash when home server down Fixes #2233. * Add username key for postauth table. * Better libpcap checks, when the header files or libraries are missing. Fixes #2245. * Allow building with old versions of OpenSSL Fixes #2247. * Allow non-FreeRADIUS State attributes to be used with the "session-state" list. i.e. State length != 16. * Be more aggressive about cleaning up zombie children when running in debug mode. * Use LTDL_DEEPBIND, which fixes issues with Oracle libraries exporting LDAP API functions. * unlock files when asked to unlock them. * return error instead of asserting in map code. * Don't write 0 bytes to SSL. Fixes #2270. * Remove "expiry_time IS NULL" from allocate_update query. Fixes #2262. * Various dictionary cleanups and consistency checks Fixes #2281. * rlm_python has stronger thread locking to prevent reported issues. Performance may be affected. * Don't allow Message-Authenticator to overflow past the end of a large packet. * Fix crash in sqlippool when SQL server goes away Fixes #2300. * Typos in man pages. Patch from Nikolai Kondrashov Fixes #2303. * Fix crash with CoA packets/ Fixes #2304. * Fix crash in rlm_exec with CoA. Fixes #2328. * Print errors while parsing the log config, and don't quit when deprecated log settings are found. * Fix DHCP encoder xlat so that it can be used with a list of attributes. It previously only encoded the first member of the list, and now encodes all members. * The "expr" module now skips more whitespace. * Remove internal FreeRADIUS-Response-Delay attributes from attr_filter Access-Reject. * Don't send junk to redis when maximum args reached. * Small updates to IPv6 for accounting schema Fixes #2364. * Fix OpenDirectory integration in rlm_mschap. * Fix slow memory leak with dynamic clients. * Don't artificially truncate debug output for long strings. * Fix memory leak in EAP-PWD. * Fix crash in "hints" file with Fall-Through = yes. * Fix crash / timer issues with many CoA packets. * Fix attr_filter so that it does not treat vendor attributes of number 26 as Vendor-Specific. * Fix reconnect correctly in rlm_sql_mysql. * Fix rlm_cache to properly use Cache-TTL < 0 Fixes #2485. * Fix rare occurance of bad xlat expansion. * Check for rare race condition when a proxy reply arrives too late.- install license as %license instead of documentation- also fix ownership of /var/log/radius in systemd unit- update to 3.0.17 Feature Improvements * Add CURLOPT_CAINFO. Patch from Nicolas C #2167. * "stats home server" now supports "src IPADDR", to specify home server also by source IP. Fixes #2169. * Add Dockerfiles for a selection of common systems. * Increase number of permitted file descriptors, for systems with many home servers. * Add TLS-Client-Cert-X509v3-Extended-Key-Usage-OIDs Patch from Isaac Boukris. Fixes #2205. * Update main READMEs. Patches from Matthew Newton. * Added dictionary.mimosa. Bug Fixes * Don't call post-proxy twice when proxying to a virtual server. Matthew Newton, #2161. * Use "raw" string value for shared secrets and dynamic clients It now parses strings with backslashes and "special characters" correctly. Fixes #2168. * Fix RuntimeDirectory for RedHat, from Alan Buxey. * Relax checks in 'if' parser from Isaac Bourkis. * Minor cleanups for %{debug_attr:&request} from Isaac Boukris. * Be more aggressive about cleaning up cached certificate attributes, due to deficiencies in OpenSSL. Reported by Nicolas Reich. * Be more accepting when parsing IPv6 addresses. Bug noted by Klara Mall. * Fix double free in rlm_sql. Fixes #2180. * rlm_detail now writes empty Access-Accept packets. * rlm_python can now create tagged attributes. * Don't crash on duplicate realm + authhost / accthost * Allow partial certificate chain to trusted CA. Fixes #2162. * Treat SSL_read() returning zero as error. Fixes #2164. * detail writer now checks if the file was renamed or deleted. * Add User-Name to Access-Accept if EAP-Message exists, not Stripped-User-Name. * RedHat Systemd updates. Fixes #2184. * Use correct API for State variable in rlm_securid. * Remove broken radclient option "-i". * Fix "users" file (and hints, etc). So that it does not get confused about entry ordering with multiple $INCLUDEs. * Fix rlm_sql to expand the un-escaped string, not the raw string. * Link default and inner-tunnel only if they exist. Fixes #2206. * Don't use both IP_PKTINFO and IP_SENDSRCADDR. * Always install signal handler for SIGINT (needed by Docker). * Fix intermediate CA flow for OCSP. Fixes #2160 Intermediate certs which are not self-signed will now be checked. * sqlippool now returns "fail" if it fails IP allocation. * Fix rlm_yubikey to look for correct attribute in replay attack check.- update to 3.0.16 Feature improvements * rlm_python now supports multiple lists. From #2031. * Add trust router re-keying. From #2007. * Add support for Samba / AD LDAP schema. See doc/schemas/ldap/samba/README.txt and doc/schemas/ldap/samba/ * Add "tls_min_version" and "tls_max_version" to EAP module for Debian OpenSSL issues. * Better documentation for client certificates in PEAP and TTLS: it usually doesn't work. Fixes #2068. * Distinguish login failure from AD unavailable. Fixes #2069. * Update RH spec files. Fixes #2070. * Run Post-Proxy-Type if all home servers are dead. Fixes #2072. * Print offending IP addresses when EAP sessions come from two upstream home servers, and rate-limit the messages. * Minor packaging updates. * Better documentation for rlm_rest. * EAP-FAST now has it's own "cipher_list", so that it is easier to configure. * EAP-FAST now forcibly disables TLS1.2, until such time as we implement the new keying mechanism from TLS1.2. * Add documentation for allow_expired_crl. * Update Debian logrotation. #2093 and #2101. * DHCP relay can now drop responses. #2095. * rlm_sqlippool can now assign Delegated-IPv6-Prefix. It also now can assign any IPv4 or IPv6 address. Based on patches from maximumG. #2094. See raddb/mods-available/sqlippool for changes. * radeapclient can now use EAP-SIM-Ki to dynamically create the necessary triplets. * Explain why many LDAP connections are closed. Fixes #1969. * Debian build / package issues fixed by Matthew Newton. * dictionary.patton updates from Brice Schaffner. Fixes #2137. * Added scripts to build "inner-server.pem", and updated mods-config/inner-eap and certs/README to match. * Added provisions for using an external CA. See raddb/certs/ * Include dhcpclient binary in freeradius-dhcp debian packge. Bug fixes * Bind the lifetime of program name and python path to the module FR-AD-002 (redone) * Pass correct statement length into sqlite3_prepare[_v2] FR-AD-003 (redone) * Allow 100-Continue responses with additional headers in rlm_rest. * fix corner case where detail files were not being locked correctly. * Fix (SQL-Group == "%{...}") checks, and same for LDAP-Group. Fixes #1947 * Clean up exfile code. Which should help to avoid issues with reading / writing 100's of detail files. * Fix build for winbind. Patch from Alex Clouter. * Fix checkrad for Mikrotik. Patch from Muchael Ducharme. * Fix home server stats lookup. Patch from Phil Mayers. * Add libjson-c3 as an optional dependency. * Require LTB OpenLDAP on CentOS / Redhat, to avoid linking against NSS, which breaks the server. Fixes #2040. * rlm_python fixes. Fixes #2041 * Typos in "man" pages. Fixes #2045 * Expand "next" in %{%{...}:-%{...}}. Fixes #2048 * Don't add TLS attributes twice. Fixes #2050. * Fix memory allocation in rlm_rest. Fixes #2051. * Update trustrouter for new API. Fixes #2059. * Fix SQLite issues on FreeBSD. Fixes #2060 * Don't do debug logging of bad passwords. Fixes #2064. (bsc#1099802) * More graceful handling of "die" in rlm_perl. Fixes #2073. * Fix occasional crash when using cisco_accounting_username_bug = yes * EAP-FAST fixes from Isaac Boukris. [#2078], #2076, and #2082, #2126. * DHCP fixes, relay, #2092, add run-time check, #2028 * Decode multiple RADIUS packets at a time in highly loaded RadSec connections. Patch from Jan Tomasek. #2106. * TunnelPassword is not "single value" in LDAP schema. Fixes #2061. * sql log now opens the expanded filename, not the input one. This was a regression introduced in 3.0.15. * Remove unnecessary UNIQUE constrain in Oracle schemas. * Fix SSL thread and locking issues when modules also use SSL. Fixes #2125 and #2129. * Re-add dhcpclient "raw packet" changes. Patches from Nicolas Chaigne and Matthew Newton. Fixes #2155.- Fix permissions of radiusd.service (bnc#1053654)- bsc#1055679 - freeradius-server does not provide winbind/AD auth Added libwbclient-devel as buildrequires- update to 3.0.15 with security fixes for issues found via fuzzing by Guido Vranken (bsc#1049086) https://freeradius.org/security/fuzzer-2017.html * CVE-2017-10978: FR-GV-201 (v2,v3) Read / write overflow in make_secret() * CVE-2017-10983: FR-GV-206 (v2,v3) DHCP - Read overflow when decoding option 63 * CVE-2017-10984: FR-GV-301 (v3) Write overflow in data2vp_wimax() * CVE-2017-10985: FR-GV-302 (v3) Infinite loop and memory exhaustion with 'concat' attributes * CVE-2017-10986: FR-GV-303 (v3) DHCP - Infinite read in dhcp_attr2vp() * CVE-2017-10987: FR-GV-304 (v3) DHCP - Buffer over-read in fr_dhcp_decode_suboptions() * CVE-2017-10988: FR-GV-305 (v3) Decode 'signed' attributes correctly * FR-AD-002 (v3) String lifetime issues in rlm_python * FR-AD-003 (v3) Incorrect statement length passed into sqlite3_prepare- update to 3.0.14 (still FATE#322416) Feature improvements * Enforce TLS client certificate expiration on session resumption, and Session-Timeout. See CVE-2017-9148 (bnc#1041445) * Updated dictionary.cisco.vpn3000, dictionary.patton * Added dictionary.dellemc * Lowered the log output for failed PEAP sessions. * ALlow utc in rlm_date. * The internal OpenSSL session cache has been disabled. Please see mods-available/eap * Update detail reader documentation. * Make outgoing RadSec connections non-blocking. * Add SQL backing to Moonshot-*-TargetedId generation. Bug Fixes * radtest uses Cleartext-Password for EAP, not User-Password. * Update documentation for mods-enabled/ linking. * Enhanced checks for moonshot salt. * Allow session resumption for RadSec connections. * Update "huntgroups" file to note that port ranges are not supported * Fix OpenSSL permissions issues on default key files. * Certificates are not required when PSK is used. * Allow SubjectAltName as first extension in cert. * Fixed talloc issue with TLS session resumption. * "&Attr-26 := 0x01" now produces useful error messages. * Handle connection error in rlm_ldap_cacheable_groupobj. * Fix endian issues in DHCP. * Multiple minor fixes for Coverity complaints. * Handle unexpected regex. * Fix minor issues in dictionaries. * Fix typos and grammar. Patches from Alan Buxey. * Fix erroneous VP creation in rlm_preproces. * Fix MIB. Patch from Jeff Gehlbach. * Trust router updates from Alejandro Perez. * Allow build with LibreSSL. * Use correct packet for channel bindings. * Many fixes found by PVS-Studio. Thanks to PVS-Studio for giving us a test license. Please see the git commit history for more info. * Fix incorrect length check in EAP-PWD. This may be exploitable. * Stop rotating session database files (radutmp, radwtmp) since these are not logfiles. - freeradius-server-radiusd-logrotate.patch: updated- removed obsolete freeradius-server-fix-cert-bootstrap.patch because recent /etc/raddb/certs/bootstrap simply works - update to 3.0.13 (still FATE#322416) Feature improvements * Add dictionary.rfc7930. Note that we do not implement the RFC. * Added 'cipher_server_preference' to mods-available/eap Patch from #1797. * OpenSSL 1.1.0 compatibility fixes. * rlm_perl: radiusd::xlat to evaluate xlat string within perl script * Allow authentication retry in winbind. Patch from Herwin Weststrate. See raddb/mods-available/mschap. * Added "recv-coa" method to rlm_rest. It behaves the same as "authorize". * Document Trust Router tr_port option. Patch from Stefan Paetow. * Update elasticsearch/logstash examples so that they work with elastic stack v5. Patch from Matthew Newton. * Print information about packets, replies, and contents in the detail file reader. * Update abfab-tr policy. Pull request #1893 from Stefan Paetow. * Reject packets which contain User-Password and EAP-Message. * Add example for filtering Access-Challenge. See sites-enabled/default. * Pull symlink fixes from v4.0.x. Fixes #1859. * Add systemd reload. Not everything is reloaded, but some is. Fixes #1662. * Better documentation for listen "ipaddr". Fixes #1921 * Add dictionary.cnergee, updated dictionary.nomadix. * radclient no longer needs -x to print statistics with -s. Bug fixes * Minor typos. Fixes #1763 * Fix typo in RPM build. Closes #1767. * rlm_mschap check for password expiry only if password was correct. Fixes #1762. * Update debian build. * update rlm_counter "man" page. Fixes #1775. * Remove erroneous assert. Fixes #1778. * fix mschap password change test. Fixes #1792. * Cleanup config file on data remove. Fixes #1795. * passwd module returns "notfound" if not found. * Check for old OpenSSL, and don't build rlm_eap_fast if it necessary. Fixes #1803 * Cleanup memory better after ldap version query. Patch from Aleksey Katargin. * Rename lt_* functions to avoid linker issues with libtool. Fixes #1277 * Many miscellaneous fixes and typos. * Allow long strings in %{%{foo} bar:-%{baz} blah". Fixes #1866 * Fix filtering operators, along with more documentation and more tests for them. * Fix OpenSSL fixes. Fixes #1876. * Finish SQL select queries even when SELECT returns no rows. Fixes #1879. * Set Module-Failure-Message for more EAP errors. * Correct typo in dictionary.rfc5580. Fixes #1882 * Remove obselete systemd syslog.target. * Client-Port-Balance load-balancing now uses client port. * Radrelay examples fixed from Alex Clouter. * Update systemd target. Pull request #1896. * Trim starting whitespace in xlat strings. * Get MySQL result lengths using normal API. * suid down after fchown(). Fixes #1914. * Fix cases of comparing pointer to NUL character. Fixes #1915. * OpenSSL v1.1 fixes. Pull request #1921. * Better Handle v4/v6 host names. Pull request #1919. * Remove "Auth-Type = System" from docs and examples. * Don't crash on malformed %{home_server}. Fixes #1922 * fix erroneous use of talloc destructor in rlm_eap * Issue trigger modules.sql.fail. Fixes #1923 * Document python_path gotcha's. Fixes #1845 * dlopen() the specific version of Python. Fixes #1592- Don't require insserv if we use systemd - Remove require for unused fillup- Merge changes from SLE to openSUSE (FATE#322416): * freeradius-server-radclient-init-error-buffer.patch - make sure we initialize error buffer. bsc#911886: radclient error free() invalid pointer * freeradius-server-opensslversion.patch: remove OpenSSL version check and assume we know what we are doing. (bnc#1013311) * merge .changes file, mostly. - do not attempt to detect "vulnerable" OpenSSL versions. SUSE security fixes do not necessarily bump version numbers as does upstream OpenSSL (bnc#1021375) - do not generate certificates in %post. End-user needs to do this manually. - keep FreeTDS disabled on SLE12 - we never shipped it enabled - require OpenSSL 1.0+ - use pkgconfig(systemd) instead of plain systemd as BuildRequires - don't list manual pages as %doc- Remove --with-pic which is for static libs only. - Use SUSE RPM group names. Trim filler words from description. - Do not hide errors from groupadd/useradd.- Add upstream keyring - 2 new modules: rlm_sql_freetds and rlm_eap_fast- update to 3.0.12 - still fate#320481 The focus of this release is stability. * Feature improvements + Add support for =~ and !~ in update sections. See "man unlang" + Add dictionary.checkpoint. + Simultaneous-Use prints out more information. + Print WARNING in debug mode when packets may be truncated. + Added expansions %{home_server:state} and %{home_server_pool:state}, which show the state of the server / pool. + Mark rlm_sql_freetds as stable. + Make rlm_perl less fragile. Patch from Herwin Weststrate. + Allow extended attributes to have "encrypt=2" + Update dictionary.aruba. + Add support for EAP-FAST. This is an isolated feature which does not affect anything else. + Update OpenSSL vulnerability list. Use a version of OpenSSL released after September 20, 2016. + EAP certificate verification is now done when "verify" is enabled and "ocsp" is disabled. + New dhcpclient and rlm_rad_counter man pages. + Minor abfab and moonshot additions. + Pass CFLAGS through from environment in RPM builds. Allows more custom builds. + Build with Heimdal in addtion to libkrb5. * Bug Fixes + Use correct typedef for older versions of sqlite. + Update mssql schema to add priority + don't complain on /dev/urandom in ldap + fix == operator in update sections + Don't create DHCP strings with many trailing zeros. + Allow MS-CHAP change passwords instead of complaining on large buffer. + Allow assignment or equality operator on SQL. + Update aclocal tests for FreeBSD 10. + Remove occasional hang in rlm_linelog. + Copy VSAs to inner tunnel for TTLS and PEAP. Fixes #1544 + A few minor bugfixes caught in v3.1.x cleanup, and back-ported to v3.0.x. + do_not_respond again works in post-proxy + Allow realm "~^.*$" {} and User-Name with no realm. + Fix leak when creating unknown attributes + Fix Debian / logrotate. + Make OpenSSL error functions thread-safe. + Fix crash with rlm_sql and updating SQL-User-Name. + Debian build updates. + Allow regular expression comparisons in radclient. + Fix memory leak on unknown attributes in detail file reader. + Update example paths in "man" pages when installing them + Build fixes for rlm_mschap. Fixes #1489. + BSD build fixes. Patch from issue #1583. + Be more careful about /lib/ when building. Fixes #1585. + Correct ifdef placement error. Fixes #1572. + Allow for more files in internal "exfile" API So it will be possible to open more than 64 "detail" files at the same time. + Remove support for statically built EAP modules. Fixes #1591. + Many fixes to rlm_python from Guillaume Pannatier. + Use correct week adjustment in SQLcounter. Fixes #1608 + Minor fixes to allow compilation without DHCP, VMPS, or TCP. + Fix checks for module / config file change on HUP. + Compile regex comparisons when sent via "debug condition". + Update filenames in documentation and examples. + Don't crash if SQL connection becomes unavailable. + Disallow originate_coa when proxy_requests = no. + Free rad_perlconf_hv in correct perl context. + Multiple fixes for Debian builds. #1510, among others. + Set OpenSSL FIPS compatibility flag when necessary. + Pulled fixes for the build system over from other branches. + Fix OCSP for RADIUS over TLS. + Fix skip_if_ocsp_ok behavior. + Better fixes for systems without closefrom() but which have /proc. + Minor build fixes back-ported from v4.0.x. + build --whout-ascend-binary. Fixes #1761. + Be more aggressive about not opening new connections in debug mode after CTRL-C. Address #1604.- use %{with} macro for conditional inclusions instead of hardcoding version numbers - improved package descriptions - fixed builds on SLE12 and SLE11SP4- removed installation of experimental module rlm_sqlhpwippool.so - update to 3.0.11 (fate#320481, bsc#961479, CVE-2015-8763, bsc#935573, CVE-2015-4680) * Changes of version 3.0.11 + Feature improvements - "unlang" comparisons of IP addresses to IP prefixes are now detected, and types automatically cast. - Allow shorthand form of ipv4prefix values e.g. 127/8. - Add "auto_chain" to raddb/mods-available/eap, tls subsection. This allows the disabling of OpenSSL auto-chaining of certificates. Which might be wrong. - Added printing of coa and disconnect stats (radmin). - radclient defaults to expecting Access-Accept responses to Status-Server. - Updated dictionary.lancom, dictionary.starent. - Portability fixes for Solaris. - More errors from ntlm_auth gets passed to MS-CHAP. - Update abfab-tr-idp virtual server. - Added "filter_password" in policy.d/filter. This removes embedded zero bytes in User-Password, for compatibility with broken clients. - The server now issues a WARNING message if duplicate configuration items are found. - TLS can skip the "verify" section if OCSP returns OK. See raddb/mods-available/eap, "skip_if_ocsp_ok". - Set TLS-OCSP-Cert-Valid = yes / no / skipped, which is the result from the OCSP check. - Interoperate with AD and "LmCompatibiltyLevel = 5", by always setting WBC_MSV1_0_ALLOW_MSVCHAPV2 for native winbind in rlm_mschap. - TTLS and PEAP now require "virtual_server" to be a real server. - Print WARNING when TTLS or PEAP identities are spoofed or not properly anonymized. See RFC 7542 for requirements. - Various rlm_python fixes from Herwin Weststrate. - Allow setting Response-Packet-Type in "Post-Proxy-Type Fail", which is useful when the home server does not respond. - elasticsearch updates from Matthew Newton + Bug Fixes - Fix issue where field nas_type would not be accessible via the %{client:} xlat, for clients loaded from SQL. - Fix compatiblity issues with OpenSSL 1.0.2. Ignore calls to msg_callback with 'pseudo' content types. - Data type "ipv4prefix" is parsed correctly. - Use correct talloc context in rlm_exec. Fixes #1338. - Complain in unlang if "else" is used with no previous "if" or "elsif". - Send accounting status packets to the accounting port. Fixes #1364. - Print out CFLAGS when doing "radiusd -Xxv" - Fixed bug with coa/acct stats value #1339. Based on patch from Jorge Pereira. - Fixes for LEAP proxying. Don't use LEAP! - Fix issue with "directory already exists" seen when doing "make install". - Fixed bug with radmin related to the option "stats detail " - Complain if the detail file reader does not have permission to read the "detail.work" file. Fixes #1398 - Fixed SoH. Attributes were not being copied to the virtual server. - Used a wrong list to global statistics in "stats". - Create EAP-PWD identity correctly. Prevents segfaults. - Dynamically validate authentication types for PEAP and EAP-MSCHAPv2. - Fix includes in installed headers. - OpenSSL 1.0.1f and 1.0.1g do NOT calculate TLS 1.2 keys correctly. See raddb/mods-available/eap, "disable_tlsv1_2" - Allow password change to work for MS-CHAP. This requires 'r=0', because password changes are not retries. - Fix home server fail-over for home servers using TCP and/or RadSec. - Special characters in expanded regexes are now escaped e.g. User-Name containing '.', and comparing /%{User-Name}/, the '.' will now be escaped. See src/tests/keywords/regex-escape. - Use correct authentication vector when sending Access-Reject replies for RadSec. - Set FreeRADIUS-Proxied-To in TTLS again. You should use the "inner-tunnel" virtual server, instead of relying on this attribute. - Fix debugging constants in rlm_perl. Patch from Herwin Weststrate. - Add samba-dev / samba4-dev to debian builds so that rlm_mschap can automatically use the new winbind API. - Automatically skip zero-length attributes when sending packets, instead of erroring out.- fix bsc#951404 * Rebuild of freeradius-server package fails * fix source url - ftp://ftp.freeradius.org/pub/freeradius/ + ftp://ftp.freeradius.org/pub/freeradius/old/- update to 3.0.10 * Changes of version 3.0.10 + Feature improvements - Do more optimization of unlang policies. This makes run-time a bit faster. - Re-name most of the functions in src/lib. Third-party module authors will have to do the same. - More documentation on contributing and how to write modules. - Update radiusd.service for systemd. - Open IPv6 proxy socket if the server is listening on IPV6 auth / acct / coa packets. - Create debian packages for DHCP. Fixes #1125. - Add more tests for "update" section parsing. - Update "man" pages. - Update attributes for Alcatel 7750 - Add dictionary for Boingo Wi-Fi - Add support for DHCP lease queries. See raddb/sites-available/dhcp - On HUP, check all modules for config files which have changed. And only re-load those modules. - Allow FreeRADIUS-Response-Delay(-USec) to be set for RADIUS packets. Patch from Herwin Weststrate. - Documentation fixes from Alan Buxey and Matthew Newton. - Update "logrotate" script. - Added more RFCs to doc/rfc for new standards implemented by FreeRADIUS. - Don't crash when doing "radmin -e "help hup". Patch from Matthew Newton. - The dictionary parser now does more sanity checks, which prevents run-time problems with invalid attributes. - Update debian packages. Patches from Christopher Hoskin. - Many other debian packaging fixes from Matthew Netwon and Herwin Weststrate. - Add "session-state" to Perl. Patch from Herwin Weststrate. + Bug Fixes - Fix rlm_files so that there are no collisions when loading 10's of 1000's of users. - Fix radclient to use our internal v4/v6 parsing functions. v6 addresses with ports now work correctly. - Fix sending/receiving packet messages to wrap v6 addresses in square brackets '[]'. - Check for sasl/sasl.h when building rlm_ldap, and disable SASL functionality if unavailable. - Fix issue which caused a non \0 terminated buffer to be assigned to attributes if the value being assigned contained an invalid escape sequence. - Fix deadlock when reconnecting connections in the connection pool. - Fix potential overrun in functions that used fr_utf8_char with a non nul terminated buffer. - Fix decoding issue for Tunnel-Password type attributes which were very long. Found by Denis Andzakovic. - Fix radclient issue with TCP sockets on FreeBSD. - The server now creates ${run_dir} and ${logdir} directories in daemon mode, when running as "root". - Handle tags when using maps. Fixes #1191. - Fix crash when CoA packets time out. - Fix parse error in rediswho - Fix regex support in SQL radcheck the "users" file and radsniff. - Register listen xlat earlier, so that it's available when the virtual servers are being parsed. - Parse Ascend-Data-Filter when given as "0x..." - Print Ascend-Data-Filter correctly. Add test cases for both. - Allow old-style clients again. They will be disallowed for 3.1.0 and following. - Complain instead of crash when "else" and "elsif" are in the wrong place. - Clean up memory more aggressively. This lowers the maximum memory used, most typically for TLS based EAP methods. - Prevent the server from unlinking the control socket of an already running instance. - Fallback to using the configured OCSP URL if one exists, and no URL is provided in the certificate. - Return CoA-NAK if proxying CoA fails. Based on patch from Jorge Pereira. - Lower peak memory usage by decreasing size of internal memory pools. - The control socket is now left in place if a second copy of the server is accidentally started. - Allow virtual attributes in "switch", "case", etc. Fixes [#1240] and #1265. - Many spell check / typo fixes in comments and example configuration files. - Better handle multiple DHCP listeners. - Don't print secrets for old-style realms. Fixes #1267. - Don't fall through in empty "case" statements. Fixes #1274. - Update EAP-TTLS so that MPPE keys are correctly calculated with TLSv1.2. - Always delete MS-MPPE-* from the TTLS inner tunnel. This allows TTLS / EAP-MSCHAPv2 to work. Fixes #1206. - Fix off by one error that caused some MSCHAP-Error messages to be sent without the password change version (V=3) and the textual message component (M=). - Always include C= V= and M= in MSCHAPv2 errors. RFC 2759 does not say that any of these fields are optional, and not including V= caused errors with wpa_supplicant. - Do not include M= in MSCHAPv1 errors. It's not supported.- Fix boo#912714: freeradius can't use ntlm_auth * Create winbind group * Add radiusd to winbind group- Remove gpg signature file * The gpg signature checking is broken and doesn't work- Fix bsc#935573: Insufficent CRL application for intermediate certificates * CVE-2015-4680 * freeradius-server-CVE-2015-4680.patch based on https://github.com/FreeRADIUS/freeradius-server/commit/a03814af310bb3bee74ea012546d99c48b0ea5c3- update to 3.0.9 * Changes of version 3.0.9 + Feature improvements - Make "pool" configurations more consistent, and update documentation for them. - Move connection pool logic to "most recently started", instead of MRU. This should help with pool stability. - More VSAs for 3GPP2 - Added examples of multi-value attributes to rlm_perl. - LDAP-Group and SQL-Group attributes are now dynamically allocated. - Only the "sql" module registers SQL-Group. Other instances register "instance-name-SQL-Group", similarly to "ldap". - Unknown attributes are now complained about more often when used in unlang statements. e.g. if (Foo-Bar == 3) used to be a string to string comparison. It is now a parse error. - Rename RLM_COMPONENT_* to MOD_* in the code. This makes many things easier. - Move to C99 initializers for modules. - Load modules in raddb/mods-enabled. This allows attributes like "LDAP-Group" to be used in the "files" module, without explicit ordering or listing in "instantiate". - Added 'bootstrap' section to modules. Third-party modules will need to be updated. - When adding clients from a DB, add them to a virtual server if that virtual server has a "listen" section. Otherwise, add the clients to the global list. - When reading dynamic clients from a file, don't expire them if the underlying file is unchanged. - Allow the server to originate CoA requests from the post-auth stage. - The server creates ${run_dir} and ${logdir} in daemon mode, if they do not already exist. - Add dictionary for Wi-Fi Alliance Hotspot 2.0. The server now supports all mandatory and optional attributes for this specification. - HUP now re-loads the configuration only if the files have changed. If all files are unchanged, HUP re-opens the log file, and does nothing else. - Much better debug messages for EAP-TLS, including which attributes are cached, and when they are retrieved. - Increase default max_requests to 16384. Memory is cheap now. - Added "stats memory" commands to radmin. Debug build only. - Aptilo controller dictionary updates. - SQL modules now use Acct-Unique-Session-Id everywhere. - The redis modules are now stable. - The LDAP module now supports SASL "interactive bind" method. This allows Kerberos based administrator and user binds. - DHCP code is now in libfreeradius-dhcp. - More DHCP encoding / decoding unit tests. - rlm_replicate can now be listed in the "accounting" section. - Better sqlite debugging output. - Remove "required" option from many sql_ippool directives. - Set default CA "basic constraints" to "critical". Fixes #1073 - Updates to help / man pages from Jorge Pereira. - Added more tests. + Bug Fixes - Be more careful about unused config item warnings when using -Xx. - Move more defines to be auto-generated. - Allow virtual servers in proxy fallback. - Allow %{module:} to work. - Don't crash in RadSec. Closes #980. - Return better errors when a unix group / user is not found. - Re-enable detail module "locking" parameter. - Don't crash when logging replies from Status-Server packets. - The couchbase module now uses "update" instead of "map", for consistent with the rest of the server. See raddb/mods-available/couchbase - Don't require NT-Password for MS-CHAP password changes. - Be a bit more careful about decrypting MS-CHAP-MPPE-Key attributes. Closes #1013. There is no perfect fix, tho. - Fix security issues with EAP-PWD. See http://freeradius.org/security.html#eap-pwd-2015 - Fix dynamic clients read from SQL in non-debug mode - MS-CHAP now allows retries (i.e. password change) when passwords are expired. - Allow "user=radiusd" when the server is already user "radiusd" - suid up/down works on non-Linux systems. This means that the control socket should have the correct ownership. - Fix issue which caused the server to sometimes have problems when a home server was marked zombie. - Fix format.pl because Perl is now more picky. - Fix proxy to Packet-Dst-IP-Address, so that it uses the correct destination port. - Fix corner case with cursor functions and removal. - OpenDirectory fixes and documentation. - Fix leaks in rlm_redis. - RFC 6929 "evs" attributes are now encoded / decoded properly. - Fix talloc pool leaks when receiving malformed or retransmitted Accounting/CoA requests. - Printed attributes again use double quotes instead of single quotes. - Set X509_V_FLAG_CRL_CHECK_ALL, and add "check_all_crl" to eap.conf. Fixes oCert CVE-2015-4680. - rlm_expr now errors out correctly on malformed attribute references instead of triggering an assert. - Make "break" work in "foreach" loops - Allow dynamic expansions to work again in the "hints" file. - Correct minor typos in comments and examples from Alan Buxy. - Re-urlencode the path portion of ldapi:// urls before passing it to ldap_initialise. - freeradius-server-rlm_sql_unixodbc-configure.patch removes hard-coded directory in configure script of rlm_sql_unixodbc - install new module rlm_sqlhpwippool.so- minor adjustments/cleanup of spec and changes- update to 3.0.8 * Changes of version 3.0.8 + Feature improvements - Allow syslog_severity to be set in rlm_linelog. - Allow defaults to be set for bulk clients in LDAP and couchbase. - Updates to dhcpclient. Patches from Nicolas C. - rlm_mschap now supports direct connections to winbind, which is faster than ntlm_auth. See raddb/mods-available/mschap. Patch from Matthew Newton. - Recommend /dev/urandom for TLS randomness, instead of ${certdir}/random - Allow TLSv1 to be disabled via "disable_tlsv1" in tls{}. - Allow Expanded EAP types where vendor is 0 (IETF) and type is normal EAP type. Supplicants sending Expanded EAP types like this are broken. - Add support for server side sort controls when searching for user objects in rlm_ldap. + Bug Fixes - Don't complain about "authorize" in "server {}" blocks, but only if there's no "server" block. - Fix cosmetic issue where debug from the first packet read by a detail reader thread would be emited during config parsing. - Fix ASSERT on truncated detail packets. - Don't use main server log functions from within panic_action, as in the case of syslog this would cause deadlocks if the fault was triggered from within a malloc. - Fix issue in "switch" when "correct_escapes = false". Fixes #911. - Fix sqlcounter configuration to use "%%b" instead of "%b", otherwise the new syntax validation will fail. - Allow forward references in configuration items. Modules aren't always loaded in a sane order. - Fix more escaping issues. Closes #912. - Decode MAC addresses correctly for VMPS. - Fix memory leak with TLS connections. - Fix state machine threading issues for conflicting packets. - Fix copy_request_to_tunnel issues for tagged attributes. - Allow "ok" to over-ride "updated" inside of Auth-Type sections. - Update state machine so that post-proxy is run though child threads for performance, instead of blocking the main thread. - Allow "netmask" to work again in client definitions. - Relax restrictions on SQL group queries. - track outgoing proxy sockets and clean them up more aggressively. - track proxy statistics, including CoA and Disconnect. - If radmin has a connection failure when running a command, it re-connects and runs the command again. - mark home servers "unknown" less aggressively. - Fix potential SEGV in PostgreSQL driver on error. - Fix issue where fields like nas_type would not be accessible via the %{client:} xlat, for dynamic clients. - Set default busy_timeout (of 200ms) in the sqlite driver, so writes don't cause selects to fail in multithreaded mode. This is user configurable, and may be increased if required. - Convert Password-With-Header attributes to binary (from hex or base64), in the authorize method of rlm_pap. - Fix invalid assert in state.c, that could cause abort in post-auth. - Fix double free when -m flag is used, and connection pools are referenced by multiple modules. - RADIUS over TLS accounting uses the same port as authentication. - Regularized return codes from radmin commands. - Fix RHEL spec file so it works correctly for Centos7 which uses systemd, and didn't like the SystemV init script. - radwho and radlast now have a -D option to load dictionaries - DHCP packets are no longer checked for duplicates. - Don't crash in sql module group comparisons in corner case. - Calculate MPPE keys correctly when using TLS 1.2. - Fix load-balance sections. Closes #945 - TLS certificates are available again in the post-auth section. They are not available for session resumption. - radclient encodes CHAP-Password properly when using -c Closes #955. - Fix issue in rlm_cache_memcached driver that caused variable length values to be truncated. - Fix track functionality in detail reader, so it no longer fails with a "Failed marking detail request as done: Bad file descriptor" error. - Actually add the peer identity (as User-Name) to the inner tunnel in EAP-PWD requests, so it's available for lookups. - Fixes to PostgreSQL queries. Patches from Santiago Gimeno. - new set of consolidated patch files: deleted: * freeradius-server-2.1.1-logrotate_su.patch * freeradius-server-2.1.6-rcradiusd.patch * freeradius-server-initscript-pidfile.patch * freeradius-server-radius-reload-logrotate.patch * freeradius-server-var_run.patch added: * freeradius-server-radiusd-logrotate.patch * freeradius-server-rcradiusd.patch * freeradius-server-tmpfiles.patch- Do not disable as-needed build - Remove the with_sysconfig switch and just stick with versions- update to 3.0.6 - fixes a segmentation fault in PEAP module (bnc#912588) Feature improvements: * radmin / raddebug conditional errors are printed to the output, instead of being discarded. * raddebug will exit if condition set with -c was invalid. * radmin auto-reconnects if the connection to the server has gone away. * rlm_cache now has submodule support. See raddb/mods-available/cache * New memcached driver for rlm_cache. See raddb/mods-available/cache * Add support for &Attribute-Name[*] in conditions. See "man unlang" for details. * Add &Attribute-Name[n] which gets the last instance of an attribute e.g. Module-Failure-Message[n]. * Allow for redundant string expansions. See the "instantiate" section of radiusd.conf. * When checking IP addresses in conditions, make the right side be parsed as an IP prefix. * Support JIT compilation of compiled regular expressions when built with libpcre. * Support named capture groups with "%{regex:}" when built with libpcre. * Increase regular expression capture groups from 8 to 32. * Emit error markers for badly formed regular expressions. * Allow 'm' flag to enable multiline mode in regular expressions. * Support limited implicit attribute conversion in update sections. * Support casting between IPv6 and IPv4 where the IPv6 address has the v4/v6 mapping prefix (::ffff:).- Drop .keyring and .sig file: freeradius-server still uses MD5 signatures, which are no longer validated/accepted by GPG 2.1.- update to 3.0.5 Some of the new features: * Allow LDAP to specify arbitrary attributes for dynamic clients. * Allow one level of backslashes (finally). See radiusd.conf, "correct_escapes" setting. * When supported by OpenSSL, allow TLS 1.1 and TLS 1.2 in EAP methods. * Allow multiple new connections to be spawned simultaneously in the connection pool, to cope with spikes in traffic. * Use kqueue on systems which support it. This allows for better scaling when using many sockets. * Home server "response_window" can now take fractions of a second. See proxy.conf. * radmin now supports "show module status", as thee counterpart to "set module status" * "ipaddr" will now use v6 if no v4 address is present. You should use "ipv4addr" or "ipv6addr" to force v4/v6 addresses. * "client" sections will allow "ipaddr = 192.192.0/24". The old "netmask" is still accepted, but the new format is preferred. * Allow custom HTTP headers to be set for rlm_rest requests using control:REST-HTTP-Header (attributes consumed after use). * Extend format of %{rest:} expansion to allow HTTP method and POST data to be specified and urlquoting. * Add support for aliases in rlm_ldap. * Add support for connection pool sharing to all modules that use the connection pool (pool = ). * "tls" sections now have a "psk_query" configuration item, for dynamic queries to discover a key from a PSK identity. * Preliminary support for EAP channel bindings. * Foundational work for dynamic home servers. They do not yet work, but this is now only a matter of updating the "realm" module in a future release. * Support &attr[*] syntax to copy all instances of an attribute when used with the += operator in an update section. May be qualified with a tag. * The logintime and expiration modules can now be listed in the post-auth section. This makes some configurations simpler. * rlm_sqlippool is now IPV6 capable. Set "ipv6 = yes" to get Framed-IPv6-Prefix returned. The SQL queries have NOT been updated. Please submit patches. and numerous; bugfixes - remove gpg-offline - create /run/radiusd after install - drop freeradius-server-opensslversion.patch (upstream)- freeradius-server-opensslversion.patch: do not check the minor version of openssl, minor versions are supposed to be compatible. bnc#906682/bin/sh/bin/sh/bin/sh/bin/shfreeradiuss390zp36 1670847524  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~     3.0.21-150200.3.12.13.0.213.0.21-150200.3.12.13.0.21-150200.3.12.13.0.21    !"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""#$$%%%%%%%%%%%%%%%%%%%%%%&&&&&&&&'()))radiusdradiusdraddbREADME.rstcertsMakefileREADMEbootstrapca.cnfclient.cnfinner-server.cnfpasswords.mkserver.cnfxpextensionsclients.confdictionaryexperimental.confhintshuntgroupsmods-availableREADME.rstabfab_psk_sqlalwaysattr_filtercachecache_eapchapcouchbasecountercuidatedetaildetail.example.comdetail.logdhcpdhcp_sqlippooldigestdynamic_clientseapechoetc_groupexecexpirationexprfilesidninner-eapippoollineloglogintimemac2ipmac2vlanmoonshot-targeted-idsmschapntlm_authopendirectoryotppampappasswdpreprocesspython3radutmprealmredisrediswhoreplicatesmbpasswdsmsotpsohsometimessqlsqlcountersqlippoolsradutmpunboundunixunpackutf8wimaxyubikeymods-configREADME.rstattr_filteraccess_challengeaccess_rejectaccounting_responsepost-proxypre-proxyfilesaccountingauthorizepre-proxypreprocesshintshuntgroupssqlcountercuiippoolippool-dhcpmysqlschema.sqlschema.sqlpostgresqlprocedure.sqlmainmoonshot-targeted-idsmysqlqueries.confschema.sqlpostgresqlqueries.confschema.sqlsqlitequeries.confschema.sqlunbounddefault.confmods-enabledalwaysattr_filtercache_eapchapdatedetaildetail.logdigestdynamic_clientseapechoexecexpirationexprfileslineloglogintimemschapntlm_authpappasswdpreprocessradutmprealmreplicatesohsradutmpunixunpackutf8panic.gdbpolicy.dabfab-traccountingcanonicalizationcontrolcuidebugdhcpeapfiltermoonshot-targeted-idsoperator-namerfc7542proxy.confradiusd.confsites-availableREADMEabfab-tlsabfab-tr-idpbuffered-sqlchallengechannel_bindingscheck-eap-tlscoacontrol-socketcopy-acct-to-home-serverdecoupled-accountingdefaultdhcpdhcp.relaydynamic-clientsexampleinner-tunneloriginate-coaproxy-inner-tunnelrobust-proxy-accountingsohstatustlsvirtual.example.comvmpssites-enableddefaultinner-tunneltemplates.conftrigger.confusersradiusdradiusd.serviceradiusd.conffreeradiusproto_dhcp.soproto_vmps.sorlm_always.sorlm_attr_filter.sorlm_cache.sorlm_cache_memcached.sorlm_cache_rbtree.sorlm_chap.sorlm_counter.sorlm_cram.sorlm_date.sorlm_detail.sorlm_dhcp.sorlm_digest.sorlm_dynamic_clients.sorlm_eap.sorlm_eap_fast.sorlm_eap_gtc.sorlm_eap_leap.sorlm_eap_md5.sorlm_eap_mschapv2.sorlm_eap_peap.sorlm_eap_pwd.sorlm_eap_sim.sorlm_eap_tls.sorlm_eap_ttls.sorlm_exec.sorlm_expiration.sorlm_expr.sorlm_files.sorlm_ippool.sorlm_linelog.sorlm_logintime.sorlm_mschap.sorlm_otp.sorlm_pam.sorlm_pap.sorlm_passwd.sorlm_preprocess.sorlm_radutmp.sorlm_realm.sorlm_replicate.sorlm_soh.sorlm_sometimes.sorlm_sql.sorlm_sql_freetds.sorlm_sql_null.sorlm_sql_unixodbc.sorlm_sqlcounter.sorlm_sqlippool.sorlm_test.sorlm_unix.sorlm_unpack.sorlm_utf8.sorlm_wimax.sorlm_yubikey.socheckradraddebugradiusdradminradrelayrcradiusdfreeradius-serverCREDITSChangeLogfreeradiusdictionarydictionary.3comdictionary.3gppdictionary.3gpp2dictionary.accdictionary.acmedictionary.actelisdictionary.adtrandictionary.aerohivedictionary.airespacedictionary.alcateldictionary.alcatel-lucent.aaadictionary.alcatel.esamdictionary.alcatel.srdictionary.alteondictionary.altigadictionary.alvariondictionary.alvarion.wimax.v2_2dictionary.apcdictionary.aptilodictionary.aptisdictionary.arbordictionary.aristadictionary.arubadictionary.ascenddictionary.ascend.illegaldictionary.asndictionary.audiocodesdictionary.avayadictionary.azairedictionary.baydictionary.bigswitchdictionary.bintecdictionary.bluecoatdictionary.boingodictionary.bristoldictionary.broadsoftdictionary.brocadedictionary.bskybdictionary.btdictionary.cablelabsdictionary.cabletrondictionary.camiantdictionary.checkpointdictionary.chillispotdictionary.ciscodictionary.cisco.asadictionary.cisco.bbsmdictionary.cisco.vpn3000dictionary.cisco.vpn5000dictionary.citrixdictionary.clavisterdictionary.cnergeedictionary.colubrisdictionary.columbia_universitydictionary.compatdictionary.compatibledictionary.cosinedictionary.dantedictionary.dellemcdictionary.dhcpdictionary.digiumdictionary.dlinkdictionary.dragonwavedictionary.efficientipdictionary.eltexdictionary.epygidictionary.equallogicdictionary.ericssondictionary.ericsson.abdictionary.ericsson.packet.core.networksdictionary.erxdictionary.extremedictionary.f5dictionary.fdxtendeddictionary.force10dictionary.fortinetdictionary.foundrydictionary.freedhcpdictionary.freeradiusdictionary.freeradius.internaldictionary.freeswitchdictionary.gandalfdictionary.garderosdictionary.gemtekdictionary.h3cdictionary.hillstonedictionary.hpdictionary.huaweidictionary.ianadictionary.ieadictionary.infineradictionary.infobloxdictionary.infonetdictionary.ipunpluggeddictionary.issannidictionary.itkdictionary.juniperdictionary.karlnetdictionary.kinetodictionary.lancomdictionary.lantronixdictionary.livingstondictionary.localwebdictionary.lucentdictionary.manzaradictionary.meinbergdictionary.merakidictionary.meritdictionary.merudictionary.microsemidictionary.microsoftdictionary.mikrotikdictionary.mimosadictionary.motoroladictionary.motorola.illegaldictionary.motorola.wimaxdictionary.navinidictionary.netdictionary.netscreendictionary.networkphysicsdictionary.nexansdictionary.nokiadictionary.nokia.conflictdictionary.nomadixdictionary.norteldictionary.ntuadictionary.openserdictionary.packeteerdictionary.paloaltodictionary.pattondictionary.perledictionary.pfsensedictionary.pica8dictionary.propeldictionary.prosoftdictionary.proximdictionary.purewavedictionary.quiconnectdictionary.quintumdictionary.rcntecdictionary.redcreekdictionary.rfc2865dictionary.rfc2866dictionary.rfc2867dictionary.rfc2868dictionary.rfc2869dictionary.rfc3162dictionary.rfc3576dictionary.rfc3580dictionary.rfc4072dictionary.rfc4372dictionary.rfc4603dictionary.rfc4675dictionary.rfc4679dictionary.rfc4818dictionary.rfc4849dictionary.rfc5090dictionary.rfc5176dictionary.rfc5447dictionary.rfc5580dictionary.rfc5607dictionary.rfc5904dictionary.rfc6519dictionary.rfc6572dictionary.rfc6677dictionary.rfc6911dictionary.rfc6929dictionary.rfc6930dictionary.rfc7055dictionary.rfc7155dictionary.rfc7268dictionary.rfc7499dictionary.rfc7930dictionary.rfc8045dictionary.rfc8559dictionary.riverbeddictionary.riverstonedictionary.roaringpenguindictionary.ruckusdictionary.ruggedcomdictionary.sangomadictionary.sgdictionary.shastadictionary.shivadictionary.siemensdictionary.slipstreamdictionary.sofawaredictionary.softbankdictionary.sonicwalldictionary.springtidedictionary.starentdictionary.starent.vsa1dictionary.surfnetdictionary.symboldictionary.t_systems_novadictionary.telebitdictionary.telkomdictionary.terenadictionary.trapezedictionary.travelpingdictionary.tripplitedictionary.troposdictionary.ukernadictionary.unixdictionary.usrdictionary.usr.illegaldictionary.utstarcomdictionary.valemountdictionary.vasexpertsdictionary.verizondictionary.versanetdictionary.vqpdictionary.walabidictionary.waveriderdictionary.wichorusdictionary.wifialliancedictionary.wimaxdictionary.wimax.alvariondictionary.wimax.wichorusdictionary.wisprdictionary.xediadictionary.xylandictionary.yubicodictionary.zeusdictionary.ztedictionary.zyxelfreeradius-serverCOPYRIGHTLICENSEcheckrad.5.gzclients.conf.5.gzdictionary.5.gzradiusd.conf.5.gzradrelay.conf.5.gzrlm_always.5.gzrlm_attr_filter.5.gzrlm_chap.5.gzrlm_counter.5.gzrlm_detail.5.gzrlm_digest.5.gzrlm_expr.5.gzrlm_files.5.gzrlm_idn.5.gzrlm_mschap.5.gzrlm_pap.5.gzrlm_passwd.5.gzrlm_realm.5.gzrlm_sql.5.gzrlm_unix.5.gzunlang.5.gzusers.5.gzradcrypt.8.gzraddebug.8.gzradiusd.8.gzradmin.8.gzradrelay.8.gzradsniff.8.gzradsqlrelay.8.gzrlm_ippool_tool.8.gzradiusdradiusradacctradius.logradutmp/etc/logrotate.d//etc/pam.d//etc//etc/raddb//etc/raddb/certs//etc/raddb/mods-available//etc/raddb/mods-config//etc/raddb/mods-config/attr_filter//etc/raddb/mods-config/files//etc/raddb/mods-config/preprocess//etc/raddb/mods-config/sql//etc/raddb/mods-config/sql/ippool-dhcp//etc/raddb/mods-config/sql/ippool-dhcp/mysql//etc/raddb/mods-config/sql/ippool-dhcp/sqlite//etc/raddb/mods-config/sql/ippool//etc/raddb/mods-config/sql/ippool/postgresql//etc/raddb/mods-config/sql/moonshot-targeted-ids//etc/raddb/mods-config/sql/moonshot-targeted-ids/mysql//etc/raddb/mods-config/sql/moonshot-targeted-ids/postgresql//etc/raddb/mods-config/sql/moonshot-targeted-ids/sqlite//etc/raddb/mods-config/unbound//etc/raddb/mods-enabled//etc/raddb/policy.d//etc/raddb/sites-available//etc/raddb/sites-enabled//run//usr/lib/systemd/system//usr/lib/tmpfiles.d//usr/lib64//usr/lib64/freeradius//usr/sbin//usr/share/doc/packages//usr/share/doc/packages/freeradius-server//usr/share//usr/share/freeradius//usr/share/licenses//usr/share/licenses/freeradius-server//usr/share/man/man5//usr/share/man/man8//var/lib//var/log//var/log/radius/-fmessage-length=0 -grecord-gcc-switches -O2 -Wall -D_FORTIFY_SOURCE=2 -fstack-protector-strong -funwind-tables -fasynchronous-unwind-tables -fstack-clash-protection -gobs://build.suse.de/SUSE:Maintenance:27107/SUSE_SLE-15-SP2_Update/ea436a6cecae00bf250af9f8b03f03e5-freeradius-server.SUSE_SLE-15-SP2_Updatedrpmxz5s390x-suse-linux  !"#$%&'()*+,-./0123456789:;<=>?@?AABBBBBBBBBBBBBCBBBBBBBBBBBBBBBBDDASCII textdirectorymakefile script, ASCII textPOSIX shell script, ASCII text executableUTF-8 Unicode textELF 64-bit MSB shared object, IBM S/390, version 1 (SYSV), dynamically linked, BuildID[sha1]=3524b60bb5334510b173e79d66f5b20a815792d3, strippedELF 64-bit MSB shared object, IBM S/390, version 1 (SYSV), dynamically linked, BuildID[sha1]=cb2741160ed8fa0b69ab6f93596761f14fe9a109, strippedELF 64-bit MSB shared object, IBM S/390, version 1 (SYSV), dynamically linked, BuildID[sha1]=3bfa49f6886c1b1faf62fbaafc8dc8c0141dfa71, strippedELF 64-bit MSB shared object, IBM S/390, version 1 (SYSV), dynamically linked, BuildID[sha1]=e7631eed7993883c5b3fc8db3d92c1f5a0f6cabb, strippedELF 64-bit MSB shared object, IBM S/390, version 1 (SYSV), dynamically linked, BuildID[sha1]=46c14369328be4b7eb1ee3e6f7c45dba3da32e8e, strippedELF 64-bit MSB shared object, IBM S/390, version 1 (SYSV), dynamically linked, BuildID[sha1]=351097b26dc45e3f217b2994a6a22483e3256ac8, strippedELF 64-bit MSB shared object, IBM S/390, version 1 (SYSV), dynamically linked, BuildID[sha1]=591aab65656dbfd595eee669149449d28261827c, strippedELF 64-bit MSB shared object, IBM S/390, version 1 (SYSV), dynamically linked, BuildID[sha1]=1f1f34e8426703d7702e706c99f7d2f7da5bd2e8, strippedELF 64-bit MSB shared object, IBM S/390, version 1 (SYSV), dynamically linked, BuildID[sha1]=a3f434e8e120fb977c5a85c1982dc39ac0d52a00, strippedELF 64-bit MSB shared object, IBM S/390, version 1 (SYSV), dynamically linked, BuildID[sha1]=7d485f2384be051649b6ffbae44a30b2910b72fa, strippedELF 64-bit MSB shared object, IBM S/390, version 1 (SYSV), dynamically linked, BuildID[sha1]=67c0ed71d5c1e723589649ea34c1c0f34ddc235c, strippedELF 64-bit MSB shared object, IBM S/390, version 1 (SYSV), dynamically linked, BuildID[sha1]=f3d2c02bc9872eaffaa6343c264ee6b20466bee1, strippedELF 64-bit MSB shared object, IBM S/390, version 1 (SYSV), dynamically linked, BuildID[sha1]=a191012f1ffe05b48f77229a750a15473ad27328, strippedELF 64-bit MSB shared object, IBM S/390, version 1 (SYSV), dynamically linked, BuildID[sha1]=6bcb8d66d7651df4224a3c941523341966b98293, strippedELF 64-bit MSB shared object, IBM S/390, version 1 (SYSV), dynamically linked, BuildID[sha1]=04fc3311fe2d7eb05c043144cdb09656c2252f7f, strippedELF 64-bit MSB shared object, IBM S/390, version 1 (SYSV), dynamically linked, BuildID[sha1]=4c76530763b1e8755de8f11284282cdaa994cd46, strippedELF 64-bit MSB shared object, IBM S/390, version 1 (SYSV), dynamically linked, BuildID[sha1]=343260b24d2559eb6bd20ed957601ad95f60e052, strippedELF 64-bit MSB shared object, IBM S/390, version 1 (SYSV), dynamically linked, BuildID[sha1]=29ff9f89881cf3fd721f8d6cdd39ab1586e1a391, strippedELF 64-bit MSB shared object, IBM S/390, version 1 (SYSV), dynamically linked, BuildID[sha1]=726433f6c7fdb4a60e2f0144de790a47b424291a, strippedELF 64-bit MSB shared object, IBM S/390, version 1 (SYSV), dynamically linked, BuildID[sha1]=4a3f2000fd484404927c38a0ce6b3e44950dfcba, strippedELF 64-bit MSB shared object, IBM S/390, version 1 (SYSV), dynamically linked, BuildID[sha1]=505a118ac892f8a23a806ce619bcb85bac5c8820, strippedELF 64-bit MSB shared object, IBM S/390, version 1 (SYSV), dynamically linked, BuildID[sha1]=8eb8eab762841a6a6e4d8cf9f9322168ac7be41c, strippedELF 64-bit MSB shared object, IBM S/390, version 1 (SYSV), dynamically linked, BuildID[sha1]=ec6f84ed8809fb49a42380853e158fd936120036, strippedELF 64-bit MSB shared object, IBM S/390, version 1 (SYSV), dynamically linked, BuildID[sha1]=71c0d9403f82bc64f1724380916d02cf72c0a2e9, strippedELF 64-bit MSB shared object, IBM S/390, version 1 (SYSV), dynamically linked, BuildID[sha1]=cc42f2936be04f58b15cb72b7de0f6a260f619ca, strippedELF 64-bit MSB shared object, IBM S/390, version 1 (SYSV), dynamically linked, BuildID[sha1]=6d412a52c9a5bf869835eb03b42e3f306b32c01c, strippedELF 64-bit MSB shared object, IBM S/390, version 1 (SYSV), dynamically linked, BuildID[sha1]=8929610e0979eab3bdeff39e097fc2e66a0b9883, strippedELF 64-bit MSB shared object, IBM S/390, version 1 (SYSV), dynamically linked, BuildID[sha1]=cca4ffe3c036c675807790863b9bea7a97c28a10, strippedELF 64-bit MSB shared object, IBM S/390, version 1 (SYSV), dynamically linked, BuildID[sha1]=1838c38ce8f48c3ed74f60a02de724850ae5d656, strippedELF 64-bit MSB shared object, IBM S/390, version 1 (SYSV), dynamically linked, BuildID[sha1]=df2fbaed7e6bdf4321f90b93b0a6ed7569545874, strippedELF 64-bit MSB shared object, IBM S/390, version 1 (SYSV), dynamically linked, BuildID[sha1]=c505a25860b2fd897ad6f51996b352a84d1358c7, strippedELF 64-bit MSB shared object, IBM S/390, version 1 (SYSV), dynamically linked, BuildID[sha1]=35e237aa7a16dcda789519c1009776cbf9b5b2c4, strippedELF 64-bit MSB shared object, IBM S/390, version 1 (SYSV), dynamically linked, BuildID[sha1]=1c005c88fe49144651c9797f1066858f7ea8d5f7, strippedELF 64-bit MSB shared object, IBM S/390, version 1 (SYSV), dynamically linked, BuildID[sha1]=f80485a71dcb80213964d6bb7531081459b41020, strippedELF 64-bit MSB shared object, IBM S/390, version 1 (SYSV), dynamically linked, BuildID[sha1]=35776385d08a28b4485a3a55ca36d50f71c7966b, strippedELF 64-bit MSB shared object, IBM S/390, version 1 (SYSV), dynamically linked, BuildID[sha1]=2c802fa8550554494815db0ad56ffa67d9653ff8, strippedELF 64-bit MSB shared object, IBM S/390, version 1 (SYSV), dynamically linked, BuildID[sha1]=20cdf6d7248bc7ae9f7f7f72aa96dcce78be362e, strippedELF 64-bit MSB shared object, IBM S/390, version 1 (SYSV), dynamically linked, BuildID[sha1]=bd13e6f9232d58f8308bf994a7941f82e868d992, strippedELF 64-bit MSB shared object, IBM S/390, version 1 (SYSV), dynamically linked, BuildID[sha1]=60495537624b112152e4a2842848659ef84cbba4, strippedELF 64-bit MSB shared object, IBM S/390, version 1 (SYSV), dynamically linked, BuildID[sha1]=67a260e0e85f7d5f8808a304e112bf96f2d821d8, strippedELF 64-bit MSB shared object, IBM S/390, version 1 (SYSV), dynamically linked, BuildID[sha1]=c69a37099dcc0568c48b691635db71a532d909d1, strippedELF 64-bit MSB shared object, IBM S/390, version 1 (SYSV), dynamically linked, BuildID[sha1]=9640fed2d954a62aa986afcec27b216773ce0ac8, strippedELF 64-bit MSB shared object, IBM S/390, version 1 (SYSV), dynamically linked, BuildID[sha1]=80c4499e5edcb2b526808558eb78789acf97ae01, strippedELF 64-bit MSB shared object, IBM S/390, version 1 (SYSV), dynamically linked, BuildID[sha1]=e6db6a331e8da747680357e8ad42ee824a32b64f, strippedELF 64-bit MSB shared object, IBM S/390, version 1 (SYSV), dynamically linked, BuildID[sha1]=f282b06cb0672a910cc281a868f245d140184b6f, strippedELF 64-bit MSB shared object, IBM S/390, version 1 (SYSV), dynamically linked, BuildID[sha1]=074207135353c4874d838b2c420cdb30ff6284be, strippedELF 64-bit MSB shared object, IBM S/390, version 1 (SYSV), dynamically linked, BuildID[sha1]=b79f72feb63101279b527e4b3343b2eddf52dfdb, strippedELF 64-bit MSB shared object, IBM S/390, version 1 (SYSV), dynamically linked, BuildID[sha1]=d6ab95aef4a821c31de39575b61f4237a6db8fd1, strippedELF 64-bit MSB shared object, IBM S/390, version 1 (SYSV), dynamically linked, BuildID[sha1]=7c24f8f8457f8b708891fc708da57416127f22db, strippedELF 64-bit MSB shared object, IBM S/390, version 1 (SYSV), dynamically linked, BuildID[sha1]=b0fa9ba9610c40dfa4de4e39407e2ab80bca68de, strippedELF 64-bit MSB shared object, IBM S/390, version 1 (SYSV), dynamically linked, BuildID[sha1]=05bc9fdd708d2e602c200e9883e3b28816c162a0, strippedELF 64-bit MSB shared object, IBM S/390, version 1 (SYSV), dynamically linked, BuildID[sha1]=8fe01363324c96ee4b8d5d650c2cc4b5af2463c6, strippedELF 64-bit MSB shared object, IBM S/390, version 1 (SYSV), dynamically linked, BuildID[sha1]=b4f976af3d2f4f6f3c2f3d0ffa4517afa60095db, strippedELF 64-bit MSB shared object, IBM S/390, version 1 (SYSV), dynamically linked, BuildID[sha1]=0190d7ce6ed8fe53189f1bfd24c1166bf4cb94db, strippedELF 64-bit MSB shared object, IBM S/390, version 1 (SYSV), dynamically linked, BuildID[sha1]=dc216eeb93ae7d417d1620b5189ececf6d205d66, strippedELF 64-bit MSB shared object, IBM S/390, version 1 (SYSV), dynamically linked, BuildID[sha1]=329980029511f80c36699751b9489673bcd29c2a, strippedPerl script text executableELF 64-bit MSB shared object, IBM S/390, version 1 (SYSV), dynamically linked, interpreter /lib/ld64.so.1, BuildID[sha1]=18345c57c97c7d5846bdc3de1c3469a36f195f1c, for GNU/Linux 3.2.0, strippedELF 64-bit MSB shared object, IBM S/390, version 1 (SYSV), dynamically linked, interpreter /lib/ld64.so.1, BuildID[sha1]=38a3138ceccb86337f6e1fa9e5a95299aedf9611, for GNU/Linux 3.2.0, strippedAlgol 68 source, ASCII texttroff or preprocessor input, ASCII text (gzip compressed data, max compression, from Unix)troff or preprocessor input, UTF-8 Unicode text (gzip compressed data, max compression, from Unix)empty !&*-16:>CHKNRUY]adilosvz~  RR RR RR R R R RR R R%RRR R$RRR RR RR R%R R R$RR RR R R RR RR R RR R RR R R RR R R RR RR R RR R R RR R R RR RR R RR RR RR R RR R R RR R RR R RR RR RR RR RR RR R RR R RR RR RR R RR R RR R R RR R RR RR RR R R R RR R R(R'RR R R&R RR R R%R RRR$RR RR RR R RR R RR R RR R RR R RR R R R RR R R R RR R RR RR R R RR RR R RR R RR R R R RR R R RR R R R RR R RRR R R R RRRRR#R"R RR%R R RR RRRR!R$RRRR R%R RR RRR$RR RRR#R"R RR%R R RR RRRR!R$RRRR ɋoip*;qlogrotateutf-82f933d95b424d680fe152dfbd947625191a7df1acba813c2806e21f286f1540d?7zXZ !t/e]"k%T܍{ȳ>C9%7, [U:9]kp[j}"u,Jl+#;0b: BebD,\*K'2}y@Fxe΂҄!zp͛R |*vʒ6` ioeMpQ Z ?ZSUL{AU;rڝg/bZG[ʏlpE6X"vE2ebxvxc QK"xǤCOැycDޓ"b5 Jd`ީuc0t]`f]f>3m++p/7̀+0Ui-bpx1r-reMTiiAwc?bt´8b0Y+KgIՈj mVnwJmo=7bfdXC?}Feh~ƚޮ N~ιPZchϚ69% iz؏WUvT,-Q@Vc_ćMۿ·L[ mB?n?R%q⻫U[9WubD-u$0Ixߟ&m?CXgn~y8A\] }˨ıRTD[β6l7CQ*V߄?J )9Q|QosZ1+Nz˦*r7hb*԰fd$~/MjN=>[&1b[rꖋn&&mh9Y#3sK:qCOXxhƍ å0?&s {'XE:])`2yh֦GfA0wFՃK|1w̔Tj`F0ng nɌm-bc$K 7勴5}&1KrO`Tֈr?.% 1ؖvauת`b(Pt=14 Aۓ]y.RDl6*Ka - +]GO펿'5X^˂"?R]odL8~D >k^7ZRShd=`-hYUrC-M {P抦M* ×pd5#࣫g^uVLjzόox њӑ~`> A/UI+F#E/"U3~0ӲO0EJf[hC8a|9UH.\ZZ`j|`d5X tQu񮣔-YhŠ=c91}zV%?޼vtn x7Vi,B[ OY_CHYf %JW ZyEUeq k0y ",X&qq'*>Gf==9Y2*Sy)!H9K.yΫa]z p8۳̃獕~"9p?7%ʄ4LpFRvhΉp0N&EY ߊQɷfB 0]L!u.AM98*8̙?J 7lel(yS0l+4 *$m,s%" 3|xsڽكBw%Ҹ D $l(uP2Z}<)0Wv9OYIqow/]HVZ(Ff2?piiF&`L.S&%sMdɗp1˶&hKU}06Sr aI>p%Imo@=pd-K]( ?xF2/Gk 亂m}iϤ]8*_lR 땭 tEL{ĪCC8 +t9|KU\v1_ 2~^4# 30EȾ8탚:G;Fc݆^Xq-<$>uLp3P|Aj3BCt| F%,gr *{m${E['Bҙ>u}8p`g4qu3t/_fx\_, {FgTgB!6`Dv7H>" hS^Y[9jqzړ*OWTF] r#RqNyv |^a8 [z۟M%gIت֢_9%hqMgMcuEI(6G앆#w*, 924!O X;͏; H I=Ȁq&F&vԍBC)[jk>~DTX/+,XI 0>5Fly%$zGFp #}? B2(~ :<˃IZB"~7o 4{Q%:ܕngv4O~΂#PbpVfʜ Ŵ5baQX Ȏ4jBT7ʲmWtmk,Ml* 8a\d-)Lċ?xSsyreɮrsшfA{6/\zEvjdv!i\zF Et |p}pݙ1[)׍}&zXX;Q jHl,\0ܱT X;Fn}UƝ(6;AN> t250J uAa-P2\O|!FDǡD-k Ee1{/5pGZ'=y|"ėsD~ɢmDo]̸T,ԟۤ`h *,K lelzbNFzP~ǂP$JX)?bsg/հLȺ.żgUK =[DdH͓" ~X]GLenr_*j`Q 0/mP*-MIX'5w6DI@p@Ρ/j^`\Pm1QTZ+Q4^ c'#_^ ?gC0M=_K/e"AdnCoBa:7sH J{b!Ĵ>t]WV;nD `TW7%Q&c@g{P/jeTY|YQ*H|S95 CZO4F$n)`Zvt7K֘CYiG6|``' 1t|,PxR_$}͘I}$Ϡ.dkzgJҤk^M.DxJ @,M`݆ƻ[m6x< UQTN&l92 prI; qCһ.|#iDOZԥ,3ؤ {p@.G`SA' #C2E+t?UV0'_ +@xG8yb cN? f1%Q "a A+MLH\IdDJZ_y ᎘14|Ego|ʗ_w̎I! i!rq[Ҭ\eʻIa3 t0I7YEIL9Fln>>/;\-1]]i TG7 aŸ1B+`$j ˲*Cu "eɷGUCL:o-#Rs{1ː⚍[~nb"UV XdnfFqbDOh(QrKP2T́C}.<֣*lp B.e4"~Su 9w؀9~ӷ=Z$Bqb RWǨ&]rQ-3K@%0d:1| ҵB{q|U~&D (BnErՌsEv<]^< ;DqS4P\3i(e|5e8ŖL]GZأ#HBU!,u$RNQ1̺ǬY~Մ+/N*^cıC0[9/>,yxq[n=bF52b ÿ:ð!(N\E(_kd{!*0^>wF95LzdLx$TÆ.H>H"~<<jPeCrKkQq/Eee>k \N`y\T+5ISpWܖ{&k|i5 Y\)R/#@aXx+Pwtsɔ mHQ+07OyL{MSݤ\MH;C1e73 \zݖL\o^zNLݐчɤy~xg!INa(L^>7$L~ZOϒW)E;b=wҠiTSO.݁)A[Շ|50XZ$]gXhN(*K̷T1^X)* (FGE@6臄DƩ}* h^Oګx%$m<b-V5gALB2u,@9& ܶ"?5V iPCJc$).lFkzٕ&()"7NXSr;4ݤ!}RReFxse/#udۯw8BV\ n ~h* @#l5ܧ ZI@Zj@cpF)R=d44ҭIy6Td;g:m` {P3;t8u qpѿCЌN18TWz.Kcv,Y dQdaoT_\U*?D)+g$,k kvCP~uY: QZ^ė*XT/sgtvқ2ouvQڵD.őщ<ٹx $)1†wBN wl\!u\ەB?tt:p(|Lr;rKߝ4@?nflxRȌGfcZ҂ygkO ~وW?/Kg/]Þ`zY KG>D[O0vz3sEZ0gRr*m;]ИMW"(3^ؼ6@$&8ʒXCěNwIi<Ǝ֭`uU\.LTc[ĆS13iA?m]ͪ8݈?^÷L텭 qg\ȅm%E5" ULlY PD6pOFC]κ۪a(tHlRKx /u'؇,7b"q] _Y)6, F@m-{2UNW6[GB2C*MEkWu*Wker0y12 7?~CB S&r8ϵaMy6XV>f%2njm>ZHL%RXrYg(^|* Q^$p|E˩t֭_ hiם?T.Э 3˚*oǘץ)=@P uO-C^Eu"!}h3R+#j䯠ZzLkUH ӑ`VԦە܋RoIo|iKCF腁 v9mǙD4(K:/91xz>H;T5xФ Q"-8=3ظV%6p袒2Tq^f:a.F0~H vHot) ACQ9D;O9&ה} k%Zr-L<&=z-m)M-6w ΃ /bϤ&eQSv&'Xϼ/:4 PSe:h:0'˞ud\7BP$ Ly;L@@<'=߄.fOYrV˺a +J ,.vlVHno r6/$hs gfnb}=| )2OȢOc  J8ӛlƃ+7 "$~ mPԃ W@[ќ EԒZ2f;2p1yV;hH)nNҠMrp0mR(I+ En1-/hziv@De1vչQcڽkbԜ4TΈ5 duvO#B.oƥ9WkHxΪҍ_]m(4Rn(]/Hf.f ץ.9Cvv[# a;F^ NY.*'S " -(v3 uhI&#с+)Z-NMV[WdPU7b\ۢ^>T\i˔x,B [Bq]I@=lay'U,^5P^ IQV`kkH̻EyW`H֣Ki_'KنZiuh5ycO%jhc\&pIQ~{ ^3: [Wن(YR,kƄllx:E|]!^$)wf h@<ύ8IE= BQ5`(=g2*kW?濊E7tvCnԇsWՎ">a67quV,q gvJfwA`XvLZCE{k@¥$/8uv7{JGQ^g=L^3 nBD V?!5Z zw rGFSr1@MUk/L8H0c{rͼ S@S ]]M/-ܟ=[`WHqk͎A)ˣIFV/kXB']?AiZ2u%pu>F|\ꢫs"qoYb lm; JI*l—|rFa ,&{αJfN iI_YNŤ3u@qQX bPEfw(4DFb$lp5۰lF^̸<U6"̶E>v|`!pL" _y G'MB'/ayk̇9>95݅ f°V״e^6JpVS|#d:,Bc8T[I+ XV TUv!pi{O=-v2V,*Bo"3GXXpJ!^`Av?: F)*/CGo)}T~vێsD'b՛LsȼO|?!IX؋9[cCPh`H%:L<`tl֩yP޸/P8P^edg[-cƽ ?Ur›<_R 5]P]Ln|g{ΘșbtC`@h6!b0yPHHʳhXԇ5 ]4\>Og!HxK]cI1)G/ƦG 24 `%\EOC_~ogKw4DU-0u^Ds9?SUCFr*,]N0X&{|b*LV9aihH>4e45f#<1ƙTAi΍| , t:>l->*Mhsxٯ¡W{&oGͪ U [ !l9v&ښE>1(ϳfGecMTS*{+&p?xa{uyeէ #s]煟ӌ!$}4z;WIR"!1uPǂ ,пut0Otm?YOk/z Zܵd5cA~]P&།p:A ,Tmxh뿥- X \CHwJIo"ymOiS& K$˔hBkx-%|,j3DžgIS9ڞ,5hOK97{X6$лeSSPQÁ>TN* rҟCڵ+5,$f]&׬=Oz؁G=WzGCqq9QͰK=XzG4f7n$b$K н mzfxph I?+/4B nsH}k— u,nD~ׯhUԵ 7ЧOe/Mt]ctM2q!YBѨY.khH[t5"Zzyx='V,(/ 6Vئmj*+_T~%ew.hX\wB 22LWgR(Cdrp UH4ISHsZN_ۏ4@,=QՁ#Bɧ -ɇlWb UKyT & 1 `tLGrr\w~,csmQ";# RFq&,l\ &И^f'!(WvhGYx EaZ 1V:>a 5ɲd6yûYVe4Ȝ 3U}k@ cG$0M%QqM8s!? R^q8E/WT}VP;=E y:Uo9֤גB *L~Hdy׹pVgG>*ֳDY,B-UjM@Ǻ,Ɖ S/swYUVH-D(௿MM1hRm}~^H˿۹ G4JunjtVUm%M"b S(BMXA<0i}ĬVYnhۯG#k$OC{r+L4=J$>׃O^;{2yc%v3BEUk{ښf3x, 8{BR٨БT:Z\{ssM[;:FdW&TL`5LM[RnVoKO)]`jx 0vzqύ?R%NSdZUf9e|*t6:ۜP 3'h-̅76LSa <6rP:_i %Y[.ub7M>Q4e; *OXs-OtD{X{{ rfcj Enϡ5Q8kiZ%FaO72 K᪫̂U?9ZX LP8R`\"8W"ƿV$?A700Kev'{&mmCor[Rxa΋QYBsʙu @ G훲򀰏P8l `h {YhPRT%*3=;7h>æ«ǭ7 ݊$ ١%. 46)o#MN\ݹÜeNyŧ^\'/nNZ59k9JHUw7Z|W.`B7eH3 GfC'LJȏ@|"ş+ȚC.5sʹT q48)cϹWVۊ=+_. d<ʍF{#XѺB$ 3$Chmƞ_|lM$Kl+6:;ezIlm }hؗIJZ)iLW5 +o8qA< +,=sf p_tx7~;nw\u&^NzULs(`}^BZC[XDMse!OVSgĒޝR5rdc!5:GL);+{:Nq'l&bZ3wJUb&Ƶƒ-#))+ ~sKr (U{)qL`rlD&~OD3 :8.bXCVi]iyNH;O+5yU;ϟYJ(?"}mQVXz) 6%i<.> G*fl6r7<@kY61}á?e{%"PGceM!MiE FPFWF<cYSǃA4&bʦQFxD~b( Be(0x[5=7"χHGd7w}x=pHg`+oU(ʦ0D:O2Ys"@PVBFJo a/V:Ptgpǐ.\IGy\TLZ_]ۧNo pV&e_{4Ȕ4婜kP{ۤ=@!uLW& :n<6U*3h{rȚT l!$B '$FfmsSZi%Zⵠ!eL)(UZ5g{= }Qx[H?$P{[E)ľzD(VQVX@@~nL zeICh!!#ɭw8n~qH0:+ w=\u zjfHBx6l.j_~0ض D|6@CnmP@\p jdqoN1)|^Q\:VE;JĔ,ݎƂ)g),H0:+:q=7j~@VC͖@f!9%嫌A9+l89ݘƜ>-MhXTަ>v?F7X&ZDa7oR,[dq} ]GM!(g+(5en'?c-ty>{Ϙ?MF䥳ՠ֡}ת:2\l+"᭙qVBo^OGU{:h-[\xָe(QoTT]_޴ښS H+68_ (@LRUk#n(QS3g[ -W6tqW`.ifq{;9sX]KMCX-]䁗Sg@>k)cY?Jze`ҼD?@5sa^Ex.ŞpYztT-רFE=ӻOd۪97ad5rSҌhdX7ss$dhw;ɀoQhp_e1;]>trvݩ fυAB 돿+ L,*xti{"Di OzVvsm`)>zi7`5w#71 wXYb;, "$z-i{|rrԗ0lQ>HVR1~'Eg>e.=8G7,ſ$_^Ma,CEL|6b]9g.ßг *sM cM"R8Y39P~0_k 2@YJBB)|Nש7.`.((( #)kPϱL]q'!aT^; MT1)"|!Z)$k/̫{ʀs]wP?s. (0i}IKv`I[SPݥ81CkR\Z {ћ=!{9~^myy]4ꟍ Mw5)>*Ho8}Ȁ6p^ǰaq#+"V$H ;>Fd:<5/'ki7fuW]>Y8®7elPo`EkGU$ MݓIO_p{60no{ 3^ 낔1滭ge4܉ˍ~LufSbumVݲ'Kbc&pYh$ ^EP3u9JuaۋQ[^̚!f)lme(ROpd5 hDdb5dd#23TYIxO'O=;yʃWUUc,yh. H=A[]Cr] 3 2w4(F2UjRMhRXǟ嚣<$ &t-Qbɪ| >䂢6 - ՊRxCIDzw{O N~ ] x747g{+5E~BO9ix@*Q ՂI{ rULqCIyV͚U^ 1 Rw ZQW ܆zz1M L2RU=UiCN5ֳ!XEsl@R]hC* h~Ψ zC{㵄en([^kx,Ԭil@K8(L^Cg8[uFJ?hlFPvӝ%(44FέcvҀ-r&-㍃o6, ]{AeтS\;qjwg9Dd%/Z\\?TP@ &kB^g3]o sC. Z>p|3V:"g#Ӂ/ᒯ{y? HJ'ݻ6.eQ0u9wq唩VH/8Rr)DKҳJpzSUL2ԸZ?旁th *SqV  I\goA.O>AxC]VFe#i0|7[ ;"Hぱ1AewO1$CJl iȮեcuSq^i3QN8,"zk\c')%x0qlbvpM}BͿl#*Fq*wd~)69p}@aŠG1%*|eSW O?Dgs:6~NP+gk8i[ -(KDlSBI~9w bxJa{:e*Ps<{ &Rc#WyY X/F1.̙}x"gx#rV9̰Spc0 dXw_v6 Gd< 8ORP2UG=+!B]ILw䁩'w6[d/]xuK.8OU6Lg׏f$U.\UMqOYx I -3b|$WBbd4ѝ1Rcwni@*0 iܥ;3̶4E=%֎0YՊ: cV*+ʋ\S75x:*cA=d>-{53\ UOH,aޕHמv.2b|]&K5j8H8s7],mGnOȃF-;Ǘ" ?597Uόk5zYY|n#Ν[H4x݆ϕj (yq2QcM;XmID^j䇡yDI1X0Pi}j79|^܆m`F.^;/ǞHKC%#Հ' _1MBˏFr|X)9_JdJOZ gѪz#af_k<3.CukG,^ ޛYzXUg&X ǞV.y4>AZ+缯x([̟}&w#'8ēo2wCdzZt06dy:pR4/?<_ &x>xW}h5 jsg~zJQe)c& %ǫs)ח@5S`k詊i? ,yƚ*8_>u ۳ ՍP}fj8JY:DS [35FoEq )0A !c|v*1%sj{B'n? JnJcGE\4O4Ab3=CRY:%tu[.$\rs|z?>|Ufe tP -Gfdf):blxy`$^8ؤHmd8A vmsR W#+?Bi"i-ah>vVCFTP<EOw!0UC H16 wG>at d+_-ڦgatSBݬ;,^ IDV/v.ک2u]{4*7m*׮~+9ieۉN>];#}O4s"5%D\taDꙍ\Eii.>Fe lWeTF*~tR ۲$  ,[bM+O1 u;Jʺ,}l`cQO͗[1Rw:ۋg*v3eMظvizb|+଀֮D>ٜB)FcS"k4v '$;'>h!¥A[vs$j  J)6a[g3XΜkKNwOV s/_uͰ_O&m3*R lm0%`St.7~qn9;IVx .<| }Xod7|T dPiǀQ twRO2@:0#N;iƲ|mUP։V M/8.ԕ:W @zg+.5*oBQp?K%s63hQƔ^$QCP " Db%9yqYִ#3S<$37CMmϫ`佤[xAƪ>^GTkqU\aQ.UPu|^ lj?Nv*a?FzC3~h=x2PgJF*@%e-v w",ꪲ XB֬M{t@) ÷t&W7]5 d.u+j,¦2X3}. gy 1:1Y (61u>L*zYPlv)vh ;/uMVo/a)na O YzU;94+$Cx`/Di':^+bJ#EcʯBjV||_U4tDKgkU"('K;HmWZV$yNé.ې@Fe׸C2Et i)EF9UGN:75ZέƱmbmLi JE I#s̩<Q`J<ԹnU +2xUZ//MԳtlPC;F7r56#bz,AHe#0!*ʄ@@Z۶ (F(Wu ([J38ڣ&*Œ1Ŗ7V{8^F/2s5o8L#Lgȡ߀0(uNo%r (yΘq m0dx&}c)' v-BR6_PV<Nj#<BBAxoW+=nwjE%KыKe_e/$,1ݤ#Z$_C.ƀ*>3)K5l>T(rB}u&3rAҋ;L 64 Zӯ^#Qʁ3}~-^Gǫzb 5,Tnqr mw:,wGR'b*K [2ND@A6|s2thu>mF7Dqb̰ӿ87cdV//*ˋs& &h-Pyφ49-.6Š^G)lVsDC 4W{7hvk1:dw& My/߅qM$!rS'f› FH- ,5*"N3&Z8>++#HBB+g+t!}]dsrc #ŠR„МD6%!jmI. l\ņs8}fJNNE38K1e=պa5\s07F6B_sG4mZר.ql.>&vhş;mm1ݳ<]Z롂7y|NV$A I:kU3,\kL/ 2Rqӑ ɔ1x ko}oUY-^ K\u=67doLgȰdS%aƛNcO\zhRC" O,ٙwTtA@T[$M(a_-LZ"ofP,*њ+7 h oyGP| t'.P<%dۈODf) 7ν[M M[uwq ǝݎ䎧%]˺K4fXrF/bNbqyy]q̘hX/U"L`HT[> iZ'QkӲ-Z+ZW6Y"z;{}B&`bMx=6<א$ t M;sY0L6C]Lcl}q1=Bfehg6 iOӳ '~?U!A@idz; E }e䌔;xkey痰trCY%3(7kΈ x@1z{Qwl}pc0J2P34H-B+PFXy]Q'g/ThVkEl`NYZn߇'ɾP3?2k ~oH&7+quoFOzPPeV.W7> }(Zx' vO6(3Q 5,*a-!6>[5P. V~7 9 9&9}X,ܟD6ֵar(кqg Ōx5Aw9^wGG9zS8$n\>39EW>K^ 6h=bh1T7O\2M>N.{ґ_eʣ,E@9ORi 9Pb;]9 AZ*/6n:YbY* ~Ie8)`1ֈ) C:Pf+Ulk<FdO=0CA(qm7ߪ`OW>/!+ײlFbumDfh+ v۴Spp;4qq(h}nTK+O!#lǭ,G6'}c X!]g ϻDchR(oZZ:v-m\|ewpJƬy# yw3:>Qk"TL CF$^TrB)~=t2{/^}Ɏʲ %1 ' @B&"KxbjWs0LL790ڻ y{ hBcX|` V9d(c'&OxB?^xzL FV5`D򊎽՟-zQoh1[yD%X"8RKr_0(S'+HG@I+,z%cJ5GS^BW<ܫ<]pggJW:ON[أunty |CYAk{M߻ ۀs% Սލ>?1T Q3ż0Sr@? ;ϒc+O۶xaہ ?DC ]ch?KUСܹE{yNfDą"p"c5*MN7KDFj;wvqv,eT}JznЙ1Ns`V:HSy{kKVi1qP w ȔyXwI5U:(29z|5桤@(? (~ѩ6d偿2izK 8bn~604n%M7n xPKH&8 QM^[pR[$*jJAcޟ71".Ry\J{aI!:mI5s 7M~S@y#D޿qv]7DޯWV%(4KZ2IO4Evg,aM'|҃Dn[Zvb<2vap.bg<B$E_J7A" R c]u#DP͂c|5t5>ZWi};PUB;/&~ Uֶn !aaY~Xԧ7YD|HeXrue 7 v ?ϱ٤-8c[%M!`jI89% ~P{v3x<| @`{Q4?qS뵒j-?FGu[ f具B0 Ґ @ f@I&e"HlL ^ߝ9y.tďzY~,u@\6q=z " [oLqtIߵ]h4j9/]]*yeg+p;ж9ns#`67BhN",b_ԓTI>f2fe;=FpT1KoΘ.mW*j4Q5< WD[#7}[{,Ȩq^{=)to es9,w(4h Fσr;K}"^|k^[Ue?$jo xv5U7._3{TK` OQgh.f,>(s3]Ԑ%3pP =vy_f2漌sΝ^Ou4_/ä g+*3#_F;[@25AE~3`ݲO!t4ŕ5RzRح19`O o}@vˤ]r7tjt]gN8T`Q9RC|`W5nz>#hNuh}>wr(H (}K19*-){D᩼X/wJ( ?w:=/.>9ާY#pkN{o]/͢TJڶs ְbl@vXfABf6}r?U'xDW.(NDx gvrcTb0Eds>1oj[uzWC\/J-` LInc>#GQgHc%ϜG^qDu`ޢtA$ ]a}.m h?natKxάLPO%C֋j{ڎ-{|`G_i&8*OhҼ**AǍzU>.^Qk p|hӁ݁(Com ?d rտ=iAbipt$dh%y;_@&\ w HSft/E`'ŹԨ.ċP f[/s\t-RSKS5TH_nPyqScҐfJxB]޲LV`Wt F֩٭KIM1h ~#ƀGѬwgҾR) 61٬Z$d7h)e?K]{X*Ww MB``S$: &F{ 1R 8W3 N6}Q I& ֔f"]M/e'a's>Þ\rppBKKc*:>YUJlz^AIu`Ld(T#=$m5ްB3{UUF{dÕĨ輢`o$bMmŒW.;mI%㵮/-,s#jg4]n;}4tF R!Q^B寬Ov3j;& a4hK]Ȉtsc—?M AثRf)W~*)$ ºE"ebyDw)#-ЋNԸ6fK6ɿC֠iעR/ v ϒ3"04 <GF۟I̔;cioqC !ُSLXmܔ p\֛/$| HܪY^:kNЛܳ34>a?HnڝrybT a9Ŷn.Q=`bu<8ABf* /|QoNyW;yjL ǖLfH},[HC%izYTKHDlT zE,Zg  K s'G΅(K#r,lx7&o Z[9CB:kٱ2+ tCv/D:+et7[9@!Q/au7'9{qɯص+yx}fpy:nM"Y#E$1U)pQUM1P.nQ+g/ONҽew:w:X}%ck}^68Q":J{վ1DP Z[a9oVL[N.y?q-6$Ԣ$cTG2щX@"nXOZzZ*`r}f*Ebg04t iURWLKL~Ccv3}R R9xX<@h/Fk:Ⱥ4>>rtIMu|jY9!TQo)I/Z[31˰YF*{{I{+;\_S~? MoTbzs!3g^Y1N ^gܝn"e:1rePT7@x7'l6H+N3. cҟjB O~ެ lBu.by<ǰ9s ebl I餢x b\E>[7H(; \ )XQ۸j&ttiT{9<:oz!AF-ݤgh@;W|"Ig5V*sV хI 0,bZN wd4c@&fD@jC Qz5}y'S!T꺐sؾ'7}a?k䤕"6RISVrB, -!~dMo"aCM%JKBae& Pi{}c.֮h\Ij[0R丬y$\~y"cB_9mnqiYI"o.͸U FW^m2cH3C*䳺bn)b"mޱ: bKSMzǛghyBB'Nt ƄcO[9^# <|PWi*ڿޒrm `5 Yܧ9."F`vأXuƟ-ͳ?rO#AY$SSIyBYqeOP_d0%Q'YP(39p TLVԢߟFNKk"9L\Ds&=L!B ^l"53^ lmڋ%DϕТ8Dδˌ4>o|kΫuwQ]-!r[P1tRJgMhv.a. <}4$5B)vViD xt*V5[)Rfu]Rٱ"KO8C[3egl"T]uK؉kLTlzP8.ֵ<f,@э Fd.=͓=OOR?ZalWXgf͹K"zw^:ay,5 9=SC1T6>ș6.RRC`Gi`yy $qHJO&TJZ_АXU@HeG3wU{^GTI'2b_17l<5FGB}]BsU&Hݻ6BA馠bl=tlIRs kߘ2F#k)4 ppyáeܽ W%ʒQt&k㌱1x{ 8yj 6m,ؑcI\7?eo%:wR$_N?UW_+ރ r*f^/Z;pGc\6 36Lp/# 9^yStP4[i'z) G6 vNx# Fy?Kš( 'g.4Ӭ'm;Cý͞'ɴcyEhǵR")mrMZ/Ro*JGG=*%(_xeyu "ীfUNc)1V+3 TXV_e n bۊ'&;6%Sl1e֨.>fx vnH[ГKꃗu, 2Zm?Њ5D5ꦱ8E/[3$7sZ]Gn ৊*3دJ[vB;ӱr 6>ԺM{_*{ܙ:ϧw=R`OHO,X}=ਯoѓYnNWwr?+N_m%c~ z_AneLm~>YW$^=]QOgO4 ?Wt_cPbc{yCEPCLk[Ojk)aSCabOCC4Sn?e*&-T{]f+/ʁ$q{>h^s)C3)S2W(nv4&7) ?<;|Zkچ8A7)tK7m'"Kс/;J(UY`' F5XynYX6k7,:D/YVQ^=ÛU<;ib 39cp Mq9Jn-48ۛ`lPhԎ$EɟK}A;RD쉄-w:S&(؟9/U2Ə5"]Ci]WG ( לFbP𰃽1yahڄf0bABOb=,ĕOU.* 3Ɋ[C" ~<ֽ{Gjo+sX>9#dg=Yqέz^lbet$D/ᬝᕜ̑c׋YyOfO| rQ)>-cybIpDϊ {^f M|[ܥch'Y5yzzxC@_l:rΒMAJAd{ OD =O|u'x#ULvyn{g ;{xZzF1wdgpJ5\2DiNOcW4-ϻlܥw`nLl6tyg0m7eBRTneL~ ̈ʜ'..Z&?OX=^ҖJ`NOSl9QȦXCzwo߀mp检NX)/y[y61Yr {&߰P`*|1qYL7m-J8fo\߬~|*N*U. &*i1W&eqGeק"q L9uE p|,&u`"#Me\ =Xsz ]ߊggSY GSG4?8S+smd= Dla|-O;/T< @NgDbIcD9uʾ\! SjtxB,>aIebR,ܱ*J}}X0<'{tj0nңW%~ UNe>lц|9Gd{JLrlG쪔eob#pzT(szV1Y\ f]DD:$y vF@HKvIs/?>k?iOF$5Z$79CQ"fn27ї\CeTXVgҢD'7lՃ7q6JV'{ j &/t 5&?@JGS*9V,Ϻ8zs !ܐAGh P[̂$yik^yr~D7JrruqSc(uz<l*omoe ˢ4{nK4{%ySߣOVL+3/ 7Y EMiL^@vaKYTJl:Ԫ+a㯤B;.;;[P }'Hq|{)_~$ 2lNl*!/JOd5̳9,M3*qLC漁DEBNu; uء {Ie6Yq Oڦb$"W4}?%0{17$! Jp`h<ts¤Po '!RTR1k:G>WUӁcK4#7]> p֛ _8ԠXF"M~9P8vŒ񈤒(_ANʡFFGScdJ)|oWs<(3`YӬ{ 8keN! =s-U0/%UYC3ίsVOX>HG)ý=M'M-imHm~pΰ)eo~@<}d4(ęlL"j\ zEXgFwP(:FECMmht:P/W DQt>mtqM2 #v`pJcY rpz 1w@vk9]ޘʺK!$ 8I}GAK]Zkxt"PH #fCOD}ܸ2>. 5rJ膹n=Fg+a>@?V m3] n vzȻmz׵f, xƧÅub6]7=Te7fJёSH6Q^zE~]>IF^akflN5iUlP՗U|sϟWXq3Kk]d7b1>im/W`79}0q? me(y؁i)q S>E"+yi¥)ٹ{w݇/@J2DÀ]F07`e~L[Jh']nd`!mg%b_8i{%S6kmTAhWt(j!,8p2#OyBALG&o?I`͎ܣ`̴,#ߴl\3#lO~H<#s$-Y:\ P"^N%IcARcW_ݲڼ?I`NxW#$l|g{v ,4[>H-`$ f` J\e0rIqp[~GWd^ ч1_^UYtb(AJG Ɣ+nru wiSy EG)fcߖmIDdcLl73ga~_WHe*~R3ֻYiE9‘Nڦuɣ x>$^U`&hG5w8l">HՕA)sxءt4'Mh7㢫svwT#.,)~)p^Rl$bvkA X,J6Bj&y]ޘ#v%Ӧ%qL{ƫ'y3L+- (q%ٗKWJ(탋R祢ܛ6 ff*]wlD::eg%:`/?WI/xG@%= tו%PUށ%TvOkj"좮8ƆT^ `<Z?VYr(}rT`EmOv=<"€ಹg^b$i;,TGEE3SzB)3Mc|?=d jjY.pxHFycG 8Eon9s I":"G %k|+X@*3u]*stGK^ȩ\vt7x4RFSJn2/>>lnhFSsx#m"^>+)Ёԙt’ܛۚ T ubG8~ Tڌ [MK&SO1Lr `{t7B83yX-vuĐ}CpU yyzQd!A7E[ǂL>t]Whkj#lƱȩEYd?fyaޯ=ZJmTȎ"+ԇO!]V䦿tYnrƸ^aF:<\0^FYLR;Vg-v{{LsFAϬ)wq̿rM? *P(}釷=H__>Wj#amLT=Jm`.BuXk/ Qg:Y\WrɆӦ:/=B]= G> .;D2u%Q❉A|l,-gX=DC#~"E=%L@#3F1'HBVTUCFd ڋV{vMtkPcW{?ѤG˻m,H,W 7β(4"qh%'3^ɥ(Ctk3g!2몾g4+"u`KGEld)MOM)rqoT3G.xmL0irdkOo~Ehy%`ݼ.vgo4V! [~9.u{C{1K2g36H1 G\veHxg-,ISG4ul+o5%JՓ0 ,~s<2.|Pô#sotn-Jz q+'nF||ÄWY ֥G@ D N8p:V>]&QH\K]`9Xjf3}Cq \v慻Dzmtj?B5'pq;:O2|g?7@sjgkb%xVx/2l^pS{ HMbd{4:]r)2Y"wCJ7Ѧ'O+dNP/wdN¾!GsǩpSc-VAW#Qq9 h]3{@߈GB(ՅbaMr9[Z^9#]~4Js}B›jSu3:6VL2H'hᮢ$ T23qt"(u^t gsb|hc'#r7T7e+s&88{ Tr4[?֎`JP!pw^牎!ёǛ oo-ZܸJs(2`DQ*.*+K%3Nx'dXb_Wmg9%u/3ݷ ܜ{X"Ti]ȟ>'3S>?w $-d&kqT~v^Yz>kR2 QrkǏ$)bO_jn0H)68Ķ1d8&I& w}z{T`l m'R;dvlO]U.5`|޵S}gHn{E8XKm)' v}D_vv{+[$ M596yHKRMm!A ~gZ2i`1,f IF~NgV\}ʐY#5Ֆʍ1q3`:=dfw{DÖuiqd c n(POqF?UAZO ײJ!i{ĥ*C3fs߉ =X+9IJM Q7y #Dކ D)l"~/ic&b |H4o;3cݿjo+2h| sBxC 8,,wZctc:w9T%OTSczON/5n-IJokDYQW,{==$RU$ %30)BwrUv{OI֨6ϻ{g]P9!J{j=_\QaD=g%3'?^{IUm$*ARn-j#9> o])+O`'H(v'3W7rup[tzϰF$L")s4,-PIz }R!۾$3=$~ԋkQت(_zY@&%B[+i'|9HA8T#!V1B?Hz$w2ZP:MYO T7];[<( U,aHiRC߻4vTbTZIlId؝w}iAUvBtG}`JĊ爷@0 D<*Ֆ;o9NzW T߬&84ʝ$1gI HK 0a yyD piQ֮hb#-}G1?E4 _5Y9 IV]T^L(3YuN}z1WH&,%&s 9J(=Dk-Țme_W“}ƫk3Dk h]Tv yQ%_}E~Ү-<ӕT@"hEG*W}Yra6Ѵ?0-F?k#QGepF-ㄤ%rf<b\(o[&5tH3]Vt| L@}՗vG=D /aC))]fyZyu<&hAcwX#es&:>Hf0۶_ߜޛ[GG(/rSƇ՞eiT/RͱPזuKLS{ ڑ/G2{UwaPE祣cxV@߫ u$0)G`]cҧ.]אָԜ) bi\OWUku39gy\:TVUrŕUD!ΙP6R}П"!|j^δ!YSFxg_["ّL:fBժegLR>K}, :Kn.,;0u1ʊG>^%X[6Dyd2>i^F|V6)He2S!ho@IGH؈>U3(r7Am!&T6Jwo!@`̟Ղ\`OK5//\mT=9ڪbN/Woc5&I&?)$;/@P˟lA'0/‹rM6KRa-Ic/H(| 5V'e',FWXR՞6b 9bcGtnB*D ]>]FSIvsC:sNt^OX%, )Ya*ULVߛ/kB_8}<;.g2DltF>V|%g`.̼46}A@|8_PWS?u"ؤ#Fs  [rh;>n@pͅιIAYrY4άq"}N~3DrX Rm)}&?ܱ@^hm?{+֐>ך+d+} MgI1r»zfc2{fZY|u;"R5r1niJ&V{ӹ$' (Yn]zg3D@h# W;t|2`F7FQ}l_0 npPS˯g]pk0Ȳ6Rk;DPr䡁D2AٟD tyD ' M3Q?9 au:jCi[43`OPK+QUe벁 ljUs ?" VM@p-:$p8W1's0 (øeϵz!S.#(;~UlC0~sh1D9U 0EAm5%Hkx\y3,)d}atH),E'ԡۤJ^/vÓk<&LlޚqҤP7ډ=9s[P%EN[r&Sw;u^liydv0S*\X6cK%1lg~ƣ0zM_x1|A9+I:%5>욀 Bv՞G׼|iYmX[?)R*uC~%uIJ]O}O8 z?Q8y\%JghaPT@RAstD3vnn8ቁ[jqSDR8ųzM4xx:匢v)Qd %s9ǿG7xi+s2ډ ϕS`6jn /br6i`♤zHhcĴ000rؗ:%L޷߰Fdo𥙑up܌ `j+B7440#ÄuKүf/evxwu+"U8Ib*kCl3Eal5BkzCcBy#  Q^]ٯHXq eM0$TwMAaI8r{hFsn&LqZZ3Nl}q sY/]Ka==Sj 1-c䱨'b ?dus92ՎLwP!_d]~=+6I"!D8>mpP&92:셍Xrޕ.o%읳ul)-Lv[*pG f:̻Ƥ3^ N&UsD"NX!fWML lെ@[gVO(IԤ  4e&(WgR,l͋13 Xh(QT1E+E^=ǝ˘dj`NB(5菫%aVqc2_F+ Z y(MMTRJ "1a.I8ȣ5\N\%{f!V9T>-!OđICнr!GEI*_K@3d.:S(GL)4dvxyŢ":m``~3۵BwL6KMKiOΏyÎfv=~`*_-9z.zH!pǾwTP/oYr, ^o,jA{vpgN>dHLaՉpHڈĥgpȕ+#@"]b 5 褒Uo[QQ rCW899'"V))FpZG-Ox fM.WMKljӇo緅ý@cP֑P"@?kiqRMiNg\dkL4\)DO4;W(R^A-P |6Vp@aO0y`cr]M PfʨXPE 5PǶx/8i410(Ҏ;W"~I68'W澍YYwǔZ`ŭB|⣁zp=8d@<:r?6dHPr1'Yc0!y-BVUӼ(Kie |(/Ȼ2=q ֘H߰W%l !#1)ٳÊРU+-FXFMMT"N}+exZޑ?"컍D~e0tv3rn8Dն->$%x"wGYdsH-_tA?. uW5+l0IGq,Շ'bbEɉ&[T?]3@H7Ž3tvol٤ˉ3ihW5.G%J2~ *į]YfKu\GN"/JJ?J8Z0WjYWŅ1C2V`ãm+qIu6Y92%C4Y3M^H&e"gAp^jWaA-ϑ< uaޢq$x"`ڄ_E dlgO8ȃEijlGѶTpј~*A0ѩwX,j84oo4ce\Mzcڻ,tdR oStwL5ΈjkaW) FW˸NAWw<C3n2Ƨٍ+7-W|[Ip3|?r8r) M9zl#T,7cR1xB:ѕ,r/Z$+Ur]O3H,x0LQ\:f%[a@{aDbOF6sܒ@ yJ)) ޺0)G()gRw7mSoB9`mu1@@Lg{ZKPf(3<9*_Չmt4fԵEbg@$mlH7pEBAVI14+#Ɵ*o}j /}d O h20K4۽pK~6H1U,桾RZ `js$Aex*dZU2c]g0ׄ漻o`t 뱷r ouk۝K.u8lt`uy{@V!V EM9;q9w7hJ{|綌 }xc,GQZ()%dbOecLڂUT#< 1 ?C}iZ+%H}?[sLC {DBkwJeE #{Y.q !r8K d B=yq_j )ZœNqȭ)K(<I4 #~,- 9'ڕՔ!ƚKYŶ cǙ)6*t^-P_G9sĜͫIfwXY4FEʞ+њ[DBgtO;3;:;AI )<=PcAQ)x=vL)SbXάy#E6k:FJt& , <(4GЃ(3Fyˬ t6ҷ;v;=۵CʀiICl~(N*tmA}4/*`Ε]PP3: }ҎQXf`ďCQ0 (bA'IN'J|/UDy e˵Lߐ][t ކ)ro By"*Yewq;OQuU#8ꟊh[3OQ-ڢ g*n:: C3qN~U_" kldrGhzMi`&)6G)ldT(;ۇX&MlPPl d\1Dh$yYrS?cE$G)e.0#Zg81QS.RX)U rWD@y9;"}o3k]5pKs1ŒS۔2)0( cClD7Vv8.'-UӼZPJI˲2!ޠvMMScw9= lqTf-}gZ+# 1to[ #5D6^@܅={=R,`B "05]F79Tx_ p3UW O!J)AʰB(nσ+Xɘk(6SJ>\A|žQ㍤bI xEJ-Ӌ$ YP%HHI^=wuq'X7س |Ģ[Uh Qɀ͋zv۟!ԆYch xn6bvnǼE%9CA^ z9a UxHҀ `U%Ef[$5O|h,"rEϱ]-ȜynvJݿh?ZmV`V@Y[Uh2:3W-y!f+ S`֪|Qހf yj޸suj0c\2* |V(>MH&[D Ox{(tD! JvjP%81>7+,>pwm=2\( 撈*Op^OFi(LX٨/Ǎ?@D)í%!Jq{7*'e9'=9 mӴ+YleVsYi11VUo̼[p/?Ҟ H{6̠+W/T;FX-ұ/M:X5Ia mX&w"zm忊 cl ;Gdcl^kaVXj {W}Ɔx^k #끪:"Ec=*pS<3@JFXp|^AV-g adSgb)Tmʍ [4vmhwr[QQR~G~5OI^%x-mÏXpaZ1TeRvq.%B@NG\BP' M ;K9|c+BĶA']P%`1Eq6'Jp+ѥ]mM82;Y UOm\$d8Agsp/W &O?6sm([_swD#x4Lj'Pi[BH/rO#rh[ wvJʥ& ]Fr[ 7:u-NٛcW@$PuT!*}1u(6)9phdg lg 'h)K(y}swiݟ c׮dIܖiN(ڤ5%ܨĹց#uTKȁEf^Q62鐓ȱ y8M4s%'6]Y];ژN-Dlpf1c22q=6?? Z+k N2Y$x=}1܋9k7s%<ĩ]{ZXI}M',>2HC>R1brMB5],PN ɕNdD2nb3eNtVI$D{Lo"HA<ʄy> Ҙw[pנ,ٲů'@rRZI'elR7Nh{suHƙ6Q3jP\7%_W rDĉ mpt޷"0]؎_d K{7jb EAJj r)0D/xRZrQ:uyti'fN7 na/c5nz>o_U~ Cv.שnG%c\']y5 QUX5[y`a`&izɵA3Wڏ$Mpֳ F&k%^kþ M~1a6|gc*G0ٔ%]#P7p+Z%L^%m]ĬH'z{ZߍR2\$>D?)lN/#$(a#@^ sER爴k]G|b^[pX] d:3m NǪxo#xPT?Ei8@U+;5 ߡ++~ʼb ޤCLi0)bcn@(]-B 3`4;A} D6%\%K\<7(^K>6"6W70D|<*LmngK,Q>*P|S,8;#p'#U DA'14[D.$It-[ l?ynk$[ļFN-:ƨ:>Qz}մyP%I{4͡< -R,82N,XV,;z◂+&üNtKPQCpNwܼ"L&8ÈS`JaDR*vöOxWX2wFōD Z6E~&GWaB#_A@˱B'?1VexeS.æ+nG'SB-ŝY>00Vw̔\HUkW+˾SsAJISgó_Aη|/zZ;=&gK2kA"Pl+ԡ]mF3VR~n`.HG-ܨ95t*5VkirꗚjD>٘q GUx)QEjHB{.xfZ7{(DZ;LkNo ó7}Cvz8&}Wtu/YJyojg^A'*f^y%sAX-Z.؄z1:IPK#u.ژ_Ba"9T=0>C). E8Y=gUMvi]4Pf.Y:RZ6$én=$@ώ^-@*[dӫ!8qSYU^Փ$N Gb[`-9JUEޏDl's$0b_;cr jps.nAT --lCL`]@=}4'AwsoB}tѿ9([u>#' 3c@t@e4) hYnПm \J4YXQθ&ǵ 2gz,dRL~rn.Q -˞$26._RyP&Qoު0@.3޵Bi$>!% /~Ȟ0x5MT yÒ(m~+P0-*F,hT?vd$T%G0=px7Sjٯijrs쵮hCӡ΃f3}t}qePNdM"ߥk|Y #RFy%~K-IdAӇ@B@7ar#`6 |Ol61'Vzo4Yy Iu H&nǺ]mMO!CXJIljd3UD=߀K!ehqJ?Yo:sV dH=} WL_Z_.IVϻy92Oq|_=(s?d 8P3R jI|0yql!Ԟ /w3:W 6B[f< L =;9sO9d9ļ]XL ԕ" t!Pdz:ޭ7\[pfz қFQOyZջܯQر'>e "9R%ѴɑV.ͩM%E}`H'{]3ӰmO?~--RH_Q Csj.1cN['}.g  Zm{+@h0\@T/PۺcTl\{\9d1&_ M-#j*޳&s9(FDLtmmuJc| 6 Ga' Ů foТo Ry!ȄH;#`IjEw(jcXXR~ȕLlGeOn= Ը%#틅#\yw/ (a~CkH,hQ=nY$6t:#"(H_A ?#3)X6{p2esjEw:("g/^ Xk׭cAM|ԥ[o)04Σр YidǷ&zcF!~Opb+҄hȾ6dܐI j*/m0XdPVk.1 -듖)RIXuՋʉ2 QvA>H@)uVo.e5gz@1Լ!ndt&`99z[iϒcV% v+6X`7E/\ >[83%u2n.Я r6=dpT)ʄ%G؟՗]% Dix -<YN݇ݨ5%؁^L_d2%|C`wAKV-P*5{Ѱ*|Gw?30& R! %6$qҔGsL[%> cf,I]RAԭ1}8bSqKc϶& bu)! 1k_4[k!/hm {OlssńQúFD&*1 /9AWdRq"Oa {t[u-=ohYJ֩4BC.hMi~e)9y 5㒇6兇f1ƿJ,(UY{\~2h":9F9@c:HDeML*P1:䂜j쳺K?D|>lUG+C6QBIRjsdƹw:N}t-9Wc$VթҠf8 =V@榇+:ɖ [sx;qźAtX/bak;J'(gx{T}| B&Q\]ʟttu0Dz7@ E"h+e mPـ`[ TvnH?dhaŃ,ΧG?59Lj|9ǺHlX4&5~JTnlH\?|1^e7#@nƃAͥﲥYݟ{vӨ Wʥo?vV%$qaX)hu@'x*t0BKѡ4~}OgEn">ivkPjm'%m @E&["/hS,m"Վ%WF "e"y.&mߣObIlJd. H.\ Kv ;Zk1iSXP!pz3C{U3N؍4ޠ-^+#%CI o/7їW+@Ib rv5T>U ^"ꏸD@Lf^jm(PM`y荷:֪h]Cc^" \['Pwtgx(Xu'_i+\l9ĦH'u>[#X64~F qSkÉ-)3+ `S9[l9uL\5c$|@7H $ anKO! N"awsޛAopJLd{uqwƗ$wfz{ Er[„\BvpHܞ?hAVqjy`S]JxwgҐac$,ɛcʍJe]( a\0%ۇJ0ўeMi$o| V2vhW3851` KwtYga_?D{;lT{=z&Zu9#G)6[w.$a3h6V fcO!8/X㑻 W#$(1ʔ>|P_OJ{`; p? 0XM}-zJ}l/SpZ1Y@_b&ѧ[-C6mG$$ m6!g,h@+,84APAR8MY }2U_p2#ao\#8 HfeD}4;Rr1! ի73ҳuIAOt0-ڨp}դgP"q(ᰍəin0f)M\DWvDĉm6%Ŭ|ǐXo3;9߰{• AdXHѶWlQJ`xޟСH5~~&:Y1s=K\3z?da4Fg=1:qObA`ݳ(wDAjtcs)1^Apv9ǠY9X,B@_"u2fh@ʜa?8&wn'\=7 <oVf(Ke|IcZ\Gmf %,bRG P~wmj֕#?@eV?~nt<$$%!*eqnCV7PH\زiNYD)"@Lyp16g qtWwܜo}^PNܾ~|7*-C/f%!Sq=HY+ݺ3y$hBPZCrV9<ֈYHi'Xq`&"}[OfxHswI UL a~ȔeUT+>ָƩ^Ff8zKTJDJ# /'p4UOVq?#\o}j*kx9]?Jvc,ְo$IK24%n|ׁTWV J܃C 8 6١uO: r!({K͸Z׬jluƉ+<y@9 sC-J+0xKU 2ٺ*|zVKzcђP+` ہԪyNR|R48glXkT`L)Vjj߫=vujhK;Tn#`ea~;w`bg*`LXI`GHv"ng@&BѴ"Ih:dshTwnùR_4O~ 9P%J/oHz(IYL8ی~;ont쩝(i}cVb9;ZbP 2a|NDL)@t/I/ #6 KRNꎡ<(v#/Mw6oG254]P #/N\l꼇bQr;{s?rWʚcGa%?OfQS/tF-L` u?OP\yOX-Vz|EΉ=jw\;#8uQ=Gz9JjIU'LmbT{ o>&U܇i~EĆt]aCI6QۄG5wDN6/"1%n'-:$~A1gs:3{!v묶<3!% 67p8R(;F&-4қ͈e54g) 61b暼3U+tu=S;jrr@H]IcG7` [ʸDi@QMBG3zihl%E( WLe;tQ ߟ,WKWagQ@JgaqM̒3˜.0nv5zZߤ&K5:0Ì*`/ Ml`V"􂾍&oj ,^XK0}yM0^ cp+Kr  .ʰטRP鯝k 'p+I^ˏ; k+NpmDQ?%ؠOj>9'. Nkɧ8TQm9A߭ Im'< mvࣁMhQ?48LA܊JU-(u'ARХN pbwK7#%(ոPXK.:;VpN@(ƿ2Ώc|ǺaO̊.#'i<Ԧi7<ϧԭYV.]5 geJ yGwq` >Q=o1*8Pb0{4qo2x=\YY UokKL{~0r6# fd'W$,N:l+ff҄!^7WQpME߀ysD`HXM4߸h%=9]ɒFu)!4I, Ս>IJT)+jZYǯaǕ5!Cv}TcS&}zd<~|,cC^=?E"bz@V6İҎE" 2_ S JWF&+eanX͑2*^qAstg:g?;izRZ: d*-;vM/XC6p4ԃeV3 _ˡEnр1l V7T4 _1g&R0yyfS)L8mwJS# ;dN)IuR7'ÛJNmѫ(S3Si~xOj9]/f@:1,?.Rs_'t;I#6[ql~EJĊ*c  $<˕jqg+DΩRe$SR]c5.X:ktU&cE, .7"q i)2 U ypbf,(0a̡RRy8؁f*ҿnFmQ3wQ \-}QIݵ͵'S*U-~[>\͘?dshF}+dc{L3lm,伒 9ԓxZQX 2&Kw5 )hN@hlz#m%J5= B^fDxA)XΨ1!whçS c!1=U܂sC¦hF]s%~V0ep+u^=6vmF4],9@Y "K.?NqC7M\bˉ#1*RV1\ՃÏ~kAY%ԋQ rKF ơ.34&0Y]c#t  v*L4婏$*Nc!&(۰ILqkduu@ kKԏٓ9,X <ݤzնx.c癗rdVɆV-&L Cx jIԂ>} &i ! T 8E \|#TVYҁN5un%V|$#4grJ nVa>DЙٔceD^XQD{ Qt}˥ӓ7kOu"nr Tѥ7 n$pW:*Sy sX!؅ $~7.IVF(*ҧ~*T8cfywpaSCA60f#);Ɠi?}]`Rkނx"z,+< 3sdCDM]:6ELH~%ܵ(pv=lh\dE& ]BP!%Е%n7!q]]% m(4XqGw;03bE׾~D욄>S.=`7PVY?p8N~K"iXigDx{jenU_UNL7+c ٭g> =0^+v*ܞEi'd P`3fohe<dmȶC#a[?>MZ@q?RvSkqz3XK ff { jtw(\MM!:Š =V 9*(# |Sgl)υN# ?ΫPrlM״ub<\-8I 9ŞQPXnCw(5;7 sIJF~ xtؑG0%DZ$-u0-Y0h.vw;w?Sŝ5zB`1EeGv2Y&F%J5 :'L§X{J0.]ߎ}'֧JyCjTJ D-;{M{I F'iz p,hnVɴ5jˑEc ʹ'mP2\Lc[/#mm>̉]}#Ubӂ!P8G` 󪗏*TU] :}'AZ7ڊNgZKIi";C ]İمZpU^~ZMC`تC[_y]IsTEga X SˮW98>y$~Ay|^{~fItR(3X3ѴZe0xVsjqԱ>9ܘ^>n)HAbXA~Fg]^G_1)Em!~Mq(+!rџ2$Ír#.߮U :$4.nilj1-+Id-3 3kܮyRQټa9=< *dLKF~"˷?3+z(0w/ki56G_V<8UP~Aܒsm("My{B( QqLM brig1;x տW,dv6 H#shsMT%q&x~` hLz7-{q𼽎<ʠ:$g=!Oÿ VI3}:۹$'Oe5(Q |ʛ嶠 :X8yN|e}Hu҄_FP}n rUIG3MuGƩ5ǦI>Z7\Y`8)|q{}s;x6-'.Ke;TىꇟjgcVFC& Xc23j!uF1*p_ 9OQk~unv~R3Izh؜F}/j@2+7=$Dӂ b-UI+2oq3}= ʫdW\֞[) me:Y,wsY'ѯ:S %ïEpuw|*֓r{_OTN!Hʋ߷ L0uy\VL>j.B>g/ä mPbDdBwvxI{柒fKoПa`PBD$!1v6D[dScL_齼ǯ" blˈ_O 6O)Y=:Ȁ F2We[{ÍH&];}?8fCZPyzdZ٨g&aOI0{tK2Ru}æ<ߓv Z:y`RC-I~ƭ|!ЮNLv2Cu@u0ZP4pݥ֢`ίq# \٧5JbDeBZ8KǷ!aFX"ܗ\O㚬Ryx2WBD\s\Z%|gja^O$2ߡ5ќVK.gx˓nѧ'wdeXHFNA" Eun$E$Y8^Qj*[>,Ŭ}ЏQG$N).?ld(z(M6 L@:6韚)7?`0LqL0Z?nU$c4RIr}ltEImJ)of1^dw]|ߊbkf\0!F]4KDLXWX&/[:#mE:VРbَ΁hWcpp<]. w"k#Upp~)l]a/r I3nK[~* !@S9.zkmNri><[dEs%:Q#FB|bYHRٹoCM=W_X2B4uEM GhO՜nf S oA^E;s;MO &ʐv$@,Ejآͦ#9?o,8OuO7”zG%b`L! ks,G($Rq~mlnEԁ`pDU~n=/}fPh6-D˨,~,B=iyK44JlA3?Ew Th#4ȯ\6bXՊ,7[e{ Fl\+ (\;ͰI~.0w/煚!MU;ܦ^e$2yXb9Q1؉~_W_lEÊUPwOv n50A Y}<H dbփ59x.?$7++fj̎E-3ȗVAC@wW"-bEom絭lo⠃@]k?[6?J%`ࣲ 혈.78.qXW"dr=]>8V55řb1H3n /9ל )^,cH «ȯ:Lœ˵XUG` ^M~1KCVt .VeHn5"V`O}}XDܭYb)ԋ$nS.3I$ OҦ1^4wO,!\,=R %78 Q6}]ث! rÑq?2󃬠*AV,Uƚۖ078S~lvv+aE* `#Psť9}sMݬ*.Ȅ@txb8lN5xMU.+&Wfx5߻YгЃ'WK&ljPg&HrtUYs*Z@D;@5[9k"AOj~aVERy 3VrE:tOEY/n6RZ$;.C8 ]{S}-pp*[8 w KWvVĴ 2Eyr .?_+շe%-f2ffDlXO|X?s{~7O"h$˽*,l!}9pandR;q:QaNx#gMBQF^-~b7ݠ`(#!m3A:D1of<]lo2CTҴo{CCv^ rQ8LRSp $Ӭ. Ck~$~iD%<'pjr V)3r:9a'tnCCVD&`ߢ'Pm3칺\Slx 09Es4ލvqPpN~W[QKP޽ٻk8CN`bجe֬N:]aod^ޠV 0_ŭ'؃/q4Ga埄끨 iayЃ Hxi6HtB`6m뀷.)1e ra4 ڸLϦʾi?U@Kp: \w9\#雏E;5 ?L37ۗ'޼A'7w>t(MbGJ<'S+N*.2=0饓&rMrf_C:!3dp'&{*rЫqPL"D4 } ]{WIkH[3znpǺ8Sl|!uP BV99/glۥRH:c 7vti#wo|zDžr# a2U ]CLcaVۭci8v{ |rJI C"`/i~N61η<Քp43̌LǸ&7[^Lք>c\Oأ3֑&VY$Kyx,_KdWa]%pKN]@phs`=0ŃIh&[ٶE;_>%ASCz GmT\9M5OU*k~hH~Sa %`Pm$d_%.k3_hy&i]:F/N(U##6D >7E{,^ /ֈ|; \5GBo4@o 6)՚GBMUc6DQϧ˽#4sؽѺg&4S 9R/$GkוYcu^^ ֪ʉ۪ʲWLU!GOPP yXi 3gV J츿NlYw4pEB :e3<*#&9h'"6+/U}S1*S;6.3N05YYu4R_%t+[hjF9*Y7MRtt{Iv)|IB-DG傃?2쮩͇ ?cy'P6~ \|}@頙!-'gϐ߹X8)Nr NSą=z_OL-pL'Y"ԭX {)#${HT217.!y kyɡz<z0swM9#PAN}zV{6JMPh}{ňw $* fKϏIf˜,<Υzl&b;T? NB{JXcy] &f3h*PL3\Evjqgl0D?pe^°1EMa ۬en~C4]䊪H`L'jc@ՌbFƉ1ad1|y S 'wEIOXhRq.$+05AqPak6PqJkEp͗^Z 3n\T^HSl3 .emLyі~\eCaǠ;nqgR`7^@@%8BHXcz:xMdyd[nDu줞e) cS/"Q->pNe?{Vdb1E@C)${F^<ʷ|Wcl\٩":=5S>K@:}v,/Fz:m2)`J1Ąʼn,@:s *[Z靟+"dv]+j)h}V$f4G! e+^Rvj_Y[hI^P7ViZsp8y<~m _,["asL GNub/@yH1vq :P%>8o9ZéFrן iG,/ aIQ3RW(qyi[xDKO1y͢a 4t#y?%Aj9Z-z7OҐޯ{gXB4(QV ˻G(,L<$mӋT/T.fbzuGkե3,l|hX%& Z@Yژ+EI=|3.$=9."wh`Ls.[dBZ(ʌq$ȩMf#"?xĹߠn@vE'QDel8deLmW4-k:O-6BѮJreh) khvKr0a#%fgiY%qWA';<9C*()[ }frdߤǫ ]CO8yL{]c 5qaSoy1/ad) i NЏ@3l9idg<>TX>؍wT["Ɍ`>nކHcY@ 's*'LDnrJH+.{YR;`y6J%eβl˛z?;xf4֭ D7vUxV`tgdPg/yyhONk8|b U2֑gKe41X|x)*׋Zm*_2~IJwnw[,min ruJ87r\O)KewUȲ4 &eLU""*jφ-[8nàTlJ) R 4=5JUC2sܫᡸ #"Z Z((,Qe.4\^Tã}Uf\eA5 Vۚy;r=0h0jAlF^.R{3#$4M1ZkATU $_X9Oև~\Bvcr*&fn[? Ad ֗`|_JJDdA$0oIɟ0(Q`#:tXs ;"~(-[Mba$(PIFc0C=4 uϫsôuC Z1"F jT3O)ktQkGSB7Ӟ.ۚ>몰Lh[MLfaBN޹V,!ğn]xw`=}{A1נ&\*&bj!Bdt & UpyrYY.Q]?g>KÖdy \ h#DsbgbngZFH~/O- 9 *Ni9T$Y-=t Z8)ڳ:639ZҵZov79Ѿ o:%%t(_atH/>Am]]d u)ܜ I{#1d{֖G/{Y c ,nq4?˦ [ ,us%4 ή"1elmk]yݤLQ4Z}x&sGG7;|a纏 f˿F0~LҌt)ʚ~HHH,=c$\9ykEyqط!^;$ϧ}&pY!0{OV sSCUڋod_wx-ZVo*d ;sdRM璝0gG)p )Ƀ*OR/iUJKV=WLP{` ̂tyMiaP} ;svC*>֘iɮ: $ˏ -[j#$|joँ UBz9` }-: tPLei>;1ҝ}*chsio(K2~澷Y'Lv]qś/5Q:Mq&#nikThK~KamYB ݬ!/h\ ]a ߹Xϓ̭q4B9 R=ŘFIe7%`gGVaV89pA ʙNbr!vR9ogL'p[zhvx/j_9X^eE=y8k;%_GaHqa|;pΦ?B"PUrazz;bީI#t$ff?.~ n9)H7@MHWT{Geδ\عk'Úm>ŽoثwTbbQզnEJD^Eƀf؜!H|HŒs=k_*1@|vV)y.BD;P:N\/Ɩɐg(b-%QEc$+8ٟzzrqZʰp/HIe Q'eXRN$PoeiT_%5P݂$޽(f  =AtBlvEN !vPY9 4:mTѳI?MX,ytiGS:2İBl"!um .Uu>;>VA586ߡv> fD{ `3 ^}<>Ue*~#M2/>ׂX ]L^GE)igHY˪T}#z_Ivd@.T6v]^D6[8% ]e\t|'&nr鰯MJW4+}ߟu֏ӯ:j\,dwYP\0FÛS4VNj5B!DZLK;TĄq5*}K".vf ?%y&IP C4Doß}agipKx^)`;6eO=SӉk Ideg7I2eŐu7.|$VpŽǭJ9;5VJcZݗ}~"Io_xQd΁c7/4` #}>Vg.˖ .]tt n6w|X]Ytm)=(]"V[mܮ:Lj>D:Ө&B]D.:XY>] &+X+rt˱ϼ)uP9[nT3ȏ.\zFo@_B/աwJVZJ`2cIl("U .7ū\|bGD jѣ6/⟒MYY:n-ʞ <C4EfDe{Qu7_-Ә(Fh&p<='TûV0h}/2~ HBz.Wf6/+ߴ%5x/ b،s +}HjBC5j+m0BjwBKWC{LvԮNJ :%=z4di") Q$-+_\~QA獥z.#4pRIf6wI:.AMJťfvo<զ tIOo^pس8DB,fzpQpgҿX؞ ,;A`F|uH0 OA^S\e\t(z$+ aZzX~5H,x|hHi;`c R)!ZҐ1;:%y:8:nw`{-ItA/׷=>6&5@7vu7%ZT`,u>[=d`/91t_Y$ ݀2;{ɲBbW dAv8vGhF6&TS[R$<IZRE+5:!?*)H}H^5BI(Cwi5CB9Bc\/L5U OJHL7Tݿ6f b9NAvDx&R) v; |Hʛ,&gdž 2XSS9{ L{Z?xw# R~pC"ϲŦaՋν .NG?>Fp)Iq|$dX#PWGDqz)|plKOT„7ԕ'?(3E\/DbxVVo,ۻt/ xF}kN$@BEͻI^ֳ=㥋} +q+v)KlpxMJq+*kY@vjfh&si[1ߨC_\L6?q&C 9j>/rJjcJ}3oKd!jEF@b'*kK m!0t`kF'>T󔓻Ù's !ӨY5!s`c?642?j}`.oo[xFby}1])=PՒ_$11繸9ojʓE2_G砎>]c3O%|IdۭNjח]r!aH/Yis> w5:/3_1`?w-6?ֻ*{՟4]섚:q%1DE|>1)x_ӾSr#iv{aWϟa<2yȗ+z3{R'A%(LO*a_6>L U -8 29M+mPܧ?vuZ뷔 cn`c;haSm#}3A@?98u ½ð=R`]U1 =apcvRqNGnZCb$!-do+Kڴ *2$,'Kɢ竝>$%wt猧Ő4kˑmd \I\o iN'?E#~*[6s7Zt"-xwߛ:F]~ 2D@ZZ\vI| 4+=nޮ )}BYH+ 9]FJNJY[WI*9c0\N==熛 +Lmi$Gf.תiZRa)H=97lԀ$Fmcp/~U:V!/kEIӧJ缞#_Ni~T[cy G >qW; @noȿ/ꥨ8:#&w 6VCE)ұ~P'>:jPe՞Z'eʭogG rU_ OߎK5zoj'HiGLƯ1S{+~s,OѻwQM]ttʬ7ZkrV/_vM1 XJ hcu2c(cH])-#>~W}NhJd^`t Ne*&{'Lxp mFeV8ERYME7XV!ʢ=BŇ7ݤJ^Dq,o೬O&pIEfv*sG\)X\-maEA얆t7 Z̕D6;0mdurp ! 904hJ$Ν^-gDͿG<YN,(j qJQFdR5M6ED*/*Sq/NšPʸj1B𯖃獁Z4uwnV5@-k 2z6OVl8?NpX^sY1pqe]ΪrtD8.:Rzͤ}GY^74ީfͳQ2,%zyE0Ɂe.MBƀ`jz,*h=. n-`JIHǁ\,JuusFm#]~XBH]>~jDd|ɔ8HMNֽyd<]h8uR)çg=oQ،VnI[Z-`=iVO;ULPXe;e!eڽȣO"2ǯ.-;}f <[ZV/m`&F&gJZ~}~rxe%6y#:hCݡhPQ.0.^缩Z؛QfC=0qy#)iwz ^zSB&adz4(+`yUJyy[!x{,x7=ؒKM64Z3L9{`k,q;qACẅ-HJIs3ޓa.sOpۑ3^Lu&1 mehCui"D}!ΫOzV4=.g4Q&Ye*M0b3"jq~Hr5 g UF@ iE8P9]uU+TrX?==3dB0)<ꎗi3Jm  cTAc~slaԣ1g2IH 9Z-d}Mw]mԾz%-tP`LI~|A.ˀ_u2yUׅ!ݯgF|umR^bl Iø\{3? WIlO_(qy2X\&lﱁSqF~Wڿ (}2>uf3-%E|Yi=wHg$#ǀi?)SLFlpefPO%.KJ6< @^ &]dtL׈Qߚ(wck3ШR[kߦb]-=͝^ɪص,QӥinX}qgf%c EsArt(WFt/w-+^jY4 SXr_S4A5d>3:w.ZtgoEHR ]%5@0eHw(6gϧ_8 }0u8"pز\Xz)ʹ`)wTܣ]5k~RhQR?\C0ID I47)+fqNоzGˈo=~TZ=:3Hd֠}GFH+BgpqQٓ`*bAd=pX?]$7nmK" Tg(r6Khec6RpRziK T n(8 &2)'(39>$6y8x`Ok6D4#oH(7L0E _Fm:*}]#lQ#)Z/M6U"mbTyNa (,sx7\_wXˏe G݉'ʈt1h)Məo &2&@췓WnwxCO cf~C]ܮY΁輍pZ+ 6g-#7b?y D oqfgȄʭ#6$;Č,q`_MV^c+VYd$Z.Û?5=g7.޳ǠL&8[Şhx4l!%anbJ o + ~8a!7Ei v-6X]D?K̩`=|YhYNbr[u4)zs^'|E% 7Un[yNWH6 iE 5 ̺PNi =Bw2-saE~F pٚ}7%p^geO^4 ꨐmGo3$pYݔqEXa39"+Mp0ʖshO/:cPo}Y#ʞTw Ğ;/(:<)ș /@mr/.MuksxUy%ȷUrpMͺ0ψ&@l`BފFk0Y6IK]u-;NHLkXjOd>$<ܙ|r?T5tWl{?36z ̓Д* 3`M CeϤ ,8 S|JDu2%%wmƔ%..o@t-Ak"ujP;҇^nM&dxrR$X3BGO0?~Cd9fCpXp]~ZH.A)S zEo ʲ%5S;bH;I;Ti{ip0{leS#ѐ}S CR'|-NG/~ADi\_CB{0c4vJ9閾 ?Q V۶;G1(ڀ=4#U>XLyx7uhO51pO=þ)\{`Y1e5 _b@KhH`xɦ=_RV==ѣ̴;gnl N!HͶIC9>y룀)MCfݷy,eQ̙4:Z䷝KPQ~io2S鈸<4>/-ұ>7ea[O{*^Jג8+5KJߡ-7'L(j}?v2hZ؛tllg:t~!=tf;ANxSFc-m.|q^7T ٤g̉!a udзtAٙ|C=(ZfzgMVwFo 3l,]Iܿ c仼Beo tE6\m^K>;vsظVV%) Yto/ +bSl.T8Of%B<ۃ?h؍i\ nūi0Vr`%N{"f42^!w8^CL ky}hܗ>5l w۴R[{$$%$r$ h3Dx2*JƔyz,=7>Dc񐡿F:̽tE V2!la! $3-lһܵULQi!c!Vq H?rCw\Z`W d{˻xIVhu&kUybn$zQhQ[dZ`8C=l( 2ϩ%W*ZnG2>jgJ Z;T HunMJEP~ JEOCʿ};4ӻQӫ{p.sC{^2&GG5cCeHD S϶J@,fc&9́9 ap$ڧ7|||@;+'wϺʲ;,Rg"A!Ful 7#`rGcɷha "7sQB̙ҷ3 ~\)H.9QvaH)QтKAAgW s+򬚻c+rGK0#*v}͂eh(0نt5y@jV@3j*rUY˺Nbu3C}(O?e_|9+T =2 ua9*V:6K>nM\ {Kk.ߥG(({R%ݝN$Ǟ>@a?PwlUb?j5/)jBj<$a#)J֧u3zZ+_Dq%fҒ/Q5wхsY ähIUs.pR%)zo~'vh0BTZ ~m[/A:wݜ?2Sp^:LGÖktlW_gr]uk;BC~f@OЮ9dx.Q@4xb L~X^w((inxe8tK+DQ2m.6hl 7}./=Wb^Gp 8P݌Wbt4f2`i9@'h'0^_C7RLGiA^K #Dd:~ӇV~r3C##2}@TiCD@;V=o(6ν&_B?t񐳱M{%w?:?)E$(S o3rNn3osD9\TwcةZ օ :"V"^y_& K^ZV‡\cyXR8({~ƧP^_ݣHKPQf GlQghV5˸H%i-z;I,w?r.鋡M}7 "P^tЈF`KFdB-#ҟ`mgiG5cZb^>Ґ_jZeۊL9LaYha}wZigDMEʊ!;w2REC'khQD~ (s,e{E!3@>i#} :ޖd CiYCa>̭Q缐k^o&Μ4׹%.]y|6fv)p\WOxߚC3zUoŧWTh"B zq$(uSۏya([_ʫc lvK Z 2xDs9 My ]PLmF<X`O i34"e3y 2yJyw!* ꋚ>B8T7Hl&.Ү(CQ ~6QMn{d[c/ "&q.OZ3"<٣7 QbNP1ۑuu/e5A\酤s&}ockausiοmި,1^e/F< M{,W!ȒDϛ |]1sCyNPBSʚho$e "#FN=߮S3 /穕 $l#}y3{uQX{RЂ?缼;Iz Hn3>3AUqqTvD{9uЊ #&^(>%t)'[Xk{hے,iji1TGqlwۓqqM^tt҃\p;0MBG .Λ\r@1q R4Ռd׻yihUS\W}ui}[VcsreaąykU?˨DH"a5tf"Ix^I:57!;prEa $Biw'u=uA꽊1Ut38ek=}] PmR+([6jhV KP_KSk?Ţs oV ɝ3g.b|dڻҜN i}CdUπNO//Z1JYUOd?V4!4âliBam8=zMŌ[aGʁa Ik&MO3Feg3Q+5i,A/-9j877Bqc^Н,ٰ ᗑC2`K難;PLL+eCf8kPFPa`Hq @eSᤷ roo퉌$unB.+7d*0)T9$`\!ӦjwpGXvd[~֛H vd Ώ_ ,i@,x[{vGkTܐX>RNԻ$d٧ )グީ\RP0ZIgK!KWs(]4 N DR'IzrrNY\QAKW*fVU `VR2a<qvϕAc!#!}9ZN>2)$-*2.|΍Q;җΨn`XryOglg[%6dW xjrB,~^d_ 8$>0r/3YRXvŇ[ͳ؆!3l?ŜL5] jxw?֍nȕ]8ZEE︅ S'^('YTzd 0ѿu\ê@@;bu>a ϥE ̔ts:Nz2f'F_8qX2Vr 4Eȋe2=XZ?pECWlΫF1}"bFoW}'(㪎ұz  jw/q bn $+}q$9I]4kyam(_5ٴ3( CHP9WB?pt ^d~w". "T>ö8˅R(4.^Nv[m?Im4)n0!ˡI٬% jll哎_X]}=It}X&-F_Zxl{H% 6:pZS{DLq.D6%0Bѯj%V.5Miq>N,?:镦KQu9IۢV!9fI(\Tػ0[meB2 w*X䵻qX ŴNՉ\88ׁjvay, XkT o+H_\K@n.Z jqV!zFp|\f+K30ΧʹT m#DTmCt=NatݎeM]b9bkɾ鿹NVETvdQL+Myіy!*6gPWJSyQ|mi&"s%K閍(MG@nN?JyFxPKJWqI"p`E5*f@P_I"Zu>/7؂@ZE-jft˒\ ``P)$n1<?pIJz{ b9i Y҆>2i I.%b≈e~Ų %y2f}A@a"wu'졊Lkr֑\Vʹ$# ?FOċ$ҁx b)^aG_˔`|z_,;b"{!Lx[1[UČ0h݅n~!uGZOـSyl@s liEQJح@1>f+xkf,˕l"UVfrE2lnh] /|nR+uʷ=(pzO%exS:b*SyQGO k eOگhuN-nԣ g^G?U&( ?DCU+OjwxLIQh QMMwI"z`}X(JI,&.Za/r?FkslgG7ཤ}᱈b9&b16Tblk׿ EzBNNy3rpg!9{1,/bOBmڲTuJJ}@"IpP)iKz?Ϧˊ5a.SPIy=VYے, "]agVkFVbw \3&fAq+x\1SX@P.Bz>!lS.X?K<NK HO% f0)0l%xT;s\ zw6 h 5aGM|k}ՁbZ涘uOtXiXabx9zKQp{9teÿqbm^&҈|wzt!AWS 나KIX1O0jRv/ ˕O9d?Dr'v6r#b-sPdʻڲR FtUS I"YφS/:YV5{G, &Gq~.)Y7T_-1O 6vO|n9p`iJpu]!~%=fUQYL7t/gc&jyRS }f}p8Z%wSFEɔIr ^եE_c+Gm~ ԬTZ{N"%zl/,:7I|HJ Y^EnWɥoϜgN/44HVb"4h!DR/1¤F[3`V%|мJ͊{_"SV> a2OXL8 [khJ ت8VjỒj[߆#B\=({ Yy[||˚栽bJZLЧݢ+Bbd.K͍ xM>) !*+X۾bSrT =''hgݡ\JjG+ǩ|)4k>7 //.W UWFfcl Q}DU\6?\zؖOho"/HW ;Kَ]Fl I-{xJ:C*8i &pM쉼Q@;iRn}I,Z'ɹce/kEG* Q (K2y|KК I'?Mp5~BIOmcOjR!ʹ5.̦IoQعtRlJD8mwƆ 9$SavR˳T_qp>3-:aMeۓ6:<~g$'* wuBm̎%N;e]$ʑ$/-.N$N8UC5SJ[rJ?Doc 3&/P.hi.:5&B=)?-z741oxLhϒ-G3RwDݿ9 7N`: tF\LWD UJ2?k|p"ZHFrσOGiP)?gSd/2{"<1&2U/e/kqcry3{gt:ϙcfF:]E1_) 9k/LSa3e:r8pm=TCBMƜO~$ Z bA&6VH4)zS2*xu虪Jxer)/4d.>+|AUAc4%:Y F@ئҦF-$~@1P1JPSi\#LL}V5ӺjԜ~6r{Pv_LON\䯅{#}K8)C R)W|9{\M&N NMrLC ʳ$^f%)Ŷ1 O`e3RSymSn'm=Fx'`8tbuЬ |܇XH6pZ#6҇ McS`ģi',/5kS .ħeqrD{kӏB>VQ99 )"'u0S`.*%lY,2Y_q/hKŎжWnfeiF2s{14t_;l[e{5d~F}iQD?S`#&UA>&P<~>ܨjeL٤IIOS36MlU#Tu%) ߹rK,5D(xҦѐ6Ah2w0yy:ʬ]g8ĆFDW7ZOC>I,Daz{:u7flq|5."-*O29%oxHK+\ig;mg.FCu:P˺R䗟bڠwnUrʼnwx\m|uaܳ:*j~T^}yu󐝑R9VU/MlY bbZu*gSΏ%SYyX qt=̓OfqSFAq{R UoLGggB%Ii=e_I#1Sm얁t( QI$v[ܛ5f.93Bcp)$K&{υFPc;OԐ$vwsb#ԻfuKTz%_J|RC[΄Sp7!8gL*a/7A_٥F4,/ED bȿ a%pwA[xOzm9O*lKCQB <3\cKU?{b(Dh%]<И_\1gJuZ?pN( E=Z eS+.RRHw0QTo*=oQ0ypT|tx>kqj\DFhYfB s}Y/%xl=t|4Ԏ^&k o )wA¦ܺFl26Ji&FO_f!zp:l5G̳dFr*#,H6X2 ^\r "v&y dl(垡ď8V Ȗ"qBf(K{M݊;L+ '2qXa8*3S=\$Z.#rV^Ҹ~6),VEI~C ?n:T [p(Y<_Y>%h+7w$SRyݛ=/^L׶Ld+~6,#56O)A"AlEyߋcctx{Ð'aIw2H|w)}`n3G9<^)ۚ(]-"=q1_J=mIӼoU>ykW\RlQd3N6'8٩~?iMw9%K +&Ƿ#ªBA/M]2`QAп)7ß:+Lp=@=*!|Xf/LKN.H-[sz :2n|ZYvu!ȊPܻ%ӀH"kjcᕺ"?>BF93|W I]I$TT]r膆FvcU-+<; >-@g."SW j41 I˫sj a'=2?#\_f&4 =NL$J?Ucz #FzcP CO8:]fU06ߕ#aß(C0ўρ},FB ;T`h؉Ɣݐnׂ3 ?fIRe'msybkVZ{?$Y>3H7๼ۅ1eY䕼j\%%mPvkTY^)ikS@''3̇HfBnd ]ojK7oEwPWv;L>"W%vVjމ;ۈӠfAZdߧuh؏#OpI컪yeu9ntG+Tx  ,Pև^z܊ \^^+GNo=XwoHH'״Y! IB O`5YŮijq4o?i-hC2s$ׅ\XV7m o*p\eQ6-0Y2VW5[LRrwȭ/nѧ5pn n=|I&R9Z2*HGğ̋$ļjFR/#셋Ip@Wxyo"cGW:%}'4JWF|!LY\a% fW e`—k>^tL8rMwK3ߊ'nD(;Q ^6o#v=\N: +-7l 3JQx 1UBǶ16E+Q@_ފt!hG(5>]OŇNΰ_hba41dj  8ɽ1}t6%hBՑnlz8|OY02@(Ӽ`G_j-<2ze2X" $>~0o1kQRk~k+xMBF{|yvp{05-ٿHٟk@-w6-wTL qI:KfrȽN{$CF׶wEegV ˖j' f-%¹K{s"\H}sr< FV2(ȚW Y r*vUpd:UFhB^ZdCKu%eZS`g5;8O)NG>_T1ΝnQ+cˌ`ߕMΊtL7By?* ԍgM" r=w%cp} 2KB (mZ*Ւ&6mGk7r*ѭd2m=ߊXj]9˖Ik&2l,qU9b'_pEޜ׌̘!S{g$u%0QNY _T;FuHZ&xk*†(έNo1OZK7he*n6 iCii(AF%0ZLwW] ЙMՃ` nC<"r.d4 ^F@]2ٗrW`T.LRw[ )#,B*t>K1x?MZMJ,*%ȳh֜% K og}Agax/|plx0;4,ˣX/y7}#:m*>:H+Ҵ,ֈ(.bl0E=-q4N|4 )h#goہ5uN><8$XIIɎA2AN侵ֽ먗J8fZ*drlkd$eN%_tz}Wd1}®eg*-_^tU&1ubvOh*lkr^+0޲˒vOQ%l+ˀy(ѻ :C@٘Ǽ-nsXqXXcEtXAF;I* zŜ8gy\Ruw{$ ,8:>ElCE빞ZqTZG HҎ @&uOaRpt 2aP͑~{|+Az"w 7!=<#K:`M[w>sǗFmN$RV4G#Hmc^+mhjsUκ)KAGލ ϏU.JBYޚeZtaٖ%>`H*b|54kNbTWItk|NC#Tz >F`;6 X 2Ãm< a^6Zb-!=\#ۉfLxL&67esHߺZIF'}ҷ{ŵ} :u!fQ+Dm @&j9(E7ihϜQ.<9Y,ӈh)(7 WQzj8o`ړ8tp[1(eLl/m8jj !&?.ߡ H"(J9P- #TXHaPw$<%nIpsbyj|S;/$ωucD2UɈc}ŋ~ONޗsYwI y W~š\Yϟ|{,M7p N4cFg6`.g+&QuS5L+e+:!fM3b%e02.Y֤coxk3uAdS!{׷XXʻo޺HΪs'o:Lẍ́n^mc8F -)k(ׯ鉓+k~erx)P281(+,܁G-6LB n>4_g)4mV3^Su , OJ,E?}5|Urd #ɅN,6խ-Bt9rM.)J ?Х|JbЅ< &|F}h:mttAөGOy*v-y. L}GH"D(cx|zF~ֶ|?p=SJ7;U TibWkeǜbs̮e?@:0!C6:Pr\J+i`!.;Ym"Hx|ϑCci 6޾vaߋ=I[-0F2.䁍Qc)ȓ_FZb ]R'DPTwy'뉍OX&/XȿJ܀wM^sE/{ @:DJU "<ÎnPL`HQ!`҃Eo|?~V%Y ӽ3maF.+ǁ*ay'eӃr9#!ubN) zU|W ;o O%_˞P?}8 ˉMLԲ)I0 \`F?Dzvvc(zBµA{Ɉ.T їt"y6d<|79a%Dh`פhn@噶)u>Y{ytՀA%{51pj?RwU݀d}5,MBrтO̕!ye5Lc-Ŷ 1K(08BЧ5JA@ٛ')3}z6/sW>)ƶXDѼ 58j沭 ~A ,&np2^ y-y,>\o*IK,ǮƵeW pv+iGp Wa0U >b~ l@oTшLgBvͯD(3V$/zaOd1jp*{!,KeN$'/);[?cwN(Χ9Ԍl  @I܎>9QHJYx=.5c7fjZDg4Þ0 @)rz~)SFYuO.C@qO4=iiw8:sv0QJ{͗NQ6*K_ WH.qUnwјboD>E5>Y0 :C~?1!^ S`}[~<S569g,KW93~bbv^[Kr-"`yH:A6.DnFgg% GfP\FkeDžqBNxrZk.r1ç)Hg]b?Ws)mg!a&KneL.lit#XJ+Gm+E Lz##mu?Xm}-=E0a_?|ն~[rZT^_KVt]/jX+&%,OJ1N)v~=hyfҨP}?cX&#~':|/\X"%m< `/8wq奞7iوIژ)o^ L<\ '?+%> Sm ]k2W6]L{tߛ<<=1'f3|mp xTx l%$m=|s'Yyf,{ ZǩߊȆWF$>q!;'q4~=V4S&*4UKdmBkB$Mؖ6WYxT&t +MB;egt L?$Y.q SqI: L`hh ^Xޞv5xz|]F( =gpMxp W2ގr\-Jc[ֱxdLc8pҫ6EDž Qjk.@ jhHy!խN6yT{mgKIzFO谗[CoI=)Ư|lvCYC ?*{u߸m̧0h0Zkk v^$Ӏ iuo&u|%V9==ۙ -#7*aXy:rՁZ|QKCݺ WMhB$ۧZQ cwUW2u;rmjKzDVų4^*FGF^T1AIUTfD/P`K%.R fzo/8(q<ܢ`[6]ٺ8E*a^g &](oTZ{S7x  ]1oO<3=;L'Z JΏ +/a37;yٲT~3]My:=5r>_f]GC%}R+6u.<.I*`p4|{%M ^ݢDrKX4m?{Ӳ GPr۴jR"f%Gd,(|d~ʥU]"OxkhGǀe69!m,4r _FXq֨W)C 6~ae`>x(&(v\{+Ś^E %+pS{8&n38!f\EP.aġ<%Ig=Vû{V&xPjX zmVM Ur"A(sMFߧ E;lCaX 93URK2Fl=2҅OOW&[q:B.jM N0/رrN2hoK~Z洒WKy\!6;kzBccAEd\ aAJEatҴnT{&Z4WBR#ƄF|퍇ր p?#S9NWlaΣ\'J0EոȘ< {FR&/(ZeU@.[&["CFF s"TժX5D*d_ u)iPz W_OоZFP1QK7zHmre|U`c(Pj%)g+i5"jn&P瓥ZJλ3j^[2fapvp"uwUp #hmVQ {xg=ܺ(y1-xg#> =mnjlqB*t:/rEܵ|`1=..[q6Ri\bpj=h4<ϩ%a` cؙ-daL8-F*uR($ݣz؋10[K0/Gwm?&Ks fWH~N1V>KTxn4j׮A4y,w16H6o!X¿Qoz; dY[;`EǴh>h#X4N5d .+uID3S{N9Wu(DWOJ KH;_*q\#v;DdARu)Z91AsKz,h?U;^N  ;w)XtzS1uѿ ϛ}[<{Kܰ9-46<>/(;T6)ɋ,B."F<-p/V Unst7$b#֝}@MʏU4t)I5E|[guE='RcD=LlϲA<#zFLY ]ʒ9֖PfTֲv zH'ư^ 4*͠0Vtw_.W~OFC boܖ=vA .F0M(!G N~="QWJ( sV:saݘZޡϑY]A0)j@Y =AA-`nUH=*XeL<݃I`^pȹb~]b(,%dž&ꤚ 5Ees5 :e jZ#bg5?8X ð鲉M;eB1rD01gle"Vf# !BӯxFdŲŇJۊ~#r?=Zi ]+RFfN]ȽAzQVC6VCYەʬ)%Vf629^z'/p"o%PwdaYz;?*Y2ʔ}'bln`DVrJ!?A8p9~߫\r\DkZ^%WLn EE dtik8`P3qR,/B>|0G@ ! KB.?BvL|^#,Ef; AƷR pRDD16֠nt&_ 1k~^fګ<} Dmνq/('7m̦wQayeTl>gH[RDLv,ܘnإ_Ղhf{ite(PU'K+y/qMH>uGL>eY"Ruv{=!k,:͈~9- Ka8/GZK< b"<“bMOE$)Ʒ&d:oKBxKaM{)^3Z׆)uT-l,ƫ]_Wgm `J˸%]^rbMKƄ̸\Yrj:冕Dʝ)F%*dX&foHJgΔ528ZݒoƐnvi\],d0΂h>RKBڄv<"f%xdzCY6 Aw-Fxo3_uyR}TyN#㝦Wm̡۱~i2ʝsx9s'Éqo=Dg jXN/6]'. *lqt̺aH䗶YZҦ2၆r"!JmcB鲇 Ĥ!r8WsDdnUŠ@?Q1>`i_r)b]*Ѥ-'CˣQ IJdq+P'9Qp?84|Wb!H#̡ nSł*)<0PzgP$lxѕAi_"騳b.8'ryo(&%*eu/HYmw'<+~(㦽xOL$Woy *:tas6|_{TX|`QvCiNs#!MfgfC/H.q3/! %`5AٟH֭'yA00~x}c_)m/2<6sO,k‰u6*Ǭ"u٪d}?kPd6?H^ >~)>ژ 4!bm:\K)JlDRjy7$&;057QUQ=[2G JʌKEnF^aRӐbnY G,|>@k5"VUg ɢLz bcMqsQw Ɠr'J >X6I2,b}ވ (]k& T,OHZ^NFg4a)}"dNh.gV>%m {CާNjE 3T3/Jat?aq>cC`*嚫;' 2Yѐ D"mCg~| $h0Zo#Qav7R1"Sxx .fC6 {|f"2 \>kюsY걲 _Q\Sc: +NyFڴۓxG=ʵNUFe6L~,\j5Q~QJ_V J W5|N?bۄ;GT"0)mk7gd󿖞bsR㝽d4uzL-Ԛl-5ݽLY !Gb?r~nO/ N* lA H\nb])Kg*CtyA35O t:+B(oe͖xF,ie/#I'xƉ%WqB>Kѹ^ęLζsYrJsw8=9W7PYopb4 c<1ٳ/ ]Z Qc#1pߢ]C!"R!;P S=K_}a3fNCuc i!=QFe=Yw;e2I*jDJ7sv({Z1WvԈZqkʤU$4erR۔v6@T("M1"Mfhr y׈zR@&s@~>&iK6aLZ ɯa%fz So@c.a:x_QAɁ]nSÑ`a)})^VQHuRp!F<`**VUӧ[: ^XEϬ7XƢDw jj~]5wݐ$ <>HK>zb)Is'g!V/GX6 ZjT|E̵Mi Z_ hbg_ -ot<~ F:ȢYQs̱vQjv2Z3m":v^hPm/$Zͫ*N[ d[LopPh (wdiG'g9wIIsVkAd?(RUSGi~I.679NoKa[>Kސ:&txT|=G˃a\k2ة)'O/:޿_j3T'{ot5(4dwyiSSHIP9*K!2مLw^2Y`=ҮF dT2m*_l?[|<㇟=Nk,lLTc~B8Ӷ<- MqK\T\Ȍ7 rQOOF:]'5&.x,#<4*ngE{y gd PMkI^9aqkwHvaNs4E{J=@1P#,/ѧiW1 m! >ׇ֩Y zM;(i|R8%]9jH ?AszWgxr9 Ubzr pɑ5g#"Gad ea|j;ZUҜodb̒`ڝA~c~+m>͝9 W86GE~5,$E:7ƽb[oJd\E):wc㻒.84X5:aMN#z._ E)_"cyxn {'U`cVJrn^n(;t;f 34O%gU"={D}Ӱui Bl\Q5*N0@t5bmXhpޢEߋܔ讙})9}N`Y{y;(nyأfxvܘ HKcMHrW\Fx`"ȜT0slb;'<1u&=D&%JNrU`xԋъɄc]&\|)-b?}ݫ@`Dp"(K.֦ <1jn:85+|g}BxdQJފ̺ٝ`Y$bİ7қ/;sf*^B:iP|5Gf1;$@\)4Uٶᦣg><֗u\ьj50T'SϖH&PH}p`u$E-~z~lm ޗ`IFALy( pܶ+Nz[$ҨbȔ;D Kz|my0b}"OwVSVd!:a6+Y5,Mp_F0dI6]7j\дw1/ܑFQ{֝M]+NPf/|Sl0Z#r9 zp;Ύx8~-&ۧcw Nq<$oLST}X:ףp0ԟJ5(Ot8iKܵ5 k~E7\ mCJ_`qB^=sW|]gbGaS8HhmbD=O烁$Թ!aֳ. rOώLQ5OvUw!"r;}ك 峝1Yey#-nS 8*gz#A*Fe7nv |850j&}R̦>P'rpgeи#Rsi+}Xew+N+D+IyJlՌ%׸:bjjFop2v ƣà|'rGFpFWK*%ݳNw1:Ca娈S88l)g9t?K- k3cX҄e jyyJp-'1qW\77-h IBc(Ky pWf 4gle.ӂIܑ^=ohER >QAimN+O^'gǟYG!SctܐV&jHʶ~mQFCb$'/3e9XFI1&qumOhؖE-Qq >_}sIzU3̡j<,g5R&)us:^EJbho.%#tUf<tW7d `bD;QgϮD3w|fe3.SiD|aR;}Y@*Ù6.lct5\l0hʉǿA0 ҎvPD^<Ġۍj8XxWRy=Gx[nC?g\35R7a@W`olҚdԱ)OPrp&y2!sL:Mavz;?( Lvx|;hBƖ А}N&y.:Q Z$NnjtV 6T^s'wFWh$" #eE؋8de]Z;=#YaDqbX"5]E7@% Y'Q~*`΅hℋ_ǣ,Nsic`I|Y)PVz#d"!qCt>"WL99Ѕ~Md'9ո5: P#ez e^x Q;c}LȞ :=uۭ m"L7c\щ~b~3SCJCɖ8ἰJyY, #1Wm U^ޑ_:tA6}IIxs'Biv{}%;~hI-.:;ΈH2q\hF9_Bzbg[#t"&ۂaBl1'vx1oAdy :Fn%QYZzh^ڋgif މPǮG TO.7+/^"` W%%Vfa_Pݩ[{V$<6XDt>4U B>Qbr>M C ʽ!gdΙ {N[G- 1\#{sT2nٵxfs+㶻(!2#D(@y4~ݾ46<46Wvܴy!P5ID{/(m ed[_@_ꟀH۷3IP%%R'C{* 転IbIMyyfg-jO ܞQ˄p[hNޡ~m[$L`/2 2Ucǩ*rĹkI'FE^b8ݷ$O|aCf4* k\eo"Dqڧz%Kd +>|d BÜ|1[\ҷ+5U5sװ%ezlST:qRk̓M0v,躆{E(Vȶ @3]<$vT'`mEp.(Z55^x$e]T*;vЪ+Rw܂BR=e;s^`cbwbP_1x`?0j{ԟ5r 'ۄсik4H?|Ep^V0 yGl>sp$d] y Lӫ]!*̈́EtW㌎>f:He)ԉߏyR҄rQ!$.IU+3{Yؠ:UvQG}Ech(+7ޜe.P4hE$,EQ5U2s)aa ֝Q+۸!RZ(7>I ;l=~bc~m^D:{Q^n][jyp ̽c 9 tp![Q1;]7(¡6xS7r5;G.rqȗ[ cg+PqKI0ٟ&RXLDSPm;1*;Mbj u|>w=: z8t=&m}M8VmGOLAvj[F/ZcҌBLI;Wdn/?%zy/4i ŊN$^r1 Gg9_QaVqT b֥HzCxxTVkb#O?hN5#G/X5R5ͳX%kTaBUPsB["VDJ6S:B\Ulnz:5c*HNwp{$?c3$Ey0Jݔ#0ܣ[dBr$uw)t+;mЇׄѫ*'"v~;8>+j*H#I9-Γw(r:2#r[ W(|^<)B;Vb1qJZ\H!'[yY68cHHO1rsU1W2˭VH `VH \B K#7}E^λ\i*VGnIs[l޴,ޜV5FF}F94UV|$nȎ&[mPQ[;bbw?6p8'SRTMr om8ɩv|'k68f(_y F_ z-81 u,[cyT3ݚ9٢ >;92^)#I{3=Q%}fX1X{`rupm\Ξ~&ѴVArTHjє%Ca駺t{gpz rcL͎Ygҝ}aѼ@ .ݒPxC\y/OFgLaSѕGäNL01ZP ;8t~%3.`%F9\])hU*=־7>Vn +gC&޾|ûqkI%6LIbPtVJN')>6X&}omdk0J(U]<TG7.ȘӾh?'CǕe֧Y6oឯ0I<1Te5ȍ:˸IyeÞnLg?Gtkpsj)ώǔgn-wqвcz8CV7$s"EelQe J"<9=FTbBg40P^F-P6#M?+nAR>eбI+6yMSx_yAs *R"⍒/X9WZk#p!mNHP>&: a| Ei.cƏ1Md㉲> āc!9YژBH9ϒЕZ )u7ܐrc2#5|Vd(˧HGKLf-O"iX[r,7VB#Or­Nf!I&P1>5rW>[(|j1=jA-͏T$Zck[\W2R))WfbvCTة]V(" ^`OhG#w/XSCd,iH5vYEǺL*tZ\]3RPegRm:l@Nsb7ݥp7b}zV{Hu -SޟzO.x[kNE4 W)Gx.,A= "&ajaJG) ( m&UD&w~t;>˸ګ-?A+~hƥROoi8POw/*F .\ae]w|ap8zVV<& O Q[RX)cJ ng!essZj*,@y\Mubʈy63(X^&X0)NqrLp0 agjQ˂: s 4]0+9j<]?0 z7wo(cO66j$/hψk \uU *Ka`?SS_MΗu8Eu Qݥ$A*kU^M Ffw9XQLs_`\>k~45:JFSȶT2SZвM|F? dKԷ](1,u]~xk @ ٯ{L(U:(K\®.tK &]z*VЅʲ$ օ̧z7~`xr}yДSY*c-5P[P nhb:קQxV̈ oͣ9Nm rTM$Idj> Xd)ga0%rpq^E_jv;2D>aqO:Ek>E4UD:3,vvқ6z#r0GKk,P2 ƙ(F!dS_weiobnBwdZDDGU曡_|ok'=ȁaцvEvq,VXkD| r#2?\AFw(hL61D=R4z[yBWy0 !'Lo|2wdtnE2wI;Z7" IqiꞆ.0V-[JJX |[ٟQԡ% Bw 4,˳}Bilu~Y:,m1T=dx2kɒۢN\,{G8>F4gbE I뗔Xsm;q].gժTSQw#d1Q.XISQJ!Eˠb(dbBc,n2'!Sͩ}&Iț[8SO#m<.&5pC>1i{hGF ^>5e_$5N;*7eX?.;Xp2f;E^ O`cHԢ0A&SfPWS&CCrĊ2'ɗgJy4ܘQap bM d0W@/*1wpI9>'w ~Ѿ}r]2Is.hZD2^JLiomqFͱ@p(gj_'v4]*cm`C.]l 'YwvAdSe-u^z*VR\Ő,Ğ*== LΜ2( #+wtVD!.J`$Mvkg%/"3#<` =J(+CL#/a$M6 .wqּc<욮s~`jgTu.՛v#f%Z67JV ZxP0Ɣ{fnņTtZ46yP! Ug@?Y#`"=~W'Eǹi6L2JpJ=L]ϻbF1 #L/<+L~Z2M}2?ي9ў"5~s" TLg7i29z.Y?q D}ަbNJi---Ŷt޴Q=%5Vl t"7Døl P6||^|h)OP t(Z/P1uU Ϛ׫? Pv`4cu9]GhJ0\_Q_I-A,=\G^ȦҞO'k0iۦ$.V-/\OpJ?L,N6@a3$Xn59PP'QTN,_X֑#mHg2g3 +1CZ09sb&'C(7C䕼;v~`pF:{0Z͵Gtïu>MJRN8mPXX[u fx\V|f}2,MzWnJRHv;P'߈F[@⦑S^nW7pQ7 '&4-lФ*d-$D{IҲr4ZNe,N.?7;g摏ٽ]y҄Hw=v.y}<رxP=̏NV LB{{FsioeʔeeՅu)M,La[ff5H+,BL-'|SIIذ]mf'O@~LבӍP>KɝEJxg*^ӲӴF~{ނByJο{ufP5E|^ɏ6W^#R rGKzM`ҕz+NHj$'][_"5P .!" jߘXo=IO:2;Zg$~en+p'_*( Chx[ӤSJ A06%ݰa݊ӌooX$e*Yjކ^twNJE}_mZ[j>+bL^ccsQyAQ~g"P$apܔ3I,..'ߎ=a1|*hy.`*G{<*n/'q_S7-q]SOGD^#?U@T ?TUZEhlf< U5ra˼/U60de -vXk|*Z`zٮXJoV{M/O.ܯT4xgX1IZD LPi{o߽V5?YJpZNufԑ>هtI,*#eҸЧub.fMǾuR,aAho\9N-sf|(C]H8,|!W ŷǿה@g#R|Di#33q94Bm&[n(Tuoaѥf8(xXGzJe9 _`Z %b9UqzIʶ7KGs2bW;fDYSf"NU|CX^i Z2M̼}]YJ%m4֔z"6UDb2}rEU1aLojD&nĆ,#fU !V!K!s Y24;1oJ{aQ+q~tPlx4[qʟ i-9\b$s'}pY}A 7"`Ota$}<nl~i)"+Vv $e©̌F6oώhPѹr$'?LjÎ VMMz%$I~ʵ#ǦZy``'*eG3ڹ3( OS#7w R/=n&g%>aQccLcE#n.0%խxw!aJRst?+ȢFơckuCQN[-EmO%=M'k-<-iIv1pH7-+ZYZUړdwV&6vg)= m;3:tO\Nanr~,O[D*hw,+b*8Y2fk e<emge~%Q Ϭ[Ǔ2\3y٨0)^7Oe{w/t&t|]eW 'B#|F*2y̷IJK5[^oƅ#i T\lܣ%Q}-"w2)S[8eX\  .jTuY0`2F&l;f`b)|}COjgAL"O]O(D5}HN/F*,w%Kyˎ6yq >2Uԇ7hi2zRw,@qgncW¿Wti7quw /,i?"5_:ssD+rqtvJ0m~>\$PvR):)8XK~$:>^'XwT<]L8l77LNQ 14Xlrj𒫔JMn߰E5FJ6%"IQ|&'PF~ QD]YNk<5ujRX5Wy;<D pdE\uBWDSvՠȹKDٞ8/f\` 7kHMI":aBUb]yrlQJhyI>԰)>RڰC#J K|CSwoLM4~1}^ְœStȂK,r5~uB+o)=B`"7ʼ/v@|FbVk$p70*~c-*# tldzkGȈq-29yE<]P\ {=S=cXjqc`a@d4.۟6B"T+T $[VQ*ݯ6FK)W=}TǥsvАYWySt53w&f dV^.5dj2qFׁË*:ΫM 2Q@Dw(0Ille"pfyr̭i{)_2.(bI=F6[ꆖk6IW U[\˱7˂Q<A؎!'lGRdG*.t/GO~u?|gfsܳSۣ˕\%r[P}sPQuoK:e4h+pI=FTa?c -{t7@.as>0gdh3 o}ׁadl_G̠jZA0URfa]HcI, FG^ I!Lѧw5ċ`Ux$P|&W