freeradius-server-3.0.21-lp152.2.9.1<>,5`z˸/=„5)5S5܇PطE)0f>9~DuD>}#;^}Ya䲭y-%D5#&ShhJQ-,udb^t%#A/ "l;3  t49=KOn6ނܗba*M x?!-:zň$5#j[iX,g߂F󖰂GsaNK.N0\caaEH{'sHhSBMөvA[i5>O6?5d ' 5HLX\ox  |  >  h (  o<l44҇40(38<'9':3'=>?@BFGHdIŸXYZ([,\4]Ј^0*bc]defluvpEw lx(y1z55555555Cfreeradius-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.`zobs-arm-9]openSUSE Leap 15.2openSUSEGPL-2.0-only AND LGPL-2.1-onlyhttp://bugs.opensuse.orgProductivity/Networking/Radius/Servershttp://www.freeradius.org/linuxaarch64getent 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&  (      ` ` ` H   (  H  X H    H X h  X 8H X X ( @*A ABl&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`zr`z`zr`zr`z`zr`zr`zr`zr`zr`zr`zr`zr`zr`z`z`z`zq`zq`zq`zq`zq`zq`zq`zq`zq`zq`zq`zq`zq`zq`zq`zq`zq`zq`zq`zq`zq`zq`zq`zq`zq`zq`zq`zq`zq`zq`zq`zq`zp`zp`zp`zp`zp`zp`zp`zp`zp`zp`zp`zp`zp`zp`zp`zp`zp`zp`zp`zp`zp`zp`zp`zp`zp`zp`zp`zp`zp`z`z`z`z`z`z`z`z`z`z`z`z`z`z`z`zo`zo`zn`z`z`z`z`z`z`z`z`zo`z`z`z`z`z`z`z`z`z`z`z`z`z`z`z`z`z`z`z`z`z`z`z`z`z`z`z`z`z`z`z`z`z`z`z`z`z`z`z`z`z`z`zr`z`z`z`z`z`z`z`z`z`z`z`z`z`zr`z`z`zp`zp`zp`zp`zp`zo`zo`zo`zo`zo`zo`zo`zo`zo`zo`zo`zo`zo`zo`zo`zo`zo`zo`zo`zo`z`z`z`zr`zr`z`z`z`z`z`z`z`z`z`z`z`z`z`z`z`z`z`z`z`z`z`z`z`z`z`z`z`z`z`z`z`z`z`z`z`z`z`z`z`z`z`z`z`z`z`z`z`z`z`z`z`z`z`z`z`z`z`z`z`z`z`zj`zj`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[`zZ`zZ`zZ`zZ`zZ`zZ`zZ`zZ`zZ`zZ`zZ`zZ`zZ`zZ`zZ`zZ`zZ`zZ`zZ`zZ`zZ`zZ`zZ`zZ`zZ`zZ`zZ`zZ`zZ`zZ`zZ`zZ`zZ`zZ`zZ`zZ`zZ`zZ`zY`zY`zY`zY`zY`zY`zY`zY`zY`zY`zY`zY`zY`zY`zY`zY`zY`zY`zY`zY`zY`zY`zY`zY`zY`zY`zY`zY`zY`zY`zY`zY`zY`zY`zY`zY`zY`zY`zX`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^`zf`zW`z`z`z`z8a5aabbd908cf07b0f2e622477e2027f97cca4e54c2d651f6cceef1e0245abb9537dc913ca617dd3b64e0a0d6726a8d60661b44afd2836ca2e3362f5232c1af76877cf91d3f456bbbfede10b2104aef6f0543fb75c4fd1c77ed5eeb817362fd0a049f99bb80f2f16b953d5c5011fdbf98a3bfe2cefd963cab58546f17da83f60eb3e83e984887067ae91e3ef36553a3503292296c8d12d3b1d0d10c34b263ffe8ae096c15cc0e12c19fc104579a775b111be461dfc954d5067a0cc568f53f14612cab60855fcbae684e860277611de20ba736e8ade46571791d6def116d5ba4e9d4b49900dc46af19ace46878a20367408156166199dc83015c0c6c48c5323e11b686b70fb8cbd7c831698dd8ec6f8f53dbee942b683268aa7c0a19c408bf3947bb0950fd01b446eebd65c3e7eac66ffdf8a7067c006a034460cb78f3d3ed36fb863be3a8ece46366d50969cf71feaf2ae5ab38fe39d7021a63b679d16b2cbeca02caeb6df36f4ef5fa8e34b8b3e860968b7704d208fa59a06daecaa83ad33714f5007a8604c6e1e9ae0052713a65890c016d93dd2fd4de16cccf8ff8ce1a6728d792eb7d1b50d9da5ed3c89ba6e2fe415c37a918a687888d9b348af4ecaff9edc2d3545e0192a82d1ec1ea7d7c2e2c3a534cff700e1f6d6c0878fec2e0a3e9c1f2b05ce22abe7428bbc6094677ac16b00c86dc4e249aef6203742b277a2cb78bb5c7433891120096e7465aa5aae8662ddb72a3dd56676d523243d38319613ae90b2c361152d097cd025bcac246037ef28a422a801710d03e0bbf4618c61f7bea8537208372c09c8326b062b8a23b5cf08ac85ca77dac25d9739326c1d0a5a0d11e947a770316146f27e90e6164e2cd6d4bbb25fbf29b2219bff150fc58e05d4c8bfd9dc1f0588467ee2fe948f7ca3da2bda2ac55559e269c48c6276f58256d7aaf7dc46c2291470b6648fc7313e849a7db0730b25064529d19fe3c4612f0367113b3f0ce376e4acc454ded908f11fc5d73ce9145b8862aff6820bbbd5cf3dddca598d0b56b147c7b6633627643041391eb33b57af2173f1278c47be5a8b35960ce1875e81f35963033a71b46cd13ac21738e608fe3006e0af9e9cbdba2a17a72797aab1fcc7e66f306e48d3de55832d7886a071c5f9f941a1a871f2679b30314c4cedf0e7889e79bd3d4f23ca80f6cbe491aa486e7dd4d3e3359e05b5ec7e1f2fc4b9e7144988b03445c239d9d4b2e3c650048c0823dedc70d1378854eed596a0aa6e073400498c189d2b34f8ff4d1c3e0d05587256fadf737b53f780c8b4caca010f402df850d5c9190872d7df1dbbd2d57203bcf6ed127d0d012f1022221d51154149c83562329f1ee5b308d2f7990253770b325827a575a4f342b72b209cded3bc6435fe032dbfbddd12b60507a9de63ca436350d21f77fa901c8d0230a775c48be55250620694124e9582b09268b01406a8b1794adf8648c4488bfd709ee04ee744db5d7a30c1e9e6f5512c487a0e364580ac9c2c155306eae5fb2911c5852792cd6172b70305150d428e48b71de06bc0a2aeb212f735128735e0ba2e5be5a7ea54c6e3e1743154525f36265eeabd68dd929dea521f126426cb4cf442d73acc0ab0e1aaa5e97f39ef896a9eba5273df312212ba68abddbf497ed5244e5f624311fb4e4427558c8ac2db869bec2ab1118a5affa190ad23ebc39834dd22274bbe02303d7ec84e3ac96ffef1e4fa4942f60259acb64acddcec78ae4b961f49eb32e433ec3f9fe04530b8212d98ce0031a0c04c94e594941691d8c27f07c7d38cb1f1f46fe063a18d6acacde6eb155332e9004c935ac861b16b0c19b0f5fa237defcd03bf00824e13dbc54143ec4e2a6a9b1733a57f02b80f47967c47612f8eafcb5dec8a34f46c350b21224d0cd0d59d246e5f09fa120d74dd8af1c885af12e25c83cfc8520c2557e57d4e5a6ac740725a7a79fb9bda736a4336f0186044036b8837273ff2e4715ecd66ea703276208d9f35348541bc6c6a1f5a72b05542d6e5ca46374e11b94d501e1d803be1e311ecda722c5baeb89bbdf0e932ac460748c060b1ee65a84b81e75d13810894cddabaf7b3cd40ec218ad90d14b0edec0abd0f4c3e7346abcc30d1ef0e2cb8f38cfbff2b5161c1edd98253b9940dc539e8fa9967ff175fe1d2f72b48df94cde8484d1667b935326f51839c002f59163af879307334ca6079afdc06b31b2337657270ea117f2d0408ea93f7e40607ff55b8817e3348dbe9cb662b83d8797b5658ad0b6f31cc4daba7f5b54f261de25be6958f728b44070859c5564db0b1c2a02091f7ca30656a845bc01d2ecfd326c1454d6e9023aafcaa93905a86701ae696b4dfec480abc9e11042aab9aa7f2015b43b17b93bf4b9752e10d32ef5aef8192f95a52e736dcfe6914ae49e5e2b70b5ea578c9d0cef6642d68af6836c7cbc4e4f2c017969227754ebfd82e55ff169140b5553c2760436c3fe44d81376fc4729607735f711230e7b3584f2dc5bdba4a41240c1234467dd2a4e5a6d727ae10c7cd2e4c700e224e94bd4b89e7cad944e638d5357225a469797a11b727ade2666a29553b7e12ed204c88235ef4e36cf025b9830c9af1d01fce17419695b6622019af2e9753b53e6bb8f3317936202a51b848e6303dfdc082d0719875a82133ebe9001296d20f3304980c838313f41cbbdd4fe25e87efb91090ea0e40023b1f6c78a3999752c2f5829bf40f1baffaa2172ee6b27252aa3bb0e14ccdb88ba65fe5a00967b2e29b25e7320a8f43386cd1edab1781174cc8d3fb50e37632e1a296ef791f94e6f78efd6221f8984d19dbb21a231e1b340f061ab9e90b76c03faa5876c04526f383fd5ed6fdbe2c09475af49596d9ef244dc391de752a6ab6500853e680e32789b8cce3b47bb057fe5a828ed3b1ef3c512d47ace6ef63feff73d84a1efe4f7cef0951ba73ccd175eca9193bd344948545039237b3c7a260d9789c298a10d55ddef8cae92655565da9c62308e70717122f1ee89183ae518f56adf30263e6b491f8d24d51d6cb253ae62f5e362346328a6dd9cd929e48488830cc24259842f13e362b227ed79c6999e5882e3e9a9bf3991deba824dcfb1c532e6d2f0b142741544636f6ec2ad3a12b4257c9f88f2bfe5f1c8db1aeb5478b03597419591ebf4633a0253b448d5b2c66a9b6eaf94e0b2d14a395e5bf8d3b6ba14995a46195739d5b9f213e2dd236b4e25c04d940fbda7bf6a271843c644bf85bef7cdb3d7bab661395b7e076b424e07263e344f270dc0000468adf57142e94726ff9d1be37236c8b100047c811864b0b55920c1ebac2222a26cae07e0dcb4c58a23f1d349de31a5181903866fd9af6cb18f32eea957be776ae3eeae96e9efc73f8a894f3942ebe3b8a6925abdd3c56add0e58cf4ba1cfb1384dc276f515bb218c810640770c3a00d6d8bf069e3a02145e4961db39e3c7a71be428d19246828d2427457805e758300ce6f0fb67136812b0c6f55a117bedabb6073df5f1adc98f67f9f67a965d3e4d85372a1a4904b87e5217c904770adbba65b3bf0207b821cfb5d139f857d846c6070fcff545ec965dc1198895e37601b9ab056f1820dcec7ef2f5e13345e91761fdf454a38b09a4da70039f0a30ca7236827b364d95b8a591ea6ed66f2d3e971b66570dcd5a3fd9e479a81fe52b0141fa700bba14374f347b6b43b6f4a8800a12adfdb29a8fcc0f4484c4261fed88a6d5c377b1f2dd83f954dd9cea1345e05ce40438f5b045f4d92db6be31f22a160ed38126cd736d360be66c53e14548722bb10cb002e2a0c9ecb3fdd1893b4e97952222040f5ae2a745e8e22f5653bbeca416506f850783083598e0758a5c0385c22b71a465eddab5ce281b400caefcb14c09a2e50e14b2d872bd168b846edc1d5250d1add9dd6eb4e9b4de2e13c271e8a13f472ee5f0cc80d6897af8c5b2e0ae90fb92f20b9cc1104b65f8097a9c194369f06c51f67173f82423ba2ee84a2cc9522d40cfdc99e68b752a6d41e960263a373ccb0e9349323527b861ba030703a02da680b764976c7e6090504cb23aad5a3defe69d8f23baa1dfc3a571ff3b6efe294d00440ae45769a537f47a00cde9a92d21f0d3c474dd65b69272046cdc4d4750bb0449c3b014abf7848b1fa3fdb21cafff9efadd1226e408ec45ced777523581ce2bd68e0c5fe7b61b745268821681001e6fea4dedacc29a103317afa86619b88b32c317955cfd9717864940adee017d5205ab68298c82d348e3ba017cc908430b5e0ca77257083eda9e428d66bf4f60c76e0ab118e567d30cbe0e65bcb869f1daf94fcbf00f18291304e553a9b3bf5e8ba73a031af3ed70cf495926c798c1998a429071c6a9a9c12d5301262f28efc78e9871bb29bf1cc19d82ef20dcef84b0c8f2ad854ddd6608005e806ca2703a776759f81dd64cbca323e5f3e1623cbfc279abcbafbad59f44b6e7303b6590b0c818afb57f68c7a97ccb608c072542d5dadc3b83299f8115154851851da96240ed8a57ed750b659b18794e90ef897602df3dd83a57df4ed17c8553a5377d39d17a8fabca93890e91b4a4c411098c685b41f89be0b307c11130506b594b822535e760c058d305a61c3aac7d758e0d7033c95945a892c5df13cc423e4febdd8050175d6afca21467af23c8b55c1f2008d4dc16bf81b0c2cc2de4726a5088127c9f60f9741aeb82cae1d99e5e70a7e29072ab68099e69484c4b7c9d01bc9837ab4650e83f55ba466c9af4292068d5c9767849dfae027be2c73d68e98fac5361294f8c46195fd2a49dc43c04544ba86a6bba75937d6758de5dd79d2017d345d502346788a8da5225bc316be774c1971c97fd3d5f1f0f2ae4dcc1920bebeee6d15f99706a309ea843028bb7c2777179c8a7f4700b8587967def9561c0a8a86a416cfa8ea2061e699ef1a2fd9ac80c05cf6c71cf8e53f576069714247cd4a9736e72e1104dfcaba8be8ccf6f8d57abeed18d584f184d6bd3b20f2078b3bfb7a7cd2bdecaabf8f1e89f8d6a61666d3907ceedae8b665db93a0f6b3fc8ef21c8f70d61c331f51e705c8c11bb8c4a6fe1cd09e26d27a1cd29e99bb4d89b880002eb54d99d5567b553ce5a6e681e06048ac884a5789f9f121ad73d86f617df48b9ed955d669b216af18d3e770b6fd079dfb3760a1e1f8976dbf64dbcf3b80c295287e5ebe6a345120ac11f9752835f382fa6150ed4d3a5daa53f41b355e72b4dc2e6f8e7da53562fb4191369933b08ed25a8b7d117a09ae6d59d09c24e0ed65eb73128f866312cec1941b0d5222d8fa9bd842a55e079efdd6e287086bcaf6182fa41d96bade16e6d6f4bc0e7e117a2b87b16ef1c9a34ba79bd4491663fa6c23eedc86f7e81068c4eba56cd09a9bab6398289a50750c75e17fce9fb803ed2faa99d7c9a8687e4bd76d90441fa77920a99fc72e92e42869a9919e8381f4e8959577d4b2153370271d085e8c4488d1dcd0f92f177182b4593c0b68c89896d899bc2cbd37197efcbe8d16566928eb0cc1e86e71149a98358bde939a6e918fd6fe63eb3fc9632699fd99f2a80eeb6d48897f6daf8c718a63eec6c986a54eee2596a803436931a06efcd32ff8e9fc9338ffade69ce3c22dd65255a00f890938fea9918fe2ee1d3814d28e2414cb2a6e81d74acd62d8f6efe54ec38ef622c8580c205f4fe64daf2a46ec96819cd6ca8c1de3ffbedab5042908b909f86681c242a5868135643bc4b18cbc36af83ba9cccbe321e6c522ae1ebc2609a5fb751e91116f2cc9d11fcdf8ce687ce333c1a6d63f052cb47fac5f6ba1d744b3c08519d4f288e9938aa8da1700341f33e93ac4af48a8e3837ac6d21ddec906bf99e84d99d6e63a5dea16812ff583cb38a4e6577a0b18a809f98c34c3f7ba2d05d1995556d06d37e6ad241018f7f4d1e73fab24d534eb12765d5aefb877bcb5fa4e99240189ef8b716bce2fcc264fa228bd2b5d610f22adc261a9c37aca78ac3d23292c80f8014c53e10de98ebb40d6f302a316959c8301feb7cf29fd9ee9239afbed35417b76625d41c7ec1ccd3556fecd9ec9375b74a8ea403faddd7825a3f76fc9e3415cdafa98c5d62d432eb59c04498f3e8a46e9a7aa2d151be36072df097e8b9d2d423e7a6baf10cb408106e0a26ca1f4427a061b57dd9a2199e15d5a63e8c33f281a49fa3adf09b0d66e0aeed09cde6bb7880c91fed6e20881bdada310b6171e1977ea3d5672bd3dbc2dfe64b91cfb53bd3c9f46dd7fbe3584b9fafe5d32398c7762808f87cba0684e0ea1c1870ea92b412c21b829554d5fc48a7f825799f125b30adfdee54a4ae3865e7a75ad71b91c1385190a2d3fb876cf20cfc923a080c0977d28d54263631ff08a2acf9e9dc257305d67085393fdbcd61089fe347b289f2822db73b68620b195192469f5dc20ccf15f7e488faf20ad6c3515618b73db8ec9bb83d8d86b47a0594cb6a0d4b1de5f80f2b67d6ed58df3b0bffde23303cdca3c0b6f909b1f9ef5f675d941d4ccf39a2eb52a930a4b79038c1354813de4e4f3c61a1b803becb1043a89840281673f5ef5b9e02ac62e5d3358dcfd6994ddf7b5941a6215e1b0dd0dede4b7d625f24a04233077bf82dba51848f4743f67a83ac5cb87fa4bb8948f042a30c8f23f3716f7faee36761e552413bb37b497dd28277eacf008d4f770899d0041b1500557c17daae499f25ac5ef92e73bc5eaa502ee5d5bcdfc001fdc25dd1d8c7abf42d93757c1ec510ba924660a3d570fc6f06cd15f7303b5b0c159a60eebf1e35ab3a871debbbd1f0c87ff1929503b36d58ac1096c6b3d14e3d792618d6d76c6b4dffc934e7e4b36e13bf8f5896c8f5932e0d3045facfff9160dc16a63a792e149f05d47d722e222e585ea32e1fa0bf456630f1cdb1a8457789f2e7b7be6cf10a1c7006d507c639fd4e0f9cb38507c44da8d7061ed5f9ca005080a1e4d5a8d34aeec5b041647a448e61dec834e303d68b7971929541c920ebb89abf50a59f374e0de908551dfca9889cdba10916493cb246cc71548e00b9f85c8b1d43197b2bef294ef31a98e3c781e38e0d7942999d6c176e83e26da28529c2c8915ef3329a5d07fa1d1c4fa4759716a322f412f7e83ce25bdf74b141d2c07fed037b89eb48e17c1c553b0896241fc748e9d676b76f364fc02d7b82ec2003aa192796ac59ec893aa191354a66ec77e62f9be847eef8951ee6d046bee30ec55e5af210296f31e273190ad156d9e1b3427d86fbe7e78c55a69fb6bcae734a1bbfe6d0e0b765a0f0b3317e007bc0667416d04a206c94c8b559d475e15796bd8f87fd4edb4bfc13fdf270a479db7f254ed702ad90968769ff385ba43993f4eaaded836a26509407cdec165353c3405f6723555bd3e4d488d1e8cefe8bc2cd3fa67cbadedbb4e2578db7ae5d428a500902fa4b42b8a361f13c6d99d30101d85edf316e1c0fba81db64b351043e8092202e3194627e8bbcd97e18090abb62c2f38c95e2f87bba2d171c5d92df7a6d609b4a1c94aecf50f9a8aeff3e34c3fded18248d90134f55f7cb3004da4787e3870ebfb1bfaee7199edf46899700afb58f083cb71bef667b2df382ccaabba6a9c10cb4d3eb88c0e994b927eab678515b6eca4dbc86bfd4aaa4f2d5a9e9fbc8dacb18a97b3e682d78280c6bc5a8ab821e2c3c7d4af5edbe4ea4b1b9ff826fe14407fd5fad9f9699d7f078262ae80d254d27d93810a882e6d5f1a96b42918d13c30cec36bac805df1f95e3b9dbff99de48515a5c1e98db1f1b25ddf8c1fd13b257e8ab9d78e071558dbacbec18e5c10bad20c19f513d446e1c7a3e4e2106fa57f3ec08e1c5e0a421f7979aefab46d1cced9e3a42c0674c85f08a58951204f28812d1da8cfe203f1ad2b45ab71b713254dd754237642847ad735061727ab2828f5812f26b858326582b93f11548ddf73e5e4ce7a330c0651fbe50da49047fc35f447361723cb981660ff6ea3d71fdb7b1d2b3031ee8b3f8ada3cc1a92c34cf669ea4e57d236a0011e2ade719430baa7532eb008c2707681384d7ec6eecad5b91c65e22e41448819bb60476f7bf1f7fc38153c2ab1db78cbcbff592ac347e509e42cdd5ea6bf2db9dd76aaf89d9bb31a508f8ada4c5858885e0d8ad420cc4e63fecd1e280f40dae59bad4597efd233c233c94de6902b0764c1674d279dab585e3788ea52682f2e8b3d3a729314e2f4ba12fd5a7f41f02df206cbf57884583db1c12857d905720a36cbe396a5fbcedc8f76f2c48a314456e0538934d7ead013c1cf02291488fe884e274442bc5e5a9261e30f4c1aa07040baa38c3f8c639d59b27686082a12e4934c8735f672535a06e4f95ddf75939211265532a5094233394b0c14aee4a8f6ff5313f662163227fec305cfc1f2bfc53858fdd8562e2282a9c5c6385dc1d07c67fcd13cae082084c0ad9fda07163a1b8ff667e40872acd372074c40977260a3e43ee9e2589b530809c0841b8d6d145b960f86fc9314ff2c8b6e793bc6dec749ee110357e4e2affcb441b3a7add2ccf52ddbe2cef9e48ed3b41e01167d76f59e506c8a0a0119a4a413a5d33970999e9fa40e96b601930eefac5831e469ea546590d42fa019466ad5766060a178d03bcac302fefa9a0215c3cb3b2c51a100e914269e67db9e866243241478005133281c3bc5f6f0f4d43b7db6d3c0f3a30f59cd2895c82c5ae38d30b62c02d32ba96d0f1624ab1c84406f42ce1ec4ea01aae79cad6dbcaa95364002320b0bd2900a46989e0da256c240b0035130d628fa22bb7850d9b59b267f35263334201bdbb1457f03a22ccea5c53dc8e7165e8f5c54e72fd1ba7d4c479730a3b0471634a1f3caa4eee78ba179ce960728a0c62fbdd859edb30580b0d0e1913acc9a253a0c4fec6404ee299f04f97f2009998611b845a4ceebd62d954dd964fc70ce0bed6d9d976be005dd4bbcbd395535e9fab9176172cf6c90625060b4507e682bead6d49ddf78f23375bb1fdbda8429bcbc50f63837049cdfd8d03c1a154dbd0a4ed3f65a4b5664a88abad5f4e5c62dc0b02cfffc96691b0b0d90bb4fc124fe91ead6d49ddf78f23375bb1fdbda8429bcbc50f63837049cdfd8d03c1a154dbd0ad1e3ae7c32562723ae3a56b9153f7a6dbf2518ee7844d513b5fd02043d61f4eb8170a326d03bfd275ad0787ea81ab210092be7259498aa31fa0d1d654dfe86f58f223390cadb812db96c2d8de2411e785cde5e3f074c41478c7da963a7ad459136529c207f3d537a22f865916c81b611e404a31bf7dc59de44f111fc09b1c2fa79659ba31d6e74751a223e7ff36a2d784cae1d91e965ce9af08513a80ededdd740809687105eb0164d0a52928630628505b0b1f5f75d27ebf11bf20f25dfcce04d8bbd652f45cd366b79e185fb9589bfb98b6793455893767759e68e231938f855b9cd33c20d7f953921174fc221b4d72eb8178282186728199d0d1bcc52313f4d01b99f4c42ce9148858d22db6fe001745019a74b9c42c65c533f6454f751f2b0628cac686194c463c75a008032456f96dece439e82a96bc3c3da57189828c0d4b66d923f517f383164b55fea7b67f35e77208e72bf6f8d04fe07f6a36807d342f084c9d385869142e0d4cb034eda19eec8ff0b1ed1a8082848d253c05a4f28c5cbdf119e0c504a7ea2e70fc954bb50513f2d2973f8711e239ac63be25b39ccb30fcf48340a899b72da408c56b01f8c8889ea8d70032bd8333ddd8431f58166dd6dc3c0b0ac79139f42b5bc5e2b5bd9028b65fc5b82083b61e8a4d28c8522b5caa62ed22349968a1eb4dda74ecfcc3eb54443bd8affa43a8a3667042078daae3161b357940f91ce8e38b7861e18b06bc5e628078381a2914221b1986222ec9e8fd32ca89e0068dfb7127550fcf123183cc3ae270a926105d7acfb2d3d0e890324ecab633e2021387dc97dca3cfad1c5b8887dc7dcd5a558b39e48099d860b05f15f493c5a6ab75614ad25c3573bdac3be378b21108c185a64b803b16f2a93ed4114dab3f5600b28eb4efb2b0647eaf1039d8be35c21bca13f67177ba29ce8dc68b368d67808bb073da54ebe4d41da5dea5503236c671899d28f9ea98d13079c42f07c0f1fd67abf34b7ea6ac58c950e9f4eeaf5fcda2078bd318d6598b5e9cfa4480610a941518388343cced47c80ca9348297e4a3e1d61f9a964e480d0dc7ff6f8d200a428066a2166a96da5865cc1521ed618259112cc26df867378dd8f6588a3915fef12973d8b67ab54e8c513fb7057efaaf513477ce4bbab4f1a227f069506b441b95d327dd5e268b9df1b2a8958395a3f8fd70472824a1a4572540dca3a9982bba40164dbde4085753eb058587c8f01f123324b621612a2193e9d518d9c9c5a529efca8369a5935bd95f5b2334a5ec8da7dce0f62fcd0f318bd3421f45889aac6b21f7bddf11add045a69dfbfa9f3e5e83c56fca3c659b72bc835697d2c194a7882904e6be48d1122c737d73b99ebcf30aa657c3287ae0c5000cdf0a049af584d275a6e5081841a9b7db2c4d2d7c2ddda1d9c05808382a7d50bb0b9f69244697a934dd9f7418787a18faa4ec90ebe6b83d50587f2cd99899cea23300ab2a53ac4995bc2b9450f2cbf9f835e1092678d5ceae054fc600cf647a2a793d9b6aaad7b3e770b7f840ced8f169e094246663adccdd98870bee4494ccd5f6538ce2dc320d338da3259a7f0276b0daf3358d3448579a8efa1365d6319989b303e5e463c7ff4d2024f2694b5f302ca301dbefdb9efc1eae6247df9a00028f7fe3acba40290743cc857ee6e0ee36289a7ec69292c0fa22ef4c16cb324d34f16fca9ae7a0a1415667033a29a41d2d3e47a71ef126690cec11bc3909eebc068f35a0e2dc1e8203bf0dad4a4dfa49490916fff4dc9fef87bf8d3b74c2d8cac018298e7bd4c6ba57ede9bd447603a078d7f32415925a6f60316508cd65aec8152ea0851821a5e9f306c31556f8b9d1997d8135080beb2a518e8944f547d6b89ca5a66508c9f1d4609ceaee0f4f2df85cac13f8bcbae5b1b28b1bb9beb2dadcf9b1900239670bb360d1f7ff155c27beb48162bd407c148f5bcecbda471160ad0c206e1ab4c74ce545e69eab1bd8f39f6fd138d5d3d75e1ac0cc6ff9da4601cee0b43cb516ba9b5468d392811851dceb8b538a532a595fb4c668ef39f8e9a6ea27420b2b4dc412afd1e91d149fe4b1c8224b4e148d990b9e5a70202aed37beb6fff679928eb5e4a9c7dab3a43ed30efbeb42b6014f3ff7d2832f5c4c5408701d6dff6c7114417fe3e4da7fe146a14dba2aceb1677a110ef1196122df112453a1c1cdbc2dfa293ba65126e25891f5a1e8de5cfb8c18dc2f75837ff39ec5ace9021667fde13f9d543199b01338eddc82d5ee57d480376fc548ef8ed0845a66396d60f42a822d5e43be41e47c8c5961fc2dd33678d3f15e805f97f9f7e1a67b8a2fe70f418ded8078dd9c1368475fce3d81e336031d7a3e74931bba8b8b80abf1f623f4719ec41ce860c42f28aa44029cbb1b69bc7ce335777b4cdc7814f3480fd4281c57a72e663c2e34bfd9ae2a12c8e9ed9cabcc081d650ffc52aefbb10620bf8408fbf648840019a1a6b7656fe30253cd05a5b934de6037130161a2a045296e9336c7f12b7bf2e7b3ebfc0f476a1e1e4b2111afeaa05a460a9d84f6b79033c1fae23b65490455d95204c45d23d84cfb3a6984d916bd874b8a4342f7a6839fe56ad9d4aebe7c58ab264d5225cafebd632cc5a41afc086c618fa08461a054b1e50d2d40554f6bbe38d099f899171969e8974ef6d217e90d063f5854cf4d14a1518010f323f0596daf60225db8dce8de83b7b9fc889cf301b494865e500cb5fab0febbce9fffc073a1bf235c34e44c71d1c7375c4e4a6efb3b6789523143110c313ca11e15089cd429a7b059cdc621ec20be865e51f0c0c9a539f871a00e8014f679c32b35cc946d134b81410f9ca6b4a4d1a03659ef693ae91af5f40b922aad5bcf238337a3186c72ec7d7e9f49bf7595ce351c374303ba82f6140066dbdb713032ee64925af1a1ba36ce97e55121e84abd525e300ac7bb3ec031b42e7aa289e8d18f2c7d74b23393ea0abc3c5d1e2d66446ed84c8b5c7dbb1863e42f6626b708e91e8f4bb7454bdd7de70107b720ea2fd6585475cdb33350d9178463437e48e4f9b353057beb000a2557458f63d4179238bf28f2e0ef2545612b0e7e895eefb0715fe5dca032e9f0c69d235f5bfc86bfbde1a2fb5e896117b6412511375620bc0d9a5a52d28d6bf054079093672d136a4a4e24ac4930bc80be39f07b700ed47600e5e258558bcf04476b59da329892db70fa8d46f9a5fdbf0e7d3a32b2f7819427486b6aa77741f1b08331661e3d78c9294360b4df4013aa64bade84d8526941435842381259708ed6b05892ca6001e8c3f2a95035750e35d0ec8cad9fab977061d86d530c57818f37c94978fb1a51cff91731273347681a489f424ebb0dee0ec83765a0ccec9a8258a5bd89a32b47b4576e29f716e9bee1a7ecdc6771a28673afe4ceca4d354119c913bd8ac4a97ac43a666acecfdd41a615af9fc2abcd8f47ff35c337317610efc619eb3a391e87bfe18a721cf39e7c57e78467237d7c1cf4316221cbaa71c778da7d0831a1bd5c1142f92d9d325da962d4772be7958e83576c95150baeb88adaf9184b23868ad1ebb2e7a9051b549afee519dca76e7d3ba1d0e66430a129091a82db0436c025cbfcd74fb839ac7eb538b709a64bd1468c9cd79b8b4338115e64f1a097bc524f57e1990c913ae87e8173133be67b6c58cdc913c37e394651daa9e519e1ce409ef86504ffc850490cae8b498f21a6784fa84d375443483812272a35decc7ec6b807ca3126521f0fc11fa2df6dde6dbb4ae6962a01a4d08fe78f1d243e73d5b272c863681b8d9b727cead04cfb6652b74166429147837d9d38ebc51f2f83c339793c1b9f3567df34683290de24fbf7b357b5cfb8db15f05ed1acb10820b9d9b24e36330c0337c394a8491494c4ab9cd877af60ff24c1f107efcfba8a140b3d9e6de66f995b0b0c550934a129ae045544a21b6e89e42437a4df641d15a24ac9a8cd987a2ad9a8df1fa333caf87f9c8b402f9a4a474a079cb2d78ef89c22e497a5a7dabf539bc17af6f516fb3c3302cf8cc5776318b31cb859dc696a2702c18505af6796f35dbcf6cee29f17e409546db7b7546f6d10947093d6ae0bec924623261c3e49420826bb73f3b6d7d423eb1b0f6569eced0ff1637d54db5c968b71c6ee9e7aeca25047ac769cc072b5dfc65fcee22378553e98c9f2282d8fc8bec44ad5d85f636021d98dc9709d8d384a0621a65cb20eb7a09175325d641c15b3234c758120063a46e065fc96f4100e8f9543583a58784c69f6424ff4bed69d893c08b1e19121691932d09f6ed15e9bd277e13ed2a14ba99d82b2cfcb3568de59e9fbe932ab7ef6446f804ce42b693c36aa04e85749eef29761e5f4562cdf284555844409bb277e39eb0ac7ae9892f0cb8eb94abf7f296bcc6a4ee5fee74eda72b26c8040bf7277289c1887e19b37611eb8e62727949012d132d953559f4fb050d716777ee8510a363214101f2401b4754dacbbce9d8a4f4e39b79397cbe376d218c8620ae1ceaa0b74f7a2cfc184ac660ae15aa11a4b2659662152fac731f47deaa8f93def96477ea22326667d165c4e6015b630c19c46e83e70b7782cc93f47a380a3aa412915314db98ff3a9135bf646c8dceb9b77e74415e86f57704a66005bd4c0d93e2e9514244bf5e7767f0d68ee2b112148ca1b1d4c6357391d79046bb3f576838dd6c5667bd69ef2e05ab580d2b5867d6df09062b1623fc0f41cf482353f7c6922debd93be9b9dcdc8cf9434d1882346e570f7dba5a45fbeef5a8d4927fe4d7532bff7f2360789f1290b4a3e6e9907d091b4061c9c87a1c46d4bb13d60519b0a70211acfb84fa3fd31ebdbed10779844440f86cff0c1cb8188c7e549d44a175c2805e5474a624301405ca8b5969963f6ef956da0f0c4b8eefd2a9cd9eaf1825540eea76eae03337701581d0ca366b2a4a8fb6b8c3f52f5858a2ca6d3bcfec005c3183b634810735a0f6e470dce8d9da8b96ddb8f86a67a39a70d955a37918f81499016af8f44b73a26683674457d206905df84cde6f859aa24ff1c95a23047c79da4eda1e52951c90059c80896b0885e79ae7bf7e0351b707f62d4c7b40b5ea9038563242ead18b7cbe64ccb07984c9e9fd8e822c5bea73e80d25cf99301df72d341892c709454f16c115068f93d7b036de7922cd996fcd5a67f69be99c7e16af06065dc6876167833c9ede293b7d9582266b12f360dbc3a8686a6b47989c717c8d8589ff99195e7f186aafab1327c4c0424d0a8fc73aaee79a97a7cc9df952b1d5c06ea145d113ebf98bc9619411f56fae726e785e346e27d1ae96e58b102470a42000ea9222d58a03d014c5431701a918216e87c433a929ed7f5d37097dfa721da22466689dc5fcd6572f2e1c14421a3b9865233375622ecacda1badc94b913172289f03a895a12df94ab3608e13c2d60a702706de6c341227e5e1288e5759dce4bf687e96be18953722fe8c80902be281129de0cdf44ff1893654c367541192eddbafc71f12a1c60461c87a085ea00f64a35f84cef22126bbf1905c81d5e32dc47df07094c3a4340b9b10874a0a1872b61a600b26d516a7af040451e3027b0592b7299538362366bf0a064c2c4ec067bb4d2e0dc46314e8e13cf78460e84b2ab294ab0b5db4a0186f9423ce6d8a70e22493d4538fd68b48b1ffe29f07d5e34a597830827d4c3d63bb6ee0b9e554d898624ebd81266d1c93fec58153c0881c9b6a4f1df10c4111ec26d8b849096c5945d427fc3a918ed7a650907e0ef50ce646c11819a90cbf32c1d6abe1591d26dbd93773ea20ac7f037a6cd62c87cd0bee1d15fbe7f18f8a829ee91267b432b09b40bd7b93a2aed3f8e59d9c1ebc92e6ba99da540d0f87bfa088c976df1dafdcaaf2ccc747f2c8f14b277d23abf2e0fcc8e48ba16f37e352fc65ef294f77da9d6c8fe88d1e59c23ac76c95cba97f29a890becd784b9f1c97f368e71d3ae696fcf5ca48f3ffa6f6297caea69bbc158e67debd10315d960ad09f3c9df7d367efd0c3e086a33883abddbda1636add0b8d16328f22595f915f1c05d766b68cd5017763afe39836623bb42618ffbcacda10fca203ce60fecb779a282cc3e35f5cea39092acc5f58300c20d13aebe76f9d47d29d4ce2081a9f2d93d4d749f051d206e5d44833515f014798a4d41e00f053f22e435148e91abe57d39619b61c3bfd2730650e5c9139eccfba965f36704a4f24bda33d2f4ff034434eec035e74e99e3aa117c3359b217261a254c50f544209076643c740e44284598809cd52554617db667b3339c8424dafcaf6b10269f8c9548a9ec05e9f6fbca2f59c2ddb8f6cca9a2820872a9ef0f122d8af0381919e4bfd290795d0dd5c9ba9c9cb582c22b007f088ce8522f5db7ecfa6e2237a307b14c10bd074ae9a7377c03672ccc5cf1d9c5baa9e4b39fba6ecba8c1b51b3d2e24f277c4d3cde2b5651ffa524c562e4e0b0607768f46c2505a0f5d6c6bf92b94cdc5864bd4d11a4f274001bbc7c7793bafcadd81f9422dc7123aa683402c8598f1dadc571b8f4ae971caf143f2418f2e07df0beebe2f40a7379dd9f0b0ca21b0c814669db768174f402824bc02d6206629abf2728bdae843bb26588ba4f42c5c6fe479084b28e220cd99ee0552b59ac168eeb1948776d31e48a0eeb07cd08f629c1492af6e304346369d5a140f13696bdf242cc57ea9c66f6ddf3f926398c89b782f3ab9c8fc0a21a9026ec029482d2892562e6728f4dc272b8d3d5a7483dead57f34c1927635398a84eec66faf227785d31d72127ca81713e2b6bd5752edf23dcd2f6be74884441f4d9dc464e03919adcc201e8316efaf2e488e82900a80b71ca1fc19a8dab4d95667e4f2d3ca8da770cc445ac2b8cb05efe24060f7fe5084e1bbe2a563042ef4b6edcdc462035ba31e84cbc0f3021dfee90ca78c4acbf46a3ec15312171494e558c51d56b8976c26a668d1d488bbe1280283f12c63ef3be148c38c204ff8aed77aead4d5cac3077d2ed454cbf03ccd675fd5006d9593edd68ff013c674e4169fdad21b938bd952efb4f13c2d1ab30db54ad55ce92743ea57dd8202dc3c1e2647832c5578c3ad4358cf37dd01522e3de358a16268ccf19eea0f55378b2596a9012496fce0475b962ac92d79e684c4fbc3887f23693781a9b31c65e3a2790d09fba56de41ea7a7bdf7dcc879e716e5eb61f15a1332ed64bc104516dcff6afb7679676fd329d77ef24eb1c91628025bc24001f7ea543a706418bf9a9c40c9df6c8b8632289efd17b70846e0acd5957531e01d43b0338df9d9414042bb4700abf1efef4e8b699e254b80e580009ae9247a2230a2ad5aecd5989c4014a4e45eb7c1c7090872674ef7edaf5a38eebf41e0bc917c5b3d215266a8ea8449d2a0dc840e83b7e1d28475e165bda6dece67683d363255447c415427ca66cc867332c888a52672190ee3cdefe9a55da83168f7d72fbee804d37695f6462c05a9090eede29499e915625ed99154da68806b963b3dcf6834b114925691fa293f5674a0498684045dd0cb071cb0daf49e557fcb2bb268a4da75d99d0f86f38cce76c2204cc961514f13af0a42e253f3cf1f04320316b59e1b11b16f0d930041cb9202e21a50f4fab2cb3bf35d682675dbf21c508b378748cbc422bca98cc777eb617ab0306af768ccd551d49807ac6937cfa740141fcadd448a2e3c71a9ba7c50d49d5d31281f8881c97e06a3e572ad4a1389bb21731230ed55e225fc4d84ce1cf61d357708ebddb518def97ed92db88a57fb4cdcc2698626703f1807bb5c019f713cd56247cd9de2a90ca80f802d9b73e3fdf55ede5dbc072953af560bcc542580ed663e3f10970fbe8d3dcaba0650c72da430faac7afd05964185d1a319ab86dfccb7507bf534c047b1059f6aa3db50328b69fefbd58b8d3d19d5be859732717fc59edb68b9b1ba500c3f12487935ab61f93c2efd9a1680d8b04f9c5a8213ef8b6a9b139ba23cbd39da287be88c98386e030f293343d94ebfb2c0587d2615d8088ab1193fcf0b15f7c313d10a7f73c04e82ca8c28888fda26b3d3a80145db0db4fefab54cf4d5b52050c5fc2a2d212c52634c1760bbb31b203675b1341fa8def79f23c2645411a6ca1936cc62b79f4a8de023ea2eb287b09d9638fac3718bed52b0ecd1ce2a8382d0ade43d08230aac937146cfddec8d7329c0cc7bafaac12bf430741c36596d7b64eef081c4421d6d54128e1be0638bd85a6349f000ad4e83ecd61eb57cda7c391fa54a265739ab927356e1a2135bf25f304b914c83e87a1fee3884d2cd374f12b5ed1ca5790857cc4bbcc8f1087f4517fb605403ac7de1d6830b4b49271668dca9cfc9169959a6b2c782c1f5db080ca19e013ac99592d690d90c5be986072b705dcb583e1ea8300f1fa67c2cc5fcc3857b5bd856499279357b340def18a8c6d05a52d546d8f3b6727634998e610e08f695a6e20bb756d636db2a2e719ff80ea03e88aee9208741d0e242b2096fc417a9b2beab03d93f30717458b034d2bd2eaed668754bf959e0ecfe98e17ec88de7eb2ad3ddd37845f736183b7d3b5bee00a0f784f0864dae6d092e1fe8af993c108928fd679b27a5f3b043e84a1fb5dd23f14b47b5d65ae7e127eed1763b39cf7127c4edfa9161810c013c999bb8a3a49ffc34e2f3cad2c9989f660c5846180443560de3181a5bd2679477edfb92da913cc67c845ea42b87a117243479add7b27dc743172481072fc0847829075a4ffa8e1779c016519afd7591030d85f9b9605f481895fa43b1a8ff73bdbbdb8862b178ddf8969a70d14419af5b6fa871feab87c4f808b68f13ce1ad05444137266619827ca199b37ba4c7a8c80ec46b7d2a4d9b390a94967abeaaba0608a5edad8c419e17977dd96625adcb7bc9cb92ad2e6fcddb1334cec48960a185682f133fec1040f3f1b0e93180da657792b1134e038658710c249a3981a4c781cbeb6ca000585fb242836a099fec8707d836678e8f7495ebbc296874c0a9409b00776303228ad61bd5b997d7229cf4780e528d5ac69401316c9638f163a15bdad8694e628406112d4a9e5f277ab88b23cb7c68bcc688381d1b659953534f26a589244b3872459577a6522364d86e864a32d85fa99a44ec146d1ad6923a6fb7a796760f31b2e28d584ab813f0e0ae8b5e6e5ec7e7ec93d469d8090ef4467190b68ac7f0c8cd986962efdd0808a7390469b6276b7258d16d883879240f8e598fd8ff5f0badea9775fb31a932e232dfb212c223a27322758c1908703881b384576158e28bf2e0afdc7a59504b146f31936e4633555bb63c7033746d602f3b87f201aa5d064848777271d8035b2dd1523f41ce7f219aab232bb5fb5e1632f47c3221360cd090d35b0c7bb84a069439d0f27727117e8a59d06d348051a746f2432e129f60b66dbc82089d54e5bc064a7629d666303afb1f732689f7e74a7457a01655a50c18a2bd32d9573f861343be4693d7a3bb1f4001ef0713e8dfee0f45f254e10349c416207199bd38f9fb8763fc39f323cc0a4c45fa1046da746f0ccab220f5dd456220cf4698f3c38d701b1eb2ccc6f8b394c29df366f6050f3bee46b9a4bc5a2a8ee50fa860fe5a9b947bde6b1ae6a1bc94be707d72866e9da7f9c84e42348fd8919b75f70a43e1e9810f5b5c93f9b7c2ac661d8b6bd97976a71cbf00c7ee2b36b5385a270d268e3a168343b852345eab5fde4fcb902f47b87f3b1f840d57a5afbc92fbb737e6201ff5102f8ad71fa86b92798adb25daf49733ddf5da69c940d962bb9f714868a40ed2318c7b3dcf918f9c008144e521a1b939306b6e2ef7d478f7746a434722086533484651c4a69b5956f3ec0c4da8fe96e0669548125ae6382f23bc0a83ae7af31c7271ed1dd2b7c792026772411d5deabacee58ce335f7f368cc1342b70a933c2871fc71a07a6bd181e132a674d31736d6bb2cba7c35f491001b32bb4ce9a157f40f696cbcca1bf5de9ce95042f7088a3fd35ff777065d9f9ad09860784a990f7d2fd2fcd2b30ef219ae3cdb8e92fb843c64abe619db490d19230a1fea6b851fc079265eccce108402512a0ba02cf0fc0f3e64d0aae5bee23aaa53dae89ca0d86c930520bfbfd20873b0b79e08e0e405a5592947cbb7808b340b7889530a3819c21071d8ccbe1a60c8ec30049a4552ca4b0e790edb73337ae152883141cf198660d45e69cd12ed571753ba639c1e8c3889c41eac7179c5e574d9d95e78a2923fb576b0635b47f5b615a0e492c806d42884c2fdf477f2ee6b2b2a9d281dc3ff11563b6f86b697a8494f9ac3ba90e8ac4f8b9cc1e5d41938be45a368f126a6d1fda03d60a3d622dc75e776be4e90c2d2c6e6d6a009505e345fe949e1310334fcb0747f28dae2856759de102ab66b722cb490c3b6a0d586bb9dfc845b236cd88877065f84483e3bea2153b4b831c34c3055a449d1cc40adc7e874d81fae1ab82c35ce2a0a84cae7141a582eca2b26e94fce81b0f8d115921fdaeee8ed6c5f2f8ba09da74658bc3f1cabeccfc908a891b04354b2d9bafdf8fea757bab853b1cac4c7df00b2256460e95c7193a028e1917dce5a517d0766fad40dd7abb8dfc75b687bf505cea3bf4a099a14f67ed23b18b15d94ab6def9ab2eafab299f858750ada144f1ad8aa9e42828bbe7dd063003eee8189bda802c3e35623236807dc79ef77f294376add03f2970d4fa96ea0fdd4fa12235fe0f36703db6976777df545a48790a918cb27dc48e3017e5baae6c4a0917794cb58892c0b0361499056ffefb9a7a4a3de3b3044d3618f9c277719126154309e80944c93f907bff96183db70e139d0887c167d4ed6047f8c24a4e703ec34feb912fcc11dd1f8b605914b19fd67e4bf66a19b57b1785b1b0664b81a6cd2946d6d975091465cef959e073fb2ebed32d043b06727f31d316ff152731ab8d7b39d0cb8b225676c8487997f15132b44256786f2b0cb73950832080a884d31c1a66b6afa1792e427bac44a074273293fb9a1c9f7eafb75ceec91121930cf0e5e58ee17eb0afb848744651f08d895e5ea0eea2ec6e692cd11e988fd8ceb24c996fc3fe2244f9a8c0a9e09b39ea53083ba528ddb4c7d4366aead52621621b03d9c037bb0e302a80bc4bd241b4c28ed1fe72a0e4738e9c2da636b9bda1be63f446cea1e158a6010210a214b120e06fd3e478982c43f588917d1d0fbd902af162b0d096b8d0de22cfe0d0e9e28f8defb07ed3ea9566aa218619912817b9c48f2876de538f9e8914d01ed80e90541a91004b6b5cb86dc9855fc5930f1580a7878088be094b0146a1cd7b177d7b250c265e27a65b154e24f193a7ef85682f7ebc62a0bbe64aea8322d23b9784eb36af0b639c9738ad35cd71f5cb79b3acea344a48ae19f0321a8f2c8863fdc7c7efb652cd25eb62a3120ebe02c0450c30735b839c813427a20da414c79a46a3304f60b896a6b3da0bb0b63c590d16593e70f0e13cc70b7bb6cbb927fa47699e24841fb7c297355fd24f40c835d42c2fe873f8eec453cf784f32af74f6596f6f832397eab7f15c793af1a06a2dfed2910533b65a78a78a422cee268c7c30e91e3b88333dc55b86c9c472d007f86d5762f6f461117dca84de98d76fbf811c4179dfd9775d3aa635e005f4d8fa251cdd4c8b50987f5eb15bf1653b6cb7dab9742ddf9b1faaebf1ceadf760731dcb3e3028f9e89c156fad6cdc22f91501b7eb343884cd47243de731000d4628ec0620458e4bd2226e25fc922e8e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855mods-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(aarch-64)radiusd @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@     /bin/sh/bin/sh/bin/sh/bin/sh/bin/sh/usr/bin/perlconfig(freeradius-server)coreutilsfreeradius-server-libsld-linux-aarch64.so.1()(64bit)ld-linux-aarch64.so.1(GLIBC_2.17)(64bit)libc.so.6()(64bit)libc.so.6(GLIBC_2.17)(64bit)libcrypt.so.1()(64bit)libcrypt.so.1(GLIBC_2.17)(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.17)(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.17)(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/shfreeradiusobs-arm-9 1624472267  !"#$%&'()*+,-./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_ports/01d40a48b058f57394a1ecc1551a3e1b-freeradius-server.openSUSE_Leap_15.2_Updatedrpmxz5aarch64-suse-linux  !"#$%&'()*+,-./0123456789:;<=>?@?AABBBBBBBBBBBBBCBBBBBBBBBBBBBBBBDDASCII textdirectorymakefile script, ASCII textPOSIX shell script, ASCII text executableUTF-8 Unicode textELF 64-bit LSB shared object, ARM aarch64, version 1 (SYSV), dynamically linked, BuildID[sha1]=15384c6b5bf813521d53129a19069b11f7399ad1, strippedELF 64-bit LSB shared object, ARM aarch64, version 1 (SYSV), dynamically linked, BuildID[sha1]=ab695e254958016aabc6f12bbc2b61b25b5cffd2, strippedELF 64-bit LSB shared object, ARM aarch64, version 1 (SYSV), dynamically linked, BuildID[sha1]=61430bff1b9561105d8cc749f3d88e5a4044673a, strippedELF 64-bit LSB shared object, ARM aarch64, version 1 (SYSV), dynamically linked, BuildID[sha1]=ccf823e8a3830c4670d2860174ba7064a1ac2e15, strippedELF 64-bit LSB shared object, ARM aarch64, version 1 (SYSV), dynamically linked, BuildID[sha1]=4c49ab4fd4059e4f1c0a0887a60664ad4b469d76, strippedELF 64-bit LSB shared object, ARM aarch64, version 1 (SYSV), dynamically linked, BuildID[sha1]=48aa03af9a8e50c0ac8a196a646855ed63b89d8f, strippedELF 64-bit LSB shared object, ARM aarch64, version 1 (SYSV), dynamically linked, BuildID[sha1]=06152993cab5c48cca0b699916b43f397ab1c008, strippedELF 64-bit LSB shared object, ARM aarch64, version 1 (SYSV), dynamically linked, BuildID[sha1]=86354127665a7d3c8d14f7c80f0923915f70a69b, strippedELF 64-bit LSB shared object, ARM aarch64, version 1 (SYSV), dynamically linked, BuildID[sha1]=674d820f20f3519ec15e577352bb5f226054cc0a, strippedELF 64-bit LSB shared object, ARM aarch64, version 1 (SYSV), dynamically linked, BuildID[sha1]=3d122492a105dbd6f87fa07e78860836b8487c85, strippedELF 64-bit LSB shared object, ARM aarch64, version 1 (SYSV), dynamically linked, BuildID[sha1]=c6951f66196e72519891689ba51ab30ca2db57f3, strippedELF 64-bit LSB shared object, ARM aarch64, version 1 (SYSV), dynamically linked, BuildID[sha1]=b391dd57aa30e9d9d11316d896429d729eb920be, strippedELF 64-bit LSB shared object, ARM aarch64, version 1 (SYSV), dynamically linked, BuildID[sha1]=6e1aac4fabb170cdfd424c0978856c3ad9485f28, strippedELF 64-bit LSB shared object, ARM aarch64, version 1 (SYSV), dynamically linked, BuildID[sha1]=c737bf0a81f788d4f36f4dac7dd94e5845d95298, strippedELF 64-bit LSB shared object, ARM aarch64, version 1 (SYSV), dynamically linked, BuildID[sha1]=2da3d5f5e2b4627812e4638ec03feb6b1e83ae34, strippedELF 64-bit LSB shared object, ARM aarch64, version 1 (SYSV), dynamically linked, BuildID[sha1]=c1f82f98a41ad13e65f7952aa713880f2426b985, strippedELF 64-bit LSB shared object, ARM aarch64, version 1 (SYSV), dynamically linked, BuildID[sha1]=e62a8e106aa04ed2b91b6747dd6f53378a84a23e, strippedELF 64-bit LSB shared object, ARM aarch64, version 1 (SYSV), dynamically linked, BuildID[sha1]=0382ed16d1fe5b3d6ce18b1a64ce1746d7661352, strippedELF 64-bit LSB shared object, ARM aarch64, version 1 (SYSV), dynamically linked, BuildID[sha1]=869f024404707bd980491086787653234ff926e6, strippedELF 64-bit LSB shared object, ARM aarch64, version 1 (SYSV), dynamically linked, BuildID[sha1]=b0d4196c0b26ef38b0d5d1451eac8af918420a4c, strippedELF 64-bit LSB shared object, ARM aarch64, version 1 (SYSV), dynamically linked, BuildID[sha1]=c8615933fa5a318d1393c4ea0fdc0b7e6e05b972, strippedELF 64-bit LSB shared object, ARM aarch64, version 1 (SYSV), dynamically linked, BuildID[sha1]=3468677b9cc17a2b6b21dd249ce69f2d57927de4, strippedELF 64-bit LSB shared object, ARM aarch64, version 1 (SYSV), dynamically linked, BuildID[sha1]=cc7f49b21f7a350832581d67fce40b794ff88bcd, strippedELF 64-bit LSB shared object, ARM aarch64, version 1 (SYSV), dynamically linked, BuildID[sha1]=aac49220a74f7a2e49d8f8490993c0b5b6aec397, strippedELF 64-bit LSB shared object, ARM aarch64, version 1 (SYSV), dynamically linked, BuildID[sha1]=26a6c7dbcb82ec52a304a3ef16ff22aa12d001f1, strippedELF 64-bit LSB shared object, ARM aarch64, version 1 (SYSV), dynamically linked, BuildID[sha1]=090cf372b9a62d1fefddc49ca8a120b8f98c18f6, strippedELF 64-bit LSB shared object, ARM aarch64, version 1 (SYSV), dynamically linked, BuildID[sha1]=e2680c674bf972fc5e0c1908d0f682d835560c16, strippedELF 64-bit LSB shared object, ARM aarch64, version 1 (SYSV), dynamically linked, BuildID[sha1]=8ab11aa863173bc11a93ca4f48f9250c9f07634c, strippedELF 64-bit LSB shared object, ARM aarch64, version 1 (SYSV), dynamically linked, BuildID[sha1]=0de92dacb73efdf890bcaa90682b6b4247f0de87, strippedELF 64-bit LSB shared object, ARM aarch64, version 1 (SYSV), dynamically linked, BuildID[sha1]=eafd48a244d3076a9e5abaa65b4b4fd06b6b0bf3, strippedELF 64-bit LSB shared object, ARM aarch64, version 1 (SYSV), dynamically linked, BuildID[sha1]=d0159c9eeca8a8f6593fca5be2a9b242eecaf087, strippedELF 64-bit LSB shared object, ARM aarch64, version 1 (SYSV), dynamically linked, BuildID[sha1]=2da2bd0f6320a2fdbcb064e44ba023a10c06bec7, strippedELF 64-bit LSB shared object, ARM aarch64, version 1 (SYSV), dynamically linked, BuildID[sha1]=521c7bc1832a8f504aaddaa3fa1f8a090e5661a8, strippedELF 64-bit LSB shared object, ARM aarch64, version 1 (SYSV), dynamically linked, BuildID[sha1]=126a2c96525d691dd99ba508209688cb5aa4df52, strippedELF 64-bit LSB shared object, ARM aarch64, version 1 (SYSV), dynamically linked, BuildID[sha1]=ca4ed1878eef1d67e8db5951e621c8a0bfed7e8a, strippedELF 64-bit LSB shared object, ARM aarch64, version 1 (SYSV), dynamically linked, BuildID[sha1]=2bb7c341fdc3d2b20906a94477659232416527bc, strippedELF 64-bit LSB shared object, ARM aarch64, version 1 (SYSV), dynamically linked, BuildID[sha1]=431e301caf40549cba782666295a131e788e7996, strippedELF 64-bit LSB shared object, ARM aarch64, version 1 (SYSV), dynamically linked, BuildID[sha1]=1148ce7f0a76476010218e708b4b8c441f08c232, strippedELF 64-bit LSB shared object, ARM aarch64, version 1 (SYSV), dynamically linked, BuildID[sha1]=bdadc067aea07e14dec024cd06be5bfef19e3b85, strippedELF 64-bit LSB shared object, ARM aarch64, version 1 (SYSV), dynamically linked, BuildID[sha1]=969779647ed8a2cf62ce236322c794e196113fde, strippedELF 64-bit LSB shared object, ARM aarch64, version 1 (SYSV), dynamically linked, BuildID[sha1]=0c3b26c8e3c01e33a0fa9d41814bcbe37d10fa3b, strippedELF 64-bit LSB shared object, ARM aarch64, version 1 (SYSV), dynamically linked, BuildID[sha1]=d1ed13be4cbb305ddac462c2861d8167e83ea9b7, strippedELF 64-bit LSB shared object, ARM aarch64, version 1 (SYSV), dynamically linked, BuildID[sha1]=8d85e6465287f829c07b867a6fec0af8377a01a0, strippedELF 64-bit LSB shared object, ARM aarch64, version 1 (SYSV), dynamically linked, BuildID[sha1]=195fda4fb4411e70d84dde8acc88232cf7667728, strippedELF 64-bit LSB shared object, ARM aarch64, version 1 (SYSV), dynamically linked, BuildID[sha1]=753f101a8626b2d4a9f7f0ef4608f1019695f602, strippedELF 64-bit LSB shared object, ARM aarch64, version 1 (SYSV), dynamically linked, BuildID[sha1]=91e0c046dae8cdf3ce99678e0474c4b7ffd0733e, strippedELF 64-bit LSB shared object, ARM aarch64, version 1 (SYSV), dynamically linked, BuildID[sha1]=45983df2bcfed40315e59d72b354cb4f14c5b1f2, strippedELF 64-bit LSB shared object, ARM aarch64, version 1 (SYSV), dynamically linked, BuildID[sha1]=4aae212ff20abef9a896da83d3b3f7d4550f2a30, strippedELF 64-bit LSB shared object, ARM aarch64, version 1 (SYSV), dynamically linked, BuildID[sha1]=ce8313d3d15ecb454104283798fe6c0ab54dd01b, strippedELF 64-bit LSB shared object, ARM aarch64, version 1 (SYSV), dynamically linked, BuildID[sha1]=5fde51552836b8989e282737993d49118ceb9cd8, strippedELF 64-bit LSB shared object, ARM aarch64, version 1 (SYSV), dynamically linked, BuildID[sha1]=7961c783fd128f129fe559e4f132fdd4a4dafa89, strippedELF 64-bit LSB shared object, ARM aarch64, version 1 (SYSV), dynamically linked, BuildID[sha1]=9e4ef311cc7c6bfec40c30fa7de91f1f89daf369, strippedELF 64-bit LSB shared object, ARM aarch64, version 1 (SYSV), dynamically linked, BuildID[sha1]=78125943ff820f120d40bd2e209272d3c8e91f47, strippedELF 64-bit LSB shared object, ARM aarch64, version 1 (SYSV), dynamically linked, BuildID[sha1]=fbd73acd639bfd68485fdd5eb4e35a36103e9ba2, strippedELF 64-bit LSB shared object, ARM aarch64, version 1 (SYSV), dynamically linked, BuildID[sha1]=aac01118153c18756366cad5659818144d1d307b, strippedELF 64-bit LSB shared object, ARM aarch64, version 1 (SYSV), dynamically linked, BuildID[sha1]=0515e3243fc3589bb0ba76f54ed13f2a592afa8d, strippedPerl script text executableELF 64-bit LSB shared object, ARM aarch64, version 1 (SYSV), dynamically linked, interpreter /lib/ld-linux-aarch64.so.1, BuildID[sha1]=9c02d6acb9a5c8460edd121d213a7641e14108db, for GNU/Linux 3.7.0, strippedELF 64-bit LSB shared object, ARM aarch64, version 1 (SYSV), dynamically linked, interpreter /lib/ld-linux-aarch64.so.1, BuildID[sha1]=b3423e0a82a65e8ead85af16cba3c95afa18a82c, for GNU/Linux 3.7.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 "&+/15:>BGLPTX\afknsw{    RR RR R R R R R R R R R R R#R RR R"RRR R R R RR R R#RR R"RR R R R R R R RR R R R R R R R R R R R R R RR R R R R R R R R R R R RR R R R RR R R R R R R R R R R R R R R R R R R R RR R R R RR R R R RR R R RR R R RR R R R R R R R R R R R R R R R R R R R RR R R R R R R R R R R R&R%R R$R R R R#R RRRR"RR R RR RR R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R RR R R R R R RR R R R R R R R R R R R R R R R R R R R R R R R RRR R R R RRRR RRR!R RR#R RRRRR"RRR R R R#R RR RRR"RR R RR RRR!R RR#R RRRRR"RRR R R Z XfP. logrotateutf-8fe174c89ad92738d11c3ebdfbe407bebc4a2f24111805694cbf7b77594532348?7zXZ !t/cq]"k%Yfm?1 1N8[xIBsT'ũwX;f GOdP :t.?G2>`ϳ}FswE@3uRÙvW&}!S{p+uRlCmqD)bse)#*P;ՏHqgHJƒ\R&*cV*+4rgD5jc3FD3 <ԴwT}Ga |Nu!I0bm6*TV0C5%BcD[!chyp3,V\nn`8sduڪq -) Č}|| ,J- Á-e?6B7:HTX.ix?>3 7$QO4@HotóU~ g}=k0C4m1C[)W4B7|3)@uy{ ,0 lwyPԷ+7O}xe '2qE{],/SC`LyI,RYBp3E!Rx&V3pM|R[F~ccLjܯ}N[ d]?Vz" "8yf#M C;5 DQúM[Y%xR7e.Nnջ1IFuQ lƧq3(T WCL5`IIY23ѦvHp;Ɉ({9>Y @0g/DY!*pG݂=sDyC*\d >!+ʊ F|1zwP)SƚB@Ʊʦg8]@"хB-pc-2cDioz?Gx2b%jAr`ВkRux $ؐZ̢%_0f2\ 4 țo=IkbP(`/u% '}@% OԚ\}t'ε?){Y:#|^-#cM(HrĠkgl' 9uTpS` ϒ'ܖBEJ Ƞ)MoD ;LMK\qJՎ%\I>7fB!ɋ=V=*wC-9GT'8v4]od660HDSJ2%OIDa3ӃʬD>]!l ^wWVAF jS5*E"'d-!K07b1G p @(sF}u=-/B=KΎzB'k K' &KZ=RvQF8aNj .PPf{ 7"ׯKc(=KcepVL~uO4/nׇ-)[CoGmɆ)L̆tJZ51I|\4*D%9u Ѧ]*K"mę?xMIl6 h4Oa},r`S>|K5*@YfwZ^2^bP@iSZTh̍6JM Fv% Y4 .9t=r`eQUS~ȝKc#@ƒSLDd:Ds o*> lqVekG=! 2>;? jN,Xwݼn1.>"m5,Ji1;9-*l6G`xjgOiҒ,Ppno}8v FvGacw|/y]IbNΏ N~Pͫ^Rn;)@G'8P"}z^F_'z&+ٍZث]pںt霃2L>aw#ι09Qv]ZԛWgUW ۂʭ vlL#3F4E.Gi܎g}MI ?=0o{*q=Q߬e@ "t9åĀE^,Z:s~F ~xTW$y0 Kh&GA}x}S hv8~z*?ȺM V>b(WSykl҈PsX]X@4þc7vTq.=fU'< r;@Su-)ڞړIwOLvIMPo?ɴ-ӨVM1ɻdԔawdsC*!/_;5)=Мmz"䘸dmzЪC{vFoqhK@[p i&l)ࠄ_4G.p޶_+ 2: k{=w믙IkK Ky4/liE N ,w"BUEh1`f/nXKnk,4?{xi1ƿe4X>gn-}tm?.wԹs* Z+B='2qb# kd/P_'DR 53.sxugfy ]YX䐽c}i/;sqܢ0@\tncͦ/7ᠡӯB4@#xu)nQc9YNyfA^[R(iX X%EA'e"$$/>Cs;U0D| -ג.f>AOF$őAt$w1>sfW`$JcAƗK!?x x\T!.E<#r,\h}٥]x3ej=J!"hBOzw_I~D;*N]PZm3@oceP2!l7Q\3<%wƋ}}2Al9%l!*‡}c tľ>(|#HU:#&u-j6=~gWxp w .CK÷qcbS K̴Y>GsЎ(c*=N[hc#߿RL*oXf|iM%lvƮꑧiQ4񅳦/_#G(o(*Ǚj_U;3L^mY7z * *#[ڪU-םi(O+2|yb#͎o8%u2l+?[׫np*7ŕ}>[EԾoF|\=nl Ĺ&|)_E!O{ #ބ3ɑ\YQUmYH-@qggU [vVIӡ@Lqo& l#VDL "$nT8e'_PH[?Mğk|A1ʝ~,`Pq<.*Cƀ)ᘞ^܌NeCW+fA ^RͿa8sgd*,lе^z-Ӄ/}ɮVA !F˧,= b5F#h\upi'o0SzkNGOGea=1Ϗt7'JWf= VwOL6')۲c4NPHgU隘*7*{_j%#ҌGH8<zJ-?c>CW^s,UoGRyV,{Y #96ljwh!;r(ypeḆ0'\*3 q",uM.оwc-H g{6!8Κk>5#Ȑn9)NȈtA;"%7s;"$bW` hYP7Gif:앶 ӳTڿ3.L@i,zM PvdٱXǘfu|Xg) fJko:QdP'?˻fvc.+ciXⰲ>i sDT%ɦ=o$jȂx01@U/}Yr HT׹A-9)wUH5FFXLmNN~f $2n5:aB$quhăJK.4<B LQ*7ۇ _(_ <l,wz p%ó$lL[5hk LR> +Ub p^ l';lX_*b?hn̥\ߔD-ҵhv2"۱,a5.-xzĞyWͱfNM]ܵJzd\0mK,Ϟ}͸b& 6? hÃS|0*RCՋF%4>S_RKͿAs`'uQ^3VȓIu@L}6ײ+(yFFN~\+מ%V%0uFS v9 E\,TWC\q3$Kvb%l!ѩ=c<Q hkS,Cl"ıwTxS.vGђg)j_3r4keA֔C3\GH.oo:"5},(>e_=2Ȕ+ aXzs ] *ٮE.ĸQ!Xlϟ'(=D% JŪ;x~\&=~2 ߳/nRh>#Ԯ*xV6ͩ7qԱѺSFʱw\w 4<.:n"En}]r¿> &XAF|FgN3TT*BȰ-ngx+=} "q9,S˂0 PBpX>|Y ՞ϑL PNJXH l_~1t۶U@v"1FmbJ;^ uT, ҩoe%$pq[*^N?栳GKҮ9;uk]ҍF`Ʀ4E}d~ CH$UB)bZ@.(Xe'ѨMa|˽M5`JZ6iY3Y[)N?vd☇GJks39`=,³(Ȼ\G~jIMy5 3= :'##H Q{Bfhnn/ӭܥKAjĸhvAF&z'%l5eVG9w R,0t̼7?wGgZdΡ|VfRI+^__’ _=mNnv9J$nDs30$5DCN\WD) û/:X:v:{`&⭛ֺBw)'t IP>5˯B(mmqCHNtv UMӰyD<s-ov~J>!1JE|?c!H,k {1FbjF7XҔ?H}OHqZ^2w GIj{U煴9p-`H9=6jrga*cPLJ`VNZ2NٚoV7]gGOޘKЧL!?{ނ\(ּNKvᶹXZ .w+LZw>H>OכO* 24`J*BeI½QTeqS/q:&!<. J)J~i"6t5NlBIo]ovT#Voj"#Tӷ*3p[a(i `ڗpv-GVBTf0S286o+5b. h6/*09!]d*-c4٨Kw74QH(?8y'o'+of6eˊǦ"#eutw{}j!hR6gzBFEP`dhZ,]ȧf*46˲ʂVGOx~[ڧ$-&'70S~@ɓ/H喒|JbG~ \.l,WT]{]0)L )T3m 5<3pV0e5vJRn`bo1`8~ p<1ZU=*: xޯ!1k.&YP"Iro[ M(Bjj +l,dmwЖvZ4Z&u8 _lGZqͽVGQygf[yFֆS>Ϭ}U>k3wabQ@%`1ϏݵͮTWz 2d6̲3 bhpF,k֖tc:a*YMuЎ~sEFqE`j@4`}' ;V>+uLjUVm 6D[z?bcQӏT2Dj|Oэ|@JrvI; _ D;_Fٌ:LW DCGV/ɗ3(ЪBVͲs勶^K0Y_7!`/MR1~jl; O>IIk)`ǪX8JdKR3*#||B腐Bє*QEづzk7eE"%IuH7poʹgbƚނ-yw`Kkdl&-XXIt a{IX0xXQNHK5𩉞 9EOvȨ҅V-A3mu7Kh{+GlH9 fXկ{<}WT托4ŦnPTh+3];6l*E-0q5ﭘ/:w[P![pW[ I*[K*UV^}PzY% Y/^5I $KˤI`"7x~EUak3K~y)>]G!J=`i. Ɋvw hށb1O&ǔs>96ʌfbpt>hbE>z:$x_hO1u1ŝe?-a R`ְlp#Z3T$_%cPk=|et^"ѦƓ'Ey\7vhm`xw{^+jj5Oz}O;u԰FJ olњR;s~/[J=ב"E#bM"m?cO̵ϫ'=ODrp:*OMǚEua7qHZW,FOLJɪF n9JL1K Vﻋ-9}q1)n3M=Z3g}cFkXM^_ Y)p˟iJW#QUX6ěz:b3%1P\u91FSD.yϗT_F֦N*DRRٳdqx9wz #v wЦ+^g"A'B}ZX2q܃i>wCl ([9f,Rnd՛4t=jn*0K H`Ft#M٭δhM:4TB2azkZ"j/(:_Jߋleu-5{TeQSN9 Y"b#PZsAeCbe0mafJLTd<b3+3)4@ dOayd$S2t+ބ1(/"_B_?Mnj{<_(6ezkr2-Dgz?Zόu<v&+2-z]Q"ꉺ/:*DG¢dddI.}kxԗ Z8Q5ݶ΍:7m*+4X#,͐>\L H"쯾;qoՍ_&19vw}B;r0שA4ByWZkб4%E u"4sX3Ί\C[1UeBYݝ?v8f=.dT]3E%yH*፻<1-DXk>"! 5Hr4"_ܜ[r _auFT}^d)gG':4%i1v-͟lgDH#3CO|Ti\=EJ;ur ջ&͈]A^#xO񥸻zAc 8U 04uaY貒8y!?z7u+:]uS}D 5&r(N\,l~?gS+;CaX3U U1˦bѭ=UsZ.s>2DǸJ=-!Wi5p 25`q w"PKR;|xG mLH DUAg2k a6)BP掄p]Y)+Q{[} җ+1Ob*&5!Pwi[Z4v.#B?܅3v}-;|1UcaU6GwgXkE}|\B?qK^,P;@VϖR ?"M_$Pi֯Y1n6bb*A#s[Ac FF98M3;0 5Ep%ܲ7;dէIuڹu:^~r~Ɔw^, 8xdOFF05[7PHȯ.Ԩ}8rғވlu0 2ݛd䭊x%|9w*h y0{CqbJ.+Sf\*aD͹TV6"3VloNtEL(//ASCYw=JEL[P*xwWs<}v K=Nϐ)ĥ.5"P< |n@imWѭdsevd5y8 A%XH%(ZLA"EHR2452xó[y;;XR'_"L e_`G=19>'F1%ԦSr@HȀ'ajyP WE>GzY^Ef/K&_>!G`б}b[Jzh[0C-앑ŅUtaNkӆ#m 'h?;eTK5#ŘQSSN#[<|vIi*r:2o"7Q7ɞMuR5nµVWMٳ"J<.A'^Rϳp^L9}nDfQ_#CKt-ut32%XxUK`"ER8[X.V.~B"&0SSb]C2ک ^7;T W֤a=sMZ^*[O*{So">Ww-cQrq3P`aSS{DTX mGgm2T_N|4o}?G%f?Yx@^Od{ND|}K).ЁRhu粟&)iDl~Vecɚ /j ͬJ KM48Gn5٘OJa H{D&Xר I)k)}CoR4_V|s'lA_YF=kjqVٙ^B(L:Oյtk %qjXm[;$1ֶzX'"[ # avGE GOg#\1-}^>lg3H.?荟m5964(j٪_Կs'$r[G- ѡ3:[уͶFK-O#kgKk`_11a@lnFX,uCH92/2-k*F2FPd++3v3tJrEi`4W"v\y_z #nHk|37Pq}3Q_!;Mtn}p'm R[qx3=nb pO)m40t_d] d5o .]1)@A{0L 3'e?VeIK_y}eTo ׍x8K-rjܯJ/Iky;y CFf:jXiELPOH%PaZTv>GПnV$HvAI1E/]Óyn{ I^qbi'ᥔFֲC4x`d,‰7\άXj6_Y(3k H,{Enz~r?LjW9C4{+UK]eyʓT{@s˱ Iߞh4](tOv#h${ɬMiE7ꦾ!=/Q+׶\UM W)yB Sgc핌RS֠Q-BZh$LxFeRpsЯ@o ϊiXԔN3(" r?l+>,n3!*#pDTVvf"TYW &ALb9k=HʮW$jZ?~׬@R'TqYx| 붪9,-I؂] ј6 k1p_ Cx;z-Djwٚ3#|Vh5:s9*jLtbWl!*Z_֌2ifIM#wABJT襅;y)ؼxA% &pM2:E qmB%uTNQ뮞 ̛AU~Z|`dpmU4J!Y{C <y'vP( Qx .N,k;V-կS>{A{<å-Ӝ/u]%؊k _LM9 _sm]~h I(}x{Gos_?DnߗRJ(-`RpM3%[̓')E ĥۈϠ/C) q͵ Wcj LQsω\"4gò_3UYjg!3V63oԽlIO;ƁR{U=*d܍Դ>3R.3)/¨U} ?%QC!Dx[&w`7ZV1z"B16lυPeHqn{!y6;#2e@\uc{A~Ɉ7)h:3:cNP3X)Ct߽XX ߐ(@Gqpbȷ'i,,fjn~,1ЕQQQzK xkɗ1Cˊa@1} ,MCQTΕ4*V7QSq eW ܂^J7;$''ʄx?B*;,%NMYXۛtSya^(澴ZP_G5NB[| 7oODe%^O3`LXǍɲ4(1sS; c-]yC Z? UZs~̛SX<5|"gu.R-sVRy Q 8j0g)j=Zm \zOϰ8 x,nj`k̮ j,+9bQKͱmO,:S[E&~m蘖2*yTf>3fXgTS"d|Ŝx PN4_s)2[+z{z:MC]DͶbţtR.rOw:@(lo(IP8vɸ./xf1 L&ȶ]˅t7`D) U4d&""c#'mfj$7ZY|~5fJ]S. ru"|xQ>j6e+ ;!^0oDNꂫTErZ#h1g-}iZ^xi@z wE?P8|F!VpM CTجpc-lj>[jp{#"U=k+y'Ѳ?6~eXH&(r 4,I6RX+ }LRyM,z [x$n1m5&et9[cԹez*SDCBtz6SO ='! zUJ $\In B/:E" qVM/R_3kwQ&CT"}Tep@9t͐7uiv 8HU` &,vict!.r&PuOkgM6*Lt{$U # z)-)܎מ]e;| 8za!!c)G|H3=m|fQq1oOS ن.1'mKUm  t4''4@^D)oHM1=1< lT7n)lcOX04tjVx"IReFȢOȞԻL0JEq=yѿePPH9 0zqs<إe3C4H۩FyγVc_1֖g|mZ_ m0J7.|dK@sj=_RƕBAq"¸CȔz[d8v{\G.e36 &ȖSxue.$'+X=FoBזe߿@e3lGuFXc2OoPU&9qTd6By:i?"|⚣MM\x {$bd=Eh;ï/Kӡ9d~9꠸VdvzƳo QrXcHo'(%|^hrpFfeV>o`$i2rd:'wېRx_p4DI݋LA)>y$u-P=F(%gm GkȐKڳsHFׇ^"DN**Տc)^)vf5sl-ɍ?gd6_*IN6Ҝ3@5sCR0 q}fp+75I%p/u؛{-o eUg˳:\6UFhRjťxIjP;$:n.>"zVY$L;%d Hq)kY [A-Ív]#R /b)bjsљDžJuӖv(Xvس^'Nx1Aϋ|ĆKrȸt"v>j'/dQnPQ*n$␆aAJTWM+iwuqp. aFX_tlB1:7xG ˤc%rAFzWdϾ1>%$\QЇw%favJ5:[z;``j=h */ij"Ơį_!Ig3*RZ%_nVJ۷=>[ ޕ ' o-Ѕ<t0:j_% T&K75Nu `߯yhm g{CuN(,5YgMdTGW9cͩ8D F7QױwU툔:>BvYc 4ƅ=BWH*L@:@`aOQIacNtewB xՀ}YEFp[j5d1.{*.u $p#jCJ%wl5ٝrad} 3}r;xR0 G۰OZxp[(f,=14yLJB4ZT)v_~@2 Y~O#oGpoǑ6vex`Y(9OYn0WĭN+,0=;5)ZLLλv@Gjix8>W 7Vr ꀤ i(:1!9C].`:3LI@څbeF]lKRab`]YտcQ]DːUL` `RT,.|KQg`z y8_c[3׎J6)|^DV@G-{7MUjp& t0<DmDo|im*>= Ϊ -6t<|H8R3WG4=f8`%ke÷v;qa hOyAD4 %1:] _w凈<6Se7X׆%TNJRljƁבفjv=;޾~U SUɆUλ%ϵ0@(6$f%'Z >iq; 'DGD^AF2U&{ٵN_["6E#KIO h,{Nr0 j?_\<si[T mHUSC81Su7De:.P*0%g|v~CPENh"wgz6E+kM+_Hw0_#Ƽc2ʎRs׫Šͱ̲xl۷X5X.upm<=kaXG!MmLF-ܴ] އo=U%9W Z@*ֽ׶827ۮޓhta"*66gHCn actnI/9iɲ(k!IpAJWm.BNcpl z"%CLdcĩ-Oq?;A+o(sq`,93 4;x6Btps]!d3築wy=j#ni~nhTiNP:'"t>יzevρnA ~+r#\s }݄ܝ5~gԉc) yť|dMLO~D ~uR*$lpgPPi}+!}"Z~{jPT߈la=Zf?Ѥ%LT`QJ4O|kǵ{γ+xUTW2d!(o7?7q\4Úlӗ=cI*ȱF8Y@L _B^w$QCWRRnފsUf\[*7[EJa:hרcHual"Ի˝As㬬jZ`?+d}t_ϲ%Sz㦛`ƍ0vcM lخsp]Iz,`\c|DPN?2Is1-d։Gzz}GUNmb4G!6 y`hslNLۻ ?eHR<0 ӎ4T$Jh1CUY |UɎ/v\zQ@a7/rfOgHGsCJIoŒ= @A 4UyJ]K݋81##w< "0nlj|=)Ȥ-ĸ;h X`4[hgnvSQcK}`omM w?E  p)*nOG;ۆ\_!D-aȩx L?'*>5Q<ŸiF$xU뎽3)ص~&|-#.GH*sPƼjU@4BL"q4:)q~:JmӗRX6 lk XZ紆`U XY+X0Ooj)2vْ}qQ\ dH6JGDy?RH*b/ _(C4^!B?Aj##:skGl_8rGjS*uf^סiLFLFRć ]-!Mngx3A ;(F \٤Qf" 4 #'U)Y`hDp.&vV0ޜ֥uXT$qe@q:M Hy}zn *Ir Qqb OJy]1 EeFC  ̘rYD4 sy}üs Uwܒ%^)i1n߿::>s65㫷TPFXtuV 8\O20rG]@%*kVY\RF\qpLm[ Aw$}VQ>xa^ 1 DguYylwSYB2y;AA?$JW5=$_ IG8R ON" L w, IKV@Y12`-|q<`Y|;5$|( A.)<mh|K i ,:: ozc .Vf5؂DV'ae*/ cd&Q q1)T<  n mt?^{7 ]bg3P_"FE,Im9 &xͼ˴̔rhO=(#U'*'@U!]лHG,c`F)0=ZU*L`=HOaI%]įS\v Ndd(0&Ks2SNo%% OcMdQ"!WsqM>`{:d AVu4xx־|T+~jiP;d,6 =P4ڛO瘒DGbL ߤ̄AGZh胦W. aDSF`Px\ɉl+낧<ãm)ZևKov%z@ef٩ci*NLޙ򩼴c̥k47_xXO7_A)uId71J,vNҫ[j"Y*zo~qe>B&uݧn4`A~u@%^CPtִ&d)x/вWtc~CS|dkyL2B`7WBc&v[=>\[b7tF)Xy̜B#fկI߷/✉ԯLC6KB[trO% Қ>la( |&M(3 6 i :R#9غ W*\ɖ}ur+M1v.R}^'?_)ϩj>8l.;Rލ"ٯOxp0^!#qq ہH^L"KKz7|,E}НH~? gWFB\.ya$?ʺ;, 4?-<ۚ^ABKGJaL} tZi;1uo/m mar5!?TQwV~.BU~=Ȣ't+xv5Lϩ+0pY(Fy[Nh teTET3H+4HN9D^ 3JufO)NacA7o(JFl"c<m,MCw*z=΋?SMsaܛPy1RDH)$Tj5ڒ6؀Ne#f==`H}<[ˮ9rZ@ez"|"{D[ڈo kĽO(NV?5(ueǘe8{T2F\FQ[H)3K_ *'{u[ 9'1"/Rh2ru-gm(.m) ,Jv]gNN- L UH'WծN3ncr%KFے 3S4r`Ssה!6݋gG~ 6 \k4 'R!?qLY0KۦXTQ~s_6aa:$O8J.qTu]ؖup{ZT̊uFRA]d)]y~t[H@i3y?+)zi͕8Ro+P:{ٹ>zon=ׁ^Sk POr5JI+XI]=MPI:LAɎƒ a΢98 M{ӕ]^Vkv.`gXQe2*-V'Kϥێ:VER0dm׌׽ep{fl&ߦhs4B֙Nи[eY`$?U2V-:ڭb&lOf.˨&/ǩ%- du]"U{c<Ĥ &谀?A R>{ Zx#H@KX3[VFrb;՜`!M a @(ܪ[p}X# 䏒yhkEpՒV%G''ڻAsr5p.%Ky50.EE0WBqCwT|spG{y#=Jk6Vy'fh~X6[c""'K课v>IGא̷k6vâNUi+} b)$#dg-BId'ɿ/&+_wN ֠@HeǰCj1HTOSOiS;&5|ep+ڇA7eQ'/) Gca og{ct+<+ D.z'Fh "@LO0It MHtg[fsIN=’(qWǰ' gg0{>m.YB#1)!3Sa=Ir1G2GJ3@%QwgeBϫwm0gT/oUSkѰeTN>[v(UgsUQ z71RwSB#ǟr~KgA%)L/7,O8*ӇكvB#z ޓ}$eBi#*\j[VhDcv 0%hE_Ǯ/4 IK:^i,WZ,Yx<޻Tbք>Y^c=[ poM$uMM| N'~vlMFK 5T +[€F,@m3jdTa b7ERIbfsdqbU`,{h܃ {ai]9 ?Ң!0W&j:LxbckOˌ >IGx#)Ú>jdžH:qV_,oJBZ˟1C7lj"QGF}@|$L<2o{CHec4sK: ;<"%>|}p?9 1L$1BN#~Pl^ș#X&P,c~rxDm{QD wiWˡQ,|;pO H>n. ۼ(в-& ~@1wzrcnиQ؉eJeP3T-:c^^z>]mB,5[0s%<As!C eY1\nZh72&$F;AӚ%K{ca %L6r S)ڒ8qduaeIX:,6[Ȭ 紟1hvl]Fjx}`n=&YIJ,9h射dJӗ HMם%(f}wtFϑn1^!=-;Ziojbma\=IDV!ZNQJ#:pe8V e縡c)lfNCj gv)>}J=Ke9۹R;XުCwL ZQIC&D5u^Ĉeagws3bhE2yգf_CMet|!☻qgeښ>*60^;WجiwJ} m2oIi抗R~#}]8dSMg0wmkn{)X!8ry*վ|#KnKA*jJϴx0A =߽g}ieM]D欏Ad/[ؾK#l , ONP?{Ch2<ďN)+}+{ L I/oW,PMnǬ: Y&x۞^v Dl(Ҡvd:N2wY l/6x%zil|6\0\3eI<V6#9AԶ= tZjﻫd5N&zb:~a/=^t* AQ!jW`2R"IЛg#謚~/S /dr1n[~c[DӢ S9+EE}!.Z2g?Pխ8DOwiPH>g#Ĥk#f)?&sV3 l U] 4pCЍHPOt.LuieЎ4az0`Fb^%}ϋqDLHFo~Cħk dP.9Xywh^ID%rS49 Pyѱ6MesH>ZYôJ)`x/f :珮)GWMR$Mt})jteTA(P|s:yq.I /S6tg暚;wW3'<( jr ;T_7'L-OU׮6y$9:h1&}nghTu#aq3F?x],S LK;?izUKCG9yn)$ob֗.4dc='CS_ qFd9IQq!N^PREIf%C4'F徇tX&O|k ϽN^u~a`=ǹϡw\F^ m3ڱz2fGF{Yjq PlO}kxh}nr0o,.d0g}NKTYcJ`Ԛd9|u, B&CXw%pyXQ}’[qt(a*Tp ]BD=j_PL,P7<~lqqhTub/dՍo~в9.wze\[`/{MEu SA"RYK=AK$M!gPk>gϏR5U KYAK.ŗ IT SZFCm_xMo%||wt٣}˼ˎF ྲྀB5P) ^KAX _?iҩNU-WNs--jkr#tij T7GQ Řy腳ɛCT UbDҲ˃ h8&誾x!+rᑟGި.'s!ٲ$TX}q.CCxI-yg֮ "W=;B 1t#(8.2.k!Y7FnD,b e W5W-׾5BoZ<f6ty94CjZ5 \E5/$81+Hdgp4EX}R_GMɆ:s{L]7gu^TU(E?2pz9%_G4V|mJmś@5TxI/yYp" Oύf)'h[,4T6zZ4XoN+:hy "0%Ƨa+yI YBx=#CO <5Cƹ)XK f;r G4G$U+ƫIp[FSe۽ڜQm9B iЍȹeۃ%exOEl:CTIz#Ow4_cP{lk&nXQ>N}jQNe' hyUA*z}Mf^XC'|Jl@,Tyls:5C\rRMhSFft4,(=2w[x"v^t?ۅ<ܞ 5U'o:& p>:Mg! JaKw:dQ0iInQe{g8 iiǨ'?wt+M)BlIc(C.Za!64^ t$&(aAeܣSYY̻i!6 R,XݘJ#@ $gMR!P<<ȿ<ډLy_+T Ag"~̽k(ܦewnk9s>+0\MV00&uV9}vEJX|/ÓDõ>=aHX̸aqqG'xe¦w[й۽ b<(UWEF(Wav8 ☮&2/94睛1ϊƲCcQg^.a"'$Adx{˒Jʛb@'r*_:دr@Q;3[:>Xpj4B+ݖ t(NxE|@Awq͡R؜#<ؑtnk}Fs)0SGM#I4Rݧ/@kHg}X@ WϬT{Rufǀ8 @;׋/}Ve8s :EbW#fFG @~ECf9NDj,0C%hgX$~GcnoY>Hnf_@~,9ʏO6 ⟒mn )Dv?n@ખeܐ[-y]:U,W6n3ҕ1qc%l.B YR6!~^1lh'muTowkaz2<°gl@1Pd쓞cVhY sTyM>lovȣ{Ws>q$*kIBQ1ҧ m[pbi>UZuqMf@ߵPݨ&Ʋe.>Xסꈹp`+0apV4bvu/^-U4!}S؎QܹKHG0Q˯VT['//4'8ٲ ƎjԪ\U xhiI~ёsA/aI,C Wd96Q}?qp#fI\OkBy(\W&o-]UK'[ vKCA2$?N`%>̞ClN ^|vpp^:0OܝDh߳~\$3N>N.T&P7; 9|%3ѩAn}Lx.ճwzkoRD6AĜf`Y#3xyjYT.'U 10xiV#Q9B9phIg픃BuD h j۹ô@JO,z1!gR=c3NU7@@ /ltw5#L+Q>o&9VDIU8Bm 'Y^a^Dg^=E$2RC.˫7^z ؖGQv'{AeX7<DyUa,`]Ԍ..:[{|̓e(矠ҎGp|33͆)+iJY)!'Dy_nRJ8$ɾn6A;,@H&WwQ͐ w_4L`H%jss3L#̖TR/"RI lo):$r vv ^qV&5'@%20 ":3$pz`J:LֺQ R ցmwNS ]cCw{@Pa{L3|$F0O0zII)v";ϻgfYLUҟ*fr_=PxC%](S^ݮJ[Nw l;h^W#h.}̹-}藯wBXtIjz/D>zDt>R:Tݻb]z@Z^rm|`ؔMћɹw<;\S7o|\MOyJ/zDś1R!ObA3KSGl)"HeZ¿V[T}& gkl 0w{Y]y|A^g@ mTM$Lk1hŋ 7lPA֠Q;_T@lDo70[:%Tː,n!axAGɃ5MS715ՍKԻU{G %Q:=ЀTpeyo! pҴկT_YΏ;;~H "'g?x5Q`aᜯ0iؖZ,HIf M^MhGJ|ubPeY5O>O2b9E'uhXE&9^CE}'UHP/KȨwhxJ$9nVFH{Xj݈Ğ_0Y%6\f12(r;$H|>U_3ѭXEwbYg4-pVĭi1X^ ggྃz ?\  \Z8=9)O(G(8t{GAbhb][k6о+ҳWD_@pX7O!G ꋢ_L.EpƆ̫%# 'xݡ־Ҝ!#%BujKӯďMI $nʥ_H[pjuw]%XAZqtaoԻ}a<ٚG'43RKq=?[JK(sZL4#GbXd9!e_$緪C.o`L7p臻:qB8:'K4qU ^_Gsk,=tЇnVM%eOr*L=U=-nЀjt*xX!pǙ~i{ﰭ6Awɔxqtva$[/X~ӌ=  a P2=6Sg$}߇ ъYq.^ C ^ c`ϙ¯Zԕ6\$'ϔ 63u ٷYz4AB=<,U?ym|yP@F<5<'nOPIgb0Z yCM.vO,hb}u6b,OUl͉&0}Xk:Ji|w6<;caN+Wh/] u%7#t |EdѡrC*=1tKٯ6h>5~w@51͞H/^Z $H rJn[*\>U?!Qꨢ2YOS"̄(^ mX<@+Q?.Dk4̐i,'Íh$!bEw :[P(,l J9(jvg[~ѐ[xxxm\Q,:Oy)YDL'J$E @*zc3;zۣi6w/q%#6jAv&(#㎠`g5:< j "vhMWrfq"xK0[J"1C2_sGHNe'n}C9ΧQҧ:RMEBlI6Kz=hjQ((RCY&^gi7rւw4O_r"mN8]]烛fҪ2sz 3NJUJNWZG[M;7KR4̀j/8?ڡugua-_6gYjԞ׊lu "KVkSaȽGBtͤ"Ke\Yez]`M Y!ZV}?[7(lGgG6_WYɛ3>-A@2""i 2Opή郋J-ڃWgZTqvkkv r EI^.9c lmk:c>i!:O~Sr=2.٫7l[% E9iU`ɿ[57f,T)m;w^Ȧ`];9c`sbܛ)ʢPj!5DC/iqq@kr"ҵH,WA6%@5kl$@7*蚓$%a'hp'}d~"4DPe9/#$TTnɝ飸jm^e/w G .uD4|}-rHẗ"jCس>'d20zȓRhi-ybQ[n]HG~rƺV]n3l?^,Xt>sBnGH?9&lJ4yѴ^tnbStwuEzAf<3LEBX$#U9󞇶ȝ6>fAzp4a:rx &ه+Ԅw;ckIM Qa-+`hU S{/n# d/X<ǰGQ![F.>lWbޡ?QeAI0n`:[u,/֕> @LV]l9!mNjvq (8{WAڼy݉w~qϳXb(/uvFS~N"p7AO4Mhf1s!F^mLs?~ֈ뱆b;T$e>,S)ʩlJM\r>j,&}}&Cc HGVn{5*Qg wHQ3d8B<ShA%OlUy}^Da~~&A0.#৏.<4Z NߟN#l}MO5ILVߜELᐤZOp<0_.G hĭz]ZMt=Bٛ{{3îת;$uĤ}d(&Dжέ+IZ: D'%P\D:Ŵ8!KQ6>B/zqo$V0#XS\JRؿO+ Z٥eRUPxh?lLl(~xt4:uTFv65=Me)o>+L鱜TN ZNhSp+Da^KXHWZ?0N0 7 `b3R䉾Q/@1{u|~KF"ޜ56՗ed7!݉yof0;BH560XѫĬC ]| Yϛ%fHa6SopHhe<s{<14tɎ]82 tQ0n1 +VyeuEoaE ɑVϭd[>i_(MGFּMBv-e;D'~h6Pc*RS[.k1[rl{sD\E`E| ky\nḨJE}, NUDۘ@=J@a O:s@ȏ4,/Y`^Q?_7(Z)P񿀔Rg zjts_cbHw򵂰SOglk ^~m+jb*@WC$j1ik\9. ͱ v:l<,t\%llXpFxY :ryF] 8ǽjuJVGsP:X+ը?˹](AAИu $q#{01^)K4|ou^@H OY,pO@]Qk$E꒣a%^^RlE<9 /څ87x@'1\ t>GZ-j.Vtr7=v9ATܙh*i 39%a? TM:a`[, $bȱsb]5MR:2NenY]$dBQ$bmMǵԚIׇ~U}(ged# Nw]]WKБVjU?[ޘb@$:BKb`7Zߓ{SVW2-Ɯz_f•ſ?/4I?Q$y-a|{ >r}u*xdaO 9U#YjVfth{T Smɥ)>z7[(뮈Yo8@:sh\dU6gu-]nuEzgE Y^x χT]i&i?gʼn&UDi# کS G*MCuWYiM~}$&0%13t0$zHڿtw!Sl{$ħ=$&.9 =?-7 &CWX97$9cݠ|m!^{@1D W[hɳ1S4cpN,ꭓs7h~}RA'ip-dbz=ēɎ#L>Ebow%vAtTց:9Fn VԖTJ5}Hj x|Fο.{QkKV>&3-3 zIژ YϡE0PM=B:w!k& 2ƊwDƓ'K!+@M҇%;UzPݜ\Y8D9/+^9Y+YZۗp.z8Y 똔^=ec7RRғZYk[\rZHr |Y/S\tNBGqedw1-6IM-P`.b\!fOdHSz˸v0ъGNGꔴbYh!b=qHV콏h B"s2մի)[YgIt!5fH޾~9> \RolCKFIJͦm'ڼy<>Z5=ġPbm]iPJcm\T{!4#TFӌggLLιr/$yXuFiTUO’GH'8h{J>?>"A>a`Eī FŪ< ݞ"SI>޸0ODUEgH@Žt9kdo= ,: c!ZDk(7KȾɐcx{Y enz3)1 K5^~efvk`ő} HnLtI_n2"xd;1,q:c/چ v- J)f!ܼkǔ}5i;%d뒗H%g"oIHT*_B\יS1e S=2ȢC}1q͵߸ L= - hMzhZR[ Cwס`jFǀÃx8Ȥ./P'6-6OaxAGPnz_۝f&0#櫶b*` :v)kڿfC^񺳶jwAxZz(j u!֮O\/iXX892ϝȜ틄GKܺO us@]ĔroNv~-UZ|5߼@h +|33t(-_ }M:Z5 ZAfG'Iہr5?{(HkՎ M8&랸Qt] :"V!Oĺ壭 \@bW Y\ Vc⶧c F )@j[yp:;t4pTwT^I%ZhyP,tZ2)K`}Cu(f;t $a b nR0]'6W'Qiw2a|Ai/t򥵰 }"Ԫ^~J$mod`2cА)AC9`Dh7샰()(I9dug\DkljͶF|nwE2˄)y C9M8O 8.C=( 8cB~^jġ]WՆY5)Ua +CCƌ~`ᝩZQ#M`jN5]"KpKdMz_aā*mnqX_; 55ch׬9#Qn{L PĈXC4SZP۹̃'U|{OTD loBмs;yA> al~$AaxĹ5FIzHƟHdQ#c׈6_^40t9#1g#{w#nܻ# _6mJZrU;)_6aM0!# JH,s!Z3r)]@7Ytian$,$dk9c`QQGEYXԂIP Ӈby3 `zqT/2X&SЛ6r3oZ8mf*xIuMJӴ;(g)SoU$tK?tQ;r jMD9pM- !$NgIj$e hBLBE$ὟlmĠ(K#O< ʏ҆{e5lUM*Y6i0L.sG W鶿ι,5šX;ΕAOAD]IyTjukfcFE==}h~΄ol|DŜ{bev Yb݋y*?]AZx4x vp@rEYTF. _iqt<*φ6P|{<@QZnK RӜ: Z3FIeqkE=I]RP W8 \@K8Oh㖗@~}בyR[;&!SU8۾.:o0]b\WJ;k)ZKj|58h=Q`kXRǷ#vzѼq6j{CҦ*QKs)xiKQ!dmء0c!Gfڧy<X!$E,B/, UUS叉,SFw^QO`%Be굈̾uލXdq#OƇG>$M(2n:qX#k^U`|En o0̒M+ t\)V'4qu챨$H1DR'je/Xb f\ϥ@awIPT.mS)o{*'Ax E4nKGXMWHE>#`A4S+` ; rP1V|:!EEx3;h]N6ӧ( 6y4\`f J.M>\q2"i @Ŀl`ۨ d {]ivpv{B>ΛD>MKuv?3_)lvt`TBIc+P>w+{ K}CAas GCRΏՁ3q\f3)-qE'3cvvEQmL-+,D}q[ϴ <˥v B[v?\y>'f= Wuc4RrDphrDP&_gn`8&OoL8?s-)7 iMھ3^Y0X(q:R螫Z6XK( nMu+){BNz ES(Y76љ4xbreT t[u~yDׁɆX ևm̤ $3+J¬DE*v*vw{(%NRYSyyb3E삫M`헣ڶ y/T _] tM[4;@[ vY (6rLE;q; XXni( z)XϹ́|dlv"fmw'[VbW:W cpEefiU_-s55I=L2.sU2A`s3E)ڹ<4yS_TqA{c2zd9/`.(e8\룣Õޔ>.$L,L^ 5D Z$! RD<'.(a0泙o $4} ̜ GB ;Lnnx*sloi_^4 R^x)flevKV0TۍʤG%("٩lDԌ5.i/w|9Wg~N0Zg&tqa0eBB ۿ2؏kS<ݝ~kVGEϣ%-י(s!vMR3+H]ەV6Ѱ8"Sm`%ykN"BdDedOy({F--&60'2 ))H%g4,(v*dޡUAWr8;=w{pLIؙҟsR5fT.&Q`LI˱\$2>wk~tz x2葼&N]$/ ?X DgI\!{cM&ƫ3/f}޽jV2WBZ؊8|V6wp9Ee} L!_q,J@r/m*-yeJqC&K{ =ΟXqVfT=B/6BG7/Ne33Z5T8>n~?A'?-9'xs{O-(B/=p6U*̫i`]ÙU]ŠevM5V=e{!H5ƪ}P֋ # rPV) Q}ʈ ٚ_*. vUFTXbo'tYG0]߽pH|ˠo kPەNʭh ~1fs4k(@2?p쭕 4`*;*.HH`Y+t{b鮠_w,lOWXwEKʸ!ykHgǎl`){TBID09~ZK#8pJ^JGI簃hVAh%0`d,3PqFV U$yS1k\([o9>nwʥ.{-\+ocyֆAwM2_?kgy~5sjm&$pblnn5= ʜV+JtpzO5NP/)R.²ȡ5V\VYͰ8!PDY;6ȡ-wHsykS[^.Ͳ>) ny ̜lQS'^k(ܼ7Q{"!9 A [UމxLCJB`swk{'c~zh& ??헉@CTq됪:9oLK֝-!10*!PP 3KCh|,,a*tFS a1 n{-MgWh-6T cսS&-(uQ'~;I r2՗5c}C:Bg.LfF݀P5pV]̕B_$3Slof equri$簳 .v0Hgp2s4j#+Kg nk{qPX[Bo(4BF?`H+^b4՚LVo":]̫,h4WY;L1m\# pSKyl-Mm԰L.!Ԯa&<)^d7l/ 6y"{L.E;cjYSـ1`Y+pKRcB(=Oš'捉 '"{ayOa*4?gCFr~)tѡ?6`j>(KI1d*ԂgA"LrNg @ߙ8^E`ܽ8]I_T<λ7 ~;}i8rvTG+#=2n.}(3}U~ WMF4k-H_i%z^yGDm kM..qg ;eM~:t+~uxr7M@&+=Mg҅*E@+4J61M;WR EMx7I`ǿ\RWČ9>鲀 u .N_ ԂML(]i`/Sj>9B) Af,1)ȹ^S8asVfTa\1B!aD޽g*SL~!.-I.WdE>ŜJ6"t$~{#5.79!fWybopO =YYnqc,%Nb?`6A% <r3uj͔+BYAD*2qҴSUtg*\WC# VQbH3u5fpg͉,fg)aY*{`lzd=fZ׵}Axgԯ~>7;[9B"NRys:E]sYztԺt{ \-Dj!?WH3~E:sk݋yє ׽?ڕ4#a&,2Zy5|DWۧBԞ>1_e?Jgi`ᛎ} v?ofxao7ʠsj@&އd&^_ZdSX8p5m ~i.~NG7*+hd'/Ve^+773_)^&䣹Q*B)f>9Ga>q]˯=3֦0m9:ꪗKe ?K`cB55j{oX9؊hAEP˭5|BK^ or30raBC z -&Gr5&C;%e"l=2XZ/(2Q$UafWdw3S >nYzO~7 P["-p -29=K\:AYG@ay\!\,JrybSDp7{;4Ȩ"-b]Oރ\8L$VZ̔yxr@I~1ۭ&m{WB3sL+Th=Wk`㏬%6XG#zJ7F᧧mOgdp? M`۔{"UA f2^M貗A։܂4P~P< O2fk9*~BF iBxˏ:]FfF9q( URDF(,`r`A=pJWr&L+=;#&_&@(ԦkTޢu-Wx&FR8,/%K*g .cÕI"@p[~=Q%Rs(PnYߍuNf..NX D33>FȚU!g XKk.c~I/L )Eg DضGGf6K!c Z/mZH2)asI j.Á@w魻oVʯ:uE%gH)_.E1|)l`Ve~j hk5"WM)e| @1@UiMFx(}r<ڝnf,:}9*L-s֙ +uj/@ 3k)B%6EI25I (Gv.P4rSUzןX|UxGh (pRQEi~7:;*qMtNP f>Rh@9SC&c]bf\s!9pu1<4l9TrxNW42(<:OZ-! *0!JL˦ں&n[ 6 -4zR*+}yVd^1氳zj2-8]̕f"I[0c Y$ .jg7?AJ.d-ui¬Dw:iqVx#n؞lF UϺ`mYek<\]Di'i_KQ &\|g],(Q.9ֆAo~S_2~'3]$ڲ Pq$:U B>/Jހ&?Xkƣ(>9Ɣ |`F@LC|DTpO a2 KˑXs;q0ί#WgU%:V?͵ٚȥn0 ?H%4f شpK5V4z0C,"q`VzL\3*_\ }*Ms$6ҦMT/OV޼"͏8(N YΩk+y!r F+8}o?Nd ηhʽJYZ~7sNcȏa`Q/ě8:"'VVT҆Xwӯi:nY_uѬ<piw03RQ[ >R",pQQNinRWb1e(`TD+XxGuW {gOS-+ G*C` D_N`J7}Ω@B`0H>JC}L#s3ޭsM>Ȣςdٖj E]af*9⃗=mBY(4S 6F#4Sq+b狋Ʀ<PGjxe].hiFד_*Nh ܜ;4G) "?]_ZUShWy0U9 Cz}:4?ClH{MbczKm2|I\ *AڃQc&\X!TN藍Dmd }Mj&VLRo JURgy똾hWG=E}ł& JS㡺iY\3Z Hg?]퀋"J$k&[Jazky*3V[7qL)cy@XXU##!72[s"%$s Ө&|D|ePFEJ} k,-ZNN|&Tny'ZL'SSA)DMl}f6"VZ4CG&7 9*Z5]B '@i""9.SKеU`&Mn ==H\1e: iYp2ɥY3 cPycC ]cq h<ۨL --Jߩr;KB~sy8$ QxL|q^!eKVVhs`c.8|4^։q' T[˓2w`U Y@ *,TU <)Ц''9ğ3/;+VH^n/&jGWmT2P@[#i7 PW^7-L8˃BhxK/^~E>o\Ϧ"'61Cɭ)=mgC = iǑ8)zKsi~0=J]Hb A5M߶u$ W*f)v=6RϹѣ;Gޫ'] CNR Fʕ? ݼV"䘑>cryt&0b $1w(, 1@|^!N. ђ&-ovo|EA~).H5iDaBBxq~uY#Ql[_Z/q.mlswĽp**Qsiyv@ʡ*N}@໽MiE.1^ fG `X{9>XU(8(62%$7Db։9Cx/ΞtU&wo29ů-%sK$cb Uld ؘ0L(^]$na 4Dw06|-0<./}}߯l*fwqhaD0=a<8qrb_*̮{s50 !u%.ӕ֓biW̉<_mt gmQki9#VSQ`m HBR?'R!G(r孽l]c F~d0ҕ1c [l8.u[dqނ^|ofl}1Nl#~)-1_V[y(9&Œ#jɳy&5(a|]^&^d(GfkoS]굟tt6}Mv FB̂{ųnTKmZ\ 9QlY(2K \Ca;<<|% !.% ä<7IHR꼩@]ćsFoTu"SIMQPy~tH;7$gB94?pi?$9 iR\B\K K[WP'Y3{8@-2VNep?7'#+7$ %צm>05KO[zf7 :/\[)r*G3$y;|uV V)¨7:1&C/tHaT}[ݞu9hFc{_E!KU}# q=U:|k'2#dO*z^~_ 3𹇇3u G4:;CY^+D'JDOjw"(~Uh"9R[2]ND_fnY *LDQ3Wl,u0#ęR=H1(if |?"[Y gZ?+WDvy66Uy_ߧ@icUEJmcG<a4U])>:kC{csWtsNR+ed 2:N㴗*ĨBb(yG*Lu@Nsva}\ %/N($[)x8ajI̗i H?ګU~p#'d](\}牖\ UdA4q.?YpsQ"X@şR􆪷cy:5~?qs%LKQnʡ /O\"1]1K; Cc˜9ل{c"R3u<+1 mQ'qq[_hLX]Yz+]y\IacC+墢%W .? uޚetD1X .-#jK `٪i $q\~~p XY;cض4N+_rBѷۆp|\]AevŌm!RZAK~ykjBX4B6|>ICc*0$Y8EF`.ֿZjH*)K P/sC[ILkƆU#P&Xw 榣E?mkρm.&.j-r0ރ"l@Y˧(tGq"ѝew<Nj9d&Ao;T6Jp511nA'DR>>o\b#\ϒU# `5 bU12%Tx]X ͶI@z틐UV9lecW9U 'L?F98lQѪ`%sQU7R>.w])bܨ[;jx;Eoƃ mj7Ȣv)pdZ+(hNVw-G%fC~H%EnpH)wbE]י%BGm.ٯ;}bBHk|Hze@cpɘ U8՞xDC|;h8m J21oΕSqee4 pG fg'vNn2K–3α`s] 'E?>{o ir(@Bt/+ru]l?v꽓(I]6ot;*R^w5A)7$kuuWs™o_3M~d֨1 s?7%;fSH/r9 "G oUK!@|%^Ͻ]w[I/U;Ls$B EZTNTa֬l8d $u%-Q5v)D42|!pTB:VZɔ]]yED9 '7B`8k"[˿ԗRa9+Ǡ=bUzd>ї0UK/@Xb94ΙTprO%Ut Lyj&9f)X\ϓSW E8K[hw) 4;ck(O3=o%|kR4":5&6D ׬i㱱è|OL<P'<#I4.C"# Snը뮷ǦR @}h՝e6u,B^ _8ƨoUg!vkvD:_}Ib)7=wN6),nZO.V6L$sl8363D.ޖwxk$0 ɳ Ho'Qb1m A#jyIE3IfȥBTڗu|tY.FEdmIW=UG27'vD)Q~VTiPL5& λ<'TFR.Ő_kI8O<8bKeWEHft^X_[3f(lT~qۅY}W; 8Xc<{`o!x$4N!9аy SgT)kO\j6`Z+z M2}e1!姎xIE5 ~ݦ' :#L ' ,9`"w?ԯan_G܋؞Kj7nF梇M$01TB,ۇPZ򱣸q;xFk 2A49  'jrߚU(s/E+eVJXH#$ҭ4D6ދDnȏ2%]tXUm1E~%mF4S[gg:|[Y s#iz<98^4Z)-y{je1@fy]EHR;}(Ӱ]ʭqCsDm~Z(oh8LF4u'+A|c ;P$i׋ѓ/5P|Bж3޵T!IkRd_:ኴ`ܬ~0L'Ae|o9Pj4[~UW y2l7 9JS.8^%pkI씯0!Dʆ9v8d  f ^[{' LAflJ§O,ÄUwΧ7-]>/-ȓ{z.l4 XTjkJJUtՈqs'zZ &)P1l׽ؑ*^m)¦ۢrUk'$8&¥exB$nK0VTBfJ2dKRo7y=&MZ=ܞ`Z2g/_-QQAP4)k[YLc ֌G& o6}Gô׽[q'Ԋf<2 JAˁ1+ cf$ n`hb\:=3Va>Z;HN9 ST3wo[+h?H&@hkwͪ3XE;%|4pUSd#Β^*ME<|Yje΁;Jw~; Fxx$&7M)RfVDcrTTR#,vtmiviVe cs)X%^ &+oNVU` EJ'×0sR!j)0$Xc: cT"M5N0( }*Y,m/ l 4CcN6r5\寄Ub+3AZr5̕/lOx?g'*7+Dk#>Rɡ 2pE8Hҟ'}wl87@: J;4Zљto < ^} [e!>a L0cmw "={+^V" l|ߜQmCF2(Mr!YMK"uT=WNBm;灭D3GݚLS}nk(-)mTm%~P_Xia2RZKHyqC 9L3GY`>aܒ菡킻[g݀䦱c5/Bp"ꡇfuB'uR%1 _m$8F@o{I z6n&hrg"bS;{orfx &`Pea+oMbf1Q^]^1|\m嶖4`n'w]:"*:U4CD9XsVz#|) Zg|Ԏ$yY}dO\/@Q&u9W_Ņ.;erh C4C7pize{9)$5uJ61dl8^+কӱM}FqS ET& 6?dpb$ i6R:_;*$X1U J 5_{S-E'cG+b &K2_7@5=USB\t.a۾zQZQ66]Es28![moce H`X9 #i*:B ¶Qt ^P@cy!:AZ^~|&dC![5C>WSq 2G 'n$\^xNiv'ͮuC-;pdHc0 (#mS5q nb09eCJ|ne6߲Ȅz }C`cmH8WԖRXFڪ{9eCѺ`$T|+`ʏu+9}MC| q!.NÝܰvcZnتo.U֭w8hAav<; m>m@ ꉎ(`׮ԲG91h :"Z˞+}VIcT_e^ ̠ZtdMDDN8yſ`/<g؏l1$KZ:#$+Y:έv9 },/C,%$ߢ/zܭD8ajK7L~q_5&'9"cɱVWKZ 'jD 8}ߕܿN咦f9ߙ!b('xAƔYf;7,2!lJyK6H9zv0W"0'}7G<`ox#XEg&N"rƷ"JGV-9JBN -+8ԯq2ُ7N/ɡILSWF&_\:4* D3؏ݜkܣ2+wG,7(تkp8˸.A<8uH#h[j L:*I{LzxU}^=,ILzGĢDD"eK¨rXH?%pȥ}Wa=*9 #ќa+Rr+{m_ޒ8[4— 2Qz.7/وڟhYZ ;oBlAhA]]uq.,c mHp2[R^ >a>xQphxX<iv>*%7kFe6g#dE@x!sxPp75iPódg0 4W,췚\0mL 2pl9P UԀҗ,1@e0wTxUDzB\~| 7XJz@o&¼G8H'dܲ5*Շې@ iɨ Qi}"@@`cldCNk9F:݇^/ ĕӚբGLW !y(ofJ 4C[c6L-Xncms+oZp4F}Ru^5ڷ3r==$?!o!lxM4^&WgkGr/78Z7ผ.dڥ_*CDJSJ%lsא"L5?O@ 79CZ)$<: :] f8I(rVOj/p0C7x'9FmO>swx6,EtX eHGz(Qh0I _D ຨj ;DwO)c0^u]44Hhkޭc5(<M% 9"Z^>Cg›u Ä@7N֚ $MX|a z>{~:!:,G_z "K(h>5X=Y€D t&?/lc)@Y'Qk,Mo>5yeEQiÅI}KMY )?_Je8-y#4?-P<JꑩBh~JTUP\n2)&C{88Jw~_iQJN+/'Ye׍SlUqz\* _N NU*и ҉0?>>mK5. R,"/0.CJ|\*=IWokR'4_Fg$Vf+ : Qf{dSqI>I$z6Z5! |rޝUo)(~6Sr9\#^Y_$ fx"sWM>`CI G˕]:wWJ%_f^vz;α,ʘk:$ٞD+A&x kخ[H7< lw2'Oan|#$m':CFYah\< +)OTRWuZaQjrj>6Puc8,u}$eŹ)\Q/#Dd(}ƥy!BmvB?A5mU^d,ۂ2:P]+9l. Z2Vϯj"'9I˹l TB|,nL€Ǟ!H9Li  b7Ǘ%!?v"%m\QO4G!鄦R'jX8i}/m  1N@8վ%n/b/5(\hc5QEC!}z~%9g]FS NOjVP2zԮy(侀RW)-fl|ڠ!鼕qBwWc8uaYkQK1zqQ/ԕ S@MBAaYӦS(M%,א'ƿtdO֤`_4n6U3)TЬLIR%KM{/ |Ҳ7Q0IBa3< 7deVbhz^V|@HZ]ʑo~l>`A.B3 ]h@[.x=3f/n'Uc}jʤ{²s2IhW#kU9B٣r;׸T6P$"W1LD_d*;=w>RJn8 V7K$z&Ym0I4򇈔Tb.3byj'?;Rho dǩ3BXtD' .B@:6K= 3N$=Nbb\|xX vu)«sx/LЙdprDغLʼ N.nA'f8RZxhs4eQ.1$xy@pw Xx 5)<$z+ik' '%ZDhmM>ܾG=r~*W>9%uر1'q],bK<6G0阖 9Vr*bK&PSBQD Pq"rQ?hvʓ{TYp݁_k&}2k9Gjܶѷ*΂ |i뎙 e!&juK^i 2Ms'tp4XP$b/%q%wDw"JY9  #8H;;h8zgNTM1WcLW{;u"hz JsVͻ[9YJ | @6SV9PgVSWM%R;1ޣ|_Ă yّvy#K0;J6]4!3]̝-T<fX 2> %eЍAϚt͉Eƌ`KWP[\%~rr?e(RKmԌNb<W 8f fqfƏEwUeq4)7c9qGfIM+ڿ8-_歰OѩFt2;G-] LA7?iNlb xCgxqu06*ɵ4fOȥijp*eUn{0Ǵwsswb/K XO8HLdW{OFTn4Rm%ӄSrEujRp'.Gy)Tur?ں{mD$ӭ9G^wIiKj(~ۑ&HR ZάF$8b{HA/^(!i5W;V'bB͒ Ww%9ٯkǺY{jOMjH$s5e>i_jv-]1h|lv5D^>a2˓Ģ4u C& 󒫵1sʡ1JP-w<_&^}AfEHhXԞ3`Ep](ų{n2-!ES}K)zM_Te*`)71™3~l&@oNS vP#76:'eXO#e%8'αQEOtu|z&6垹oU^j>セ0^1}d@ŷΰaj.!6HJ0yk0^mx^ nno3MO^Tg" |XN+ɘh%~r)\IGopXFH6 %x;܇nm)jO7.JtsE{^Quq3 7wF,q<}'ϰkj|yˠ=7 Ƶ*³%G!dvǡI?;_~DX/br{UXQ;BrV_Z;E/zt6yq)R~'F:0xCKC̔A[;B0} ۭv\x?U&"Mf@O!D]I1nv ;: Z!e<$`3 Le>Ad/Uq'C !'PXҐ$*VoU^J4 `A@]wF/h0 IM'0$%q[hסE$+.R[f4zift: )=amM>ySԯ@ acKH+tSg~MZuTa]دʨ 1cg' 4V5UKs+ P,N`yo GO 0u{ZiDBgV?ZF|@t2Qe+JSTPsݵU |'MBS}! Th(.LA4&&iRaaQˎG)0jG@?K.9ZIΙM&"-cb6+`sB7Y&@UW[ A,y-~ugUD9W?Y?@X_r^f<{"z1F-!(/h,"D,R%tRg$t|p*q$GNH%*=]\k4?i+nc5E-W|<]ɗA"2hx1L}M嬺T(8</9[CsĊp̋8cbFw#AN󬺡FPQ0*a#J5rϫ'vv&m({lB/#ŬX]l?@/L`]Y6*)^&av \^ٞES]͔!1(*K8f / kNZ 5?n+x ¶Z$}^jF#Bݸi3%Ui9<+Ve ;Or_\*]kETLu#Ź>laԏs=$N+%u' +l'zך`W<,  2dDV9 -1{˓4E0-ɔzֶn -_+pW&SQJ pGD=v:U[? ѱb,ݒ$|#<(6"[L_s[apX](3;|'~bOw :iШxtZI0s(hY' s:Zx4>l* U3fÛM\Lb>xu˵I2شqGU,>5$nruK+ 2yьQRYOh6>N/7X,"0An80;9* §#tH:0ͱ{Yߏ0cңn$,lJ=?ȍn4ǺtR:|RAq^VgB4;:e=H(4KZMn)Δ (#j`MXse+s-2~ aN}{;7L9tۉ~jǢGB7V 5֟Apt2Sl đ{h+s9^ɝ 0'}M1k>l:_&@qFUf2B #}V_x7id7PMO-2$݉yHD${7 bC$I&H]}`{3ҙ=aQU:je#Ir0Ϲha^`qЍFx DC&\l.pt>z?N9j_ߔ#؈\[kZ@Ehc7ׂ^XzN[=f¬W&[BYe|fxK6W^& JN ZqMD(KwM Ӄ=9czĺrI Ns!۰rBѭQJI9hOx21h[Si [DJnEΌ^O٣,:pR*φti)&'lQ&=ԍ"P$zWzR z/kv[.29,3Y06XB~'sivz?fhP(49Ie!ϵ ʹrrnl~NY};Y1W8 C᪷>C S2ǫhqk(W-CK#,/£P Qoxd ۭ4Dt(r@.T ~ v%qܚpm6~ bLƋ%]|aJKǷL FGvTEօ1;{nd{gsV-jAF* *b"iJ06(,?-c zQ!tihBfBTpM lkvY䰧o ~a}NAoףe8~V"m`b*-6lsD"* rahH9v l/'nsxZadq3I4BݚmIѣM+Bz+~h!j/P9%uj5BXQU2^Όl%i=Mi%weXNRE~ɷQg#ee75=5!!JYN:By—l3 u ".[K +0eB>l|G ;P Nm<"_/w̒!< ~,h f o_ w`1.e\`cN(Ot>`:} SC:Ȥe%RF֎+r4<[j##0ǼGT^Sc pm7L5:3hF:$Y$f[?ȣgcŇ/I3E/ vJb0IrHMs}iOb6{*^D8)4Iz&s[fff|〉D/l+dB`uG$!r֣t!㫧N}'NkW1^K~Ւeiw y$ /dݒ;I7>1]pX׻1ANOz\SF9A| 5ߪZF_TwֲO[aUт McuDs3NlL0hcY$ :h@G`'%ODiHN 7J*wU-~}PPQwAP wd;Dg![Rx&(wB[.!Q/Dy53~ YCKqYO~OSI%7THEҪi2[R+@rƴ"ӧRD>J)i",-;*Qr4HpgLJy' F< dV 6->n]0#b:(n #E\F=p1poC&A  UN(⃱ 7 'wsD~45hxy+OaPv͝1Y/y:_->hKeL[:\@ 11 m~8۴mAImA{EV=(nl:#࣌,fNR);Si2n ?lӭ|Wi)sοKɊVTg}BA"t^tR wv dYFr6ER@l_zNƇVdK Ǯ/8+_v)?d (j;G9N"`-+mJhqEǠZ1'ki_NqKsl @?G!^l@:1q=]:Y 5)y-V@"uMSC)Tj9x̮TYiJ GY0E0^ѷӉ曥*V @vcCZ.=^)-zV ̒9WyKEaly@;+5{5< س2PІtU\.iT" p8"Kޅo]c\QsK-_ sI ~!' AX;Jp@ v1Lbc b.g  fNJiw`iQ7 &B)πd"n4uPg4jK 7gS z71SCLh5q*X{_MQeU,8͆r>N68x A5aZzaPONn=,;acW@ w(":~WɞEy&;,h/[hr+n#AQ+]}=Gtf/y]Չ!:($ 7Ydb/*gjUeJO]Vr{G x:g*eXuIy6әHbdYԾEKhnɔg8hﭬ"bd|_ . !2Tt47nDObc!voe rLNy*i4A]:1~sEio1U:p@ |;yY~Inj5"޶l VÚ4bxz",Qգ5ror\%G8ǎTB o4*,CEN!m^n(Z;x": I~x<鰃ae;9y6} KFrn"&G8ɋn:KKXo'2 u˭M`%&a )܎[P TNFA'²mɳZ ae})bT_ lj u>ܾCܯ836flG%䝵 i|%a[, 5(޺·S;S2^yl)i8xa.- ǁB\Mh\0 yɭN*Q (!7O&῔=;1uv +_3w֖}~|ay6JU͡_+z//ވ;6Zna f k`|A64õcKlăzJq%d~_^uhpJl JzlKb  ˶ouָζ0ԛ6ޤKԈYI'U{s4ҧYѦzli0Ԙ.ri6`|RpQr_IETK,U1T0f8e 0 $xh]LlvxPHf3uG/+woC9Vz6ΙE&Me ``ZOx/GBDYƕS2|۩]lUp,NGx(h4M0ʴͲCxnK#C dB3QUNfškwSjV*C3y͑hmYZOVD1?9uq4\kPoz*ǃ~ֆ`9-T d[AgV EzjM(HaP9D8\8I5_H5 8ްi]p5An _$#4E)$#A%'Ħ^yKii,c C3|S*"d'CH,el"6Uj}d65&`Gx{b o&D6 NIz阌pgW.`ڞL*ϙ[bZ&$)ޫe~vOkz+Hq1viuXΖ2V^ֲ~wͿ%j"?e#~9r_C Qf b9R26c [P\,΃w/=h! pB}w5%2"Cl^+2oC=dD7d@: H,x"Z#>&ᯬZ]~ r`%r aS~޽IAz *u3P@v[|(a=yq5qm@f toĢ"]1J09`P彞G>`86o5`1\"r\uά e1An)'< wDS߿E GpAGcR/#Z;w ^蜬ƜiXh'v};*1n/1OQ PgU4{B1/B:U Q)^_=l Ż9 4&DGGw]\./2``<;Ec.ZDŽqqƐ2(6Am\ed BeX7F7E=N9!鱰bM9[rC`^]$᱖dA@34Բ< c: Нq^ c B] A[Dk"3O?y\(p \C񴬫.pɺƀ+Dk4"2ӣ㭶2,Adv#%.P^+TSt1XÊ-ӨBVR&ExMN.Cur)j}{KR4I"d`@qQdy} BFcx&~:H?`9/m¬%B$فBRq \գfT{S/ y»ʘ% >jg dޭf,[4.2atаm߁Ue}9D#-@ ^Y^@LqHtz9|4 vAٓy) &_s-j^S5 OY3>aLzG, 1_4?d}Cpк}ED,WۏŻzU?NBR0+^_oSKYi$eRf ѣ%dYdaxU/lzMTEFHYXo\SS]bHgˢ"vԕl/ (a( I-Ա \ՀpAmx53}-ui::FW;f.f[M{(L6URs V,0Ϋ,G67G^B$C=h4ͅƞq9@( T.GIy7vR0 v'>Qr" mo -B|e]i~K":]%L]{UτQQqYϝ('B 6b?`iF4HxTk,ym߮-Z "Oąѹ_#l/#{E# 3MɁ4=[;Eϴ+EuX31]kGDqc3@E[=>t7.7fqX4Bb|URgq7d'G*.&|b1Rڃ>rk)<ݒ!;WZVe EX{V>PeoR߹ZGaq4n%XS{҄;?-^$[n@y]߈ |0pSsQm '[ʡЧ\oȉXu+Er6w4v>  QwETs1% L/SQ9>WOnҶ:Ou12"W4ĭC$' j*lн(Q!vsAm럝EC OKth|O l\= KvMd-PMLēVwlm`vU[ ""!'7PNv_j&1  [x(l3Vsr1<&)-GeDYJS#ExytG;wPH19T!(_jo ՏSJT+M7㫩G% Q 5Ub2i)RpT$ӳ~wJ>Uʂ(aP&{*P Iu"a UTش#ZL#H-!cnx$A"THWyNQF#"qթO;\֋ca R64;^ps8&g4I=v5^T•LJ¶< PFj{FdWѤMfB_\gx3#긙>R_&pK,&fz>ܛƔ[g/@((SOb/ 2e?, YTNm<Ǘ,:~@;N:Jl]jlٯ%({ ꏪS^+B6UKp~mdo#e5C߿M rGAV&XE;P\ZIqdXս+Ȭ(0.i =N)*tƋ-=_ #76Ɏ]}Jė&kAyu?;|σdЉ2M 7 CV\鉷v_)\r.Jhv:H+>ߗ~>۬j0lˆi2vM7@Y 50@Tqܒ>*7߱гp6n Ea}xeCVM>O2)Wв7j7)mD2r$S|[喠!4{b)o A@}wV,<`a (:$2y nԳdQQ!b(ol6){X<$(ڧrXD1ARsZȇ+娫[#ł6eg1z3*e+Ţp: ;jF;^v6=~; 꾩恸 䗁;ZQ;0kӞuDKNyJ42Pj p"",#f 0(.51Z "9tBuiZ ۚ~Z !PpeE_l<#X]Cf̋<58f %2_@cF RNw4yJi?*Tz-I&D=QjbSlT҂"PП &>XgKmd!Ն"cZlj4;suP  - HɧmHv ' ,G)L,Ծ4_H\6z_S`JZ$mQ۞}N*bRΕ@OĦ)O&y4MXjQl{+|+UD++bg޼F髤 i33aDV8zl mĕ+š=\Wћh|2 FflPJ ,*ԁZ2 2Buמ t:7Ve:-1s3<,h (Thm*"OiUlG ?}#:~:s5ବ,v  n1U@8XHYuwq/' Hu: 8d|ޕ /AɀaQ J/3#n.NkxHf%wf2gx0~2[!ux _s20%HGq%Es?glG+Zߊָ#=ɛPM^uht0K]ݯ:~ub+=OCfV(ȿ#8cr=1W<:Ki/9{-vкҨE|*J=ЭlLꨞdTm~"}EIJ.ci YrUU[Zsx-{T/iM$`$Ģ>b3ZPE#we9`F%+ ۠~kƣ[R~6T~ *%!kIU|W̩YzFAT@Yёl,= ʋ|ZVsVj9 g?@[G4AjCqlKpë߇+d~u/ǗF&6(V%(^fưOC f 7Jn*;:]a,&śECx:q'Iˀ֗X\+YH;˽wlLc`7άeFEunNxc^au tE^>BFF_W|18zFl]*aɌ>$ڼ5ž}m&" LJ8TU "{G''y%:~]*"͏ܺqwyVZ؍ciǂKyC*M1=nVJ,>1nRbx>ga!2a3&7~s7RM`\2zes,9DC!0|eUn71?JԜ%T(mOM/] am0|j`pz=2hC1lhjcdT_[nb093H4o_vַrVсMx0BRhT4ݙ1QI^Jkt;^T&/x ҷ[q%&㡺P"H[2ϗ `{GgHcd,(?'C.vra˲[ :Sqy8dy`#UTvr3HF|I8p(5*K.ö}XƂPVmT BU\紉ލlݒҟ)ͷ T)a0R*TL%;z9 #o Oz޿iU0ēASCeyiͼt^e'Q2w]=j4&{X՗lBb17> swEW-$J1$1HєGtc~(/A vpp7EwPkyxBQoHQ,v7μϣƜPV%b1[إqjS-v$}S5#P=U/&aikDf*ɵ߳Z Lhӥo8²Z*jr  ̦n!,2]=tԹkgÅ: lSu VL\74 KdCa{Z'Χ&K[Kr^5Os}ߎSOY{{ycAIڧzO7I0c:/?+04> Zmh7\㥊5nf\>ۦwKM)pa%~ G,DC {U+*lΫbsCՎ4.+K1LxZ'RNA07wzyJ6 s3-ta:vo/Ubj݁7Yho5oPlM 1X .V&-1iYo s|ɗ.adÄg1ڂYAȱF$Xkcv1sv9ޜl:KzQːOG Jb4J&#lO}:QG_60Sl/j-p! k7TJ>LIIf{K ˇ1nھTz1:jMS0Q}@M&͆zɜ͂9'.kr3MÇcxI7OgopL5F6b!jTEd,⤸zwڸYIe{^Y!Ckd~M-O}MW4tT\=:t>ю=>()?Q^Z<^S{jpb`J9< `$=G$iSmZ["|"FqÓP[Jh5j?X\* 56 ^Q"Vf5\N6.NQ ~2*_+# 0,1}dH0sq!1!P$P=R:ɕ}E BUo(EyLgj哻i5 fD+T39֯t.V@H]^WS Rvy0Y\T̘gߏOdQȢ 5 N_ C\N bvGR 󸆺tfb]319СS7)PdD iAײ7ϳHҩ)[y7_Sۚ֊s1KAT\vt:Aɿc&jj7P/e 0l[Ii+38](J9:&< ":Ư ;ƝקRD+5+D z2hwQDd&pd(s(o{JĎʡCvQn @|f/tDf;ҸF&0W.-CC ?sݗ9rT!y1Ӓ+Vd>4^ʐp!Z`oŽ) AV*UX tCwјojjx`{NHkҵ^ Sd-tMskjZ&YcKwUw1eҌ5$C7FfT)w('.vڀ(\Wޙ*-ySpRZsRBf d4\(.j6w%saIҀxTr@@ֆ{ȡ cz'7o G.J㚞Z?9SgА[؆m\Tv:=b*bw$ǬOUEYE5O> xᎧ$yF-<1󒰁AI&)1ݽ{6`ʞȭHFkcՎ/xM}CwKGZ ދhsW2p7g xP5f_RF]|{#bue9Y?{}]eO o,u_)`{0.raTF)ƏhCu[^?6i'5cUD|i;ndv.GއMVѶ[fI?]kVK_'&Bk[C?YlЙG5.™X2z(2v7)-u*D!E[]j,˔efE ?& ;rxKpᐖw*滑4M?|:-mcU6`w`){D v*9YR3<%שR~aŻ!H'T~&tqR1攓JwE9RR~Mo$ZvƖ^UAHWN&>ZcŪn8 [w_y4!l.yύLnwQ jcA3O\^a'M`2̿lgLjXt1% Rsd_JNA9þX )nEL$%NhݓNsH! r%O&~i*+߮q=d̥%LOqn[iYfi/t Qr!s3`pfv7/H]cpywŸH]v1֥4)3<ͼ+䔙Z=rܦ#9X;W-ULP8Nj8n+AEq}{P#`w>1HO@ OTzGájB_%ưRcZ|&6u wd@ysZb3V6stʶ!פI~Nw HrTUucZ{jLS_2 MAD\_/g*7ߗ3\xW#p)AqC#"Ƅ 5Q+v2r"O  YyH$Eȫ]mSrԁ-ܝQ4) Vlf̃H 8]r;ǎ =Lv I{-1GEқ,~.i(zmn6jajuDzؗu+FrEz3Dw+EIS_SLQ:pVG[ @0cOk\W vY5LwiPZXIg@m@k0g3k=ߕjՎ ]Fߓ> B㵧XbPʔȫ`̂b ӭK+/#B~;" !;,tQ~ll-B̼`TXc:[,=7N XLY'B9,ea쪓;l l]qnea igzz$^KC$6c9إ{f!gg,Qfգʖk s[ng/2/pÙWҏ›ԡXGu Us į(WȕUۤ1lxԟbxs3kGM1m!!/jWBE&U)xEcfHnvzS2m}Mus?"^aǏ#U!iK!xw@Lvԙ?`oY>ex1{?AY+@H_}rxw08 CжY33o"3;:2H XZrb˜H= 'd#6>ȷ]Vld6$…A.TmWXYP381bPw3ʝLQnV1GX&Y. xf VɈ0nTrTU77%] h"ݵ%'Y~O=E$^4fkfzl'F  = ]:>lAml1]raWY8n_+pIF6>f;PYx 3;e߈ܛ妸H<יl|ZWf&)CsvNF>bi[x L<d5X^v&n 8˽48,½zNjpc@t>gLѽl&uu$q{68וՉۻRtgLmCȖ_'6xAt>KI,[W=ABr;7st"e8jtrT*.Iϔ'x*x͵Mr*\2 vBs"~fָo jQ1wpP}S1X*Jxg`h:iIH[$F a#?bMRtN_^{m+Ȇ؃['o>*5}ݜ9hSIRa$"η?-\/=0>ҊLDZyN__YoWՐ y[X":`L7Ĝg/aEWVEDմ%BϿfpOw&]) ]EAMf"aK0ITpvKqK՘2ARHڍW)c%t _VRDamj{a"5kz٦Tȕ/3{Y'bZT~;y):[aw9P)/< MDkÓ'`ͼ^8̝!nWgA,v_djuri}«pa@B\jY $OOЄ[T往17UF'~!"a$Vd=A͇`BAo7qYE|&biqwҳGq4TyM6ƃ#h*Ik;qY0&1msGi-ƜA/CS8uZ?!ͧEuX;,׀h{H2ה\SFiub[00lq~&b_ue]PWQK1XL>*:@*©S{=O&㲓FvbD/~U) #K@^Ϧ ;FU?QMH')˪RӉ݈C`cH.'p8ꚼ|NrZ>SSSYˋQBؘWt-|R8Nċ]Ċym0: 69;!PdHgIG&Ro,˘f"\76 |;zuL|gjM 7]ؽFIfŽh/fin*ђ@'$ >͘δq@tL1{Y\ j>`sDק0wss?WX{X&洂*tFUij҆2npm5ji^D?dKevq$!Xl|"75J+A+IoNAdOH -6^NٱuR8^aJ4|%Ato$)npyC8=Jg.@[-(qƼ&agZ4g%t=Ds`?)}8dH5z869[J$M>viKr \-f}ϝa!p(ꥻ`z>TH4+FZͮ'Na/Q{J4oU/Q%~9lK^,+۵, JcIPڿS,"HʠT ah=EoJx –Lrl0Fe' J=mH#ڂ6VGJ3rF`"E9Bi R >~? q uI;{aVkxq@}O.pˍ}-K[ץUD*иfL9;V Z%,O"0} D֨gTB1QzSW<9YЈ/_˾$xt~ bR)؉l`6Ң;_gSt@>V}XmUX$$MXхkq?%OkƬ.E~Jq۠XѕB sR|>KtuC%.-.<JIWTgh0PZJ;9#;^2q"NC|Ii.O}Ū~cB˻+_}dZs ќ8R\W2I&|;%w P#=2j%2d'#g*g>끻fgsUId~z72 fw7 B!oJjug'OM"GW)IDST+ qZ {lDƂDIH[@٬36tf%(㱹-Bh:a?〼X\?E3 { S18'T0jaffUwÀܲfc^jt|N6Y=Y*6$ע6(38'ɷnOa'Ov0OQqF%#˺G Uus8ڈeZ tPppNe)}umdÔDGp5CGC9|U.Ǽn O՝I]NgHIcbPp1Nyb)ڥ]Ԥ8ŻY7y(85Yrye*zkuo'dV@sNژ ~ZL#7H0 XvRnO=y]ӎr3'sb$:v0V<#1yjJ Vp4UOR$IS"VF=J+0^~FsGzf zY^!7m5F`{E~qa6an6:z :r!м)jv'lYs 7j+;+oR̓~\KK[+O0Xڸ6J9eE4cPm("ưVN8XqDFh~ -+Mǁb# ^lחI'vkDsY[*Ee3 W D$_{ ؆atr:MPIfFS ڏ_~]),v ;U%GߠtV{h_JDA=6п<R495qg9{ k`$ c`:WAViF81SO&oŮ]Q->{k]Vp%Š+y#\݇A%E ȡ6=gx>Py Ftp* L^oy,짨ZWvjme0_L*r矃HT40֭vNr*,km_aÒ\su犯X78ِFEiP޶K]Ys: 9RTRQJ;D.VJtiv:Uv$?"s)hKXHF{n-aCbIZCna$S k>GTcih6K+iqJk`2RbBAr3dfc1uܹG@ӭIznեشNrK> ClKGeL%@$zշ{]2;0U Si6CUCnNb5ǎ@qAԠIPjHm_ Rllh!*c叡]J Kzceݔ4P ~NHS8Lz] ,O t8^hVAOJx@JHCEbÍphlٓ1^=Oxh3îoœ7NJ57ʣL,u#2@'p˒1"вDD?ҕ $oMdWq uh_m""'Vݳ5t}|vcArAv5|( $Q@7j7kAc%ñ0V kl XtV  ovя'\d`27/a;5--|V(EO7I| \ Ӻo/Qra8h,2+c$ZnմM.Np+q2{$fAcKDÀH֎lQN3.K D5c8P'[uΕ:``/gbeRR[QHh\)^sB ׮8/j>'̆ =B!hXtcK|)k,:KW.٘0\`tbZ@Z.Lmϙ02yKAsJ*W"%n`XA2H,esb9eY=v= [j51#z })p}4AAXtDO,f'W·p'S簆v-$rI.rK! S&37aR%;"4Ͷ3/ʃ #L%` $ rM&ܡCO Ȥ^=S8\wĹO Uc5ϝ4Q3”̗zhQ*י u0~}Cv>];|v+ShPa@IBd#Japi%QА>%D06ntܱfιSޯ$C_'Hu9"*yyA.*^#N@02+9mz+>z]K`⯺BN&fi=vaȏY!T^c /dbgvţ2|n//x=v.glmχÍ7X4yh'oyzAw Axb"˽E5ݹuњt ٸ#JlZǣ5uÕUS|!PfF[hLK@ss==}U=%h]\Xzԩ0L t ?]q~HESPPc) Zl;n-8 edbk}4_A1$J,Mm]ujILfwYw!Udx%auq̭\:dO/'Kk|eY̝y C+zIaSc :5'(]*~}t1'Hfص} Ǭ16a|=d@|r!tI@zhPpiwځmh'V,&Ni4ГMcׇ^nPt!Ks t6iuʄW6K_Ρ-jTSjʤ_ o6Mþ5T$TLr,8v=hldQ5M?Bǃ2\m zx`Ӯ9rSm \`Yѿjody^?||o*'⤛WƝauM_ܡOT.2x{r1<F܀-k 9Il\}N(>u,&P6ɍWڀ;mw@?(Cg!B<#9 nʩ.Oh MkDdIpzګ1Oz/TʄQoߠzFj1C%䅁vSyjh #'M&/vio^>%E%^}`CJ0!d忍>d+\2o&:V 8zOصWCsȷ!*hyԻTv=0<ߚ1 u_"D>RtM Gòk@"I 7/m6o}55H=CŶX5<ε ǃL5p#kK{z^ 2U&KO($Iz}(J/ Ҏ]2io,_E N5PXi@j*tK# DǾJy$$;:(arXaD0259$?|ÂpT%Jtl|= 8?Za¥UF jH8YzCl;PV9oN mP%C6i К"=7e!ރѤWHNQJpYr-Hc' 2dWxe/蛮(єZ 1y֥0; *+j3? eԒ :8`>7] |xfƯ#mơZ:M@ [F<$!zk |KYq@0d.jc dQ*@|qѶ`PU1| vq."FE=!c폓$|L@Lڔ$%e=Pe_>V!at zrD/c \\PV[-֗s+kQ[Ozy<P TcF<+" +5l+W<4Y!WFZE Y'[?B8Dි[(#nQߠsfs^!kFSYTyʚ󏡯{kh"#lGF%XCX~1͊ CpaQWGGX,GzX6hNM x-@Ŗ7\8[12~VRȥ Y- ]C܆|vlV*;bRR>gdȪ-ˣ z"Р8eKC:|i Oʀ!3?ZADg̜le;=2+ዐHZ|EqRPPi1V= &\͛c%?^GN>o5@ O^ډ=\MY:L{ IW",v:갸{``磺&2>s@>˳|S׫ysr*m^8)nB=Y#H5BZ\}V {*N n!ڧk[d%ͧ Jkmb! N7: jgAcS*/.}=N??Ү%|r =8􂚗aDɚdY>Ү̃ȯp%Xoh3GQtN/tɭ1,? xiy[K~E_/D T&⴬Ħa?A6Kۄ 뛷j\K%RoxQ]8MÚ7#޺-b:S IOe*\Bf$+&)`ϫÇ 'bɃ>vm;mtz8~&/+wn/9]l"⺇&цFܗۊpgsON$E,AqHߌO+:!n8J} 6wPa~CCC]v=ة' \`"5|k'SEz1*ںs]r@6E:gZW$.D o9bChr8z1`ԣ. rǼm_\w-#D-3m AI *P]qr4 a+G2<{*t,CIG{8f69Ghe`Aը] vbL[_4/L NCjO9D.}W{fC[#UM`—OAY;{%Iy~IjKAGԶ\]'GmJXOv O6dUM_8XgX|:DwէL; 3*s#H(T:PT=(vnp"0_xnx/0GmD 9@w!DpY-{z+@f! 0J jEv Tdika#O&dć1 `kl̵`7G=bdMʶhp[SV50~䌫 gDaP>; p0O]G 4]{65/_nTZOۓG~ɀlP#"w]#d&wK׾`Nℽ&>īycm|9yд*)l{Ua8 H9c[VjSykڮzrTjQO:dt(^{_.OZDd QPT!`uxbr1 :n I@[-lv]0Dj>g q&5sBfݳmݲȚÄ,؎v&Nl7U"G^0tSWfʩG**JSƊ׳a#aX̜I !6^'|KX%\= s@lٶ{x K^̪uom+U}jj4?aҎj1%ajS.>"2'6`YULvF/()ۜ,/O3 ^F6m'SfͿudd¬_x$,w(y?BbQ 'A&Do61n.lUl~Ie3TyICrQ*m`]`9y\0O zN8|jtyݣY/}q}W\g"K4t6)sƒ_=$%՝lȔ|=^ACQ#tŪ`h.&і{L/unDM":tZ-tΣ $8Bkr/"U} dnijlk*NmP)O2q~7 ;QWׇSήI4C^f(oO*L5e*䣔oUִJ$ON_cT8 5Xk& HCivs_;43id˞T;+*Jת8Ts0sq;enb+D_(] Á?"|(fO@Fjsm<:U$s56dPQNNDmF3;d8@)u Ca; dԖNr5͊Udxhq.X3̈%X,/ABHW˃Ou ۂS)L<{j ;Q uj Da4DO%]o-`Ucmգ0yZc/_LJ`~̓POUN\ &*x>MQER~?Z[ٜl|\;ZuߩJAܣ*ȷ!P7ˍɈj wg@o ^ 㳘04)L*%?Չ|_VK pȵ1H`H'؇Yh-zQ Ra}ʅ0<,]bc9i|Gx`L|ۏSrW`#PbSRh%#%I~x?`' vHLR C(Hi3E}Q :KHa niQG%k z_Q;R ouȋ:5CUbU3K;+V,0Sw+ >#rV7ϫE#*obVH*I7kavCKq{C!x-P e#eEf =),aR_!~ :)^:wxI43DdX{pKه-7oΡnaxNÆWCЋԇzoBT ֫0uk`=^J#x맯/c?9-ZXkIϗ0.ئa ]/Vգt4#> +L:ӽr_V45u8/8$ ( =lQUqMuemè>eZB/J^hFh&F< 1-K0fi A9[}{2Q-V kT3^|: IJ}z|W%e˾ԡiy}}:'~ar_̗UcmF"K {a N̯QSeG Azn!_'!LzÚkYc`EhXͨw6˧ R@B*#|% t 9<ұ^Lz |Fу(!LcGGf[]|NNjmf!/Sw šaɶYnפE kdp2BAX.MKC$~*I!wA}6 )tlҿ@G͓d>KXr$=дJ^ SyLA)V5p7{mi?30y}uj X pvYu6C_$,."UeH8h#tZʴQ6{ 4Q_ũq'LWXgW|sB1q< j/9w~t0jgeQf͇QkÁnU Y]Xڇ3#,:yM4|l ދ}'4DYU؍P:4=P46p"οڶ_ @xxθ2B>5#bR3xfw-60,B e5(UQi0s[Ʀ)wD?1RoG2HY&G5BwwP|m;9׵itqմE&c"A+N<7oWre5Z1$az-`Z9~35?7^-1Ĭ4`]p;g|RX{Ynܥ;gϨKIRlM}UxO5&0 eU7ˇoΠ#U Ia%fK?KY&qF|Ȱ4n\60Ozu<.$^Ag+e#M|~1.lPp<ߐ[% iEa=HrωKo}Y!Ͻ{_s[ma6?U (KfS>!=k_ TAY 1h/9 c۟ғ0R3:Q8 |*졣g49}t3Nq- (4C(cc1R\IQ :j)vWqe IRH y\(3zW 5Ll /ZNS2 % IDc)F(9e~ŕc "ٳz8H reZ{۱"KK|^7fÿOr-n Maka|ޏ .UHPZxϗ|MM҃-F {rfqn/Ͽ^kXމIi|L\_5qWnx`>jq-5](# Z{I0xFŚn !- xi_ hdm5>-R^ߓ3;47(Ge<Awv^614!xa8k. "61c&w>u, : 4ʲ=VYsh݌mVśAӒd`?2 "nW,,%ۂ*I'8aOB0츐ˋ@tqrxVWy1(YUQZ*9=TPҳc&w͐ȥ]E?~e)}G8BKtW6ȂKx0aR^xcfyLFiV&ʒ]TRvwH >k{ʸGѪ=::♴\#ٙs 7zsL~s>kLH#): qE#V$'7.-ee#kR8(dM\q+Bc qW.2OCܽhV w)n䔮E9IB;_߂FioKA'S_?-Y~tV??uld\)~Eݔބ5:[’2YoGa#/Q0=MFz1ЧhSz4)IXwq ʈ_;/~IKmυp IӨ8Sa h;_` գjmxwrb8,HxT97*wU7zGIJ`+9N# 譟1dsSv=eiÞK[7( $-Pe0ʕJ)h1iIiM*HBŒ56/6z'[B=P3>U4.k]F`jr"HQeIS9S:QZ҉-(Fԗ&I2"=i+T]L-:U :&6"L {p:*hi  1r܏*@";l`7 =+39:?8;a}a Fr&D&-﵈Q8"!Ke8rsdЧ99F*i.ؠ:^7R6Ԁ>lcyQ/&_-_C*@K3'"^K@JSWJ!MIf:4$7uy#WNuxgWp ԅ`7_ȉa1]Py7 Ê"`_HJXH#gSxD'%WK8GU$;R^{ڇe}Ac|8E}#*Gd ) fܷd4y;,}3\>NbZ)\jg#4] t;]O*H wK: CtEz^m(Sz<: ŎBV錢1׵ep ŝIt<k7O78sk{M̀HJa;, ͙l#|:dJ5l5&yK6C(v`D@}:/_KjukZDeX~k\|g&gξPcN>ͪ`b6[^QVbJ]5"F?lTi ۙӱM:EqC9^d.rco0m*2LQ΀w( v=iD$y}+exE;HhO8^f{}d}lOspUL).?ݬWyQڒ#e:ii aHf,G^㥕 "n7)/q!˒%rlM]ǑQx2OMc.y O5n{Y ^I@牀sr#}UC7$ |ظրNLJeJiB̦E5Hm@Z!u7܊xr b*aL(wk]9G#ʍG !닚 a(G 8]ZiN2;g8}KA߇8ZZ -n\A7OH]fEPU%yjx)@c#اFmK`?.o]z5~%p!Z"4h}2sfD zS H<|9+6k9^ ƒQ0rm/rRxmQ9 rBKXƧ:h:5uD#85jy"O(uDS6Tĉ5#KS[ا`tJ&4'kI\y~H(J~\L1N`u"y% `uhUH >e!}cΛ Y':%QghMΘ]!!D*k'=<"7 C1G.kE+p{:M\@بf@,[{}hʭ}Mu`Έ~576Q{*:)Dp=KlHc+&KYk8Lĺq:\ܨ^BԜ~6f]jA@!ޣ[ݛ=ijo]s3f?PoE|Ҹ%4L{JE`^r8ē$t fTJB,=a.Bs5tߒcCLbDr<˦ -Yn7AwK z!WkGO GqJ> ȟr;`sS&|P^FN_/si#ejHqۺy[ӹB뵜}y_-&+Um vy>y].9c gV/u^Fl*W0a%} ^EeVsEh~=UP@홉.[8~S>}pE2b4QaNy@ՀFjl=ZPHNlhnP\0Q&'$A`AJ7,<$9Z!*M,3Pɠ-!@F!? sy0\nWbCQ% TEA27Иݚd=Hcρ=H9u; E $襅T)DXRV nWTVb)!ZN\ Cpwy3R)E !9GOSNH)b4hJC0KXmpe J5k.39(Wqp~>3O;S%?j\T!M]~3u\."@}{ =󾝘`I/kHtЦzcɍ46 u"r@] -lrw+Y"X@))pT; &\9[ͥrYlz81K_uμUV(u`٬,'e1x\/g%:T(:4?W?Nl ]zSi *Ķ*)?i!> oor}309]F^WJt٥icJ .TĻQ@C([ +cu|eSx s?=3e}?< t9&`u +t ӧ fB .AWf4#"[z8+>ALDIߛ(7F 6|:tg e7SUUQukGD=D:wSk:Wmfd/яߔm5i)Oʴ[_LeyjfG#Cp.a_F$!Hꩵ ?_ JӜHnm%` o*;k x;{$$Ӆ;)vŘMԄK[mӎ#12 H7j[V 8B>PDaMyߚQT%/**>N*|fO14:+tABZd)]\δ|.xZzvSە OqAAt . 92l<U7`eW֠R %u&S##@pI0yh\a6;zT/<&xwd}pM0QB+^C,\x_ΐ$8.&eԃ-#s&Y0@gTlNBCU*:7}܁d{~`ז7+)د?y sp*UھG7Hd5_dS&M35T #X1k>N3n)ltzv,jx)6 |MmgO$uo'Xw2|P AYoJ| qH)/zjfjPrg?쒳Mq9c9ti 8O7}k 8b:scNfz^swM0V 7kT.ԏrIoŰ8Nj]bD\j.Hؚvyl xIbai421r[Rr|9v:1AeYײ&:sw˱lg/vd1:E\}sRh׿D(SpNG\<>r!_R\Q[n̟"wgELn5G[hD KC,sDV*KˬQgrku]?6{IIB40jeӦ,RX y$LGԃ -3;[Nr^0Wđ "$&{`*ч.DvV#DV.^#JLJhQN~>jC҈ZqL5`S)*&jvc7@}A[^Xxsػ;j at6]8Ç=\fn^1Avc]]68[I@G'us +wRntVN%肶< HV-P=<  Wh"u8UF9HY.w`}큹0=f]Nrfi48iQٺ-c ^ӸI= Nc,3[܂z=JErCHq0]@Iv#H,SoRg4SXYF(1}M L&D!}݌OfЏ"0cС{#OO7c8}@5?(ENc,u`oJe pSnp]5(b$9AZZw]@}(ZDI\?v1ȩ<`:uq) LX7tPf4\+XP[[K=p4_e/jB,pj(.DQS{ځ.fJK;rےB} +2aJCۀXI{@F"@D9c 'uwX.`0uh{():oANWop)ƜH/))|iw͓jH`Lx\ꀑ"W}$1h"tD!bG5Zxt=KࡈpPH3&ӯg&0lrlHQՏ69ClBq^[o#sxպQehR;_m- HͼrJ+BZ -kD6]ߴM$axzItq`Ϡgwa4,O[yLGZYɆ;+H ~KצRwN_PSs]=Ɂpp4ethM JM dbCK@OBGk?Wz^M<7̂'w[&3VzC,?[.I2s@]c@T02A4L$hx:tf Tہ$Q)`Uxk)uU>C)!$9}%F:R:B =h+*T؉&=w ?Y"]9`Ry,, k N.H7zT/#j-t*̑xgx=&B0ob(x~N@Q첇Aǥar/хH(~#J!Pw =ήhW}O'ZnjGЎ'һ^ aی[p^ Iw+~*Osq.Xd͸wlxftB"kzRj&:}FoMd>h$ Nug?K#ZćnŐ&" Ni0܌R Oi҈}ۜ!ݩ3*+e' kL\?~ӼKshЀ[9w*,1&= s$I~Eg-%.ȝVz:حzf#&F9ӽTׯ4#Mڰ.fm GUi[ou/=<9gٔ iq-a ퟆ0ʝ󱥉vpme3ŷRd͹'g}`U$i^l^S}E M"~@<+W,4Т*0KH̭ii Ճ4xr2}@ ?) @G(Ii}j#'9_ cxIcyu%Wv\]ۢSN`w8Gc#|J4.qU{zԸ>"ק@lc%X&LS, Khh;?w ha)jMQ%{0twVz_bI(T \rQc!PrƦ3EΟ>ey=W q 2wf KզW_q)_;])cG2茅]>$`.iVd^tF1B O9/}-ȉJcU~ݩ9v(K>r]0&Z(M,Tm>)T8Tּ@')}}E'K<̵rX rlmχLP"+M7$8?IfazܤFz($3J4!!+۳'ETF'\$w[ 睸{ln/Fq6аC&7Ɇ>I߾ ~ k-O*ġ+>qؓrN*2RWyWZ} Ԍ5i j[Y5&o_wx=]ęRL#c6kδȪބ(BpGǢc #E $ OêR&xMB,&ŽA>L/úby3 CN@*֏W,ɨʂzQ*4DU:vS>:=|qXYJZ Glf~8/D\a3:tafRd6' (T1PT!PY>OLy pْ5eN4%KK&/?{T&eNC:Q]3?/M12y*tͅݦISUr^)maWe]9Y)ؘYg~Dg*P6}-*0K5.Lh3^5SDASŦi)x|̩(2WDh0 Jy2Ʒ=SL?cv'Er dg|gUS, .ĆOWVPץu<fZ tX""nMKg%Ʀ RsUpmRԗT))7jzTq(,KR8wujqߕ1ےW8uR__g[C9 ;x?u9bc< 95ۄ7xOYE^uGINn`VC%ySarO ΉO#V0XY]/MrFX{`Rr #aM^FшcgbIR gtT,! &C Ipr{rʥd $[(r_mZ$ꊰзWt 0df>r#p W_G nw~OgT0 Fm7qWdˀp&/Ɋ#Vi*UWa~|f6Genj? U 3~eď.p[nV %):Ӫ 0梳gfJ>yO"JT|Gi6ri^ 0`^wrg+5\zHh@k|”r77=ֺys]ZtJ ?FU~Hh1R n̚rtJM!j UŜ,xP0zտy[2 {@-t_ηCYEJ GPXA&rKFM`OUBB4M0^x e-F78Gf"n$stz""}I} vAOAg͸Xu4m~'~?J;y-]>(mDssJvo*u'bČ XKV,܅ J2?GQ$EO7oSNa/Vzn Ti ~ nK_Ӧ12'ĸoC Cg׆"6๙Vv 9Ǻ|gUZD x\/ؐZCҁjhj c}My W4 e&gO߽e6eJO5wzsʵg}F$t^JDy(tZkl]onJݒaQ:O`7t ӷ$DYX8&cݺ_?F˴ ?hx=h-A%;lG-[ 0=i+P'qv(HWT%"@n 4+#oކYr)ye-nuՌK:5a1qu1xc(l2͵C!3Lp6|͇~P!U*#0蹩%X5/ 4^W1;mV|J:dEÍIP ޻?1 ]a!GqQP|vFl(/B7Oǽb3۱z|#cg{h @ Q;pJ; +o.L8hiXJZ?r6^wjq|z̄;'c%Y~v[yǨme@BFD%"f{4j*l?YW`mJrA1`gIZ RrS eҸŠ|(E ״xbe69mOH|Qu:bj4fn`'JOxzHϖB,J]NX9NeSQ,i1RjD1)^ܙ:{&?L7Jy'?NxOT)_{k(&`9!d룱B1HR cXy\%h0ʃuj<6aȇZ&!ۛ(=4OoQbKb>:?wv*cU`t¾ܽ\p8ane8F5rQ>wFl!0gy07M9p:$J9^XAޠQX0ƅGVs Yr5?9M@̊ aH4T-"a-](ٖӋP:aVY `G״V˅%_'sdHq\T!ۋ nW~R. @Klq͎V(*Hr=X5j;QodD4z>CqwJσxcuz%%=p5VTհbLPU"¿PtX߂U,@:%C<=7T]IwACKk SSg^j'E,f %vj$4uO-v}VR01h :Dr{USN-9(_FOJ{t@ǚ|B|-5lVʆGuH\P~Bg4w.\ř}Pɐ #k$=dT2QP.뼕~'nmFR!ˋ=4:FOMI Kr_~0@Q2M\;}pp >vkk8v(hZI+۹=dk f<Ļ̶2`2-'_6szBw#'ԕ!)&irMP )fl;s#/F|[ 1ZN5HQ5)mfk %43ߟfle6IRf刋ulPKoBz7h63_6nrfy D$z=hzx6G&cFhCLމj}NI_X䤴q|؃C|' ˤupqI>Rg(ɘ˒|o}dPCU\AJ+6ERcvd)dSA\eo!D R`,s2@&cZBwԷgĮ@|#O;󣖮M( :u3l_ ~{:b@ z2qH sTr^ =OX7yc4}eh҄ЕhИUL5/|R6G9s;SZreXGF#d"UgsكDZv !NDZAH,Qfe* [`T˂bt9';t~oBw вtrЗ^FhH~6W:7U~ulEjZ2ΎUϫb-8փ;8N`YT 7P53G,?-{PM0I#l/&-*a"w렫ՙ8Գa#SRqg(:tM#K0O2"vw_~v 5Ճ5=?w\c_PS4@), fޫZn~)t jm- +(츩dj8?%K,'a P`>܇3,fʻ8$l]4}G]:UR>a%j 4W0 P׼P}6t"th a:e9̙b<|{J_|;lXBswu]E*hy| m^: Ve}WWWw_Vdq؏ɼRj-GE.?'݉crޭdiɈ ˢ nbąV09K-EJ͈wI{Xfn@yErB4TE\4)^#v7tcdB H|{aHStgylNEcVw swv¥Jb0R8ПUbIt_-2:d|e\e{6M[5n:D3&C(awD*NWOui)tzpOI ־ȝ(j>L+7ܡFpX%V>&L6) 9I+oe#lh< ]x'޴E.<b%;IAC? s1/kIWSNn ?J}?yyUai.fѰih>a4 RbU  ~OYu:] ?2x C-Dwx#,W_+W_PT+FM|u ODbFb õOg>@v'\ ⠇{7GuH!njv:aArfυlk j;(4о |~M3 ]E'K 2x\(+λ_6s!GE"Tm]$7 %TLK55}\\MOz ,$*Ge]}LU@I|Po+uV(b[!~#G/zsYdQ%rhy>3F+gbɀш` UqBS.i;ӅzǕ(I}?Z$Q?u ke8JO^WAӦ\iKⵅo 엉 1pj:3G3 JUmhvPiQhl+gƃK'g,I9<} QZ6iN݉59;vV YZ