krbrbby nameby nameBUILDd kArbrb./AA k-mlrbrbrb&l./lpp_namemm4 R S cluster.xd.glvm { cluster.xd.glvm 7.2.6.1 01 N U en_US PowerHA SystemMirror Enterprise Edition GLVM RPV Support [ *ifreq cluster.es.server.rte (7.2.0.0) 7.2.6.1 % /usr/es/sbin/cluster/glvm/utils 1336 /usr/lpp/SAVESPACE 1336 /usr/lib/objrepos 16 INSTWORK 168 104 % % % IJ39218 2 Modified Mirror pool creation command % SYSTEM PRIVATE % % BUILDDATE 0743 ] } k$Arbrb./usrAA kCArbrb./usr/lppAA kHArbrb./usr/lpp/cluster.xd.glvm/cluster.xd.glvm/7.2.6.1AA l&mdrbrbrb&mx./usr/lpp/cluster.xd.glvm/cluster.xd.glvm/7.2.6.1/liblpp.amm   _es "=cdilmnortu /agpv'-.01\fhxy$23456>ADEINSVbqwz(),789:CGMOPRkHLTY[]|FUW{}&+;?`BJj#<@K0( H,??A` X'P_#$  "C/ڲh}v2@ HH`$ ÃA!Ȇ_?,;>L {сIqh'̎xAJΦ RLsopfXu)&5({n'C:B@@@V(&u1d èalnHP޾cA>AJΦ RLsopfXu)&5({n'C:@q Av@BdNu aCvur93,z0 è >)dN\4szZLBg_Sԓ24{t3*ILIx޾&!<(}BB 8 b; Ba !jInipsc ۤu]âk]LukS8;}yB\ >2)&2 J-GRL_G^ꊒb'>np_"B9qI1\ۆeRLD6:ϮmO7I8sԤWO74<Ha\z >&u1d èalnHP޾cA>AJΦ &93q:ԓev=}B! +`Pl(,,(*Ŕ"t3ED闔xӨWۮPTu3@ #³e]\7Dˁԓ"t2G?:=dN\4ܧ_ I:pdC: }QRLe\7|L EI1 G [8 `AaaAPu@&,$AI[ݴIԤ6+{}JInihKhQź!W׸e:Ϯ[-$ƻPN}szE'\RLD6G?:2du9͸iNI&"sp$Ra-h9NWO74<H-I0= o:2vUaRSA$( Io_U [ s %gSԓ}DCjIv;ۉξ!Fą@1Phq0}BXP꾝dg))C\L3$re:^,+9FUStOI2'C.}s󯩏ތ0)&DeOu >޾$к$̍&^] ꊒfF/zRdf7*IO 8_P#bBa p4NB`ЀHZc ۤ\$$6+{}Ffni0i6sGfǿu=_eiǴp0wP8{InihKhQź!W׸e:Ϯ[-ȤƻPN}sz|ez0 è >)dN\4sz$$.ξ&di2Bg_TT24{ _"'5t}QRLBxQźB@@@V(LE$N}sn}SI4sz(sZ'>}E~")&ǡp  RL+Bξ>Lzu-m cl|2‡H2I@Y0$6n5_QZc]Ƕt3HD!Aq08LT'a!0h@\L$)&Dg_P:aY9J}P#?"Irq0 QwapsB/.RLˆec :I:pr|-&DeO7!t.u=I3#IC:޸o:<ꊒbŽ-$"ؐH&* 4 .&6+{ 7:)&2 J_Qٛn:&dͭQ٦u3cZq ǔ%|=)c ۤZqn$Uu?N&"s u)1-\޾O9͸iQξ$N}sn}SI4szsZ'>}JIq\4szC)&ǡpg_S]Nʽ :Jv61> aCy],`jc{7ïx-I1YGcq:."Ep‚!LYI2'C:^ tNyG:|uAS4I:^,+9FUStOI2'C.}s󯩏ތ0)&DeOu >޾I&I t3jILк$̍&^yȤ] >޾ "E&։Ϯo_QCIq\4szCԓ иi3'e^E%; drBĘ[ < Pu0L5I1ͽaD<k, lHP\L$HL  I:%VNfri;ȳ >޾E&։Ϯo_Ra\z >޾A"JIq\4|i@ !@bLszBPiWi( :&$$ư" RLkQNu Q@x: DHDRLξC]^QN_n'CPiRq0 QwapsB/.RLˆec :I:pr|-&DeO7IB] ꚒfF/t.uEI3#Ipu)2x3WO$'[\D$l-A"B 8ԓ%ov&_Rc ۤu)&2 J-GRL_G^ꊒb'>np_$B9(sqI1\ۆecɐaRLD6:$ϮmO7I8sP):a\z >޾A $¸.}LcWAQINܐ1&9}V!l(}4+LRLsopfXu)&5({n'C:@q Av@BdNu aCvur93,z0 è >)dN\4szZLBg_Sԓ24{t3*ILIx޾&!<(}BB 8 b; Ba !jInipsc ۤu]âk]LukS8;}yB\ >2)&2 J-GRL_G^ꊒb'>np_"B9qI1\ۆeRLD6:ϮmO7I8sԤWO74<Ha\z >&u1d èalnHP޾cA>AJΦ Bԓ}DCjIv;ۉξq (XbI:"kt}E~")&"sp죟}L}v2 :I4ܧ_$9͸iQ)0N}szE'\RL+Bۛ$WOɝ}L}v;*0))[ ے$7d-evbA$6n5_QZc]Ƕt3HD!Aq08LT'a!0h@\L$)&Dg_P:aY9J}P#?"Irq0 QwapsB/.RLˆec :I:pr|-&DeO7!t.u=I3#IC:޸o:<ꊒbŽ-$"ؐH&* 4 .&6+{ 7:)&2 J_Qٛn:&dͭQ٦u3cZq ǔ%|=)c ۤZqn$Uu?N&"s u)1-\޾O9͸iQξ$N}sn}SI4szsZ'>}JIq\4szC)&ǡpg_S]Nʽ :Jv61> aCy],`D1I1ͽaD<k,  [8 `AaaAPu@&,}B/|'LƝBtO:zөa/*t)'^\ >9Fu"t2:ZLˆno_$$к5$̍&^] ꊒfF/zRdf7*IO 8_PH [ D@q1e&2 JMξ$AI[ݴRLdtKB[B-Ԥ )$N}rnI&5څsP):b'> >9i èϮmOuI1\ۆno_"qkD7Ru$¸.}}AAjIq\4|i@ !@bLszBPiWi( :&$ RLsopfXu&5({n'C:@q Av@BdNu aCvur93,z0 è >)dN\4szZLBg_Sԓ24{t3*ILIx޾&!<(}BB 8 b; Ba !jInipsc ۤu]âk]LukS8;}yB\ >2)&2 J-GRL_G^ꊒb'>np_"B9qI1\ۆeRLD6:ϮmO7I8sԤWO74<Ha\z >&u1d èalnHP޾cA>AJΦ CT}DCjIv;ۉξq (XbI:"kt}E~")&"sp죟}L}v2 :I4ܧ_$9͸iQ)0N}szE'\RL+Bۛ$WOɝ}L}v;*0))[ ے$7d-evbA$6n5_QZc]Ƕt3HD!Aq08LT'a!0h@\L$)&Dg_P:aY9J}P#?"Irq0 QwapsB/.RLˆec :I:pr|-&DeO7!t.u=I3#IC:޸o:<ꊒbŽ-$"ؐH&* 4 .&6+{ 7:)&2 J_Qٛn:&dͭQ٦u3cZq ǔ%|=)c ۤZqn$Uu?N&"s u)1-\޾O9͸iQξ$N}sn}SI4szsZ'>}JIq\4szC)&ǡpg_S]Nʽ :JI 0h(?H<84$,g% #cɐ,=NI9v nHP޾?NRLsopfXu"-Kszz0 6&S S 6Q(3GhthL-KecɐaRLOuL-Kno_$#t.uAI0RL+Bۛ ԓ иi3'e^E$¸.}Ԥap1=Ɯ6tڤư"-Kszz0 ^,hL-NlQytXVr)&S RG?:2du)pr|<9&S RۛIԺC:sv)&ǡpT иi3'e^E$¸.}Ԥap1=Ɯ6tڤư$EI28ZacN/YeRL_P6Q(<³e]x9I2Z >9i èL-K{2Z >޾HLк$Þ㷯I0= no_Pp$WOɝ}L}v;*0)&ǡp`ξ%; F$( Io_QF4᳦$6n5_PY$j[{х8n琒9gI2Z}A,(q(&S RG?:2du)pr|<9&S RۛRdp.ξ&}JIq\4sz $¸.}LcWAQI0= cnu))\NYV޾ތ,ivv,)&G R޾ތ,iv$(F޾ތ,iv\eBINۉ~2}QRLξi\`ORB> }v>&YMRLˆecɐaRLˆ{2'C.}|=&P$i]I1mVǝ+cqB`8'ifk0k]LE&N$2vr4XPV\(@M&aB]LXP]âk]Luk&S¯]LDA]LN$S O cӯPUu멝| u3P+'i05˃9NДN$)i'Zp.Uu멝kp((W"N$aYrjpS-&MDM&a4aac ˓Tel}v2j'fQM?rq&+cqBIn</hKhQź&pՔv=}JIx({n'C:zEI28ZBg_ST иi)&ǡpg_Ra\z >RL+BĤRS 1&9}GXӆKŖyYm#no_QF4RLtno_QF4l2WD$§me?N&Dg_P40')\\L,&DeO~u1d0)&DeOu >޾(] bae.6+cqB}Mnp04k55&ki'i}v;By,( +.rq& 0 _G^1ٛn:&dͭQ٦lq<*:{8DdM&a xS]NОnF|@'B]LUu멝|\8OeɫKŗNr)?IIS<)'hO7#N< \ PS:ǒPPDI²RW׮[]LĚ?pIV\+cɓQ8O(q&98O핱nu$AI[v%(}JI8j;ۉξ$JAL<܍ P98OUu멋 ]âk]Luk&S¯]LDA]LN$aa)'1d i( \ xT*:ξK`_ _G^( Jȓ4V\9gQ8OǸxS]NОnFkx¡W׮u%\8Oeɪ2¯]L>L54~8O05FVi&q&QM?rq&+cqBIn</hKhQź&pՔv=}JIx({n'C:zEI28ZBg_ST иi)&ǡpg_Ra\z >RL+BĤRSAU$7 pViRLtno_QF4l2WD$§me?NI:Ԥ >9Ԥ >)Ԥ >޾$AI^u6WICO}v2 :~W e&󧝕4y~(yIOЮv>Lq'iŽs߇m<2n9osp缿9sA Snt]ĚhW< k)vɚhOyoc@9n!)Щ=M1s{W;]O91/BK]ILk'?<1r8N$޾ In-l c+L18Oui&ASxO9}u3{p N$N$%xUpu3dhW|sdQy0<Л?IvGEL)N= NsN$77>sdSs+xԔB~SCG#M3%_3vNw{>L1xs z.;Ю4dG7sHq&N$^Vv 7:+-_Qu$AI[]9>$AI[]9;B[B-ԤξE&"s뗮ξE&ǡpRL+Bξ$¸.}ԤWOH'ԤalnHP޾ތ,iv\eBIm k*Iv;ۉξ$ȝ <\eBI:p죟}L}v2 :I:pr|<9&DeO7RdC: }QRLe\7|L )&!<(}JInipsI1mVm:%ovЖУu)&Bqu)&"s u)1-\޾$N}sn}sI1\ۆ{Rb'> >޾E&։Ϯo_Ra\z >޾$¸.}LRL+B۝}JIq\4}}JJv6ʶ`ĘacNYpt)I2HQҍ}GXӆq[]=RL*vN^.}@ӨWxWx=Ӝ2I2'C.}s󯩏&AQI2'C.}S$ȝ iZLdtlg_Qٛn:&d=X=(qtԓП_TT02&_RaeRLdt#RLdt#%(}JI:zRb'>zRa\z >޾H 5I0= o:2vUaRL+B۝}JIq\4}}JJv6ʶ`ĘacN/\9vRLtno_QF4e?Kk'INۉ~2}Eԓ"t3<:pwu baY2{9Oe'dN\4(_S]LdN\4ܧ_I:pc ۤ c:ta5&iF֎~FDΣv 7:+-_Rc ۤI_Rc ۤI-GRL _"9 _" иiAIq\4|i@a\z >RL+BĤRSA$( Io_QF4~2hOT}DTev=}JI:'d "s"t2G?:2du"t2:xrLˆno_$$к$̍&^] ꢒfF/z䃒df7ԓqn$AI[ݴIԤ6+{}JInihKhQź!W׸e:9t[jϮo_Rb'> >9ԤϮmOu)1\ۆno_"qkD7I0= no_Pp$ RL+Bξ>Lzu иi0v_Ra\z >% _R !@bLszz0 񔶻Bzư$EI1YGcq:Ԥ}Be;]=Nr7W;ß$ȝ iQξ>LE$ȝ iN"t2ۛ$!t.u=I3#IC:޸o:<5$'[{c ۤ\$ RLdtN聀I5XP7FX2f֎{X68}JI4(_Rb'> >)ȤN}sn}|L9ŭ\޾$¸.}}AA%$¸.}LcWAQI0= cnu)&ǡpbR ))[ ے$7 p?Kk'Im k*Iv;ۉξ$ȝ ) 露x:sB琕3멊I:p죟}L}v2 :I:pr|<9&DeO7!t.u=I3#IC:޸o:<5$'[|c ۤ\$ RLdtN聀I]LՅta5&mh纎5`~SSgDA'iu2'C S7}PpI&( mvf曣}v3kG=vi||x񞨝 XVxɸm8 " u98O2n\N,( mvf曣}v3kG=vi-aϸɹrq&Gz4J~2nG<*2ni8O'iS O Qrt3@Q8OBq&޾$кԤ }@T24{ _"'5t}@uޤ6+{ 7:%ovӯI1mVm- m 8_Rd*:_Rb'>np_"B9RLD6G?:9͸iNE&"spRa-h)&ǡp иi3'e^E$¸.}ԤWOH'ԤalnHP޾ތ,iwe-О&93q:&5({n'C:"t3N4XE8* 9sI2'C.}s`aRLˆ{2'C.}|)&I t3jILкԤ޸o:<5$'[}zc ۤ\$RLdtN$AI[ݴ%(}JI~2}JI-|Lk D7I1\ۆecɐaRLD6:xrLD6ۛa-h@E$¸.}}AdT иi3'e^E$¸.}ԤWOH'ԤalnHP޾ތ,iw~2hOT}D&5({n'C:"t3[k'S= |s >9i è >)ÒdN\4sz$$.ξ&di2Bg_TT24{ _"'5t}@uRLdtK}AjIni04j€fni0i6sGfɰ?)Ǐ)t3 xG]L4 c ˅kӏ(Kh8N$sV63sMчD>L;4>MN>L;40d܉98O=dIĚ%?7#74I4)'FMɹq:(I\8Oq$N$8OQM?8N$)'y\ Ěr$M?fni0i5kA7x@2nh'i~8Oȝ XPV\+]LVy@=98O&( mvf曣}v3kG=vi||x񞨝 XVxɸm8 " u98Oͮta5&k5 0=.n<#€4dN$N$Ě`s6+{[I2}{Sb'>np_"B9RLD6G?:9͸iNE&"spRa-h)&ǡp )&ǡpg_S]Nʽ :Iq\4;sI0= cOINܐ1&9}GXӆKŗe-О&93q:ȩ&5({n'C:"t3[k'S= BTϮ)&DeO~u1d0)&DeOu >޾$к$̍&^] ꊒfF/zRdf7ԓqnInips-I1mVm:sbq&u3V63sMчD>L;4>MN>&NĚq$N$))ɹɹM?ȜIqN<*2nGFMˉDM? IĚ(Yq&'Ě'iQq&qN<(?PN$+'i63sMчD>L$XDŽ8 ѓs@98O ĚDb€²Zf/Ě75a@ck74tMcɛZ9McnjDbµȝ WSMǻiQh<#Ěmvf曣}v3YIswq&rq&(q&N$$AI[ݴ%(}JI~2}Eԓ9t[jϮo_Rb'> >9ԤϮmOu)1\ۆno_"qkD7I0= no_Pp$WOɝ}L}v;*0)&ǡp`ξ$¸.}JA>%; drBĘacN/^񔶻Bzư"k, RLξ8'W9i è >)ÒdN\4sz ę$.ξ&di2Bg_U24{ _$'5t}@uG&2 JMξ$AI[ݴRLdtKB[B-Ԥ )ԤϮ[-ȤƻPN}sz9͸iQξ$N}sn}SI4szsZ'>}JIq\4sz Ja\z >&u1d èWO: иi1)-ml1=Ɯ7sIތ$(ۛ{х8nORL*vN^.}A,I:p죟}L}v2 :I:pr|<9&DeO7 In-63sMчD>LZ9kg[%>:zaꊒf\$RL<}JInY$r}}JInY$rv[I2'C/\7|LD/\7|L+Bۛ &ǡpg_S]Nʽ :Iq\4;sI0= cOINܐ1&9}GXӆqYD$6n5_Q$ƻYemg_RdNu cx;\c=bDI:p죟}L}v2 :I:pr|<9&DeO7IB] zfF/t.uEI3#Ipu)2x3WOjIO 8_P$AI[ݴIII1mVm:sbq& ]âk]Luk&t3<)8I8I O 'i00ǯG%rq&(8I)ukva@laYuapv Oq8/|q898I Yc8IĚL))7<+e:cnpr=44²Ni8IpI4EI1mVm- m 8_Rd*:_Rb'>np_"B9RLD6G?:9͸iNE&"spRa-h)&ǡpJIq\4|i@a\z >RL+BĤRR " ᄃCA_$D,7ÃI"HȆ_Hq/ &@H`AAB{с Mhlg/A$)nj9|u [ s %gS"]ͽaW65{&q drBxS[ < Pu0L,wm k8x,r5ޙ6 3[ ےz޾:d-evasopfXuCc9M^ɰn?)|ܐ3!l(}4+L ED{7ï" !n"ljMqL687> aCy],`D"*%|qH`qkqcW2lg/A$)nj9|u [ s %gSĂ!csopfXuCc9M^ɰn?)|ܐ3!l(}4+L"]ͽaW65{&q drBxS[ < Pu0LH";w6n5_D<9\CDI X$``px+CAA$HDHD3C2d 4Fz0Ӭ`MqL nHSsz?NED{7ï$DwԷ7=Ɯ6t9\CDL.ܐ3ǽXӆΛGqQ.ư㈎"^8ZǽXӆ/Ye!n"ljMqL nHSszތ,igMsopfXuĈ"^8ZǽXӆKŖyYm+s[`~S8}#[z޾8 ph"*%|pYDTK R޾8 p!$r+-qkqcW2lg/ 3ǽXӆ/Ye!n"ljMqLUz޾8 px+-qkqcW2lg/ 3ǽXӆy #yYm+s[`~S8} 3ǽXӆ2>LqkqcW2lg/AUz޾8 pTUu멖i!n"ljMqL687=Ɯ7mT*;w6n5_Dr5ޙ6 3[ *=No_{х8neӜhJO&Ưzd7>_allgnj9|qF4eӜhJO&Ưzd7>_alnHSszތ,iwe-О"]ͽa!n"ljMqL687=Ɯ7{R "*%|q"#9M^ɰn?)|ܐ3ǽXӆq[]=ED{7ï "9\CDL-m q=No_{х8nDTK3q:#9M^ɰn?)|ܐ3ǽXӆq[]=ED{7ï"9\CDL-m q=No_{х8nY{R "*%|q"#9M^ɰn?)|ܐ3ǽXӆKŗe-О"]ͽa!n"ljMqL687=Ɯ7z^,)mvwm k8qkqcW2lg/AUz޾8 p!$rz0!n"ljMqL687=Ɯ7{Rς'"]ͽa!n"lj, a W"D? _0]Lf=!ld,l@8(*EI\ W"ɰ?)nj9|u [ s %gS"]ͽaW[ ے(XD\LHP$k]Lf=!ld,`sZ687> aCy],`X"*%|qX} !N !…EąFdiތ26HRz0!965`~SszcA>AJΦ "]ͽaW[ ے(XD\LHP$k]Lf=!ld,`sZ687> aCy],`h"*%|qX} !N !…EąFdiތ26HRz0!965`~SszcA>AJΦ I"]ͽaW[ ے(XD\LHP$k]Lf=!ld,`sZ687> aCy],`D,wm k8x,rܐB"bB#X2d 4F d$)gɰ?)nj9|u [ s %gSĂ!sopfXuCc68  i Yz0 [ !K=֦MNL {сB YF'&,+ 7ePH>L {сB YF'&)(ɰn?)|ܐ3!l(}4+L$;w6n5_D9\CDL-m q=No_l|2‡H2I@Y0DTK3q:!&Ưzd7>_alnHSszcA>AJΦ "]ͽaW65{&q drBxS[ < Pu0L4wm k8x,r5ޙ6 3[ ےz޾:d-evbACsopfXuA!9M^ɰn?)|ܐ3!l(}4+L"]ͽaW65{&q drBxS[ < Pu0LH";w6n5_D<9\CDL-m q=No_l|2‡H2I@Y1 h"*%|qXqkqcW!_C DH"G!Ki Yz0 {цcn`x "j$p+Jdz޾9ӇqQ.ưEDp-z0 6W\25!N !…EąFdiތaXۄ'&2lq=No_{х8lwm k8"*%ㅩno_{х8neV[A F$)8PH>L {сތ4;p֦MN !…EąFdiތaXۄ'&2lq=No_{х8n琒9grt2ʶ|@C  cɐ,=NNMjdz޾8 pViAU(XD\LHP$k]Lf=FuBrlkS&3ǽXӆ2¯]L>L} B"bB#X2d 4Fz0Ӭ``sZ687=Ɯ7mT*;w6n5_DrܐB"bB#X2d 4Fz0Ӭ``sZ687=Ɯ7gixS%'} B"bB#X2d 4Fz0Ӭ``sZ687=Ɯ7z^,:s I9_allg8PH>L {сތ4;p֦MNL {сތ4;p֥a&  i Yz0 {цcnԤ&q F$)nj9|s"]ͽa";xj[acN:m!n"ljMqL nHSszތ,igMsopfXuGqQ/-Kszތ,ivv,W65{&q F$)nj9|qF4᳦DTK3q:DGqQ/-Kszތ,iw<9M^ɰn?)|ᑭ q=No_{х8lwm k8,"*%ㅩno_{х8n琒9gr5ޙ6 3\NYVϏszތ,ivv,W65{&q *=No_{х8nYgr5ޙ6 3\NYVϏszތ,iw<<9M^ɰn?)|VϏszތ,iw[]Lr5ޙ6 3[ *=No_{х8n*\*:cɎW65{&q drBxSacN*tOED{7ï"9\CDL-ml7=Ɯ7gixS%'qkqcW2lg/AUz޾8 pxS%'qkqcW2lg/A$)nj9|qF4~2hOGqQ.ư㈎W65{&q drBxSacN)mvwm k8&Ưzd7>_alnHSszތ,iwe-О"]ͽa!n"ljMqL687=Ɯ7{R "*%|pi&Ưzd7>_alnHSszތ,iwe-О"]ͽa!n"ljMqL687=Ɯ7z^,)mvwm k8&Ưzd7>_alnHSszތ,iw~2hOGqQ.ưȎW65{&q drBxSacN/^񔶻Bz;w6n5_Dr5ޙ6 3[ *=No_{х8n琒9gW65{&q drBxSacN)gqQ.ư㈎W65{ pX(348XoC!Ȇ_?,;>L {сE%2 @7FX2f`mh}apx;(-C!*'* &_"E?к &z E%2>L {т _ O+ a X_RRmvf曣}v3Oz06s>0<(1?j9>9Jʨu/'IÈO.u( <޾rLZ9k`\-I OOR>rK2 nu$S |i;w.tQS.cɐ,'pu!aq=:Ȓ$/)63sMчD>LZ9kmvz0J%}fu(󔨟Ϝ_L|8Bg_b0c ˂r4˂2d 4F \7|,Wï!HRRmvf曣}v3Oz06s=ЙGx1?j9>9Jʨu/'IÈO.u( <޾ru' G')Q?9U 7:q)ξa4ǝA:(i)1diތo:$0ja\`Ok@த7FX2f`mhz9;l6eNς'br}~rP_iOs"] POy۽|ypCFpC]Lf=?a¸}AP(]IIٛn:&d=Oz0Jlb' G')Q?9U 7:q)ξa4ǝA:(i)1diތo:XXp`Za\`Ok JMta5&iF֎~{х 'F:5@5_D|T:d$HC:v_9\裑\i Yz0OIq=:`$G)63sMчD>LZ9iF9?P' G')Q?9U 7:q)ξa4ǝA:(i)1diތo:"!iq=:C.7FX2f`mh駽\rѪ!*'* &_"E?к &z E%2>L {т _CS {Xu  JMta5&iF֎~{х)n᳨D5_D|T:d$HC:v_9\裑\i Yz0OQJa\`Ok@ $G)63sMчD>LZ9iFr(Q󔨟Ϝ_L|8Bg_b0c ˂r4˂2d 4F \7| "Wï8i?}IIٛn:&d=Oz0%D^1?j9>9Jʨu/'IÈO.u( <޾r9Jʨu/'IÈO.u( <޾rLZ9kmv<@7FX2f`mh}alJ8:QIk74tMcɚ{сv<@7FX2f`mhyGE@7FX2f`mhz9;de,"}fni0i4kG?MceY-Bv|>~ٛn:&d=Oz0JlbIk74tMcɚ{сa`Ѷ?PIk74tMcɚ{сaoÑc63sMчD>LZ9iFtjH]âk]Lތ 4 RQ=gQҊH]âk]Lތ 4 B[DO(G@7FX2f`mh駽Z"}/tq$ ta5&iF֎~{хL {р0@,yDM,}v27&LI 4&ix!IC9nO"q~vJ(E>QΌXg>r\ѓ UC]%>:xӆΛIĚT B xph$< ,g% #cɐ,9Y H`,,( 0HG H3A` H,XoH44Wa "Xx_CA_  j9#]Lf=$y2d 4F d$)g`sZ1diތaXۄ$ր}v2@ ތV2lk@F>L {сތ4;pc&cɐ,d-l`BMq#]Lf=FuBMq#]Lf=Fp&@H`C\7#]Lf=2d 4F 8N#]Lf=8@( lZ)0@Wrb֝afb&j2./usr/es/sbin/cluster/glvm/utils/cl_GLVMGetStatistics@@  et-adimnos "#[]_cglpru(),.:=GLfhkvy%'+CIORSTUjx/01ADEMNPV\w2>BFHWbz|!$34JKYq{}*567˘s1c1c1c1c1c1c1c1c1cvB@Xx?CĄDa DH $ac1c1c1c1c1c1c1c1c1cdR#4z@ A& A&b@Y ,T_BJ/; }IDSEVM(0VK^fv#U{)(R0,H 0 y -%NKIEԴ(1fP C ejiK=[x@wό'%s/;aX;P ]Sr["H"溪kn B& ;^=|ռ&)%̥(+I` ~h@4c1c1c1c1c1c1c1c1c1c(H Hxx,!Ac1c1c1c1c1c1c1c1c1cc1c1c1c1c1c1c1c1c1cà ^J8:N]J1c1c1c1c1c1c1c1c1c1aZLY-}cଖecଖj1VK^)9DkJIIZ5mQ֔76 dmվcଖGƒjE(Y-zurV8Bgj/e%-7&DqjZoQ|IJ^cR|NG!R+ݔRRQR|5VK^+N]JJt҆{)(iQÁ\jΙ'iQÁC|׾ oQQIFr]dXZJ"GacB `ELB줢IDW}L,ayZY-j< C?DY-h(-VA[ r[eEj 3jY VKZG/oPtդ&kapRaC_d4tGƖ.8FKORIN]JF- m0I˩Y VKZG/oPt$ԤI(#5i!sVgդ)&B0RN]Jgt$ԩ 9u)CgkrQ(o|֊ `ELB줢IDW}L,a֔4Q+%YԵ8kJJ"G{ଖ1I&7Y Ԕ^ޤ)$0LH8$4AAjI4IJaqqqqqqqqqqqqqqqqqqqqqqqq J"DDFFo)q`ʚK=[|?(IgzRQJJ$soJy9--vٗYAv#1;ĊVՓ^޵;jխS%ZkIuvϝdׅF8ÿ6J)I\$ v|Ol](}Ͷ!lqv Y5Q Y*ȭ%Qqqqqqqqqqqqqqqqqqqqqqqqqqaqqqqqqqqqqqqqqqqqqqqqqqv#mZs_088888888888888888888888u[VLiK+|?_?4zG|o95╾QeM+NZRQJJ$soJ{b)D-snm|nXcTV]^-!V4Ue0HQITgE_xMS:Qɵ.igAN)[VMxTnz˲Gs?b1Y94䭎NJضay yj,Fa)Zm4@&c RI ڝ $" #M*r]dMi.¸/;ZEpMgu łJNF9:&$HEAFQڲk£b0vR:ZE֩u5[ =&*7ܴIAҘMgu łgFy7=&*7Νij5GY>-r[qJl\@Ԕ^'WakIup $" &$хNmNDyEi%OJPbS4(ZR g{U{!BA 4ѩJl\0+佪3I&*sjt,LH8$ȍ4B%J֒^M鮵;d)$b6|Lp(0} Y4T|섗WUGذBx`·Y4T|yJl\@Ԕ^x\[ $&D@2)D]jvNKb9.UW rҒRWincQ4(X`† 3e:_bC ,*>v@LtQ,,%%Osm{NKC ] h4D2_;ZNQD (BSl=h,( JPbsCPAP0@KS40(8&$HEAs?Ԓh§6BăHŅ0yh/T bҘjEhCJl\@Օ-;mF&(u٦$хNmNDyEi%OJPbS4(ZR g{U{!BA 4ѩJl\0m!G hL414X<@  ޥ[4$0ͩб1 B("4h$)Jl\<*f JPb ט/jd(V^6Pbf5)B |WƬ'%^^MUb|jrXmg\ih+&mTZ zV,aⓔQsm謚HVP< kj#V\i m<Ed=ͺ@]恋>fB5a9,UͶg\ih+&mT4"LF'%2NQEͶVh yZ.@@H,ՄW6x@Rt<]Gq*R7Soܴ)\-+o)3I&*sjt,LH8$ȍ4 kԧw-jE"H"mޔr[zTrIwrVp DСoTm5" 0?Ҕ ظ =PA0T<@04+`4X<@  ޥ[4$0ͩб1 B("4h$)Jl\<*f JPb ט/jd(V^6Pbf5)B |WQr.mWUGرEȹNQEͶVh yZ.@BbL+Qr.mJNQEͶVh yZ.@B`bϺV\i m<Ed=ͺ@]*.H!Mt@"O3Rr.m]@6t^ Hj6x@Rt<]Gq*R7Soܴ)\-+o)3I&*sjt,LH8$ȍ4 kԧw-jE"H"mޔr[zTrIwrVp DСoTm5" 0?ҒRWHmr[,EGǙvZϢJ캵ȟe+3)B H5Y"Du'vL0CăHu Dц(eթ:jX?OǙeբ]ZNzVY2C 0ə)9E6yZ.ɠ{th%@zΥǥbVeբppx0?42˫FNQEͶVh yZ.d<F˫HYԵ8X ;JJ)I^||l$ۧw,"D6. jTAbAĄQ$D0Z ,a&W A@4,?Ԓh§6BăHeI>vBKګ骣XXJ!c '%>ewsTc; RW3mQnMϙ]{nܰ/f@P<4`?Ҕ ظ*ZvCăHŌ3>e\h?'(O+EY4sn<DhVeդsUHT9*Og\ih+&mMtl|ʠyUӱ kjsm3Rr.m]@6tK&h6]Z@>ePe\i?'(O+EY4sn<DhVeդsU R$ YFAϙW6x@I(tVMۤ+E,ui@A-%jsmғ;WRjܴ|WWJe)mϙ^v|LqI4aSSbbAĄQ$DiS^;kU-YAw;mvTQ4([2JN YRӶ^AbAĄQ$D0Z sT0^; OiI4aSSbbAĄQ$DiZI{|SҔ ظxT ;m1^^P$l4jR 3/jcm<Ed=ͺ@]ɠyZ.V=ϙTZ zV,a|ʹ^^MUb{2myⓔQsm謚HVY4+EѲ*T9*Og\ih+&mMtl|ʠyUӁs/şu3P ̫m<ⓔQsm謚HVY4+EѲ* WN̼R Hjsm)9E6yZ.ɠ{th%@]. {2hkR)N̼R}@2m ⓔQsm謚HVY4+EѲ*憵"\ >fAϙW6x@I(tVMۤ+E,ui@B>)^)>fAϙW6xg\ih+&mMtl|ʠy s/H,>e\iyb%$+Uow-)FiRYJ[sW;zSgMTXq!IhשNZk>VDDo)0M ̨/@h,DM?*}VԊVLJPbio`nAbAĄQ$D0Z ,av7 ?Ԓh§6BăHv^x!y-W$ޓTECRI ڝ $" #M)'VNVzMS-%o9-IEZkIup DСe0 "ԊQ3jE+|u$j((tQ,,hX(AqI $Hn-R)Ck=Qaa( 7֥vHԊQ$хNmNDyEi%OJPbS4(ZR g{U{t+I/t(ApM y>v^y$yD5UZԊP?O<$0ͩб1 B("4)RܲuijI72QxV>˫[NKADpJ& I '% odCZJg(XrԪJM4aJl\@ԔklHGcqFA"HR B,_RI&i(+41B$хNmNDyEi%OJPbS4(ZR gƨYĜ Kl\,F(Ap?Oמ`KqE'!$хNmNDyMz哫He+II&ZJ/ §$oGhP gMHjI72QxW7վ88 3BuP/9>Ņ x%?1l(|ItQ,,xXH|F-3)B H5Y"Du'vhdF-ZQPBQ4i 740a~Ԯ @4p, ~Й\,*x4,?Ԓh§6BăHnzocdf:>6-BuZQPBQ4iO d`Պ ?Ҕ ظQ$@7RjK41B~ԮH#ā?hLY %c{ 3I&*sjt,LH8$ȍ4+I/ozR BҔ ظ`?m5BuV^6Pbf5)B |ezyI4aSSbbAĄQ$DiS^;d)JmrZ 99-$ޓTIEXThP g5" mCl]Yn3dFh?tT,@֤R<mQc?'(O+EY4sn<DhVeդ45P<EBYԵ8X?jE+RI&µ<mQRA8@?'(O+EY4sn<DhVeդ45P<EBdf:(v>6-&R 0Rt?3I&*sjt,LH8$ȍ4 kԧw-jEIv|Lp(0%j"ɮ(4Ճ y7C(@Rr/ENQEͶ&(kꍐg%^d^MP䔔X Q"6yZ.ɠ{tI(tVMۤ 3_e+RI5N2uql(6.fAHx5AHȐRA=:TMQ3v^cTMQԌ[ t+I/t(ApMhT E6[ iAr"bAč0Jͷ(S]K< 9EBLG\jm=)(%t'(Ew m]@6ZYEkd DAL'Cm+TRÉAgR5%EȮhFxx0jNbPaZhŰp-VTҘ^hdoQZnh`^ Xވ1сg{U{!BA 4ѩJl\0mB$yI4aSSbbAĄQ$DiשN\.TodDùũa(0Q0t h4@@<@~5S:ǢY0tjXpJ&U\4Śh 4ԔE5 @rMF]DLaғ$хNmNDyTV]\*{W(zkNY:dIA؍;zS8pJ& LP̼PX(a/1* a1c1c1c1c1c1c1c1c1c1aaQG> |Eɯ1c1c1c1c1c1c1c1c1c1a'[ E Q_Q4yt*Vk6[ VՓ^|U;pk,ak.e9&XP謚 k>0@ rb֝afb& ./usr/es/sbin/cluster/glvm/utils/cl_GLVMMonitor@@#!/bin/ksh93 # ALTRAN_PROLOG_BEGIN_TAG # This is an automatically generated prolog. # # Copyright (C) Altran ACT S.A.S. 2017,2019,2020,2021. All rights reserved. # # ALTRAN_PROLOG_END_TAG # # @(#) 7d4c34b 43haes/usr/sbin/cluster/glvm/utils/cl_GLVMMonitor.sh, 726, 2147A_aha726, Feb 05 2021 09:50 PM ## ## NAME: cl_GLVMMonitor ## ## PURPOSE: ## Monitor script to collect GLVM Statistics. ## Run cl_GLVMGetStatistics utility in the back ground and this will collect the GLVM statistics and updates to JSON file. ## This monitor will always exit with success since any failure in collection should not result into GLVM resource group failure ## ## ARGUMENTS: ## ## Type: ## -a Resource Group ## ## ## OUTPUT: ## ## ## RETURNS: ## 0 on success ## 1 if not called with right input ## . /usr/es/lib/ksh93/func_include typeset PROGRAM=${0##*/} PATH=$(/usr/es/sbin/cluster/utilities/cl_get_path all) export PATH eval export $(cllsparam -n $(clodmget -f nodename HACMPcluster)) # Usage # # PURPOSE: error message showing correct usage # INPUTS: none # # RETURNS: prints to the screen. # Usage () { dspmsg -s 3 cl_glvm.cat 143 "Usage: %1\$s -a RESOURCE_GROUP \n\ Options:\n\ -a RESOURCE_GROUP application controller's associated resource group name.\n\n" $PROGRAM exit 1 } # end Usage #------------------------------------------------------------------------------- #Main #------------------------------------------------------------------------------- [[ $VERBOSE_LOGGING == high ]] && set -x typeset RG_NAME="" if [[ -z $ODMDIR ]]; then ODMDIR=/usr/es/sbin/cluster/etc/objrepos/active/ fi export ODMDIR while getopts a: option do case $option in a) RG_NAME=$OPTARG ;; *) Usage ;; esac done [[ -z $RG_NAME ]] && { dspmsg -s 3 cl_glvm.cat 133 "ERROR: \"%1\$s\": Resource Group should be passed as input parameter.\n" $PROGRAM exit 1 } typeset filename=$(clodmget -n -q "application_id=$RG_NAME and name=JSON_FILENAME" -f value HACMPsa_metadata 2>/dev/null) [[ -z $filename ]] && { dspmsg -s 3 cl_glvm.cat 134 "ERROR: \"%1\$s\": Unable to find JSON file path for resource group: %2\$s..\n" $PROGRAM $RG_NAME exit 1 } # calling cl_GLVMGetStatistics utility to collect glvm stats only if it is not running. is_running=$(ps -eaf | grep "cl_GLVMGetStatistics -a $RG_NAME" | grep -v grep 2>/dev/null) if [[ -z $is_running ]];then # Running utility in the background. /usr/es/sbin/cluster/glvm/utils/cl_GLVMGetStatistics -a $RG_NAME & fi exit 0 /  k꼣0@rb֝afb&./usr/es/sbin/cluster/glvm/utils/cl_GLVMStartr@@#!/bin/ksh93 # ALTRAN_PROLOG_BEGIN_TAG # This is an automatically generated prolog. # # Copyright (C) Altran ACT S.A.S. 2017,2019,2020,2021. All rights reserved. # # ALTRAN_PROLOG_END_TAG # # @(#) 7d4c34b 43haes/usr/sbin/cluster/glvm/utils/cl_GLVMStart.sh, 726, 2147A_aha726, Feb 05 2021 09:50 PM ## ## NAME: cl_GLVMStart ## ## PURPOSE: ## Startup script to run associated monitor to collect the GLVM Statistics. ## ## ARGUMENTS: ## ## Type: ## -a Resource Group ## ## ## OUTPUT: ## ## ## RETURNS: ## 0 on success ## 1 if not called with right input ## . /usr/es/lib/ksh93/func_include typeset PROGRAM=${0##*/} PATH=$(/usr/es/sbin/cluster/utilities/cl_get_path all) export PATH # Usage # # PURPOSE: error message showing correct usage # INPUTS: none # # RETURNS: prints to the screen. # Usage () { dspmsg -s 3 cl_glvm.cat 143 "Usage: %1\$s -a RESOURCE_GROUP \n\ Options:\n\ -a RESOURCE_GROUP application controller's associated resource group name.\n\n" $PROGRAM exit 1 } # end Usage #------------------------------------------------------------------------------- #Main #------------------------------------------------------------------------------- [[ $VERBOSE_LOGGING == high ]] && set -x if [[ -z $ODMDIR ]]; then ODMDIR=/usr/es/sbin/cluster/etc/objrepos/active/ fi export ODMDIR typeset RG_NAME="" while getopts a: option do case $option in a) RG_NAME=$OPTARG ;; *) Usage ;; esac done [[ -z $RG_NAME ]] && { dspmsg -s 3 cl_glvm.cat 133 "ERROR: \"%1\$s\": Resource Group should be passed as input parameter.\n" $PROGRAM exit 1 } exit 0 / k0@rb֝afb&./usr/es/sbin/cluster/glvm/utils/cl_GLVMStopr@@#!/bin/ksh93 # ALTRAN_PROLOG_BEGIN_TAG # This is an automatically generated prolog. # # Copyright (C) Altran ACT S.A.S. 2017,2019,2020,2021. All rights reserved. # # ALTRAN_PROLOG_END_TAG # # @(#) 7d4c34b 43haes/usr/sbin/cluster/glvm/utils/cl_GLVMStop.sh, 726, 2147A_aha726, Feb 05 2021 09:50 PM ## ## NAME: cl_GLVMStop ## ## PURPOSE: ## Stop script to run associated monitor to collect the GLVM Statistics. ## ## ARGUMENTS: ## ## Type: ## -a Resource Group ## ## ## OUTPUT: ## ## ## RETURNS: ## 0 on success ## 1 if not called with right input ## . /usr/es/lib/ksh93/func_include typeset PROGRAM=${0##*/} PATH=$(/usr/es/sbin/cluster/utilities/cl_get_path all) export PATH # Usage # # PURPOSE: error message showing correct usage # INPUTS: none # # RETURNS: prints to the screen. # Usage () { dspmsg -s 3 cl_glvm.cat 143 "Usage: %1\$s -a RESOURCE_GROUP \n\ Options:\n\ -a RESOURCE_GROUP application controller's associated resource group name.\n\n" $PROGRAM exit 1 } # end Usage #------------------------------------------------------------------------------- #Main #------------------------------------------------------------------------------- [[ $VERBOSE_LOGGING == high ]] && set -x if [[ -z $ODMDIR ]]; then ODMDIR=/usr/es/sbin/cluster/etc/objrepos/active/ fi export ODMDIR typeset RG_NAME="" while getopts a: option do case $option in a) RG_NAME=$OPTARG ;; *) Usage ;; esac done [[ -z $RG_NAME ]] && { dspmsg -s 3 cl_glvm.cat 133 "ERROR: \"%1\$s\": Resource Group should be passed as input parameter.\n" $PROGRAM exit 1 } exit 0 xit 0 / k0@rb֝afb&./usr/es/sbin/cluster/glvm/utils/cl_diskflagr@@#!/bin/ksh93 # IBM_PROLOG_BEGIN_TAG # This is an automatically generated prolog. # # 61haes_r714 src/43haes/usr/sbin/cluster/glvm/utils/cl_diskflag.sh 1.4 # # Licensed Materials - Property of IBM # # COPYRIGHT International Business Machines Corp. 2004,2005 # All Rights Reserved # # US Government Users Restricted Rights - Use, duplication or # disclosure restricted by GSA ADP Schedule Contract with IBM Corp. # # IBM_PROLOG_END_TAG # @(#)47 1.4 src/43haes/usr/sbin/cluster/glvm/utils/cl_diskflag.sh, hacmp.glvm, 61haes_r714 4/8/05 11:38:33 ############################################################################### # # COMPONENT_NAME: hacmp.glvm # # FUNCTIONS: display_usage Displays the usage message for the cl_diskflag # script. # # get_rg_disks Find disks in GMVG for resource group. # # get_vg_disks Find disks in GMVG. # # check_disk Check if disk is available. # # do_disk_op Do set, query or clear of disk flag. # ############################################################################### ############################################################################### # # Name: cl_diskflag # # Description: Wrapper script for cldiskflag. # # Called by: glvm replicated resource methods. # # Arguments: -s set flag # -q query flag # -c clear flag # # Returns: # 0 Success # 1 Failure # 2 Flag set # # Environment: VERBOSE_LOGGING # ############################################################################### ############################################################################### # # FUNCTION: display_usage # # Description: Displays the usage message for the cl_diskflag script. # # Arguments: # # Returns: # # Environment: VERBOSE_LOGGING # STATUS # ############################################################################### display_usage() { [[ ${VERBOSE_LOGGING} == high ]] && set -x dspmsg scripts.cat 4025 "This script is for use via glvm replicated resource methods only.\n\ \rIt will set, query or clear a flag on all GMVG disks in a\n\ \rresource group. The following parameters are used:\n\ \r-s set flag -q query flag -c clear flag \n\ \rUsage:\t${PROGNAME} [-s RG | -q RG | -c RG] \n" $PROGNAME STATUS=1 } ############################################################################### # # FUNCTION: get_vg_disks # # Description: Provide a list of disks in a volume group. # # Arguments: volume group(s) # # Returns: # # Environment: VERBOSE_LOGGING # ############################################################################### get_vg_disks() { [[ ${VERBOSE_LOGGING} == high ]] && set -x # # Process each volume group. # for VGS in ${*} do # # Find pvid of all disks in a volume group. # for PVID in $(odmget -q"name=${VGS} AND attribute=pv" CuAt | \ awk ' { gsub(/"/,"") if ($1=="value") { printf("%s\n",$3) } }') do # # Find disk from pvid. # odmget -q"value=${PVID} AND attribute=pvid" CuAt | \ awk ' { gsub(/"/,"") if ($1=="name") { printf("%s\n",$3) } }' done done } ############################################################################### # # FUNCTION: get_rg_disks # # Description: Provide a list of disks in a resource group. # # Arguments: resource group # # Returns: # # Environment: VERBOSE_LOGGING # ############################################################################### get_rg_disks() { [[ ${VERBOSE_LOGGING} == high ]] && set -x # # Find GMVGs. # GMVGS=$(cllsres -g ${1} | \ awk -F= ' { gsub(/"/,"") if ($1=="GMVG_REP_RESOURCE") { printf("%s\n",$2) } }') if [[ -n ${GMVGS} ]] then for GMVG in ${GMVGS} do get_vg_disks ${GMVG} done fi } ############################################################################### # # FUNCTION: check_disk # # Description: Check if disk is available. # # Arguments: resource group # # Returns: # # Environment: VERBOSE_LOGGING # AVAIL # ############################################################################### check_disk() { [[ ${VERBOSE_LOGGING} == high ]] && set -x # # Check if disk available. # AVAIL=0 if [[ -n $(LC_ALL=C lsdev -l ${1} | \ awk '($2=="Available") {printf("%s\n",$2)}') ]] then # # Check if disk can be accessed. # cl_querypv ${1} >/dev/null 2>&1 if ((${?}==0)) then AVAIL=1 fi else AVAIL=0 fi } ############################################################################### # # FUNCTION: do_disk_op # # Description: Do set, query or clear of disk flag. # # Arguments: disk # # Returns: # # Environment: VERBOSE_LOGGING # STATUS # FLAG # AVAIL # ############################################################################### do_disk_op() { [[ ${VERBOSE_LOGGING} == high ]] && set -x if [[ -n ${1} ]] then check_disk ${1} if ((${AVAIL}==1)) then if [[ ${SARG} == true ]] then cldiskflag -s ${1} if ((${?}!=0)) then STATUS=1 fi fi if [[ ${QARG} == true ]] then cldiskflag -q ${1} if ((${?}==2)) then FLAG=2 fi fi if [[ ${CARG} == true ]] then cldiskflag -c ${1} if ((${?}!=0)) then STATUS=1 fi fi fi fi } ############################################################################### # # Main # ############################################################################### PROGNAME=${0##*/} export PATH="$(/usr/es/sbin/cluster/utilities/cl_get_path all)" integer STATUS=0 integer FLAG=0 integer AVAIL=0 SARG="" QARG="" CARG="" RGRP="" PVID="" [[ ${VERBOSE_LOGGING} == high ]] && set -x [[ ${VERBOSE_LOGGING} == high ]] && version='1.4' if [[ ${#} != 2 ]] then display_usage exit ${STATUS} fi while getopts "s:q:c:" opt do case $opt in # set flag s) SARG=true RGRP=${OPTARG} ;; # query flag q) QARG=true RGRP=${OPTARG} ;; # clear flag c) CARG=true RGRP=${OPTARG} ;; ?) display_usage exit ${STATUS} ;; esac done # # Process disks in a resource group. # if [[ -n ${RGRP} ]] then for DISK in $(get_rg_disks ${RGRP}) do do_disk_op ${DISK} done else display_usage exit ${STATUS} fi if [[ ${QARG} == true && ${FLAG} == 2 ]] then exit ${FLAG} fi exit ${STATUS}  l.0@OrbԼb+b&`./usr/es/sbin/cluster/glvm/utils/cl_glvm_configuration@@   e#acdgilmnorst ",_fpuv().:=h%'+-/1ACEGLMNRV\xy$023DFIOPS[]bkw!BT|HUqz{} 456789Yj>KX*r|COssI"?}f F @Cc`8yp0Cni:ӝ捰)> (    I KpW0p0 a@+)8 2wRw<񺓔wStiU=S*:SƭhUnxI:sQRph-`8 HhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhiT'oy\}I  ( pru:D9oB!W=u9o5SOUI{ǕcGu@(gԜ;SG;7J0hP $۩Ԝj7::QS4AŋNWk(|(6 .n> W>X0\ 9Gu8ʹB,+p@!FNQNvtҞ&(0+ϔ@<`@ӫ)G8NuIut'oyV5k b`P1y`PYAaae$4444444444444444444444444444444444444444444444444444444444444444444444444444 00[  q!`II (:ѺqY1 HhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhiNyP@N] )>SA)םt չR}7@NQGNPت] :Un){kRNvd}Jt]%:Z货@NEuB/u9GFGJ%#sTnttkt`` Ђ7::Q5:@$ǔvtԝԜs:${,j:rxI:7::Q(`Jt\UBN%0I W=u,)0sS \gnM=U&8T%LAlU rRd*PǪǕCy->S \>iӔ |˘I>͊f:u{$ tncdBkSbS.c& 6*[|W"A !& 4XkW|˙  1I>ǕAI>͊a 1_8}\UBNM=U&8,9 L:C9D9o5 c:r=Q)M;`%˩GNPPu(ɦK-o5FQ9BjK(LP`T@`Km5U&9i9<*ɹ-PS`TƊǔףVsy,ֽZY@ &$HSlFJ[kсNsPG1' <x<5BZul(Txl[ :@ 3Hiԫ{Nr@b2Wi,GԲvml" 3-rQ҉ Hx'tl5cd #OTy$ @$Apb2W~!8hЅH<4 d@f#%<4!!RF$!bs /plشt1+ЅH0  &@FFb2WhIBHP;u*ѓЅ휐?7, uT;:- 3W e11A^U]JtyrWJ<%VSjwJ:Q$ˌ=SSo5Аf#%'9MUt6xf#%'9MUt6# C  _yz05rjU](? 8 C  _yz05rjU](? 8 C  eP>wJ:Q$3Z`j&QQh~Lp>*tl5cdf#%'9MUt6 |5 ,T/ zkϡ 8FJ[kсNsPG GEm0@jX^-rQ҉ 6[kfyUn+$l5=^} b2Wk^ \sWJ8ky?_yz05rjU](6ZtA1+o5FQ9Bj5ˌ=SSo5Аf#%'9MUtCkҎI#OTy$_yz05rjU](6xf#%'9MUtC`5 ,L,f#%'9MUtC`00PףW(5UҎmiPBkҎIdֽD5 ph~Lp>*tl5cdf#%'9MUtC`00P6\diꚞy>1+o5FQ9Bj5(;(eFgVⱲ@ ˌ=SSo5Аf#%'9MUt68F1 :-&iDr5H\))%%)JR)JR)JR)JR)JR)JR)JR)JR)JR)JR)JR)JR)JR)JR)JR)JR)JR)JR)JR)JR)JR)JR)JR)JR))8)HUTjDt\}](nr]](k4)g :SG:SaE'u7DN *ENz/Q]:=oES>t aMBZ~Gl)JR)JR)JR)JR)JR)JR)JR)JR)JR)JR)JR)JR)IL*5r{ut8y&iD,f#1pJr{utp f#1,y_쳅hE, Rw7E)Utf&ࡾ ^ tPЀK+Pح4Ӝ0c^ Zi}c,Z4y_ kz=|E8!Zt[P8U 1r+UP蒱ZB Y y_;}D_Z贃t$*zAPf%H4c\ѹҜWJ%PE7gK72|E8!Zt[P8U 1r+UPF4ndjօlFPŖb*,WI.hȕ5H:'HqoF4n|WubAc3ѥH4c{58*J\E[oEouƥ5H:'HqbCV*\Epb*,W*CIIXխ ،E,TX<=+k]tNIy!SЮ *1,gQS}[)UtW*,$Z޸3}eMkXխ -(AQa*B JPè"V5kB#(AQ`1r+gQ:DJ|E8rB]UbYQ:C0+Oh{ 4{8y&iD,FO}td!{g$©'JpU](ij,X(AQa"r,Y_Z贃t$5kBuTXG f.PҪ1'HZЭTX8\Eq-tN&iD-EU7Pf!T,*b-tNH2z:SDTXHpf"5a T,ɭtZA:CWE*,#P(AQ`UU ]JƭhVe*,Yf.P'H_Z贃t)&jxĞ/tN઺QΔd!{g$©1 K0aʅ]<*SDN (AQa"p,Y_Z贃t$5kBuTXG f.PҪ2'HZЭTX8\EqtN&iD,UӜ 'JpU](Jz2zTAPf%0eB́P=^'9 ~)UtW*,$Z޸3}n)0eB|E8!Zt[P8U 1r+UPZЭTX8\Eq-"Wֺ- !ŌIBH'JpU](Jz2zTAPf%0eBE+ f5Sd!{tU҉m:r;&];FԜi<'yB,N*+2(2PW擮MvLoyG}.LOZ>rBΔɗ&XR%PE΄#&\C D[vBya T,ɭtZA:CWE*,w VɖG f.PҪ1HPEIXխ ،E,TX<ҪڢHPEHW*,$[p׊e 4YP'0:Юp~,&iD,Hjօ] wj2T,TX<TXH heҪ1ԩ+[ qeB B |e= ,/z  +k1ԩ+[ qeB UUB Kj7RJ|E8As==^nB3hf=WҞwGz/u*DTXHОXddˈa{pO,15H:'HqbCV*\Epb*,W*CuSlz.%cV+b2,(AQ`q*L%E.sE:DJ|E8I5Sd!xU7DN UbYD]TtPE΄#&\C G z%MkXխ -(AQa*B JPǢP%{V5kB#(AQ`1rҪb@mQfXtZDɭtZA:C\?FOBSct['JpU](B3z&=:(((00+k]tNb3X(G'WJ8$f#1,y_RR)JR)JR)JR)JR)JR)JR)JR)JR)JR))8)H/EII7E҉&g!Ҏ}ԝNsPe0RnETYӫB$)JR)JR)JR)JR)JR)JR)JR)JR)JR)JRQLڢ㇑+k]tN_j;e&Q 3Ǖ8V$X6A;n{VZj;INzjRW-Oxnft/HMwN *o5Eܐn{ݳ$'pਠlK+Pح9i9` ƽTӜ0<e+F+ ycr 1_}(iSIcN=M$+8Q@&nR]I޷J>v:UU0wrjFi=:SG Upƥ Qit'\ UU)찊 k#gJwRꂞN+\]](W_IZU+7$&Mrju}NI޷ڢJqjUT-=oD*u rڢkUZNމaSTMbyp<􈓵;;/l0oESuyO qtU1G;ѓЅ휐<>Բc{U@ia%PE 흟-K&0&Wֺ- !ʼn ZЫr¨Y y_ E4TZЭTX8\Eqe]өR%Zl7('z2z5ESdqcK&0&`jy,تe[&]`w51, DɭtZB9Lq`9βTFOBr@*L*bY1Zld6*+ƝSNzH}:3q%ԝǝHRwӜ)>I-ʭ 2vڢkUˁB B13O:a,,7F<Wֺ- !ʼn ZЫr¨Y y_ ԩ+[ qeB kJ:UUB"X_췛)ڢkUˁRɊwGԩ TpXBǑ+8&u9O>Ry_쳅hEmWEINr|(< MTVلRz2ze=G>M4>ףVsf 8V2ԲbPEl[Ӝi-K&* +k]tNĆhUnB T,TXr>S*B B13O;ggR}5H:'Hq`AjօmI}:s>R~B  ı```el ϸudA[Q5Tu.TMbyp<7s-+8;XK;&j~/u;u+|eS7]Iy$'{-OѓЅ$*&\E[! 5SFOBY_Z贃t$5kBuTXG f.PҪ1RjօlFPŖb*,Wމu+,UU d`b%oD*Kj;uM9nH"W-@_J}d7G[Q5Jqݩd7Gz&ԩ TpXBǑ+r-og.c{-O5=^흟-K&(0Wֺ- !ʼn ZЫr¨Y y_ z&PV5kB#(AQ`1r+oDت,UU d`b%ԝ\==Y_쳅hEmWEI5Sd!xPxI-ʭ d!{g$ 3c{6+F|i}1FU4>P1h-K&(0<TXHY9e6Xax!IP"NG,2ԲbMkXխ -(AQa*B JP!SЩ+[ qeB UUB K+k]SX)N}[Mr=^L&sed = +ƝSNzH<},_ť[ v[k' 8*H`A7S 7ugNPtTyMrd!t Wֺ- !ŃZ9oZs(AQa< [z$y,TMbyoD'KX[, ? uyDxN"NNd|2ziԯ)LwIu'qp7ԝR5Sd!zI-ʭ 2vڢkUZNމa QgcN=MJeH+O,}&UP7J7SRU3q%ԝǝHRw[RKrln<`LU@Ρa QgcN=MJ:SK&0':jUT-"W*,$Xru.sNXed|E8!Zt[P8U 1r+UPP׺%cV+b2,(AQ`vu {]QgJS$K+N x@>Բ`v}&UP7J7UiԫwI!5WK& nu {R=ౘvʻGYI ȕoRw[_쳅hEmWEIstnPxI-ʭ d!{g$ 3c{6+F|i}1FU4>P9h-K& +r,9 L:D:p:a|E8!Zt[P8U 1r+UPBRV5kB#(AQ`1r+t0"Wֺ-!s8RgYlo;st uI9xU ij-K& $*zW:4y_YӋJA8m}nnҜWJ$0 o3(g:*~Rst_Z贃tAkPƭhVS\EbX00002o4QX:Բ`pvyP_}&UPKS͌fPӪiSI5H\),aSg)϶a7TsG K2HT*<},_Z贃tAkPƭhVԝ ܎;\EbX #}IK\LotΜ$&9 y_ b& 6xB7' 5ZL`L0 ;? b@`4L\x&AAd|P8 ,UUBMT,ZЭTX8\EqBE*L, DTXHd3MT,04o,0'Du[tXYa',0,|E8!Zt[P8U 1r+UPBRV5kB#(AQ`1r+t0"W,Z4`9β&8ᾤHMwr@(< L&M'U4d!{g$€Ze=G>M4>ףVsf 8V2mfZL`Ly_Z贅rd7$&9 ~rfuI9xUbYBQdJ|E8r ]҇ 5kBVLq|Bk KPORwisFMQg3[q:R*s}}(]t[؂Q&YMWPEXFnzuT"UVGIɗBdTpRɌ 2.0@jy,ت<x K+ƝSNzH<Ӣ:2z-O&_YsB=I;b ZW*,$Xru.r*ܢr-K&0&Wֺ- !ʼn ZЫr¨Y y_ = ZB Y y_;UT)İ1g Ѥ Jse=I0'i8P N2ee=@&sf kсUM9ϳc,Z4RɌ -O62eBǕ5H\),aSQnrfuI9xUbYBQӪiSIo+k]tN-wJ7խ 4U1E KP_FɍSd!tΜFOBr@%[+r,9 L:D9= ;? ZL`L0  a`(5,,&iD,Hjօ] B\EUT(b-5:DjօlFPŖb*,W@U $MtN TpXBǕ:(,UU d`b%)cJ*+r,9 L:D9uXX >np(x ,ɭtZA:CWE*,#P(AQ`UU S^TZЭTX8\EqM{]QgJS$K+"$a-KRV\kԩ_;,@{55HPb<_ aRa!Ӷ Ek0Ӳ-K&0&^Xed|E8!Zt[P8U 1r+UPBRV5kB#(AQ`1r+t0"Wֺ-!s8RgYlo;&7G-OѓЅ7Tt9xpfI GcN=M$WDɭtZA:C (rxcV+llAvuTX@f%(cr/le'|.nJվ2eЯTXHОXe[&]`axru.r*ܢr-K&0&Wֺ- !ʼn ZЫr¨Y y_ = ZB Y y_;UT)İ1g Ѥ Jse=I0'i8P N2ee=@&sf kсUM9ϳc,Z4RɌ GVxɗ@x <ɭtZB9Lqc ܢs0OS¨3̒= +ƝSNzH<},_Z贃tAkPƭhVٌ*cr-(AQa?Δɗ2DTXHОXddˈaxru.sz8v~ ,ax&QtkCXYeMkXխ -(AQa*B JPZktXխ ،E,TX<:(I"=ౘ+luQT/TYҪJ:SK&P%;@U "W*,$ZlO,22e09 L:D9uXX >np(x ,ɭtZA:CWE*,#P(AQ`UU S^TZЭTX8\EqM{]QgJS$K+"$a-KRV\kԩ_;,@{55HPb<_ ky<ɗ)0]]5ia /,2ԲluEMkXխ -(AQa*B JP!SЩ+[ qeB UUB K+k]SX)N}[ԝBa7Tt9xpfZMH!SШi4穤ȕ5H:'Hq`Ajօm.nB  ıLnGԝBH'{LnQਠl_;j*ܣ%+O,}&UPZ*܎;;ѓЅ휐? (/ uI9xUbY1Zld6*$*zW:4y_Y&iD,t=}ZЭES"rcI_wcN=Mp:uzwI!5&;Sl-NPNkNsPDA7SW9nt= -t]Ў1' $)ϼ7J(f)&j~1' _b<)> I_;TӞaJTjsX `P,LP,PHY'9MUtis텘X(@($ ,TP<ӞYc+8HRw媮xJ.WTMbyja%ԲbmyM{R=ౘ"WpM}Iޣ{Q(_쳅hEmWEIޣ{Q(WCޡZ4sNsAz05j9`x e+FjY1P`(AQa"6{-[yrWJ&Que֥ +oD*τX@JrjUT-G D7s-(Q_FG-Ut̯U@y"W*,$Z\{ܵU҉k9=2|E8!Zt[P8U 1r+UP<\{RV5kB#(AQ`1r+Ty :SK&oD*ϥ̰wjY0p<\{R=ౘ"WpM}Iޣ{QsFW,Z4`}oRw媮z\ѹAZe=G>M4>ףVsf(8V2Բ`!qPEl[媮M\YZL$.Wֺ- !ʼn ZЫr¨Y y_ = ZB Y y_;UT)İ1&i 1ł:e}Iޣ{QsFS &跹ScPK2Բ`!s$OBTӞ+K"WqiVH'QU](s8*H`A7S 7ugNP{媮z\ѹu+ |E8r ]҇ 5kBΤez=ZGB  ıj>2 <ZL$.<XZ>2Tu.TMbyj<\z]G2j>1+8HRw޹=Q+k}&UPM4>ףVsf(8V2Բcc:S&\wGbHHhNIތ/lPE΄#&\C ÐètCCОXed|E8!Zt[P8U 1r+UPƝJZB Y y_F=^UiԫwI!5_;E4WTYږL`O=u;_ ky<ɗ)0]>S- ,_Z贃t$5kBuTXG f.PҪ2HT*JƭhVe*,Yf.PUPJe+F,H\\.GPE])ש;ѓЅ휐? Ӕxɗe=@&sf kсUM9ϳ2L,.#|E.sAdTy_4sAdJN-*uhBH'JpU](ns߄oelΜ' 9 }7tTMkX9C{[gcGuE*, 3Ǖy>֥Wo5+oD*K{QԺ[Q5ޗQ̷G(v4s73;Po;t]2nY=S9βotkцD5 JNu;usK!;S".ƏЅswcN=MȕcN>81ASDAXX$ kсNsPDӔ 0P,PHY-y=M0ǔWqvRw$xө^S*N$o;BkNr@vڢkU˛K+r-og.c|Bk[9 yeMkXխ -(AQa*B JPɵIXխ ،E,TX<>Բb{U@Je+F,o-N${g$ƒ 3c{6+F|i}1FU4>P1pedǕ^$o;t]휐?q۫e^ƝJ-t]Rɋ6ԩ TpXB;RɋwGgt]+8&uI 9\E[oHMvkg$ ,_Z贃t$5kBuTXG f.PҪ2HT*JƭhVe*,Yf.PUPJ|E.s Sl-'|BkTn<= -sT 3̵,BQӪiSIo+k]tN-wJ7խ :I HP1,x_}&UP< $,I_I7:gNP%[+%).;ձɗB%)nڢkU=0@(AQa"gBya.!Ra!ϤF4nxv~ =00  a`(5,,&iD,Hjօ] B\EUT(e.djօlFPŖb*,WUU `1, DY´i"ąpRfRqph:Μh@f%PlV|i}1FU4>Cg ѦFL($рu_;TYҪJ\E[͝ FL!IP"N pR^|E8!Zt[P8U 1r+UPBRV5kB#(AQ`1r+t0"W,Z4bBr8/p7F4nt2eAZ36sQv. \ѹTYF^iМ{0}6*() 3=/h~2X4`E׊c%}phq dKZ8k. \ѹT,do. \ѹЀFJyNph:Κ\0"\kM`!Nٺ<˟YhRb2UIM%Sft 2jU](RwP@ IJ ѠqϓM9ϳ5ժـg ѦFL+ƝSNzH<},_Z贃tAkPƭhV uTX@f%( +%{\0stw V:WJ:S&\wG`*[-[7:@}ҏ#=I. \ѹTYF^i 7Gs- XFJ7S lΔ1A\FQ9BjQN*cWCޡZ49i9`ףVsf!h#&\GcN=M$WDɭtZA:C (rxcV+lZ:*, 3ǔWJO #x4`E֙Ӕ9%[_+Oq.J:SEoD*z.`a%PE΄#&\C ÐètCIp'l4'z.`ax&QtkCXYeMkXխ -(AQa*B JPžjօlFPŖb*,WUU `1, DY´i"ąpRfRqphq9G ЀK+Pح4Ӝ0c^ Zi}2LqQ_I/uƥoUT)%B : q /BEh [^|E8!Zt[P8U 1r+UPBRV5kB#(AQ`1r+t0"W,Z4bBr8/p7F^iХdu0JOe&Qy6:*e=@&sf!z05j9`8V22ey_4sAdJ|E8r ]҇ 5kBpeP1,y_+;i4穸ngRwPRw$&dܲzyseuIף rjU](&v4=MN\"7'A7EBkBkNr@F0u5E4c{5Wi4穹"Xyi4&(0*h0X 4 amz05rjU](raf  K0<ž4穦Xqݍ:7$K+pHt[,7:-N VQ9Bj1,:Cbhɦـ`jSNscg ѣ\EBP"-R0*纮-T pь.2|E8!Zt[P8U 1r+UPBRV5kB#(AQ`1r+t0"W,Z4bBr8Хnz&Qѹ-Ut,7QSl 3e9ԝ9t3TYc}s\UWJ:DK+Pح4Ӝ0c^ Zi}1p<},_Z贃tAkPƭhVو VQ9BjrWJ:΃qY9.*rcTjsX `P,LP,PHY'9MUtis텘X(@($ , ,QE%)JR)JR)JR)JR)JR)JR)JR)JR)JR)JR)JR)JR)JRRpR]](r@Њ'e$)JR)JR)JR)JR)JR)JR)JR)JR)JR)JR)JR)JR)JJ)vD5 8"JI_Ժ-Nh,L&M'mz˩;F;+%MkX&Qv&(0+'9MUtıPE!I]tC)[rsW]2 @FXaaeB'Z^Uk7P= ,04= PeMkXխ -(AQa*B JPj.e Xխ ،E,TX<ӉzwI!5lN$ޤFOBr@(AQa"6xjjq p0&. !sѓЅJ|E8!Zt[P8U 1r+UPlU %cV+b2,(AQ`w6PQgJS$K+mdتBv{ԻXK3,Y;XKFOBr@gNPN${g$wRwHFSQ(AQa"6xjj`4L\B7$&5MT,ɭtZA:CWE*,#P(AQ`UU M{RV5kB#(AQ`1r+oEԩ Rqc1,̲ǐuGcȕ8V$X0\/t]sAZdN&BH`9hL|2͊c ȕ5H:'Hq`Ajօm*ܣԝdbX'uN:s'U)%Ua7T/lPE ((HG[! ތ,H'Z^흟PX0\h0( ,ɭtZA:CWE*,#P(AQ`UU 'ZB Y y_;UT)%EDTXHAD  - /vBx9Mn |Pae5H:'HqbCV*\Epb*,W*C S6e[ qeB 5H:'Hqb>eҜWJ9*Nr,y_8=^QU: z2z6[Ӝ)>p <9fL=ౘ"WJO!C $<>'({Qf"W*,$Z4,2f<08"ҿ&iD,Hjօ] B\EUT(dTZЭTX8\Eq*L%5H\),>Zɪ->r>R~u*W*,$Ze|9f)?,2f<ɭtZA:CWE*,#P(AQ`UU $*z%cV+b2,(AQ`wJS`b%I$.. #:e}INr|(< NQ€Ze=@&sf kсUM9ϳe+FRq c<ɖlU Wֺ-!s8RgYlo;Sϔ@f8U ij$OB +K"Wֺ- !ŃZ9oZlo9L' KWD)<BH,y_J|OP DxǑ+r-og.c|9f)?vBya<+78,MkXխ -(AQa*B JP!SЩ+[ qeB !SЮUT)%M}INr|v4TTXH }:s>R~Xd!Jǎ ,,y_Z贃t$5kBuTXG f.PҪ2HT*JƭhVe*,Yf.PUPJe+F,H\\.G)϶u}M4>ףVsf 8V2fnp(x ,ɭtZA:CWE*,#P(AQ`UU MtN+[ qeB P%B"]B3펠J*:UUB"X_J}dGcdJ\EBE}&z+{5A0\ +k]tNĆhUnB T,TXcnz˱:'x(/ hdFWB{>S- 36Gj{\0su9AӶn)ZRnp Tٝ)bsWJ<ԝT/&P%B1,:CbhsNsAz05j9`Y´ipEFL+k]SX{=U9#Pf%$*zWN8y_Y&iD,t=}ZЭ:rc+8HRw媮z\ѹB ("h!og@ `;\$fr@ɶ*5H:'HqbCV*\Epb*,W*CyRjօlFPŖb*,WyRΕUPH"WҟjY0p<\{R=,yyinq%6P62qڏ<\=U;ږL$.BXX%ԝM4>ףVsfc,Z4RɃǕ5H\),*1,!SШuBqȕ5H:'Hq`Ajօm-[yrWJ&QTX@f%( #}I skYT,bb6P,(AQa"M$#lՃ `! sfO}rYT,ɭtZA:CWE*,#P(AQ`UU rXխ ،E,TX<ҪJN o;s\]](rf3Ǖ8V$X&ut[ԝ9jG ЀK+Pح9i9` ƽTӜ0<@2L9c\E[o9ϳW'WJ9a,ɭtZA:CWE*,#P(AQ`UU $*z%cV+b2,(AQ`wJS`b%I$.. #:e}Iޣ{QsFh@f%PlV|i}1FU4>1pedB|E.sAdTy_8dJ|E8r ]҇ 5kB>ҎB  ıp(U˦s}Ƴx]TUZw #{^ƝJЁ_ k|p#-G-UtkHɶ*,Y cA@A!aQ!ӴT/"(]TUE5H:'HqbCV*\Ep ij(AQ`UU $*z%cV+b2,(AQ`w$*zt2D1(AQa"2u6XF*@F2Z=ZD0alU /TYP@ƂbBC%Wֺ- !ʼn ZЫr¨3\EUT(dTZЭTX8\Eq*L, D]I&(0+IGUWR]35;gNP07LUT@TXHLnlp{Q5$XdB qT,``Xxi*zaPml.b|E8!Zt[P8UbY y_ = ZB Y y_; H5H:'Hq`Ao11A\:J=*rqG"U1UQ<},_쳅hE 9βo&(0+IGUWR]35@DTE @f%PlV|i}1FU4>$Y´h&i 1ŅPf%$*zWN8y_Y&i 1ŋJB,N1A\:J=*rqG"U1UQ<Ӌ$'}-r12e:r;lmdJ\E[M? nXdB F ,0/ rtGQձɗAᅅ^r ,,ɭtZA:CWE*,#P(AQ`UU $*z%cV+b2,(AQ`wJS`b%Mk9c)϶u 1 '|BkUbYBQI Sl.cN${g$ƒdܲy5SFOBr@(WCޡZ49i9` ƽTӜ0< Y´ilU 0Ny_8dJ|E8r ]҇ 5kBoY6rc+%^$oh,/uƴΜNɗNGu'zޅ+s+%).;LGRJ:S!C,f%"Wq{t[ԝsN`< D<PE΄#&\C ÐètCI.h'l4':a,,7F<Wֺ- !ʼn ZЫr¨Y y_ ̕ZЭTX8\Eq.zΕUPH"W,Z4b "h-3(q/ h@f%PlV4Ӝ0c^ Zi}8V23#&\GW*,$ZlO,22e09 L:D:pe,20Wֺ- !ʼn ZЫr¨Y y_ = ZB Y y_;UT)İ1g Ѥ 8V22ey_8_Y&iD,t=}ZЭh KWJHHRwք s 91B : q /BE}&z+{5ОXc^ |PY_Z贃t$5kBuTXG f.PҪ1o+[ qeB 㵾ΕUPH"W,Z4b "AZgNP&^ЀK+Pح9i9` ƽTӜ01pbS#&\GB : q /BEh [^|E8!Zt[P8U 1r+UPBRV5kB#(AQ`1r+t0"W,Z4bBr8/p7F^iХdu0JOe&Qy6:*e=@&sf!z05j9`8V22ey_8dJ|E8r ]҇ 5kBpeP1,y_;()JR)JR)JR)JR)JR)JR)JR)JR)JR)JR)JR)JR)JJN B+:j3ѥ򓂐GګfisFkeԝ=\ѹ2nY=SEyI&!q?#J7^p6L? S줔)JR)JR)JR)JR)JR)JR)JR)JR)JR)JR)JR)JR)IE2;Ulٞ.h|DɭtZA:Cqph:Μ&]9KS:@f%+pHڪh:2eӑ?dbY_uzhϓM9ϳ5ժـ1p<>2etz:!2DY´i"gj\0s(/ ЀK+Pح9i9` ƽTӜ0&2LqWҞ3tph,CDv'u'sz4sژ7ө\O|uoc3qe^:j'|F4nePE΄#&\C ÐètCI.h'l4'0UUBI IXխ ،E,TX<ҪbX_ԝ=\ѹ-OP%M :-N%[}Ύn5y_ ky<ɗ)0]hz4siisFיңggCOE$Xck{55Ld ԭƦ5M`axj!Y(ѲAq ,ɭtZA:CWE*,#P(AQ`UU $BjօlFPŖb*,WUU `1, DY´i"ąpRfڪhGxPxbY_uzh8ɦـ`jSNs1h#&\Go+k]tN-wJ7խ 8h KWDɭtZA:C (rxcV+lI.hTX@f%+zgK7>4n|U n>wCur7KS: gB : q /BE}&z4sОXc'PL%UT(e.h͊djօlFPŖb*,WUU `1, DY´i"ąpRfRqph:Μh@f%PlV|i}1FU4>Cg ѦFL+wT'<},_Z贃tAkPƭhVپ=\ѹ KW_'|uo>GR<.J2nY=SE>k$t::X6ԩ9t>QP[t[5x~^ s-p,y_;F%}AGq`<},_쳅hE 2j`۝Jj AZnW=j/1,:CbhsNsAz05j9`AhxH='|F4nxM'*GVtu+qW*,$ZlO,22e09 L:D9dh T,05ZMS2E@>kWֺ- !ʼn ZЫr¨Y y_ = ZB Y y_;UT)İ1g Ѥ Jse730-9G h@f%PlV|i}1FU4>1pe.h͊fFL+wT'<},_Z贃tAkPƭhV٬-rc+" ^|uoΝe9UU(AQa"gBya.!Ra! 2_K73bY_Z贃t$5kBuTXG f.PҪ2HT*JƭhVe*,Yf.PUPJe+F,H\\.G)϶k&n. \ѹi8P NԊ_}*WCޡZ49i9` ƽTӜ01pe.h͊fFL+wT'<},_Z贃tAkPƭhV$G\EbX RR)JR)JR)JR)JR)JR)JR)JR)JR)JR)JR)JR)JR%'!҉sV͙%[)8)띪lF4nfKSN .n>HA7S9u[7:r;&]9*GVY;XK;z4sژ7өSwWupsVgK72'LfDo7Q9BvJ5}:˩;z4sdܲzyT})8ڄ.5qiFN/uBq8 t)BvRJJR)JR)JR)JR)JR)JR)JR)JR)JR)JR)JR)JR)JR)vګfisFlDɭtZA:Cqph:Μ&]9*GV ıI#;U]рu9GSLr;Ue=G>M4>ףVsf Y´hΔɗ2DY´i"gj\0s(/ ЀK+Pح9i9` ƽTӜ0&2LqWҞ3tph,C@r%D%I.h>v 4W:Spo{@*'q;Uo;z4s+r-o6t'2^&@LisF;gg<1Ҫ2HT*JƭhVe*,Yf.PUPJHUty%[P%M :-NjGVtu+q\E[͝ FL!IP"@$G _3ѥNgK7<6F>s=z.a"[qc&HmΎn54 u*h<  / V+#e6H.!e5H:'HqbCV*\Epb*,W*C$TZЭTX8\Eq*L%8V$X0\ Sl;U]рu(AZe=@&sf kсUM9ϳ2LqWN8y_Y&iD,t=}ZЭIB  ıNԝ=\ѹs^uIkw V: gB : q /BE}&z4sОXc'PL%UT(e.h͊djօlFPŖb*,WUU `1, DY´i"ąpRfRqph:Μh@f%PlV|i}1FU4>Cg ѦFL+wT'<},_Z贃tAkPƭhVپ=\ѹ KW_'{?y::qtW r-PEW3\y x@= ԭƦ5M"W4*+pYpОxa`e0!+s(D1Ϲ(,Ǖo+pH!qp`FQ9Bvs[A`(< M*-PE@f%PlV|i}1FU4>1pcQ_U jGVtu+qW*,$ZlO,22e09 L:D9dh T,05ZMS2E@>kWֺ- !ʼn ZЫr¨Y y_ RV5kB#(AQ`1r+t0"W,Z4bBr8)N}T[x4`sFf(@p- IJ ѠqϓM9ϳ5ժف2LT,ɗ㇕o+k]tN-wJ7խ 5eP1,y_UA+JվgK7:uT"UV\E[͝ FL!IP"@$G ~Xe.h͊eMkXխ -(AQa*B JP!SЩ+[ qeB UUB K+pH!qp`>٬E4`sFf(@p-:R*s}dbY_uzh8ɦـ`jSNs@Y´is6*22etz:!2D 1_쳅hEWE4`E֜L(< B1,:Cbhɦـ`jSNs8V22ey_ᾤcEژ7ө^gS7UNvRwV\kKS:WҞ3tph,C@r%PE΄#&\C ÐètCIp'l4'0UUBI IXխ ،E,TX<ҪbX_ ky<ɗ)0]hsJk@^g\5Y蹄 s^4nf"::X6ԩ8<$ / V-O5Ld ԭƦ4@2#j\ W*C$TZЭTX8\E|E8!Zt[P8U 1r+t0"W,Z4bBr8)N}\Ut[F^yG ЀK+Pح4Ӝ0c^ Zi}1pddˈuBqȕ5H:'Hq`AjօmLuTX@f%+$HM4>ףVsfe+F22etxɖ(T_+8;XIn㺓gGV^j|L(;a_+r-o6t'Lxru.tFPUT(e[y.ƭhVe*,YfB‡.Pq*L, ,U sf*!}[y"X9ճE ȕhU MrjrRn2KY;XKxxɗWuEFvz4un*W\s휣#|NɗBԝSVj5W;擯W޹Fn5n< Pt'|FPr;&] IE[4FQ9BvE+#;PHWqD5 3ѣqT/q9ճDe'lL>WJ+`VNsP$K,>Yg ѤNsP\1GV] IJ ѣ&sf kсUM9ϳc,Z4y_+9SwSd+.ѧRwLNG``Cx9ճE I_J|dˎ,Qԩvsܑ,?TYLGV#&]GV[4YPvsܑ,?TYLGVxɗB%ղ@VT,+g=Mڢ2etz:!2D:H٢ʅ穹"XTYLGVxɗB%ղ@VT,@TXHОXg2e&@3ѣqT/ VXe[+k]tNĆhUnB T,TXZ'x4bPQƒ 3c{6+F>M4>ףVsf1h#&\GcN>81ASDAXX$ kсNsPDӔ 0P,PHYY<},_Z贃tAkPƭhVhU (AQa<)JR)JR)JR)JR)JR)JR)JR)JR)JR)JR)JR)JR))8)H3ѥaIHEutGٞ.he N .n>HA7S9tT1UQfjo;z4s-sl#*9&]BmB=\ѹNhO,1Hs A0\ +UPZB Y y_;UT)İ1g Ѥ JsJ-7:rWCޡZ49i9` ƽTӜ0< e+F2Ǖ"TP@1pe.fFLB : aRa!Ӄ-5af,y_ = ZB Y y_;UT)İ1g Ѥ Jsf6跬T[}I. \ѹi[,FҪЀK+Pح4Ӝ0c^ Zi}2Lɖ<ڢ㇕o+k]tN-wJ7խ 9B  ı)JR)JR)JR)JR)JR)JR)JR)JR)JR)JR)JR)JR)IIHEutGٞMe N B+=.V\jk,FRpMsqtG Eut5T[}I3[qYlg(TGVORwL)8ڄ.5xɗ2eT,:#OEss9c.]slUVN/uBq8e$)JR)JR)JR)JR)JR)JR)JR)JR)JR)JR)JR)JR)JJelEouƦtm&YuFM4>ףVsf 8V1o,yEPE΄#&Xaxru.tG ~XbRxౚ+k]tNĆhUnB T,TXSbOBr@1,y_P$H\E[͝ FL)0]pL ;? ^ |PY_ :"V5kB#(AQ`1r+t0"W,Z4bBr8)N} s{WE@)UtM4>ףVsfH8V22e+ExdJ|E8r ]҇ 5kB=rc+8,=^SSj`ޤT"sL7WʸFdYbэouƴ+=)7@N ࠕBw' 9 ~a(''{@7EoAqphƷZW*,$ZlO,22e!IP">vBya-+UPBRV5kB#(AQ`1r+rB]QgJS$K+pH!:'z2zAZr28bY_uzhϓM9ϳ5ժف`1h#a4ZddW*,$ZlO,22e!IP"XQnXdl&J|E8!Zt[P8U 1r+UPBRV5kB#(AQ`1r+t0"W,Z4bBr8/hNIތ/lPxL(K+Pح4Ӝ0c^ Zi}1pdl&Lc|E.sAdTy_/E+K"Wֺ- !ŃZ9oZv4|T[P1,yEI ]'x(/ h3c{6+F|i}1FU4>`9h#a4ZddQ_ ky<ɖ^&@)ya- /  .S5<0,23X|E8!Zt[P8U 1r+UPP$JƭhVe*,Yf.PUPJe+F,H\\.GPE[|^ƒ(WCޡZ49i9` ƽTӜ0&2Li,y_Z贅r¨3̥:!<},_Z贃tAkPƭhVٺuE*, 3ǔW,Z4c ۢQѓЅ휐<(,f%PlV4Ӝ0c^ Zi}c,Z4M2ǔW*,$ZlO,22e!IP""(,26EMkXխ -(AQa*B JP!SЩ+[ qeB UUB K+pH!qp`>Z*ܣԝxPx&YWCޡZ49i9` ƽTӜ0<2Li,y_Z贅r¨3̒= +ExdJ|E8r ]҇ 5kBLnQE*, 3ǔW,Z4`]fgJxPxL(K+Pح9i9` ƽTӜ0 Y´i-22e+r-o6t'2 ÐètCMrE̽Z*{$&9 yIJ ѠqϓM9ϳ5ժفc,Z4ɴYPӪi5E,LP`T`(&h(@($ ,`j&Q49, `yae(ɭtZA:CSUn/t]휐? Fti |U 3̛E W*,$Z&A\4c%r@EMʅ,Y!`4L\%h^EAI +k]tNĆhUnB Tf.PҪ2HT*JƭhVe*,Yf.P^TT{8,f!cq-5uE*L, D>Բc{^T_ k|p# dF.$qq-Qf,2Բca^v "* HMvY_ li'k ZB Y y_;li'k +u+BAgj WA1Q1!R$H ,NzH_쳅hE I!5'9 ~]8ʹ5#z7 Qr[g;b3c{6+F>M4>ףVsf@Y´ihcTjsX `P,LP,PHY'9MUtis텘X(@($ , ,WD24J.iSIN1sq{\ǝHMwr@ژ7Q9Bv&zUUu*QU](k9=>S*+k]tN.n8oI HSu5>v NsP 1A^U]JtyrWJ:O}ϔʤbYhcӣsqx``Xj|Lϝ]066U1UQ TXHLnlp{Q5$Xd,Xaz*  4 / ;EOB "* LUTY_Z贃t$5kBuTXG K1r+UPBRV5kB#(AQ`1r+rB]QgJS$K+L=M$WWtnn8o(j$*&Ϝs-.'|eRPEdu@F2[g$$Xd,Xaz*Eb"@,,/ ;EOB "* HMvY_Z贃t$5kBuTXG K1r+UPBRV5kB#(AQ`1r+4M{RRBR=ౘ+tkJ:UUB"X_PrH)0u.rޅ+skрrs&(0*\5Yahe)\4M{R%PEducdHRɃh2^wJu064ne5H:'HqbCV*\Ep ij(AQ`UU $*z%cV+b2,(AQ`w$*zUNTYҪJf4y_ڂE27$Kp]YLӞaJe+F,^$&$ƒMOz'ln1pd,Xi4&(0*h0X 4 amz05rjU](raf  K0<0Ǖo+pHr ]҇ V$&9 ~|}ήe=@&sf kсUM9ϳ e+F6*<uM&1ʼn " @-FQ9BjOU)l,p$Y?+K"Wjϥa(E WJN1sqz΃qY9.'xХneVn]s<N]rjs媶wI!5B<&dT_+tQ=MȕATpyEI1sqnuEs]GEI޷J'9MUt @f%PlV4Ӝ0c^ Zi} c,Z4y_ aRa@] V\U@彊ᳮ1SY_ = ZB Y y_;UT)İ1g Ѥ ^+s(5UҎ9jQgAUҎra#)^Sγ7Q:$bY_uzh8ɦـ`jSNs@yhӪi5E,LP`T`(&h(@($ ,`j&Q49, `yae+ƝSI,}qbb@3Ap$ kсNsPDJ[ 0h8$ ,1ae()JR)JR)JR)JR)JR)JR)JR)JR)JR)JR)JR)JR)JJN B+:jϥa('7WJ9&g!Ҏګ}I 2W*,$Z&A\68i%VS06)OINjJP!SЩ+[ qeB τkJ= uG,y_;M4>ףVsfY´i+(c|E.sAdTy_/E+K"Wֺ- !ŃZ9oZjc5{ܵU҉]YO\EbX[Q5( ϸp.,Xg Ѥpr ]҇ 띪ΤQU](]YLWCޡZ4sNsAz05j9`x Le+F yⲋ)**T>wKwG;)[)H(AQa"2 N^EAsp +UPBRV5kB#(AQ`1r+GK&ԩ)!SЩ TpXBǕ\ѹ*:>4M{R%BSSj`|RwR3 W{n75Vlq\5Y_J{G3}r>4M{QȕcU$<sF,Y)YP64K f:ƪ<x:YP2<\5H$Q_ aRa@] V\U@ 3QU](Fs ƝJ-Yu'x(AQa"6xjjh4P" !sܰɴYPUU $*z%cV+b2,(AQ`&iD,Hjօ] U 1r+t0_쳅hE 9&Mϼɺ-iԫG-Ut:SBkAZe=@&sf kсUM9ϳe+F6*<ɭtZA:C fI G"TPҎM_YgIMosDf!TfbYBQI$.. #:e}IcN]9O}p- NÑTÉp<9hrk^ \sWJ$&J}r˪e=@&sf kсUM9ϳc,Z4ÖlU WQ@ȕ5H:'Hq`Ao:ƝJ-s\]](T 39fPLfszGcyҞףm+(ry6 s[^ E ,8 sYPRdP2 tX i=枪W6*,LP`T&eB 4:J&|E81nszG uI9¨39fP`i1PE$O ?,1F+UPBRV5kB#(AQ`1r+t0"Wֺ-!s8RgYkӵSƒ؅t9dFbAc^ =U&dTy_쳅hE Ȃ:\UXr*q5.>M[kсNsPDOSuSB1,:CbhsNsAz05j9`x)h`i1<TXH 39ϳW'WJ9a,ت^  ףOUI(XD`@4DP!rCwLB&b@CwB|E8!Zt[P8U 1r+UPBRV5kB#(AQ`1r+t0"Wֺ-!s8RgYk޹=QΔ${g$ƒ!}e'A7Er1 K2mT,!SШg Ѥ JsevszG:St]휐? D%"RxsֽD5 H>MΔ=U9 3c{6+F>M4>ףVsfH Y´ihc}(8y_Y&iD,t=}ZЭS޹=Q(AQ`KQ_}&UP,تv 4TĞ/lUiԩIjY;66jup}](!qYlN";SK'}lIN?GaZ))JR)JR)JR)JR)JR)JR)JR)JR)JR)JR)JR)JR)JRgkj7ףZ8aʅ,G23X[quT22e=M1jY;66juG+sV40eB̌f"iSG5H:'Hqb2jt[Pn+q=^ ıWEtΔ:ZԲw P8aʅRMr=_BJ@:T.TpMSRs;ЊWEI0'B)ޅT,E H@k "E T,滍yUS:.w(bY_uzh8ɦـ`jSNsg ѦFLhf-K'f&B.1Ѩ\c66<1yEPE!IP"@$ptZNѼk "E T,<04rM4>ףVsf(8V0ZfdAE +ouF&:SE0 _ ky<:LpL ;? ^ |PY_Z贃t$5kBuTXG f.PҪ1ouDjօlFPŖb*,W*,$ZlO,2.0@0U'`X8`a̴C [k@_ c66JƭhVe*,Yf.PMkXխ 5TXG @GB8UbY :#hc[k@p NG1 GWP$ml_;tj:3XMZNͣMa!Je+F,H\\.G)϶a2n}띪qp R(/ jY;xP M;Un}I=eU?czxP Lf%PlV|i}1FU4>`1pdd1Ѩd8٫&!GRk@p `8+ExѨ徦 G`ZNͣMa!Je+F,Aq`XBn}띪qp R(/ jY;xP @@N(Ϲ^GuTK]@ WCޡZ49i9` ƽTӜ0< Y´i,ũd8ًRٴp P`tj9ouF&ǀ `8(TXH)0]]NR7-a3DTvhʅ O#-a1Ph`pЏ*^XbԲvml1jY;66juC [quT+k]tNĆhUnB T,TX`1p`E 22e+r,9 L:D9dn U 0eB|E8!Zt[P8U 1r+UPBRV5kB#(AQ`1r+t0"W,Z4bBr8)N}T[}I|}ήr;3 Ӕp8bY_uzh8ɦـ`jSNs8 Y´i T,ɖ<ɭtZB9Lqk&s0OS#Pf%$*zWQ@ȕ5H:'Hq`Ajօmɢrc+pHu֮rni<&*a,O9O>R~K+Pح9i9` ƽTӜ0@ Y´i*Q_ aRa!' 4l6a* /,0aʅ5H:'HqbCV*\Epb*,W*C$OBjօlFPŖb*,WUU `1, DY´i"ąpRgYk&]tv*Sƒ(WCޡZ49i9` ƽTӜ02L4YP9,y_Z贅r¨3̒= +ExdJ|E8r ]҇ 5kBd~B  ı8V$X:WE74Un|0tӜ)? f%PlV4Ӝ0c^ Zi}c,Z4k E Q_ aRa!' 4l6a*^X`E +k]tNĆhUnB T,TXZ*ܣԝxPx&YWCޡZ49i9` ƽTӜ0<2LhfFLMk9c K2HT*<ڢ㇕o+k]tN-wJ7խ 4U1E KQ_쳅hEt[(V)AZr281,:Cbhɦـ`jSNsg Ѧ 4YP#&X\EBEY4[BM4>ףVsf08V1jY;22e(TXH)0]z8m:aaaR_Z贃t$5kBuTXG f.PҪ2HT*JƭhVe*,Yf.PUPJe+F,H\\.G)϶ujo;ϜNGb ֥P`(< NQ€Ze=@&sf kсUM9ϳ c,Z4ũdɖ<ɭtZB9LqaTfI G"TPM4>ףVsf0Y´i T,ɖ?(AQa"ÐètCTqȷ,0aʅ5H:'HqbCV*\Epb*,W*C$OBjօlFPŖb*,WUU `1, DY´i"ąpRgYhcr83 Ӕp8bY_uzh8ɦـ`jSNs88V0aʅ2Ǖ5H\),*1,!SШ_jWDɭtZA:C (rxcV+lTqȷ\EbX RR)JR)JR)JR)JR)JR)JR)JR)JR)JR)JR)JR)JR%'!҉sV͠Vk^iIHEutG\Uh7ףZRpMsqtG Eutv-qY92B2zBmB8E u[7BHg2ZL*4穥' zƝJ7FOBr@*4TT'#ވ-wJ)JR)JR)JR)JR)JR)JR)JR)JR)JR)JR)JR)JR)IL[6qYz0E,Y,M9h%MkXsḯ$!{g$ 3Ǖ8V$XUt[(XGt)Ie=G>M4>ףVsf0yhګf  hfFL4穣+pHLmo(BHG ӔxɖG h3c{6+F|i}1FU4>P 1p`E 22e+r,9 L:D9LnQEa T,ɭtZA:CWE*,#P(AQ`UU $*z%cV+b2,(AQ`wJS`b%I$.. #:ESz`O Ӕp8d 3c{6+F>M4>ףVsf0Y´i T,ɖ<ɭtZB9LqaTfI G"TPGluC1(\a7TEB:.7YٮQ9Bnq1ARbY_uzh8ɦـ`jSNs08VW:TXM bfb@-FQ9BjNSl,BA IfYfXΔs z.a Tp%&&,(AQa"CE0'l4'z.aNK GѮaeJP!SЩ+[ qeB !SЮUT)%B ۪H,CADZ!ņI JUT(elh,h+[ qeB 5H:'HqbCV+l(AQa*Ύ7p ij(AQap AIq蹆qwG44@_рX&QX8\Do+pH!qp`>YU&7G-OѓЅҜWJ9ҟRwLh@f%PlV|i}1FU4>e+F-O62eBǕcN>81ASDAXX$ kсNsPDӔ 0P,PHYY<Δs G`9uG"Wlh,hH\E[͝ Qհɖ^);ggM4>ףVsf2L|2͊cTjsX `P,LP,PHY'9MUtis텘X(@($ , ,WE$?TY*ȹ)@Gɪeof82K}Iu^^GluT W\wRw4TY tp 2Ud47T')QMQfsAhNFЍ\KMUVLq hh?obB<~<_;9nHDPp%I$.. #ou Z,po{" u]oP0u]8ƽ.@f%PlV|i}1FU4>1hӪi5E,LP`T`(&h(@($ ,`j&Q49, `yae+0 рX&f`рX&I^K{Q!R}N؂sf:QCt3][q;z]y STYczDK+Pح4Ӝ0c^ Zi}&2L 0, MEOBǏ+g=MȕATpxuM&1ʼn " %[^ \sWJ&>Yb@0,おJR)JR)JR)JR)JR)JR)JR)JR)JR)JR)JR)JR)JR"Q#i::׺)8)}Ύn5q5JN .n>HA7S9vzJkou+9Cʤ)8ڄ.5qiFN/uBq8e%)JR)JR)JR)JR)JR)JR)JR)JR)JR)JR)JR)JR)JRS,SOԭƮ>ԨJI_'{J;($*u a*kNsPtzoB5H:'Hqbw^{^G`U\n9L%MrjnRwR21,y_TɗEԓ#؄dˠe[&]J&] Qձɗ@:L,s[A`EYeK*)+r [6 X`Yu>kUX>0UU $*zv5kB#(AQ`09rW*BR%I$.. #W} 4')S;gYgKfuIbsWJ$bY_uzh8ɦـ`jSNs 8VW.=MȕATpy_Yi4&(0*h0X 4 amz05rjU](raf  K0<0ǔWOBΕUPH"WDIYҞRxA&UWNS kNsPS7T(r}ePr[ԹʔNպYe\!ӫ9C;(5U҉_J|dˊ{R8ɗB%HF)L5G{QԺ= uG,xJ\E2 @F]Fϲ@UZ2ePAa.*8BrHX` bӷF3x>0UU (]ZЭTX8,*\EǕ1G,UU d`b%HF+kH"W,Z4bBr8}n{ԣO;u a,((/ ЀFJ($*u a.لo\sM'T(ަ(|d,wlnGR-rjLP`W '|PFJj Ӱ]IYUO)[2HF :SƘkUnRu$*z!C XȕB duc,0,D::TYDkU\ "* S}naeҪ0u+jօlFPŖaaT,(r*,<8u*B3Dʪ|dˢjD)`۝Jj ,Y_ڂEPX7'9N1A\&NԝB#PX6{gjϩ5G;*ޅ+s&]5ԁ_;B ԭƠnHX)OD)`Y_ڂEs[A`QfUuNʺSוּ'9NLP`TKVPX7$K,hRyJnHX)ODY´i"ąpmΎn5`ju'9N:t[ХnzƝJ- 4f#%FT;*tZ[NS P'q]Tc*jx#(5U҉WCޡZ49i9` ƽTӜ0< 2G iSrD%n,iWDuM&1ʼn " %[^ \sWJ&>Yb@0,tLGV#&] ԭƦ4@2$Y_۝Jj 7E,tu+qi x@MQ>>7PNQs2\~j}Ύn5~tԝb X)T &DFϲEe*WDIRϹԭƻΔLP`W\sWJ% X6GR"Y`DвȕrHtu+qePAk|p# ,"Q$r,&\U $2,6}($*/ ;s.5qι@DT(UT(`6GRnKZB YP˔ x:S~۝Jj 7E({Qc1 Dtu+qi}Ńx::X6&\BԭƦtLGVxɗB%ntu+qm .!@( ԭƠh:tZH>GR  K]_zsu a.:9<#)UV]J}I&(0*WХA`ܑ,"hYdJ9l$XFReNԝu+JkO;u'9MUtWХntu+q,%M ,_!d>GRW*,$ɐm 0B+Aa!az2ePAa.!zΣg Mbӷ2WEAb,UUBntu+q,[ qeXU B (= ԭƠh:tZB3J>GR QX9Ǐ+s[Mhhq>GR Wҟ2=[t"WҞGVSA` q+s[MhkJ AGq`<Δɗ2D= ԭƦ4L ԭƦ5M(,ǔWֺ- !Ńntu+q>q.FbA`6GR ׺4@y_Z贃t ԭƻΔ:.FbA`6GR ׺4QIJR)JR)JR)JR)JR)JR)JR)JR)JR)JR)JR)JR)JRWWJ$vDSP`Du3GEOs[NA;Su+|eSv4WkARq \kO*tdBO:tG t]!{-OѓЅT,T'# Se%)JR)JR)JR)JR)JR)JR)JR)JR)JR)JR)JR)JR)JRS,QT"sJL4YPJ|E8; _xB ıPE!I]tC)[rsW]2 ZY"lѥyfd 4YP /@BJP1 ADEA$jօlFPŖb*,WqvRwMr=_BSRU+t0>2&$(0h$_;9ӥMz8 K4YP% ,Y_ spx%'{-OѓЅT,TXH)0u.rޅ+sB{r&A\6 # Uk7Pz4O5qT,a*Jp /@BJP1 ADEA$jօlFPŖb*,WqvRwMr=_BSRU+t0>2&$(0h$_;9ӥMz8 K4YPVc+wT'P`eB)YWa JR)JR)JR)JR)JR)JR)JR)JR)JR)JR)JR)JR)JR"Q#sUl"N .n>HA7S9tT1Ua2wRw>Pژ7ө^S*q۫өS'uBqNOPMBZ~GP7)O>RBO:t? t]!|9yRq{Ŭ'Ӝ)?e%)JR)JR)JR)JR)JR)JR)JR)JR)JR)JR)JR)JR)JRS,f,8N6͊cȕ5H:'HqbwzpB:s'T,KWq;RwӜ)?ePElo9L'@bY_ өRV5kB#(AQ`1r+8;XK;SϔPiԯ)Jq*L%OliԩvsJ͊dJ ǁPA spx%'|9yW*,$Z\:s>R~Xd6*R* W*C y4TZЭTX8\EN"NN:s'T/u;u+|eRwJS`nS*<u*DҦ%bXe+1 J ǁPVcA()JR)JR)JR)JR)JR)JR)JR)JR)JR)JR)JR)JR)JJ))JR)JR)JR)JR)JR)JR)JR)JR)JR)JR)JR)JR)JRDګf  t\}](nr]](띪ԝ\?FOB,st:ԝz0uZ+t)8ڄ.5tZhxn/lU 22edˊe'l7tX媷N\bOBr@ژ7өRP-(IJR)JR)JR)JR)JR)JR)JR)JR)JR)JR)JR)JR)JR;\UE "E 22esJ|E8;Ut[*LOU-ԝ T/}ŵ&@f%+8檺-ŕ t SQN*ړ Wq0eBJN)&j~/{%t]z yxMn}I8x&u̝whEjޤxFΔBwT_∋*Haʅ@$ W4YPM"=Aؠ0QeBǕ-a3E T,IQT"-a3E T,9LBZ IJ ѠqϓM9ϳ5ժف`1p`4YP$OBFL_/E+K"Wֺ- !ŃZ9oZp =rc[Q5y*<(AQa"ÐètCz8mp :wɸhX`4YP8axixy"&* T,<04# L5 ?,1,Xaxx&iD,Hjօ] B\EUT(dTZЭTX8\Eq*L%8V$X0\)&j~/ \Ut>4P`eB+r-og.cz2z[9 ~Xb-4YP'l4'b"8;u\5dӀJPǢkJZB Y y_;UT)İ1g Ѥ Jseԝ\?FOBMTVلRz2zPxbY_uzh8ɦـ`jSNs cg Ѧ"E W:TXM bfb@-FQ9BjNSl,BA IfYf"E WDɭtZA:C (rxcV+l6xB7' 5 KQ_J{ъ{^Tv8,ǐuG<_ aRa!&pЏ600ǣB|E8!Zt[P8U 1r+UPBRV5kB#(AQ`1r+k]tN¨3̒= +t0"W,Z4bBr8)N}T[{-OѓЅAZt@+7.[@KU](XWCޡZ49i9` ƽTӜ0< &2Lz1T,y_4MQcc4D,   K0D5 M9N} %aeMT,y_Y&iD,t=}ZЭY7P1,y_qIstne^ƝJԝ\U9Ϻ ҷNd!{g$\E}i©ciʅ+k]tNĆhUnB T,TX9AVB=ౘWu;삏>9AVB=ౘW*9AVB%U $XqaeB :RWEIބ\>7J8WLx4,_ oW;gg0 eMkXխ -(AQa*B JP!SЩ+[ qeB !SЮUT)%A,Y"Ë E*Y,2+K"WFv_PE!IP".gS GD8 X`*ʅ,0Zf ,XxaxjɱT,a4P`eB_Z贃t$5kBuTXG f.PҪ2HT*JƭhVe*,Yf.PUPJe+F,H\\.G9naAZks0OS"381,:CbhsNsAz05j9`xxY´i *dTy_/E+K"Wֺ- !ŃZ9oZk(AQa?TMbygP}ŃTT,yEPE!IP"AӜpaixa* /,1,Y_Z贃t$5kBuTXG f.PҪ2HT*JƭhVe*,Yf.PUPJe+F,H\\.Gt)OEPxsM'm 9|L(@-1WCޡZ49i9` ƽTӜ0@Y´ieB̌fI G"TP7J)w0oRҟcN]e穹"XTY[Nԝu+kB骔ܪ0O+:$B &@"5aeB $9 L8"6v~DriʅD'l5h |PY_Z贃t$5kBuTXG f.PҪ1肝?%խ ،E,TX<ҪbX_쳅hE 9βuNɮZ' RKrln==^Ȍ(< B1,:CbhsNsAz05j9`1hiʅ+k]SXUbYD}(8y_Y&iD,t=}ZЭ}nB  ıGR)SPb<=*;u*G+r,9 L:D9dގ rM4>ףVsfH8V1*<ɭtZB9LqaTfI G"TP2eӔʤ OMSԜ9LI&!q?#b_n/lU )?ձɗL7u+؇2R`2M4>ףVsf$Y´iت<ӈ1u5tPu'z2z]\eҪ2HT*JƭhVe*,Yf"6Xv~¨XPZlU < uE*L, DY´i"ąp Hiur7ҪfuysuRwQ:$bY_uzh8ɦـ`jSNs@yhiT,y_4MQcc4D,   K0D5 M9N} %0EPNԝS2z-O&YUU M=0ZЭTX8-= ;? T,(pE <ҪbX_쳅hE 9βκRwF`GgH=^Ȍ(< B1,:CbhsNsAz05j9`xYb@0EPM=0-4\=EFOBr@U75Nٌ +da-u'z-LNpot+O{հ2eЉ_ =0׺%cV+b2, [͝ TCe‡FLq*L%8V$X0\ Sl,BDN O;&Xƒ 3c{6+F>M4>ףVsf2LcTjsX `P,LP,PHY'9MUtis텘X(@($ , ,ZlU WDs {RGR({QŌıkJB<Δs7G=0׺Zi蹛kJ+pH!qp`'x4` ƒwRw9"[4d!{g$€ZnBjR*SSԝ.)[0 '$2;feR}IGVZnuV&(0+' 9 yWCޡZ49i9` ƽTӜ0<1pb-4\iT,y_4MQcc4D,   K0D5 M9N} %0EPZA=da-u'y蹜n:-LN'|d˧#jGVtL؄dˡw2Djy,تD5tPUU z.au*JƭhVe*,Yf:©D:(=cǕUUB K+pH!qp`>YU&7G-OѓЅҜWJ9ҟRwLh@f%PlV|i}1FU4>e+F2ǕcN>81ASDAXX$ kсNsPDӔ 0P,PHYYت<},_RE5HPc=0׺$=0{8x<RR)JR)JR)JR)JR)JR)JR)JR)JR)JR)JR)JR)JR%2SV=2E5L5Ni蹔2"Wֺ- !Ō)b z.e 2+=Uls 5NH+=Uls eUmq[|DɗLGV#&] ȕ22Q_IRΝP%N;fLr;kul_ b& 6{J/Dċ 0,2<0  a`(5pY_ = ZB Y y_;,H\\.^BR%I$.. #::y2z:SG:SN-8ɖ: IJ ѠqϓM9ϳ5ժفp9h rtGFLW,Z4`ک|tN'JpU](@"}ΎhfF]pX+ϔ@f%PlV|i}1FU4>P1pbskӪi5E,LP`T`(&h(@($ ,`j&Q49, `yae+K"Wq{t[ԝ&6:*noBNPMSluT][-^eUm@9ղ媶OE̡)!SЩ Rqc0ǐ.< ,y TpXBǕc =2Tu.lr[aPxm.MSz.e(<\E5HPD'k u'{\=39 qpuwBjc_;=3tzT톞B%z.a&(,z.`Ӭ%ԝt'$#{-Zl-Z9X跣d q蹜e]lr[aP_bfk-Zl ϸq蹃q#SV=0Tb%I$.. #kS u:T횗9RtvoB@2[Vٱ Sd˦Ӭ@bY_uzh8ɦـ`jSNsg Ѧad.NT1UOE6;` rtGFL2ȩbfk-Zl+pH!qp`'{\=2FbhNH=F:;tbf*6[VDFbЀK+Pح4Ӝ0c^ Zi}c,Z4,*i蹆媶@莌t`Yd.NɗAq#SV=0TnSq*i蹆媶1i4&(0*h0X 4 amz05rjU](raf  K0<0ǔRR)JR)JR)JR)JR)JR)JR)JR)JR)JR)JR)JR)JR%'!҉ƝSI,}̤Du3G\Y=qP.ྗ4nfn;;&^MTn&zq(I>3WQNuuɖ@j֟Mxn&(0*h0X 4 &(0*h$HPHOh  .$FRys혘#jUlcN/ qFA+7B47TcNTP檺Q2GWJ&e:LTPKS͌fP̲g$*z֨Βfyz05rjU](|Y_Z贃t$5kBuTXG f.PҪ2HT*JƭhVe*,Yf.PUPJe+F,H\\.G)϶uK5Gn5,L\ѹe=@&sf kсUM9ϳ$e+F+k}(m*HDY´i"ąp_}e~tI C {[ԝI ,sB=I&(0+'9MUt@f#%>3e躮yF4ntbсZt'$#zj@ { dKZ8k. {5X}eu\0"\kB1(%F4n|U /[F4nt 36Gj{\0su9AӶn)ZRnp Tٝ)bsWJ<ԝT/&P%B1(wRw9_pϹԭ55Rq^|R1,:CbhsNsAz05j9`x1hy)5]IމdK\?Ѕг :,n,ydKt)I,idKЅsг K"XHMwHYK'oD%dfτY=ZG]YNZ>2Ȗ yrWJ8:΅ΔBV6fUnڢkUun<_8r,UT<_8r!+bYg, X,\J>nG-y)5]A脬l Y\ȱUPWBƝQ4ꚹ2ǔRR)JR)JR)JR)JR)JR)JR)JR)JR)JR)JR)JR)JR%'!ҏP٨QMnu3Gc{7NBm;[kсNsPGB{6@j֟ť)8 ҍ)JR)JR)JR)JR)JR)JR)JR)JR)JR)JR)JR)JR)IL:CfE6"WpK{7E6c{6+F|i}1FU4>88@LHyE%)JR)JR)JR)JR)JR)JR)JR)JR)JR)JR)JR)JR)JRRpR]](TpI7E҉&g!Ҏ0#{Q b}eO}D5 v]TФj֟nIB9O8Ӟ6:2z7EShBH,3t[uӬY΋:UU'<=\ѹ9zR*s}e$Sc&_n-O&_BOs62eJL*^p0oD079Nz)JR)JR)JR)JR)JR)JR)JR)JR)JR)JR)JR)JR))v7("%q=M1ouƦL)sFldDɭtZA:CΔESuE*܎;q21,y_q=M$gRwNGԝBH,$o֝etoU[+r8ӞaJ\E[͝ -ɖ^&@7#EaɭtZA:CWE*,#P(AQ`UU $*z%cV+b2,(AQ`wJS`b%Mk9c)϶u7#Nd!{g$©W#z2z;|d+r-o6t'K73c&Xa{z8v~ ENK GѮ0 aeJP!SЮKZB Y y_; H5H\),>[nIz.fcn>wCur7' 9 ~NQ&^B1,Ze.h͌c +"w^Λ*2Eɪ-Ϭ"=AJWҞP$z.fBR=ౘ"W@蹄E!C/,y_uDEIH\xx@28Nz%OdqƜ7$K+luDJ\E[͝ Rɖ^&@LisF;gg<: 'PL%|E8!Zt[P8U 1r+UP=\ѹZB Y y_;isFDɭtZB9Lq`9βuN%[7>Q&^B1,\ѹ2Ǖ$Wq=MJ\E[͝ Rɖ^&@lpLisF^ouƦ" rtGntu+qm {S@qԅdlFD%PE΄)sFld /BEY6Z8k&z4s / VSTLaf:#::X6ԩ U EeMkXխ -(AQa*B JP!SЩ+[ qeB UUB K+k]SX)N} sY5Eqph: (/ c@s62e+wT'<},_Z贃tAkPƭhVԝ&G\EbXTXHОXe.h͌aRa! 2_3ѥ_Z贃t$5kBuTXG f.PҪ2HT*JƭhVe*,Yf.PUPJ|E.s SldMQk\0"\kS"=AJIU[Y`ҜR1,y_WUN${g$D5 7GW2bY_m2Ye6+\LbI!5؜,!"Ů9L$Y_dЅHY_q"N}[eI*SO,AEIZ1' ,AAEIIZ1' ,*@(D" p($ ,w^ztUP_ \E j'l4'P>wJ:Q +k]tNĆhUnB T,TXwJ,cV+b2, aC(AQ`UPHk҆'H_UT-rQ҉aK҆'H{8,Xxx@v8 ,y_i&M4\LGRGMb%UP<\L H b@_@Wq;RwkUq0T"oBB duc,0,d 5Nu a,T[Y_Z贃t$5kBuTXG f.PҪ0*tNKZB YP˔ xvPKU:'KTYҪJ(%UN!C X&iD,XtN઺QT,Xy_IPI?')"=Az̯TXH-o ۮ4aael$PI<47P05LQ5H:'HqbCV*\Epb*,W*C qv5kB#(AQ`09rW qt2D1 q q!C X&iD,\~)Ut¨YFUQ X0Wns[\} {Q:SK&.'Բbayq. Wҟ2^.({QȕU@q0>Բbayq..* WURɋLL$Y_e;u a-:SG:SK'LΔU[Ԩ]GFFUPJbx@jY1q0<ɗBɗB`UA@(B duc,0,ɗBFL,u a"AaL5EEutH#)T4ѭ.YeƮ9<T[Y_Z贃t$5kBuTXG f.PҪ0#)U:Y.ƭhVe*,YfB‡.PqFRtE*L, DɭtZA:CUqtUҎG fe*'Hy_J]ZЭTX8,*\EǕn?TYҪJ|E8tu+q8*r8U 0WURɋLL0*>GR sqPAk|p# .7P$4X0/TYWWJ$MS\ "* S}naeMkXխ -(AQa*B JP\~KZB YP˔ xwKt2D1&iD.4\qtUҎG fRǕK.]T=ౘbx@jY1q0<ɗBɗB`UAyt,X@.hvȕ5H\),XMqn9L%wUԊ_{R21,y_8U@q0>ԲbaykNsM l6wBP +a}d(p Tl XY_ k|p# QU]( dDӴT/"(]TUX`eԲbeMkXխ -(AQa*B JP sfөRV5kB#(AQ`1r+t0"Wֺ-!s8RgYg]VO;.}ҜWJ9Ӕ0 "* LUT@f%+]%6ƝJ+k]tNBkrja7Tp T٪,.}TiԮ@DTE K0(ٶ4Ty_UTK&.&D4ЛJgt, H,WNԝ9AVԮtFOBr@(AQa"2 @FB 8b mFOBDN $& 3Ǖ;Wq^Ty&iD,Qԯ#d!m?tN઺QT,ZREu*Iԩ Tqc1,y_UTK&.& WAN:2e2w;Nd!{g$MOz*W\wRw' 9 ~qtU7[9DγTG|/TY8GV&跩;`!N٢t WҟjY1=kJ+8 'z2zv{ܵV$&1tRwr{u]TЯTXHLnhY!1Q3Eā\DKTYd ,aaer@gt]Wֺ- !ʼn ZЫr¨Y y_ li'k ZB Y y_PQԩ x@ՓE*L, D*RɌ WW#be+Ki2zH Wҟ2&XR%PE΄#&X^"6Xv~ ,_Z贃t$5kBuTXG f.PҪ2HT+jօlFPŖb*,WOBΕUPH"WW#be`A_ڂEKi2D"WW#be4y_Y$U1FG0&:Բcf|2͊fQհ2e+s^JXӪ87J:8ުRKrl-=^\E[aDo9ϳh7J2-K& 5H:'HqbCV*\Epb*,W*Cp cV+b2,(AQ`vu M:UUB"X_Z贃t)&9notN઺QT,èmly_TNp C:5u MxpyE'{-OW:rRw' 9 y_ ky<.FŤ /}nRɌ ;ggnp(x ,ɭtZA:CWE*,#P(AQ`UU u$AcV+b2,(AQ`vu$AQgJS$K+k]tN$RMr=^)Ut¨YPRMWT,>PRMW*,$Z X; V %.c{-O5=^XaE |E8!Zt[P8U 1r+UPhp cV+b2,(AQ`v)& Gt2D1&iD,RMkn5Sd!}otN઺QT,I4P`8*I& :5)& G!;=],f%YcǔWURɋa}dP8 ,($E (TXH ,ax&Ņ`(5,/z[0` Fb`p^Y_Z贃t$5kBuTXG f.PҪ1kIB]ZЭTX8\Eq*L%OMr=Y&i 1ł::}I5Sd!{tUҎt' 9 ~B1,RɌ +wT'Բbax@jY10<:FK'e WԲvk5:SގD,+z$'gKŌij ,y_ k|<5`5X8(iXXB7MrQЅ=މp @b<8 1_Z贃t$5kBuTXG f.PҪ26kt]ZЭTX8\Eq*L%O&tN&i 1ł::}I޵,p :SG:S&j~/ cWN8y_D8*8ٮ!C "<5H:'Hqb*Y;$-OѓЅp Lp<p G"WeU<թd8a'Fp ޥbY<~WG%G5:D({QdBǃMkY]WJ=o#S*,66 KZQ!.FŤ9nHD*RɌ 5jY;, ZNވ@X8z&ҪU@q0>Բbax@jY10<:FK'eRFĄDDMM+a}d0>ԲcayjtZN֥" "@,P(  $+K"W*,$ZlO,1Ki2 z4NhO,2ԲcaNK Ytk@#ae5H:'HqbCV*\Epb*,W*CNٴ=KcV+b2,(AQ`wJS`b%Mk9c)϶uudjY;ΝCԻ8*s=kBf=㇕5H:'HqkRtG 88ZN:wf.ǕB : RlZLᢙaD0 ;? b8NK GѮ`:Ю4|E8!Zt[P8U 1r+UPDUUcV+b2,(AQ`&iD-kBUUBz&Ҫ+qwm*&i 1ł::}IzUU:SG:S&j~/ cWN8y_UTK&.& SjԲvX@,Բbax@jY10<:FK'eRFĄDDtj9jY;4ݛCԻ!_UTK&.& SjԲvX@,< $hbDX0X!Þp <5ѨdӧvmRy_Yت.&ږL\L K&0&Hթd찀=jY;z!yb" HPhaCp UP<\L ,@0&ږL`L -NRazԲvBD@0`b5H:'Hqb*Y;ΝCԻT 1a}d0>ԲcayjtZN֥" " Wֺ- !ňd|2z *LpqU@q0>Բbax@jY10<:FK'eRFp ( @+jY;5HKRٯDGEOZUmeU?R*s}N]Jz2zU@q0>Բbax@jY10<T"Nze P$mlxhՕTNp ძ*I&dž,G<ɭtZA:CЅ휐?R*s}N]©ǖcURɋa}dS;q]Wq;RwӜ)>J7T;ѓЅ휐<TXHZL`L0  ab0|P@ ,X@ᑘWֺ- !ʼn ZЫr¨Y y_ 9L'[ qeB UUB K+k]SX)N}'ԝt)-ϔ'JpU](Jz2zT 3̵,uBqq#S4Iȕ5H:'Hqpt)O8*r8U 23O<*RɌ 劺s@,*RɌ 劺s9L'f,yY_'z2A𽳒>SV ePE΄,0a /vBx9Mn |Pae5H:'HqbCV*\Epb*,W*C S6e[ qeB :s̈́zΕUPH"Wֺ- !ŊsI'JpU](pd9fLӜl$$RuNr,{8,f!cǏ+a}d0>Բcayb1Y29LIWDɭtZB9Lq`9βκRwӜ跄{tUҎt' 9 ~B1,RɌ +wT'<ӂU;ϻxM~ ńp0X .\d+8 T>be7=Fw V:Ҽd+a}d0>Բcays=]Tа \E4@PP'K ^흟`,XK ";gg*Ё_ ky<.FŤ /}GvBya /uXX >np(x ,ɭtZA:CWE*,#P(AQ`UU jY1PiuY.ƭhVe*,Yf.P'|F4na=7T;ԺѓЅ휐?c_UTK&.& ˙>7AS, Hت.&ږL\L K&0&3eN} ˥Qb6X@ eUP<\L ,@0&ږL`L .g˪|Ll<\ѹ$Y_UTK&.& ˙>7AS, -ouƥ WURɋa}dz,ϡayt,T˥a@(U@q0>Բbax@jY10<.sX@]-r1\jX@ e)ԲbXPb<_Z贃tjY>UPJ|E.s Sl,'{@MTVٞ'JpU](2eT 3̵,$!]\In6X@ZKK& $Y_UTK&.& ˙>7AS, -ouƥ[q!C ǃdJ|E8RgYg]VO;z+{58*s=K &^B1,RɂA`شc+r-o6t'}Ť /BE}&z+{5ОX`4` A0\ `+k]tNĆhUnB T,TX(S, -ouƥuF'H{8/ tN Tp^<+K"Wֺ- !ł::}I3[q)Ut)aT\d¨@f% L>be(TXHОXas,09 L:D9vByaрX$3/uXX >np(yP@ ,ɭtZA:CWE*,#P(AQ`UU P$ktXխ ،E,TX< -QgJS$K+a}d0>Բcays=]TаYUN.hDN O=3 &^B1,h,as,yY_}֛%cQRTvشg=Mȕ5ESdqcK&0&`yc&YT,:LkbX_ uG+K"Wֺ- !ŌIBHSu8ʺr[g;K2Բcc+lUTDpQ }1UPおȕ8V$X0\&(0+e]rjnRwR21,:CbhsNsAz05j9`x)hお))JR)JR)JR)JR)JR)JR)JR)JR)JR)JR)JR)JR)JRD۩рX$׺)8&蹸Q#L"QuNu*|zI-ʭ=0.BEOםUJOR}I޹@"誮i6ft:*j07,W5Nٱ Pj֟I=Mp7W4uNEUtNGsJ SB5sW{?R=1p?c{7ԝQg;y蹁t)8 VsԩIJR)JR)JR)JR)JR)JR)JR)JR)JR)JR)JR)JR)JRS,SAIu*80 s'pn2esTy&iD,FO}ph,ԩ<8٠рX$@bsTy'qpo{ԝ:t2(u'z>l&]7+g=ԮHD%[t%GVxɗ@x Wsܑ,<_ul@h,BLuFB%Tc*j{ѓЅ휐?u8ʺSwj2B 흟,Xax&Qtk@,,UU GV 4%cV+b2,(AQ`wWbF`+pH!qp`bOBr@(< M*NsP2hf/lU 3c{6+F>M4>ףVsfIh,Xi4&(0*h0X 4 amz05rjU](raf  K0ae0eBǔWq=UoFOBr@MSrTT1UQiM5N8aʅGV#&] `M4>ףVsf2L:h`8i4&(0*h0X 4 amz05rjU](raf  K0<0aʅ+K"W[=0Tv8ŘYcNzcY<{8,f!c+" #}I{P%MKN[ХnfjBjc+-'{J;eUm@9*GV`9=ԩ*]GQհs.؁+-'zQ#%[P%L&M'wAO|%[W%EUtAul4\Ǻ1ul@h,B=Ǖ]ss d 'y蹚QUdj~Uz.aUVL=rD׺G.P"W[4$:#(M{QձAM QձAMNzcf<;6 Pu[40 : hdL M9hw5`b%lU$WFv_;=0*'%sW$K+pH!qp`>Y΋;9>^7 Sz:i\UN:*rGV8b2PN|pUVMoG9(aTGV].ԝb9nH IJ ѠqϓM9ϳ5ժف2L:hb[4YPy_4MQcc4D,   K0D5 M9N} %ae0eBǕo+t!cNHE-Oz.aa@(z.`<%[z.aa@(z.`pe^p6 (Rvr'e%)JR)JR)JR)JR)JR)JR)JR)JR)JR)JR)JR)JR)JRS,dٳ=UUȴȔW蹂(AQa"CОXb- /uXX >np(W*CE5r]ZЭTX8\E|E8!Zt[P8U 1r+qss {R%Mk9c)϶uۯRwR|oFOBr@*L*bYjy,تհ=3{Rro\ne'8 -wJ= IJR)JR)JR)JR)JR)JR)JR)JR)JR)JR)JR)JR)JRS,LauCL=0@ss EODs5HeB 흟C A0\ aeJPu*s2]ZЭTX8\Eqe^ƝJ-4\%Mk9c)϶uۯRwR|oFOBr@*L*bYc E>KS͌fP㇔W*,$ZlO,2.0@0= ;? )5:a,,7F+UP4Ui.ƭhVe*,Yf.P2cN]z.`DɭtZB9Lq`9βuNs0O]\BHSxɗPK1La:!2;Wpny.hEiZSU[O2WIdٳ=UUc E-Ǖ㹯`b%㇔WҞz.f+" gRwKS: S"0;'|F4nzouƴ;HPEҪB &tE[Хna!y5[n%,0(؄dˠ<  ,,C ,,s ,UUBI IXխ ،E,TX<ɭtZA:CWE*,"B\Eq*L%8V$X0\ Sl-LgRw gaAZuRw' 9 y 3c{6+F>M4>ףVsf8 Y´i0Z<ɭtZB9LqjcuYsM')¨3̒= +wT'< ܎;;ѓЅ휐?twj2\E[͝ Qձɗ@x ^&@7#Eac EҪ2HT*JƭhVe*,Yf.PMkXխ -(AQab*,WUU `1, DY´i"ąpRgYhcr83 Ӕp8bY_uzh8ɦـ`jSNs88V1La:!25H\),9LnGpOS#Pf%$*zWN8yE)nz.`D1I;}[E[^iLgK7=QfZjT"UVEIP%MHPEKS6W*,$Xru:D9oBP"-n,Ej|İ `9LAdTy_8TqIތ/l*2\E[͝ Qհ2e!IP""nXbQi_ = ZB Y y_Z贃t$5kBuTXD*B UUB K+pH!qp`>Z*܎;;ƒ(WCޡZ49i9` ƽTӜ02LSj-2.0@y_Z贅rSlTqȷ 28UbYBQ㇔WpmN)7@Ntu=?|d˧*Ԛԝ2etL؄dˡw2-O62eBȕgK7=QfZuT"UVGSL5Y5ElFUlrQi$DkbX_8'k u'|Eouƴ;slUVq%ԝY5Ee9UU>ԲfcN]z.`B3J\E[͝ FL)0]g\ ;? ZLsp'PL%|E8!Zt[P8U 1r+UP{55:DjօlFPŖb*,WUU `1, DY´i"ąpRfRqphq9G ЀK+Pح4Ӝ0c^ Zi}2LcqMtNUT)%㵽"=,x<M4>ףVsfY´ic EFLMk9c9N}ES"&sTfI G;Q_38v4|T[,:Jվ2eӕIMQN:We)/tz:L(L%跙TY֝e9UU.dMQm3ѥU[0Zap 2,y_;"WN8yE'k u'|Eouƴ;slUVq%ԝY5Ee9UU>Բf!=:tZi蹂({Qc1 DTXHОXdd /BE}&z+{5ОXed=0@0  a`(5A,,&iD,Hjօ] B\EUT(bMtN+[ qeB UUB K+pH!qp`>ٽԫ\0"\kNQƒ 3c{6+F>M4>ףVsf)h#&XvS],UU d`b%ouƦ'H{8/ dex K"W*,$ZlO,22e!IP"@$G ~XbMtN Tp^<5H:'HqbCV*\Epb*,W*C$OBjօlFPŖb*,WUU `1, DY´i"ąpRfj]сS0-9G iZSU[ 3c{6+F>M4>ףVsf Y´i{55:D({QxXx ddQ_ ky<ɖ^&@);ggRy TpYcޥbYe+r,9 L:@JètC`yuTWC6%X`Yd.Nɖ(TxaaeXaΝ*l /,1La0,z.`UU $*z%cV+b2,(AQ`&iD,Hjօ] U 1r+t0"W,Z4bBr8)N}1IP%L\(< NN:s'P B1,:CbhsNsAz05j9`xAhE1Lay_Z贅r:-0OS#Pf%$*zWN8y_ aRa@] V@c%,0 rtGFLGR ,04)kXl /,1La0,z.`p ij S4I +87EF4nzouƴ-slUVGSL5Y5ElFUlrQi KW%;WN8)JR)JR)JR)JR)JR)JR)JR)JR)JR)JR)JR)JR))8)HI5HDu3GHތ/:rRw' 9 yI&!q?#7FOBr@O ruTvβp6R cv:*u;OFOBr@PwD OS줥)JR)JR)JR)JR)JR)JR)JR)JR)JR)JR)JR)JR)JJ)w;XN'X(<=\ѹ5Ӭ"=AJ:2eЯɪ-fz4cQi$DkbX_8PE΄(2 ÐètCT[8JUT(dTZЭTX8\E|E8!Zt[P!T,TX<ҪbX_쳅hE 9βTƒ(2 IJ ѠqϓM9ϳ5ժف 1pdj-2.0@y_Z贅rSl-LnQEM')¨3̒= +wT'Cg Ѧ>KS͌fPMk9c9N}z4s8*wG|/ 28UbYisFKbXaae@莌bGXaxhaGVxɗ@x XYaa^Xdj- /,2w V[q Tp^<JP!SЩ+[ qeB 5H:'HqbCV*\EBY y_;UT)İ1g Ѥ Jse$o;-3(u'z2zP B1,:CbhsNsAz05j9`x!h'pl\ѹuGcpy_Z贅rSl.w #{@uI9dp ij$OBLN8y_}M{R <N*٫{5!C ǃo+pH!qp`-7SבIތ/lP NϹ)ÝHP%DK+Pح4Ӝ0c^ Zi}c,Z4luFN㇔W*,$ZlO,2.0@09 L:D9LnGr'Qi_ = ZB Y y_;UT)İ1g Ѥ Jse㺓`L(< NQ€Ze=@&sf kсUM9ϳc,Z4ZddWN8y_y-z4sk{5YlgJ:2eЯɪ-fz4cQi KW%;Wҟ2GbHttz\{R%PE΄#&Xaxru.s3ѥ흟)sFW*C)s%cV+b2,(AQ`&iD,Hjօ] U 1r+t:UUB"X_ ky<ɖ^&@82_K70W*C$OBjօlFPŖb*,Wֺ- !ʼn ZЫr f.PUPJe+F,H\\.GPE\Fph:ΜL(< Cb2P&t]WJ<7:j1phq:foF٠E=db2P-5KT,do. {5|G c7>*[-[7:@}ҏ#=I. \ѹTYF^i 7Gs- XFJ7S lΔ1A\FQ9BjQN*cWCޡZ49i9` ƽTӜ0c,Z4jy,ت<(AQa"gBya,09 L:D9vByas+UPZB Y y_Z贃t$5kBuTXD*B \E*L, DTXHОXdd /BEh axk +UPBRV5kB#(AQ`1r+k]tNĆhUnB P(AQ`wJS`b%I$.. #x".w #x4`sFNQ&^1(g:.Gbрu5E4`E֝ ޷ڣl?1(%F^x2_YloЀFJpebрuBK-рu dMGڞh,/uƴNvt훣l,f#%TU6gJx#(5Uҏ('} ɱ PK+Pح4Ӝ0c^ Zi}1pe[&]`:S׺"W*,$ZlO,22e!IP">=NhO,1o_ [q+[ qeB 5H:'HqbCV*\EBY y_;[qUT)%B : aRa!Ӄ-5a}C XY_ = ZB Y y_Z贃t$5kBuTXD*B UUB K+pH!qp`AYsI/uƴ2eAZ36sQv. \ѹTYF^iМ{0}6*() 3=/h~2X4`E׊c%}phq dKZ8k. \ѹT,do. \ѹЀFJyNph:Κ\0"\kM`!Nٺ<˟YhRb2UIM%Sft 2jU](RwP@ IJ ѠqϓM9ϳƽTӜ0 e+F-O62eBǔW*,$ZlO,22e!IP">=NhO,1o_ [q+[ qeB 5H:'HqbCV*\EBY y_;[qUT)%B : aRa!Ӄ-5a}C XY_ = ZB Y y_Z贃t$5kBuTXD*B UUB K+pH!qp`AYsI/uƴ2eAZ36sQv. \ѹTYF^iМ{0}6*() 3=/h~2X4`E׊c%}phq dKZ8k. \ѹT,do. \ѹЀFJyNph:Κ\0"\kM`!Nٺ<˟YhRb2UIM%Sft 2jU](RwP@ IJ ѠqϓM9ϳƽTӜ0 e+FGVxɗ@x EAϔNQx!srT.bY_uzh8ɦـ`jSNs8c,Z4ʡ_f'Hy_ uG+;N VҪqA.SWԝnjNZU5<תB*vPn+J\E4@PP@[B О*St[:a,,7FXYeMkXխ -(AQa*B JP:s̈́y.ƭhVe*,Yf.PMkX9O{tUҎG fAӜl$WP{Ӝl$!C X%nⱁ2Au'qѓЅ휐?ⲿvPn+ȕB : a=* PEkt Q ET,UUBI IXխ ،E,TX<ɭtZA:CWE*,"B\Eq*L, DY´i"bat=zUs=_xP LOFOBr@!AZr2@bY_uzhϓM9ϳ5ժف2LET,ʡ_f'Hɖ< (m** (m*`y_Yg Ѥ Jse{[z5B*8Ҟ/lB2e@- IJ ѠqϓM9ϳ5ժف2LET,ʡ_f'Hɖ<;6UlsНJW_Tq2z-O&Y_ ky<ɖ^&@7#Ea*5H:'HqbCV*\Epb*,W*C$OBjօlFPŖb*,WUU `1, DY´i"ąpRgYhcr83 Ӕp8bY_uzh8ɦـ`jSNs88V1P#&X&i 1Ō*cr89&sTfI Gr'fҪ9NziUV+nⱁ<, DY´i"ąq1A^EAD>S9ExM'Pn+ѓЅ휐M4>ףVsfY´iB*tNuBqȕ8V$X.(fT=T:ST}AZwI!5- IJ ѣ&sf kсUM9ϳg Ѧ5ٴŁD WDTXH,5;,gt]SвAaB*F﷚X@{8,Xxx@0, ,eaPlBk4er@Aaz06m  1p2h QS,A?bJkS:!2W_ հ2eЯA?heE +EOέ,X_|*~uleBrT0 T0 A?VSA`R"۝Jjh,C^TA?VSA` W_ ntu+qm kSk E +EOŬ&* T,W_ KS͌fPToD*+EO裬$e@PA?SiSJkS iSJkS(Ӟ"oF +EOo٧=M+FL `1Sm2[n>u yaHЊZD1" D\$Ȉ<}t`mQfM%+pH!qp`T3Tڄ.5A1vRwE6Ef7tH IJ ѠqϓM9ϳ5ժفc,Z4y_uzBmW:TXM bfb@-FQ9BjNSl,BA IfYfXiv}vd}H d}D9OU;ȕ8V$X0\ *{mB;XK;Тzγ:$bY_uzh8ɦـ`jSNs1p<:CfE6+ƝSI,}qbb@3ABA IfףW(5U҉)϶a`X$, ,y_NsPZ9TTo fgJpUuEy_Z贀ETre9B ( 0N ʢXaCs*<(s D(s|U B8P](ѷ|EbaUlTXTBXP,PpX&iD,f#1NsPG%SfkSln>Tڄ.5Pf%#AMkX/{Pf%-O62eBǔWҟ#DWJ"n>"WHQ,4X%=5 )8y_ uG>wG xX%ձAM HQHNzcYpg ѣTjsX `P,LP,PHY'9MUtis텘X(@($ , ,WD:FK'f&HQJPE-rQ҉aEP>wJ:Q$,_`#OTy, H5=^} oqWJ;<_tZNͣM]RR>D&ҿ;#Gtp"W-[4穤tZ<_i=M$X4,Ӌ${g$U)l-r7:e eYPR>D&ҿwWhdJe+F,H\\.GI HPRF$\aWCޡZ49i9` ƽTӜ0 Y´hi4&(0*h0X 4 amz05rjU](raf  K0<0ǕoqWJ;<_;}t ~<<H&`0R>D&xx e+F,, $!{g$ƒ^]"^|^*|۟Rjɪj]nt0whEj,<uTԺ@f%PlV4Ӝ0c^ Zi} c,Z47+K"WрIHQJqe\MaJe+F,H\\.GЅ휐?|pH1,:CbhsNsAz05j9`IhӪi5E,LP`T`(&h(@($ ,`j&Q49, `yae+>wG JJ&4y_t8Xicȕ;fH<*JG҈W* T,_쳅hE zT/2@f%PlV|i}1FU4>p 1p< Ѕ:ǕoqWJ;,y&Y=M$W[t$-O62eBPGVxɗBR>D&=ǕoqWJ;"WNzH<7t!6ʸрH8V$X0\1' 9 B!JϜs-bY_uzh8ɦـ`jSNsg ѣXӪ8M4>ףVsf8Y´h7B4Wsܑ,<_ k|<5`5X8o[ХneJP!SЩ+[ qeB !SЩ TpXBǃ ,p  DY´i"ąqJ\r|Ќ]$o1@YhBHGu8ʺL[Хn}.hwMSK1,:CbhsNsAz05j9`x1hn,i<:#NzH<>Բlu[QHP DTXH)0]p'l4'jY6: 'PL%XYeҪ0\V5kB#(AQ`1r+gj:UUB"X_uFBLuF@E+sI4穹"Xyp6P$JG҈W@=M$W*,$Z X; V,!s)[eҪ2HT*JƭhVe*,Yf.PHT*B30C$K,E+pH!qp`ER>4\4#EsI=LfP%Z2z>檺QN2A;f'q)[K.]TRlK+Pح4Ӝ0c^ Zi} c,Z4y_ uG+jc 9nHsI4穹"X_uzBmWBƝQtV<_oF%#DBm+qq7v+pH!qp`^$&$_)\#y.eK+Pح4Ӝ0c^ Zi}c,Z4y_4MQcc4D,   K0D5 M9N} %aeYcȕ0}.h DpрGoqWJ;Ǒ+4穤td<_B*ͨJG҈BH,x< +uB*ͨ%@(D%"5HQJPE-rQ҉aUB*bwT"*\|tY < Ѕ:ǕoqP/j6}eFgVⱲȕT"*%#DBm+EA U"5qP/X$K.24MO}ןBȕPl(n,i<"zkϡa%EA<5=^} uG u溣+uB*b,5=^} =Ѩ_`#OTy, BH,x<< ?;ϡu*DY´i"ąp\QS= U)lƒΔ_|diꚞy>t@:4T.xP B1,:CbhsNsAz05j9`<e+FT"\diꚞy>P ,\Ԭ Δ} {QXӪ8iwRMꦩ\kC7U QMw;f%+q,ӞaJ|E8;)%w V:Ԯ3ǕM&Ԯs߱=Nj~Uj;uH۩рX$׺d %[4\dJc{6jSlp7B4W_;SiSrDSp6iSrD%펠HӞ`b%=5 )8y_ uG($a-a0>wS=Tu'sMQ6 HbMN2j=teMam4穹"Y`DвȕPl(n,i<1sqz׹SvBHq=Ϝs-M'EH,o(5&(0+ 76sܑ,"hYdJq؛рHB ɐm 0H`(DpnEOB&`0 / ;l$&,ɭtZA:CWE*,#P(AQ`UU 6BXխ ،E,TX<:UPȕ8V$X0\ Sl-^wI!5)BHdbY_uzh8ɦ٘ ͯFU4>f8V3z0hi4&(0*h0X 4 amz05rjU](raf  K0<0Ǖo+m6*he㹴تDTXHLnlpr@EMP / ;9O||[9 yeMkXխ -(AQa*B JPÔ%cV+b2,(AQ`v:UPHg)73O% `icȕ8V$X0\/t]휐?,(< Aj S$nx6OrS, (( 88,'@(X@T#"X4\ 2Y1(wʸF(l,LP`WFOBr@1,:CbhsNsfףVsf`p3e+FͦPӪi5E,LP`T`(&h(@($ ,`j&Q49, `yae(:EAM4>ףVsfe+F(sf* JHT*B30@sf*= uG,x<< Q_;J&7$K>EA٬UTDɭtZA:CԺ-N).Ӕ0O|9%[ ıo+pH!Kޤyҟ29Cʤj~UЀK+Pح9i9` ƽTӜ02GB ɐm 8Hsf* ^w2W":Y_Z贃t$5kBuTXG f.PҪ2HT*JƭhVe*,Yf.P2$*z"W,Z4bBr8)N}Ժ'|d]3>AZe=@&sf kсUM9ϳ2L:hb:SBR=Ǒ+FLQX9(TXHLnlpPE[4YP042eԮEAul&iD,Hjօ] B\EUT(dTZЭTX8\Eqe^HT*DY´i"ąpRgYv5YuNɗPgJ}[ƒ 3c{6+F>M4>ףVsf e+FuleBq)toty!SЩ TqycȕGVxɗB <=ѱs@oӁjRwLNGo훣ձɗBq<ɖlU FL+%9i c::!2Qq.*ӑ?e9i 6Un[t(N8ɗBw V:WJ+穤qSrD1WzGV#&]5E[&]:K5Wb.ѧRvWxɗB|ulGV#&] `8VWֺ-!s8dTy_ uG( Ѕ:+8=ҎtT/ ף =^J[2v_`(;(İ6 4_Y'ErfjT},q׀İ17B4WD Ѕ:I_nEBLЙ}.펋^6gIk'k :-v a'EU Wq!VPqptZWJ|E8t[PrWJ8F;&]bXΔɗ&XR%PE΄#&\C2 beya 9tP{8Wֺ- !ʼn ZЫr¨Y y_ = [ qeXU B +rB]QgJP_쳅hE y<9β(^&^1(U/Y;XK;UVԝzt@#AV,15UҎ 3c{6+F>M4>ףVsf)h(ldW.=MȕATpy_Yi4&(0*h0X 4 amz05rjU](raf  K0<0Ǖӈ;;`!Nٜ.Δjqӊ%}b}MSѥT9GSԝzόt+%PE΄8ɗ3/,0矆,mz0!3 hO,^* &7G-O$!xq/pozsF2^|E8!Zt[P8U 1r+UPB\cV+b2, aC(AQ`UPHDY´i"ąp z̀59Ϻ]wS4g(/ ЀFJ[ХndAFp*:oB.FΔtVf#% ܛ5MS7sĞ/>ԝNsPDK+Pح4Ӝ0c^ Zi}2LqW.=MȕATpy_Yi4&(0*h0X 4 amz05rjU](raf  K0<0ǔWֺ- !ňB.ZGBwq&]7SlM4>ףVsf2L,\ѓ,QԨI }ιAZgJyN{tU҉ ;;Ϝ/gVkjMW:TXM bfb@-FQ9BjNSl,BA IfYfX%Кl4\= .8 ,y Rqc0ǐuG,yESVz.gBrA*MSj:f-Uu|䋙lSV=2؁рX&Pl4\[<z.eQհh,C(MSz.e .w VWo٧=Mȕ;Rws[wMyKSEul.i::׺<'c}](Mqג%8V$X -tQu'zޅ+s(5UҎ@WCޡZ4sNsAz05j9`1hPE!I]tC)[rsW]*wθhN xYeMkXխ -(AQa*B JP!SЩ+[ qeB UUB K+pH!qp`ER=rjU](sQtQp U]()϶B2uN:,1qY9.*MS@f%PlV|i}1FU4>8VW:TXM  %[^ B+NsM=T @YfHQGo+pH!qp`rjU]()϶a7TsMQfD5 y$=SUѭ](;:vβTP?(5U҉WCޡZ4sNsAz05j9`< c,Z4y_4MQcc4$(h(@($ ,`j\sis텘X(@($ ,ɬ2G҈<]%Nz%+9UN'9MUt>&NR>Uou0ph,X,   b`\H,A @+r,PDABB:޸3})5᯦ҳf$e ;?,0"qJD,'PL%ȅ`(5pY_Z贃t$5kBuTXG f.PҪ2HT*JƭhVe*,Yf.PҪAb ,``h0X @A @ tږLɖm*BR=ౘ"WK&ld6Ul+78/ Uo6Ul_쳅hE VLjwGN*Yg]VO(5UҎ˪e=G>M4>ףVsfHY´h&i 1ň VLjwGN*Yg]VO(5UҎ˪dp ij$OBXӪ85c{6h2hkbXWBƝQXӪ8 <$lӞaJq؛рH۩VWC^TpSI5HpрLH@w5`b%I Ap6Τct =^AZe=G>M4>ףVsf88V0MaXӪ8 <},_쳅hEŁ@8)N}$'{@3(hBHG ЀK+Pح9i9` ƽTӜ0<Y´ioF WBƝQ+"w^>GR<.J;|9%[] mtu+qu*8y_,<:`لoR*s}jGVEIpT{ś\uo+si=M&DTXHLnlpӶHaPkg$,UUBI IXխ ،E,TX<׺%$*z!C Xv.eBGM{R%ᾤI 9S\s휣(S2a_v.'Q9Bv#*2ԝd]r7:&(0+$xS-by5SU:~|  u'q(\λ5&(0+$xPE ((HG[! $&5 YP'l4' D(X ᷅p B+k]tNĆhUnB T,TXsg Ѧ YPӪi5E,LP`T`(&h(@($ ,`j&Q49, `yae+K"W,Z4bBr8HMwHie]rjuJ\λ;lbY_uzh8ɦـ`jSNs1p`E W:TXM bfb@-FQ9BjNSl,BA IfYfX+8 'z2zD5 :I 9q۫Iu;;0' vS*qut&4ZgRw֨(sU11A]5R[[f.'Em d +bI 1_JxE Ma({Qȕʽ[40 TYUh4` M $ hhH+476 IFt1QgK\Lo=2yΊl+bI E56h4` 5G \p4` 22eGVs'plsGV 4$z.aUT-Zռ\հh,BGU@poy蹅 ȕB 흟,Y_Z贃t$5kBuTXG f.PҪ2HT*JƭhVe*,Yf.PMk[z2e h@f#%5tPsUoRw' 9 ({2eЀK+Pح9i9` ƽTӜ0<1p`E 1Zld6*+.;h,HM4>ףVsf8yh,X7B4+K"W,Z4bBr8)N}1IP%NѓЅ휐<WCޡZ49i9` ƽTӜ0<2LhcXӪ8t02nY<&ޅ-eA+sFMQfZjENz/Qf9ѶjZ6:-x_Setԝ}eNɗNGu'zޅ+s+%K7: HӽԯJwN*ӑظ4`sFNGo2ec&YT,sFkJ,Δs7G44@_ aRa!ϤF4nxv~ =00  a`(5,,&iD,Hjօ] B\EUT(e.h{RV5kB#(AQ`1r+t0"W,Z4bBr8)N}{WE4`sFNQƒ 3c{6+F>M4>ףVsf!h%LbX_jWsFkJ:UUB"X_syu*np(x ,ɭtZA:CWE*,#P(AQ`UU K73^TZЭTX8\Eq*L%8V$X0\ SlUn. \ѹӔp- IJ ѠqϓM9ϳ5ժفc,Z4ɖm[Ǖ"TPٽԫ\0"\kNQƒ 3c{6+F>M4>ףVsf)h%LbX_jWMcy[qu*2etz:!2DL1-Zld6*+O=3tph,C@r%lEouƦtm&\L=0y_J|dˎult"WҞz.fрX&+Sfz+{55sl2a蹃+%nqphqMJYjY--FWU5MB^j"ҿWSXf贑et nSXhP$m+7EP$m+7ExXc@ECUWEIBԝuT r{XF[a_t跩;Y-+% Ji,<\M "W*,$Xru.sz8h흟E /uXX >np(x ,ɭtZA:CWE*,#P(AQ`UU ȪJƭhVe*,Yf.PUPJe+F,H\\.G)϶a2n}u*c8*yGxPxbY_uzh8ɦـ`jSNs g Ѧ>KS͌fP<fLuFҳtZh`^ȪWJN$5Yut[һ@t ZL&Nxs߄o\U(AQa"ÐètCCE0'l4' hh<  /uXX >np(x ,ɭtZA:CWE*,#P(AQ`UU KuFZB Y y_;UT)İ1g Ѥ JsL{J-DN Q&^WCޡZ49i9` ƽTӜ0@$Y´ic&YT,y_/E(NsU]T.N:s'TY(XGZNAQf.&a_dܲzzpBSԝ.N VWJ+pH;Ut[x!xtΔWNr|j1{q۫"NlLB m,15H:'HqbCV*\Epb*,W*Ci>͊%cV+b2,(AQ`wJS`b%I$.. #:mש;6};FOBr@(< NQ&^ЀK+Pح4Ӝ0c^ Zi}Sg Ѧ 4YP%LbX_jWqjoFOBr@T(+BsQGRoePE-_0eB|E8!Zt[P8U 1r+UPBRV5kB#(AQ`1r+t0"W,Z4bBr8)N}T[}Iތ/lPxQ VqK+Pح4Ӝ0c^ Zi}cg Ѧ 4YPMk9c K2HT*<ڢ㇕Bq#N_%UҎ|;V/lPE-Be+F-O62eBǕ5H\),*1,!SШ_jQ_}&UP<X@>*KS͌fPi4T:FK'f&B.w5`b%I#;Um7BHi8P N-wJ6@f%PlV4Ӝ0c^ Zi} c,Z4*c<ɖlU Q_Yө5jY;xMT*'9NpVNr&(0*WIsV͠Vk^hᆋ*c<ɖlU 1cNG㹯$K+pHګl7BHi8P N-wJ6@f%PlV4Ӝ0c^ Zi}c,Z4*c<ɖlU Q_p>Sޤj{2eӑI޷J+O[:McJe+F,DE4`E ӬY΍U[2e@p-bY_uzhϓM9ϳ5ժـ2L[c<ɖlU W*,$Xru.tG ~XbRxౚ+k]tNĆhUnB T,TXcnzY5EԝрuPxetm*(@p- IJ ѠqϓM9ϳ5ժف c,Z4\|2͊c|E.sB̒= +ExWBQg+Otz\ѹ%I"MQk\0sƒ2e@p-:R*s}c1,:Cbhɦـ`jSNssg ѦRc<ɖlU Q_ aRa! 2_K_Z贃t$5kBuTXG f.PҪ2HT*JƭhVe*,Yf.PUPJe+F,H\\.G)϶k&n. \ѹi8P NԊ_}*WCޡZ49i9` ƽTӜ01pe.f>KS͌fPMk9c fI G"TPM4>ףVsf0Y´i T,ɗt84` JٞMR*s}q0\)Z:2e*`4` 8< 2 LyE$-/uƴ-slUVIE)n hhu6gSYg:6ѓ.&M4>ףVsf0 Y´hN1sqxLԝFOBr@O|y&Bkqz띪xHMwr@QgԝBHWq;7:j1phq:fg:6ΕUo1Zq2\EBP"-R0*纮-duc.* qQ#D,SвE 4YP / ;l$&,UUBMөRV5kB#(AQ`1r+wWMRJ:Ss4nt4@_쳅hETZh-:e:UUQ&^f%PlV4Ӝ0c^ Zi} c,Z4\|2͊c+r,9 L:D:pe,22&iD,Hjօ] B\EUT(dTZЭTX8\Eq*L%8V$X0\ Sl1EeNph:(< Ng:6ΕUop8bY_uzh8ɦـ`jSNs1pe.f>KS͌fPMk9c fI G"TPDA !q1!a#EĄABHsf* ^0 .@c@PX8 4A"@8]fp!@0(H,,$(Q $`! \q8(.$h,  9ObFA` +k]tNĆhUnB T,TXi4Ty_QlBk <MөQUPJe+F,>\$7ԝI Hiɹdj/lP B1,:CbhsNsAz05j9`xAh&liԩ T,y_Z贅r¨YBQ8VWֺ-!s8dTy_4MQcc4D,   K0D5 M9N} %ae0eBǔW:TXM bfD IfףW(5U҉a`p8HYc ,*<Rq=x)?9JHhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhiN;4تi"Yf:&Yރ/>rl*RwmBu+R\W莠*mDD < l0@rb֝afb&k./usr/es/sbin/cluster/glvm/utils/cldiskflagfigu@@ !"* 8a @AH`cdet ,0D_iloprs| !$%(:KLNPThmnux'./1JVWYz&Zj^{ﳐ{, n^ /Err/E&sC%-0', _ߤ4"\1ʕA,~_')"I2TIA٪) hMf cob׶A`Ց.s`<Y{o`*2!65 s:.aYvP#| D?lAu-z`$&*`%3K,ܞgΜBrܰՑ.sanx{.!_Yb{?k%l,Y{ob"1=Y6g=b+k1 OgVDͅM3@b!勳 {VBc,['3{ e;&3ژORw ׹6ݭ\SmXM[6\Q09g9\LTA6T~l=l]&s &܏ >d.-sBl]&s{v2ʐGӦә Q|YR/B q"BYR , @pT`{칟VKK*Ae!y9+Bm+֭ T?;NFڐʏggx9i\wߘQSm c/mdfþ@(hs)'֝ծ?Yet[oa {Y&YEtdnͿMj@.`-6Xc<8sP7 9ïNaՇȖ)G`71tZ{.QDtd]soyekfZl dxhC=:U5N9's ?ܘH"vs*&jb mI:c2s9@lLg5E;[{ e9[VLw)E#}@؛]mX*A-sɠU'MH`Y#aHaGc#h>rz31>Z2ck$Mo|P9nc('Ѳ55Dpw] >S!y&o -+δCY#ucWmGMj@.WE̟P27\** *?6ԀYZ`L2Ǝb;[N9{ e9?ܘ8X: (&j/obQf' 96c&ʏ͇ V2MX([tym:-3ڰrc,oiZ«obQf' 96c&ʏ͇ T L2X0 kpw\'smX1 ba`70 ؛رT-tLi"UIRV|{RyQ rp~:G:m9E:mkv#'y٭uo`Wc{k$k|L;9np -ŵ5ukaՌZCm!\k$K2:c2s9 aH׳12Ŏa=wEs[y'7@u[)2ڰrcH;_a@7kW7ŶŋQ19FFYZ&3 ,sN0S|4s ?ܘu{vsx{.QDtd]soyej{9a=)'7Hm_-&;͢vs -Z2,e k4 "UIRgΜ ,Xl?1&vKG{[sH6łMaxs #mMNb%"rdC#uMj@.e;MPa̾6-nyY%y_R{Z`Xi&hOf)( ^NHh3lVtd%Of)(a.Ps͍$yBE⅛ xB 6AIFB \ l@ 'Pda+ p lG @A`h~w`h~2 &4|3A$ ( &dL*iff? HB@8⅛ @8f%!pdb e)ZրPd6 6A)4B͐Vײ05/,'y ,%+CC\ƙk*KVfNgIW9{k2Sp Yr=GU <2"/&/`d Y<2"/&/`d YPr2 bŵ €J t+a@u *-7=A Ɯ 6f>TK2 !/a@(=d2B^M,Ѝ99`:_1L^ x6dA1xbʇ{ &/ [YPl2! f9`tnNwMk|pq:mBCsw TN;{>TC:n[tmR$3ս*_YM*_Y7-RC:e|~M,MNx:m*_K4w MwKblR ΛV|if&4v|iftܷK֭,3[ogʗh&'[d/&RV|ܞcZh58fMF飺f74v ^RO&H;ϝ9j@Y=V=3XߎLws#*_YLVtںmMNb؎M¥Ueŵ1)M2Kobn֮x7n\Y|gieAbMˋGgPzF#?M1QMqj=tQGtZ9ݷ0J)4&]5wk7[`qjܺn/.b-7}=rU\dڐ gnv_#\ $!wUNFv9atqa:mN2ᓿtںa,:c[5BA7kW<4`qmMnZ\6tƷLjjIZN7= 'e1_ۼT&dvnyQ7 b7[qXp3'֗^e7$y9Bӑ=GQnb-6Snf[{M<>[20D ӿ V|ܞy/tMґtܺn9ob:ib.bv;F =6ec̶g`{j鴅mf@sRط ֖hng2 {w;7}鋞yPOm[ޅ|B LZsJu7nҫs؎kifs-'@ur}Ŧ-㘨 -tB>sϖVM2t*_Yivs-nur1eoM3 tnyGtYji-0]h!@Jh,LiЀS3 LX瞛7.acLZ讘oHW1erorMˋ0JvZn.:n3 {/wr,iUM^7#rorMˋ0!V-7uy%volGMۦt.9:h;-V-7dL~غo,YfOu- 0a)LhJf/N^9@=Gq,b φ*_Ytvxig;+K֭,ʮ/n,Y7swn,Y7rXz =2}Z` A A} R ԧ2H@(H@)IGSӑ=GQL8ќj#pߎQGtJhd+k2mfKtBA7yGMFifn֮{MEg4**g:)ob:m]6]6w,V3'˯gnR*JD ԧ2HRQϝ9j@Y=T#)*ÙŶr2G=X3j JM5 h&'<0qi* :wt l];BJwL8G7sm0gSBʐB+k4w+sn,81Z9Vn䣊`S8{sʃ~mfns\wnz\dfڐ gnv_& "TJ Js$T BT B}?ϝ9ZBcMc\gC d! wЄBjT%*_Y }Є ݭ\"YpR:m]6]6 n+\o<ȄYfNBu-v_xA DpB_C$)̒*JD?V|{Rrύ?ݎqXu7|qMV9V-cr8^ 9X#V9P:iq8ŕ E [:wt l];BJV,86*@"mfns,:qao,:;oVh,:[qa闖TPMN|u8Q>+V@X3Pr4U9sMNz y8V}sj@.e0T BT B})S$U T>tnOQrq1-4gǜ3wt3+ ̢*_Y8PMQGtѡ_YQqpcc4 0ob:m]6]6w,V3'˯gnla) SΆP$Nd)Y#aHaG>7'?3-1s@;m/,&1x@ZGm)\Y,1k Оh-sʮZVïU瞹bg9>^l<{Ru-K>0RnOQtcM7~:m9O^e8 !wIGRY#aHaG>7'GLGq ̒nc5sMxn,;:nN"w9w5,(飺hЯG8 *WM.HWTӎv_ڋ$nֱN7M 7y!2ҥMBMHoL/MEN͠cmGM˦Ѕ$b&VHŸ<1V}s^; h+՟:r6Ԁ6T~686i#;#3LJǧᜏ2r.nt>c3GCjv}0PCmfKqs9nKk2KeA*wC R̒|A,?4|~T%L4ۘ! /n# ,ۘ!s+mfIt"ЯidSw@YP t>:!_ڽ`e&3zx| oagg3{i+!&j!eqmMi\uWCRmfY1T W1Aue.b`"g/@|sobn֮x9N#WCRn,œԲ =^sS[-C/68>9s;oa{{t 11 7kWY86z:|p|>x|@z|fv}m8*_Yt> Lg(*L=\wkwT[m< ٽVݭ\γ:mNϺ+G5N`]|Lkt>/.ʁXM8%YP++ZY!"ʃWWC6Xc9,zBzwkp+v NaP=&j!eu8aP؎7C㒥Ϻec9zMn+{^lp}kT x9/mfY1yeA=\wkq;C/68>* y&7mZz pbɌ;,>L=!9)YL[{?ut68>om9[{vsMs\Ug99ٴUTA6T~l= 8ɒ)82Orzcb";b~M!f(W$f1iA7~:m]6$+hռȍ=2|`a)@b%2 nOQtl] :h7x阡_$n,M=t0|V"7BЅDT]G o2 TT+8|BYP% ݭ\4n||C:m*_h&MNz6 3 U9x}Xl@gL rn3)ՆÙUa9x}Xl90%V ZLMߎ N1r#ob:d @ܣ@E;mrwtlsBxز2Rlo0ژ} R1'4&'3Ù%AMFj6.Ŗq&U93mMNgh)8YP :m]6^XY@Rr"}aomL>r+obnsw8ߘkNv+mY_0*0rغb $^$BAK3;5 7wtBxز2Rژ{s OM %[{wqc2qCM n,H*E0q & ut6[{[obns:8c{Яmg Lg"ʃzWS[=͖`OMАXnG7&؛9k R-0@i Lg!aeA ӡSv}Hom9{obnsutCM n,F%< awkr0oa om9&3H[{wLoz,7L}7GL}7~:`wtޅif]&3%>0(ͷ͖` ${t  Ә{{Lg+,E;5J}c om9۶.tnOQrq1-4gYP'zt};5h@vt2`im3_Coo`jom9f1ŖulL8^闹gm;Yj6@&?L-6m]20{?ut6shLh8ϖT Gtѡ_ڽݭ\;tƨWd+e@6 \ӦwZYPdMZ%Zܣ06@ j1okf%oF#[tڛܧk~c}lt4hWgfBz0vŽW4>t1H[{gGсF tqeLk`2*\gV ,HK*=WztwkpZx7Zy4 S{i̤[{gXe^QnW^YQU4wM9jrC{-*_Yn_YwqeF`4 Je$w.j׼e7[c[; ]pR713w>wLs2+/ho2,ALt4hW>"KZ0x! /غegc.+K0st֨{k2I:2A7~:2+k1ŖߍZ3J[{wGqhО'|Wgi(tixslGqe_t2{,7qh9 1cK>YP}t4hW>,YtƨWd+,14\4Z[iRCoKk2KocL7鸅zեFLg)T=0,x0em]7y.CD A~&Mj@.e\_}!RXY#rz+9ob:m]6l]6g9]瞹bg9>^]{?w#SԾOӑ=GQL8ќj.飺f%KK4vss]5W]4caGPhomGMVh&jYqeGi["oz騸J_5MB]4w[y<>[y JX`H.4Sϝ9w#+bQtvGЯɥ-ٳH.fʐAmtnOQr܎Ƀ;oa=rV}s^谉L'RGM0ϝ9lrckZF瞺j8j;3X2ہ:e{g,Wqeg}Ř|&LkB[Wt՛Km,ݺfl kaYeA(WM+֭,M\Z;ҷF#cMߍ]1e5or*_YTWM}=rU\d׳yBT*R:r6ԁrzl3{oo5Y{Ru-ܥ/:hG@UNFڐʏ|nO[683lcstMɻ0c+K0r瞺kPE[8,? i nHW+7p9ts:\XigEt4hWZY;ob]5ҷK㦶-滋XѣgifQqcݛno5WNrvPɥ0kP.,q[w}o5X7<瞺kPE"[\XkY@[mGMFzե ZGqckh<eLqo4qe[s2^Tu,xhݭ\YH.fʏTt4hWZY]4w8Zfun 0xP}[qhվJ_58,no3y릍 It֡_ۈ>fWmXYa0@om9`6faom< jtܸ%/s\ug9?fʏ͇ ^ݝ=/:' R ҦV|ܞcZh5M4:ob:h4+֭,MEtn-j&;YRg62ʎts\Z̟/.eחE0,ݸq5؝2ʀHdy/,a^YP ]aK:e`=[qeG Z8gLv{s [{RCt\<{mMߛի53^؎5ob:] Wo]`t>_t>_;Mj@.e:~_!L'R@N,0NF[3cIjƑy箙5Zڼ-︵jgj.HWgzۦkfV 1]3[6hKm,MQjc-=7FG,iY}{o5=qf4kV;W]1Z^i ejctB(cK n`]tƖ㋦Ɩ4k(cK n`]tƖ3[yk52Cobc}hWMCqfw}M+k01y<1V}s^LV|ܞcZg[!B Ɖ ՟:r7'q5qc[oqcY69Ne RVh&j!f:h3w|/mfn֮rM4wMts]4f{ >ʮ9:h3w̐+K*]4fyR-MOZ;fK*AKqcXor;ߍG7MT1^Hvv>sFn/mfFn/ZY4fVKf7cX1]orv8,W,0|7nƀ"o3wqL?M7.9:h3wmf!c[{<&Z^|-*_b7{ʗh&jMsϹY̟P]{?w`]L'RA3՟:r7'9b։Vtںm/,MsqmGnoz飷=qmF]1}M<>[R"IKH`՟:r6Ԁ6T~68rr Fq@8fLW1dt,tߺHV]1aR̖c<~7kW2 rYR>Mҥ,r<؛#2]1ežYRTzեc99`YmMQ0}~+mfزߘE0qs؛a2ſcO <߰iR߈I>A6M,T6+M`6b@ "AT686b`-Κ2ʀd!^if!B20 [{wt#^瞺eW/wLYqoT`} K1 r*s#v25ܺo$:Ht|k1C+붳>渄y}cm< ծ̪ز߱~as# :fMۋ~Ɵgy`?cZ"}m߈XlV!lMEM lql<[A4eT+֭,f3PDobn򎙄23k+ܣ+o:f7L:HutoT/ɨrM{@M5M{$sƖtn~gYQ>k8kn`Xس\^s7s3m]4WZYs"Ł'r%&3Ngvغn[g¦*`Xcy٭K* !^if!Eg̭:f/s1ByME­vvg.ūV;k4Mۋ~T1U,o1s*!Vb+sA7yGL:eMۋ~ƙ8ՖTtݘkT\ſa~߱Aqo{$ ;5ʁI:VbB -:f/sʬ]&+Na)&(GLtl=9gDl0wX<]1tû>wtӼHtwL|n/Y]1R͛bɆ{i[{vsw;8qn9&ï'tˋH8L|n/˦>7{ʗč7L7{ʗUŎ$?L;)/s\ob:h4+֭,Mr郻Gg<*j,Atڸxvvh&j砺m9X8V}s{Ru-ܗ`y:*=GQ1sXj+֭ںm[qf*gifItڷyUjogj+֭,5sϹO^01 $)%2Y#aHaGc1>7'`܎:m]3Y'3ob:h4+W=t[gjM+K4vsXl<\>3_@sȗ9.ijW{sȗ9.ijŠ-+"\3[Kq{"ijrhQy ,A`76 6&j]{3w˯fn.-a R񒈖`6-nyY%yX`6-nyY%yXamZ%K?,qh>sȗ9.ij#ob}畑.r]g-%f cob}畑.r]g-%f ob}畑.r]g-%f ob}畑.r]g-%fqh>sȗ9.ijh>sȗ9.ij1h>sȗ9.ijob}畑.r]g-%f FŠ-+"\3[KFŠ-+"\3[K}{sȗ9.IJH#ob}畑.r]g-%d#ob}畑.r]g-%07zus@6Q +TAjo@! 5:G!?ఇs[- /H,"7(D&(Y'TQ2q( %a"S4Bd1RE"PBpN yLH"PV T Ŭb U H& &D% R(4PR"rS1#ɍC 0Hi Tʄ&}*^Y1Jc$,"S@" IDR=2<_~_)LR./p8QC ԥU2RT|?UhaJX`Uh)p\6 5*`5C% B/J A"B/J A"B/J A"B/J A"B/J A"A Ha u*`5T*aNtc'2|F!̟Hy2s'oRLԇ'2|F!̟Hy2s'oRLԇ'2|F!̟Hy2s'oRBLkXZ* PUORF_*JP!d!, @*zfie: THElC34s38Sf)TG*@U2S0Nj)@VK~' "M 4͕0ɚxYT4&JŚ2;PTV̌f*) *`}**s6Rd<,4P:`|DBHffS'x0d^4 3fSx`d;0)RHVR2El* ťlBH30eL'R@N,0̋4*`IRUR& _' "^NhLʨi 0ʥ<^TK2/JJUe*)TT/JBQ[/'4L&ifP\*hzم;&i߁PH#eNfgвM%/h% }(KAruBCEJD"$ȄCֵD_̿Z;ZֿZԃZ?ZεkZѾD"ֵ3"LD;k_4EMOk_kZֵkZֵg~kZֵ֤֤֤֤֤֤֤֤:ֵk"OFwZ־\ψ2!eZԃZֿZԃZ?ZZֵ< B!kZs>"$ȄCֵZֿ/GkZֵkZֵkZֵAozw̵/(S? \)q^4qPR*7qPR*N* E_ReDޥ"(4C.  Ru)a4P!T*L1SL)?cC/LL  /̨f!N14)T&#DХP_̍BBh 24M U 54)T&#DХP_̍BBh 24M U 54)T&#DХP_̍BBh y: *h?IKH`T*aNʆ_Hg'ҪT䴆Pi EPJf04hCJY )|3O &0?Ҧ)RBp?Hfh7'R 2R SԾK y:dLR) `)H ?!B Ɖ D !N)~}#&?A \I@jĆLď DX#43T/JHSJeA¦j)I t&4D Pa)U3 tNf0d+d?(lԩNl3Pi *S fie0R_JN1dQdh@jVʘNUB 2S">QJJ1C&FJ4lҦUL%E*b?/M@ʅ))_L`fIC*) 0d-J:@G33O )2/JJU!f!S14Q)`R:BJ_#P'̉DaC*$'T$4THʄLs!"NYL\cEP "ꂑ(Y$}<ā8N$DAX(+kR kR kR kR kR kR kR kR kZ>ֵk_x7ȄCֵ|DIuk房2)ֵ v^VֵkZֵ'|D;k_.gDwZ־h"Zֿ/GkZֵkZֵkZֵUH5H5H5H5H5H5H5H5kukZD!|dB!kZO^Vֵ>ֵk_x7ȄCֵ|DIuk?#_ֵkZֵkZֵUk?`\Rfie: ٣*A "YUWeh8)TVYC34DlѕI zu,H+2* .'H` ?A D!BD!JJ>)̒*JD fEJJfɒ %}K ,&,Ju,)|UP<,٣02K0e'2}LiYU O'2/N$`e):*B9JB0') YNdɞNd Hy3̟N0d^K&IS1zu&T*s2?* Ba(dJ#*$'T$4THʄLs!#ɞNdG'3E&4U P.N)  BM+"Q C"P>V%2K/jAjAjAjAjAjAjAjAk_:ֵk"OFwZ־\ψ2!|E7?/ֵֵ֤ *ֵֵ}3kZ־"$4ouk"ZdS?Z?kZֵkZֵk__Zֿj~AεkZѾD"ֵ3"LD;k_ֵ ֵֵ *ֵֵ:ֵk"OFwZ־\ψ2!ֵQZֵkZֵkZֿjg~,CXQa,# aEcXF at "رXQEe"0^"6a"2XG ,1uG'-PP]YBoYChYֿe!& ?d1`, %uK,G谔 ee/¿ƿ1z"H R?"D~?Id#_AaG̃ҩ#_ꓼADhJ]/&NDLL;G`#_ThjhJh #_@g/z)LzQ/UA cTœ7/PxODK/PhP)"#_JX`#_)Jg#_抓A(GB%GBK*hBhT`gD/)RODM/P8aJ hGBT*#_LT/ @gGBD?/DN3_?s38d?G /h/S !/ ?hg#CE0貂9.Eț΢a.BΓyYț΢_&󨰄Y,!wyXB&2yXA, "o:,"o:%yY*oMQd"o:%W,i,o,4DuJ9DuJ"o:%ț΢CMQd&Pm, DuDu7Eț΢Pk,%ț΢Po,%?MQa(8DuMQa(},%?7EyXJ?7EMQa(,%"o: Hț΢?MQe7EDuPI,MQeț΢?ț΢DuPQ,yYBMQe7Eț΢',M,MQe7EyYA&󨲃o:("o:(w΢DuQ&󨲁duP8*&󨲀yYB²o:(&&󨲀yY@u,u yY@/!&󨲀a,;7E:MQeɼ,yY@6&󨲀oɼ,2o:(ț΢7E߁ro:(?&&󨲀w&󨲀y,}HMQeDuP?Ro:( ~I,$uR{!7E΢P~#&󨲒OD΢X ,yYHyYK?uRQ yYIWo:)CLMQe(Q7EMQe3΢D߁o:)k2o:)G&󨲗?'&󨲒DuR_)7E~uR+duR,'&󨲗yYKduRcuR:MQe*?7E&󨲓_‚o:)W&󨲛7E?Ro:)7΢F$uSI,oo:)~uR"o:)[,s,8 yYHu,u&󨲐_7*R$P2QqXR"d"d!"D SDE钋TbF%(L}P) T ?J.y1`R#H?ƀ\ɟJ0HL)p'DHt^F"C( Ad@ddcA uP@1T*S%UH^EP&|TNAp0C #PCHaSBgC(D/S})LhRH;DTL; @# ҙC:AY"EJf#HD&*`Lh3N 1 C l0@J1rb֝afb&./usr/es/sbin/cluster/glvm/utils/clfindgmvgfigu@@3( 8a @AH`cde ,0DK_hiloprst| !(/1LNPTbmnux%').249:EIMRX\fg}$3567<=CGOkvy "#&;?BFJQSUV]w~ *->WY[jqzZ{+^ʳ`$@&  vǀN_ ΁b,1D[,(,w;o[lO XQ*,(H> KrՋ?`X+{΁g'Pį/`90^N#8 LW1Bd聸?pՁvMrh~kn^UgmݡW !7 = ?hBvLK ۻK>@۟*Uhow>tox=JjeqRS[`>hKQMwj1~V7' X*Y[wjtYdq}q&g-e}5}q&g-eHYdq}q&g-e}1pg\@ɵb jBCX k62,g{bژ Nv q5{bBj=I-tts6 54>u~t&N 3],{8ǴгZ!'|}툷teM ܍w>#F0&2cxE!\xPhr] *Vz!hЯA90р}K+4Bς;!/2y/M_m&+\isCn^G0р\" !:uIZف[9:eSڜye>BwhʛY]T@h }ۨR{@{f,v.2wj`Ƀӏ,#ƞx 5207l{8 ` B @*,%&T0l,]` M@'# 4lL){ )le(r3(VqLv0 p&[whVi0x53|gXν8.,ֶV xmB+0T0ض2&^Z6aH^{P+~űԮC] r<:]`'8ڃwl!g} yW/-i4Krb ;&6fD+]4^IHZLJop[ˁcfB)hfɴfFqPF*hJmΛbS1ց _t`6boeTt=%>Bk71qC6M>28UnSp{ mݩd*d͓c#z*rU{۶tCRR˃AU%1돝6ܬЖrpa0{ 7 j\@ɳK8R2g|mށ= 4 J]z|%Ɔl^ݖ76߭cL+lU{۷8/jUq,J:l88ޣG!2)2XϚ<`!NLDݩnL<Ùo*F ^ _Bj}"CC?gMN'_8<`A}[WF fnL43dl֦G9]@^ݖ7{/wjC"nIJPi돝6TpoQ֣uo|eTB;P/ j |Д~s[wjfYѽ,Ɵln!Ua)Gy`u ۻO P&\@53 O{vLR bu3G$⽈/{nAEV 8M2VldKQڄ*TB2GFT`+Q7v{.J 8R`)zbYM9|85qD0N|LV3愣f#ɧLa/+\e/lGnLrkS,{`:0GP!ai88ttG3]=_{ гZ&`!lf{$n81+ lGQ ֣#z*rU{v nM ݠO]crcC0NDs ILy=˨vPe3%aP͓c#z*rU{v[8vfۻV܎ĕm= CE%&,ݫAS\@ɱUo@91ZM돝6TpoQg BlA1LSShtoC to-t:7&gܓAfkwjwr1jrL'g8+W!2 fĠLyMa 5aKN7`YnMFLϻ&]r<"qX~urMwjZI$|Ƹ a'G;ؚ@ÏsslG87@vںhs{wjjt:1vju7ܰ\Mhpںn=[WCtqMJuQGG9*m:u'S p%돝6TV3愡6S Crto)e7:i)ؖJf:Wq3{LZI$Yn,m]n3og@ pn3uə$lMpz}2;эt8Geгɠ{d o^Gt:1΍ˡ,֮I5YdF77eгɢ}3s{8;,l4[87&%7pVx>gK,饜+37{Dt`2-\vLtcq3{`_n,h΁vLGt:}+.3aэtlot:0{[LWddUTmt ja.ķߕݫAS\@ɱUo@qÃ|Ж ZikMcoSnw&: ǰe7Wv{[qMKTmF|f+W돝6TV3愵2M,zXkPLϻ&#}&:ɧ@Nڲ}Lu` z m2\%Wlcɴr#^8P+WM9-GfA .{pe5ܘ=87XEn=筌`&%̎*rU{۶ \%jҗKuxMeWhja.KiK qà >| u pJ~V3愵;&=OWas!;&[R~8K43dޣ#^eջ{%ldoQNJovγiњKĭZR7AZRΛ*s+BZِXo܀Au8k:2Qt$dwL6&gݓA7%BϹ&o֯xtܝK$oKMg o3]߽@vBϻ&Gt{LnᱶGf6dO` ?Ӆͻ7=lfkm2^̎*rU{۶?< Z9|KRU+R\biS:lhJf&D>{-J堉UD9J@<&gݓ,7RI{레sq.yq.49DDplKAsq.xLϹ%ADt`DON1ӦJ-Bϻ&o֯lӦfqb9t 3=&o=tܸ3at飸3hgM>LϹ>LϹ&o=tܸ3at飸3hgM>LϹ>LÒh& Λpgə 9p 381g|x 3&gܓ M&gܓC:o\fkW$sSpgədMc:n\f}0tf}43&gܓΙIf}4ajoށ>Fkm2Q^1LpN)zx(jZC :lhKQܬc i=DM妎馸k}Uk^gMǼddYUny8 &:lhKQܬc i=DM妎~ 4tvok09it{[qMK^6@\F1AM9(7'{_cv >swxWnM`vtL<N)xs8&` ݩhxx >sM7W|yR _x!KC]g禿){ԴhKUA9io޺f3 -ݩihədb ŖԴܺnN :vxrLuÝef߭^t޸Mr^ot޸vkm5-4woo=gn\za]4sbZhG83_0?y20v]5c83_0qa޺o3ɑ]7"wjoz.>ɴw̎*rU{۶?P% )zbYM jaܴi:nN򗲡ܺaIQZc{7Bϻ&o֯xmtܚݩi >S~|7LN=ɯ^ʃ[wjZc{7BϻypdȦk-9^c:o3Ɉx?,y{?ӕ=laL^U{۷c%Iy|P-\|鱡-Gr&ظږM wj1L+*m?GќKRS%/S E.qƄXLZio %y[RQt3I.ݧ΄;Wq&oyDԴܺn!gݓ9{Rڸ= 9$5e An=vvX~oyq-pzqhnعwi~o9agIy -5MA3>줖{);wi~o%]2Q3|f`UnKM˦}3yJԦwjZp8I$5i{)v~ al&e7 Q-2˧ yGtyJ[q`\xtb0'#\6&6xNFlLprMǖX#\n9z+1 %1oN it޸dkmne,13>czo޺o\ye[q]7ԴߺoN it޸b5̶P]7ԴߺoL飜GtyJ[qwMC+ ݫ }=lfkm2^ʯovdSKRbؕN^2RdIrPsBZ%0ϓ3Z&MtvL3;,?7n3#y^Xs%FT.N5J2V*uA*uAX¯qƄ0icJk[7ZnKMLLϻ&Bϻ&5DdwMj}4bZh4,h&jt\z5Ya7{rږM,h.z yc.>ɴrݼ, ZbiSJ2V*r0:l88̬g j?L;<r+\\B@:x,\`:3IxDa$M4,h&niӴ,]jr7dѽtûA-4s:9s5ܝy$/Bϻ&o=ù.Fpp 4es5{b4 5 > &ނoz+m2^S#^uaFq-Jj%+R\:R:,KHaWcBP ih"11Mw&Ӧ-ï{2堈"1&gݓ#3ɠDWtgܓA7WˌDc:o$Zn]7ɠn=9x DX~oz&\}i*mαy!KR/jQ R.JjaNec>hKUFAZaܱo曐>9\h4}prb Դ]0qT~,h&iӴ,]jr7dyLJsJ!gݓA7;s<z\e?tx;Sq镤KYdMwL=P.:\0u8K:\0tz yc>ɴyL*rU{۶?0ĵ*uA*uAX­(ZJWM j;a-4ǨU)oܖ;vMPvL)jd,h&Ĵ4hY$Mz骸k}D~*oʀ廵-7.Yd]70\}ieWy?X"ĵ*e+к$%jK/jZC :l88ޣXϚvd#kvL{x&gܓ"8+W4\ۻF@.=4}X@ÏB{ܓAp{MtN]Kwi~XrS/==lc6.VdoQNJovΰ|g԰Ql?hKQܴKo{L+*mαxZL1%0YaNGJ|Ж%5ǗLxvLoe7{Mi<<,?:oN^ Ӧ=%@2A-4wM}ںhJhFv+}tLJ*?it˃гG\xy7Ya+;oK5-9nh́cV T&Y3^ŀIn@=}ۀYnM{޸gMKM˦}0uk1Њsq[wjoނ0qMK27%WgYcx@(%i *\|鱡-WƚZf3S;ȞBw)2f}2#:e$h&Gl gLXan3vM߭^pΙI3:'o"3RL(r<#3.&gDFtI§#Mtʉnɠ!*2RVԴ33v#:a38VyFgL+&g9o֯xlgL3ݓA7Wo,0vΘ3nG{fti3:'o"3 ING)1{)vԴ޺n+F#ar#W#OycL&%*mc4'bJL>aNG j=GQV3愠h?`G-c>!Jj|CSnnJAjuh|97'g{ t>d3*tܚǰT\CC3>4KN[3>%Bi.dw^{{@}Id33s5緱`?ЃBòdWB 9$`w7 *p!wC,dJ$@ڀ {٩pn=+wjo֯l nsrkϾ mݩh|fORk5aBJtK){_{v;wieF× ݨ_{ { 7W$]kap vwt>ə;&X1IQ$9ǷXv^dj|9{ e} }apڛ13왟rcV*>a$D6M~ ߇>O3q>ڛނoz>dd!u̍j=27%Wg?}BZC UˢW돝6TpoQ֣uc>hJ,gDMψ2 S[-m]s8pn=ڛM@X:nM~`@C"Zc{vL|>IP -Lϻ&Et> .RsHom%@KC|gܽ Հ%@$N&[P~|85>pn=]7W7CqMyEԴ>$̟}7̤jvf$sѽ{wieF׽ڀu> DZQu7W$]|;ةwjZnÒfsɾe&cVJY+M~,{ |ybU} }s v߭^ddP-ݩpzP ݩED렘I콈׆c)0+;wjri aX v+%@hT&q'tr鸅rukNLtx)@v5״@WnMO1ǏE-7.Y/,2|Ƭ#IP.Dsװin@{ Ǵ@ژohۻSa鏮By5EX+IQ%K"bk`|iR11{ s ptO87wjoe!=`x^Zn]7^RdX0t6M~*{[wj߇>X)dջ7wL{q@0itBϹya5a2J0t=M~+{ۻP^>qqwjc\"wjo=]1Y9&#bؖ7ZbĴ+>= >䚃"|Ƭ-IPh 'Lg{_wۻO3bUs ptO87{2|ƬZJ\&?IS簨Mn@{ٮ>؝wjHYoEf1PVݎw5` ?\}iʕdkQ鑽GG9*m2Ph:\|24%?ZiQ)=t!gݓMt\z5=7vq >s/`&ݩZuUq.ZjqtijIUyc.>ɴr#^'Ui돝64%V1KS]SzBϻ&0i=EЊݩitBϻ}Et\{KMEUq.Zj,Twt!gܓA7"}=lc6.VU{۷ +>tЖXޖX񌦻qc ٮƙ8vLpo1^DP-\|鱡-WƚZf2ǮkɈ1;Bwi3f}6^0_n\gΜk$wiqX2,a8!Z_7DLpؘT hr-n(Yd`=n\yLT|q-4wM}3gLMS,?tW"fFr<5a Jc$"M~H ۻP~|85,)^| )$v֮J<#dL"dǷMˏ+IQZh4,glN3ɍgݓ]tWlr 2ێ^EtZ6]2yd Z6؜ û)|հtTCtl;] \mkKL)3d3[+\xu2IP3GtѡgܼWL|YP?&gݓj错xt!gܓ Mz6"ѵz ѵFסgݓyLa+5ZQm?7Xw v<)Kr0g:9{2FٮWaw2*r1ct,dS0$p=wRLϻ&#rf}2+gclX~鼅7 cV&$a$dbkA@Ï`in]7y=hj>\}c#ZL>28Un"&?XPbhbΛw+oDJ-ݩit&gݓj;<씡yc.>ɴrݿc\P)W RM j;a-4ǨUtKMLLϹ&o֯|y릩 >zXz5. {l:vq 5h&jzicnYIapUq.Zj,6h=RHyc.>ɴrݽ?b:ؒ Q+Λy+]13>옦.ga2;0']1i*?L`Hqn=筍6.Unb0'ؗ:lhKQoKLatd{[ˏm2]«ݽ?Eq@\)aDKb:lhKU򱦖Mz3əd=\fekkNr+僘ǔ wXgL`0tpqSXϚS 43<] \ޛ;St&g:㻦pge=tѡgݓ4fw.<Y[K†ݩitBϻG1מۻS~{`\.vkjX\;qt$erGt޸@ M}*ٓ@ dPwL}2f[܏ l^)鐺pn=0anMRLϹ&o~{T~rhJ>g,g򚟖oܖ9i:esWMΚYP̿( Juc_o>W-KC h|c-qX~>7jtϙΙ[ LLY镽e?7X)&=I>\tg@*vˡf}1){wjo^cG:eo`[R]\!{vIJ2ύ:ۛ-k@$v3pz}k0nKCY\ge/d`ڛ>ɴO28Un OgM\|鱡-Gr%=eBM˃гZ&r\zg4rLp{ކ83rpzkW$o֯yddYUn8] VjEw-4y-ܺn\7.ze̷&Etܸ3y5rpgr,֮IP{L+*mcXZ*)SPgaNGJ|Ж̃Zf2Ǯ׹M7cr^Pniq2ǔ;Sp9yz JcBj Z1kT~~|8,֮ItKM˧hY#ߺnN ܺn\9;c1y%GY\A7WCf7%@%frM߭^tpVӷӴ,.=-7.NeuIP1(Y\A7Wmtn=JhY\A7W5ӹZNgݎitf:$Z&o֯zc1Db&Bj ZSycL&%27%WgOzq@\)AbΛ|ic,zM{M6{]7Hz9eɮ\/j鸅rL}_tlˠl\}ٮ6B&L̜<39 h&ĴܸcnN apǍ+~plK3ccg5̷y5\q2]7IIZn!gݓ n>Ï0Ï0ɴwʯov|gԪ돝64%V1K=eCM˃гZ&Stܸ3u`xݤ,dWM˃7MM˃гZ%CɿZ0\}ieWy?4TIVJQA_M k,f23KzK!"ٮӅpFgiz9~飜z飜Gtљb;73uKor+PΙI380rM&gݓA7Wo}=lf+m2]QUnu:` ((%K1[M j;a-4}'nږMf}4{ǣ,.h\{t\{ z m2\oar ,X[aNG j=( 4yc`$MZci9it`#Ie1cf}29qwjo֯b.HIQKM3>Ƭ{*vjx"\.ISRkW$sDڛ,]ӆ,;&u ÝLN ǰؖd xl:Y ph#c3d1w0WN 8d- Lt3ɇ\ ѤkW$s#{!ؖdL >|)*ZkW$sLB-ݩ-2^p-g: ;.ɟ{dFdo.7} ]@Ï\{d[l9ty87Eؖe~ᱷٯ Y7ᰃlp"16n 8dG8L%8c)1y0ט {ޚ4",֮Ijmݩ-2ɿ-2uN i.7J7kZ0;0; 9}퀏t4hږ =Դn7~fǭIQ ubӷSnYcshݫ 5k`Ofyli*[wjcV{>~>*w@P*c4s$!frLG1/g˭ݩ-2i*By6ZdϽ]3\d]7>sQ"3Iw;~y%@frLG1 ݩ-2i7>g\ M%BQCWt߸l=|6 .>dBPHf龒u,Bϻ&E7Yhvc hwt`;{Ͻ筆LᑭGFTm SQhKQܴKS]UP9=t!g܏FgMEǦ3z[q4M3)jk-5WM4ؖk >uf%ʯorXv,Z\|鱡-Gr%Xꮚ5N_-7dWMTѽ;Ǩ] \]5RFjG4.=EDԴܺn!frM߭^7MUǸ2ijP}tѽ0\}ieW{,sP/\|24%# 4J -0ﻦgݓ[q?tǼ|Mn!gܼ.a퀖|Un!gܼ)}Ll7Wwq0iLCg3ITw<8a&zۻRGtѡfrM߭^JvkSzJpZn]4olkwjq[ݓA7Wq=laqMKC#^tG+*JIFIE愵M3zp-7.fvM˦s-I]7. Mtܜitܸ= 5T!=%ʯorVzJҭR9uq돝6TpoQ֣XϚyKLo2r΃ wjZh4,޽=t_a8 ۻHY/QtBϹ&o֯z י/l]=}'~cN Ƕtܜ V@_n=+S>4ˏm2]#ZL>28Un,1A\P)W U ` IErfrh>sˈ6* DZQ+S&7ݫAS\@ɱUo@99ewj}2lUg/#Ls+Vsˈ6*&ՠ). dت7_G;ݫAS\@ɱUo@91ܮZM=Ԕ3 Xj4NɴvL>'d0.3 3Bm $Qh&+hh&;%B@Lh&+ ]h)JJod3 lfa r`]&` V . +LV XLrLR g  44BVB6s:g\ƂbJcT" ᠘5vJ{CA3᠘5vJ101l6X8IQUso -W&ewj}2lUg/#LJՠ). dت7_Gy+Vsˈ6*&wj}2lUg/#L$Jՠ). dت7_G}+Vsˈ6*#Rh>sˈ6*# Jՠ). dت7_Gՠ). dت7_G7+Vsˈ6*#tZMq9]ڴe9 Y 㑂]ڴe9 Y 㑁ZMqh>sˈ6*#ՠ). dت7_G&ݫAS\@ɱUo@qÃ|Ж MtNvɠ }2ǼitBJF7 ""]Otܜr鸅ۨG Ft=-ݩihг^Ƹ%Ge0MJͻ?fix[S񅖰і k/vLt M3~ٮ:"2 =`؈Vyc.>ɴr#^f@3S rT©]ڴe9 Y 㑃]ڴe9 Y 㑅һh>sˈ6*>tpqSPDc??`ЖceĄnX?OϹ&ԡ?j&K*gMܝ7nXwjƹ#[P`mݩǘ̗T43d%Wri̎5%J{ʯovcyxL%VĬ9}{bwj}2lUg/#Fһh>sˈ6*#rh>sˈ6*>tpqSGÃZL%~' ,4%iՃ* :Y;#J ?]ǟ0 v\hJ~o'IPrp2A %M@P? [O7~k%Gژ=6_<{` -ݩ~T~7n$=7gJevNS#} #ɢ{`ۻC'ǎfK43d֣#z*rU{s>[HYdێ+^wjoq cC6Mj=27%W7#L+ldkQ鑽GG9*Cb8IQۻHY$x{Tc78r&+[C9%\IZ6؟O{UTq o9=C6MVX2Ż-7 >q$ -ݤ,VTme4LaVVgaN_|g j>qJkMM,S1C5IQ,vMdހA5l+7zi 628U=4wƆlTmaV_%qaN_|מV3愵Mcܜ{*EHYݓ_+rkotIP:?}3JBt|o7T NBt|o]7T d]7T mɑ0.V43d%W78r&G9*m`1ZPZuaNG j=GQ %>BZ{lܓj~XIP3;wi >9ln!?d#vCw Ǥ9{!~`<옅d"wi ?0svL" { ۻHY-`u>{B{<p?jYfp #Y|֥cG`ȗAVhT`ZvM0'MۨoGdC6MJ2D#(!zdoQNJnoqK43dڄ*TB2G+P7cK[HYdy`=IZ } pRǣ{>mݤ,V[JԦ'oZ=r$ H~yRɯ:m=J8B {TS8vk=+;D:ڰ@0Yd J ,z4 gݐ~XhT~@ } pRǣ{>6}E}p3:Աϗ[HYdhT~'oZ=}J* V" ]~ }%Bk۶+p1ZU%1 VaN_|ݩ+BZL9XIQ~cce)*ڰ~C>Yd_e)*b~cknJJhBu;&1e)*]n!g:fɹtlrqg(wi ?7#=4wƆlTdC6M*rU{۶1ZPZZr`ĿqÃ:4%ZoKIP4!gI1nN=ɯcJYdo$ -ݤ,GO;&StIP0;wi ?`1ɢoM{rJ~o;&GxdX͓c#^%ƆlTm@c Zd:l88㯕-GrF7vg+%D3 wjcgݓEtѤ~o;&GxdX͓c#^%ƆlTm aV0QE_>tpqSGύ}/|7~M+BZ,Ð{_%@ʈYda7$@vB7ϻ&! zJdin!gBϻ& }zaE5|D40!B7vLs5Ќo&T$}4 :B7vLTWn!gKbIP ۻHY옎8K43dޣ#^ޙ.͓c#z*rU{i*X{_%G >I*??l4ٌ*҆ (`DEM9|2װJ|Ж$>ò0s,%ۻHYd`!L7@ |IP1Yd` zJ$vT%V~3y0c]c7v  p*=,|E*ݷvs 0 =TzYnɏ=%BYo.ɇ[HY3a TBwi ?dp0C0%Lx{||+wi ?ɍTBwi ?0.ɨǹ^ƒ!g)vLTB~avLS*! -ݤ,vLGxdX͓c#z*rU{sL+ldoQNJm%C{*hKvPvΝ^@c ,Y#WvNyq&Vy8`w+Vsˈ6*#ZMqBݫAS\@ɱUo@9h>sˈ6*>tpqSGˆ52iX krJ19;W63_(%@.-ݩ~YIP/ 8%@.ݤ,8k&hOn!gMǸ+v˓Pd.MO|qs%hfɱGG9*\wip&$B {TCDwC`>8yFlRu̍j=27%WkIP -ݤ,5d%g܎侒 ض4hYǣSa#>':Ԭhu"v=%j0@ڟq㙒 6J.5kxdC6M=+Qɨq㙒 6{Q<IZS\efF328%^ϙGّ6fdqK)*25F߭L1y_SU{۶" B \gԪ[aNG j=2ˁ" ec??Tn;#7U% ]s_:o?BTAwjt߰=5* U:o=IQ mݤ,s’f?~tޜ{ɔwjBϡvLS7: 4~9/(͓c#ZL>28U8yFlJI+Prj' I7S#\ldocy{ʯn̍qfdqK)*27̎1߭fKݶNC50%B%E,:l88̬g j;2M4eM;IP,vBϹz ZwG;wi > }4~{[]5ɽatsq%B(5vsjJp-vy{Ͻ筌`&%̎*rU{۶  (*0c$"qÃ|Д&2;鉙$3}TnJ5XLLϹ&o֯xH֚o쵁w:d{1턕0inKM˦}ty%@*k&65紕F}y%@ wjƺdGnKC5\gK@<&g'vM C6&N0<֚tavoDoz:qMJu#^O!&*r:l88̬g j;2nǸX-ݩihгIe5ܘrpn$@{_1Ppn$A}1L+28Un),JaNec>hJeLSSntoeɾ-&C餰ܙvM%@dږF7C,֮I7pVl7t:fږM,֮IIQIdȮF)*ڛ8+W$ fģ_7gP$Dn\ges 8:Y3]Mv~Zh4hY\BYt:1&gݓ"D7pV{M3>옎u,WC\gM%*P!vF$b;ъJ vF)*v7tqMJuQNJov<AzKq-qà >-Wec,zM{M;Zk5ajdo%B00v>qKM]qk5kV4 Gt*@Ï]$jZh돻7Ѯ9`}t`Mؖ71M8 Z箚,.Ma뇬Tl(i%B3vq 5h&jzicnYIapUq.Zj,6h=RHyc.>ɴrݽ?b:ؒ Q+Λy+]13>옦.ga2;0']1i*?L`7vLpoaaNblK64%V70c ۻOycyqMKU{۷6(,1(l_M jV41=toMˏK箛Y$`=tn\y2Lmp}Ǯ\{tBϹ&}>f6d6.>Xu˦cfN]`𙜅4bZn\y7 İzǕ?86%1[ܼ鍮˙orY$ϤS]7Ʌ7wLma]]1x鮸񵍽s-I7wLma]]1|7Lqǘy%@ڸasf7}~{yapq >Lmp{}=liddWy? >3jU Λw+Ziik;IPn?b@4yc.>ɴrݽ?{訵)|@Br\|24%Ai3;lБM7qv6pHəιzgp8=ph: \64UnKM˦}9Y RT! -ݩZYqrǖ\.vkjX\vZh8yt@xt_Mf[܏ l^zc87T!wjo֯x}7$M}7=eHRe(Yd. 3q\pAl(i%@"-vq >yƸz߭^n[qrnjnN 참y}7b&%Tm )KX8qÃ|Жeg,xS^YMK,ޛ-2˦hrL"=箜Y#˦f4Zn]7^7QdW&q]tt4hY\"YtBFW-9nqv6p[ܓ ntʅv1}tɢ}U87T=[WLޖz] [zWdd#^y:r R\|24%# Tt9iLCyt9NԴǗLC3əܓ"cf}6_1N'J8,vjķ<98T 'n?B{ܼ%KL=0zfpy3>{t38<1PI^a}5!L<{*@BϹx]t-%BۻHY/ l_fy1N1*fڛ;o~oۦ! iwLC3ə$;Ms0v^=IP~ږ; 5h&jtUǣ\BT @NZn]4i*utܸ s-ɠނ0&%!NJove:#ȕpY@$$"Λw+Zi[)itܸ= 5o]7. ǦIP'BϹ&Etܸ=Ctܜitܸ= 5Ty7Wz m2\oaZQ+JJPҊ ":lhKQܬc iiy:JږMf}2+{M{[qMK^1fdDIFq-/t_cBZ4e]7ZhMqLϻ&3/\S\s\ؔ,nj..e2+{ɮ?-7.frJ'zdYUn^TIVJ8Λ*r87V3愵^d=5S|m)f ܗ\y3wc,.f3aJJt,֮I %G[@ÏIPY\A7WӹNгGtܜitܸ*s-4wLc%Bh 5h&jwLѤM4,֮In Zvvr=Erpgr̴3)*rY\A7Wmtn=JfrM߭^Nk-;vv:1D 5h&jf3b9N4~{ȦƙqMKdoQNJovΟc JRi돝64%V1K=eCM˃гZ&Stܸ3u *.BϹ&Etܸ=Ctܜitܸ= 5T<}=lc6.VU{۷cL UDjE>tЖc-39cL7ܘsT 5h&jZh38<ݓA7W%G86%飖y릌IP%}2kplKMFgrJML۲h&j7鼸ɲG86%=tMFg3Ɉב.eϽtљ]j3əf7M384yMqŞplJk,|70BD+] 5,9)s0G86%G86%3ədwLopgȗ2Vq2fp`WMLϻ&o֯yzWddݼt.A\P)W QKRbBZ妚XQ-4wMˏT/#hf}3y3=5.L.bZn]4sbZhs-^GtљgVq2 Z.krcjt frwd۸k7uЉrplKM˦Ǫ\{h&jqroD{L+*mc p8\J$W T Λw+ZiI*9u-7.h&%G7X\=t%馸%MǼddYUnXL /qà >{+BP5Td=c<5<;=-12}%BPu-8n I$5<1IPu7W=Bϻz+zit&gܓ#ۻS~{= xw:j&4]-(-2i]1’,֮I5<6IPkwjoKLZewNг-|3tSJ< [SbZe+o3ɚ]7>}u~98.F g(xcmF `#&@ qӄ[qӆ0˜g y Ǹ IP3 Y\jxrbڛ,[z镡gܐt7 JT,֮IMin7Cˮ!g:\dϽ IP|-ݨz[ݓ&}a~cE*cvĴ.r7>}u~98.F g(xcmF `#&@ qӄ[qӆ0˜g y Ǹ IP2D,֮Ijxڛ,+{`1ؖpg妚pgT @<g,g򚟖oܖ9)鑲p:\ 逼(uc_kv逻׽L>W-KC h|cqX~>7jtRTc锤tttRThdsRD mݧǽq$N Yi*CKwjZ++&gܓ7T7pVxy1#2 v~BD[R|`Y\gmIP"kwjZ)))*IݫCr7C3%@/vIJ2,?tIP!wjoz>b&%>%Wl2&aw>tpqSXϚ|d=32SR%7!G) >S-CZCd!t飚J C2'Cf%3IP4.Mf}29Y*ڛхpTIs 9줨\29YRTͻ7W^Bϻ&E1GƸy-]KCwЅ07RB:aЁ/vгI8ϯIP"v}4SbZ+:'BTCwjt jZ fCwBwCQ !Gt>7gĴ>Sq}aajIPgy0]@B<%@o>035>1gi*W;U̶h&5`Z3SsTv՚Lu:Z(v30}[3};5frLcVB*J$vjS19*;On]7&n}$"BjƬ)*ۻS~{*1t>R{[$ˏm2R̎*rU{۶dR%Y|)T'XΛ|ic,z1k-;{1rVlM.2X=fAz鍳Ǯ򙍶%)cm%p]$j3IUM-7,q6'&gܒ31@rMƬ-].qT&}Ёu=ɯ=kf1> /vˠ,m\d3TvtP8D"Fr~{Dqq%@&h"r"q >wA4wjo֯}H堉렉댁u n"+JÄ,֮IHTwjo֯z;@fV*,֮IHT -ݩZ]HT)n=筂ˏm2R̎*rU{۶?LAHD\C%q,LdDK?\|24%Qِ~ZM,gJjyTpxyDܛ-4v53IIP .3IZUt<I*jYnxq$Fx`&% Y=-*\auk5<3\ņ3]ĕ9Y\i%B(o^Yӏzki*0!gܓi%B),Z;jym1{*M^LYNJov %S p%TZqƄJnje5ߔ߆.z3:j.=12ێIiMU8+YiiĴ]5HYc{7>.VU{ۗ밡be&WM j;a-4ǨUtYwBit&gܓ"j7=BH妪骖7Tr<馸Aq,T--7.Y\A7W Uq.Zj,]4oyddYUn\T'/:lhKQܬc i=DwIPږ; 5h&ji=hKQِ~ZiQ)Bϻx]t\OX2MEfbVlL']RJ4QqM0&)ǨjVB&MCz m2\%Wl2 XY|JթW>tpqSGÃZec>hJ?p?`{-H-12}%@L0TLct$ds1ISQ7Wۣ!%@.|rLcV$,vjx!M\.IP- Y\jԕ5vؖd7ga46[f: Ùnڛ,]~ᱷٯ Y7ᰃlp"16n 8dG8L%8c)1y0ט {ޚ4bkW$si*[SbZe+{]2,2n>@ 5b9XAnMi]8nгvL}t`vdϽDdo.7}%Cv>qovLu 9uӃq%G@QnMi]7>}u~98.F g(xcmF `#&@ qӄ[qӆ0˜g y Ǹ IS829XۻSbZebZeogQ]1ؖpm$ ]4ссM&gal; IPOnKMUӆȒTu-3 qRT%rQfَӴuf鎲4IP[WMBkW$Yn潍%@jrWn]7>spT 0Ti3yٯI*@ 5b9X9 ؖdt!gֵk_x3ֵJE Gk?ֵ֣֣حk_/k_`>ֵk_x3ֵJE Gk?!WkZֵkZֵkZ~kZ~gY[50 [ga7Ū֩N]CP%L -!@RVغ"*VB(:TN([)VؐPnXNC\3h0_B艄к"a"1 KNHL ӭZz  ,!ċq"HE0%Zf+WH͉ bkT.a.KiKԥ:f+VJXS EہBXJ\f'hT'( ( tBtASeXW6La`J&  XqHT,'PBr+a< ĭZR1<[MH '-Aű+BXP,J-(P('(lbHVP*ja.EJ[+VDE8)-R^'!qxf^JŢrPqɄK|KjԘ-[Wr6JŢr%KZ+ "Vڅ+} b^([Zq)[k"VD (^^kc$JRڸV-PJԪ` Z-J؛Lb9)//ԗKj.R&)Xq E E,JՉB6 r9CePVNRN*lVR+ iu,1TSL( XqHT,'PBrњKja.Kbx*N[bV5"XXZP)lRN( (D+ ±O(N'$>$Q$Q-+g- ?wŴ[ U[E~/"Q |U[ ȔEBZYX#0.Tؑfh:F FIE0Z2N-QђujT`dDZ$"-'Qh:F FIEjUC]ZjTCTX0x1 KEIt"x().O%ЉP<[ B'BDQo(R] - KEIt"x().OjSP^łxd/QRXO%j'E -(ؑ`(^^kjUD^0q-!ċmB+[Iy|P-mjbE>$X+l]ŔuRV3$$>,!x̽H1/m\P)W kCUQ6$0R\\`^ -NR k" Fc$"!X/B[jJ[Z*S a{bE>,!x(^^kj)0WMH$X ?^+l2u*mB+[ĵV(X/7xhZֶQZzZKj BC^+l^, !z4ZR, ԭlg1ZڸRHVؑa0Đ[bx2ۂ6KtXL "a3c*'Q"r!,$XL&q$ Vذ^/ R`ԭn%hZ:ѵ` Z'! ᐼV K_ j3j:ZI{i6^kk *RlP,!X/B[pPJ)3ldDM/mjhWr6^;q+VX^$XC`"a0 !łxd/(mjp*ӭLʉE'm\KL bHD>B$X+lHLHA`^ mD-ZŴZ6TP'')0WMVؑaB$X+lHLHA`^ mD-ZKеBup)//ԗKeaH$X , KkjZ`([B'!`J&( (mW9j u I'-D KQRXO'-Aű+Bja@ !l*D(u(XP͔rChb"?ccZZZZZZZZZkZֵ|JEx +Zʛ)@%V"e.j?kZkQVֵֵkZ@%V7R,Jֵk_x3ֵJE Gk?ֵ֣֣حk_/k_`>ֵk_x3ֵJE Gk?!WkZֵkZֵkZ~kZ~ o!2Ia.((K$" ᐿVGx2,!UQGJ*C"Q | CAif`-ZPb:سPlP/2bkT4Pk -J9|_8P/ ?P-R5BDcq( SQ T#ˌ-NDF?(ZR.0P:\`juJ"1BDcq( SQ)T'QXL /-VJr()|@Nbl^jUU/z*b+V[a{bHHr+[0U 2N(P%<1 iĔd2_ R,/q@\)Ab'Q T(N^ZեM!ZUqRֆJJPҊ "hj$TN]A_*K J"[8¶"Xbrk X#Q`"/*JL:q@\)Fq-J_\P)W U i Qu*JIFIE,VJĐ ^eTN]A_WB(Z(iE~.b m:֩Rڅ%6Đ# +V[iN^kk8aB+[\T[kSD)*Vċr SQq@\-Z*6cea"11se T#[c$"n&[NB0`EE6Z<164Mеb bmUmjRuк"yzSf:,Bart9zVJĐL( ([Xr+ +'N[* `P`lJжZ`XP-С@T* 8PNP6P) EaPWֵֵֵֵֵֵֵֵֵֵkZ@%V7R,J(E&k_P F/` JiX/ ?hY*CH,wZTJPe iX0"A2Pbo)3oJ$JV, =dJ"oh`-,R^_ pXXV-* p2F. E``H,ax 2** cŪ֩QXŠ_R"ҤOx0 P1ĵ,[NCF)`\,ķUR?%Љ߁D KEB'~).O R] -@<[(It"x(QDQo%Љ߁D KEEEBZx0J% EN)IJZC BX߁BQKRU(KHaJ9tJpd ʼnK` i )V._iE ؒS%j'ĵ)zbKHaVP\ECHN] JEdRR0) !r?%@(auL ERU8ZbT*%Z%zj¢$/S K1KRXh./ʔn"&4͗D\XjCE]i7rZB()zb/t^$X+m\TR$$?EH[Z* BC$X+lN&VJĐ$X+lN&VJĐO P`lJQR gԩZ­(ZJW8XZTꒌ.J%i *ĵ, -ZT%)FJԗ% wUD"[. `lI eؖ qKR/jZC %jKRi} q-J%FT.N5J2V*ŪҧUZ2K]Q%Sĵ-!^3jQ R.JPh)JPh%0KRT RTi *Ҍ.Jjx%V-V:%jKT RTi *HVaB+[R"0q-ld[k"V'&F)`\,E ZڕQF)3kc%*Y<6/ ^,JX- >3jTAJT@-!ZQ%V-V:a3c*'Q-/n Fq-KHaV1N3q+V[p)&Đ`…VHanN]֩n).0$-&QD)Vrq6dYuR^C$X+l0yzHitmjr蕶2V@d#(D KR3ld[eUreZIyQ1@T@mW9j u I'-D KQRIx-N[bV+€l)Q6PNP [( ehPQGGGGGGGGk5kZ־%"&=`tl$XmCXH:!"H:L%S[Ū֩N]CPjx łxd/-/ (<-&]bEr&f a K[Itbؕbؕ!l-[ BR5@XUkh  ´M (R(Br8VpBԉa:\K PfӭԀPBr,[- ĪAB*u*j@\-72rrA@VQ? (RN(m'Iu I'-fbV\' ir:(0X%h[ R%U ¢tA[eXT)BV[ķť`,g.*EġI,R,RL*rSBppi@+ ¶XqHT,'PBrњKja.J:<[MH '-Aű+BXP,J-!l, RʂACs'(('(  bHYZZZZZZZZZֿZֵkR/yyZ־T߉H(|C+wkQkZkZbgƵkZĤ^(|dQkZ/W?!WkZֵkZֵkZ~kZ~kQkQkQkQkQkQkQkQkZֵkZ@%V7R,JEw`z,Xc> ^t1J)h DO߸~C?ҥJ2NG ?c%jc VEC)0q-p??:pEc)W(S\Q?XYzc#XZ!*/cdZr/! Tc -ĵg%Ū֩0Q?j+p?Jp?-p?*VhcN/X^Zr/p?ҥő+[DBTEC/WŪ_g՟?/cbq}CVJcTcbp*p?-VHgYECi*ҨR^3ck?c Zb)Y?JcdKCBC?[?p?C?Sf2!!`Cc%c*XD?ĭ_"`OcIw//S pZ? $gC?!`  g8gL%+V^~pt"EACJӗ?7C΅/V-,1YRXQ/yXPiuߝ$IQgIQd${u@`΢$9'EyX1O:`΢'Ey[d߰IQmO:my[b$L6O:$Liu o$L'E`{u $L'E`u /yX& IQ`AO:yX_$1yXsu& `΢WyY@uP!'E`΢߰IQe?IQb <,P{ <,P <,P <,PEu(k <,PGu('EO:?IQbo$B/$@ <,Q?$@]u(s <,P <,PyX <,PWu(,O: ?`΢$CIQb߰IQbIQb_IQbIQb$B$E'E߰IQb?$@ <,RyXyX$IOyXyX>$PIQbIQb ΢B'Eu*yX΢'EyX'EyX]'Eǿ`΢ł$cIQ`yu WyXbEu <,1 <,13O: GIQa=O: B'E! <,1u_$$yXb~'E!+΢ <,1yXb>O:{$󨷏~'E΢"O:x΢'Ey[߰IQoO <-ਓ΢,$󨷟O:zY'Ei'E <-_IQo-O:x΢]u'E6΢3O:xouy[ƟIQo`΢ Ğu$󨷃O:x;'E <-y[΢߀y'E~HIQo?"$󨷃$󨷂I'E"O:x"~΢O:x# <-Du}O:xAduJJIQo_u y[ 'E>O:x <,[$$iu-?΢Ũ?΢Ť_'EZyXFIQbu-oI<,Z <,ZM΢Ũ#$j/'EE?yXrO:ߊ<,Z΢ŨĞu-{΢ť?IQbҿI<,ZY\IQbч΢ţ8΢ů <,[ IQb߂O:΢Ū:IQbտ ΢Ŧ?IQb߰IQbO:yX:IQbѿ <,[/ఓ΢ŦO:yX6O:`IQbu-I'EA,IQbyXyX~rO:IQbI<,Zu-_IQbЇ%$hDTIQbЋI'EB?<,Z?BO:ߊ <,Z 'EBWu-`΢Ţࠓ΢ţ$u-~yX <,u ~'EIQ`yX+"O:m~'E?$V#O:m'E <,~'E?yX+Eu ?$u yX+ <,a'E$ İBrY9d'-,VNRs:'2:PR+&VP+ T\'2:P ĬOMbebu>9l -V'2:np('/f\ °, Ł`"pPRJ]rȖ%J"!^gV-/t^`j,JըNoJe U(B%Ex­*ŪӗiV&Ro1ZSUQ+UL_g-ZV%Z_­-kc D""1ZXTȌaVl)ԥ\T[Ĵ'/)62WTiJ}%iJ|.S T"J))ȕ!rJ_BT2T TW!S rUqRKL%bV)r0%YԪ7rK.J/dev/null 2>&1 then return 1 fi # : Found a disk that can be queried, now get the LV data # print "VG_NAME=${gmvg_name}" lqueryvg -p "/dev/${hdisk_name}" -L | \ while read lv_ID lv_name rest do PS4_LOOP=$lv_name # : Is $lv_name an aio_cache logical volume? # lv_type=$(lsattr -E -l ${lv_name} -a type -F value) if [[ $lv_type == "aio_cache" ]] then # : Do not check aio_cache logical volume $lv_name because : aio_cache logical volumes are not mirrored across sites. # continue fi print "LV_NAME=${lv_name}" lv_first="" # : Get the physical partition data, and supply the PVIDs : for each copy of the logical partition. # # Skip over the lslv output header # # For the first logical partition, put out the complete # information, to keep the checker happy. After that, # put out information only on those partitions which are # not mirrored. This reduces the output to managable # proportions. # lslv -L -m -n "${hdisk_name}" "${lv_name}" | tail +3 | \ while read LP PP1 PV1 PP2 PV2 PP3 PV3 do if [[ -z $lv_first ]] then print $LP ${diskinfo[$PV1]} ${diskinfo[$PV2]} ${diskinfo[$PV3]} lv_first='done' else if [[ -z $PV3 ]] then # Only 1 or two copies if [[ -z $PV2 ]] then # Only a single copy print $LP ${diskinfo[$PV1]} elif [[ -z ${rpvinfo[$PV1]} ]] then if [[ -z ${rpvinfo[$PV2]} ]] then # Neither copy is an RPV print $LP ${diskinfo[$PV1]} ${diskinfo[$PV2]} fi elif [[ -n ${rpvinfo[$PV2]} ]] then # Both copies are RPVs print $LP ${diskinfo[$PV1]} ${diskinfo[$PV2]} fi elif [[ ( -z ${rpvinfo[$PV1]} && -z ${rpvinfo[$PV2]} && -z ${rpvinfo[$PV3]} ) || ( -n ${rpvinfo[$PV1]} && -n ${rpvinfo[$PV2]} && -n ${rpvinfo[$PV3]} ) ]] then # 3 copies, with no RPVs or all RPVs print $LP ${diskinfo[$PV1]} ${diskinfo[$PV2]} ${diskinfo[$PV3]} fi fi done print "LV_END" done print "VG_END" return 0 } ################# # # Main # ################# PROGNAME=${0##*/} # # Set the Run-Time Parameter values and export them # to all successive scripts. # export PATH=$(/usr/es/sbin/cluster/utilities/cl_get_path all) export LOCAL_NODE=$(get_local_nodename) export LC_ALL=C if [[ $VERBOSE_LOGGING == "high" ]] then # : The following lines create informative trace output # mv -f /var/hacmp/log/clver_collect_gmvg_data.log /var/hacmp/log/clver_collect_gmvg_data.log.save 2>/dev/null exec 1>> /var/hacmp/log/clver_collect_gmvg_data.log exec 2>> /var/hacmp/log/clver_collect_gmvg_data.log set -a eval $(cllsparam -x) set +a typeset PS4_TIMER=true set -x version='1.8' fi typeset -A diskinfo export diskinfo typeset -A rpvclient export rpvclient # : Get GMVG resource names from HACMPresource ODM that was shipped over : to this node for use by clverify # gmvg_list=$(ODMDIR=$CLVERIFY_DCD clodmget -q "name = GMVG_REP_RESOURCE" -f value -n HACMPresource) if [[ -z $gmvg_list ]] then # : No GMVGs # return 0 fi # : Build array of hdisk to pvid mapping # clodmget -q "attribute=pvid" -f name,value -n CuAt | \ while IFS=: read name value do diskinfo[$name]=$value done # : Build array of disks which are RPV clients # clodmget -q "ddins=rpvclient" -f name -n CuDv | \ while read name do rpvclient[$name]=1 done # : Output local PVIDs for use by verification check # print "PVID_START" clodmget -q "PdDvLn like disk* and ddins != rpvclient" -f name -n CuDv | \ while read name do print ${diskinfo[$name]} done print "PVID_END" # : Iterate through GMVGs, getting LV and Physical Partition data for each # for gmvg in $gmvg_list do PS4_LOOP=$gmvg process_gmvg $gmvg unset PS4_LOOP done s hdis lꞂ0@6rb֝afb&./usr/es/sbin/cluster/glvm/utils/clver_resource_chk_gmvg_rgs@@  (0" 8a@AH`cde,0K_hilmnoprst| !(/:DLNPRTbgux %.124;CEMX\fkvy}$')35679<=GIOVw "#*?BFQSUW]j{~ &+-JYqz>Z[^돷ʖdCPL"vȝIm ,]F6wg;ma.аk4].K{?EFF$#EbjZVU g" I Bz!1 x| t,D]ncsA`oaD+;G "$J"X;Cɇ'|\[|M_0$H*iԉ]`>='yk =xˌ5@ٶr#]MIl %"̜>pA`A TUwUnh"̜>pA`A TBtbJgl<4!& Y.X27{g,BjT߼ʁ Aq%n*'c.ΌN  @OmuL@&Adg;'Bj+dCqiPl2g,^˨eP{l2T s`E(EX ۚub4Pb׻4 -:=eB&˸ =ff`e{ezWB8fX,MS ٝΙs4\ -Ykf0֨lcPΙs-2pTgͭoGQ,L~̬t˝t˝P04 >mlz:cd10?2@]nh'LsAlKD`daգ$؜ԉp|ٌ/K9a|liV-\3Μ!5ǎTHRHHQb"@='c0fLncWN AS߼ ~b 1)XL UCVۋJ.@tdv1%N EL&K&oA4g+{-V0e*a6OuPCG&NyXգ5LYĞ;*$1D#";pEIV95hBj"1'ʉP:2Y;g|b~$c2yd]!߯ BaųX֮߸ {*V^ۚuFq["mDDucq{36![s@9w ͹B=#Ae~&_1 L;thX,MEgC_1bhۚ c ÍlgOdUEA1 2/L#{sA:e s@`+pʉ iQ&ml&&jCbsR$g? R ދ ӀbA NjDG9Q yJ"U!F}u :<;1nh&o1#I߻L[iLr Z\`tňBV{x |^:2Y;g|bKdsA1q2Y3| #ߡcZk샖2ΌN?X.4g%7w{l+{-V0eE_)6~@ml}xqlWPEGfNz&0 B`sPŚI#rCTI8B-Ow Ź#Ƴ'=cVj!09BbDF$֠(94QGJֲ󽙛`rby%zmWq=u::)wX;ٙA;ۚv{x<4?6cގQ"th?1 Snh Do O2 #9 {g,BjU/yg4E\`tvo~Q+.Όl!'@ wp@b1W1Y.w ːZ} 0Ĥ aYlϹu`{lA]P!m 6VQY^Mgmx {EFDF!L MZ8ޠ" AG53Rz,>aJ"<׻`$4DF!L MZ8ޠ" AG53R:A1ja+s@+;pLj)  e+1cbdFs9 U߼a{?Ò10"us@PcIw3l%p[vB'ߘJ~Z[1}j>:c7pRۚ {sAkml)u":c7p#ۚ =6c:dK?"N4{sA:c7renh-ͭ>X`G3!;Nܽ56c:`Y:c9g&?<y-Ŗ2()ɫG NjD{g7x?E6HdndbE±oN=DbA1A1  D bsP 3Qsx N7=98A幠GK&?  /~-BjC眈rۈ%&ot6$u RZ\` ͽ2-B{qa^ߋ'%c2R1u a&yD,^\ FK _@ A0rI~?b ߋ(ZS\y fWۗP [W@ F3DM"R0XR1%*^x *[/ PLdwu`o ^-˫eMa! { 'p^nN f%guۋ6 D-*=zèh;95FYh W¯kSxˀ$@AqW5)hlZΠ^nLz! "!iP W up@pJ``1{.^SAx,^.}6/{؂C| a7?'O*B",N 9ǘ7aŹytfcߕ_JHZ\aX!߼OZ\1򥻓 <#_1ow!nh&::q0\бPM<-7şpvlg.ol芀fԕcEvȼPt{t^EE'!^X/6gm)XL ƏOTCŐ (%_[CF3El^lAb0hĔy ^r!{ @9| е2b[5sA1q0X Z~I0fCݛgmzr37IǹuBSҡ/m#1 (ad0GL r*EPޡ #f!m| &4B!A8 />:?}#c1s@tȒd w3lQ1 Bs@1وD{ ۚ 6c j~th?h!LC:;RN; -ϛ[1ގPLttN#7!BjC-{b!| BsA1&q0XS߼gXZ\aR鎎wjb:[6A绂PUnhԊ(C /$3Gp-;rX,M%.%GZ:0@17vcq0X휱 U߼g0Ə~n!,cHn%w@b=qb<߻AYkf0K A1~bЄZvt;6gͭoGQ,C$C:NXYnh,|ٌ&u"& LtȈ=0Nfmp=sVsnh bgnh a{([ n&4*Y:2a1 1A2 ۚ ѓp74D3N3VJbA'5"MymbLxCw3lLp%ۚݷrU !2q@pޢS Hw9ml{oi&:d;/;ٙzb"'sgnhncq[R;h>ml{ۊle΍'Lc=ܰ-; e,Q )գ$؜ԉp|ٌ/?N/CHAEHN19B3QxOQxD*$T9")r,o1E47ۘ NA=!j{oQ|c0=h|mx*Ͻ1~~/Ç3m%j)?v>`!la׈P/29$9{!7l1L}Q94 Bx^D߽]^8 fۍh^ɨ D-;ٌ!痈P/29$~&x2m)}Q45b2'YJС!B׶ = /r>B^ Q2i2vUMZ8`A 5GbD4qT[|~ E&'eXգLjQ=Dtu>}wGZ:d?wH;ٙvb)4s@5s:ƿ2( >~X ٌz:L!{Ͱ ]enhm}4?6cގQ&MُŹ7]+sA`3kf0=ELDowpnhԊtvfm <4As|ȹ+m|ٌQ% ;o;ٙ3=m1p;sAf6cz:aΛbtw-|ٌQ%SD p }@J`AeآddpƕXRzLH5!9X4&!tݘtw e,Q2h˳'eXգRzLH5!9ml{o#`i6HX"ˡSE>txDA=Dq ERl؈PIĸc.-;gw=Xq8]"cD-Vo1FRo~x!MŚ@q.8uَZ$w VL 1upf[ r\=흴 zq(L ;`4_~/{p;nh4x* N=߼Oks@p E/fm l^l{mTMM zO'./-hG#':rjj"1'ʉ iQ$>/Mnh#':rjj"1'ʉ iQ%j5zaSTu% 2ђ== sA:2V;sA7] ۚu"?',_@< *3VJ![N5"F|zOPGM,K;w24+ehZ$ի;箙\;3owonh3mkaMَ4}-ݱ? y1͹m:mgV>GZL>qL.bsR!m9l>!}R'TjtxsR$lǤY.2iJb鼁BF:JP׶$ի1vc"l]wM-{bif?.`eMb`&l{w B36еŠm-psAc+\t:ac-t{ e.0Kt:a0foe+ AC{ydU89טԈ[|N[;>7XR&RwN5"F|zOPYŶ0enh#Wtеf8?ۛn`enhEITSm,[|ןhds oggUP(I ş>txsR$lǤ\qq 7;dٽL&txsR RlǤ6b"4-|fAs{WtKf<]=Wc+VA4zx:+k,wf+^pP]0^X/~ă1۸V84zx:+k.샕.wZ#Ũ{W7cVfnj50L{Rۼ}_t5[a$t˝[٫2\`H_fZotۛ1n6_]j[wGZM|t.]y-+cKtoֱ,|&)L>tϴq2}$؜Ԉ[|NY"V_aHh/Ӂ=Csx'qhGMC^ nvy7{۾zkϴq2|gd/YE0ϝ8>g4ŧWtL(kaMߍ=tաkۋOtZ[[=fjp -tۺmjmI7W|Yp6z׾Ggm|髺jеEPZ g>r dˡHbf5³ן:p='6wc3c2ϡkedLgaz:A@#nhLl{#2ժMEЯ>tzORlLgtn͹w[;ϴq2}rYB$^|ѳqk72;6,wmk`=t-\Y׵-.^mނ鶅m}>]3Kb]پ;{il[<r6d{f:mYqegp6zqŗ\7c4zyEqk׵-]6еϣR6е0{;)Lwo>k,wc^Զa=u{{;߂[\Y͏n+4i LoB׹I7W} ŚM]6е0"cgJG'-_'/<$̡\:e0NgM-K2W3}:d,}{ >ȩ_w[8y&O/ $Sj2^|HϏI.5,m_:es{n3[}lv ηzkoIqf zr^J/P;)nh#m ^XcwqbsA7WvL.,8 ׾G|L/|s,>7JXOf8vc07гnh&jF(kaM]ڛW1HړmŇ_:eXq=fdkb g+|x=*@v-@-tۺmk܋Lu.6oVkXo}$t.- Yt-+eZUuŚ4=7jn筜y&ObsR!m9l=,$Q մ2ן:p<96szEˣkXmd{t㎛{atǨZa=tB׷3TuGM{EmKl7fnBkqa WtеZ%at㸶(.wLo[y{Rak[{びM}k N4-{TݕwLz3Ӎ ^ 'X N }c(aŚ[+4+ehZ[aMݒWqft<e5$Ydͳ*-tˮqCYbB=իBfŲKkaz:p*]+Bj oVt,mږ ( i 2sAt㸲 Śo|p74}ŚgZ|ƅr"(t0Y4|c۹@4LnAtݸ(.w[9LVBr<8J >txsR$lǤDEˣ$G$o :a!GL?d)R -tLj5%dL~  mޭ]َ{}!N-t!幠zބx1{)AB5b ! e.07LAB׶$1]b !MAL?[IE ^=K7Aw8mޭ]S{)A{ 2َ 鐍_򆽶+G}m33fAø -tZVdzwݺbEŕپ$́+6[ qbJ$իItw[8G' oe%Y @mO>tzOP6qtһ1noWn6ťw@еnvns?6vjmHzwϻ筜fG'ˋog+QJѬ+.ToDpϝ8>g4M,)w @GMC^ 7]Ig>rY$O C(W)yzFΖ:fů2|^j50+ՏپiYpLoowY o\Y1ot--7z (k#m4-]3K"htBj oVk#Wqfō&glŚG}_7c5U+wϻ筝*Lx?̲5fk-\2!=CwYMݿZ\at۷үj[l2[ݿw.s?6vjmA}=2|WÅp\"e2^|A8ϏIlEˣiZ9Cvp7' ǷiYdoe}ŚGgNY Ul2IZ4kԊu%Vdzwd/;t ^[MwM~H3Iu$-V&jŕZ[aM7Nk;w];B׷7noԉ2i1H Ul2IZ㻦iqehD jmI7W}-ӹZNk܊t&?#!jmI7W} 4#2VdzwfΕy&OăR o:}d,K HL^|l8饎-;zp:m6Bj o--Lenhnvns?6vjmCZ3^}ŷY{Åp\ މן:p='qGL8Xm2ýHZ[aMݑ*E2Vj55$ޭ]LoLM|+5Fv ^ 2WT .YP'dzwf +nc"u"8>Xm783L:n箙YP׸0j[wwϻ镚 h\aefCX*mit_JƎ0[oћ;=1ٌz8.,g40 `pgY>Yqes{}+1v2Wq)a %^Զ> i5h.YP׸$իK7>sE8>?t/=d/YC(W$S Ǥ8{O2ū^Զ]2Wq}>]2Wپotۛ1n6-Zx镚 {3Pqt۸kږ oV{ۘ^CYK9\Z[7ۛJotۛ1nqj׵-$ޭ]\Z[7ۛ޾6ŷ3VtY H,ʖ?ΜIF3Y+L:m6d{[qŕ]2}p74p6Itw[8y&O/昞V}5C>txsR RޢTlǤ^GCqћ {3:o#GN jc4cBcGra͹իx!kܽ8GR)t޺o5VL14zw=x>46=2tt.GP VbHK4{f:f.p[hl\\S۸sA7ca2C^ {t޸,woaz<ss`UDGX" t9 bS8CTO8"e~cmBZVbH)4{f:f.w]2-{lGPnն,َsott|ă}ܘ-ރ{RaY4,;~&3mPgnh&t. {8,YGC:\G'LRGgL&ǿtcNcۚŻqnd~wvo:e۸K4uqC^ Stw{sA7o֮1)2p>:,,Ͳ7p>*4|f` GhMwM.'3lRv?p}vk۽ dm@GCK0[q8>)[ dL'5"/L>X_-3Qϝ8ԉ98Ftt#q񛑷37fM|:.#t>4㸈+@4]FxfǴuݺ@Dtۺm54ޭ]Όaq6I:!{36GR-V4 enh&jvWB7P0f:d:at>=C᳾zFWoC^Ck7# evcPNt0*4CZn#Ӡs@molCB2c{: ;vNtnO7:.t#+FWt>GCCf:,t>W 0_@3vt>9PLrvfujm(頂MOt#+m},}p:ndNm Ul1DM ۚ Z⋦:;BLLNjD-_'-3?ߣaH0$Njן:p='lciZ|4q%wL_ttn1ċlR;!YC^ Hf H}Hy/ @еÉ,wY$\[bIfaxJTv/| {4cؤwYX`/$ ؂;Y0]cqk,c.-H$|<%*^;H[↽6mf8qmGy"+(kaY]3I4mA{gJG'-_'/:` 13LP:eן:p<96sp 1r'4!:N;:Ҕ5ϣ›yC^ cGA:D+ Ni8l{GP)Ni3s"{[&n&m ^ '46/73A1]LVnIZ&+Gw'LLLA1[[ ZtA3A3}s o Ul1ELV5իWtBu7ۙGP Z]nh[ Z.bp4=lү>19O3p6K EVB*AdyÚ#g>='GCcx+ytg'.M+֔m}B*VP׶$+KqW3}=D(Bj qK1SmܐOnh&vy]O%[6=Pm@27W|St<. IźPdy&NxH&g+"B^|HϏI>b"X<3s ]@ݓM+֔m}@ 5&:ht=tաkۋ+5Қ{Rm%JZM]K7cB׹D|n~\KVӁ=CqKZxwM=y:0M҆-W2|StݸGM]W2|Vn,饷$ow1nh#m Ul2IZnm|髺jеEPstg>r ՙH2yzѳ㦖8yu% ۚ2-V&jin,s lCGMVv]63^}ŷ3d/YDAdtһ1noWm6ږ oMݿZ[aP|wL.-_&eer)Z5bEʒ&QC(ΜjD.XoiP^4,wږM=dQfSxWfp){|StZ f ҁEM\êozotӻ筜fG'˘Ԉ[|N[-36W,S Ŋϝ8Ԉ< Ԇ<799".]7:c8#:tdBGP 91524w#-ޭ] WFB:X#xm(键csA7Wso|tˣatƗ:@նcW;mَtˮke1Ɨý w7ۚ 3]7. XyXd3"~NpDآ*p1#N 8"~N@ߘ[a2uA2Vbq8MGL=tːiu\\#d-V32;ܷ4{f:eN !ѐ Yd;!awh8-ۚz(iqpXw$_7KsA7cat޸,woaz<ss`UDGX" t9 bS8CTO8"e~cm jm(MM;Etsf:c;GPKtFC!ߨPqgN $w=GLooZu\tپct6=w4M:VjvŇ6gGP/PUnh.9= ٜ;#Zt|ۚ 3;EJ4M]Ů^ԷgLׯj[4M닂\3fs;3l:c-V32;nh&t#]t޸,w}z:p1J ;M닂b>IqpD{% ќ;3l:`a Ul1LLp.4{f:f.w,L~77ۚ 3;\q{tGPwLhMu/t0fk]K3FC|zd/> 17ăR oh?&]\ZxM?fO;Gz_!&74IY^'hK$6Dz74IY^'hK$6DÂ74IY^'hK$6DK $,/p[g"a}g8-  ,%t^ Hu q뀿GBp6K[ (O3lv }"b8ad6A` =ׇdN0Z'~X %p2f*-oX;! leI@'jdu" "lNB 1V$D-_$I0j_V8&Y'fyx=/Q 74IY^'hK$6DøY'fyx=/Q w $,/p[g"a>3∘anh,hdD;QRhA'#&#y0 Pɇ H$~ .ɇ Hh 0 A^КH@#&#y`3 6F@$ol9Fp3# $o( }`{d eKM|O :>I[|I7U)~>}g8- 0ÈY'fyx=/Q 74IY^'hK$6DsAdev lCoDL074IY^'hK$6DѹO;Gz_!&} $,/p[g"aY'fyx=/Q7YSPdAB&n0!u/Mr&֢C%ph&j[|)[|I7-\ a#sAdev lCoDL174IY^'hK$6DѹO;Gz_!&?}g8- Ac8<t9Loq(5oB{2V$BT \N]1R\r#<9Lr .0B-!Ipl$WPÔ8ÑBO7w2a`U : *xLr .xz>xr'.).@9B\ay stc pGqB)(!BÌ* !Kd1R\8qAL04m.8`6}TJ-_$eW,~aY'fyx=/Q >3∘bnh,2;/ZGeD=L92k:9~EOɇ  !(~y''"0Gɬ2a|L &B'@4{ XHr A!T"0|rA"L DA"L r6\ܓ$% l\ &l9L.m7$G#A߂0%cm0 @^r`z#0 0-O~ H2aL90=cm(dÐ2$txsR$lǤ".B8o|t|Gk8ؘN駺c↽ {2I4M:$ޭ];a; olMۦ磦&A ۚ饺iP0Np@onh.W|]tEXyxNp@o{zWhd9N0:e 䉔¹% bAJ-\"eNA0f>7۝7'b`m=&Va&VrL>׿ nPR L{Zgnesf: L{ {l*.ek&;8Λh%D-{2IZNfȭ3mI7]]:m򆽶_:ev|mtݷ {l1L[򆽶$we oa|򆽶vϔ53YomI7]t5>PVd{e٫+l1Lj| oloa|򆽶vϔ5ZΙe(kaM|i:m򆽶_:ev|mtݷ {l1L(kaM}|>Dƫϴq2q5/4=2ԆjS?ER~Ӂ=CqKZxqu{WtZ{7샫sRtۺm筜fG'ˋo3>bԿNgM,qi7AM]+yt[Of]uvsw(o6ng>r _NH_yÚ#g>='"+(}7g{36rnh# ^≎D?nh&jnvyu'{>Hx80I1Cu!͏2^[x{t<=B׷xc#իm:vw#Qtw['L|Bree.'}:EB^|HϏIlEet#_7:n3Iޅ sA2VP׸.:a5wM<4vP׶(iqm;٘鿶)4zwv7@RMۋ+|x.rY\tGP--ů +1+k,om=u@0幠tYqB(-|M҆-u@.%ۚ gJG'bsR!m9lg4=-jJ![Nz6p:`8o|t6yb:\ og:EQ lqI7W|8`qm,GRksA0Z%լtw`qm,GR-tk!kܼPˌ2YZN7|֛ {1Mރ-u̽Ӎ=lL6-_'/:oH*a}rNgtuLYnh#nvZ%ۚ ۾zkϴq2|g B"uO:E*MCӁ=n6sY.X駛¡tݺn{m'rȭI.s\ZyrɛsA6hZdGr[l47M::&vܰۚu+ynh-B)qGQ$+4zئ8>o{ҋw]{mGP-wFv>od{.uŧ,-tۺmkawϻ֥Mu-tp54wF|#\\M-_'/2rGә] ĉU$T 1=H4c2$w]1 {l7n5tv|նE!C^ QqcIƓ{Gw&˾zdeY}+ h2qAJ&V7$Ln$,^|l8饎-+-\"ei(HL+Rϝ8ԉ9=Urt6xv->#!YłeCOt҆$wgD!B׸$.8iwNеqC2~{o+7.6rd H$wneŇ3^Y57˧{ buĴ-{2IIMw[8y&OBr:FPHrĉT"ecqrDbJAΜI6m"dLiBe6N+绐{L]t50A2$َb렘 ^ oVwtGP /g \2W$Bd㄃U$ZbD^|HϏIꭈ õqn/ }Lׇa,/5{-::@y ^ ol駎;Bu hZ0nmB(!kaM|l7X2;Ιr:PTqI7]0m8aq>3^j;qjׇcj:$.$|hdlNjD-_'--$e 䉕+)  V*Pj+^|l8饎-c(W$Jj4Q AJ&S 䔂>txsR RlǤ[q(iQE[,Z_oV`?nhL.-,n}B C{z |饝X24AbɄl~|ןhds HlNjD-_',, ̡\.Ǥ8{۾zdqm7y(W$RRR-^|A8ϏIQ1Ň @B׸%$ڎmqavw!X97fm= x2-{esu@2n镡kܼ鶅n0sqa:B$taZn,?լp}Ӎ,?1{%GP 6:q8elA4ujb$ffc`1nhumBonh&\s:l m ^ 'ifs7!sA7$q筜=^}H5!93lN) ?^|ѳNTuu,t&mz:372†)2†$ީݑ#(k> oVkL,(k}5rSZe aSqdzwd2҆dzwS{gLDP,4l֘fP։Mie a[qgI2↴N^JkL.n,oVpkL58$իk7}LNf( [镚/(kD䦴¶ϻZ` asqdzwӦ^(anh#lRn,R;|^}/z'MBr=yÚdžT98"b":#dTg'a'ȁ8Ltut>Λs#Ct>$50"tۙ:$2{&:aqKt>BGQ,GN;(qKt>%#g1 q(L8@t>D(ka.#I3@ -l% -g[`}7DuC|nXi1/#G g ff/vyA_fùR6oV.ŷ3c#^GC|4}o1a&:e::q6fm]xs۸|A~ooVBfu6:Cء7Ɠ2h0Cjscqx[o7>V>|<xk`:@Cnh&j h|=(k۽ LtHpC{36+enhun|;h!&4zw&筓L@cHLM%1 ԆBr$}:JAEɔBן:p<9xA xoQ(yHQslDVQGCqQ# 9>$Ltutt>mt>!50]FC^ LthԘ,ffۮA|{{ٹiCnh&jvS{:mm@Q B- cP׸%`f:cۡ! Y2M #(|]d-{wcI@bffds@|<xk`:LMWCqfmGP@GCvPyXcIbEӽcy;s@-&͝{ _xF7 ޭ] {wcI #FLCͰwWnhun|oksA7W|o{z>hd b D$؜Ԉ[|NY3?tB=BP(gzKf,#Wtҡke7M*W"nXMwM JZ+wL.-_&ex2rE~PzOP:ilŗWtҡke7M*W"nXMwM JZ+wL.-_&exB"¸VLPӁH؈ :cÉmׇgׇb`k8#鏊b50&t4ZdzwӦmEO7cmn Lnw@BGM-Jq(p;'4M+.c닂x,<]Ό^[ g5^}Br:(c(W$L)  V*P*D?>tzN1tm}rv& ^=܆enL&\Bekߐ7(ka]L{ e-ϻ}L>׿ oq  @&v&W7c]L>׿ nP׶ &V 3∘d8Y'fyx=/Qj/bM!QI&%/V8I7 TBB?>txsR RޢP*99 1r#tv8,ݒQ׏^"K^"KB|x50:W߯Yká5լtę!;0!tw;Q V:dKD1"M N]š7gzu93,[b!kۼ/if&Y,f?e|;xxW7=.%\LYwwM-{w1cF$C:Nfm!||w })Ro s@cIuG{gQNfm*};>o0nh.rVo?:3A[ %L;ڙ˸PL^.e>DƕXRzLH5!93LJUfkN5"F|zOP#8MZ[پ@ wM-{w&:5ի5wWt[k#B׶¦{g>'5"/L0LSӁ=CqKZxn릭 ^ gtZ{7գ:m6еEw]4駺j- B׶¡VmI7%ի}=l58>\[|N^?lL_ ?N Ftqō#7ތΖ,ifAೝ+ z^}/ ž>tzOShL8MzIwB]wkhP׸Aqf{PMnh'pDmn;bA2'6du~Se+0 W7G&o7w;筝*Lx? %[ 䋗?^|A1DP6H6s襈vBiv+:݌呈t-qf.(=0[u{;cL6scBl`Vˌ2I5}6f{o< olL6 7̓u[d{f:qٛ&GLc/w @bGL#{s@qcF Ltu>ΐ{36;ݹx0GP&Ks@Ǿ :{sA7WpvE6lsp ۚB׸ Xw~8hU. 50.u|[3 s` ۚ~WL/fc`üc6GPsAtB׸$]3Dudn鶅n LtuCdBN@>==uA.ewMFo/C`:I:ewL ^ :Ɠ3$u— w3l b>qzx:7Ƕv:$ol!Yd\Yaw\ax \"ۚ,6˃@>eYătˑ |{{;lvlwg#cWtеI7Ws]0 ^ tsGP/6ͥY{ ^ b'TtZvtеޅTmZ6>t1:0ۚs+l\L%*_@<{e|%dA۾I7:H;H;B׸qe6# :ewL ^ [YoŖG2g -(huVi1(Q!3` mރr`{ f:@%nhΠe$@ZP&bUnˑԆGL镡kawdD 7̓,(kaNе0;aߘȀ{RmnI Xl>DA_Mles[.yGR*{w wLz@:faFh n,` -GP tZϻKt R)C^ ,5;7]&B׶WL[.0ftI7:H#d-{0&YtYnhWqehO{a(2-{wwϣitd-{2YQ p-̓ۃ,(kan qKtlwG7PZm:Ɠ34uU!0p@mރo,4M|x0dvHl!M HkϴpޢS HlNjD-_'-3?}ZH_yzѳH sA6e {4MHAm筜fG'ˋo.B$SkӁ=CqKZxwM\tR$ޭ]MZM=ťo^;GPt:m6еZ$իYqic,=fkH#M]ŶAtt5hZ"qt-Z|ןhdqm9{L2@beФ13aYϝ8ԁ;1C^ ]tvgе QtvŲK3H@s@wWhde Tj.yz#gv:c;3GQ[|G'-_'/e`ad/YH!O ΜIm:XGo|tMyP׸V?ffe2鿳`>Ydp7پ]qfk A4д.WLضIt,:oGQ,GMVdzwƗWt^ A24,i78=tƖg,85MyP׶¨[}=lWhdŷYe3\j剔/>txsR$lǤ3[}lv etwM?[z镡kan%Ś؂9ݳ|x=*@v-@ ۚtB׹( ۚ ZiqfŌ7^"A L_:ewMۋm{tݺehZUu5-^ X}LڙaCRۋ u 3nh&jF dzW|D6YqnwR*qa2 VehZcۦkoIqf zwl+^J/P#nh#m ^Xcz:(04zwำXƗ}| WqmP]2Ŷ@:n2-{l*czlg;筜y&ObsR!m9ld! Bm ΜjDjCEdtŇѐpGMٽ0aBw]3d-{q`鏑K m ^nhZzmn鏮,8}u1+ehZ[aw-0f6c};l ,}[{びM}>lr*L;Bl0fZa=ŏo|p78-GgL ^L.qqcKGPcnh#WtеZ$ի%wLt<e[N,fu0(4.e g\a&:ÄuoV 鏭dL}az:tZVdzwWqcc-{ >Ȥ~\YZ6qif}KoX8=tеϻL ^DR0B׸nq&:[$Q|{{Atݸe jG'6'5"/t?tHV8H5Lyzѳ㦖8yu@sA2Vն$ޭ]WM-ŕپd u"n镣6qL.-_'/i!}R'UH S'ן:p<96sp.|8ћo|tێ\tݝ2Ώkr fmvcÿxGoz:GCCӿF6?p}vk۽ tm~[}!ۈqL@ ||y&N}[ oea|lG>tzOP6qtһ1noWn6ťGPrO~mKt۷Ctۛt۷ Ul*@ի}=l58>\[|N^?\VaXrz'3>W|tۺmwM-*%m|7noVT;'ˋoɻgx\8W Eʒ&QC(ΜjDjCDVOGL8snOn,8ɽt-4]3GGQ*$-V&jV$GR(D|{{ף Z$ի!|GMhZ޺mtۺm"GLLGQ(Nն$ޭ]4uЊն$ޭ]toֱӷ|Ӵ-{qis=6vH+f AVdzwwL bBj oV[s~;B׹CnL#PZ$իL(Z[aM%w[:U8> HlNjD-_',H, j2yzFΖ:fů߸8o|t۸p{z鶅m#|4=qf;o^Զ(c-zz |mt-g oqwf_R l aMqfŖ\ 1]p|َfg,mږLwoů^ԶAtB׶>KtB׸ .ï޾1ݿ鯸ݎ{RawLwa_R ~ ioIqf6= 5nh.,8ޅr,oV4 mk`E]tvΕy&O[|N^ydIϙB"taΜIF3Xӻn-V0.vzپ@ [-{l2[ݿMݿZ[aPoV|ןhdqm9yap\)*H7s8ΜIl5,6fL0E;=#jmI7WvDMtYPdzwd ]22W7]LGPLE+1+ef: .YP'dzwf +nc"u"8>Xm783L:n箙YP׸0j[wwϻ镚 h\aefCX*mit_JƎ0[oћ;=1ٌz8.,g40 `pgY>Yqes{}+1v2Wq)a %^Զ> i5h.YP׸$իK7>sE8>?t/=d/YC(W$S ן:p='}8:ifd @ŹwM$~wqes{びLlŷ M-ŷ ]63^}ŷ'ժMEϝ8Ԉ< Ԇ<799"+'"q2Lg1tGP t2!#I4cBc<-ޭ]ѐP7 {l1DLGPsA7Wso|tˣatƗ:-V32J< َtˮke1Ɨýf:[ 3]7. XyXd3"~NpDآ*p1#N 8"~N@ߘ[a2u !jm)J:`$4{f:f.w]2-{l4 ´-V32P+sA7c\ӷN !ѐ Yd;!awhRă}@x#ۚz(iqpXwonh&t.,'42:P]7. ssz=8\=sͱ2:Bt-V32X[ 3;EJ4M]Ů^ԷgLׯj[4M닂\.gvfu Ul1LLB10uz~q.1,wˮ9|J6B;3l:i:Vb@uE10sQf8csmCMGLozDt M}箙(ka7Lj51 ^ olLAw(Zk,7}0qn-p ^=K7]7<4zw!M}tSf:d+B5T{)AL?͙?tZVdzwݺbEŕپ$́C(t<qbJ$իItw[8G' oe%Y @mOIGM+zps6vjqnJmnvy(mtۺmն|nY^W,XV$\"e2^|A1DϏIlEdt&G6eC4+ehZ$իlesͽC ^hZdzwӱщ4w>qzx?1mC-noֱl/{?7䎡;SKVw[:U8>zLH5!9g?z_T>6O0dnh,3∘274IY^'hK$6DLnh,3∘2W $,/p[g"`˱O;Gz_!& F>3∘2] $,/p[g"`74IY^'hK$6>t  D bsP1' \>^|1A1sx zbA Njj"gg>@AۈN/Po ^-D镼 .͑x]^.)>,{2~58R`OQ)P~*,5!5 o =qU@Aoeh ߡkaȨ{{u⍕;GZ5b#{ߕ=m=5a GPdNKvP014yxGP/*B7u45[EmD*:չqQcٓ>:M'uߕ-B׸lFB@$~ n٨*/Cl* }0: ٶqQcٓ>:QMbs'-_!xK2rEBjbEctϝ83QxOQxD*$>*g>cr,o/G;?'GQo2wa۸q:}/{:j/T@|:{/N6sL853Mxq Po3mu $Bo3e^;3O^@'.}w^DxiGQ( mZ I`3/fl4m?Û?qCpL@fl1H;~&=m&'eXգ,DbOQҢHRm9RoC*֣C+4u_LLcVQ=Dv.THcJ(PY0)+2Ɩz: ?nh'LGX4e,ddq`{f17L?NY:d G ]ӁH HczCȪBxCǔ@g>j~8m ;ƿaϋQ'p7hZ2Qdd 2R$*A5qݕ$ٙHq%XcBwߖV#2K}j=yM L${?5u~-7е0l샺`zAaJTDr%H&p^n;&ͲD-{3 |ٌu@#QN~J:{7bK2}ɫG iQ%U!17ăR o̟xrjTIcHLM%1 ԆNX$k? թ $XJ![ӁH HczCȪBxu?RHʉ;= #|zNbO:m# oWL9·[{psnhql7gmmcB{: \<0?$48HrjTIcHLM%1 ԆB`,sNs nGP6774 K7(CI&1D1T`؛JbA H=oswuM#е-^'uL9ĕxP <P-1/;g~BΌ Gv _:2l* ۚ A!EcVGbD4*JbA Hx%}YHW:Hymc mB׸2L86aw -7ٻ%f!)RȰW:m؇ 6c&u Cnhl*huDYգ4*JbA Ho|Q2d95h*$&&jCGZS{≔'eɫG b D$؜Ԉ[|NXiEct-H5T"PCN5"5! %" : 76Ix, ی0g:rZ2 l?pOΛvn\yϡ_0ϻzt۝ٻ%hG4ZT≓Irjz\ƕXRzLH5!9#`Cnhی*{{@fL"nQmώ: MuXӦفH'lnX8¥!kMVhPf%|GsJL8,qXOnh&Mt)RxX+R Ar^u4=`%i)RAr6c/GR(8LLcVGbD4*Ԋ؈c[GS'{36e@}La&:ۙy 6)f&'eXգ31HD\i1"u8O0ti3l Q ܷ4A 2Ʉ< u3sA`є{≓IrjłގXrVi܍d4!ΜjDjCJERY0p}1vGV Ynh,2o|Q2d95hwboGZqb'eɫG M%1 ԆBrC.CH(N7[ӁH Ho6szOXd8Z߸ L%׽߽-gmx- 3Oṯ[<lCm@s@/6BΛn0d\@LlA)z0yl3ym@'߾ tql<|F"뗄DdMZ8cHLM%1 ԆB7(̝ɫG b D$؜ԈNsnh#9u4eiȪ#Wbn\Q23;%ÓVԈ[|NY=! +W>txsR RޢP*(8x9*$;6sz7k1D} Wc'uǿB2ebexy- fHdÓVҢKBboQ)6'5" Sd@tP>|QifO95hjNX}e0$2P72HJD閮ս7d17a|l`He U^|ݛ[o1MD`enh0E&+1etxsR$lǤ\lDVUCt6qNc9:>1dgK#C`){tit:4(kaM-B׸At:4׿7WvCp].#2 {l21d-{1E:jtَ-{2Gv/7o֮.#7{tt Ul5vbɥZbѥtݐ,{}1qq5 N'G:ۚsX{jѥtΏltL,mC;њVebɥZbѥtݐPuka;=ZbеŒqG.#FndL'5"/ș:YJPe ן:p<96szDVWGM-Kl4m\c,ncGQ&4zwh-zkϴq2|H?ϙ*BHV,ΜjDKZ{2icۻ 6M9C^ Sf8mM K7ۘ$hhV=l58>\Br:)$bĊU$2^|HϏI1Y]f::]nh,Y?u B=ի Inh3^}NjD-_'-UP(I ş>txsR$lǤ}mGCnh,Y鿶;筜fG'˘Ԉ[|N[;?UXJ&]7rw[|M_!$bĊN5"5! }ׇ q`ѕ9=H0ݜ9u RYׁ2!Z:JsAvdcVjCbsR!mMsA['păR o:FJP(Zdۀ+H,#Y'fyx=/QӁH>b"k4M,;Ks@qI7ݒKzzo|tۺmk'nVfM_R+mtBNB_tһmtZۘ }@s@fYF4{񝘳ŕJR *+w;4T=}f)R!HdKߐ=l58>\Bred*BDS.`m $,/p[g"`74IY^'hK$6Dnh, a'9̟V[|7fm[ ŷ:nXsAcn'4{4>rj od~}Ξdym9l@d BBe4] 쇿0d8}g8- 0d74IY^'hK$6D74IY^'hK$6>txsR RޢSl9x=UM|LGS@PZ߽ůq"J:{-{@ )nhAůGPXA{_73ߣ`hL8r\GP\~Ed>B׾ܶKs@Mÿߣۚ σ{v@j<:=2 7nh'M7l5BΛ0ùŶPMnh0bAB^  ,}2~1ɫG M%1 ԆB7~!ka(xxFMZ8GZ.nh'1XdcV#kM&{Lrjgks{Lrj HlNjD-S{#W^ Ba×PWN[Lu̕@"e)&t30dF>3∘2csAdev lCoDLsAdev lCoGN5"5!Y4^ BaͽxrǤÈ鏣7gm p8GP'4Z,Zm뀻9# [ zßߣksA:n-GR !kMŇ6j0ջ14ZzqmEvеlP߸6 vF/~en01E̟ɫG H5!9O(Y95h2oGZ+aլQf'rjgj@p)լQf'rjgjlH9|ޭfO{o? Nuz?o-_',}%P(Hr^H0d $,/p[g?ן:p<9xA xoQ)׼I񳟶zOPqm @6ۚ-{0m {.{&{l0~Оq}֮[-{l4V }Uo|Qc9ÓVJbA Hol3>\95hችD$؜Ԉ[|>K}0/ގPۚ-{l*CduN84Zo£IEOMZ8GZemjs{f=0s'˞|{&#][[mH`Wnh0hE'-d{@ '\2/ΜjDxɾqmoGM9r6.!ȱ - |9ubrA͹Bq~oldÓVԈ[|dÓVԈ[|N[' @!|#XVBΜjDx6=lǤqm-u-|ɏn0ͣgnqmMuBcߡka]7Q 4ZϞqu@enh> ۦ:pWnh$q麎\olE3>\95hHo|Qc9ÓVԈ[|N['Ĝ  &]ϝ8Ԉ< Ԇ<7<'^sTI9Q!"qmݵ@ BGP  l oB`?}P\~`!k 0ėow#ۚ-|}A|Fr04Z1dͽ9~գ.THcJ,b DuA|F 3ŕ5B׸¡H4|F 3ŕs$GZ>#}}xd̈́Td%"!aS $ŕ$-{7¢ŕپW16z6r,xx"$GPZTs$GR(>I|F}x#ąqDԊ>#}}xπŹB׸,d`KEAgqŕQnh0"dE+|F 3ŕMnh0",2Du",s5/Ç[//5K4bEF -yÚͺ~~tzOShFAgmHfhZ0翺eynh,2#{-{0f%,GPе0]2u04ZWcKX34Zo YdŕD=J _7\a"K2}ɫG NjD-S{K2}ɫG NjD-_'- 4b@Nbe&Cן:p<9۫|zOP:nGP. & 6ŷ3fwnwB׸Â麎Y B~t2˦:`!k2$~t4WMٛ2 !kˌ1DQc9ÓVԈ[|3>\95hHwB X:e)ΜjDx>Z:~!k?8.{V 4 ^ +GR!kˌ1DQc9ÓVԈ[|3>\95hHw< k,ΜjDjCxu1ͲϏI@oCmB50dAnhs0Oގv _0$q!>#z:`[-{1f6d/CfehB98LJ-|ÜP {7s@qa)|Fz:Aa'eގ _0 a@.snh{e(fO95h6'5")E2}ɫG H5!9#`emD>qA:Ctp0iăZbN5"5!:f̅>oC#7 :\ [-{sψ3n4sq ";s@q#os#E _HSrW2h\b&Q2ΐm"TÝ,)|FGQ((Z8 |Fu4ZLqKA3lDB9 Bs@s0GoGPmaP >#z:!!k: |t3]^ݐnh w0DH[-|K8O;smlΎ PY8,|FuG6 _0噸>#z:0ۚ-|q),g2|rj HlNjD-S{̟.păR o:{o|Au@ŹB׸ H:w؜ oDY'fyx=/QAnh,fIMŶ$ -t|w0dvO~7Lٝ GPo~7\`r:PD4Zzqa:Pmtݜ[n0fH@Anh--| 2#`r:qߡkMb":`{xZ`c܋BEO95h*$&&jCbsR!m  s@{^ {2 8wΛn*:{x6m _8wΛ0{Y!Gu$rj3|Fu ޭbLrj`֡}boVEO95h3ގ |ޭbLrjgk |8*իk|vă9i{oϱ&oVH96?gOϾ|văՉL=剂FJPZΜjDjCJb"hÈ#z2.z^^ ^3mu&`ßGP'49{ߣtޜ[o~Mnh߸Á@4=tݜ[n0GsAlk߸M~I7X|QcMZ8boQ)6'5")ٽZ>?գɽj![ |8*ի|vă9i{o?ϱ7lH96?g>#j k2~7/ټT >RR>VO$nh,RbiIՅ/:c_)HrU)LV'Lb C#KB`$C#j$Aj@*qR-)DX" ş~Wbbx<<kW8z' p`fV7.o5LRX%̿ʗQ?̿*(Xd4ԪXl)}wX5Xt9(5)}*JBUY\rb"聾5$NL?PH2QL\`S*X8Auɕi&VO\ZxM?Pfrei4Auɕi&VO\ZxM?Pfrei4Auɕi&VOQL\`i&VO֮X,J Tj.ӤU(W~rʓ(!}R)5-Z]3\j剔{},))LԪ]#5pQt0oHPV,TAPU.(8h"CTZ!3NjaSD閮B$2rE0.B$N$O_Th7 2xߣaI* ӮL<&G’T\ZxM?~$3N2~K H!Pfrei4>B:i},) AuɕXRA 4+O B!IeRi&VO,XV$\"e2(h*H7s8~#!R+俌V,TB$,_G‘d#UJj<+rC},%?}q0 $5V O %NT ,jR?Gax`e*IjATԮe1R-#+V&[%ʕI:&R $*dZd4Q$dcH$P*ZbK$L)VfKW,$P*ZXȪC,e2LY-\(#RR>.K(,ʖ$*ZGec)(3N2Hj<2}QLF4EIec)(3N2Id/YY I2  $'aS)K*Tt2WEdT2a#)Rt|m!dT ,&Re*Q22bK$HUFjFUe ŊHjR.K @IĒlaLR5+Y ?S0BX]%)Ii ҔJS1}:VTddI*%X,KHVXҙH\R.**eBЯBAl¡qRZB2_Nft+ _Nft+iP-d- Q-hX@" -D-I\Tpl!`V' ZpT)Nĥ:cӬiJ?G+JIhhd tґh\R*eAPTT- S) 2Ii ҔJS1}:V"BVб pZJ%Z- c$A\" R.{e) BHX+ՏiJt%)d+J_N$}R ҡZ>ZĴjEh]!qHZR.!qPV,* RR,jdSO ̬e'Xd5TJUA KEdf S-PC%H&SG߅j)O}RiHjd*Y u'Z+#  `"",]QD?S?z'3\ 2[*Lֆi@g &V2?,kZFgk_XAg`"I`( d5d+#1Rҩ  @ 1// ʤ4IJ҅jL,%BVG1// ʤ ( +Y Bʔ2)TKLիTt0HTyxf^U'JN񴆩%Jd,2Y KPB/+*X F*ZU!RҀQT%yTt\K!}R.)։K!\fL0HUKJ*ZP4U**ļ3/*%*Ij.j_L5M Zcj<%R-#KJ*ZP4U**ļ3/*%*Jb2ԲTL/LL*PC @*Zr}:G)S 뤲kP l"BXW%)1Tj—ZR1Jt/}RӾD -J+} 1}9ЬC#KB` *D-q X,y "дX-!aPeH?HHHHHHHHk uZֵ|(%6k‚kZl(%A|;֤_ֵV"kZkZBVk_ | pZ־[/ q8P@k_3EֵkZֵkZֵk_?Zֿn}uZֵ|(%6k‚kZl(%AjkZZ?UkZ‚_f( V‚\N+ZkZG?ֵkZֵkZֵ_ukg#yx'w`2-",ᑀd41 _n9\?h% +gj2/#Ŀ1 `c-KO]h$ FAhd0poRa2- p3+# ` euBrʓXd 02-H/2J?PHAk!A0 CNjЮj動&QCON ߢ};@+~Q.ӾDN ߢ};@+~Q.ӾDN ߢ};@+~`Ff[p ``񑇦Z% g#ꔩtPIH Y% "!Y^1a!d2% "!Y7tQt)*.xV2rE*% b}:ET7"!YPȰb0  ȯE l@h-Hf3Z% fe 䋇 Z2C"T*‘reL H+-`3LPZtR,BRIMC$e k~e ?D4QId4PXd #-*iXR@G*ZU be,a!TH5Xt2bK$HU0|kWBQEB"e0IH XjRW,H_PHrĉT"e0IH Y+>jV$Lj b 9%d%ʤӪ~B$b8] Ye 䉔¹% bAJ%Tr(2rDa\kE  V*Pj+̡\*D)(HL+RfPH5 (HX\2X@̡\2"ecp% bAJ-\"e~e W,HZAJ&V7$Ln$,Rҩ (JT2|m U,V ? ++H` %xiTRR*W RKU>6tIl+韆Ef RC!yB"ecqrDbJAăU$ZbD h<0I2>!+RH5L,XR>d*KJ0*JA*IreR};A 32[ 2};@+NCUK$RdHR\R?Rҩ (JY CxeI.LTO}R$p†KaO}RiHjd*Y )X*RGe)R %)1Tj—ZR1Jt/}RӾD TB":cә] 21T,1 dZX.H-pY!aH+) , ʅiPY?HHHHHHHHk uZֵ|(%6k‚kZl(%A|;֤_ֵV"kZkZBVk_ | pZ־[/ q8P@k_3EֵkZֵkZֵk_?Zֿn}uZֵ|(%6k‚kZl(%AjkZZ?UkZ‚_f( V‚\N+ZkZG?ֵkZֵkZֵ_ukg`8E#dZ`(`BR,("`),dX 'E>E`*)EVBX !E",Ȱ\@ ,$X E!X"Q`(~/a`N 2' @F2',  KJ4 R KJ4 R KJTB*ZU!R-*oHTAhd0peBC4 R2dVbZWk!A0-Lp`2.Zt?$2PnCH(N7[! ̖iC%s%\Ei9qFj"%'E'E'E'E'E'E'E'E'EL+)Tb BRp`2.Y Fk\ BQ!EXXPxV$}Rt!H(Ku4Q`@!xĹ!x``1#%ՆiT%yTKJHމA$U! Hb^^HTI4LY-\(*iiT%yTKJHމA$U! Hb^^HTI4LY-\(*iiT%yTK dSC(W$ZU%Tq*'N.LLL-*ļ3/*Qx$R>:x_]((Y FK(*g8C$*Y aj!bQ R `> d. )Rs5XRs5X+JAh,C!h\hB2W!j!hH⠭[e) 8V.ՏiJt%)d+JU@>ZT2KG+C XH- ,BAT* hWK2+BLI&~7TD2-e2Nf,TfBiJ3SP\Zt"?R- DXU%)Ii ғ5 VRRs5XRdnrdJ_N7bGҍ($PbKC$}BYq2 i ԋ`B♔ ,S* ļ3/*'L PKxeI>BOV8&~*Nf S%ac %V3Nq!e, AFj*Z+²(3ZF0ʄoP<+]I(LbT5uFIy '3Q &S%ab2 Qtd2Edd~1// ʤ .BT+dR%ROP<+ꕎ$k"FIyBirXd¨eLHdbK!Aj!bQ #J ֮2+O eRJ,Xd eDQgCuIBIrXd@T](hY-LYkR-kR-kR-kR-kR-kR-kR-kR-kZBVk_ | pZ־[/ q8P@k_3EkUHZֿ?ZֿUkZ‚_f( V‚\N+Zh3?kZֵkZֵkZ~ֵۭjEjEjEjEjEjEjEjEk_dDVk_ | pZ־[/ q8P@k_?jEk_ڭjEֵֵDOkZֵٮ' k ֵZֿkZֵkZֵkZ/~PdP@O*Ld+U~[]`NC(T*X8T&TCZ&O Y!P'['jYdP*PB!(- dz-Z!(- HQeLXt+PT)#T-#KHR=?UY*BHV, C2KJ*LBHV,HRHM.̕@$+$R$&R}:HV,Hi#yB`X+HXYJ!qJ BaPXTF&i!e) q`[)-XH*KHVLbR1B!X"B-PV1֮bĴjEh]!`Z,)D,eBqP.052U[]ZEA )*BVG#e*U2JjYJFN !XK!8Vj,Tf.U%T%Tp Ԧ~*S%ʤxVI:d~µlR$TBRdxV )Rt%j.RY KUKW QJK\*dShWIr,B*dxR022\K!Pt2Jj,jfdxN@U#%P(I łЍ Ţ`Y!`\e(( HA\bf<+Oe)Bq`[)-XH*KHVLbR1*BHV,Ihb_Nft+,%+R, E EQJ!lEAXX$X$"" BE@ ȱ0m0 dX$ *BDS.j動&QCO&NrhVߢ%yT%#z'M)d*Z+#BAl¡qRZB2_Nft+ _Nft+iP-d- Q-hX@" -D-I\Tpl"R`T+ ¹-XH*KHVLbR1B @"e) C$}BZt/3Zd b *q"Z>XZ-Je"aH,XT, '@! EȄXRZpT)Nĥ:c%P()2UXV%Ӧ1}9ЬC XH- ,E( AP* L|2. N Ahd0pn2:HT &Rrj'L0ZłV,rՏiJt%)*AI$L2[dV+NkWB bZB"Z,C!`XN$KG+ ELX,) eBgv!Zֵq8P@k_-( VgQZԋֵ֤_٭k_k__ֵkA/\N+ZeA.' kh4ֵkZֵkZֵkgZ~ֵ"ֵ"ֵ"ֵ"ֵ"ֵ"ֵ"ֵ"ֵ"Zֵq8P@k_-( Vֵ"ֵV"kZkZ"'국kZPKl ֵxPK‚kZOk_g?WZֵkZֵkZֿn,2FJPЍ.d, ତXZZ*DTT$14W R.łV,%%)Ii ҔJS12U%P(Hi[dV+NkWB bZB"Z,C!`X-q"Z>XZ-HX-)H+\T,*\C%Kq !Ĺ 1.ҒzKВ?%8@! BN,e%)Ii ҔJS12U%P(HX2KG+Lbs5XA`-!Z`Z,HX,) Qr qPT,l!PN,e%)Ii ҔJS12U%P(HQ·-PV1֮bĴjEh]!`*)DX.* Bv@! EbIjERZB:cL@T 'Lp2KG+Lbs5XA`-!Z`Z,HX,) Qr qP[X łlc"-!ZR1Jt&JPRd Nl"-PV1֮bĴjEh]!`*)DX.* B~@OK",ᑀ' n.`f񁛋ec񁛋n.`fRҩ (- s ZP2XX`*[k!A0)U?d\T*ZU!yxf_ ES.\ ]⥥ReHb^^*ZU!yxf_iT%⥥ReHb^^*ZU!yxf_iT%⥥Red\dQuȸb5~qFj"% EK\ *3WHdnVoHdnVoHdnVoHdnVoHdnVoHdnVoHdnVoHdnVoHdnVoHdnVoHdnVoHdnVoHdnVoHdnVoHdnVoHdnVn0)pj`"0 U,d]H(t+?p`2.V0R +] \ g EԂB"AEkYu ЬuȺQZVd]H(t+?p`2.V0|Q+Y K)s*AZU[iT%yTK)s*AZU[L+)Tb BRKJ1// ʤ*[L+)Tb BRa\JVjS UTRҩ K2 rV3X?Hb^^HT\ BQTC̼BHb^^HTRҩ K2 *ZU!yxf^U!Ra\JVjrV3X?Hb^^HT\ BQϔ1k!Vo0|Q+Y K)s*AZU[L+)Tb BRa\JVj*ZU!yxf^U!Rp`2.Y FkRҩ K2 rV3X?d\?⥥ReR-"吭Tf)s*AZU[iT%yTKuȹd+U~KJ1// ʤ*[ E!ZcrV3X?Hb^^HT\ BQϔ1k!Vo0,j5iT%yTKuȹd+U~a\JVjS UTW>RZLMB AEc$豒X D%F ļ`b3 Cȴ14Q`@!xĹ!x``14Q`@!xĹ!x``14Q`@!xĹ!x``1դSE3ZHfI?D!l Qr剌LB+r剌LB+TSNg`*[CRQLV N+.\1CR+TSNg`*[! KeE0J,Lbfnd"h?SE4 RKA8f QL2XX`*[Cd) % 3 ,Tf0-D2, d@̰ )J`FjR.\1CuMDA*)Cz'3I h~pfV . )U*hTTS¸5Tl ei J`PB! KeE0IL+UKn! KeE0J,Lbfj剟\eE0HoDp D!yphF 2%E˖&13]`X"ˡH!4Q`^\$ᑀ!k! Qr剌LB,V7H2R)}MBP̼`1+H8^l r8eE0Hb5ao+0*)CS5/LH`t*)Ja\X6 K AEԕ!&T01Tt )U*hTTS¸5Tl pfV . LԾ2!V ? )U*hTTS¸5Tl +0*)CS5/LH`S-] Ң$TCRQLS R`*[PBH-\T.1*KHVRK֮aK֮`*б pZJ%Z- c$A\" R.m, XKV>R. )Lbu)UXEiP-P bZB"X.ZR- QRL* ^@! e!`.RZBj•)jV')3\:җӍXd+U~$2P72Hh2 Eb EĔK@Z!'\$**$.ET֮d֦Re FK(*g8C$*Y  '3Q Ք- H)JKR3Oo IT AEԒW #TaT}bd5U%BVGļ3/*XVC$dTei IL+UK҂e0+֮d֦Re FK(*g8dbK!Aj!bQPfto )C2Qu$iA2`̼F IE$eT5¸d3+IRIh7F0¦PB5L *VFZJ,KLHfV .¸5TlTY :$5TO3Zd\Da*QZT:qĆI,T$*Nf+Z+##yxf^U"R/Bȹ(jgAj!'`C"(O3Oa#3SIJ!hF aypi Nt2-dj%C*)IIAf0rXd!rXdt:eȶ!R.K Y1// ʤZET%-L4TD2²@2d[EFi$cUFj`R)U2-,2/. $ .EQ ]#deE0I2(3Z.K D2.K p`2.'LD2Y%aPB+##%yT'ә] Y$uO WI2)TI]DJJ!hkWBVi8D]#dJN$LH1.LHRyhdZ%CUIӪ S)2̭$]I)pj`ءhS$[%~EOCSS)YӪ S)2(3R.LL.K .KE2% ,T2)>B5)ʔl0HpF)(PBdC%a]I,ZtreJdUKQKKHb^^H,2/Bȹ(jgAj!'`C"(BXFTTIJ\-eE\:d]%C%ʤLY.K 3SRd KErXd^\H] hQL\:d] Nt2-djFTLjdId D?Eɕ)I>8<2Ln9V202YEiS?D&XR`h9dTfl]#5rXH֙b>J'LVFGļ3/*|+U~+lTu)[%JaPd2 aTdҦ~ӎI,T$*Nf+ZTSI4 ` tˡʊhe Tr Zcb5kd-J!*QZT:qĔ&XR`Xj-LHԪ]*'N5 .U$*IjeZIPA%Jd .K Nt+Edd̼EBT+dR%RKaX7L2 0#e0%Jd,2%0 U,HT)fV .¸5TlOR5LdfT˒2.pCtԐd]'V(+L)(@`2d,23[ dT50`32.zl)BKIij.c %V3Nq!e,0Rs51XZY̼EBT+dR%REЬZjTPC ȸ= aO(!S TK!ZH(S RKB\ei IL+UKH#TFk!Aed8a!jH2.Ql+d T<0Y Y %FkaX2Щ] ȺIc uLJA .U%jժXA*QZT:qĆI,TEIC b5kEdd~1// ʤ_ FkAFj*[')]DVRdd*Y U,t1e, AFj֡&]*'ZOR0R(T '3Q FjrZ.C%*HFK(*g8J,Xd0 'Rs5b5kH)d+U~,TfJ ֮22Q+J'N8*Y L5)CuIC#%2BeLIBe,Y)p2- J_ FkAFj*[')]DVRdd*Y U,t1e, AFj֡&[%*IJFC*Rދ '3Q *3VAXTL/µmrdJ%]%*H+Tjcjdp`2.#\T| ,K%k(ē)Z_J\2,j5#%0KF)Lj)~&[%*JCHT:e0%yTUA KdLZc1X\KeVJKA2Pt2.J8Z'# '3Q <+S) U,phT j3dljQt0H5L,(-Id 0fd0Hq FK(*g8C$*Y  '3Q bQ !K%*IrXd_ FkAFjj%QL+`g#e0!uO:qĨuK Vp3O!j!e2\# 1;?ZԋZԋZԋZԋZԋZԋZԋZԋZֿUkZ‚_f( V‚\N+Zh3?jEkZkR/ֵֵ/kZֵٮ' k ֵ4_ kZG?ֵkZֵkZֵ_ukgZkZkZkZkZkZkZkZkZ?UkZ‚_f( V‚\N+Z?ZZZfk}uZֵ|(%6k‚kZl(%AֵkZֵkZֵk_?ZֿlgEK@EK$X_"%Ȇȱz6.%KȱplK ,,Y9Et`Q@`rh%E>%dNBEFJ`}P,+5EaE"J`Z,V]Q,bPX `BE HVDEhDYchdXEE3 =t(HaXO go_l% S'O_b*߳uKa#h,#B?G?*1߳ boQD?Ӫgj?H1XJgD˿?ZbxTG?UJSG?§#񪵉_Nl?\\*lߢ(W-?2t*F*3OdrҬlRol֮l֫XJj2gjk)\5g"J-[ O *# §?Y gj_PgjJgje dG?S)g\+*Yr\5*G?:5G?d_'G?,HR/ll?4bDW\jӪ[dRTW LƿG?l d*a}w#/l??#dSa!/G?d"l$}bC~ԊaX~7#OlolMd~ V,R#dd??AG_8k dXW&d"dZW ? [{γ{ΠHu.`Idhd΢߲MQdaI,d΢86o:@7E߲MQ`"yXo:yX?d΢DHo:MQ`p/o:MQ`pI,~7EyX%o:?d΢I, d΢I.Kd΢I.C&߲MQr7E8o:w$u I.@I,G$uMQ`}$u&E$u&yX MQaYyXV~7Eq7Ec&󨰬}$uMQaYyXV7EayXV d΢°I,+MQaX9o: &󨰬$u?MQaX>o: yXVd΢± I,+_MQaX$uMQaX$u?MQaY I,+d΢²yXVDo: ?&󨰰S$uKI,-?MQah$u?d΢I-O&HI,I,yYZ/&󨲱wyY\d΢&󨲶d΢d΢o:+,o:yX%=$u O7ERO&!~7E6&a7Eɼ-6&a7EuyZ0΢ѐ?ɼ-MQh7Eu2K$u I,d΢9yX' d΢X9&V7E7EI,o:aI,_u yX+ɼ,MQ`MQ`Jo:dOo:MQccu6$o: &󨱰I,lQ$u6wě΢şRo:~7E?FMQca,MQcayX&󨱴Du6KJMQcdMQceMQce߀7E?u6_!7E&󨱰BMQcc_MQc`I,m΢ɼ,l> yX8΢ߖyX;3&󨱰{q7Eu6,&󨱰8yX"o:,l@ ,l  ,l ,l"o:u6?&󨱰$u6_MQca&󨱰I7E7EГyX؅\MQca+o:7Eɼ-?LMQi~LMQi7E$fMQiɼ-:$uQY7E7E7E d΢Ӕ~I-:ɼ-:/7E~I-<u/)&yZru7E,-&߲MQi?#&?o:N4RMQi-<7EKyZt -:yZuߝ&柊 -:&$uwuu6o:OyZqyZqyZpI-9yZp4MQi&PMQiΓyZpq)&Л΢ӇMQiuAyZp}$ut΢ӄ&΢ӈ_yZpț΢ӈ -8#&GQ7Ed΢ӐyZq+I-9ɼ-9΢-A&Y7E$o:PK$uyZGyZOyZ~7E d΢~7ECo:P&&7)3Z)XR1QJt%E&kVV8:c_Z`WLbrUkRHh+U@WMjU^1֮X+*ZNkWBWMjU^+l4.+}8BQHQC%s$ ahXBj$E!XHD*»9"D!PP$2rUKW)|hjHV,Nj$HkEF?D@")23H$ZRHiĆi³ X(\+Ɛ,I3) 2C(W)S)05Y 4Uy!+ )HB&Rw(tHf jL0$SE$HrT]i+\d4 CH*Rq䊠P(ZeaT -rEt\U@"FjW$}=0 \:eJPjR'LwBGӪ[ Gj$},/')MBRe0Bie \R#*֮bE* °q@ l,0@Xrb֝afb&3./usr/es/sbin/cluster/glvm/utils/glvm_common_funcs_gmvg@@  =e ainorst"$_cdl#EPbfghkmpuw{}&()-:ADGILNORST[]vy',./1CFVX\|%*0234BMx7JKUWq;Hz !569>?Y+<@j0Q4V v"@  "&pعFCd5YVcy9lqrn& ;;(,<D%0P"ƂL#/Lh(XD,.,Y@L `H5Ę.2-8a#{b Xwv  Q[{W9OACF6ap&*e# Va/8 {KKcxK"#Ka2xH#Ht؊7sdM00،e, ,ő))NpcY`<'PPD  *($( 0Ä5(vP '肀$x*XR)ei(cEEŋ90` @FQh. &`FPYExX@'P*PmmmmmmmmmmM1"Ŝ j0(pE/6+caŜX"70b6'=CRq pt؊)bz3JPmmmmmmmmmmP>I1(Aa6֛i f[$K"7Ĥ4|{ 0 ʢRZB !N<)'1@S  9DO.9JNr)DE#`Qq#:+M9KbS| *#e$$,,.$Z 1cAHbE,M8B$Fr:mmmmmmmmmCEiK{E9Qq \e-mKZ(!)dF񥽎1 9vmɰj[Ņģ!-Y+2^I,9 l˞Tmmmmmmmmmy ńD"&.a Cd6:RINbe* P`i|*M0Զ4Yqc0 vʼn  `sxz .+12Qq̮ŦÖr!C3;c.%%'1  2!$0e(ƨw);f&\J.9M,!)d@Hei0O d6CP+1 8tk/s$0(e4&)'Pt%LFNԳF[IL5r^9F(ڇ5NB*f#+)9K򋆼KLx\r#w\le䖌)-˹sqvIFx%]w///!lu)l˞Tڇa&`0 l˞WjJ# Dp4ɱpcIՑNR9f&\@8?8$,<7")ڲҡK:3NՖPA7ZpŦ!pDNJC.@1R"ŃSXZ(v+107|7s!0ȹ-I\Wc籤;^Lt0!9:;y%09K{4[mmmmmmmmm9%%sЃM9Aє12Q g$( "& o8 ;BxLp5Jy fZh-%\a>, Ie/AlhLped#- Ie/Alhlcbe*VZilc  `^,sCpk&n% oekM>%'l˞VJ.:\Fp<=k| Zl\grՑNR9C9NՖP{`{q):lw12ڲ93+ " mmmmmmmmmm0b7'1AiR@ IL`J4* @HP@@DL@nqF(v23j6^a112A6B*ykx-_v!1֚|JNA%{f&\ԲN+D\JIm]G_MLN~͍ E4X`l%zږ]lx.y]6B*.69ǚRA.yPP(``6֌g(ڔ:mmmmmmmmmm F,sC(BP.ŲP"\rXqatĄD6)#.JlW Ksv);=)~Yy )Qq.ۃIq^ى<%C;ÞLil`N\JNZ{\wLw))(wL= ScIummmmmmmmmTHQt%|[/i_XD;s0C$' TLt܊AJi G_/0ap XlLv) $Lx06^a1#e IL`lc3iA`LpeM' xQ'?f EJ%sg,h*|pajƓ <(cs`v "Ƃ`9pQ4>8ad 0M'dڿK 4xXZRZpatPap6N+M 3ģ!L7v7IĤģ!/2S‘M8A1"M_=7"k"%phn4]ls`p$rS̾ Ia,`c=J{sr+M)FU|1_ALʕd(+xIίvqB$a!9慄D"&.K:2y%*4@XD a2c#8HO _;J%K:3$0I$l˞Wd5rb%XFr|(l\Wbe*]Lo./O4 6!dbC怃j|te)M_% g@xp$<`^,sCrcc ipKs%93&/J(w<7&` lcc%'MXw xԾ rfV7 l8E:mmmmmmmmmm$aŎnNbˍ! xԾ 4@XD a2c#8HO _r3rJcNLiɽ UIh65K.4IJN+D Wcq&`*$!$欴a.4v 0#2WҿQAv4Iyؒ 8ABj6 WNW%R-9'?SMȭ=&@NLiɽ U$/aP@ÄbiC͝ G\J'BGsVZN eĐQ, 8xW:se_9jPmmmmmmmmmmwL5 '1AƐE6KcP"܃Zi)[d|&;cNLiɽ &`0 iɘ-97prxÉId#*@%|Fammmmmmmmmjj1cH"%+`c<8x(,=!A1}LcW܌ӓ0Zroqsp'+v cRˍ1,)iɘ-97pJ9p~9"8` 9-4@cxp~"b3K G̕4p0D(p(qja,(] -3p^k.6$`iڿ́;i2rOqlx9"8` 8iiyxp~"b3K1#a dW!@@ W aG9-'cbH(< ͫ-_% a4@/dev/null 2>&1 if (($?!=0)) then cl_sync_vgs ${GMVG} & fi done fi fi exit ${STATUS} E k.0@\(rb֝afb&\(./usr/es/sbin/cluster/glvm/utils/glvm_leave_cleanupgmvg@@#!/bin/ksh93 # ALTRAN_PROLOG_BEGIN_TAG # This is an automatically generated prolog. # # Copyright (C) Altran ACT S.A.S. 2017,2018,2021. All rights reserved. # # ALTRAN_PROLOG_END_TAG # # IBM_PROLOG_BEGIN_TAG # This is an automatically generated prolog. # # 61haes_r721 src/43haes/usr/sbin/cluster/glvm/utils/glvm_leave_cleanup.sh 1.26.1.2 # # Licensed Materials - Property of IBM # # COPYRIGHT International Business Machines Corp. 2004,2014 # All Rights Reserved # # US Government Users Restricted Rights - Use, duplication or # disclosure restricted by GSA ADP Schedule Contract with IBM Corp. # # IBM_PROLOG_END_TAG # @(#) 7d4c34b 43haes/usr/sbin/cluster/glvm/utils/glvm_leave_cleanup.sh, 726, 2147A_aha726, Feb 05 2021 09:50 PM ############################################################################### # # COMPONENT_NAME: hacmp.glvm # # FUNCTIONS: # set_rpv_server_ip Does a chdev to set server_addr for rpv # client. # ############################################################################### ############################################################################### # # Name: glvm_leave_cleanup.sh (replicated resource leave_cleanup # method) # # Description: This script is called from node_down, node_down_complete and # rg_move using cl_rrmethods2call. # # For rpvclient: # # Find resource groups online on local node. Find GMVGs in # these resource groups. Call cl_sync_vg for each GMVG in # the resource group. # If resource group is being released set server_addr=none. # # Called by: node_down, node_down_complete, rg_move, and rg_move_complete # # Arguments: cluster node name # # Returns: # 0 Success # 1 Failure # # Environment: VERBOSE_LOGGING # ############################################################################### ############################################################################### # # FUNCTION: set_rpv_server_ip # # Description: Does a chdev to set server_addr for rpv client. # # Arguments: client device # network name # Is IPAT via Aliasing enabled for network? ("TRUE" or "FALSE") # remote node name # # Returns: # # Environment: VERBOSE_LOGGING # STATUS # ############################################################################### function set_rpv_server_ip { [[ ${VERBOSE_LOGGING} == high ]] && set -x # # There may be more than one XD_data network, so check only NET # RPVCLIENT=${1} NET=${2} ALIAS_ENABLED=${3} remote_node=${4} STATUS=0 if [[ ${ALIAS_ENABLED} == "TRUE" ]]; then field="persistent" flags="-pSi" else field="service" flags="-Si" fi if [[ -n ${remote_node} ]] then XDADDR=$(cllsif -J "$OP_SEP" $flags ${remote_node} | grep -w ${NET}|\ awk -F"$OP_SEP" '($4=="XD_data" && $2=="'${field}'") {printf("%s\n",$7)}') # If we failed to find a persistent address on the remote node and this a # single-interface,IP-alias enabled network then use the "boot" address. if [[ -z "$XDADDR" && ${ALIAS_ENABLED} == "TRUE" && \ ${SINGLE_INTERFACE_NETWORK[is_true]} == "yes" ]] ; then XDADDR=${SINGLE_INTERFACE_NETWORK[remote_addr]} fi if [[ -n ${XDADDR} ]] then LOCAL_XDADDR=$(cllsif -J "$OP_SEP" $flags $(get_local_nodename)| grep -w ${NET}|\ awk -F"$OP_SEP" '($4=="XD_data" && $2=="'${field}'") {printf("%s\n",$7)}') # If we failed to find a persistent address on the remote node and this a # single-interface, IP-alias enabled network then use the "boot" address. if [[ -z "${LOCAL_XDADDR}" && ${ALIAS_ENABLED} == "TRUE" && \ ${SINGLE_INTERFACE_NETWORK[is_true]} == "yes" ]] ; then LOCAL_XDADDR=${SINGLE_INTERFACE_NETWORK[local_addr]} fi if [[ -n ${LOCAL_XDADDR} ]] then chdev -l ${RPVCLIENT} -a ${SERVER_ADDR_NAME[XDCOUNT]}=${XDADDR} -a ${LOCAL_ADDR_NAME[XDCOUNT]}=${LOCAL_XDADDR} if ((${?}!=0)) then STATUS=1 fi fi fi fi } ############################################################################### # # Main # ############################################################################### PROGNAME=${0##*/} export PATH="$(/usr/es/sbin/cluster/utilities/cl_get_path all)" ODMDIR=/etc/objrepos integer STATUS=0 integer XDSDEAD=0 integer XDLDEAD=0 integer XDRDEAD=0 CLIENT="" SERVER="" VGS="" GMVG="" XDADDR="" LOCAL_XDADDR="" SPVID="" PVID="" PDSK="" CPVID="" SINFO="" SAVAIL="" REMOTE_XDADDR="" [[ ${VERBOSE_LOGGING} == high ]] && set -x [[ ${VERBOSE_LOGGING} == high ]] && version='1.26.1.2' OP_SEP="$(cl_get_path -S)" # # If nothing to do exit. # if [[ -z ${GMVG_REP_RESOURCE} ]] then exit ${STATUS} fi # Source the common functions . /usr/es/sbin/cluster/glvm/utils/glvm_common_funcs echo "-------------------- $PROGNAME ----------------" printenv SIBLING_ACQUIRING_NODES printenv SIBLING_ACQUIRING_NODES_BY_GROUP printenv SIBLING_NODES printenv SIBLING_NODES_BY_GROUP printenv GMVG_REP_RESOURCE echo "-----------------------------------------------" # find the current state of the RG on the local node LOCAL_NODE=$(get_local_nodename) if [[ -z "$LOCAL_NODE" ]] then echo "ERROR: unable to determine local node name" STATUS=1 exit ${STATUS} fi #If there are dashes present in any of the nodes names, #dynamically find a suitable replacement character that #does not collide with any other node name. #to get the correct RG_STATE here. group_state="\$RESGRP_${GROUPNAME}_${LOCAL_NODE//-/$HA_DASH_CHAR}" RG_STATE=$(eval print $group_state) RG_STATE=${RG_STATE:-OFFLINE} # action taken suring this event should over-ride the # current state value, if it's different, with the # action of acquisition winning during fallover if [[ "$PRINCIPAL_ACTION" == "ACQUIRE" ]] then # primary acquisition should be treated the same # as if the RG were already ONLINE RG_STATE="ONLINE" elif [[ "$AUXILLIARY_ACTION" == "ACQUIRE_SECONDARY" ]] then # secondary acquisition should be treated the same # as if the RG were already ONLINE_SECONDARY RG_STATE="ONLINE_SECONDARY" elif [[ "$PRINCIPAL_ACTION" == "RELEASE" || "$AUXILLIARY_ACTION" == "RELEASE_SECONDARY" ]] then # release action indicates that the RG is no long ONLINE on # this node, and that the SYBLING state is irrelevant RG_STATE="OFFLINE" fi # Accomodate multiple siblings for concurrent volume groups # Choose a partner for this local node, on the other site if [[ "$RG_STATE" == "ONLINE" || "$RG_STATE" == "ONLINE_SECONDARY" ]] then SERVER_NODE=$(choose_partner $LOCAL_NODE ${SIBLING_NODES} ${SIBLING_ACQUIRING_NODES}) fi # ONLINE state is on the rpvclient side if [[ "$RG_STATE" == "ONLINE" ]] then # handle the fallover case for the secondary instance if [[ -n ${SERVER_NODE} ]] then # arrays and counter for get_rpv_server_ip SERVER_ADDR_NAME=(server_addr server_addr2 server_addr3 server_addr4) LOCAL_ADDR_NAME=(local_addr local_addr2 local_addr3 local_addr4) # Get list of XD_data networks XD_NETWORKS=$(get_xd_networks $LOCAL_NODE) for GMVG in ${GMVG_REP_RESOURCE} do integer XDCOUNT=0 for xd_net in ${XD_NETWORKS} do # Check IPAT via Alias is enabled or not. ALIAS_ENABLED=$(check_ipat ${xd_net}) # # Check if this network has only one boot interface (on each end) # and if so we shall set some global env variables that could be # used by the subsequent function calls within this "for" loop. # check_for_single_interface_network ${xd_net} ${ALIAS_ENABLED} ${LOCAL_NODE} ${SERVER_NODE} check_local_interface ${xd_net} ${ALIAS_ENABLED} ${LOCAL_NODE} XDLDEAD=$? check_remote_interface ${xd_net} ${ALIAS_ENABLED} ${SERVER_NODE} XDRDEAD=$? # If local interfaces are alive, then we need to ensure that the # rpvserver address information is up-to-date. This includes # clearing the addresses when appropriate. # if ((${XDLDEAD}==0)) then for CLIENT in $(get_rpv_clients ${GMVG}) do check_rpvserver ${CLIENT} ${SERVER_NODE} XDSDEAD=$? if ((${XDSDEAD}==0)) then set_rpv_server_ip ${CLIENT} ${xd_net} ${ALIAS_ENABLED} ${SERVER_NODE} else chdev -l ${CLIENT} -a ${SERVER_ADDR_NAME[XDCOUNT]}=none -a ${LOCAL_ADDR_NAME[XDCOUNT]}=none fi done fi ((XDCOUNT++)) done echo "------------------------------------------------------------------------------------------------" echo "NOTE: cl_sync_vgs will be called in background, this will prevent long delays in event $PROGNAME" echo "------------------------------------------------------------------------------------------------" /usr/bin/ps -eo 'pid,args'|grep -w cl_sync_vgs|grep -vw grep|grep -w ${GMVG} >/dev/null 2>&1 if (($?!=0)) then cl_sync_vgs ${GMVG} & fi done # Handle the case where node holding the secondary instance goes down or leaves the cluster. # set server_addr to none. else # arrays for server_addr and local_addr SERVER_ADDR_NAME=(server_addr server_addr2 server_addr3 server_addr4) LOCAL_ADDR_NAME=(local_addr local_addr2 local_addr3 local_addr4) # Get the list of XD_data networks XD_NETWORKS=$(get_xd_networks $LOCAL_NODE) for GMVG in ${GMVG_REP_RESOURCE} do integer XDCOUNT=0 for xd_net in ${XD_NETWORKS} do for CLIENT in $(get_rpv_clients ${GMVG}) do chdev -l ${CLIENT} -a ${SERVER_ADDR_NAME[XDCOUNT]}=none -a ${LOCAL_ADDR_NAME[XDCOUNT]}=none done ((XDCOUNT++)) done done fi fi exit ${STATUS} E"  kLa0@rb֝afb&./usr/es/sbin/cluster/glvm/utils/glvm_net_cleanuppgmvg@@#!/bin/ksh93 # IBM_PROLOG_BEGIN_TAG # This is an automatically generated prolog. # # 61haes_r714 src/43haes/usr/sbin/cluster/glvm/utils/glvm_net_cleanup.sh 1.19.1.1 # # Licensed Materials - Property of IBM # # COPYRIGHT International Business Machines Corp. 2004,2013 # All Rights Reserved # # US Government Users Restricted Rights - Use, duplication or # disclosure restricted by GSA ADP Schedule Contract with IBM Corp. # # IBM_PROLOG_END_TAG # @(#)55 1.19.1.1 src/43haes/usr/sbin/cluster/glvm/utils/glvm_net_cleanup.sh, hacmp.glvm, 61haes_r714 7/1/13 13:15:57 ############################################################################### # # COMPONENT_NAME: hacmp.glvm # # FUNCTIONS: # get_network_type Return XD_data if network is XD_data # network. # # get_online_rgs Provide a list of resource groups that # are online on the local node. # # get_secondary_rgs Provide a list of resource groups that # are online secondary on the local node. # # set_isolated Set the isolated flag. # ############################################################################### ############################################################################### # # Name: glvm_net_cleanup (replicated resource net_cleanup method) # # Description: This script is called from network_down using # cl_rrmethods2call. This event script is called when one of # the cluster networks goes down. # # For rpv client: # # Find resource groups online on local node. Find GMVGs in # these resource groups. Find online clients. If XD_data # network failed set client server_addr to none. # # Called by: network_down # # Arguments: nodename network name # # nodename name of the node whose network failed to function. # (-1 indicates global network failure.) # # network name network name from cluster configuration. # # Returns: # 0 Success # 1 Failure # # Environment: VERBOSE_LOGGING # PRINCIPAL_ACTION # AUXILLIARY_ACTION # ############################################################################### ############################################################################### # # FUNCTION: get_secondary_rgs # # Description: Provide a list of resource groups that are online secondary on # the local node. # # Arguments: none # # Returns: # 0 Success # 1 Failure # # Environment: VERBOSE_LOGGING # ############################################################################### function get_secondary_rgs { [[ ${VERBOSE_LOGGING} == high ]] && set -x # # Process each resource group. # ODMDIR=$ACD clRGinfo -s | \ awk -F: -v local_node=$LOCAL_NODE '(($3==local_node && $2=="ONLINE SECONDARY") || \ ($3==local_node && $2=="UNMANAGED SECONDARY" && $15=="ONLINE SECONDARY")) \ {printf("%s\n",$1)}' } ############################################################################### # # FUNCTION: get_online_rgs # # Description: Provide a list of resource groups that are online on the local # node. # # Arguments: none # # Returns: # 0 Success # 1 Failure # # Environment: VERBOSE_LOGGING # ############################################################################### function get_online_rgs { [[ ${VERBOSE_LOGGING} == high ]] && set -x # # Process each resource group. # ODMDIR=$ACD clRGinfo -s | \ awk -F: -v local_node=$LOCAL_NODE '(($3==local_node && $2=="ONLINE") || \ ($3==local_node && $2=="UNMANAGED" && $15=="ONLINE")) \ {printf("%s\n",$1)}' } ############################################################################### # # Main # ############################################################################### PROGNAME=${0##*/} export PATH="$(/usr/es/sbin/cluster/utilities/cl_get_path all)" ODMDIR=/etc/objrepos ACD=/usr/es/sbin/cluster/etc/objrepos/active integer STATUS=0 integer XDLDEAD=0 integer XDRDEAD=0 PVID="" PDSK="" RGOL="" RGOLS="" GMVGS="" CLIENT="" LOCAL_XDADDR="" REMOTE_XDADDR="" [[ ${VERBOSE_LOGGING} == high ]] && set -x [[ ${VERBOSE_LOGGING} == high ]] && version='1.19.1.1' OP_SEP="$(cl_get_path -S)" # Source the common utility functions . /usr/es/sbin/cluster/glvm/utils/glvm_common_funcs echo "-------------------- $PROGNAME ----------------" printenv SIBLING_ACQUIRING_NODES printenv SIBLING_ACQUIRING_NODES_BY_GROUP printenv SIBLING_NODES printenv SIBLING_NODES_BY_GROUP printenv GMVG_REP_RESOURCE echo "-----------------------------------------------" LOCAL_NODE=$(get_local_nodename) if [[ -z "$LOCAL_NODE" ]] then echo "ERROR: unable to determine local node name" STATUS=1 exit ${STATUS} fi # # If failed network not XD_data network exit. # ! is_network_usable_for_glvm_mirroring $2 $LOCAL_NODE && exit 0 # # For clients. # for RGOL in $(get_online_rgs) do CK_NODE=$(ODMDIR=$ACD clRGinfo -s | \ awk -F: '(($1=="'${RGOL}'" && $2=="ONLINE SECONDARY") || ($1=="'${RGOL}'" && $15=="ONLINE SECONDARY")) \ {printf("%s\n",$3)}') # Accomodate multiple siblings for concurrent volume groups # Choose a partner for this local node, on the other site myCK_NODE=$(choose_partner $LOCAL_NODE "${CK_NODE}") # arrays and counter for chdev SERVER_ADDR_NAME=(server_addr server_addr2 server_addr3 server_addr4) LOCAL_ADDR_NAME=(local_addr local_addr2 local_addr3 local_addr4) integer XDCOUNT=0 # Get list of XD_data networks XD_NETWORKS=$(get_xd_networks $LOCAL_NODE) for xd_net in ${XD_NETWORKS} do # Check IPAT via Alias is enabled or not. ALIAS_ENABLED=$(check_ipat ${xd_net}) # # Check if this network has only one boot interface (on each end) # and if so we shall set some global env variables that could be # used by the subsequent function calls within this "for" loop. # check_for_single_interface_network ${xd_net} ${ALIAS_ENABLED} ${LOCAL_NODE} ${myCK_NODE} if [[ -n ${myCK_NODE} ]] then check_remote_interface ${xd_net} ${ALIAS_ENABLED} ${myCK_NODE} XDRDEAD=$? else XDRDEAD=1 fi check_local_interface ${xd_net} ${ALIAS_ENABLED} ${LOCAL_NODE} XDLDEAD=$? # # If local or remote interface are not alive set server_addr=none. # if ((${XDLDEAD}==1 || ${XDRDEAD}==1)) then # # Find GMVGs. # GMVGS=$(cllsres -g ${RGOL} | \ awk -F= ' { gsub(/"/,"") if ($1=="GMVG_REP_RESOURCE") { printf("%s\n",$2) } }') if [[ -n ${GMVGS} ]] then for CLIENT in $(get_rpv_clients ${GMVGS}) do chdev -l ${CLIENT} -a ${SERVER_ADDR_NAME[XDCOUNT]}=none if ((${?}!=0)) then STATUS=1 fi done fi fi ((XDCOUNT++)) done done exit ${STATUS} ## kW0@O&rb֝afb&O&./usr/es/sbin/cluster/glvm/utils/glvm_net_initializationrgs@@#!/bin/ksh93 # ALTRAN_PROLOG_BEGIN_TAG # This is an automatically generated prolog. # # Copyright (C) Altran ACT S.A.S. 2017,2018,2021. All rights reserved. # # ALTRAN_PROLOG_END_TAG # # IBM_PROLOG_BEGIN_TAG # This is an automatically generated prolog. # # 61haes_r721 src/43haes/usr/sbin/cluster/glvm/utils/glvm_net_initialization.sh 1.27.1.2 # # Licensed Materials - Property of IBM # # COPYRIGHT International Business Machines Corp. 2004,2014 # All Rights Reserved # # US Government Users Restricted Rights - Use, duplication or # disclosure restricted by GSA ADP Schedule Contract with IBM Corp. # # IBM_PROLOG_END_TAG # @(#) 7d4c34b 43haes/usr/sbin/cluster/glvm/utils/glvm_net_initialization.sh, 726, 2147A_aha726, Feb 05 2021 09:50 PM ############################################################################### # # COMPONENT_NAME: hacmp.glvm # # FUNCTIONS: # get_network_type Return XD_data if network is XD_data # network. # # get_online_rgs Provide a list of resource groups that # are online on the local node. # # get_secondary_rgs Provide a list of resource groups that # are online secondary on the local node. # ############################################################################### ############################################################################### # # Name: glvm_net_initialization (replicated resource # net_initialization method) # # Description: This script is called from network_up using # cl_rrmethods2call. This event script is called when one of # the cluster networks resumes functioning. # # For rpv client: # # Find resource groups online on local node. Find GMVGs in # these resource groups. Find online clients. For each client. # If XD_data network interface is alive on secondary resource # group owner set client server_addr to the secondary resource # group owner. Use mkdev to activate the rpv client. Run # cl_sync_vgs which checks each GMVG for stale partitions in # logical volumes. If cl_sync_vgs finds stale partitions it # will call syncvg to synchronize them. # # Called by: network_up # # Arguments: nodename network name # # nodename - name of the node whose network resumes functioning # # network name - network name from cluster configuration # # Returns: # 0 Success # 1 Failure # # Environment: VERBOSE_LOGGING # PRINCIPAL_ACTION # AUXILLIARY_ACTION # ############################################################################### ############################################################################### # # FUNCTION: get_secondary_rgs # # Description: Provide a list of resource groups that are online secondary on # the local node. # # Arguments: none # # Returns: # # Environment: VERBOSE_LOGGING # ############################################################################### function get_secondary_rgs { [[ ${VERBOSE_LOGGING} == high ]] && set -x # # List each resource group that is online secondary. # ODMDIR=$ACD clRGinfo -s | awk -F: '(($3=="'${LOCAL_NODE}'" && $2=="ONLINE SECONDARY") || ($3=="'${LOCAL_NODE}'" && $2=="UNMANAGED SECONDARY" && $15=="ONLINE SECONDARY")) {printf("%s\n",$1)}' } ############################################################################### # # FUNCTION: get_online_rgs # # Description: Provide a list of resource groups that are online on the local # node. # # Arguments: none # # Returns: # # Environment: VERBOSE_LOGGING # ############################################################################### function get_online_rgs { [[ ${VERBOSE_LOGGING} == high ]] && set -x # # Process each resource group. # ODMDIR=$ACD clRGinfo -s | awk -F: '(($3=="'${LOCAL_NODE}'" && $2=="ONLINE") || ($3=="'${LOCAL_NODE}'" && $2=="UNMANAGED" && $15=="ONLINE")) {printf("%s\n",$1)}' } ############################################################################### # # Main # ############################################################################### PROGNAME=${0##*/} export PATH="$(/usr/es/sbin/cluster/utilities/cl_get_path all)" ODMDIR=/etc/objrepos ACD=/usr/es/sbin/cluster/etc/objrepos/active integer STATUS=0 integer XDLDEAD=0 integer XDRDEAD=0 integer XDSDEAD=0 RGOL="" RGOLS="" GMVG="" GMVGS="" CLIENT="" LOCAL_XDADDR="" REMOTE_XDADDR="" ALIVE="" XDALIVE="" CPVID="" SINFO="" SAVAIL="" CK_NODE="" [[ ${VERBOSE_LOGGING} == high ]] && set -x [[ ${VERBOSE_LOGGING} == high ]] && version='1.27.1.2' OP_SEP="$(cl_get_path -S)" # Source the common utility functions . /usr/es/sbin/cluster/glvm/utils/glvm_common_funcs echo "-------------------- $PROGNAME ----------------" date printenv SIBLING_ACQUIRING_NODES printenv SIBLING_ACQUIRING_NODES_BY_GROUP printenv SIBLING_NODES printenv SIBLING_NODES_BY_GROUP printenv GMVG_REP_RESOURCE echo "-----------------------------------------------" LOCAL_NODE=$(get_local_nodename) if [[ -z "$LOCAL_NODE" ]] then echo "ERROR: unable to determine local node name" STATUS=1 exit ${STATUS} fi # # If resumed network is not an XD_data network exit. # if ! is_network_usable_for_glvm_mirroring $2 $LOCAL_NODE then exit ${STATUS} fi # # For clients. # for RGOL in $(get_online_rgs) do # # Find GMVGs. # GMVGS=$(cllsres -g ${RGOL} | \ awk -F= ' { gsub(/"/,"") if ($1=="GMVG_REP_RESOURCE") { printf("%s\n",$2) } }') export GMVGS if [[ -n ${GMVGS} ]] then # # Find node where resource group is online secondary. # CK_NODE=$(ODMDIR=$ACD clRGinfo -s | \ awk -F: '(($1=="'${RGOL}'" && $2=="ONLINE SECONDARY") || ($1=="'${RGOL}'" && $15=="ONLINE SECONDARY")) \ {printf("%s\n",$3)}') # Accomodate multiple siblings for concurrent volume groups # Choose a partner for this local node, on the other site myCK_NODE=$(choose_partner $LOCAL_NODE "${CK_NODE}") if [[ -n ${myCK_NODE} ]] then # arrays and counter for chdev SERVER_ADDR_NAME=(server_addr server_addr2 server_addr3 server_addr4) LOCAL_ADDR_NAME=(local_addr local_addr2 local_addr3 local_addr4) # Get list of XD_data networks XD_NETWORKS=$(get_xd_networks $LOCAL_NODE) for GMVG in ${GMVGS} do integer XDCOUNT=0 for xd_net in ${XD_NETWORKS} do # Check IPAT via Alias is enabled or not. ALIAS_ENABLED=$(check_ipat ${xd_net}) # # Check if this network has only one boot interface (on each # end) and if so we shall set some global env variables that # could be used by the subsequent function calls within this # "for" loop. # check_for_single_interface_network ${xd_net} ${ALIAS_ENABLED} \ ${LOCAL_NODE} ${myCK_NODE} check_remote_interface ${xd_net} ${ALIAS_ENABLED} ${myCK_NODE} XDRDEAD=$? # check_local_interface() also sets XDALIVE variable check_local_interface ${xd_net} ${ALIAS_ENABLED} ${LOCAL_NODE} XDLDEAD=$? # # If XD_data interface is alive on secondary set server_addr # to ONLINE SECONDARY address. # if ((${XDLDEAD}==0 && ${XDRDEAD}==0)) then for CLIENT in $(get_rpv_clients ${GMVG}) # each hdisk do check_rpvserver ${CLIENT} ${myCK_NODE} XDSDEAD=$? if ((${XDSDEAD}==0)) then if [[ -n ${XDALIVE} ]] # if LOCAL_XDADDR is in cllssvcs then chdev -l ${CLIENT} -a ${SERVER_ADDR_NAME[XDCOUNT]}=${REMOTE_XDADDR} -a ${LOCAL_ADDR_NAME[XDCOUNT]}=${LOCAL_XDADDR} if ((${?}!=0)) then STATUS=1 fi mkdev -l ${CLIENT} if ((${?}!=0)) then STATUS=1 fi fi # XDALIVE fi # XDSDEAD done # each CLIENT (hdisk) in GMVG fi # XDLDEAD && XDRDEAD ((XDCOUNT++)) done # xd_net echo "------------------------------------------------------------------------------------------------" echo "NOTE: cl_sync_vgs will be called in background, this will prevent long delays in event $PROGNAME" echo "------------------------------------------------------------------------------------------------" /usr/bin/ps -eo 'pid,args'|grep -w cl_sync_vgs|grep -vw grep|grep -w ${GMVG} >/dev/null 2>&1 if (($?!=0)) then cl_sync_vgs ${GMVG} & fi done # each GMVG in GMVGS fi # if myCK_NODE fi # if GMVGS done # RGOL exit ${STATUS} d k0@c"rb֝afb&c"./usr/es/sbin/cluster/glvm/utils/glvm_postvg_offlineion@@#!/bin/ksh93 # IBM_PROLOG_BEGIN_TAG # This is an automatically generated prolog. # # 61haes_r714 src/43haes/usr/sbin/cluster/glvm/utils/glvm_postvg_offline.sh 1.15.1.1 # # Licensed Materials - Property of IBM # # COPYRIGHT International Business Machines Corp. 2004,2013 # All Rights Reserved # # US Government Users Restricted Rights - Use, duplication or # disclosure restricted by GSA ADP Schedule Contract with IBM Corp. # # IBM_PROLOG_END_TAG # @(#)53 1.15.1.1 src/43haes/usr/sbin/cluster/glvm/utils/glvm_postvg_offline.sh, hacmp.glvm, 61haes_r714 7/1/13 13:27:56 ############################################################################### # # COMPONENT_NAME: hacmp.glvm # # FUNCTIONS: # get_rpv_client_ips Get client_addr for all rpv clients to # set rpv servers. # # clear_isolated Clear the isolated flag. # ############################################################################### ############################################################################### # # Name: glvm_postvg_offline (replicated resource postvg_offline # method) # # Description: This script is called from node_down_local and release_vg_fs # using cl_rrmethods2call with replicated resource defined in # the resource group currently being processed. # # For AUXILLIARY_ACTION == RELEASE_SECONDARY: # # Find the list of local physical volumes in the GMVGs to be # released. Find the list of rpv_server devices based on the # list of local physical volumes. For each rpv_server to be # released, use rmdev to move the device back to the defined # state. For each resource group being released clear the # isolated flag. # # For PRINCIPAL_ACTION == RELEASE: # # Find the list of remote physical volumes in the GMVGs to be # released. For each rpv_client to be released, use rmdev to # move the device to the defined state. # # For AUXILLIARY_ACTION == ACQUIRE_SECONDARY: # # Find list of local physical volumes in the GMVGs to be # acquired (in this cases, the GMVGs are also being released by # the primary instance). Find list of rpv_server devices based # on the list of local physical volumes. # For each rpv_server to be acquired: # Use chdev to set the full list of allowed rpv_client # addresses (all XD_data service addresses on the remote # site). # Use mkdev to move the rpv_server into the available state. # # Called by: node_down_local (concurrent volume groups) # release_vg_fs # # Arguments: volume group(s) # # Returns: # 0 Success # 1 Failure # # Environment: VERBOSE_LOGGING # PRINCIPAL_ACTION # AUXILLIARY_ACTION # STATUS # ############################################################################### ############################################################################### # # FUNCTION: get_rpv_client_ips # # Description: Get client_addr for all rpv clients to set rpv servers. # # Arguments: network name # Is IPAT via Aliasing enabled for network? ("TRUE" or "FALSE") # # Returns: List of client IP addresses # # Environment: VERBOSE_LOGGING # ############################################################################### function get_rpv_client_ips { [[ ${VERBOSE_LOGGING} == high ]] && set -x typeset ip_addresses NET=$1 ALIAS_ENABLED=${2} LOCAL_SITE=$(cllssite -cn | \ awk -F: '(NR != 1 && $1=="'${LOCAL_NODE}'") \ {printf("%s\n",$2)}') if [[ -n ${LOCAL_SITE} ]] then REMOTE_NODES=$(cllssite -cn | \ awk -F: '(NR!=1 && $2!="'${LOCAL_SITE}'") \ {printf("%s\n",$1)}') if [[ -n ${REMOTE_NODES} ]] then for REMOTE_NODE in ${REMOTE_NODES} do if [[ ${ALIAS_ENABLED} == "TRUE" ]] then ip_addresses=$( cllsif -J "$OP_SEP" -pSi ${REMOTE_NODE} | \ grep -w ${NET} | \ awk -F"$OP_SEP" '($4=="XD_data" && $2=="persistent") {printf("%s,",$7)}') if [[ -z "$ip_addresses" ]] then # # Check if this network has only one boot interface # (on each end) and if so we shall set some global # env variables that could be used by the # subsequent function calls within this "for" loop. # check_for_single_interface_network $NET \ $ALIAS_ENABLED $LOCAL_NODE $REMOTE_NODE [[ $? == 0 ]] && { printf "${SINGLE_INTERFACE_NETWORK[remote_addr]}" } else printf "$ip_addresses" fi else cllsif -J "$OP_SEP" -Si ${REMOTE_NODE} | grep -w ${NET} | \ awk -F"$OP_SEP" '($4=="XD_data" && $2=="service") {printf("%s,",$7)}' fi done fi fi } ############################################################################### # # FUNCTION: clear_isolated # # Description: Clear the isolated flag. # # Arguments: # # Returns: # # Environment: VERBOSE_LOGGING # STATUS # ############################################################################### function clear_isolated { [[ ${VERBOSE_LOGGING} == high ]] && set -x # # Clear the isolated flag. # cl_diskflag -c ${GROUPNAME} if ((${?}!=0)) then STATUS=1 fi } ############################################################################### # # Main # ############################################################################### PROGNAME=${0##*/} export PATH="$(/usr/es/sbin/cluster/utilities/cl_get_path all)" ODMDIR=/etc/objrepos integer STATUS=0 SERVER="" CLIENT="" PVID="" PDSK="" LOCAL_SITE="" REMOTE_NODES="" [[ ${VERBOSE_LOGGING} == high ]] && set -x [[ ${VERBOSE_LOGGING} == high ]] && version='1.15.1.1' OP_SEP="$(cl_get_path -S)" # # If nothing to do. # if [[ -z ${*} ]] then exit ${STATUS} fi # Source the common utility functions . /usr/es/sbin/cluster/glvm/utils/glvm_common_funcs LOCAL_NODE=$(get_local_nodename) if [[ -z "$LOCAL_NODE" ]] then echo "ERROR: unable to determine local node name" STATUS=1 exit ${STATUS} fi SERVER_ADDR_NAME=(server_addr server_addr2 server_addr3 server_addr4) LOCAL_ADDR_NAME=(local_addr local_addr2 local_addr3 local_addr4) if [[ ${AUXILLIARY_ACTION} == RELEASE_SECONDARY ]] then # # Set rpv servers to defined state. # for SERVER in $(get_rpv_servers ${*}) do rmdev -l ${SERVER} if ((${?}!=0)) then STATUS=1 fi done clear_isolated fi if [[ ${PRINCIPAL_ACTION} == RELEASE ]] then # # Set rpv clients to defined state. # for CLIENT in $(get_rpv_clients ${*}) do rmdev -l ${CLIENT} if ((${?}!=0)) then if [[ "${RG_MOVE_EVENT:-false}" == "true" && "${RG_MOVE_ONLINE:-TMP_ERROR}" != "ONLINE" ]]; then echo " WARNING: rmdev failed during selective fallover processing. The rpvclient device ${CLIENT} will remain available, but with server_addr=none." for server_addr in ${SERVER_ADDR_NAME[*]} do chdev -l ${CLIENT} -a ${server_addr}=none done else STATUS=1 fi fi done fi if [[ ${AUXILLIARY_ACTION} == ACQUIRE_SECONDARY ]] then # # Set client_addr for all rpv clients in rpv servers. Then set rpv # servers to the available state. # # Get list of XD_data networks XD_NETWORKS=$(get_xd_networks $LOCAL_NODE) for xd_net in ${XD_NETWORKS} do ALIAS_ENABLED=$(check_ipat ${xd_net}) list=${list}$(get_rpv_client_ips ${xd_net} ${ALIAS_ENABLED}) ((XDCOUNT++)) done for SERVER in $(get_rpv_servers ${*}) do chdev -l ${SERVER} -a client_addr=${list} -a auto_online=n if ((${?}!=0)) then STATUS=1 fi mkdev -l ${SERVER} if ((${?}!=0)) then STATUS=1 fi done fi exit ${STATUS} Check k>I0@`rb֝afb&`./usr/es/sbin/cluster/glvm/utils/glvm_postvg_onlineion@@#!/bin/ksh93 # IBM_PROLOG_BEGIN_TAG # This is an automatically generated prolog. # # 61haes_r714 src/43haes/usr/sbin/cluster/glvm/utils/glvm_postvg_online.sh 1.1 # # Licensed Materials - Property of IBM # # COPYRIGHT International Business Machines Corp. 2004 # All Rights Reserved # # US Government Users Restricted Rights - Use, duplication or # disclosure restricted by GSA ADP Schedule Contract with IBM Corp. # # IBM_PROLOG_END_TAG # @(#)46 1.1 src/43haes/usr/sbin/cluster/glvm/utils/glvm_postvg_online.sh, hacmp.glvm, 61haes_r714 11/15/04 11:01:40 ############################################################################### # # COMPONENT_NAME: hacmp.glvm # # FUNCTIONS: # ############################################################################### ############################################################################### # # Name: glvm_postvg_online (replicated resource postvg_online # method) # # Description: This script is called from node_up_local and get_disk_vg_fs # using cl_rrmethods2call. It calls cl_diskflag to clear flag # on hdisk in a resource group. # # Called by: node_up_local (concurrent volume groups) # get_disk_vg_fs # # Arguments: volume group(s) # # Returns: # 0 Success # 1 Failure # # Environment: VERBOSE_LOGGING # ############################################################################### ############################################################################### # # Main # ############################################################################### PROGNAME=${0##*/} export PATH="$(/usr/es/sbin/cluster/utilities/cl_get_path all)" integer STATUS=0 [[ ${VERBOSE_LOGGING} == high ]] && set -x [[ ${VERBOSE_LOGGING} == high ]] && version='1.1' # # Nothing to do, exit. # if [[ -z ${*} ]] then exit ${STATUS} fi if [[ ${PRINCIPAL_ACTION} == ACQUIRE ]] then # # Call cl_diskflag to clear flag. # cl_diskflag -c ${GROUPNAME} if ((${?}!=0)) then STATUS=1 fi fi exit ${STATUS}  k0@6rb֝afb&6./usr/es/sbin/cluster/glvm/utils/glvm_predisk_available@@#!/bin/ksh93 # IBM_PROLOG_BEGIN_TAG # This is an automatically generated prolog. # # 61haes_r721 src/43haes/usr/sbin/cluster/glvm/utils/glvm_predisk_available.sh 1.25.1.7 # # Licensed Materials - Property of IBM # # COPYRIGHT International Business Machines Corp. 2004,2016 # All Rights Reserved # # US Government Users Restricted Rights - Use, duplication or # disclosure restricted by GSA ADP Schedule Contract with IBM Corp. # # IBM_PROLOG_END_TAG # @(#)52 1.25.1.7 src/43haes/usr/sbin/cluster/glvm/utils/glvm_predisk_available.sh, hacmp.glvm, 61haes_r721, 1639B_hacmp721 9/22/16 12:15:43 ############################################################################### # # COMPONENT_NAME: hacmp.glvm # # FUNCTIONS: # set_rpv_server_ip Does a chdev to set server_addr for rpv # client. # # set_client_iotimeout Does chdev to set io_timeout for rpv # client. # # query_isolated Query isolated flag. # ############################################################################### ############################################################################### # # Name: glvm_predisk_available (replicated resource # predisk_available method) # # Description: This script is called from get_disk_vg_fs and node_up_local # using cl_rrmethods2call with replicated resource defined in # the resource group currently being processed. # # For PRINCIPAL_ACTION == ACQUIRE: # # Find list of remote physical volumes in the GMVGs to be # acquired. Find the rpv_server address based on the # appropriate RGPA SIBLING_NODES variable. Find the I/O # timeout value to be used (config_too_long value for a long # event). # For each rpv_client to be acquired: # Use chdev to set the I/O timeout. # If SIBLING_NODES for the resource group, use chdev to set # the server_addr and local_addr. # For the following cases, use chdev to set the server_addr # to "none": # The local node does not have an active service # label on the XD_data network. # If isolated flag and any of the above are true and this is # a node_down event for remote site exit with 4 so # SKIP_FORCED_VARYON will be set to 1. # # For AUXILLIARY_ACTION == RELEASE_SECONDARY: # # Find the list of remote physical volumes in the GMVGs to be # released by the secondary instance. # For each rpv_server to be released, use rmdev to move the # device back to the defined state # # Called by: get_disk_vg_fs # node_up_local # # Arguments: volume group(s) # # Returns: # 0 Success # 1 Failure # # Environment: VERBOSE_LOGGING # PRINCIPAL_ACTION # AUXILLIARY_ACTION # GROUPNAME # SIBLING_NODES # STATUS # ############################################################################### ############################################################################### # # FUNCTION: set_rpv_server_ip # # Description: Does a chdev to set server_addr for rpv client. # # Arguments: client device # network name # Is IPAT via Aliasing enabled for network? ("TRUE" or "FALSE") # remote node name # # Returns: # 0 Success # 1 Failure # # Environment: VERBOSE_LOGGING # STATUS # ############################################################################### function set_rpv_server_ip { [[ ${VERBOSE_LOGGING} == high ]] && set -x # # There may be more than one XD_data network, so check only NET # RPVCLIENT=${1} NET=${2} ALIAS_ENABLED=${3} remote_node=${4} STATUS=0 if [[ ${ALIAS_ENABLED} == "TRUE" ]]; then field="persistent" flags="-pSi" else field="service" flags="-Si" fi if [[ -n ${remote_node} ]] then XDADDR=$(cllsif -J "$OP_SEP" $flags ${remote_node} | grep -w ${NET} | \ awk -F"$OP_SEP" '($4=="XD_data" && $2=="'${field}'") {printf("%s\n",$7)}') # If we failed to find a persistent address on the remote node and this a # single-interface,IP-alias enabled network then use the "boot" address. if [[ -z "$XDADDR" && ${ALIAS_ENABLED} == "TRUE" && \ ${SINGLE_INTERFACE_NETWORK[is_true]} == "yes" ]] then XDADDR=${SINGLE_INTERFACE_NETWORK[remote_addr]} fi if [[ -n ${XDADDR} ]] then LOCAL_XDADDR=$(cllsif -J "$OP_SEP" $flags ${LOCAL_NODE}| grep -w ${NET} | \ awk -F"$OP_SEP" '($4=="XD_data" && $2=="'${field}'") {printf("%s\n",$7)}') # If we failed to find a persistent address on the remote node and this a # single-interface, IP-alias enabled network then use the "boot" address. if [[ -z "${LOCAL_XDADDR}" && ${ALIAS_ENABLED} == "TRUE" && \ ${SINGLE_INTERFACE_NETWORK[is_true]} == "yes" ]] ; then LOCAL_XDADDR=${SINGLE_INTERFACE_NETWORK[local_addr]} fi if [[ -n ${LOCAL_XDADDR} ]] then chdev -l ${RPVCLIENT} -a ${SERVER_ADDR_NAME[XDCOUNT]}=${XDADDR} -a ${LOCAL_ADDR_NAME[XDCOUNT]}=${LOCAL_XDADDR} if ((${?}!=0)) then echo "ERROR: chdev failed to set ${SERVER_ADDR_NAME[XDCOUNT]}=${XDADDR} and ${LOCAL_ADDR_NAME[XDCOUNT]}=${LOCAL_XDADDR} on ${RPVCLIENT}" STATUS=1 fi fi fi fi check_local_interface ${NET} ${ALIAS_ENABLED} ${LOCAL_NODE} XDLDEAD=$? check_remote_interface ${NET} ${ALIAS_ENABLED} ${remote_node} XDRDEAD=$? if [[ -z ${remote_node} || ${XDRDEAD} == 1 || ${XDLDEAD} == 1 || -z ${XDADDR} ]] then chdev -l ${RPVCLIENT} -a ${SERVER_ADDR_NAME[XDCOUNT]}=none if ((${?}!=0)) then echo "ERROR: chdev failed to set ${SERVER_ADDR_NAME[XDCOUNT]}=none on ${RPVCLIENT}" STATUS=1 fi fi } ############################################################################### # # FUNCTION: set_client_iotimeout # # Description: Does chdev to set io_timeout for rpv client. # # Arguments: client device # # Returns: # # Environment: VERBOSE_LOGGING # STATUS # ############################################################################### function set_client_iotimeout { [[ ${VERBOSE_LOGGING} == high ]] && set -x # # Get the event duration time and group duration time used by clstrmgr. # clchmsgtimer | awk -F: 'NR>1 {printf("%d %d\n",$1,$2)}' | \ read EVENT_DURATION GROUP_DURATION # # A value of zero indicates that default of 180 is used. # The value of event duration plus group duration will be used to set # io_timeout. # ((${EVENT_DURATION}==0)) && EVENT_DURATION=180 ((${GROUP_DURATION}==0)) && GROUP_DURATION=180 ((TOTAL_DURATION=${EVENT_DURATION}+${GROUP_DURATION})) if (( $TOTAL_DURATION > 1800 )) then # Cannot exceed maximum I/O timeout value of 1800 seconds. TOTAL_DURATION=1800 fi CSTATE=$(LC_ALL=C lsdev -l ${1} -F status) if [[ -n ${CSTATE} ]] then if [[ ${CSTATE} == "Available" ]] then rmdev -l ${1} if ((${?}!=0)) then echo "ERROR: rmdev failed to move ${1} to defined state" STATUS=1 fi fi chdev -l ${1} -a io_timeout=${TOTAL_DURATION} if ((${?}!=0)) then echo "ERROR: chdev failed to set io_timeout=${TOTAL_DURATION} on ${1}" STATUS=1 fi fi } ############################################################################### # # FUNCTION: query_isolated # # Description: Query isolated flag. # # Arguments: # # Returns: # 0 Success # 1 Failure # # Environment: VERBOSE_LOGGING # STATUS # ############################################################################### function query_isolated { [[ ${VERBOSE_LOGGING} == high ]] && set -x # # Query isolated flag. # ISOLATED=0 cl_diskflag -q ${GROUPNAME} if ((${?}==2)) then ISOLATED=1 fi } ############################################################################### # # Main # ############################################################################### PROGNAME=${0##*/} export PATH="$(/usr/es/sbin/cluster/utilities/cl_get_path all)" ODMDIR=/etc/objrepos integer STATUS=0 integer XDLDEAD=0 integer XDRDEAD=0 integer XDSDEAD=0 integer ISOLATED=0 integer EVENT_DURATION=0 integer GROUP_DURATION=0 integer TOTAL_DURATION=0 integer XDCOUNT=0 integer XDLOK=0 CSTATE="" CLIENT="" SERVER="" LOCAL_XDADDR="" REMOTE_XDADDR="" XDADDR="" CPVID="" SINFO="" SAVAIL="" PVID="" PDSK="" VGS="" LOCAL_NODE="" LOCAL_SITE="" PREV_ONLINE_SITE="" PreviousOnlineLocation="" [[ ${VERBOSE_LOGGING} == high ]] && set -x [[ ${VERBOSE_LOGGING} == high ]] && version='1.25.1.7' OP_SEP="$(cl_get_path -S)" # # If nothing to do. # if [[ -z ${*} ]] then echo "INFO: No GMVG to process" exit ${STATUS} fi # Source the common utility functions . /usr/es/sbin/cluster/glvm/utils/glvm_common_funcs echo "-------------------- $PROGNAME ----------------" printenv SIBLING_ACQUIRING_NODES printenv SIBLING_ACQUIRING_NODES_BY_GROUP printenv SIBLING_NODES printenv SIBLING_NODES_BY_GROUP printenv GMVG_REP_RESOURCE echo "-----------------------------------------------" LOCAL_NODE=$(get_local_nodename) if [[ -z "$LOCAL_NODE" ]] then echo "ERROR: unable to determine local node name" STATUS=1 exit ${STATUS} fi # There may be more than one SIBLING_NODES for concurrent RG SERVER_NODE=$(choose_partner $LOCAL_NODE ${SIBLING_NODES} ${SIBLING_ACQUIRING_NODES}) if [[ ${PRINCIPAL_ACTION} == ACQUIRE ]] then # # Set client server_addr and io_timeout. # # arrays and counter for get_rpv_server_ip SERVER_ADDR_NAME=(server_addr server_addr2 server_addr3 server_addr4) LOCAL_ADDR_NAME=(local_addr local_addr2 local_addr3 local_addr4) # Get list of XD_data networks XD_NETWORKS=$(get_xd_networks $LOCAL_NODE) for CLIENT in $(get_rpv_clients ${*}) do # Initialize the clients server_addrs and local_addrs to none chdev -l ${CLIENT} -a server_addr=none -a server_addr2=none -a server_addr3=none -a server_addr4=none -a local_addr=none -a local_addr2=none -a local_addr3=none -a local_addr4=none set_client_iotimeout ${CLIENT} check_rpvserver ${CLIENT} ${SERVER_NODE} XDSDEAD=$? XDCOUNT=0 XDLOK=0 for xd_net in ${XD_NETWORKS} do # Check IPAT via Alias is enabled or not. ALIAS_ENABLED=$(check_ipat ${xd_net}) # # Check if this network has only one boot interface (on each end) # and if so we shall set some global env variables that could be # used by the subsequent function calls within this "for" loop. # check_for_single_interface_network ${xd_net} ${ALIAS_ENABLED} ${LOCAL_NODE} ${SERVER_NODE} if ((${XDSDEAD}==0)) # from check_rpvserver then set_rpv_server_ip ${CLIENT} ${xd_net} ${ALIAS_ENABLED} ${SERVER_NODE} else chdev -l ${CLIENT} -a ${SERVER_ADDR_NAME[XDCOUNT]}=none fi ((XDCOUNT++)) check_local_interface ${xd_net} ${ALIAS_ENABLED} ${LOCAL_NODE} XDLDEAD=$? if [[ ${XDLDEAD} == 0 ]] # from check_local_interface then ((XDLOK ++)) fi done # for each network mkdev -l ${CLIENT} if ((${?}!=0)) then echo "ERROR: mkdev failed to move ${CLIENT} to available state" STATUS=1 fi done # for each client query_isolated # checks each disk in RG, RPVs if server_addr!=none if (( ${XDLOK} == 0 )) then XDLDEAD=1 else XDLDEAD=0 fi if [[ ${ISOLATED} == 1 || ${XDLDEAD} == 1 ]] then # processing for skip forced varyon - get the prev online location # from clRGinfo ODMDIR=/usr/es/sbin/cluster/etc/objrepos/active /usr/es/sbin/cluster/utilities/clRGinfo -ar $GROUPNAME | grep "PREVIOUS_ONLINE=" | read group type PreviousOnline PreviousOnlineLocation="" if [[ -n $PreviousOnline ]]; then echo "$PreviousOnline" | IFS='=' read string info echo "$info" | awk -F: '{printf "%s", substr($1,2,length($1)-1)}' |read PreviousOnlineLocation fi if [[ -n $PreviousOnlineLocation ]]; then #see if the previous online node is in the opposite site # from the local node LOCAL_SITE=$(/usr/es/sbin/cluster/utilities/cllssite -o /usr/es/sbin/cluster/etc/objrepos/active -c -n |awk -F: '{ if ($1=="'$LOCAL_NODE'") print $2}') PREV_ONLINE_SITE=$(/usr/es/sbin/cluster/utilities/cllssite -o /usr/es/sbin/cluster/etc/objrepos/active -c -n |awk -F: '{ if ($1=="'$PreviousOnlineLocation'") print $2}') [[ -n $LOCAL_SITE && -n $PREV_ONLINE_SITE ]] && [[ $LOCAL_SITE != $PREV_ONLINE_SITE ]] && { echo "INFO : site:$LOCAL_SITE is ISOLATED" STATUS=4 } fi # PreviousOnLineLocation fi # ISOLATED or XDLDEAD fi # ACQUIRE if [[ ${AUXILLIARY_ACTION} == RELEASE_SECONDARY ]] then # # Set rpv servers to defined state. # for SERVER in $(get_rpv_servers $*) do rmdev -l ${SERVER} if ((${?}!=0)) then echo "ERROR: rmdev failed to move ${SERVER} to defined state" STATUS=1 fi done exit ${STATUS} fi exit ${STATUS} d k~0@rb֝afb&./usr/es/sbin/cluster/glvm/utils/glvm_prevg_onlineable@@#!/bin/ksh93 # IBM_PROLOG_BEGIN_TAG # This is an automatically generated prolog. # # 61haes_r714 src/43haes/usr/sbin/cluster/glvm/utils/glvm_prevg_online.sh 1.18.1.1 # # Licensed Materials - Property of IBM # # COPYRIGHT International Business Machines Corp. 2004,2013 # All Rights Reserved # # US Government Users Restricted Rights - Use, duplication or # disclosure restricted by GSA ADP Schedule Contract with IBM Corp. # # IBM_PROLOG_END_TAG # @(#)51 1.18.1.1 src/43haes/usr/sbin/cluster/glvm/utils/glvm_prevg_online.sh, hacmp.glvm, 61haes_r714 7/1/13 13:30:53 ############################################################################### # # COMPONENT_NAME: hacmp.glvm # # FUNCTIONS: # get_rpv_client_ips Get client_addr for all rpv clients to # set in rpv servers. # ############################################################################### ############################################################################### # # Name: glvm_prevg_online (replicated resource prevg_online method) # # Description: This script is called from get_disk_vg_fs and node_up_local # using cl_rrmethods2call with replicated resource defined in # the resource group currently being processed. Note that a # return of 3 indicates the default action should not happen. # The default action for the online primary case is to vary on # the volume group. The default action for the online # secondary case is to not vary on the volume group. # # For AUXILLIARY_ACTION == ACQUIRE_SECONDARY: # # Find list of local physical volumes in the GMVGs to be # acquired. Find list of rpv_server devices based on the list # of local physical volumes. # For each rpv_server to be acquired: # Use chdev to set the full list of allowed rpv_client # addresses (all XD_data service addresses on the remote # site). # Use mkdev to move the rpv_server into the available state. # # Called by: get_disk_vg_fs # node_up_local (concurrent volume group) # # Arguments: volume group(s) # # Returns: # 0 Success # 1 Failure # 3 No Default Action # # Environment: VERBOSE_LOGGING # PRINCIPAL_ACTION # AUXILLIARY_ACTION # STATUS # ############################################################################### ############################################################################### # # FUNCTION: get_rpv_client_ips # # Description: Get client_addr for all rpv clients to set in rpv servers. # # Arguments: network name # Is IPAT via Aliasing enabled for network? ("TRUE" or "FALSE") # # Returns: List of client IP addresses # # Environment: VERBOSE_LOGGING # ############################################################################### function get_rpv_client_ips { [[ ${VERBOSE_LOGGING} == high ]] && set -x typeset ip_addresses # There may be more than one XD_data network, so check only NET # NET=$1 ALIAS_ENABLED=${2} LOCAL_SITE=$(cllssite -cn | \ awk -F: '(NR!=1 && $1=="'${LOCAL_NODE}'") \ {printf("%s\n",$2)}') if [[ -n ${LOCAL_SITE} ]] then REMOTE_NODES=$(cllssite -cn | \ awk -F: '(NR!=1 && $2!="'${LOCAL_SITE}'") \ {printf("%s\n",$1)}') if [[ -n ${REMOTE_NODES} ]] then for REMOTE_NODE in ${REMOTE_NODES} do if [[ ${ALIAS_ENABLED} == "TRUE" ]] then ip_addresses=$( cllsif -J "$OP_SEP" -pSi ${REMOTE_NODE} | \ grep -w ${NET} | \ awk -F"$OP_SEP" '($4=="XD_data" && $2=="persistent") {printf("%s,",$7)}') if [[ -z "$ip_addresses" ]] then # # Check if this network has only one boot interface # (on each end) and if so we shall set some global # env variables that could be used by the # subsequent function calls within this "for" loop. # check_for_single_interface_network $NET \ $ALIAS_ENABLED $LOCAL_NODE $REMOTE_NODE [[ $? == 0 ]] && { printf "${SINGLE_INTERFACE_NETWORK[remote_addr]}," } else printf "$ip_addresses" fi else cllsif -J "$OP_SEP" -Si ${REMOTE_NODE} | grep -w ${NET} | \ awk -F"$OP_SEP" '($4=="XD_data" && $2=="service") {printf("%s,",$7)}' fi done fi fi } ############################################################################### # # Main # ############################################################################### PROGNAME=${0##*/} export PATH="$(/usr/es/sbin/cluster/utilities/cl_get_path all)" ODMDIR=/etc/objrepos integer STATUS=0 integer XDLDEAD=0 integer XDRDEAD=0 integer XDSDEAD=0 LOCAL_SITE="" REMOTE_NODES="" LOCAL_XDADDR="" REMOTE_XDADDR="" PVID="" PDSK="" VGS="" CPVID="" SINFO="" SAVAIL="" CLIENT="" [[ ${VERBOSE_LOGGING} == high ]] && set -x [[ ${VERBOSE_LOGGING} == high ]] && version='1.18.1.1' OP_SEP="$(cl_get_path -S)" # # Nothing to do, exit. # if [[ -z ${*} ]] then exit ${STATUS} fi # Source the common utility functions . /usr/es/sbin/cluster/glvm/utils/glvm_common_funcs echo "-------------------- $PROGNAME ----------------" printenv SIBLING_ACQUIRING_NODES printenv SIBLING_ACQUIRING_NODES_BY_GROUP printenv SIBLING_NODES printenv SIBLING_NODES_BY_GROUP printenv GMVG_REP_RESOURCE echo "-----------------------------------------------" LOCAL_NODE=$(get_local_nodename) if [[ -z "$LOCAL_NODE" ]] then echo "ERROR: unable to determine local node name" STATUS=1 exit ${STATUS} fi if [[ ${AUXILLIARY_ACTION} == ACQUIRE_SECONDARY ]] then # # Set client_addr for all rpv clients in rpv servers. Then set rpv # servers to the available state. # # arrays and counter for get_rpv_server_ip SERVER_ADDR_NAME=(server_addr server_addr2 server_addr3 server_addr4) LOCAL_ADDR_NAME=(local_addr local_addr2 local_addr3 local_addr4) integer XDCOUNT=0 list="" # Get list of XD_data networks XD_NETWORKS=$(get_xd_networks $LOCAL_NODE) for xd_net in ${XD_NETWORKS} do # Check IPAT via Alias is enabled or not. ALIAS_ENABLED=$(check_ipat ${xd_net}) list=${list}$(get_rpv_client_ips ${xd_net} ${ALIAS_ENABLED}) ((XDCOUNT++)) done for SERVER in $(get_rpv_servers ${*}) do chdev -l ${SERVER} -a client_addr=${list} -a auto_online=n if ((${?}!=0)) then STATUS=1 fi mkdev -l ${SERVER} if ((${?}!=0)) then STATUS=1 fi done exit ${STATUS} fi if [[ ${PRINCIPAL_ACTION} == ACQUIRE ]] then SERVER_NODE=$(choose_partner $LOCAL_NODE ${SIBLING_NODES} ${SIBLING_ACQUIRING_NODES}) for CLIENT in $(get_rpv_clients ${*}) do check_rpvserver ${CLIENT} ${SERVER_NODE} XDSDEAD=$? if ((${XDSDEAD}==1)) then for server_addr in ${SERVER_ADDR_NAME[*]} do chdev -l ${CLIENT} -a ${server_addr}=none if ((${?}!=0)) then ((STATUS++)) fi done fi done exit ${STATUS} fi exit ${STATUS}  kr0@ rb֝afb& ./usr/es/sbin/cluster/glvm/utils/glvm_site_isolationle@@#!/bin/ksh93 # IBM_PROLOG_BEGIN_TAG # This is an automatically generated prolog. # # 61haes_r714 src/43haes/usr/sbin/cluster/glvm/utils/glvm_site_isolation.sh 1.2 # # Licensed Materials - Property of IBM # # COPYRIGHT International Business Machines Corp. 2006 # All Rights Reserved # # US Government Users Restricted Rights - Use, duplication or # disclosure restricted by GSA ADP Schedule Contract with IBM Corp. # # IBM_PROLOG_END_TAG # @(#)44 1.2 src/43haes/usr/sbin/cluster/glvm/utils/glvm_site_isolation.sh, hacmp.glvm, 61haes_r714 5/24/06 14:37:21 ############################################################################### # # Name: glvm_site_isolation.sh (replicated resource method) # # Description: This script is called from # site_isolation using cl_rrmethods2call. # # # Set each disk in each RGOLS (RG online secondary) isolated. # # Called by: site_isolation # # Arguments: # # Returns: # 0 Success # 1 Failure # # Environment: VERBOSE_LOGGING # ############################################################################### ############################################################################### # # FUNCTION: get_secondary_rgs # # Description: Provide a list of resource groups that are online secondary on # the local node. # # Arguments: none # # Returns: # 0 Success # 1 Failure # # Environment: VERBOSE_LOGGING # ############################################################################### get_secondary_rgs() { [[ ${VERBOSE_LOGGING} == high ]] && set -x # # Process each resource group. # ODMDIR=$ACD clRGinfo -s | \ awk -F: '($3=="'${LOCAL_NODE}'" && $2=="ONLINE SECONDARY") \ {printf("%s\n",$1)}' } ############################################################################### # # FUNCTION: set_isolated # # Description: Set the isolated flag. # # Arguments: # # Returns: none (sets STATUS=1 on error) # # Environment: VERBOSE_LOGGING # STATUS # RGOLS = RG to set diskflag for # ############################################################################### set_isolated() { [[ ${VERBOSE_LOGGING} == high ]] && set -x # # Set isolated flag. # cl_diskflag -s ${RGOLS} if ((${?}!=0)) then STATUS=1 fi } ############################################################################### # # Main # ############################################################################### PROGNAME=${0##*/} export PATH="$(/usr/es/sbin/cluster/utilities/cl_get_path all)" ODMDIR=/etc/objrepos ACD=/usr/es/sbin/cluster/etc/objrepos/active integer STATUS=0 integer XDLDEAD=0 integer XDRDEAD=0 integer XDSDEAD=0 LOCAL_XDADDR="" REMOTE_XDADDR="" ALIVE="" XDALIVE="" GMVG="" CLIENT="" SERVER="" SPVID="" PVID="" PDSK="" VGS="" CPVID="" SINFO="" SAVAIL="" [[ ${VERBOSE_LOGGING} == high ]] && set -x echo "-------------------- $PROGNAME ----------------" date printenv SIBLING_ACQUIRING_NODES printenv SIBLING_ACQUIRING_NODES_BY_GROUP printenv SIBLING_NODES printenv SIBLING_NODES_BY_GROUP printenv GMVG_REP_RESOURCE echo "-----------------------------------------------" LOCAL_NODE=$(get_local_nodename) if [[ -z "$LOCAL_NODE" ]] then echo "ERROR: unable to determine local node name" STATUS=1 exit ${STATUS} fi # # For servers. # for RGOLS in $(get_secondary_rgs) do if [[ -n ${RGOLS} ]] then set_isolated fi done exit ${STATUS} a kf0@ rb֝afb& ./usr/es/sbin/cluster/glvm/utils/glvm_site_mergeionle@@#!/bin/ksh93 # IBM_PROLOG_BEGIN_TAG # This is an automatically generated prolog. # # 61haes_r714 src/43haes/usr/sbin/cluster/glvm/utils/glvm_site_merge.sh 1.2 # # Licensed Materials - Property of IBM # # COPYRIGHT International Business Machines Corp. 2006 # All Rights Reserved # # US Government Users Restricted Rights - Use, duplication or # disclosure restricted by GSA ADP Schedule Contract with IBM Corp. # # IBM_PROLOG_END_TAG # @(#)43 1.2 src/43haes/usr/sbin/cluster/glvm/utils/glvm_site_merge.sh, hacmp.glvm, 61haes_r714 5/24/06 14:37:25 ############################################################################### # # Name: glvm_site_merge.sh (replicated resource method) # # Description: This script is called from # site_merge using cl_rrmethods2call. # # # Set each disk in each RGOLS (RG Online Secondary) # clear isolation (stale) flag. # # Called by: site_merge # # Arguments: # # Returns: # 0 Success # 1 Failure # # Environment: VERBOSE_LOGGING # ############################################################################### ############################################################################### # # FUNCTION: get_secondary_rgs # # Description: Provide a list of resource groups that are online secondary on # the local node. # # Arguments: none # # Returns: # # Environment: VERBOSE_LOGGING # ############################################################################### get_secondary_rgs() { [[ ${VERBOSE_LOGGING} == high ]] && set -x # # List each resource group that is online secondary. # ODMDIR=$ACD clRGinfo -s | \ awk -F: '($3=="'${LOCAL_NODE}'" && $2=="ONLINE SECONDARY") \ {printf("%s\n",$1)}' } ############################################################################### # # FUNCTION: clear_isolated # # Description: Clear the isolated flag. # # Arguments: # # Returns: # # Environment: VERBOSE_LOGGING # STATUS # RGOLS # ############################################################################### clear_isolated() { [[ ${VERBOSE_LOGGING} == high ]] && set -x # # Clear isolated flag. # if [[ -n ${RGOLS} ]] then cl_diskflag -c ${RGOLS} if ((${?}!=0)) then STATUS=1 fi fi } ############################################################################### # # Main # ############################################################################### PROGNAME=${0##*/} export PATH="$(/usr/es/sbin/cluster/utilities/cl_get_path all)" ODMDIR=/etc/objrepos ACD=/usr/es/sbin/cluster/etc/objrepos/active integer STATUS=0 integer XDLDEAD=0 integer XDRDEAD=0 integer XDSDEAD=0 LOCAL_XDADDR="" REMOTE_XDADDR="" ALIVE="" XDALIVE="" GMVG="" CLIENT="" SERVER="" SPVID="" PVID="" PDSK="" VGS="" CPVID="" SINFO="" SAVAIL="" [[ ${VERBOSE_LOGGING} == high ]] && set -x [[ ${VERBOSE_LOGGING} == high ]] && version='1.2' echo "-------------------- $PROGNAME ----------------" date printenv SIBLING_ACQUIRING_NODES printenv SIBLING_ACQUIRING_NODES_BY_GROUP printenv SIBLING_NODES printenv SIBLING_NODES_BY_GROUP printenv GMVG_REP_RESOURCE echo "-----------------------------------------------" LOCAL_NODE=$(get_local_nodename) if [[ -z "$LOCAL_NODE" ]] then echo "ERROR: unable to determine local node name" STATUS=1 exit ${STATUS} fi # # For servers. # for RGOLS in $(get_secondary_rgs) do if [[ -n ${RGOLS} ]] then clear_isolated fi done exit ${STATUS} 4 k ##export PATH="$(/usr/es/sbin/cluster/utilities/cl_get_path all)" ODMDIR=/etc/objrepos ACD=/usr/es/sbin/cluster/etc/objrepos/active integer STATUS=0 integ