ޑf*ѡK♖!>Jh QG*kЖzkÅ-ٴFgk1P_ RSͩL%_RW]*er.3ۮ *ǟ?"g;#agl3 7b%Im4L@BP,# Kmonu}[ 9~P3Xi26,t륐80C3"C~[Fw|ERXm1x#zP!gs;$[ەQҚ\vi2\!v_fRb^!ʃ.GD 0H71f9>[\x4vsqL;'nj%7!Rhxm ;S9gDee>GPy` A.@{q є2Vv3CZFRgZ[vq_/:Qt錉C8nAOGř? =XHwgt,*]jIGk |<+;̥tEDPjJ(mYvn4z=ȟM ZE9ЙS=(MKBշ",3l\<%NJH0 {RbI=Ti:KkaI%~B;(F'l|bpʥ/ "JHOy;n$EᇀllPQܥ%QXD@/;ϻ-6&rΫoC#qZc|!^483秫YYx!HP Pe| DoЮ1_k#-0 dѠV>[|^`^&Qk@E]čn;ȓ/[N6hn vdF  %)[_ǯN?6v&w \" ,NVOoģz otz{La(N ?Ӕ|q$:~hT$(6@g+{ԝ+Q&c4Q3 PȬ9}FgGX%cۤzNvW6knO4_ym@Q͚3#t0wK>{e=ʐ.Ǭo,^yL6DH4l4T4{)mRs4)S?uP} wz' mg\xhUkA.LG߲o**4 l^ދWUZyfEnNŊT]9|G\ "?2.nB{2B谣 £VͶ'3ي [DHb3xQCuwKW61mya;lEڀb|,׽zAF˳b5!O=dךAGn9^]Nkï|g}:".{НH M^||fWIc+|1>H?Α\&"EK}+68b}߰ۉR {_/r!岲,+ dܼ쟤'G^!{Ԣd1OXlwIƨ[R>?I"{DwB6N Rg'㋜b0!w"aטRy(^ad *l_hUtu!:kd Q_%t:)UVX+ql` 13lU7# 9ynb}*S ,:dɌ)]ә|g) :VhRѫ<JuJP _b }RLlj t?Uoq" \6*sFX fN`< ohOWDft:vVdFKw=^Lvo1 ;ڴCf-~ѕbGǩhWh.]Ok ^3eDD.~tWIrWA|5+Ep?0GP2&QROi/nQj4~FFKCCGHp؎#K"ay<(5@瓃o 5-mݏ\a]=`U_ DT%/xL.^&bPƐm`L-#buj:HO-]6MHloJł􇄦 j!p!>&դQ iG=P=1̴azOwʩ`+_s&5 }N#J{#x[{~QeCp uE'ܒiۀ/60Q;%kӑ>`;p<dDQrDLG#N k 8ra_M^||fWIc+|1a @5N=4?6LWiBϻ3Yϡjd|O/ XrTb~Xu?78q!RB_6ɿF%|rW~h@NS70Sf-$mNFbL I蜞;(%fi10b\QQ#)~N~܆˶|Am:` "6K`_G9{(b1e[=D9ھPSPo]U#Hц*^u2B_|lLv,0|]z݊Q26Ow':6`"get('Core.EnableIDNA')) { $idna = new Net_IDNA2(array('encoding' => 'utf8', 'overlong' => false, 'strict' => true)); // we need to encode each period separately $parts = explode('.', $string); try { $new_parts = array(); foreach ($parts as $part) { $encodable = false; for ($i = 0, $c = strlen($part); $i < $c; $i++) { if (ord($part[$i]) > 0x7a) { $encodable = true; break; } } if (!$encodable) { $new_parts[] = $part; } else { $new_parts[] = $idna->encode($part); } } $string = implode('.', $new_parts); } catch (Exception $e) { // XXX error reporting } } // Try again if (preg_match("/^($domainlabel\.)*$toplabel\.?$/i", $string)) { return $string; } return false; } } // vim: et sw=4 sts=4