freeradius-server-3.0.21-lp152.2.9.1<>, P`z¸/=„= N[sbO5X?5Hd ' 5HLX\ox  { ~ >  h (  o<l66Ҿ64@l(o8x'9':o'= >?@!B)F4GHHIXYZ`[d\l]^h*bcd0e5f8l:uLvEw|x'y0$-z44444455DCfreeradius-server3.0.21lp152.2.9.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.`zcloud1271openSUSE Leap 15.2openSUSEGPL-2.0-only AND LGPL-2.1-onlyhttp://bugs.opensuse.orgProductivity/Networking/Radius/Servershttp://www.freeradius.org/linuxx86_64getent 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&IXIx)9JXJ(9X(Z)()XJX99P(8)XY8I{h9)xk`9)9J99`)XjxI9I:)P)X) I(9`IS0)89)P9I*3Z3Bl&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큤AAA`z`z`z`z8`z`z8`z8`z`z8`z8`z8`z8`z8`z8`z8`z8`z8`z`z`z`z8`z8`z8`z8`z8`z8`z8`z8`z8`z8`z8`z8`z8`z8`z8`z8`z8`z8`z8`z8`z8`z8`z8`z8`z8`z8`z8`z7`z7`z7`z7`z7`z7`z7`z7`z7`z7`z7`z7`z7`z7`z7`z7`z7`z7`z7`z7`z7`z7`z7`z7`z7`z7`z7`z7`z7`z7`z7`z7`z7`z7`z`z`z`z`z`z`z`z`z`z`z`z`z`z`z`z6`z6`z6`z`z`z`z`z`z`z`z`z6`z`z`z`z`z`z`z`z`z`z`z`z`z`z`z`z`z`z`z`z`z`z`z`z`z`z`z`z`z`z`z`z`z`z`z`z`z`z`z`z`z`z`z8`z`z`z`z`z`z`z`z`z`z`z`z`z`z8`z`z`z7`z7`z7`z7`z7`z7`z7`z7`z7`z7`z7`z7`z7`z7`z7`z7`z7`z7`z7`z7`z7`z7`z7`z6`z6`z`z`z`z8`z8`z`z`z`z`z`z`z`z`z`z`z`z`z`z`z`z`z`z`z`z`z`z`z`z`z`z`z`z`z`z`z`z`z`z`z`z`z`z`z`z`z`z`z`z`z`z`z`z`z`z`z`z`z`z`z`z`z`z`z`z`z`z3`z3`z`z`z`z`z^zM^zM`z-`z-`z-`z-`z-`z-`z-`z-`z-`z-`z-`z-`z-`z-`z-`z-`z-`z-`z-`z-`z-`z-`z-`z-`z,`z,`z,`z,`z,`z,`z,`z,`z,`z,`z,`z,`z,`z,`z,`z,`z,`z,`z,`z,`z,`z,`z,`z,`z,`z,`z,`z,`z,`z,`z,`z,`z,`z,`z,`z,`z,`z,`z,`z,`z,`z,`z,`z,`z,`z,`z,`z,`z,`z,`z,`z,`z,`z,`z,`z,`z,`z,`z,`z,`z,`z,`z+`z+`z+`z+`z+`z+`z+`z+`z+`z+`z+`z+`z+`z+`z+`z+`z+`z+`z+`z+`z+`z+`z+`z+`z+`z+`z+`z+`z+`z+`z+`z+`z+`z+`z+`z+`z+`z+`z+`z+`z+`z+`z+`z+`z+`z+`z+`z+`z+`z+`z+`z+`z+`z+`z+`z+`z+`z+`z+`z+`z+`z*`z*`z*`z*`z*`z*`z*`z*`z*`z*`z*`z*`z*`z*`z*`z*`z*`z*`z*`z*`z*`z*`z*`z*`z*`z*`z*`z*`z*`z*`z*`z*`z*`z*`z*`z*`z*`z*`z*`z*`z*`z*`z*`z*`z*`z*`z*`z*`z*`z*`z*`z*`z*`z*`z*`z*`z*`z*`z*`z*`z*`z*`z)`z)`z)`z)`z)`z)`z)`z)`z)`z)`z)`z)`z)`z)`z)`z)`z)`z)`z)`z^zM^zM`z.`z.`z.`z-`z-`z-`z-`z-`z-`z-`z-`z-`z-`z-`z-`z-`z-`z-`z-`z-`z-`z-`z-`z-`z-`z-`z-`z-`z-`z1`z)`z`z`z`z8a5aabbd908cf07b0f2e622477e2027f97cca4e54c2d651f6cceef1e0245abb9537dc913ca617dd3b64e0a0d6726a8d60661b44afd2836ca2e3362f5232c1af76877cf91d3f456bbbfede10b2104aef6f0543fb75c4fd1c77ed5eeb817362fd0a049f99bb80f2f16b953d5c5011fdbf98a3bfe2cefd963cab58546f17da83f60eb3e83e984887067ae91e3ef36553a3503292296c8d12d3b1d0d10c34b263ffe8ae096c15cc0e12c19fc104579a775b111be461dfc954d5067a0cc568f53f14612cab60855fcbae684e860277611de20ba736e8ade46571791d6def116d5ba4e9d4b49900dc46af19ace46878a20367408156166199dc83015c0c6c48c5323e11b686b70fb8cbd7c831698dd8ec6f8f53dbee942b683268aa7c0a19c408bf3947bb0950fd01b446eebd65c3e7eac66ffdf8a7067c006a034460cb78f3d3ed36fb863be3a8ece46366d50969cf71feaf2ae5ab38fe39d7021a63b679d16b2cbeca02caeb6df36f4ef5fa8e34b8b3e860968b7704d208fa59a06daecaa83ad33714f5007a8604c6e1e9ae0052713a65890c016d93dd2fd4de16cccf8ff8ce1a6728d792eb7d1b50d9da5ed3c89ba6e2fe415c37a918a687888d9b348af4ecaff9edc2d3545e0192a82d1ec1ea7d7c2e2c3a534cff700e1f6d6c0878fec2e0a3e9c1f2b05ce22abe7428bbc6094677ac16b00c86dc4e249aef6203742b277a2cb78bb5c7433891120096e7465aa5aae8662ddb72a3dd56676d523243d38319613ae90b2c361152d097cd025bcac246037ef28a422a801710d03e0bbf4618c61f7bea8537208372c09c8326b062b8a23b5cf08ac85ca77dac25d9739326c1d0a5a0d11e947a770316146f27e90e6164e2cd6d4bbb25fbf29b2219bff150fc58e05d4c8bfd9dc1f0588467ee2fe948f7ca3da2bda2ac55559e269c48c6276f58256d7aaf7dc46c2291470b6648fc7313e849a7db0730b25064529d19fe3c4612f0367113b3f0ce376e4acc454ded908f11fc5d73ce9145b8862aff6820bbbd5cf3dddca598d0b56b147c7b6633627643041391eb33b57af2173f1278c47be5a8b35960ce1875e81f35963033a71b46cd13ac21738e608fe3006e0af9e9cbdba2a17a72797aab1fcc7e66f306e48d3de55832d7886a071c5f9f941a1a871f2679b30314c4cedf0e7889e79bd3d4f23ca80f6cbe491aa486e7dd4d3e3359e05b5ec7e1f2fc4b9e7144988b03445c239d9d4b2e3c650048c0823dedc70d1378854eed596a0aa6e073400498c189d2b34f8ff4d1c3e0d05587256fadf737b53f780c8b4caca010f402df850d5c9190872d7df1dbbd2d57203bcf6ed127d0d012f1022221d51154149c83562329f1ee5b308d2f7990253770b325827a575a4f342b72b209cded3bc6435fe032dbfbddd12b60507a9de63ca436350d21f77fa901c8d0230a775c48be55250620694124e9582b09268b01406a8b1794adf8648c4488bfd709ee04ee744db5d7a30c1e9e6f5512c487a0e364580ac9c2c155306eae5fb2911c5852792cd6172b70305150d428e48b71de06bc0a2aeb212f735128735e0ba2e5be5a7ea54c6e3e1743154525f36265eeabd68dd929dea521f126426cb4cf442d73acc0ab0e1aaa5e97f39ef896a9eba5273df312212ba68abddbf497ed5244e5f624311fb4e4427558c8ac2db869bec2ab1118a5affa190ad23ebc39834dd22274bbe02303d7ec84e3ac96ffef1e4fa4942f60259acb64acddcec78ae4b961f49eb32e433ec3f9fe04530b8212d98ce0031a0c04c94e594941691d8c27f07c7d38cb1f1f46fe063a18d6acacde6eb155332e9004c935ac861b16b0c19b0f5fa237defcd03bf00824e13dbc54143ec4e2a6a9b1733a57f02b80f47967c47612f8eafcb5dec8a34f46c350b21224d0cd0d59d246e5f09fa120d74dd8af1c885af12e25c83cfc8520c2557e57d4e5a6ac740725a7a79fb9bda736a4336f0186044036b8837273ff2e4715ecd66ea703276208d9f35348541bc6c6a1f5a72b05542d6e5ca46374e11b94d501e1d803be1e311ecda722c5baeb89bbdf0e932ac460748c060b1ee65a84b81e75d13810894cddabaf7b3cd40ec218ad90d14b0edec0abd0f4c3e7346abcc30d1ef0e2cb8f38cfbff2b5161c1edd98253b9940dc539e8fa9967ff175fe1d2f72b48df94cde8484d1667b935326f51839c002f59163af879307334ca6079afdc06b31b2337657270ea117f2d0408ea93f7e40607ff55b8817e3348dbe9cb662b83d8797b5658ad0b6f31cc4daba7f5b54f261de25be6958f728b44070859c5564db0b1c2a02091f7ca30656a845bc01d2ecfd326c1454d6e9023aafcaa93905a86701ae696b4dfec480abc9e11042aab9aa7f2015b43b17b93bf4b9752e10d32ef5aef8192f95a52e736dcfe6914ae49e5e2b70b5ea578c9d0cef6642d68af6836c7cbc4e4f2c017969227754ebfd82e55ff169140b5553c2760436c3fe44d81376fc4729607735f711230e7b3584f2dc5bdba4a41240c1234467dd2a4e5a6d727ae10c7cd2e4c700e224e94bd4b89e7cad944e638d5357225a469797a11b727ade2666a29553b7e12ed204c88235ef4e36cf025b9830c9af1d01fce17419695b6622019af2e9753b53e6bb8f3317936202a51b848e6303dfdc082d0719875a82133ebe9001296d20f3304980c838313f41cbbdd4fe25e87efb91090ea0e40023b1f6c78a3999752c2f5829bf40f1baffaa2172ee6b27252aa3bb0e14ccdb88ba65fe5a00967b2e29b25e7320a8f43386cd1edab1781174cc8d3fb50e37632e1a296ef791f94e6f78efd6221f8984d19dbb21a231e1b340f061ab9e90b76c03faa5876c04526f383fd5ed6fdbe2c09475af49596d9ef244dc391de752a6ab6500853e680e32789b8cce3b47bb057fe5a828ed3b1ef3c512d47ace6ef63feff73d84a1efe4f7cef0951ba73ccd175eca9193bd344948545039237b3c7a260d9789c298a10d55ddef8cae92655565da9c62308e70717122f1ee89183ae518f56adf30263e6b491f8d24d51d6cb253ae62f5e362346328a6dd9cd929e48488830cc24259842f13e362b227ed79c6999e5882e3e9a9bf3991deba824dcfb1c532e6d2f0b142741544636f6ec2ad3a12b4257c9f88f2bfe5f1c8db1aeb5478b03597419591ebf4633a0253b448d5b2c66a9b6eaf94e0b2d14a395e5bf8d3b6ba14995a46195739d5b9f213e2dd236b4e25c04d940fbda7bf6a271843c644bf85bef7cdb3d7bab661395b7e076b424e07263e344f270dc0000468adf57142e94726ff9d1be37236c8b100047c811864b0b55920c1ebac2222a26cae07e0dcb4c58a23f1d349de31a5181903866fd9af6cb18f32eea957be776ae3eeae96e9efc73f8a894f3942ebe3b8a6925abdd3c56add0e58cf4ba1cfb1384dc276f515bb218c810640770c3a00d6d8bf069e3a02145e4961db39e3c7a71be428d19246828d2427457805e758300ce6f0fb67136812b0c6f55a117bedabb6073df5f1adc98f67f9f67a965d3e4d85372a1a4904b87e5217c904770adbba65b3bf0207b821cfb5d139f857d846c6070fcff545ec965dc1198895e37601b9ab056f1820dcec7ef2f5e13345e91761fdf454a38b09a4da70039f0a30ca7236827b364d95b8a591ea6ed66f2d3e971b66570dcd5a3fd9e479a81fe52b0141fa700bba14374f347b6b43b6f4a8800a12adfdb29a8fcc0f4484c4261fed88a6d5c377b1f2dd83f954dd9cea1345e05ce40438f5b045f4d92db6be31f22a160ed38126cd736d360be66c53e14548722bb10cb002e2a0c9ecb3fdd1893b4e97952222040f5ae2a745e8e22f5653bbeca416506f850783083598e0758a5c0385c22b71a465eddab5ce281b400caefcb14c09a2e50e14b2d872bd168b846edc1d5250d1add9dd6eb4e9b4de2e13c271e8a13f472ee5f0cc80d6897af8c5b2e0ae90fb92f20b9cc1104b65f8097a9c194369f06c51f67173f82423ba2ee84a2cc9522d40cfdc99e68b752a6d41e960263a373ccb0e9349323527b861ba030703a02da680b764976c7e6090504cb23aad5a3defe69d8f23baa1dfc3a571ff3b6efe294d00440ae45769a537f47a00cde9a92d21f0d3c474dd65b69272046cdc4d4750bb0449c3b014abf7848b1fa3fdb21cafff9efadd1226e408ec45ced777523581ce2bd68e0c5fe7b61b745268821681001e6fea4dedacc29a103317afa86619b88b32c317955cfd9717864940adee017d5205ab68298c82d348e3ba017cc908430b5e0ca77257083eda9e428d66bf4f60c76e0ab118e567d30cbe0e65bcb869f1daf94fcbf00f18291304e553a9b3bf5e8ba73a031af3ed70cf495926c798c1998a429071c6a9a9c12d5301262f28efc78e9871bb29bf1cc19d82ef20dcef84b0c8f2ad854ddd6608005e806ca2703a776759f81dd64cbca323e5f3e1623cbfc279abcbafbad59f44b6e7303b6590b0c818afb57f68c7a97ccb608c072542d5dadc3b83299f8115154851851da96240ed8a57ed750b659b18794e90ef897602df3dd83a57df4ed17c8553a5377d39d17a8fabca93890e91b4a4c411098c685b41f89be0b307c11130506b594b822535e760c058d305a61c3aac7d758e0d7033c95945a892c5df13cc423e4febdd8050175d6afca21467af23c8b55c1f2008d4dc16bf81b0c2cc2de4726a5088127c9f60f9741aeb82cae1d99e5e70a7e29072ab68099e69484c4b7c9d01bc9837ab4650e83f55ba466c9af4292068d5c9767849dfae027be2c73d68e98fac5361294f8c46195fd2a49dc43c04544ba86a6bba75937d6758de5dd79d2017d345d502346788a8da5225bc316be774c1971c97fd3d5f1f0f2ae4dcc1920bebeee6d15f99706a309ea843028bb7c2777179c8a7f4700b8587967def9561c0a8a86a416cfa8ea2061e699ef1a2fd9ac80c05cf6c71cf8e53f576069714247cd4a9736e72e1104dfcaba8be8ccf6f8d57abeed18d584f184d6bd3b20f2078b3bfb7a7cd2bdecaabf8f1e89f8d6a61666d3907ceedae8b665db93a0f6b3fc8ef21c8f70d61c331f51e705c8c11bb8c4a6fe1cd09e26d27a1cd29e99bb4d89b880002eb54d99d5567b553ce5a6e681e06048ac884a5789f9f121ad73d86f617df48b9ed955d669b216af18d3e770b6fd079dfb3760a1e1f8976dbf64dbcf3b80c295287e5ebe6a345120ac11f9752835f382fa6150ed4d3a5daa53f41b355e72b4dc2e6f8e7da53562fb4191369933b08ed25a8b7d117a09ae6d59d09c24e0ed65eb73128f866312cec1941b0d5222d8fa9bd842a55e079efdd6e287086bcaf6182fa41d96bade16e6d6f4bc0e7e117a2b87b16ef1c9a34ba79bd4491663fa6c23eedc86f7e81068c4eba56cd09a9bab6398289a50750c75e17fce9fb803ed2faa99d7c9a8687e4bd76d90441fa77920a99fc72e92e42869a9919e8381f4e8959577d4b2153370271d085e8c4488d1dcd0f92f177182b4593c0b68c89896d899bc2cbd37197efcbe8d16566928eb0cc1e86e71149a98358bde939a6e918fd6fe63eb3fc9632699fd99f2a80eeb6d48897f6daf8c718a63eec6c986a54eee2596a803436931a06efcd32ff8e9fc9338ffade69ce3c22dd65255a00f890938fea9918fe2ee1d3814d28e2414cb2a6e81d74acd62d8f6efe54ec38ef622c8580c205f4fe64daf2a46ec96819cd6ca8c1de3ffbedab5042908b909f86681c242a5868135643bc4b18cbc36af83ba9cccbe321e6c522ae1ebc2609a5fb751e91116f2cc9d11fcdf8ce687ce333c1a6d63f052cb47fac5f6ba1d744b3c08519d4f288e9938aa8da1700341f33e93ac4af48a8e3837ac6d21ddec906bf99e84d99d6e63a5dea16812ff583cb38a4e6577a0b18a809f98c34c3f7ba2d05d1995556d06d37e6ad241018f7f4d1e73fab24d534eb12765d5aefb877bcb5fa4e99240189ef8b716bce2fcc264fa228bd2b5d610f22adc261a9c37aca78ac3d23292c80f8014c53e10de98ebb40d6f302a316959c8301feb7cf29fd9ee9239afbed35417b76625d41c7ec1ccd3556fecd9ec9375b74a8ea403faddd7825a3f76fc9e3415cdafa98c5d62d432eb59c04498f3e8a46e9a7aa2d151be36072df097e8b9d2d423e7a6baf10cb408106e0a26ca1f4427a061b57dd9a2199e15d5a63e8c33f281a49fa3adf09b0d66e0aeed09cde6bb7880c91fed6e20881bdada310b6171e1977ea3d5672bd3dbc2dfe64b91cfb53bd3c9f46dd7fbe3584b9fafe5d32398c7762808f87cba0684e0ea1c1870ea92b412c21b829554d5fc48a7f825799f125b30adfdee54a4ae3865e7a75ad71b91c1385190a2d3fb876cf20cfc923a08bdd4ed241e7023053a0273127b228903aa00a791d8aaca1787e89432528ac6359aa0b87edd139d3360d702d96f07d06df82d48e0fb7649cf4cd0a3fa89f13d6941969e9b32c02045b9f885813616c2847833f91141aa3e6854add91cbdac9d0607494b49bb52754f8688f945ee6bd0b84cdac7408610f39e811dd4bdb0a97f5b07f0277f55a2c2a654b0f569e347cd5a1f762fd9493b775c463f500a170aabea8cb314ca3376aaf3c26267e199ccdc1be1b8aa817c077f2f7908b12d298130b1e536e4854c6f5859e8ffc7fe10d028babf8927e2b370e4066718785145682b9ccf0edf627e3b0db342960b52c86d77d5c5ab779f71d7edbd25ee2d303d86029c6303b3e5b8609540d614c9e06b02c3cdbcfa3850f3fa284c676881cf9c1bfbaa961dede3ba5d01e5f5f4911ba0e3467f39ac2e821833c72b121a904ab650afc8ff54cf172cbce598b8e89c94ee8fd9c32965150d06b97e030ba1724c2bd8c7388abb70ff92ba2bacaf5b197163e57d32a223c9482cfc3065898a290c7cc5ce2e6bf69a500d23de1b72c31ebea7c555e9909103044da8b21e1fb5b2a7d6b481eeade5685b139c6fa9e99067e686b39b5517f850a3c8bb0a3509dfd6fa724c237f4d24b94e548c23c5a1bf5e979525d94377a8a66d90b9e12f27a76be2e6bcee7fa2513ea045905b9269b6f46a2187e4f32b348a8324dad36b46b2a3e89a705a48c75e6e95e86b56856edd97f82469371b0fec2c46e117abfbbdc8c411c831231f6dc64f835eadd3e4f11d6c08f9465673e49327efc36e110d91867476483b358fa420b2ab129ea6f7fd9a9214150f935e7bd5f70fcb25a38a6dc97ad290c16ac005abc8df444d5b34af7ce4f138010273c2be0ca28f501a4acb761228ad6d2fc7ffb169852636b714dff4078b1bf8ef27c784c2edb82b3ad2248fce54a537d0bd491a563b090120f439554dedafc78f281b559e53a75200759fbe271cf8b82ed0daa9e02fcc6ef5e57d803b618132eb8c9c3a1905ecafb867ebefa7d26e913956f3c8be35d62192bf01b73abb5925d9889bacd801cec5befe607c66b8329d97c7bd4823f2fbbc554ce697fd301dba1df34e582896aed4fd9b6ef8704b86184885f3a415756cd9b4f256f6543a91b46f4241ed7cd98905b9431f8bb80820c6744abd0a5e5afd18f9fc4e9c363faa1d25b76d3ff7483ee893a75b62cac6c414dc478de72ff0de9fdf1d1864bdfd08fb5f72a3c744809f3aab2b578da6c29bed5b9b62aecc81895ce4e7323877493bf7927e71b65de25d5a39e9386f3ed9a45276767b2431a158c2b60b7756da74358ef917bf40488f7bcf62fd2172f643584715c8a2223031c93bd964186604daa9b34385b817aca5c57534afdf0b66c323a917958a2ceb1628291a573ebf715ba04b2ac84ca5119de93e4de37ea84560075e01719e9629ad49abe8de4760f0fda82c532fef6e755c7a4e6860c765389ad486f31ea3f50cf8f04cda3a76bb5f889b6dc85149ff39811abad784ee0052963d67f19e627ff1985f29ce7913e501f005446155c2b53399f8e712eff2df190dbc3d42273a744bd5772a8e7f79f8e97ad231c8ff4436eec28f3df4013e28045840b275bf04558c1d0c780685542b89a2856a1d23ad57a4003848556d88ec406fec52f0df52a9c1a50a92cca265ad3540b236516cbcbd180fd3b250da60d15aa39957f0867cec3198da46c3bc3df778b05463256ed7709c5105a1cb3ca72ecbf86de7d615f214ef1c96f8cd99193480d8c3be54aa24d14e2db31d8d5c39f96beef917cd8171c029bc32f2e37581f80aa75f7b63dcf9b851971be1465ef46c5b53549481ecba23c97e182bed8d85f02d435b214ad877ddbd385f6c8082944a0bdd7cdeb48f6fbc56cf00be32ee385d05ebe14a3a84c94c8e0d182852dc5ec53139947655263cac61c896b5e2b527afa59c904f726ba9e43cc8a6f39b601862ede58e731d81a415d21633538d8eda1e8f0602b2ce5ae73286e5c5a73b19911f04a3885140b79e29b936aaf62911fa2e38f3740da00cfea08cb415ac9fe143e887d902f572863bd90f058a804225d68ccd4524242111ccef292707001d62884e205d6ca4f23222907fc7d8cd8e9cbcd6b2f2f06916840694626617e385a673800bff0f405539f2087b32517263fcfb25216e346fcb82f54d1ae22b65588c993b7375ce5bbce99ba05034e1f02a9e81f1f8940e70605a5b8e742039fb9e1cd040b622113078c4eb3d4d8289635cae335aea3771f43bd732d19c1d1923db716d4a4a79705e53466130198524ab972ab51cdd1b406c08be548302754cf8d6da331a9ba0a8020377e8006bd05d7d194defb8135712461b64f93c18ca34b9021d1685f1988280e4971ce30121791b1757352591b9fc133a077696c86787a50f0479b96c445783fe54c96b4c98489c805d81dbd1f130a6b426a9e831d0bdcda98d4195202abcd051d67c5c6d955dc7af1d67bec1e3e9d983233bcee57d981cd112e94d91359ff4119b253a0c4fec6404ee299f04f97f2009998611b845a4ceebd62d954dd964fc70ce0bed6d9d976be005dd4bbcbd395535e9fab9176172cf6c90625060b4507e682bc84f91c80ecdd9e86037e74c654c3f4feacd23eb9e6a986db33260b28f88e0b0d47e45a19d4b75dc5d25173b64a43e8f9b46e3daa0ccb79ea3df844d25e514f2c84f91c80ecdd9e86037e74c654c3f4feacd23eb9e6a986db33260b28f88e0b0d1e3ae7c32562723ae3a56b9153f7a6dbf2518ee7844d513b5fd02043d61f4eb8170a326d03bfd275ad0787ea81ab210092be7259498aa31fa0d1d654dfe86f58f223390cadb812db96c2d8de2411e785cde5e3f074c41478c7da963a7ad459136529c207f3d537a22f865916c81b611e404a31bf7dc59de44f111fc09b1c2fa79659ba31d6e74751a223e7ff36a2d784cae1d91e965ce9af08513a80ededdd740809687105eb0164d0a52928630628505b0b1f5f75d27ebf11bf20f25dfcce04d8bbd652f45cd366b79e185fb9589bfb98b6793455893767759e68e231938f855b9cd33c20d7f953921174fc221b4d72eb8178282186728199d0d1bcc52313f4d01b99f4c42ce9148858d22db6fe001745019a74b9c42c65c533f6454f751f2b0628cac686194c463c75a008032456f96dece439e82a96bc3c3da57189828c0d4b66d923f517f383164b55fea7b67f35e77208e72bf6f8d04fe07f6a36807d342f084c9d385869142e0d4cb034eda19eec8ff0b1ed1a8082848d253c05a4f28c5cbdf119e0c504a7ea2e70fc954bb50513f2d2973f8711e239ac63be25b39ccb30fcf48340a899b72da408c56b01f8c8889ea8d70032bd8333ddd8431f58166dd6dc3c0b0ac79139f42b5bc5e2b5bd9028b65fc5b82083b61e8a4d28c8522b5caa62ed22349968a1eb4dda74ecfcc3eb54443bd8affa43a8a3667042078daae3161b357940f91ce8e38b7861e18b06bc5e628078381a2914221b1986222ec9e8fd32ca89e0068dfb7127550fcf123183cc3ae270a926105d7acfb2d3d0e890324ecab633e2021387dc97dca3cfad1c5b8887dc7dcd5a558b39e48099d860b05f15f493c5a6ab75614ad25c3573bdac3be378b21108c185a64b803b16f2a93ed4114dab3f5600b28eb4efb2b0647eaf1039d8be35c21bca13f67177ba29ce8dc68b368d67808bb073da54ebe4d41da5dea5503236c671899d28f9ea98d13079c42f07c0f1fd67abf34b7ea6ac58c950e9f4eeaf5fcda2078bd318d6598b5e9cfa4480610a941518388343cced47c80ca9348297e4a3e1d61f9a964e480d0dc7ff6f8d200a428066a2166a96da5865cc1521ed618259112cc26df867378dd8f6588a3915fef12973d8b67ab54e8c513fb7057efaaf513477ce4bbab4f1a227f069506b441b95d327dd5e268b9df1b2a8958395a3f8fd70472824a1a4572540dca3a9982bba40164dbde4085753eb058587c8f01f123324b621612a2193e9d518d9c9c5a529efca8369a5935bd95f5b2334a5ec8da7dce0f62fcd0f318bd3421f45889aac6b21f7bddf11add045a69dfbfa9f3e5e83c56fca3c659b72bc835697d2c194a7882904e6be48d1122c737d73b99ebcf30aa657c3287ae0c5000cdf0a049af584d275a6e5081841a9b7db2c4d2d7c2ddda1d9c05808382a7d50bb0b9f69244697a934dd9f7418787a18faa4ec90ebe6b83d50587f2cd99899cea23300ab2a53ac4995bc2b9450f2cbf9f835e1092678d5ceae054fc600cf647a2a793d9b6aaad7b3e770b7f840ced8f169e094246663adccdd98870bee4494ccd5f6538ce2dc320d338da3259a7f0276b0daf3358d3448579a8efa1365d6319989b303e5e463c7ff4d2024f2694b5f302ca301dbefdb9efc1eae6247df9a00028f7fe3acba40290743cc857ee6e0ee36289a7ec69292c0fa22ef4c16cb324d34f16fca9ae7a0a1415667033a29a41d2d3e47a71ef126690cec11bc3909eebc068f35a0e2dc1e8203bf0dad4a4dfa49490916fff4dc9fef87bf8d3b74c2d8cac018298e7bd4c6ba57ede9bd447603a078d7f32415925a6f60316508cd65aec8152ea0851821a5e9f306c31556f8b9d1997d8135080beb2a518e8944f547d6b89ca5a66508c9f1d4609ceaee0f4f2df85cac13f8bcbae5b1b28b1bb9beb2dadcf9b1900239670bb360d1f7ff155c27beb48162bd407c148f5bcecbda471160ad0c206e1ab4c74ce545e69eab1bd8f39f6fd138d5d3d75e1ac0cc6ff9da4601cee0b43cb516ba9b5468d392811851dceb8b538a532a595fb4c668ef39f8e9a6ea27420b2b4dc412afd1e91d149fe4b1c8224b4e148d990b9e5a70202aed37beb6fff679928eb5e4a9c7dab3a43ed30efbeb42b6014f3ff7d2832f5c4c5408701d6dff6c7114417fe3e4da7fe146a14dba2aceb1677a110ef1196122df112453a1c1cdbc2dfa293ba65126e25891f5a1e8de5cfb8c18dc2f75837ff39ec5ace9021667fde13f9d543199b01338eddc82d5ee57d480376fc548ef8ed0845a66396d60f42a822d5e43be41e47c8c5961fc2dd33678d3f15e805f97f9f7e1a67b8a2fe70f418ded8078dd9c1368475fce3d81e336031d7a3e74931bba8b8b80abf1f623f4719ec41ce860c42f28aa44029cbb1b69bc7ce335777b4cdc7814f3480fd4281c57a72e663c2e34bfd9ae2a12c8e9ed9cabcc081d650ffc52aefbb10620bf8408fbf648840019a1a6b7656fe30253cd05a5b934de6037130161a2a045296e9336c7f12b7bf2e7b3ebfc0f476a1e1e4b2111afeaa05a460a9d84f6b79033c1fae23b65490455d95204c45d23d84cfb3a6984d916bd874b8a4342f7a6839fe56ad9d4aebe7c58ab264d5225cafebd632cc5a41afc086c618fa08461a054b1e50d2d40554f6bbe38d099f899171969e8974ef6d217e90d063f5854cf4d14a1518010f323f0596daf60225db8dce8de83b7b9fc889cf301b494865e500cb5fab0febbce9fffc073a1bf235c34e44c71d1c7375c4e4a6efb3b6789523143110c313ca11e15089cd429a7b059cdc621ec20be865e51f0c0c9a539f871a00e8014f679c32b35cc946d134b81410f9ca6b4a4d1a03659ef693ae91af5f40b922aad5bcf238337a3186c72ec7d7e9f49bf7595ce351c374303ba82f6140066dbdb713032ee64925af1a1ba36ce97e55121e84abd525e300ac7bb3ec031b42e7aa289e8d18f2c7d74b23393ea0abc3c5d1e2d66446ed84c8b5c7dbb1863e42f6626b708e91e8f4bb7454bdd7de70107b720ea2fd6585475cdb33350d9178463437e48e4f9b353057beb000a2557458f63d4179238bf28f2e0ef2545612b0e7e895eefb0715fe5dca032e9f0c69d235f5bfc86bfbde1a2fb5e896117b6412511375620bc0d9a5a52d28d6bf054079093672d136a4a4e24ac4930bc80be39f07b700ed47600e5e258558bcf04476b59da329892db70fa8d46f9a5fdbf0e7d3a32b2f7819427486b6aa77741f1b08331661e3d78c9294360b4df4013aa64bade84d8526941435842381259708ed6b05892ca6001e8c3f2a95035750e35d0ec8cad9fab977061d86d530c57818f37c94978fb1a51cff91731273347681a489f424ebb0dee0ec83765a0ccec9a8258a5bd89a32b47b4576e29f716e9bee1a7ecdc6771a28673afe4ceca4d354119c913bd8ac4a97ac43a666acecfdd41a615af9fc2abcd8f47ff35c337317610efc619eb3a391e87bfe18a721cf39e7c57e78467237d7c1cf4316221cbaa71c778da7d0831a1bd5c1142f92d9d325da962d4772be7958e83576c95150baeb88adaf9184b23868ad1ebb2e7a9051b549afee519dca76e7d3ba1d0e66430a129091a82db0436c025cbfcd74fb839ac7eb538b709a64bd1468c9cd79b8b4338115e64f1a097bc524f57e1990c913ae87e8173133be67b6c58cdc913c37e394651daa9e519e1ce409ef86504ffc850490cae8b498f21a6784fa84d375443483812272a35decc7ec6b807ca3126521f0fc11fa2df6dde6dbb4ae6962a01a4d08fe78f1d243e73d5b272c863681b8d9b727cead04cfb6652b74166429147837d9d38ebc51f2f83c339793c1b9f3567df34683290de24fbf7b357b5cfb8db15f05ed1acb10820b9d9b24e36330c0337c394a8491494c4ab9cd877af60ff24c1f107efcfba8a140b3d9e6de66f995b0b0c550934a129ae045544a21b6e89e42437a4df641d15a24ac9a8cd987a2ad9a8df1fa333caf87f9c8b402f9a4a474a079cb2d78ef89c22e497a5a7dabf539bc17af6f516fb3c3302cf8cc5776318b31cb859dc696a2702c18505af6796f35dbcf6cee29f17e409546db7b7546f6d10947093d6ae0bec924623261c3e49420826bb73f3b6d7d423eb1b0f6569eced0ff1637d54db5c968b71c6ee9e7aeca25047ac769cc072b5dfc65fcee22378553e98c9f2282d8fc8bec44ad5d85f636021d98dc9709d8d384a0621a65cb20eb7a09175325d641c15b3234c758120063a46e065fc96f4100e8f9543583a58784c69f6424ff4bed69d893c08b1e19121691932d09f6ed15e9bd277e13ed2a14ba99d82b2cfcb3568de59e9fbe932ab7ef6446f804ce42b693c36aa04e85749eef29761e5f4562cdf284555844409bb277e39eb0ac7ae9892f0cb8eb94abf7f296bcc6a4ee5fee74eda72b26c8040bf7277289c1887e19b37611eb8e62727949012d132d953559f4fb050d716777ee8510a363214101f2401b4754dacbbce9d8a4f4e39b79397cbe376d218c8620ae1ceaa0b74f7a2cfc184ac660ae15aa11a4b2659662152fac731f47deaa8f93def96477ea22326667d165c4e6015b630c19c46e83e70b7782cc93f47a380a3aa412915314db98ff3a9135bf646c8dceb9b77e74415e86f57704a66005bd4c0d93e2e9514244bf5e7767f0d68ee2b112148ca1b1d4c6357391d79046bb3f576838dd6c5667bd69ef2e05ab580d2b5867d6df09062b1623fc0f41cf482353f7c6922debd93be9b9dcdc8cf9434d1882346e570f7dba5a45fbeef5a8d4927fe4d7532bff7f2360789f1290b4a3e6e9907d091b4061c9c87a1c46d4bb13d60519b0a70211acfb84fa3fd31ebdbed10779844440f86cff0c1cb8188c7e549d44a175c2805e5474a624301405ca8b5969963f6ef956da0f0c4b8eefd2a9cd9eaf1825540eea76eae03337701581d0ca366b2a4a8fb6b8c3f52f5858a2ca6d3bcfec005c3183b634810735a0f6e470dce8d9da8b96ddb8f86a67a39a70d955a37918f81499016af8f44b73a26683674457d206905df84cde6f859aa24ff1c95a23047c79da4eda1e52951c90059c80896b0885e79ae7bf7e0351b707f62d4c7b40b5ea9038563242ead18b7cbe64ccb07984c9e9fd8e822c5bea73e80d25cf99301df72d341892c709454f16c115068f93d7b036de7922cd996fcd5a67f69be99c7e16af06065dc6876167833c9ede293b7d9582266b12f360dbc3a8686a6b47989c717c8d8589ff99195e7f186aafab1327c4c0424d0a8fc73aaee79a97a7cc9df952b1d5c06ea145d113ebf98bc9619411f56fae726e785e346e27d1ae96e58b102470a42000ea9222d58a03d014c5431701a918216e87c433a929ed7f5d37097dfa721da22466689dc5fcd6572f2e1c14421a3b9865233375622ecacda1badc94b913172289f03a895a12df94ab3608e13c2d60a702706de6c341227e5e1288e5759dce4bf687e96be18953722fe8c80902be281129de0cdf44ff1893654c367541192eddbafc71f12a1c60461c87a085ea00f64a35f84cef22126bbf1905c81d5e32dc47df07094c3a4340b9b10874a0a1872b61a600b26d516a7af040451e3027b0592b7299538362366bf0a064c2c4ec067bb4d2e0dc46314e8e13cf78460e84b2ab294ab0b5db4a0186f9423ce6d8a70e22493d4538fd68b48b1ffe29f07d5e34a597830827d4c3d63bb6ee0b9e554d898624ebd81266d1c93fec58153c0881c9b6a4f1df10c4111ec26d8b849096c5945d427fc3a918ed7a650907e0ef50ce646c11819a90cbf32c1d6abe1591d26dbd93773ea20ac7f037a6cd62c87cd0bee1d15fbe7f18f8a829ee91267b432b09b40bd7b93a2aed3f8e59d9c1ebc92e6ba99da540d0f87bfa088c976df1dafdcaaf2ccc747f2c8f14b277d23abf2e0fcc8e48ba16f37e352fc65ef294f77da9d6c8fe88d1e59c23ac76c95cba97f29a890becd784b9f1c97f368e71d3ae696fcf5ca48f3ffa6f6297caea69bbc158e67debd10315d960ad09f3c9df7d367efd0c3e086a33883abddbda1636add0b8d16328f22595f915f1c05d766b68cd5017763afe39836623bb42618ffbcacda10fca203ce60fecb779a282cc3e35f5cea39092acc5f58300c20d13aebe76f9d47d29d4ce2081a9f2d93d4d749f051d206e5d44833515f014798a4d41e00f053f22e435148e91abe57d39619b61c3bfd2730650e5c9139eccfba965f36704a4f24bda33d2f4ff034434eec035e74e99e3aa117c3359b217261a254c50f544209076643c740e44284598809cd52554617db667b3339c8424dafcaf6b10269f8c9548a9ec05e9f6fbca2f59c2ddb8f6cca9a2820872a9ef0f122d8af0381919e4bfd290795d0dd5c9ba9c9cb582c22b007f088ce8522f5db7ecfa6e2237a307b14c10bd074ae9a7377c03672ccc5cf1d9c5baa9e4b39fba6ecba8c1b51b3d2e24f277c4d3cde2b5651ffa524c562e4e0b0607768f46c2505a0f5d6c6bf92b94cdc5864bd4d11a4f274001bbc7c7793bafcadd81f9422dc7123aa683402c8598f1dadc571b8f4ae971caf143f2418f2e07df0beebe2f40a7379dd9f0b0ca21b0c814669db768174f402824bc02d6206629abf2728bdae843bb26588ba4f42c5c6fe479084b28e220cd99ee0552b59ac168eeb1948776d31e48a0eeb07cd08f629c1492af6e304346369d5a140f13696bdf242cc57ea9c66f6ddf3f926398c89b782f3ab9c8fc0a21a9026ec029482d2892562e6728f4dc272b8d3d5a7483dead57f34c1927635398a84eec66faf227785d31d72127ca81713e2b6bd5752edf23dcd2f6be74884441f4d9dc464e03919adcc201e8316efaf2e488e82900a80b71ca1fc19a8dab4d95667e4f2d3ca8da770cc445ac2b8cb05efe24060f7fe5084e1bbe2a563042ef4b6edcdc462035ba31e84cbc0f3021dfee90ca78c4acbf46a3ec15312171494e558c51d56b8976c26a668d1d488bbe1280283f12c63ef3be148c38c204ff8aed77aead4d5cac3077d2ed454cbf03ccd675fd5006d9593edd68ff013c674e4169fdad21b938bd952efb4f13c2d1ab30db54ad55ce92743ea57dd8202dc3c1e2647832c5578c3ad4358cf37dd01522e3de358a16268ccf19eea0f55378b2596a9012496fce0475b962ac92d79e684c4fbc3887f23693781a9b31c65e3a2790d09fba56de41ea7a7bdf7dcc879e716e5eb61f15a1332ed64bc104516dcff6afb7679676fd329d77ef24eb1c91628025bc24001f7ea543a706418bf9a9c40c9df6c8b8632289efd17b70846e0acd5957531e01d43b0338df9d9414042bb4700abf1efef4e8b699e254b80e580009ae9247a2230a2ad5aecd5989c4014a4e45eb7c1c7090872674ef7edaf5a38eebf41e0bc917c5b3d215266a8ea8449d2a0dc840e83b7e1d28475e165bda6dece67683d363255447c415427ca66cc867332c888a52672190ee3cdefe9a55da83168f7d72fbee804d37695f6462c05a9090eede29499e915625ed99154da68806b963b3dcf6834b114925691fa293f5674a0498684045dd0cb071cb0daf49e557fcb2bb268a4da75d99d0f86f38cce76c2204cc961514f13af0a42e253f3cf1f04320316b59e1b11b16f0d930041cb9202e21a50f4fab2cb3bf35d682675dbf21c508b378748cbc422bca98cc777eb617ab0306af768ccd551d49807ac6937cfa740141fcadd448a2e3c71a9ba7c50d49d5d31281f8881c97e06a3e572ad4a1389bb21731230ed55e225fc4d84ce1cf61d357708ebddb518def97ed92db88a57fb4cdcc2698626703f1807bb5c019f713cd56247cd9de2a90ca80f802d9b73e3fdf55ede5dbc072953af560bcc542580ed663e3f10970fbe8d3dcaba0650c72da430faac7afd05964185d1a319ab86dfccb7507bf534c047b1059f6aa3db50328b69fefbd58b8d3d19d5be859732717fc59edb68b9b1ba500c3f12487935ab61f93c2efd9a1680d8b04f9c5a8213ef8b6a9b139ba23cbd39da287be88c98386e030f293343d94ebfb2c0587d2615d8088ab1193fcf0b15f7c313d10a7f73c04e82ca8c28888fda26b3d3a80145db0db4fefab54cf4d5b52050c5fc2a2d212c52634c1760bbb31b203675b1341fa8def79f23c2645411a6ca1936cc62b79f4a8de023ea2eb287b09d9638fac3718bed52b0ecd1ce2a8382d0ade43d08230aac937146cfddec8d7329c0cc7bafaac12bf430741c36596d7b64eef081c4421d6d54128e1be0638bd85a6349f000ad4e83ecd61eb57cda7c391fa54a265739ab927356e1a2135bf25f304b914c83e87a1fee3884d2cd374f12b5ed1ca5790857cc4bbcc8f1087f4517fb605403ac7de1d6830b4b49271668dca9cfc9169959a6b2c782c1f5db080ca19e013ac99592d690d90c5be986072b705dcb583e1ea8300f1fa67c2cc5fcc3857b5bd856499279357b340def18a8c6d05a52d546d8f3b6727634998e610e08f695a6e20bb756d636db2a2e719ff80ea03e88aee9208741d0e242b2096fc417a9b2beab03d93f30717458b034d2bd2eaed668754bf959e0ecfe98e17ec88de7eb2ad3ddd37845f736183b7d3b5bee00a0f784f0864dae6d092e1fe8af993c108928fd679b27a5f3b043e84a1fb5dd23f14b47b5d65ae7e127eed1763b39cf7127c4edfa9161810c013c999bb8a3a49ffc34e2f3cad2c9989f660c5846180443560de3181a5bd2679477edfb92da913cc67c845ea42b87a117243479add7b27dc743172481072fc0847829075a4ffa8e1779c016519afd7591030d85f9b9605f481895fa43b1a8ff73bdbbdb8862b178ddf8969a70d14419af5b6fa871feab87c4f808b68f13ce1ad05444137266619827ca199b37ba4c7a8c80ec46b7d2a4d9b390a94967abeaaba0608a5edad8c419e17977dd96625adcb7bc9cb92ad2e6fcddb1334cec48960a185682f133fec1040f3f1b0e93180da657792b1134e038658710c249a3981a4c781cbeb6ca000585fb242836a099fec8707d836678e8f7495ebbc296874c0a9409b00776303228ad61bd5b997d7229cf4780e528d5ac69401316c9638f163a15bdad8694e628406112d4a9e5f277ab88b23cb7c68bcc688381d1b659953534f26a589244b3872459577a6522364d86e864a32d85fa99a44ec146d1ad6923a6fb7a796760f31b2e28d584ab813f0e0ae8b5e6e5ec7e7ec93d469d8090ef4467190b68ac7f0c8cd986962efdd0808a7390469b6276b7258d16d883879240f8e598fd8ff5f0badea9775fb31a932e232dfb212c223a27322758c1908703881b384576158e28bf2e0afdc7a59504b146f31936e4633555bb63c7033746d602f3b87f201aa5d064848777271d8035b2dd1523f41ce7f219aab232bb5fb5e1632f47c3221360cd090d35b0c7bb84a069439d0f27727117e8a59d06d348051a746f2432e129f60b66dbc82089d54e5bc064a7629d666303afb1f732689f7e74a7457a01655a50c18a2bd32d9573f861343be4693d7a3bb1f4001ef0713e8dfee0f45f254e10349c416207199bd38f9fb8763fc39f323cc0a4c45fa1046da746f0ccab220f5dd456220cf4698f3c38d701b1eb2ccc6f8b394c29df366f6050f3bee46b9a4bc5a2a8ee50fa860fe5a9b947bde6b1ae6a1bc94be707d72866e9da7f9c84e42348fd8919b75f70a43e1e9810f5b5c93f9b7c2ac661d8b6bd97976a71cbf00c7ee2b36b5385a270d268e3a168343b852345eab5fde4fcb902f47b87f3b1f840d57a5afbc92fbb737e6201ff5102f8ad71fa86b92798adb25daf49733ddf5da69c940d962bb9f714868a40ed2318c7b3dcf918f9c008144e521a1b939306b6e2ef7d478f7746a434722086533484651c4a69b5956f3ec0c4da8fe96e0669548125ae6382f23bc0a83ae7af31c7271ed1dd2b7c792026772411d5deabacee58ce335f7f368cc1342b70a933c2871fc71a07a6bd181e132a674d31736d6bb2cba7c35f491001b32bb4ce9a157f40f696cbcca1bf5de9ce95042f7088a3fd35ff777065d9f9ad09860784a990f7d2fd2fcd2b30ef219ae3cdb8e92fb843c64abe619db490d19230a1fea6b851fc079265eccce108402512a0ba02cf0fc0f3e64d0aae5bee23aaa53dae89ca0d86c930520bfbfd20873b0b79e08e0e405a5592947cbb7808b340b7889530a3819c21071d8ccbe1a60c8ec30049a4552ca4b0e790edb73337ae152883141cf198660d45e69cd12ed571753ba639c1e8c3889c41eac7179c5e574d9d95e78a2923fb576b0635b47f5b615a0e492c806d42884c2fdf477f2ee6b2b2a9d281dc3ff11563b6f86b697a8494f9ac3ba90e8ac4f8b9cc1e5d41938be45a368f126a6d1fda03d60a3d622dc75e776be4e90c2d2c6e6d6a009505e345fe949e1310334fcb0747f28dae2856759de102ab66b722cb490c3b6a0d586bb9dfc845b236cd88877065f84483e3bea2153b4b831c34c3055a449d1cc40adc7e874d81fae1ab82c35ce2a0a84cae7141a582eca2b26e94fce81b0f8d115921fdaeee8ed6c5f2f8ba09da74658bc3f1cabeccfc908a891b04354b2d9bafdf8fea757bab853b1cac4c7df00b2256460e95c7193a028e1917dce5a517d0766fad40dd7abb8dfc75b687bf505cea3bf4a099a14f67ed23b18b15d94ab6def9ab2eafab299f858750ada144f1ad8aa9e42828bbe7dd063003eee8189bda802c3e35623236807dc79ef77f294376add03f2970d4fa96ea0fdd4fa12235fe0f36703db6976777df545a48790a918cb27dc48e3017e5baae6c4a0917794cb58892c0b0361499056ffefb9a7a4a3de3b3044d3618f9c277719126154309e80944c93f907bff96183db70e139d0887c167d4ed6047f8c24a4e703ec34feb912fcc11dd1f8b605914b19fd67e4bf66a19b57b1785b1b0664b81a6cd2946d6d975091465cef959e073fb2ebed32d043b06727f31d316ff152731ab8d7b39d0cb8b225676c8487997f15132b44256786f2b0cb73950832080a884d31c1a66b6afa1792e427bac44a074273293fb9a1c9f7eafb75ceec91121930cf0e5e58ee17eb0afb848744651f08d895e5ea0eea2ec6e692cd11e988fd8ceb24c996fc3fe2244f9a8c0a9e09b39ea53083ba528ddb4c7d4366aead52621621b03d9c037bb0e302a80bc4bd241b4c28ed1fe72a0e4738e9c2da636b9bda1be63f446cea1e158a6010210a214b120e06fd3e478982c43f588917d1d0fbd902af162b0d096b8d0de22cfe0d0e9e28f8defb07ed3ea9566aa218619912817b9c48f2876de538f9e8914d01ed80e90541a91004b6b5cb86dc9855fc5930f1580a7878088be094b0146a1cd7b177d7b250c265e27a65b154e24f193a7ef85682f7ebc62a0bbe64aea8322d23b9784eb36af0b639c9738ad35cd71f5cb79b3acea344a48ae19f0321a8f2c8863fdc7c7efb652cd25eb62a3120ebe02c0450c30735b839c813427a20da414c79a46a3304f60b896a6b3da0bb0b63c590d16593e70f0e13cc70b7bb6cbb927fa47699e24841fb7c297355fd24f40c835d42c2fe873f8eec453cf784f32af74f6596f6f832397eab7f15c793af1a06a2dfed2910533b65a78a78a422cee268c7c30e91e3b88333dc55b86c9c472d007f86d5762f6f461117dca84de98d76fbf811c4179dfd9775d3aa635e005f4d8fa251cdd4c8b50987f5eb15bf1653b6cb7dab9742ddf9b1faaebf1ceadf760731dcb3e3028f9e89c156fad6cdc22f91501b7eb343884cd47243de731000d4628ec0620458e4bd2226e25fc922e8e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855mods-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-lp152.2.9.1.src.rpmconfig(freeradius-server)freeradiusfreeradius-serverfreeradius-server(x86-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.14)(64bit)libc.so.6(GLIBC_2.2.5)(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.5)(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.5)(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.5)(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-lp152.2.9.13.0.215.26.13.0.4-14.6.0-14.0.4-14.0-15.2-1icradiusradiusd-cistronradiusd-livingston4.14.1`@_@_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 Adam Majer Adam Majer Adam Majer Adam Majer Adam Majer Johannes Engel Michael Ströder adam.majer@suse.deMichael Ströder adam.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- 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/shfreeradiuscloud127 1624472258  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~     3.0.21-lp152.2.9.13.0.213.0.21-lp152.2.9.13.0.21-lp152.2.9.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.opensuse.org/openSUSE:Maintenance:16593/openSUSE_Leap_15.2_Update/01d40a48b058f57394a1ecc1551a3e1b-freeradius-server.openSUSE_Leap_15.2_Updatedrpmxz5x86_64-suse-linux  !"#$%&'()*+,-./0123456789:;<=>?@?AABBBBBBBBBBBBBCBBBBBBBBBBBBBBBBDDASCII textdirectorymakefile script, ASCII textPOSIX shell script, ASCII text executableUTF-8 Unicode textELF 64-bit LSB shared object, x86-64, version 1 (SYSV), dynamically linked, BuildID[sha1]=8867c4088bab63c708883d0e902bb31df3626355, strippedELF 64-bit LSB shared object, x86-64, version 1 (SYSV), dynamically linked, BuildID[sha1]=3898dc41474a3c9c0ca57bd6dfd8d7257f653557, strippedELF 64-bit LSB shared object, x86-64, version 1 (SYSV), dynamically linked, BuildID[sha1]=56e6baff6e83826f7c2a25772ae5bc9362b22aa9, strippedELF 64-bit LSB shared object, x86-64, version 1 (SYSV), dynamically linked, BuildID[sha1]=0ab67f3914ef1f9c1b1561befec654a18d28fa76, strippedELF 64-bit LSB shared object, x86-64, version 1 (SYSV), dynamically linked, BuildID[sha1]=887d25b2250cd6956824bc936f3b6827623e27cb, strippedELF 64-bit LSB shared object, x86-64, version 1 (SYSV), dynamically linked, BuildID[sha1]=48c59ed65633b0a8c7d310c9b4bb840f9fc565a3, strippedELF 64-bit LSB shared object, x86-64, version 1 (SYSV), dynamically linked, BuildID[sha1]=28530ad6f8b411a05daf1629b32b6f76070af566, strippedELF 64-bit LSB shared object, x86-64, version 1 (SYSV), dynamically linked, BuildID[sha1]=2e509ac44fbdc4456bf6421e7fdcda6988694d91, strippedELF 64-bit LSB shared object, x86-64, version 1 (SYSV), dynamically linked, BuildID[sha1]=ddc81e669da1f831c88169d3ff004a81aad43d6a, strippedELF 64-bit LSB shared object, x86-64, version 1 (SYSV), dynamically linked, BuildID[sha1]=fbe2d974045d18eab9f7253fdc2a27ede05d149e, strippedELF 64-bit LSB shared object, x86-64, version 1 (SYSV), dynamically linked, BuildID[sha1]=e1248941aadb26a28fae7c7fca3ad09a2f5063a4, strippedELF 64-bit LSB shared object, x86-64, version 1 (SYSV), dynamically linked, BuildID[sha1]=00670134526409d75d30dba087b25c1d21c0f010, strippedELF 64-bit LSB shared object, x86-64, version 1 (SYSV), dynamically linked, BuildID[sha1]=1940fb552d3f3c4be0de9971279d8e52dbc2759c, strippedELF 64-bit LSB shared object, x86-64, version 1 (SYSV), dynamically linked, BuildID[sha1]=d9df06ca7962a8c01f9073add91fb5d5a6e76d4a, strippedELF 64-bit LSB shared object, x86-64, version 1 (SYSV), dynamically linked, BuildID[sha1]=0691206e8cb4cdc22382359d82aef6cc8b6c018f, strippedELF 64-bit LSB shared object, x86-64, version 1 (SYSV), dynamically linked, BuildID[sha1]=3620eaedb900a62ad2faeecd5e8f46026bd38a15, strippedELF 64-bit LSB shared object, x86-64, version 1 (SYSV), dynamically linked, BuildID[sha1]=dcb3db7a7b6ed0f25dff6b61cf870aa89ff6e67a, strippedELF 64-bit LSB shared object, x86-64, version 1 (SYSV), dynamically linked, BuildID[sha1]=8a676232865212b30c138c6786344eb970e9d756, strippedELF 64-bit LSB shared object, x86-64, version 1 (SYSV), dynamically linked, BuildID[sha1]=b0708e3885c978b5fca141717045c6d7596095fa, strippedELF 64-bit LSB shared object, x86-64, version 1 (SYSV), dynamically linked, BuildID[sha1]=45277a7804a5db1546efba8ba49490152b780ec1, strippedELF 64-bit LSB shared object, x86-64, version 1 (SYSV), dynamically linked, BuildID[sha1]=592e1ea33f8f852874773c922572f588f3865597, strippedELF 64-bit LSB shared object, x86-64, version 1 (SYSV), dynamically linked, BuildID[sha1]=7a869b4e0705fe4deeb4326b74e9da193e449a9e, strippedELF 64-bit LSB shared object, x86-64, version 1 (SYSV), dynamically linked, BuildID[sha1]=c59468056f9416ea77b1b0774b44528975a497a8, strippedELF 64-bit LSB shared object, x86-64, version 1 (SYSV), dynamically linked, BuildID[sha1]=31a856ab115378b2737c9b375311025247ef927a, strippedELF 64-bit LSB shared object, x86-64, version 1 (SYSV), dynamically linked, BuildID[sha1]=5d8992e77a802482412eb3f7dfe62d6b24d6da4f, strippedELF 64-bit LSB shared object, x86-64, version 1 (SYSV), dynamically linked, BuildID[sha1]=f869f939e98525d89bf901f71e8a2e8677bae0ed, strippedELF 64-bit LSB shared object, x86-64, version 1 (SYSV), dynamically linked, BuildID[sha1]=63e75d92d39a057be92fb5a19c6b7eda054e1992, strippedELF 64-bit LSB shared object, x86-64, version 1 (SYSV), dynamically linked, BuildID[sha1]=57df5b94c8cf470460c4c6319024cf7a5e7a999d, strippedELF 64-bit LSB shared object, x86-64, version 1 (SYSV), dynamically linked, BuildID[sha1]=66991359eec3acfbde476be06f6857275c04cf11, strippedELF 64-bit LSB shared object, x86-64, version 1 (SYSV), dynamically linked, BuildID[sha1]=515c2154abffab4f3f8539da72a324963c372aa4, strippedELF 64-bit LSB shared object, x86-64, version 1 (SYSV), dynamically linked, BuildID[sha1]=451ace813a2fcecd9517aff41c50f9df6829c021, strippedELF 64-bit LSB shared object, x86-64, version 1 (SYSV), dynamically linked, BuildID[sha1]=49dc7bcc0a2844ae60e34d167861dab40b3b1c6b, strippedELF 64-bit LSB shared object, x86-64, version 1 (SYSV), dynamically linked, BuildID[sha1]=96add8abea9682943b8c52500cf0bd2ad162d6b4, strippedELF 64-bit LSB shared object, x86-64, version 1 (SYSV), dynamically linked, BuildID[sha1]=ffbe8a770b36da4aa8d4467c8e4e8582c64f2a67, strippedELF 64-bit LSB shared object, x86-64, version 1 (SYSV), dynamically linked, BuildID[sha1]=167e99c26339e575ce7dae9297236c0c1ef63030, strippedELF 64-bit LSB shared object, x86-64, version 1 (SYSV), dynamically linked, BuildID[sha1]=5ec5699ac95034b758a9ac25aafeae346c6ac45e, strippedELF 64-bit LSB shared object, x86-64, version 1 (SYSV), dynamically linked, BuildID[sha1]=fefce7bd5fa390b1cc4dcc7044ca563fbcef83e2, strippedELF 64-bit LSB shared object, x86-64, version 1 (SYSV), dynamically linked, BuildID[sha1]=f5ed432b00ba408d2870c6a81e2173306dd07189, strippedELF 64-bit LSB shared object, x86-64, version 1 (SYSV), dynamically linked, BuildID[sha1]=077b8a9dff556c857194e480b9ad02ee8e9212c0, strippedELF 64-bit LSB shared object, x86-64, version 1 (SYSV), dynamically linked, BuildID[sha1]=28a96cfa1643e41cb41914f8ab6d61e83482ed11, strippedELF 64-bit LSB shared object, x86-64, version 1 (SYSV), dynamically linked, BuildID[sha1]=4caaee54291b1480a1e4f2bc2e33d1c396fdb34a, strippedELF 64-bit LSB shared object, x86-64, version 1 (SYSV), dynamically linked, BuildID[sha1]=adaa2914bd10fb571c9fc545c8bcbd7c4ee10c12, strippedELF 64-bit LSB shared object, x86-64, version 1 (SYSV), dynamically linked, BuildID[sha1]=7d4bea588ebc33f037bb33cb97b7a09bb2521f3b, strippedELF 64-bit LSB shared object, x86-64, version 1 (SYSV), dynamically linked, BuildID[sha1]=d8a32a635521717f9afba757f6451c25a913f63a, strippedELF 64-bit LSB shared object, x86-64, version 1 (SYSV), dynamically linked, BuildID[sha1]=cf00488d03bc74196bcaa1cbf593fe40abbf0ae7, strippedELF 64-bit LSB shared object, x86-64, version 1 (SYSV), dynamically linked, BuildID[sha1]=abdebf694b93ee67aa5d87943884e9c4df975b66, strippedELF 64-bit LSB shared object, x86-64, version 1 (SYSV), dynamically linked, BuildID[sha1]=cf7d6e46b7fa133d564ea126e4400beb3a79c5ab, strippedELF 64-bit LSB shared object, x86-64, version 1 (SYSV), dynamically linked, BuildID[sha1]=9bc21b4eb19a7f8b517f74d3c6e5486498c80911, strippedELF 64-bit LSB shared object, x86-64, version 1 (SYSV), dynamically linked, BuildID[sha1]=42634579a763f52f6e58c187e6d3ea99d95fb1d5, strippedELF 64-bit LSB shared object, x86-64, version 1 (SYSV), dynamically linked, BuildID[sha1]=9cc28ea2ebfc36828cd8436923bffac8f626da45, strippedELF 64-bit LSB shared object, x86-64, version 1 (SYSV), dynamically linked, BuildID[sha1]=03cffb182bc126f4649951adc2545568b3bb8ec4, strippedELF 64-bit LSB shared object, x86-64, version 1 (SYSV), dynamically linked, BuildID[sha1]=61117f934fc6375a93c8899227e02e7e38d88b54, strippedELF 64-bit LSB shared object, x86-64, version 1 (SYSV), dynamically linked, BuildID[sha1]=2ada607ead52f3addf2ce865f1bea4af9e376015, strippedELF 64-bit LSB shared object, x86-64, version 1 (SYSV), dynamically linked, BuildID[sha1]=2038a6c0b246064a52746d99d8960e3adeae89c6, strippedELF 64-bit LSB shared object, x86-64, version 1 (SYSV), dynamically linked, BuildID[sha1]=f50864f755aa58ef5523837d74e72e20f34c0b50, strippedELF 64-bit LSB shared object, x86-64, version 1 (SYSV), dynamically linked, BuildID[sha1]=0bfe3ff09e026f18af4e72c57e67252ddca2b5c8, strippedPerl script text executableELF 64-bit LSB shared object, x86-64, version 1 (SYSV), dynamically linked, interpreter /lib64/ld-linux-x86-64.so.2, BuildID[sha1]=fd821bc4f0f30a09cb4ca3bfcf69d68f1dca8b50, for GNU/Linux 3.2.0, strippedELF 64-bit LSB shared object, x86-64, version 1 (SYSV), dynamically linked, interpreter /lib64/ld-linux-x86-64.so.2, BuildID[sha1]=42699aa4a4a822f0accaf48fdd314239e9b7d0a6, 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  #)-04:?CIOSW\`fkqtz}  RR RR R RR R R R R RR RR%R RR$RRR RR R RR R%R R R$RR R RR R R RR RR R RR R R R R R RR R R RR R RR R R RR R R RR R R R RR RR R R RR RR R R RR R R RR R R R RR R RR R R R R RRR R RR RR R R RR RR R RR R R RR RR RR R R RR R RR R R R R RR R RR RR RR R R R R RR R R(R'R RR R R R&R RR R R%R RRR$RR RR RR R R RR R RR R RR R RR R RR R R R R R R R R R RR R R R RR RR R R RR RR R RR R R R R RR R R R RR R R R R RR R R R R RR R RRR R R R RRRRR#R"RR%R R R RR R RRRR!R$RRRR R%R RR R RRR$RR RRR#R"RR%R R R RR R RRRR!R$RRRR p{"Cj"logrotateutf-8d33148aa43dc0ecaf68cf9c32fd9c82d8132c7176604953586d0590e690f87ba?7zXZ !t/A]"k%fm?1 1N8[xIBsT'ũNVzaz]Jp_8yVܬ*T&L<'J ^£ @L: Tv |):VB4G1VҪD4bb|E,.AlBaN|U{=c0y9O8d>4MIЛ,9c~^?HʌJ jB(Ԑ7C/cJOz{BEB~ŭ7;u *4mP#JLTcSo2Gn-/i{6| L:U,㬰G{6[ VxIT$ڠq@&@s`)J!XYl%E-O@<%,Ύ[]S fIC^!,˵b:<.&&{24' $N!ZqE:{ l q\9oro}sf;c] 5S+\6{Mcѝ.4Acnfw t (]刃147)ʣ˟޲}F5 "F0H;QN\]!x:2~Je۱\TI9Щ=i&QciZp[qNt!A|gْaY- ԭBNGk6CzgnfTK%)<8Qx)3l% a]|};|@L!']K ;`Rbj`za&w``[F%(w$ 7{ {YO!AeeԢY! @IvSD6q=Ƹu8=ݖa "Za>hoEFR]qF0l66YAhr1{p;  {$%ZK:`)PPJGoR*Kd2 i0XqZ Z:}Z7ȱy@ 52ۈ13lG Je-LN>d't@[Z21Z@,F"JWص^Xe=\0с-xyUU<); ˝m 6V>0g7?&:=>f ̓\KMqf< 7ėt:b{+h.)7ǚ7pD%]~&(wUPd-Cھ9gvIjJˑˁ`n3j9Z=Jȵ0NԲ k-F&Tn>#^JBS߻rR98m~v*pSQn8<:$yjg,ljS`3䱸{k6@6 "dyDrMFs'd|.=#+Frßb\˺}ziUToNo#SIؾD h4_u/)me&z,kHu8ĿK@f 3=$ޖVI0y o?eق y W.B{eJ_KZ&GD[9{eعTGԠRꆬnLW?#P"|𤥁sp&2ƖAsY産{=-董7mZd<70BtZ-ZAG3 :4ZL0#y]-NrRFi^!*ʍ٦9D = /#h5m)%e>Hh"Yc˯j >=1D?z[29f#íW 4&ThC+xy87Ҳ%~3QD( tfYU|{Aw-xOAUIB-=0O~4,M^PV8H܀y*G6Wz 50Y 85[Aɞ*1\:!~R@ E =:֨wr#TPfSQqHPeU e\'vMz/OjLA(抛š="ո:>6P`Y56362NlX}GǬymmτbjK]{C_Ev6HNPI{?ftu{W/Qx{z~nJ#6P'v-z&`=t/@CL^ Ť@76w o9s ss ?S osֲ#p;TQw]fþN^u/XDNp֮AgF20gi(b/6xMw2WFNW9n,N!?RMo[\0\9S:Rx_ý@HfTl2Z"9=A-%yߐsD N DeN&Y;.NC٣؇&T3=BlP†l> VN5F~ķQUۀ;-gskK4A6yȘE o۔i$hsˋYwu}mHM2Q ?~mʙG=iDٲ➥ ̏#s?M}F0̼&DG |줗6Q]A{XY\ZH3:2̓ ,mq~ۇc=s&ʯ̺bbY#?fls #D#PǗ>^]%Bm(H п?5YG$Fٟ'hets<\.wAmR7Ø&^ wGugV嚽}4`o=\)ԥ߯07z[_ƸҤڑ;\ h|w}PT0FԯU-̓4{+"R^ZaE7kښzJ 29R (0Sks#EYOX&LQu&HC+Bۆ77nGX qOg x54V6~<}we}OQڌ˧\;!9_iKn)]NgvZ׺ܸWiEaf_NĔkVp ݖ*XϬoy%1Ёd]쑐ɬ]|n`BVx?hPhy11?nS|K~VC va8_w5TJ-jVt},0$=R~g,T5Pqu7Vcc4/x*MKEq'& J8D $OM<9!rh^ܜr=4ٴZőM;U M0T{2V!]{No^Hl:+3ܺu9|p *A>O`Sg hInR7Qs֍-lۡ) ,$ĵiIZo#dsnsBMfw\_pY?,S.@&fnٯogUA eSQ<:}w"U⢰rHN ;/qz_'43xXY@WS3&@DJBkIJGB.u$wAk|Ze~}tK9ɐ,Y`V-")8Dwa O%C0#H[tq<|"hei] z!J,Y?bWU8nVֻ6E @2nqN ԋĎ ^|=\C8Q) Y9Ӫ'**)96#\kz%^j sa;W,&l*lSWJ/7{ 3x$*[x$qHaJ\glmp vG >M(}>I5`W2Jd4Z5'7l~]%!ۍ#q̱5!sz.>:%g2 @J`W>SZp䶃_Rg {/$?:*B%,]+p TEkEmNDHl`-6<$Ns_?'>3N?gs)ca_uw}]Z3jSMi ?22x:rBd%3-+[cTvD[? @"7&E6F<HH{|fƈOӒ5vI9w=ax_C4%*0cz5"&YFJwۃv9Ye,䴍|W0d썻2ćz]لi5RWٸ,ɦV\!\HB 6"oxCKĝ*jHob noMXM' [Cߦ SS Lh uEO8ׁ*O9ܢD!@~=mdy᝶QRzid67bu7QɜqoDB]1"GBv12cj믶,~i)1/`,"|#N}E=̴AF#9rp"_soLu"sܘ)f+wogtRr ɱ4S&RMVX/rlIve]U.+%k NOTGN1@s$ꂧPBgs!?3']A"g~fv*Mv 5 5]ci[v<"BIck??d7φ \l00pqiF_iA\*9S,,t*EM9NDaMH+f):YR!~e{;qUz+UzۇnUE hrʱ1Vd|gڒ {d?ƒD(0jG zXj-s"2i/.k9Et4 $(wS 1z,{L')$xO?Fi!.y w%=R=vjDY:5d=K4T\_Zŷj+ &뀪t[z!ƳZ@j œFI5%rzl@89>!N:6ZrCjQ(;d+-"ϯ]f좧^%ƒz!`iO|OGɰDfSLj:.xy0CZuLRY^2g# ^ 8$rS Hg_5 7Es ִrk ]XȨW]rrY{PE0] lu1-#1g)X5aCl1ZHIEZ4$O3D:N'GJǕϔ@ˋDѵO=-j%I]w}MF]zЬ{u9ߝ+6rU7FO/EMˎ!Iؕ"'7΋%6T7&dK7YtY~~ձJitf1WjWj0d^V-I/F@7"ЭV#`.i4yw RU|J7yb\r=` Չ~-.hgQfaom JuH(@Q9Mx#2;E5Khm>+t;>XZN&c9{D/C,.]$Ze%^zF5ʟ>PGb~^q X{}_h*b~@ )2 x]E`8Q`+ZXKs"DTۅ-@ "d%ױNކԸ)pg,P3vBs-b2.R,u|Ah4;Sϼm=6gUE6&X2uQy_ȁph5l1l3 quS;7-E\J& >P2Hˠ$5/js?8)>S16VE~n6(E~-hd3JՅ%AńjF! |$EkqLU䃲{/0ӝ=in+ EV j$0bO/Y 8G]"CMW[`_35'Tֈ%3 v .@B4^$ԓ\ckRhSPJLʀ&b8( 6+km&?A%>xaI{:$^h*u_^0A#Yù!t1#>5s1w[,s3gbiNjo07rE,bo3UP纺4/qi* E-d6u1Ȍ nA~י:q\]*eTꇕ~SBJ" >=#pI9 8}Xlc$S+]qɏD7InMVHB|X4Źw`$lp}فxLkV?rj F(<2 N2ZiFE`Uo԰ ZMx BZF{"C+W!gA-x, "o{J!?:U-_HaHjƝx793AN<*&)7U4V>Șֳ ,8:w-8p6#t pe򶖟!@[3~V̋Lїm<|-)aH{SmsJyU}qWݥ틵nӌP.nulX"_,A1ַP RC s y#of0>DE=CsH{$ǤyZxE=̍{h!28!RK\V ؕM85idP_a6y I^r#:L?!𷃝l>D3a>9;5:A\MR$f~)"C›fT <vD¤HULJ!Rr掂~AGW^:O yosI]__>.O͵mM2 (U v!ІQĐf ض޺#v+i@&bpF.bs(ffMR7W{ELS%]MH眱yY9_K11 FO7?p{S"o>g'yvҥ1`㶂7(ak#JiKlZz4h˦ahc8(SHM KQ4m+v^UI3Ef]u#,E,2#ghnHZGW~Dj֤ZպdiїSR%. ;sE6IkkJ8C4 HeM@zTB'I:4y+Exl 2N[D\ۓ̏p*<^W,ֽFK/QR=+R8t7|t?ՌusUyqe>Zt f_Khkӈq9EU'u[,iYQmi8yoRxQZ = (x&||yq *~Y /+{3\:iҲv&3%^  $V[D& &=d&nUgr-f;%D1^!YK){p7oS9N@L7XD<2M_V#uBS%˭hQl&KZe'ό%}ITCLk~VPdS؋)M5m${*/2ݎ^ QUQ"ۡO/\%̊W7̲#ئLwQ_vNWo\81BJX^v(Cw]9224ƣ~tff  ٬|:qu!nWOmu-jLNf._.TjX +&I?3!#\Q<"hG)dz*5B04kv٩fWD T=3cMloKv7@m'=6F`狙[ܧ&zXM CT#A)k|`8d s(zgDЃ.t{f]nƒZc?]d (KJ{4oEK+ jݧ!B^COG-!=|JfP?1wo-߰ռ:>7N4:N~JH)s OѺtg?Kpbrμ\M@c:<[vp0 .ңttw.Cz7*U×^bweZVCXߜݧAbJhdeRhK;;WC3BڿsMhf-CluO^P5GѸSM7P1zDj!Բ|2)WAu*NbhLkBCJ0@V }H oJ⠱E]L 7 xd ~$GGpNl{̔{>^zՍ׼ D/yzȺw:H'6XMLtXꔅ58=I2zBՈ?lf&`v7s rƓB^tk *twFWnd_ m-ayof:HO]_!F&jȖz:hgeleĴ"Bʾ'>}a[ݲ>!xٍu?u`Xb^-f]_$)y(8 jX|ڿ=&GAۨ7A$1[wq1Gs#5ӲD<[!UHН4|XS+R{29!ʑ2T.l3SFNҌ+?ׯDx&Qq_l =߂l1^,٪p#hIf0E`M̼6,}l~PWaE}ʸ4J̎-;R_~7{J [x%VapZ& 6=|p 2M2\*UbdF~a0GuVpӊk:/p4DFe#)>bnBNVd4y80䫢lwN FģX#VLJT'ݹ/Em`A2f{Vtqϳ\ل1Q ‚Le`5>y)۷mpm4;CnG4= [,F^"лQ72*&khꕄxu]epoD]Bᐳi!8*98k'Af={CScMK.:z%N7( 5yQsa .hM" "xaBpԱa;J]_tvO Dr.,_X4ʢc{`MV+8_ ݷvCRjgeRB}?I Ib.@Q .jmfUΤ=F9я/ZLeMI|eǸvЊ;_U[+xc#y_*fBj ^6?0}0 Te@ƒދ>/32XnO!h.L5vj,7̓AqR>\N؜{=0.P+CMfr:&rƇ'f6Xȸv)N}~%=;hB@jҪ+e7j*-KZTQ%A}< oN!FZ=etߋa!mnu -b01r"Ζ6?qVHX׍ f!`VVy-^׊Ԯ6zlz$q Io<-Ě#)QԊׯOFV Wa~#]K5ɷGZ5<#O4φ`|r~T@vxQ42 T&N]Jq)}Mb,H\#XN^mh H+e#q3CZ3HkG7zjr_MlT lrrLFHTXJ;$a9%.<x*O d/jVK5M OO?@F\ 2>Λ,VO;U;՛UWXW#=ăwy)je$捐t UF/XZ*Mi"]!ij]Y{*&֤+g v#oT݄8޳r&VJ]@dz|9d]R %hԛ&Dl'y!F7eWs0#VNT f%`Ѣ-t(UEw>e8)"+Su?=IQTrgpc67o|ms[bM qfL`Uo mDH_莕tfA<$]+ z.jݎ"[MҨ9 aiBt~Y>Y$Mh&G5?IX=.:&Gh!2hAmҀ]4p0-uZj_|n kGM#nAe =ܠ<*9<h4&rf^hrL3B-o!fF9in$ / I FX/\۲Rv//-UuƑ>&䖑u@=ztM_ӏAj1؃>yeVo*B{gܗ,c+@ wX* '8]_̋bIK(xsl٫JL&@dke _A#3)N/a.I Z%$Ǡ4W.Nv!tEöıw<ذ&*~?KlWEcruCê=6UNhhjꬨ<)Ů0d>޷ѺSDj0.֑"53Ы5.@fT2@PL0 ;;ݲkzo*qCσm1D;b"ܬ(h߂ -,g`4`,?Q_3}2U-,_c[YkC|6"G:Y Jf*,SuAlv8 )`_`M0Q^&؉n,4)Q]cvfs{ __ ^„rզ)M4@~*tQ{'(4”=0*5^H i\.yk+-OPET,*aW|oi7 WBislk?Ad h-g%,&bFFyXBxB5yjp,Ȧ5/C'Z? s;Ώk6g&vΚµ݀Gބ+fMN@2h豧z[ۢۄce{;XvR9]a". ]H:MEoyj Q.$R.W iGCFԐ!Kۮm(#%`!వ?ǙI+BtX渱sDg#q87 ivV3P0b<2NWӑ [3};j8(fn \]b)X>LueS䘏*rJvWQ쾠ځ.̅sSAAQ2aFՊ`'^hT 6} p/ e$Q C?Xr;*@mU&Jg|rDsIyT r0EEȼ#Q9yBH>^BzϪbRdAMRdi6i!^f0@ϐ5 {Bo+=iA?1_xder:j江ҡm$!,~:Ŷ}&DoK<\{/yD ¯̨*,( iB7_֎,D+6ց ɮsн JlRIl p\ J#3P&X$6QU'!ZirCL-Ǜ)@;]hpR p}" ?+_ءLD^܉;9d!BʯBLxFod|^J[#ws]?S]DD2{зӁ0˷4Hi$G=%:TTPlݙUg4ߒґvU@MXoG4Dj/LIjo{zȷk/{]PO8c\_e(G'ӸS޻n=gF)zk mo2d{|lUoL5āPtnOw܋cS{_866*we1XC7_b]?hܨ*>PPuv_H]|q)bn@iT S]h0}`%GRw\Vd@}1\ s=Ǻ'Ë`1'4 A+H5MX<)Jd:=?֮A%ab!V@xůY&)JO$PZl裔O' LM1} x1߾BWsPd;QL3| s{ӱC%qs" s>+))Dhؤwx "{”`a_Jxw&o> <dPB!Lli/͈x:Exc+{hx0G(-J8[х6$wp>dn8`s 9 .@@HЮTOP{kf\kΗgٯ-Cz|>ϩIx۩ɏ˃S^؎U-y;S' MG X R%O5:% !wm'-WM>unܿ=&1M#؍{Hcq }$6<l#< Zy>%ǖ.,Mazr{/mշIu\rVD*bݙ6Y.[|#`ɤ}orGkgfbD q1|b@G:~L~q3=7*78))Nu6|{ݲ&{} UwWBFݦ_4A΅yN!oT/?e'a5_3@Ձ>if[^ns^9-xWoϸF,4ۖfHSUE&M-. $ض(c)Bc1" Hjʈ ^ [dh\&!=º{/a =Y@ T#዁C"ڑL<jϧ?8͘@%ϸ;pXqPy_r.D9Qxq87QҡTus2dx8p;cհC!t:m)IRQ2͕轣yAh"G`8T/~Sk`Ls1LK.]Ԛ<-RBTc^I^fT!ܹ<ѲUhk{[;1!?=YBʨaj7)le)z^u`0fکh{ ! &4a(>M94KԖc Ծv.v\VPMgt0} {α{^0$M/i_~]g[Gr}Q}8UG) ,EiG-D*S]``x`^*'`:=^`3,أ' l5Dݽ#F\'2en 2W I}OM2%I,p["%F/\]}gj7g.Բn07Q^%H2:}EQ]Ch8#0 T(kÖ8aZ[Q7M0J<4lcI܃Hdžc6id ŧW>wIE~#jh瀼+&&Sg{"r@ ]:س"e+s[S 1b?6?KD+ԼTصLԯZr7ǘZZ\ErC1Li9N3 Q+JSir]N[0 ϗ_Oun~*WsYOfqm ,n(2ӨE\;ONxM /ۣ* 5%U|`hsyN& Չ  qC0а+CgێM/s|3^if_Ce`%k,4:"|WJ4ϔvHJdP][H?7iG!K`r;P-m?,jM.{]F ो%o=CnbLyj1lT@h3~?zj@scp@@=~.'#8)k [9ʣ9>ókwj Gy7Juw 7B%I͊[C <e7g, D6uE Gjo}te~Bjʸ[ "\2yh蚥>XGo B؇"O+ۓr&"#?HZ՞L綴䪏#'){sɈaę[!:Q6JV|ӇsXtlTZ cȊ{A?$qР!=x$&6~Zg-vy~ުYNQ/C'JAbDr\#ӓI}bD|# qY2uqhdЗp$e TܤvZ hTSAugQwZpm8Q&{ ƽz '7e1a ~W[d w36I$clu+:쌚4&rRd! Vײ+}Iqv[yVtUPy+f% &q*YTc%!䜢_r%>`/|2i^0]¡ xD+fu_fʢDܬkٜN`n =~]O_<<E:!W%oxmz]uEϯV Y`R{`2ZFrafgWݥI5LIK^2 7Wֺ.E?m,l9J-,MPqy'7705Ld|S^fa e&8eUGK]Z#]أK#z%}iyG 6\V_ ʄg,t[uRV\uK?^:32P; œT{T+S.荇<z)]CdN3Xr7[6MyXSB2G='㙺#X; ΏcRÈ}LqfPmvr4R4Sln.s<%iیzs26N68In_=@0})0v&`7op3 ăJQ]98`6osRG$܉OQ2sH~*ڝ~{k( ⟷7LKdd}ZG\K<2:X(i/s GkYWSNs?DtLSe 䲹ݺJoʩBy"~ Xw#kN4$PY!SMrR$Ǯ_]%$lr?>#) jQtr v1N{{K}iWe̗ ((nhB± ɭNImmEk#(%~ rЪb!*lm<'#BzqI^] ߭h0kt>ptHەQD/wԽus@'RXҠ]"L*Wh>Z X jBh5M8B/% %;EDٴoTɈB ^P6oKSL0g3soś9cV;}^ AެgΗ'm qrv G3]U.p 2&3![{FfwXM &S'N'󄙯]5@] >ۺ~GL9j\#[(umMw wԎ,*q5>)lqAq=1 @:-;t_KggVjB۰ G)1kUaro˲FǬ-V?2cѧ1d"jK`Ƅ=j28z*eT`-AAK ZK+*3 XU)U]\6ze~cNd_A s/xYW~&;n˔aSFLM Jg~bwCm݄ޯUf.٩C}pVUbNEĽOuIw]0Nls]tE|`!Dl>HǴg`A聑I KMp:`hg$u_\e94I(1GK6o{0['%F@3 'd8TR ۃh-5!G~환4ۻb`.kwL1U8Cƒt}hwcN0E(sI/w˅ {n7Wcpுs:hzcQ6'D"Ƀ =ܨ_Z9]3 ^kjO}z+(/w:u۟C>l~|O "R!:ςVS[/G *m hć-= !\ [w=JcwME^G>AS*W"q 7ZeL(ٶ+1K!oFj$Vr*Y2s?B,p_XDiGbfT&+؃F wkX:n LJlrx_@vbG Lo[i*nTĕ5smIjW[vqg͇o+8_4Cȿ4 yJGġ)“3{TҀ"?0ҵI=|`ɷz8P,[|m Z{v;“wEv$Eo7α^e2mIr) %Ae^>ӻ$ϜJğ'|s{݂D2gftl T_[X97S\C \cS; ˮ bz̓ jy2n(/(w+ywEє{RZ6nH m" *T*uPOab3I] Zq/o >ße r[Ch6*sS6Jrl'qt{D s7oB:,Ol/ 0|X4-Jr v+4{&VxhAH^9HӃB[Zy\YKB/amq(N?.S 8By9=&.y,KxyKqռ^Am' Lޒlݨ9ś>ȝW֣h,uK-6-&;P_#h}߃M_& 1K==-*c/VR);y'].̤sά%GV5Jȵ)ҐH| ZuczSW $M@XLmsR6oW6^4qLj!,Ɵ ف#+ؤ4\a_!_N NkI|(Hl ,1v 㰽ΪY/Igě|mgE^.`WBʰV,R?>$ۑpNY2O-ۈG]-nnQrrDYťJbV\Aw#bJND/6!mHcUt]cs%ٔTWTi[F)b$ \M|4Ӿ仴. tHwhKt{w+Y=S͗ʃUpdG,2EoTl$ ak48Ij"s"k6*V|jx$Y\5E$}{!s M=#;O[=hwx6&Ln(Z!.NJ# mkdS* cfnbD|FZ@͖2 5xx~Id(Ӻiu:qζ_6^n)7O࿚Pbkzs*PCCBR\.{ȼ_&Il@Rfg;hC:e>!Ba'߰$|Y 'Ϸ}N"OI=[w0M_ 1H(R{+-Ixcf;!tleNr ۶p: h]A<] ASFt<6Ljy)O)Nz@tpZl&Mǵo<ԔVMRON@:͒ʳ(mUlu'CAM@$6-+@մ=d:c-8v풀mP추zw1'q1눟^ߣL:6jm3 Unʪ5"1vP%!H(&,m,]F ]:}O61Pny%G}̈́]=|rEj-QC)ׂ]\/ !> a|޾wfZp$siBix*쓥ǻbOltuF(/8Ϊ^ ȦO^i143Jy "`'MY/aL!R,_war|OZ(36G+FYfZmQ"Hwxa,92e*cOc%F~ B񃺳ucꧩCajrIppVf؋gc{gŔc">nF}fOXIPGo>KHMld |+kfF |YzC"L-1P کU IU(z(uIiM=ȬxŇ?^]Fuġw,b5ZoxpPI^AȐUk^/eJmG\4u"fZ#])/kyDfV tֶ5XNsfbU_*72(Ч(2i}RyOfy ?I kw lFo$u|<S}frwjG4s<] b&b-D!ҠmO%ŹD"L _qx\hRW'X+k  n w^تN}n_Ũj2*~-mD٤[¹PϾAOoZps$Dj G]#3'QJɍCμt܈o$HG+{T7{+6JˠY˾9|1ҦkrUtyly%,wSM(נlՉ)GN4rr E[5* >1lR'?6\\_I#戛IYnkq+tq:w0&x3G?K@o5CK0"7PЃbz*x2ʂoS8IV(FSLj9 zdi:Sc pܙrO, *2Ed>$Y_Ǽ_MNFXPNj)lېhua$8FH*brGrx=&PV$ϗz:E@N?1L>I)S#+`MkUQ(;)gt5Ϥ Fc>vf zf}{ZH}DItgu!MķD6+ ]=bw=l+tgI;T/w8Vl[!>g'ʺg.lDqs7Gz~ێ;adk89r=Xv_FXx/TaH{9uInNEJxY*«#WlfO!"ۥ֌{)8usI= BdlCt5գbnY)Q.F>雏XZ *2;'i إ7@,!*I0&`iDNA^#qM_X ]Ŷ<8u v)*`p!m(jQK-I y:5?ul=ԙbΚ+lFI'^F8 Nۊڢȓƴ/H,1Wހ 'X-@aP dd~uWS6@t+ v;-mJ*2B[jY*4D0TMB"oʖ&Nچ&_:K$x9XJ7\@'h 5TM%"03a;K  rZ>h1c{V~Jq z} Tqs&[DT [r6 k}yģݴ/tY}8?GutðSq8rQ+.bbO)p9>/B5sM9ډF!V>\>-/ŅT7nnID$LK,Fc$1v:PGF?';Ju,+tO‡-m\Tbm$ǨHbm<ڴzoV+'[V*,&ͲgjȨGgXmt35L"VwV8{|Ȳ/o OQ[[Ɩ )VoRp2YͮGC!͹;~I]u̵gӐq дqKp{_G%\ Siy}>⽂XRѫ k@[LՄvqӯhCIoȲoK\57Wތ2ǔK VV2uid`Fh2 c |SADJ6Ai싆颂D`X,AeOp>W -Xw2I=c_i3 'kCǺYR3q)k5Hl["8(dI% 7zmXТ=iy&_R=RP"#U;aL,yr`DT48lSwKk!h֜ 5 gVGyzFB0[¦r͗qllzv?sDR )`ݎ2W$0J^3"*z($jgԭL~t]:?L $D;XӖݤꓘpo\Tk0]\>tp ]~H~:^n+҉kn #~J ^ ;YyRh9PeUc.|~@$ê a#?RDneOi_)$u>(i&AW{S%pRU4N~D` b _1eK@-ϞEY) e7R{>k)bCffqHQjAdf Ag3`&UwMgTxI/+u4(2!c1̷2x XU?=j@l^it{'O=-%j i,FB1 (L2F w+2VMTtlt[]^ }եWRbסbevQy[__ ]VImr@ ei4 Y矎SSNɮh!{r7'{{KdBBݣpmTU}oNokVׇː,wT,G $uPT{ bdT"12j]HVg0VhFIbf*As}N#`kѵ<^ک]r-☊IJZLJG!@v)aԾF'$-ߔc*҂(bSR _2mԜ-{w}okyӇFڣOxZOo u8N:`}T|u1eQ!(ASڹ6c ܢU_f &]K,:S0d AģFBV lIFtk| Ԃ_!ExD3+7\Rnp =ukAW]iz92'hH X5_.vy2yσWޫ⪈ 9 쩗l3{7JOi`k&0԰+ڭcJM=T\%2ZZ{SEI85m/# Y}Y>n[ӋhV)lZuCCzMjfA#T-lB n3$̋ j̼].nKxz>;\/Wyo[m. L8KTJUO e0)^)GT=m-{N#)]Eq*MLbPP_|X٥+̋.;Fj,'⡟ik="FPSL;t5Eb~-^!LߌKd8 8Mz@`6xÝ%5~a d0,߮s %V~y`|xGr1"oz9 0 zWܠ13Hٸ|m%.t@ i;rkp7Su&(cu&4D׫FQ*5ED<+n9Zљb_V`3-h> C#$\\E㼉s0I ru5-E}\!`:fR~H60G?7[? _}j>hrJD1$Yv*;^PEMO[&`_}&y=i=1U BW,]aNY* !?"gU*XFb#c!h>Uaoމ]F*9SEWj8ˡ¨xxA0Fu"%)J6[27MKp`>koYQ\Y"U@Y &;Wi+Q꿯CQm%IpFo>hq\&~@*Jtju=+T%aɨ w8sqQ<[C!6B@py7.)]h:H& m%E?-q?&FV_a$ . T`?FzVӊI/1dU^<ᄶ2ֱ^%avW1"%PU`S]{ĀȍL(fqRNz6(4Ϩ:qqž޳Է*Z?"4A_ w  @L-\#25L;})"H!Nb|ȑˑge5 y (-N: UbO#աvod@m*զ*bAH]"{rjq 0wtR?ɋp+i%f"*Mc ^3aSޫ[ҞYEDN9yrP?(' ΟO "!/*0 ^p!oEgQl70!{1k -*,$aWʹ=!Oz,"@ 뜍rLoAp ǐ?ŸBWmMR-ygsq.ɜ=ڷd?pc:aTs:5[|z/ݨ?4>ޚ]%Pajd{N 2z+dyj!.sϑZMdȨYJfÙ |L5a:nqI7wG'TL2)&7'Mx%'⮞sճ hB_%%j^LɎ'Yrh]vP:<ᄀ5c/iT:+{8h)cϥ8s*Ntr:_jj=892SC9j{f/ Nd(XJB\5VɬSaf#֦+4)yճTmf+kk^\2_HdξPO迒&\'}d}u^}/v b7̢JE^drEH `WtS7BpD /S~y΂^˟(8#PEi)ݱ@ekqf1 mؕƯ@iQn5/fwkajYK`:Zxc̝JD8>i&&;4y.Ȧ9fq0vVSDj҈=߳#@uV3}n,=U) (PIFp>>x<mxWB)f_yPF޴kfp`,}:u!(9[|%;㐰?k;>W3oF<ϟܐUlCV9G4Ԃt]O]$B͟uFECxX(#WĸpoK-|!V ٱVě_ 杵8>⽂_|) ,~ƃ쯻MWITOQOHNM˕GòwAsp#E @E&CX&q'kSy/[SZv =3{# wз!2Ve >iUr+ɇ|և\Btcai}2o2?rDDk:(J`'tyB{f=*ӥ Yپ~ iy> *ouS~*#s7Y$0ڝ@Iسo'`rZ¡8dt- TmR6Ɔnp]K\A{ W'8K*d} ;KŏIs1Ot:R_6M_m37V\#.-7[Ey灜-ֵt8v@xt[*z:Xbq4^Vc{G"z4pPp:hdsL̒kv1+[7P`|Nlԛ :}'뢄Jt,F j:yrzVM& EStBQ(?om7@*}=I Aai+,@*&%;ݟc .Μ$DE;K9 'ƣv=@E_N }XfaCˊ'}_jFy-9TI%LtPk\wS ({nrP Y`O,E-bgMb1&2N`I-spal buv%`RYe[sob]EJGP}l U37lRBw)YoEvF;;o_;{#,89DCp| 8 ~T*zЉ#.*3msH=ؔpq9? +nn[&K@}*(?%Ȓ%Z'i5xbA⢒nsczoIxE~ ثi#m Z9=ތɣO@-xRZVw9V2^^{ W3o}DdG l1c9}&QuZ #Uw+z|`vB#Yy{VL,!VSlQ)VǧG>e9{1dْOMV[ f? 9Δ5Ofo+;8ja ̻hHD䝿O-˖xux`o ZJ>Лy6r!?c>OSP\$1MtY1QgKdL2^јقG 9:mTe]%14RwU}4Ӗ'_U^ Q~Uԟ#]5'7|HBor !xsNVڤatT>"&\TZSӴ芶#ևpצ5)_kONn\p(G):XZpil3XvD=ƖnEޝ:k5d܃MWq$("3oq 䌀^)H锱KH ?al&HĀC\K9x&K%;Ÿ& 5AIR"q㜬ٸCuIJ3Qx'*4$?`_"EIٮh+4!7± RM4vmIf:4VL`^.>;GxU^sg%9Uk ~X^Rs^%P=*~}>u2?'~L]\(<c+sʩhJ;Lqy>{UyGa+͹r0wj@(q\sQK An?Ҭ((dr'5\Qw,^ܵz50ax.ߩ WBCSmHFwUdq (ڂwKZM~p:[6IqS<O4V۽۬KEfrƴ$kGye le0݁p_ vzΞ/W.\JFm]>8%_2QVt"Y@LD@m ʋ$F_*;ن{eoؐF٩?1Q?=A nXwrIJG<YVkyyJ]|&FQ8;޼,GB vh}aM_<$E{K`N'g>~|_.peNVd'ljBJ 'Ѻ|7Gh\9o(63qHުpG/69[lߵ`OlXpOЇj0Y[mV!LcqdY3JM1=Ƌ.߰6WиРB] ^uCHB>3;a+Ҩ;Tqj]&pݐH7l<p~0~1*_pw'n&S r 2\- } q2:b ~޶p2uZuxoVTTF-7hPdR;9H>8h|n3DRQ>حy+P%ֹ޳÷k )0د=l4YNtLiJ@,9d-`)`y-|F$|$Lc؟{4>O7M[!j299F9Gj [v'0`Q҅ڜt[4U )Z翶vI8&N5%2ًG=gZj 4kHU3dsEK4(Z7tO㥚Jn߁II2\|܊cZ{ө 4aE̤N^ ˪:m ]?i[4nW2ޙRO#b ~J0V֞ס& 'ʩzEߠ!rmrasaRQ!w&sΫe5] W$S-buh^*=+GX\X:GƢzw'e U%:4= wzz=N|=/; Ps]H"ѹ6/aj~5|=@8)>0Js ~;0"q\`x:+R9+"{ͻ7\2F<}2j.@f!oJKw>P uF11tq*nX8,Q9iUџҩ*z7|aP{gܸ㊫at8yu`dbgH+B .y\ήl3+oK Z(1I=XםܴWZ1UW݀)VȃAeǍgb|WPSU{K_+ɰЬ+8wD&vak'1pP(T):X>+[Ց@8gi A;Ld]ƃC< roˣE_49vܗ|JJֈ*74, wt(\44Fyg4Ċp&!\ (k7hV'-,v?cJ1WΪ(8\w^eHO;h՜+@3Mvd5u9j9wc mk;<=!U^YE'DYSrƜF/: DqqJp% z$qMbIdVLa4k=U,P>C"geI Kvv?}G+p? tdyJMNj:U\ya:UܸIXL@c@Qlo#Cj&%R!鰯ACR%zоۣb{|y|]:%8iG3)]1s=-R|\J:u>"=ܜ0X+9gxr2bRXbq-5VǍC{f?.I:hW&Sʴ=CV!,*&>%;NGY.GaEOUS$VPӍKM:°cUR ;sssØ[bE*TXFNP:ƘNڼd73|#QVN>3O Y]S9xB>5z$5G7鑩TOe Gݭ?g'Zx|Zp7p jL6RBbMo1y׏=+)P'X=ؾ&BK { BeE;GOV!=aLum< 7)ΥA.,Nhe;PgxFN{G?mE!FFW䘃}^ix2bS$'U ư\C+A3PeyժjzBVf^xnE,2sz1$rvD)2P9yi,/)41j&HE)I8!#(g .**ϣߑJ)k!3zUBkڹM,: PFy5+WԨKcCI`dIA?~Zy;y .j n 7KqertA/l;c[$zUkeB8/ϙ:>#BTjqP+VYzppCq;Wء~WlUmbvV#t(9ZIպ33l8PxAcK[FVs6iOs*^gVMz_m^y5J#K@zLU;{'Fe!(hBL1f3aSfAC5{D/Ѭpb'+.K1 a}ˌ7h.L+U9d<3pyP[Jzʽ ղ9:ӻL+tA}s63rv]I׫ɽ.Msj$pj oʶ.6VGʣ@ZL!AW))Q'5^~駖`XtczJ:|ȉ] !YʧWS &zyrMkwsh*7n^=q׻yqXܰ/`y8n|:+#yn(_α.~du6x'SH&ySgO$X:jR  0kjA+bPd[" I`*0GxXۏ6mj u8!:c2k}ua xRQs!zA?uylY#˧gG=֓^q~v}aiory0&TlN3nJCǯ[XN,R,[E>bmb SqouH7(M:hh!W $sExev̬4?\"ɭ4wԆ݆&mi,K1&Naغ!O`+ %H+xu\Sp{~DiH]QP>!w`wR h~MecFWj Iی , "R0yL[1{sg"PT֨odj=dP'&7; 0 t`o*L#*TSA&&E^A԰9{ǻSo>9s- _( Eh7[۟0e}r&M:lq|%jzF>*q%}W@;g_Z>n V++b֫ lU깝Ncݧk|V&?w߹Mh/@;xo'?YOw ; +6dZ}`5hAwUUa7I鏃;gX8QOsst Kh͂j(㍢7Z Y-p^B+NFw{O%8 @bNO^>EiC^v@;]6 ϊeXP"hp)\jrΓ;'XYbCʥF]΀S^Ђt&CTBZT_67>W lI_`F/3165jR]n"kl -ޱ-bYkf[N*<Ԫ0g=J  /3uѫ' #NBgdj%OPrpWVvdnzOh]q8 nGН;H/nY2GrGA5?qTTuK =5'LֿDeKHfV@J[A1{օWK2B]0Sec;? hV@Ȗ*RMi'S{'NH+rR~W.u7i8Ȭb=]>pHsUbI5ƍo9 qsu^2ZbȸZ AX0HI94] nykNj+T(<iF~͍/AԺzM82ຂvehui4yyflen} bvENpqZ"\{Mn^C8[jxv۔[reaq7 *{EzlM8,0_3/3ntŲ]SmGڝΊNc"2񳦨+ ] }}콳3cCBhТoHa$l6D(p$}q&= @*.Q[}e{vА*.ddi*$NN^H 4 D5WSl;UB!f=ꤣG9YeV G 5@39T*޻ͣNpGoZYXxħ]'mItDB#vhJS{Bqypv3w_(׼12#jE^7 ^\s9Oxμ@7z1wa1/^n%Cu#3^]}W[A;_={VR' _.i 9qHZ_Qc6m#x5 ;-RM|L>B6iǯ:pQ s T높h[)_?:v hKh-0v#<HX |ſ6&5Z!KzB:YCT\-õ')oJ4uh2|t9א &ʨҫ8LT] VGLb( 0X.,hcZ4<4&߃Ij(hA('.tfwzd/;/r=.$ٟe84Wi" ŷv}"ؽEɐ+Bm~VusLoJqzhׁhwl`أ9+}Ua~腘N b .L~"}9AN;xWX?b A;vAwTެEll0 Qf+2F5McqʴeXldk nwڇg3u<.%+ۆV _,5ZQ2Y&8O41A gM*kN b*XV,w gԬ1Lo NJzΤM-^|;lV@Ɠ p"3-t/"1Y!.'#ر%ܨ\5OfmjP R?%(`E!Owv)*YD(Պ--tW!tʗT4݅RDF 'vcmF7ݪn $Z G#UPxHb.H+o<*eooh?+sF3q`qd@ G 1)'2_)ٶeqol6"by[(/zeikhnOy}&8L.sȏ.9v.5uxVV(F+)X4Rλ=i5soSl^g 0v{ zw3T.NcHM8V]DQ)^l#iž':_$&"Ǻ3䁟2zqajh)~wtPРN΁)e|p+ iy KU)Οï:h}XAiPT2)%CNϟ1ke;X?ҍdEՌMau7"D`5c[G1}2ma\P~BkhC?ϣHg=%)+{0bCi#:$}]MIm9IPoobu죑`YHeLAth{wW?ôZBFUtd$[TTeҮYQ_*u Fة/8 s #KێW [_xяd0M2}UWqOG>1T%an5GVd/~&z;$pn9NmZU*<%_AXHv/5oKBM/|ڡە`WoΗe.KY~aN;z,nLAY㨇/EbXt {Bt9GDIjq.ݙ-YOs|ri9a< IW ƍd "*Y Ѽֱ"p*|Hܮy/Z&D( u ] z鏲L(;U,J/|D$T{j|;lM|1]&``?BDW!3%y^Y=r=A ϷQH1DznTNu !u[-c*(%O&TƧM"?r_@EsS+4.:rY9I4WLgHWQ/2j*uF{1X~p}:hfEܝ7w3%u%P6@Bz3uؙ%_ pހy5Ż%š=vh_lhI:^ma2vatN9hE/Dh"tML9EoG8%m֟Q˭".ZmóQ}WU[(WKBPSi;rH1'!zeb) % A6. X&/ $HXޘD=j*sk>ZJRHsѹPUdI+0Vv`Ξ),C%wJ_ ,L3SRXu1]cRwV>COTHE@l(F.*L]ͥ.k!9c1ho)MAeLs'k5[n.A3#앉& "*'M m3~p"ҳigD=K41*N0XnSw͗0vR9u-rQePyuvOv973;pʈҚ>$T; W_&3Tn"K P*<2]k7w1cp=gx~*@{6Oa-p֥WFv? {w~7Y`~F,:gߒUنᵻy'1ܺ]LSrՔ?m|/! 7OyU h"X (6@w2("%TN: w,z8Zp;MwI [&1Xυ@p =q'W^hSe} ԣw׉|t'8NZ(ݱ6qFK2k^dK2n>e烅! 9%r뙹}W4\I^~]/Z\KPB]Ow6e]8+4V:i͘Ɵ*a69#5gcگYx0*JeeY| CUHWY7ؠt#&&u/ h3ۿE, U>ʭw 1jkhc[LqB_ʎJ5m o|m!DH!qg^oj"-E \Ԝۏ+uyB02ZdI l] Vlf]p`lHSfHSP곢xd u0(T[^Xc?Sy1aD8$U N`A @lCO"?f'ߗ_Ǟ&rV24n=z0,,Zk MHU͵@DyaziWLAT̠Dei9|Y,o(ʘk2aGQ ݤpv whK2H4lg IÚ9o3},<検=B,u/ P/ r֢ҪNת sʇ3Hd@2 [}{ytC`1d;Pv\@(m8D,[\sIk ܌4[X1]K)M|\쥳I736)+P.`2U.mYJfnVI'GSk.t>Sz m@= jg dց&zuOM6 Ic=~Ų&2BJh|]L2SQ4kGmۃ/i0@&ؖ6,.䌭OrRZQ^m1AaI0aWGI*Ι./Z.v${Z[ w\5 @926D nRR(-,JzêÝǎ>C yf['NYB o5e2^M'Fx GL潵(/>Y8E'Mˏ*zk]i%\vJs&Z{FDb0&-~|((ʗeWժ7٫Tl[[8=>#Yc5T(\`6 $>K>%vs5<\Lu4JG\*LZ<͖5xVgi6J5?$'8wyZ IRo/,n(Ӈyy) ƀ7a8M1ڵ(EON#ÚQK[hQaC.`$bͩNGMg'߉M~ Zr]LNh !V̱t*IؠyS"!?5?O0szTp-_eQ]%{I~RpR@H򘉒Q\3O)\VIgCb*-<;|iX%:K}/ fa#{B%ٟL<$@M ֽ<4CV#2U? UҸBH{:eN雾` Z] %,;mf%t(QPޤhjȹYTo\w+.bʙ[Z2ƶE\c54!"PyO]HCUAb+xsy A4}ƞp;|UQ_ 4./cfuGhyJ;AiQB6=e@QϬ@U4їs*19hWvSL#щz}5֋TS`sx+.;eH2j)dJ\ RѽEGJ1v}:6 oe]8P?3t|Ց$8CߍF,D4GhvnIt3sMfTq`.RQ܅)#1Z޾h^{1bzCMd6R(Ttvm18dZf1[?WTe  ~1ô5RHCS3\Ջb{):b%VT۔ q$uT1 08 Vi9v׌k:vlF#;ZCV-NKIFj&K굸r{q]'R;~ɬVS,%[BC$ ם8O!+aZd=Gnw) K(eW'!tg~'~\4Qrk0Ŀ@0&F^e}C%FqsXM~ -q3F\pm*޻OÈ\1POOHߩ_Mf FAsOvU[|~8k_a~ :oH8a>{2Y[Qn~vh7'Lh#}B<,=`#wq4VX&A^Ytvb YR~Ů' [8kj,h}(&$hVf1A8DRv/K8`%j ΃R5 ֫7AV]i&dT q~ ,Y33l 1`Gː~`L+iV M#$D{2#=bW鏻7-N]dju;(HNV}BY#jNmmUjyls? l*/-%5Z]  $ZgbdK37ӂj^"'PxJl&[}9G oFJ9cdRa4Jsi1eQ o>/tO Xij(%-Cx?O$M}=EGV~յRBE+9-- &ZR FT$}G1V>AR]k+ {"_nJcj6]~ \f%e`g5>bq\JH}{\dzCkB|D5JB/ڢo+@b!c&tUxfV\6eC 6OUǘfeU1* Ļ.ܙ]!Y VV\ 9bgP`G1mc(iۊuP[ `&U@>ÓI*~n{G>.Lt.Ye`x Fz,8T3/QjqPYqvU {[MmBڗ(% p) f Ãԉ lAa  ˣ4KwY_EcjFZLst\^a7"4f܏2;4*1d&S 4*:jǘci)"O<н3],W⥭)X:͘DŽ^WzΕ:.3GĽtm/4ClcEY;Iˊ $AJ$X%U3(ۙD~; ~ QF9Im&Arc܀)o#H[L*gwᬷ{FEDZ.|1~MOԜ-o ~)+ `D/+Lo̚Zus>psr=@`Js1k/ʍK-P(%.eWU|JGzfz Fux94q tN" qMadz W@2.w$3/^NW^ùA@١kcFaXsMKk{恶d"X4'~ 7?fĻĿH/2IŴ$dۅyM/f;j8{~vu:Ismz%`]򨈞E7o:\>!"S΂47%l>pDbf=Sz؅<_*!;e&FOE-ecD-*yY7kB%ŷvv11acw):A&_*=oyqv2LW e.-2y'ėwaFTv^׾ZM$҂vpqR}>wDpOKjvb<_?lھ8Yx k7J< H~]B7YXE<f|⸣jn V!AaK.ّV헏L}iv5`c J>(772I0YH |}EϯҲC}hḄ NsBYNQH ûuR ީTقҚ+_*RB3LP4OӶR6goi_%:սT5T{M_z˘(qa-;P6]wP,NLjiD܊Q xJ"i~q=mbXsBZPy M`櫺׽:<3%?P+!(Μ.;Fi .7{#Eڢx/? !bB-wI͔Coz[7D[QB4-6 T)#K|[[&:7V'{Tl.L5I@ 5"bO B!VcVzJxD,3Cϔ7&D+GB1e*`R2Ðh"0Zl+엨C\[۩cC5kN,m2i_hh7H^sRlz,ąjjV밧ő榳#Wj *3A' ŵ~<w}̿+U.".ktMˈ#[6 9a0 h.Ĥ̉mB&9r! U+M"S(3lA1A *'XI(AM#ƀfr`-"]KV!JZ\k1n! _*W*KKCabK61WQ*K22a 'TE=i[<@HKD}݄Yx&{ƟwxC]8׸yKaX$kT stsJ]Oe7m4wKk'.47uK7',bY%7k2!7 p}CC OraW5B>Y ,s<2SH昧˾غh /|@F/ql"|XoIGa0[>pTX!<5XRGRix)aoDCF y1TtbKO7:ZΓ}_ܭKa*۾j ˩ a;S?Q↟l_dHzS8qSq }D(ˌM Vl+4bm@ Pb<15 I^i8K3ㇴpE&Oãljip/>7-)Ac0R4_S"qP<eRGb=}u܅'EIln8܈p))PSieq.|䊐 h{„oEWbc 4Jg٬+KeCZBzV{P@:h+Mx`ܽ"V[2 yQE3blZ: ;e\3W2nX_;7њ[܃Rt\FWo8_ _R[/{|Ai ^Kc@mSи v) Wu;=wa{. / ~®\ѣU|p&wXL$.$с\܆"2vnٶz sͥb6l~IF.YN,OWu Nx2$)4tWt;"0O ߬FCX UX vf\:w~'f\`883_0c4"KGhW{RVf hGs _|p)J\l5$N< P7)%k \TJ?1yDYyrALN7~/b#,xPU]{aX\uuZWgpy[LV3|سՒ? ӻj;8~IK,YC\m|r" h#JF94N8~D>H#!d]B}D( H=X/ѝ&+Rr ; P#kU1Gb*R$(VSe>Jd?1/?1tZ^iK,dž!@Ԯ.H@U@߮S͓X.oT0볼aY?pd6~ZA~)݈b5(f_k}(4s_0}fTn .3^N$_euJ gR1Zч0F4jR1:!݌sdGZL<%]?:3bf>0l~Aǚm|Il1&.TOL]xQnفSiR[jMFAp斑-ZW-aݫ2Ц.l='i&Z% ?`P~RӠcI]L,r{Xu@ҖѼf<0r*%T&)촩Cȍ%=Sv9SёXB n`{7+{xڊ4_r,K@RlGj?ǐǩe h|DZ5cCaYWjR!! 4l(K Pʺ> /{aOw"Hq &i~@|!b2Vւ zU˲8>"r c騟8|o(ƻڑ [c$F IkT`6_Rk|+Cg|St*q㽟\~-s$<]QL lZ X\G "0J>7E԰e3ƳR3U>~Gλpbc%+b]3kP\'*-DoL=dt3@>BrYW$ 69 <;{aѦށ`yG+a=̶[mξwyR7*rGup%2C!^4rS󙌀\W){L[A <5lRO"! `{QDܭFtCUdsX!z /uہu>lK7{+ 6hfN.ѩ%0BߥFsw˟-2xM:Mmc 3],9skDL,e2J:c{PYWE'[#=,`fB~fmJ2wTy^SxW V2qKܳ?e-^lK_(ƣwADܻ9pZ:SjQNSZXwbY<ĈpJ\Pn,)$r݆b}kobxJ0]8+p_)aJ7])ak*#@Fo{C)o-Ieg*M8rCC) SZfF~4S?`$WDi8e]nszRŠQb/EP ĩq[ lAENE)wk9\RvĐRvoq^|)cok 멣z.jEܵML`8 cC.dZ0@ӛNbKÏ[ q2IvEQqsӴ3ݐX02uj6gI Ҏcl ]` vWzX˴۶h/a{5`^8؝C*4q/L)[%F]0'[Ⱦ  Y%@ ZBOWg^CTÁlV&PȞ&_qX*! m/ Q)2"&"gH QȾ 7 4`8GHz\g*&53xkT$C/-'+.&*`$-87X tteWf$[T~v҃aNV '5I?'Y*^jdX3PDNef0l@!BA#>N 0r5T'y2C5$YRWZ+_kAT~_<,feȜBL] sqg_g1:)@E 3\sd=nSX2 յn'~CA~n}{KTx4R %V @LɶUBSF^+Z"GJj C_jxloݺHӹ*ixBNfj`ZPN 6|EZz]GfڰNjHo; Ħƻ?NƷ =G[ZgҁJ?+@;u ;TChqaT9(ҫWL"NT.i 4`uLH{‰`ٲ ~3G9' ?AU޲% X ]g~"3jLsYfBe/"IhÒ |ni{8\y["b挋4|iCAej< Xe?SKhC'3XNZbt\7GB=+o)nɿ ⁰ jV͓}ғ)nzxil m\#|R/SȯÂ`N1҂WЋ> &Baw$ʉyj O"ZZє_yw&k 7!@ϡΗi7`Gv`-ust~@>+ g<8$N9|n>yu"U][$oב !1g?`xLlZ3xgR.Q%nX.HAodFaOxu^m-fE!CG$&92@.( )in=dG,35rF5y` >Gv,R  c~)*@KI bڸ8T 5ٿTڟ*$0Ʒ6_ų{)/dc::UTLР;MJb9"!q #QMeNt%7#[WseB'(xS4YS|tĴeGSc .G!.F J)u< hWhi-Ylxj<}B R:,TbBCFwC$gT.ˬyEfґ/Y/K`'gWOo=49D?Ij=L v5VN@$ VG_ {y~H/og apՁp-(s Jgjbɕ7 +s6iߤ匉 -!,6ٖT|\{G îĹ><NDb̢FCZgju8ЙukbAG!ZCV}S`nm~sCm]3TrX Tf-KTp!4r0oNMѠ(a/)-gIb{K tQ3̢ 7܉AWI'<&e2@_h ʲ)^La~x+*f崀G bP$-MV2x'dh-;@* >"UJ#5CYZ{PSѸlєHrH21G]p0gUUf/ف&t] =dmv\cڗf-/#G ~kWow?~T繼:R?EKr]S vզhK]7-T~io!7 m("buKŁym/~RJoqW+w9,-yFwgAdb!{c=ѐ[*4q Kμ/k`qɇr#˴m,TBgZoZTydV< (`Xenmtyjj!ւ^ m-VK:):\;$/cpyPޟC[>IY 6=F&qdT0K qa=m3{q9>(z+Z݁*/byxDtZ 7^\?@[>+Jd(tϐёa#ulAQᱧgGic"v;5|CwIg4ࢨe\L{Gܤ:r̍\w{z`Vd-|'F n/ãqju ÒV %I,Q[̋RG\ ^ʧqm Ŗ~t0AmgXZ*m %~Q$Y'%Օl߉)txeob;/Yo%|z)dpy(Tc2XwzZUaIJJhySUx_%[rf޾ mvp\hZ診s{$?ӪZǖ樼;et%S֠a[ygF#WQdC}}M;v9B.ћ|1J}7/rfF2e$Wxð{R,l5ֈ A:$&&ſl5e rI43$W"|:U-df<ƠߊB"/ۃ7wIJ͍!oRfNߢU|hWwZ( 4Xy"\p*&YWLi{,Xx*]}nŽzo@!Nu8z/Zȁy t900IבQeg6% mđJ#N3w |Hsj7lJmqfkȎ|iKU.[?!Rج~h>]E gGx-~e"20D{ޯ '$Ti$0qo*<,tp/09ѲKqLwKIWηtBuė.e+Yn@|.y8aFW4)'AnldAz*Xkf @:+hKg {Y­zČG4QF8ƺig7((ڧ7~]An %Ŧqu7[[m;18Uh2F/й2ۑ_p<wh:܏陼L)NwED:v_bt0Fmjlj9@C[HokbC5KʎM5)SC#\4b+_q9 a'7w|zZ]L栝bmo/(|M}o|̓~kr`XIFe+/Ҡ=cNRIFLf};mgZc72Y |NU!tK;^ `E¸+k\jξ%l@'~c{4 3{K;FEYIVzU{lT֥ZR# 30 x(sOoEj{F:lCbJX++͑XOXjoPl}zDrjfJmv)i@ևTĩZ7˔һ9aHp|1WZ~"e[nO7v[_77eO1oou=7@Ї`#xT~'VzY Pe|*ʑ0rڬ-&ĺq {(cBH>"g6;@(!ugBG)Ӷd<:'NK%NMm,:ğ|6F$oIwWC@JHA$ה@VTtYBO7nS{N9q(PYXqKk%R&<擰hh*)3+AD*xk2MC.;w@ܪ::W)QI"^h/ݔsF|6accᙶZa9Ϳ O1~th. ;%bOdY5j%Y6ꉋ}圦ɛՔ@"6aPB RdR_5T Y?R!׉EB1#}.>ՍD3d ixxKpbZ0ڜ-h֦TeiG2hn\(5hٲ9ҳC ҭpk&FtqY /cmbM6EH>@Ⓩ$: Ӡ ώH$gQ&`~.}ӀuDs}7-A;+h+rfW~zJ^>LcA4/e`RS!6fD!ұ^ͦK N qөN",Bj܇@Nj_xTJHcw7н% M1B0+4D,%/X,V)~Em}C.&4xj0bY+9-r)."NH R븸!`QQJjD~&/PG/uZ Z1TJYe:H Xx2}S<>ztO# Qkj`UZD5lap`y^Ss8]j!p 1bUaom!Qtƹ~a}7Wxi j[1eh+MroGb F&:&'K|I͑т :b0ϛ]INT@ew*IJdW:I!՗2HT%\ 뤽Fc:GP 7w4hXpӎq2۸ޑ.֢D0_I`9n_U̸O=p|Y^u/pS=_t颀ƓvuN^{6^Pz )pvc[b=[ ARq+xGofZ<5}i}:k U"|n~0[*< 61ǎPRQou_1k6r}/4e M(w@jU#OqȾ!^q23eq(AE|j%b * [ #q>6p~*y%wC4;w+t's.¢B>K@|wG H E&.3l6Ş$0+ 8UCƇ6cFȘ왧}RMкu3w5^FS(>k=RWAE2:_Jnb7@|#&\Ky++Nf^;m+~pzRB+O\+V=]_(HyCX}GPkKi-]d2g8s” KF>2,qK]SD$9E{m5lmR1-!6uj2lUͦhtˈOu85ΤԣB]%Yuшiw1*,Iku n_.G7rՅS@ Շc~@@}S1H B]UWV#IEF#VaL= [lY^\Z tR2Qn5HQ5l\ /΢J;vfmXxQ=!(AwXIqt];Bb+*(}GԹ8d3b 2ktD/ s:#zV4 *ݰ1 -SHdq!aO'.0FBwēb|eSO \qR 1]҂h.D˩05<lܑI_ ^(yK( C:m7h߯[\>pZu̳Q*YR}D0-]u*/.;wH;FAEO^IQe҅P]I1u&^Y|޽Eڝ:#V/6LQ(kpFeT)H;B11 ll:d?K:AD/*xmND*վ,k[&dt괔dDnDTs?P{\d7MJBehą#;|͘xH . Fk3<μZDLdLYJPc(H0woHk'g{ ~u" tGNqD>9#&!fj۳\7G`rSZ" r35}84v}?cmqg 1zC a0yb Y>$Q-#)?$"XV#D隡t ؼhMdWuP 8mA초v WnDs?*?]LiۙӆE݄.?Y HtpB8΋^z(aA7(Qqd{#dtӅTNt~?7lۗM1I/ dagI9rvv)ۉٹ>pҺz_ ui|A W1._wXLZS׾/n=^ "x@۲s/I^?S[l9f ?.>'U\VU^N[[nb8fia*^ ,Sq%E /#?apP2i0t("g,IJ98U'0,aC4GT(n ZK %xPoTk%jJce-kک++ںP{¨D!y>39¿ _40LhTnAW"iۡ{h9AB טGypTbb%&l^hY鐆QWz`aNeZ<@ЙBA糞mbV%)R7c9$Zۯl>bkH N%8* M%_O\IB Ct"FZmKmsk5r-S<=ldg UPmq&16Fg.W7UQu !09:ke, PoM +PmmTdbe3v5{rq JQM^FطhW-u"LkդBx$gT4>[ EHr|MoyPLn1dhL&^Fq~oUDI!X:2\',P3kW"FLM*֦t R17%&j7h+Ð?jI~Mn}z$l棻e5=Zd_"qT"&>]K9غ0,k/RymoMf/92,-S=r(cHwOU[ӣep32aCWal.h&؛\[@q=,r sDܭPRnbp,;88ɕKD_* 媢xb6 63A."{ sIX+nxkk o'2?n,.p*n,&WʅL}cä;ryz`\3N =hb:1UYIcB |?IJ*ZѾu')cYX?rI\n6w(ho2K"+iYxw KVqމq2{R`&}kЁH`qui7?qJ?HE\[pq*' }_ J=WTyS mL`lM% dlb1v ^k^A۵5ĠTw`;/^}y oI;_8CarCO#u,\9@Xw-5⬁еae;3#Y559(X0Q(]∢y"ձKͮa)xY QrJ$Unc€kr q p#Dؽ7-5JCDon Jaa[/1L##mmQ7]uFsׅ耹sK V w9Čoq  gXo{ZaձM,W[< M/@ owu/9R(2^ )us+ %[1n8ᯋGKj߂Kv(-^k~?}8&h<;b!q {IԽbp\۬`mo`E,%gk!o3b [Ⱦl !V1ӉQz@=w]AN^|WCd(i=P+ -5d b/E#PHKGLT5˓HhPzy)P:.oksȳ\dqL6eSr٨qCNTdF;%!z O?i9 ":MLK5NբLz4sNMvVq9kKByK $ lz-r}4BW)ׁPBNjVOf5&:MO[!bP7Y TiۤU PeO@D5 9PNah`vZB3M23c P_D-Ya2Ҩ"(L9i yzZǹhDLkͧoڟGci*DbDtw ,S2+{=@+] NWd|oFiŠ@P!8$F[u +v4TYT"ILFP)S2>kOd~&Ϫg.<JiTgۺwk Py[ 1vT[>\HgJ0 &RD˿>&ll) 2=#(}[c,RD-Q|Gȵw pT]]4-m@f*CyUVvy)RHrbqͯ㧒3TZ )2تB-15 ٻ tjN@ӜLǰ7m?Fƃ?o7x|[':81ukKn,܁J\RGACsW^F 97Q k1P]u3;tw\E@00سB4!  }&O?Wf>h.|*%gc&^jvPEdY@iK6?ۇwq7r,(P(+1!{MLpK GN2ُ{(JaUoi|raKb=8*L~12LЩHY>< f W-3/6,TvH@^?u~t=Vּ! ƖͭkwҰ69 A/%ȶ4J h~ qbA]!J +PyE:++zp2-#U|FMB~0I>4+h'Kp ̓u9T.apX魘ݪMPO hWbPVZ)#t~De[ԁpی}0"NJ O3/Hbs!h: ( 1b'۳y=%D^GݭD>n`nxѭ_iCJբBWLٿbي>geUk|mBFGHP $~%Z(ޅF7c*m疟'ew6"fܝ~ Cg+dPl*_(1]udƥP K3!Q@ AVgx&^[} 1 2r\D](ߊ}zꝯ1b9Y9&E¼'66wS"M19$-o:Hȿ7~^*UUѽC[ATKTS5c7D݇]70ʄ7YMvQ=rbfuh mj|4`@.*z/{0x%H N{..#2^bsG6@ubcl]A5yqNqu8G=vO^< 8]O,BnzV Z6pԪ!"M]x%WRY (Ǟ3 LF樐J}NY4p@ds\j,ADơVt\?f$]KZ&?wW |l#kiL3𥲄pX2n!͉f-(J4,D {9a# x`_ zjҳ,D@ (Jpi/d¦ݮNU P KzU&=0 ?)'\?_®xGP$FLXMtnYR7 A',y[ EXMƱşC"aFtH8z`JS'uB$@}ܴ}'svt592 &<ፕ)\ڑLv)3vU4Xy/շ7A^:k-DQ5CZt`*, #قPr .rq0|vdFg!x| $9T7mТcXe4؝K6T5FZ;VFձij]M^DM֫['8J𑋼@" qћ橹!QC# ¯#B[\L`/x%[z+N4g)' ]u&j+pwZz=oeϘt& LXf"M2[91y5`Y86"TqDP\^O}^j;/|2ZԂ+^ gbEvj.y^|jgޠn j7h7U9e޲ 3I?9VhngxƟdz⑴SLsbmYhbO(^ 5жaՙp܄d|Bw 1#'E@]ɶJm(R\ ?Q: ^;daC&M_@6#Rbܙ>~HETadL&6q?+*FJ\ -q.ؚPl3ڎ{sQ VibZRo 1VPrbLD܏8:xKJ@'M%b9Ta9p/P8'[VoNSnB?R*7iԂ4ꀆWmi4 _CL)iϚ?gG_cI*О'51 Êj4)J&@Ȅ'H \d5RldUGtjřgQ̉w2-P$>^h}P7 ]KWj߷lx0Fu"1sAu_W}HrEjU<_P1ww"#+$lzr:؊:ӈ(-Da \_2:fx@Bv .+aX9ht렍qC &%2#XH|r饉)L.;_=ݬިWnz2V>!(: $+2.%18F v˦i6͟ 4:Q\G!*YY|͙S} FS7@w$ITIt*<8{T7Г5sʫ5\U//6ŶϏiʫ\FБ:*쐭9&A^uW`k\X~[B4Ao *$J@: Lij2M5X`gqk\VQBNdSwRm9{~Tٶ+{L*_/q4?XAd:Qy^u3Qviy%} Mnwo${Ԍ Rzs&t7Uf'4lp 9s<,vp(//N7n-Ua/i}ZqpAu3<"scQqKٸ^`)RgnLwȤ]Cg]؃ӶB}XbܘW0xfA&ċ7a&ڟ9xUtbkHHePll < SN68y,VM_[\[2gHSPXr1Pi4h0w3n/h7Vf9-3Z۳Ȫ؇Ǎ2V`Yy 4>^S* 6Ϩ[A=r:]ԉ+23EzJ]E989 ծUK#?wny_'^@hL(ڸ=GV+i `mz\D <#G#+mZ쩇y"F_<Ba_Lڴ :v\m¬;ؓi!`'mh&ځD-$wc#5TsFP] 9+XY׌a!CwB.g]3$*$Mk:}pWGKxs,zwdV!8 /ԔR!+{3 \t% O <(BmYy4ISPiސnSfk7<3T+KMMTY$`CO%.i 9QD?tflb 6%HhMjknD3cF6 hq¥b8jrE˝R?ǒQS+?@^ jM".?dNN(ksԋzıW=8Y?ẸV켱DMrA (Y& Cėt#"`fÍFF;XAk #^T7%Vʃ.;~s@$-9: 0,2sa0 Z,3v,G/"/WuFw_jYe#PBL%,Qdenޠ 1lAP5$/=Y42R:tnS0%og\؂o.Oo${A~SC(U W $"̧lb=Q Ae =rrp^ެu'5B兣bW$ZX,Ts :{}h}~~g~zZS=84CNy,! WlTQ{@F<|]&;@㛽Ȓ7[N4rJ-:lGOu4!ny/Q9B`*@XJѤ!2Q8 ~T A&3ǟ`Dgʎ>=V%'ˤ{_9<7QU[ x:\1\RB5D3toO=bq5 ԦXA(ۗQnLy `>ΪLPrɻ G݁Mz zeܗ*+CtW+6Z=,o2AKj4]p&^H0$R¬j&^; q 1qYM6ݹZTtfƦ?4ҚP@\ѝnnGAjy"{Bz>m^ 1@ڤv=M߹Ϟ%XBHIhL<@uS*rV&d9E1T b7q(.3GJ1u3󩘂@$b6Q. F7TC'4,${Ws>F!b}\"ev"~?׺7G)v3;?h`o׺'&Apdn (& Vu4w +:BQv Is Ͳ\ > X&g^6;=;٘/I5s:Fn6C<4`|}r.w2.n @U/:q[Hhȏ9=sJ`~;k7lMG~$Ht[w5G&'w}tmsह^bb k`nýBdEG;M g0d4{] PȘBo3uBA!+Uj e75N,q)S?ɴ'YPf!_4UlŗQ&hk4Xx*\W(ՈVh1I)[H'\f2T(Pnn쵺GʶpX[h\+z^{h.MOۣy>Ff}-+)!UWz }HnO#-PN%g1vr%tŜs6_|@%jJKB\=Lʶ%3塏"hX_u5}K8bW-otf¹V 3ٰMĺU@"ac \(# PG5b4("`XN.rz~N}Ǻ]2ۤQK "?%|}8]꼆b9` վC6i 1 mO]d4')M /znMǍÂ:\a)O)^5;a=Q(B7Vi.<-AB3E}ܷpŻIvV1Xp ޼>l$}!Uv,=HPӷ9 .X]ÞHHLx'w>jn)+τi/ ۳`"cgDơk=$:Rܿ卟 rh-_vUd\Si ۅu-n'.Zv-+ vg[u ool E#.:b~I!޵Ca큅U_t<)"edI,U/u3kxV kQj-Nm]߷66̟eKJܒ=r5ǕIJmjf.kB!sv#ԋW%[Kt /?#Ǣ~k?ZYhlJ>" K<7ͨ}Ǘ]Ÿm 1S0cCnVl3ڃƉ|jUW`bBbm5j[Ѕ w&llf!jla|;yx6߹vrlۀB ]K,L`i#M=+d;أlek2gx~[4),DТz`%hd,lNeKtdm~T@]u.8RG'+RgYUtž _Sz<ӓ{uFR`m\wƚ"H9@%>ʉr {v e!$r]"c ٞ/5< ; FTCLY%{A3+=<7 _rgr2{:Eg[4pm*H^1Bk͸RJuWy1:=lBrb#!sqsVIQKJϡ0bȿG0/OzZ m9ӱ8H-GiF1"1ex߻>^/{\3OLy N7HZf ewAs& 3F]Q"[e%9 5U>!zޥ!͌f˃wmSy 1٭:M@7-)*P $j7P[%DGp*3`yP_;djdu!$Ah% #3:@̢K~HC/N^]qIZV?}45i/yVp~oU)p2 F'ɍ] C𴳓~7ٌ μ9aCqԭћd*ӏSb6D 4A}嵆*|H'=~ |."P\W|mGe/j\aXx!oEL `8 - dh;{Ahh'k%、Z] 6o0 ;x\OLmQӺ ~kgS-# q_XhaLG#>YޢǐT~Uz7GM=4Db j?f(!&rzv5@YB4q,IfV 5 *K۰M8P>, Hb@p N\qi?P"Uaߏ q. $fQj~U:4ŌkRҵSl/'> rJE 2e0Qzn|BozZ ?cwѬ𣴵-IGZ\J&t  1ٶnpggRwK2'j,{)MQ:*,@;n1v>ZPF"1-&[&46T.c*tl?+Q OK7SDU^2l]L&TQqgN}_P[m?Ɖf.~($kz߅\5(.(gF\dMXQ @8"(]F9u*Kz V/|*Ҕ4,#69X錧CC]?8Mi\"5'=;Aaݲw"[w/xV-b>~c2Rrx/ELjn8oK.I o5!,mzD̾ѣoc}$U$"l:̡/=*1!&P)ŕC/+]tA؁ntZ:)KӋ|.spY,PxR6@Pq $U]$վbCLk/q7릶U RgD;э|!O40I&M*yxtW bu*$qnMb?+2m*4a01Ά#n7_IH4g%r'bUz^+sG D:Piw<~``)660NA FLZʤXσr8:AݭoF`E 崨vKEcVҀg,čHI~{S8 ydCydE#d^<$ow IʍX@4>x5~"ڊG60roΉF"RRivTvR1jތ''}?qڑ(+b xف[TտF3x%UXWAC6G A=啅r@tx_  l>۹#%I(EN*Yp-tCn5& B#5[t(xaIj|"+m'BQ}`l`zyEh>j4pHmLې~ڶX ^E*pFcR0XbUVIi3ʤOhuҗlPA~ĭ\y"3]E%⭇8 C PSvJɨyp~J/+{ɒ0:ѣ'C0c EN2bN8dx۠o_kASZ[~/l MwR#pxkw,dԌ SRb3&ɰ.ք%vgoRc$E$s⫫d/nx^{WwZ IUсiU .>Wc|(И!;ce*$ ՞?=䏢9re^G!B>\,jâo{1S&f CɈՕXɎ" 'ƯOZ&Խ L|P+ɍ dPӡ%kb̮Šح$pĕ^\H;N/ $MУ%@*?X-7UyFWgOoP"HS4NLl }#KXO@ PVb"x;m ޏ?ä_+zMB1Df%O|1̦6; Q*.ZK 4*7cyW*uŸl | )) a35өvgl@)r~5pJQ;nQCRgh}R)Ui ]WTxwmOHqL [伫˻}BlVGN[o=w݌xO9QF0D{SDDQWBi6R>KHNSNQ>I1U\(Q!XڽП=*9`s"w3Y%}8F:n pi!V>$e l9>kbO7A=r\QK f+,|QZ's$*;jZO@od9l= :O @]]$ӻ׏&[6sf &E 1'cq}՜8 l(\#rTPeҩ/" ⟟NO?Xcmp]cÁ"͡ZzqfZBBGP/ŋ;&rPS 0ֈA3"MoT!XW(Q!tu RFTyO=R:5>aIFp݀@WCD?r >"6@rr>t[='T⃏-> f<ψ7AgV cUN 97&k*P0B*!y!=_*e''rEN~`'yz;9B놎+n ++h'OIS;,md %JA. r-QFZ\p<c|Y ysU]1CugȮk[ 6NbΞ䕔a~YI\cy\B)gpBpRx7>cɘn)!`,0|c.,2&Bُ'οNS6o!`o"_{VO )dLc^jRZ:h [S}Q6bxE5UR+iɇ8Gj3qn`oh2w2ahOihZ3ۂ g̜m <( !+[@j56z`*%fӹ}^;: e~hC`N39'A_LL+%z%hb0v%&.?x&Ƈ!G  ;z{~rcqD,|}j C)B>4!P=f4zD3/.NJk-p TSZgX0) hNQqh)sˏ(F)z]i0(pv҃<BW\AG'h~8T~c?[d:JG#N~t{#PFr`)7H `RNl 7"Q+íR!r;*!H%'Fƴ-^zM[Qi :B2~ (lWmJ+$ݻN,Dy >j; VB^*û^T dn&q[B4 `q$r@Spk%J ] 1?P u͓|Vr%*7Ogݜc CMGSk꺑XʐwG԰x˜MoG*W؊e ZV>Ia@*c0.[rT'JhLBBa'O1C/ (8SLP+T»iI'CA÷X7~RT,>[S<՝Vo# 2kgISX6@onʢ5ς0-?_CWIm eDYh~ad =7 qNdyš*dڿ{;J.5%t$K8+bZ9D!yt5< )^NҺnkz[?$lv}Zӟ"ԠVuʙFxATy`Ƀ,Yn .)k}36Ƥ55X{/<׊En$ K%/ix Nz"n]Yd^ih)^쪧pL&R7}%\1 y7Wa4 Cͩ{T+ѽRo)mu{T]0[-D'jA8'K &;fQb"Zj&[z '+=BYZ2N-5}H}kLnYq)kIkt>[fӛ/?H fӐȥ> CP_wa]aU`xkX –tᡴsԯKXçnQʓ(p$:F()RYLKm.4Y2V\!RV+m)m`~:ǫψ~ݹ$8 ^XvM}֐R?9v 0%UMHX+լ'iv>} $}i/Xݪa8sw'x2dVsLz{z q~ctݝ_gIX X9pZsd`3b?t~u+~jE^j&p–n-u"dǰJȓVV0| Ӯ!QǡuX,{ܪc~1Z)H+?J:qpi\|%NAz}{Ԡ:L]ig]S} wV:MI _d&3=/0Ѝ܌?T$!=(Y%/\w~,H,n!YYB.V^Oh`iwnM1^<&kG2 S %?G1|ͻ/٢$(R+O͝'\4_CsGZqin@$Ο8ЕxϿaU|&i @r}sY'@ NfŖ&PT_"TFpH$A˺7Fa[,߳!U9 YE C!RO:7}>lvq{v9oe]wڞ2Wĺ$_BdЋ7ݚBc5o:d8A퐱k,{ו>*rA 4Fzײg2ZđY#^] 2fG hęV&1m3s1Yyx$6/ 9i{W'$U W^{v9ur֘Wn,3+#\\2{%$hsO{̑xI& ^r`ȕ*Hylb4r@7ㆇԪ IgP4aFG&D?l[e^c|Yo;7^Ɓ _Pua4CD##OE@}p\V9Bm+V.2sAQ;8}=n?lmLZyh㎙b=tcƹ NM[M=2grcx IF4 ؽ˧a'RE ":1n>G uFf"<'Y'D{UNuk)m[E(~Hr*eA|R{ڥ;2+)X2!}'qxX'Vl8vx cLU.>_-vc٢8 <):އI} Q ' x?KWYm|*N:K,Պ 4NO }?Ыک:407@8VּQ. ǵ,cyŒT1sed_]*֟4Qu4SA6eWu{xA쀕›)DI\6m_T3CQ& =OyT#%ZF G[~œ"=wf"?,]|/ތ 6, S*J<o.5cqWdJ'ħԔA;=N1].[}ᙚŸ>! LKV#,qcHB?3U0N{{:1zd9*pcKdև\U_*ŅViV*4KȻW)?N+ywF7InQ 'ykh0:g@Yƈ0e~YޠU;V0_* UZ|d=J"{ L /(- kMCb(ɓ9LokUL[l<7FE'Vd,^X?YQ]6c) Ov~U-},~g36ݫyJs hD%p Mza q.b\e^HP t,[FzBŅc"UF*v,@G.#(05dJP*6#e< s37!S x"|[ '/5|,jf|Q E!9[߯{2`M )]ۮo7W@J-ٺ(NߪSL `_&@2c?JT㿰 T`n[O&,:e)ʈ7v͛+rj@}i[* cImd. C_DQ.KS=](,wx^jXV+BпfWQYssaEZ?^QL sNhu*T|WGÌ/BQuHxq|B[.<*UTaN[E2w󖄆=bǩI\?rK}^n;YdMBv.SVz]y\UX0Y}]"ׂlĨt5BQ|~(n6sy+{ ?+ŗ_ p4d5Ӡv2'Ybm[[ {~3Ҵ1D~5TvUKJirh-, T8%7n i=ˑ1FF ,ſzvžYOG3a;%`yafn.%8V %M⏆. \g$ۧ#'*+Ra8ހӵ`sH=G62Y|I%^mBoq%~f҄kVO>~;Lڎ-1yMݟQGRAUMFrڰW6uMhQʝ2x *S n"i+TBa_F9gS%ʥ/%a1gGNa]?=[so  b`<-6$i2 IE T,PvfU8Ϗ[UliUyVDK+v2# ~0Tr™:?ncw =-#=W,=~yp|V e <5xƎt!< y> G WKYāOI̹(U:&"\ ŽSYR(A?f|4 i9fS" !%:SjN5X,CgU\$J&fv, gܾeuk7hnwNtcXTM悼L&܁ӣ1~Cs;}~.֝>Q."IV g=v,NG8?*r?|#nr?!W&r^̥֜PEGHG*׬?):! {JM1{Zf̣MszC4ܖaJ)[HןO{cA{]UR1 G =w7v.nF9mepniN;^ u:٢GUx{b8>ŐC3:l74IM&«i~O-[g-xˉ(&;gֹǎ=7(bu* F~?BV ֍`c ]Bq?k"XOiJE/\߈ڕ7].[F/|Dv>ҥf(l=PoVu#=WQ; EYe'd$|ȓC"G ]R5 8yDL@Ǚ m 3E)9ҙgZ Lo,3Ցw>HE|l*ǴU#6~F^s8L{ n^#XR>[DP. [VW)ap/OΠz\[;NߏM2;pUMO4D"{gM'ߠnɁWN(Q" snLfG웉f^ORN yCi?,LzGBCI"~"FU'{6tČ |U?]3e]?*&觌1+ř I,̄84f2h(A8`|\\VeK[unA?)~wOWk9ms;Onh {w;.fL1c+|dTOw۩h# HgzB`Ca۾ְ?N};=ƈvLlNLكz!7;Ѝ˵c͇ܼȈ0~ _Ir3 v;B`b2RjjϪHڱsBnQ2oAԡtkJ4'uAiyj˘d mi̺w=}00)F5~|71Ol j[ӾHtHN 1}+1H%xJ䬯+.OUF;cMSCWfuanV;4P *eև*1^.@M4=0EEww+fU<F'vWoxZG_rlj̒ӥY8/wnlny6<'o T=<=7pC`*Pr7=8➆,i Mn﷫SAYD;2= /跘^Lrx&#(We? pSetOG7**=H/{ñBɎs;|XH}PiGg }SuϷZ"a[t(xs gj*V:,RY2.vs=`zB|oTOV8hB쐭Gҭ#Z_'ۍC׈@ڪg?q 6&`Ww;!K/KQYM*7y?wJ؇ׂP deF-;uۻͨ2#W;Lhe(%,:11 _BSyG- T6QX.a<.Q}"]UHo+푭>,KW u:H _Y/g"*Dd3)UXJ8Q71q8( ![,Ҧ́[9y Rpp\)gNq[bf1![DHpi/'AHCoOwXN}7&(ac bZӔ';p"ѽE:ߏ,2/dCWR3O/ets"}<iZ[ᦖGPBՖkD֙<;rja`^;?GkD'2jg:OO 儨b @\+sewHEMƶ%|KeDyc(o5+ D6 dTr.Z^>$tYj {dU3bA 3sq(2݆k'1455t 4g0ը1o"2(l|z; H'Z .:S4!\)x|k5z7] !ahr0? 󵷇p u=az0r! ȒPpf)8D 8"y5(Fה} i}l&?<&[<A˷؃h㹚C @ngv CMq)d 3j7U-u1Dl#z+WTcnX>ed`̺قv(lh iuVJ]&f'oYނ+l8L<-ѡԠd H=+lYTKV E,,Ʌ1&%7'e 5Nw;΃cc$X*nٓAmZqIYF pA-7Cl?>gǟ#ݚexS*ԆP :\5X6܃pĀqf+Pt| l$vBg/92A<[1-_N;`%|=ޯe}7.,ͷr&t%Kl<-{ _I꽼ZHL/b;m#]6h`чN2$2\6u =ZQ dU95-jtMihaԓs4(\7xQlRh'M~ƣ!Usy`u_|%ǀrSO )BV( R, nߞ9~>㩑E}zGSnk]T|goq: gi݁ŽEhs4ݚV&q|b~<$Ӄ]n%}ŖWRB]ܲP8W>ϐ$Xř)b3jP uI񼏌ǝWyaC@a]fiza0l$0_[=9l5AC,qFIn2@8 蜠S{%> .L~|`c#' ;Z.?PQaU=7 ]ȑk|-T1@R 1^_أg|T}gHJyUOZ/fee-0m 6]}WץzmTG-"ݜ8,IkBBm>!-a|MC UϷѐ<I)쩮zNl, M|ޖݱ0a#r2˒Vj[+ovB$j6Nu94=JyǵQl-,ȅ nAah$C7MS 㐈 x5j CfdL/JQq#6V!p>_*= RִO |]"* _Oޥ{ eJh ؜K0 |[7⟞n;yDnmSgx2[Br0=筁F|yq.H'ObESkBGW]:)͕ eeȩ`'qֱ*of.@@FxA2q/ 2f-~5Yc*jc'u vXlvu2'r֝uGfcn.J);-wE2e6gyz˦5cٶ,a% Vj}!eR=oR l+3eGUhYԞ^A1Y(Q@my)ȕBŽ2y9kX&_Z]Z eS`<$fy@-P MH[lqW/RC\K+Ik76+>(k:cV .G Ɉ{ЕG75kŀH"Ad (& [aDF kwaNR,G׊ m$@Csnd ۯ/bkiQ JZv-ClD.:DL=jMIa gz$'7L܁Q@BC% .A#rBR̟Rp!ݮ ~|9!lJQp1|2F]*$ k&-5# WέԆ}-£#aW>TdCZTBw13`:V͟F5:ޯ/vWǗgj#R|VFLn.9:?w`78{bMiQ`jn*fST عw4gh9'M#BAw{>~n.]rA!iJ%ۏ5^0\L7 2v񾴿~Y E1 E;:Kw%?[1Nϐ bH̤ܻ֩Q-d3 }2Tg\mO%%M"95tȅz7Y JS#xeF6Y$x5͌[p\яU,-.-4 *i:'CPp6;!&ڤkc\Cd9{>xzƼWZ09UTVw@RxN1$4y b.+1 sS[~6.Iˌ~9pRRN*aؽN4& o^C|Mꎴő۱ |6iKî&>*-XD 8lB!<!TzV0M2vZg-@$6 in  \ *{#_ˑ/il\i|躵5RGl^&oġIʀB>*qI"`;T9w ߏOw">f:纨\Vj#rԀ9),qexݺͮV:ڸhDeiɻ1vPKoZn]K7j^qN*W^l!nd>ij9$98}g' Gd|{֍c?Iq0)*F$k):NM,eHV*)fLs0A>E(!W7螯 5W @fϓe*OF ^x0;-|b8ug)[Ϭw_Jr(>V5.xK"fcMB#h%#:Pʯ UFSkzSOa`}dňyV/78C|u(l7ϘjhC:~;۷'}2QJ )E@ ;=7Hf';(xWOp,̀QWgv}t^JGX\lvqsASG^bjRyqcbӁ`elD.*=_H7Jf3o㋂ fO f$ %g]R(neF̭tt F-kj8vAm'B}4&M9 5ba6H{dS޹Oj< #b#DDN}C4;}$ II RR_t'|YnkCKq=>u&PcًC`>`OsKlc "9hUeȩILːJ@Hԁ;s U7> 飖ױ'|dK>1:8.7|b}[E aP0On dGW eAK֝Et/7Sk˧pO`6xfqV\cװ 䪽Xdl='Nw8MBBIQy|u/ nbbjصktbK]碋5hEQ vu" f&-6L6ﱈrB3a`uI]<24]1PCNC:ӣ& ziLM%C1@O =2^-$I襳*>@Z-NK'S"r[K1X Y$r؂8Zw']4`rSg*#U,xb/L"-'^JȒ'!#"]V5w&/dNEsЬRtRdM)ۖpQX#!wb]@-^ 2?B:(bpV?2Z sk˳UCza0Oos:=u[A3ˏ:PbM3+IFMc\җܡ,T޵EM-N  h6W+7z 6}(* yhc98ZNGU'464s^U ڍZ'2濭mB5sZg \#ptԟ[cJѲ2=xa+bH?&%, gwyGEš6m}x>[q,]$ <32Щ"~ܝհ$sN?Hz̝5ƒ:{{"ѸZGsӃ!MSv"B1WU#1MSYvDё#U fY|΢sHhjN )ɼ6Z:bUn=n˫䊡z}!(a; gэEvJܤ2"/Rf4[-"q2ΗBJOY]t(Z=XnnX(/&@th1"HuXNbΣ%tmuTqf>Іu(Xs;m1S|'*.,]Fp^8sR̿;ĤlI"υn=+ `W툀xDZʹƜǘ:ڿ@RT81~ ȹS_(aF /ZR P禮35rmp/61Lߔ=$F8U$L>g7l&yrDX@(\" 9Uv/=$hD &}Ipl.R צ$nUIl*05óÛUa-rO#cojaB)Qn~&Z+S^ Q!i7Wq_*>#\pd |hT3C(8? RhZ;h!bl٪A uߕ?n*wT,n@Cq9\(.% é#cFݗ ŷҟ yAU;$=xS XUCe-P*qxd*cM_b/kXh3 nK(@hcXʂUFZ&lmJ9>_pڦPCygTrDQ)YN z/U ,,_ių?g5.K }*lf$e)i\^l'Mhc/^5p$+a{Usp5ֽEOҶ{U8gg/+5٨3`G6ivdڏE6hs% u}hWDi.l<瀮99';Gr܇jˮ I,aVo#"9ĥ5t)Z)&ur~'=N,Y|8>3j 15V u\6[%mdG1u$?٫UqK,pP<ðSxә?Bw~|hQu-jYO^@P $ QZvR'S* 摊: 67zC:B"ֲx2Rh],SӖPDŜae="%TPzc v\k9U{'t̕P%`97Ζ i:AGe_ƫ:M՗~tmUH7O >xvEP7.TP+\g7|9p̆LWuprՔ¢[ `\/ -I5.͐H%Q%{I hkأG՘M|3_|_M'zg-Sx#HZѐt#k$њl| mIg*c>bى̦ ,as;wP4랲%Pci#LvzـabT97E%,N 3k } }YD>^_$}&bɛ Zgh>B ]bpvՂ7vT-?69d6@7c CO!RoY Jy&_ ByCA>J8Rυ;ύ3zw (7|Gk(EڹLFs +p r1ס[#.wh{BaFvvˏVҌZ/VHsIO  FPaݾ@iI#m^_ToWG@,0y&prBc-l{0o1d.d t"% P{pɽoB crf%X̦HqCBIW: &UG{~GQzI/=<}khޚ;3vʡh8m?$`!UB#,vSt_QkѻW^&-ҋԑ/;ﷂ˟nEwQQb^QX%{$xĔb,&,:*ABIL1`TZ|6\FV%mjΖ!0h^ohJa_9hp - {w/9G*):䎗y^0>5bN4(C4=tF؏,aXE]mY46SRV@@}ODHy5'%8{б%)?Ϭ2[K V7\LiJ)8>ُ 7fuިrBÑVW7!* &feZ" U>[lxw5dXjX猔qջ)Ҽ_MtekH SȪ{[DOg/6ʛs}ӿ;1n>j;Te4ohI?8y?_ö5', ?J_FI}hɰ"e[fX@ip,ɧt=6$9XCl/{A] Z1/:tܑm1\i>Y(mJg,W+ֳmieΣ?~&FF(e퍵2RA&$`3Bn>k],x&hV2O@N_n󋕋eɰ߻^/hRAHU'n]HE1c"؄=Q>'jrqirDESV.9[ ^Yx0>KbS:upɾ;!5@#wO␼Cf@yL/CX[5]AS*.)\ᛞ_Ll OXU]9v0 >18/CZ]0ԠI+&Ǫ|PsxS=5#&ThM_q&>Tg$*Hl:;RɤOeZtu*)RBf%4HJ7Qͳ/! yLTZKٍ*6#^Rr밤qZPLnjtiwOѻkp+ʏ<\T홁I:_x;)vcCnk}P,DB]ql?O^'GWyy)*8I?_\ 55 Bt[5@WFl,My*!!!_Sz%-⫱nvJu+[BT:8l^a7`vZU<h=RY~H=Dn5#MzYPK$y#|½5N~&c 8~Sf&A)>>a NRnV͹/`a-Ջ 㥅>+Զ }pvźn?ٸ>57JM=\NtP~Tzl2t)խB-=`EǭXe C} Ͼ\}eh , ?;#2ECE{Ro#MGF}(EyJAX0%#=->`*Cļii$|-''cCߡY4bm=ie_?t>W>q]T޲)!r"4>;X5$Pg\# 0Y5/+U{ 0{ Hu%$ћ9p>D*Q,E8ؐ:g( Aʴ_9%'T ’M%v>LTQޗD =H\$+8 nL*ƃnj8K|h1FYq"3;hb*O&M Q4ѲU5.=[հ J|28(NOc% xʨjUݑ|&cXaY1KA^1z29ZS|ѩ5@_YLφ}Ed`0,Dhk>\y;k:+KZ97[ {q'a͚&ׅWAq#tJB 5,_RGUu'[ь 4A'0׃juuo@b+nyHw;DSǀmw:mIܞ 1^a"X+.a|J ը[dG&]f^? 豂-yCDgg*|kb9Gc8zI&l#ͩ[LJkYIY=_|02#RPu|H WBf֎"_,LJcQ!T++:qp5Du#=geBѲ` ձHk ;mYԠ9),^J;#r9nǹHmC,?" p-Bٿ-Z.?ӗu4A% &^>AEOu>J2",.YŇhC75mXl!7OLLE*8\ o11ecy|b%3Fl\%;;u}(?u@g}-Ӯ[m%Bb6uRdmtqz0ߪwܶb@𫊁D}tL{tRD] cmM4\ÿŇ5Ca k9pQwD*,^-"2׻*p:2]^MiOߟO1('v klXxFMG\b@U6EhO嚬(0DQ֦iW{VW"Sjk %D|WloQs| 7ܤr%-ռ@;̈Zv'ED3P!9-賡;-`]е'i,ڙ麩hiX?a9O-v]7hgdx'ƬWIṴ9-FΙL]cYcE Q8!OKjf `A:ec4E@'V-HP.K*i @dS9Mz."*G eV5}悍clT|6`adC[l+:U4ݫ\;BI1TBT84?iXp6xV`HS}oİRGe-ǝh;@Ԯ*dd/;9vZF9`tzb#A1./lMo͇ oa/c*'$3ljcƶ}C B"Xc`%EWpNh:`mi'8z*R/%6TTY Gfb^7@pS($~ƫH?lEҎv#gFy |(&{_?ӍimBcP_ O9?lfX^^t fnnL>MI~gK!ſFϞdfqGGC#zO3!}RQd&PմX~HjG͝u/ vT#qh{؝X:'A+\" IyoPSDx_u^rIP4 Q/l3pL[BR`2~AX\Ӡ)3Bx{%@)ך,RE/F^Y.s:BEFN+2VbzBӹ o)VL1\D}T;q|l?CM lB>z4qvZUB `"$3MM&ٵv ,$!&pQNumL҆X4ի*sG] Ґ9.z(l$=?m&8u+*Xί_|Ն{ըNXᕓ0שb.41+t485\QRT'uO]Ƿ)Y47(E*cTi/8s " Fgu%|p=< Lf" saѼEu G%{kP>+ěc4k5w@Su<*ˮnVx #3,WXjIDԡ (KO[ԏg$0Nί{7l<8Z,Ga<2m=_zJwǪ)jyy,cAK*W q#^Pɓ~.^nk"R໑*LaxP(! Qxq" I_4z O+s'o_ Izra*pH@V pG2&﷋t'zwGt%bZo6Ni( *^oPqOчğH^!5o=-j'+Zse˷͓ש;#p &3ܣ8 _j5zϠ~a7=S7rH;}xK7޺wR:eQAnr&ȈWc CROh:TRP+u(AX39GJ[* yض.t(G!Sh+lM2ʉT6~1Brx #'JC0S݁OC1L&aax2JReH0ζsWba`lל[ ρtjŰ*~b52)Mgi?Ps>{.Zsh>DQ2$F lX_cU>d\/?6V셔}mr#)%.G"ZYNHxS!Hܨ|)u~˥;qcYgz6^1:1MAn `O#r~mq OJW.Lը֜g Kh,yg8y2H7o͹ycnrTG^CZC**t!}_1Q]YRZ;"Uxd2xo(^f>; ִWm{p4\牊9oY2ȳ۹kYkG6o!x&4W%9>cA(:F4?TyU<Shl̃ue+庵W,AwA?s,6s\OiVgMMOj{[M?S:[pFotjA/! ƍnK^T(nlw5[s4674ԙeC Қ+K5fUV;nӇ\HU"J%IJCt0ǒ IzC`L^Gm]W 9`UQ.[::U-)-1\"STN'#}KX<0`PU&[C%Jӎ3{+h,x{iYxm7N|%oqsG9[wɇTtcN}y(7P0$RLn:ꝷ -aI GSvKo2 PO)O@À>~2> ,3yଂK^@ xY\zM;.<* &/90M))q!bTՔ <\R17`h̲?/p~Ξ]\e⃒k@A9vTCԡl? _KA S*cڂ֚b )Kݣ HǾ0G @֥e-AVUVGRT&u[|DW[t?ʼn?DUح2_2z7lN$;{)I_ư)/`6mmg<ٙN=׀S:/hc,иl-Y2QdEPNwi2G)-)ghu#LI4 Npiw}{ y.=W)(D-Sÿ'!㡵+g"g9%Г,C`LcYz⤥XIgEiAzI ٠g f&C<0nt]Q|l)Lf1DD0t~3_>܍~334sm ACUX2HN%AD;o1—Mq~6Jk&{~QSV1Qcݙ>rYu2"s N'nmFbʖFӯ[`֋.go}9U<]!PmܘB[:%:1ayRĶ)HgLM)sie$ƿ'b+-ǚ83KZ=˫Xɑ[LbGPI*WIJ yW|S@-u~, ݰW ฅF ږO@0ؿ;Ov53ks Z_Wٶ-~d!xl8\Z8 /R. ~Dj]uֿpgm:'Qi4 Կ~1e>$4Qv_MJ˃ G^m2 VW$Bp|Y xy'K+lSOb5޿1}kBIXju| 1j,?з 5&lI{AwǁLX$y@e`+`np30 ]70xP~烗Wda۬_B U'W8 Ԇb( yS3q[Y ؑ PmC>DgZ0'# T Bdp*꽍 ;pG5HC6)-$TZ1H Ħ/"oŭ}E- ʞz~lH^ř9{}Þ9,W91_ %s^A{OBj`&<wt(17%P R7Y|-]WkiD Yz}_gWHI?*a:֛٦` eg;ma\F 9ٌ^@zmb)LBsy"$`#q a`%KMKX ByV!X1eLQ[!)yxd1]S"1}$BӇbe3iUȟ+sPRZqcҵh4.Iܻ%0Q(@Xςԕ~LE^K!΍A 9&Bs_;tۻ>j[dkudv2 Eb-|NőGiPGm\!gAYqFXC.O_kIB;YQvukjr~!' PC$k+Ÿ)y`~#iuE!֘": %RA )=&A= bi^q/MHՃ?`0B ݦѢ }\T>w} -^16 L3XjL$2ZB<~p. M t6=㋦ߡ!Q"8utf^ng!YcZ[1h/LW$}Rug"%M}5wt:|TQSH.$/Q%y^F!0rC8MQ#~"ɇ Qppm&  ӳג&ѕ36ԢMo ːNc)T#tRb"!7oi6}( )GSЂϫZV/#M~GȘ3Da2ǥ&0M,XP{=2ݰ!eTﯡRSo)vpzW]d?䩯<^E xjBJO@|}p7Y1bqNbQyDɱ?结f <4=p-{ AX?4_Ex7'A,dⷚKAP[S@&:I_*Wkr2ѝBES%ʪUΡ/:2^U/Ꮑ+D*w;DP̠}qP*ྫྷ3^3R60$ÜzЂ73A 9Rs )#VUAf,D'+kSEATJwl45w,Iu۩ߌGi9 Xd1^/W(l2F|P@Lfr,Zoo&EXJul4Rʭz#!i;aCoꤣPĎ;_n 9¤̞N lPy!M&_'pӱ,L$[R-\0\x#m"E[P<قN.˜[|1(TQƹzbOiEMz9s!s ye+fJio?⭞jEa)B,?-rB/ImWQ }$6}"LKrhqPr/<|&Kx\D V_G]%|@Ey!p.!ԂCۄf5:6! zcmt+qW%RER+N @ h;#\!3#z²sjn⷇`f~%'dc~R݀*ʏZ`)<"gXbm֯׺cZ"Wu! м?htZXxqK0%Yo, 8>;JvڢAHTo6qA9+H'~O``ClYSsZ] V0,6 z3 )̤؞yKޖfGSZl|n-!\@$P.(VK+,GHF$Ai;066"PnSȡhDr3 ~80񢍪6 A۳ s|/N,>O{rP\,%tW=Eq{5)ꊨٵpNI0jL#Wy xGhcuB)BV׀)\?T /zlɳT];AsZG{u <}(2%b0d3S;B D@O\*MO8C <`LQJM`!Ss7w9-F-cϱZכ׎ߘ:MNщZs"!?58jw)34TG3\cS {ǜGhUc5 Dxj1ôϛbu_^Fg^1cڂ0 }{LmƈR!oƭ{rGG/K݈NӰe#ŝF;jg%9ay2~fqRl'Jjd%/z8YIw*.NFvpD{| Vw~Bqkqm'lG`w/P1W(Vr nh)퍼G'>ŗui!DI*|O#'LلpzH$*{2VQ@vPK|w V%$+}_#r%yʧS6Ajfp#FD|EV@BJC&Fu\ VqpΏ;v/\4W 4w_%s*Q yd,=|ijL)"V͂O3/X|^95̳K(]k5yw&p1i a=t{,Ui.tgP[4d ҊhJƾNxYõF]\!jvҹhr{{}a ) gj&HvK8ȟ9)2ojLVh6^k_F&ճ AK-g#=IeD`WS?! VAݞvU/֔2oD8EeOd3ֲjlɤTL[P5݂2ꢥ+y; ڗKD'2 [[XдOyT皳v͆Ǚ^ڂX~zb+,dV/HUZR4NTcsiQŪPLuhȵ*͵k$mTS6?3z Zn5Esco&°?BX+{ ݫqx\ B C̻8foJS5r1: ţ񋧁{TBS+J*%BwٹDa %vFXDp q =7# o֩)d3|t.,NClU m2uQWT|8TAuB 3k02Uda"i< d0$-3>;$RG6A@a[Kc4)=\< 9WG ״]QƲHhҵ$/Zb6>)31]+(SvGrCҔZ*@` a{GRdI:ͦBDEc'$_byVfp1au焑ˎ=9dn.=9fD6WBߓj7\ <_Y Mr{.J7IL"^&7 p4L4$)'v*#ܬA?xkЩO5>WĉKһ_66$.)>0Ükbsf!}Cvk~\dab/*}i j)kf(g:_tv3;奦a0.ca1-3h.y!r+]u,Z%5z=Cx))ɕyJȽ\0[-nnd M>E{{f0ue_碉5瘞Zy?lf`9C&l΀8A6"z@#G1 Z:l&)uDvcS8x\MpsmQv:{w ^FgwbryEZuqWPurr%ΐN\H*Y̞Vn!cS{bGǝieuK}{BISӗ3x+ȗO2w7bs'>VM+5)xMھVx [DqՈuirssJe'+D/aubyȵոbYuy)u%yK